/* ---------- customisable dashboard ---------- */
.dgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.widget{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px 20px;min-width:0;transition:var(--t)}
.w-s{grid-column:span 4}.w-m{grid-column:span 6}.w-l{grid-column:span 12}
.widget[data-wid=stats]{background:transparent;border:0;box-shadow:none;padding:0}
.dgrid.editing .widget{outline:1.5px dashed var(--line-2);outline-offset:3px;cursor:grab}
.dgrid.editing .widget[data-wid=stats]{background:var(--panel);border:1px solid var(--line);padding:14px}
.widget.dragging{opacity:.4}
.widget.dragover{outline-color:var(--red)!important;background:var(--red-soft)}
.wbar{display:flex;align-items:center;gap:6px;margin:-4px 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.wbar b{font:400 12px/1 var(--og-font-title);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-right:auto}
.whandle{color:var(--muted-2);letter-spacing:-2px;font-size:14px;cursor:grab;padding:0 4px}
.wsize{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;margin-right:4px}
.wsize button{background:var(--panel);border:0;padding:5px 8px;font:600 11px/1 var(--og-font-alt);color:var(--muted)}
.wsize button.on{background:var(--inv);color:var(--inv-ink)}
.dash-tip{margin-bottom:16px}
.dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.dweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.dday{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:var(--bg-2);border:1px solid transparent;border-radius:12px;padding:10px;text-align:left;transition:var(--t);min-width:0}
.dday:hover{border-color:var(--ink)}
.dday small{font:400 10.5px/1 var(--og-font-title);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.dday b{font:400 24px/1 var(--og-font-display-alt);color:var(--ink)}
.dday span{font-size:11.5px;color:var(--muted)}
.dday i{font-style:normal;font-size:11px;font-weight:600;color:var(--red)}
.dday.today{background:var(--panel);border-color:var(--red)}
.dtarget{padding:8px 0}
.dtarget-h{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--ink-2)}
.dtarget-h b{font-weight:600;color:var(--ink)}
.dtarget .progress{height:6px;border-radius:6px;margin:8px 0 0}
.dlistings{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.dlist{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden;padding:0 0 12px;transition:var(--t)}
.dlist:hover{border-color:var(--ink);transform:translateY(-2px)}
.dlist .img{position:relative;aspect-ratio:16/10;background:var(--deep) url("../../assets/logo/monogram-grey.png") center/40px no-repeat;margin-bottom:8px;overflow:hidden}
.dlist .img img{width:100%;height:100%;object-fit:cover}
.dlist .img .pill{position:absolute;left:8px;top:8px}
.dlist b{padding:0 12px;font:500 16px/1.1 var(--og-font-display-alt);color:var(--ink)}
.dlist span{padding:0 12px;font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlist small{padding:0 12px;font-size:11.5px;color:var(--muted)}
.dquick{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.dquick button{padding:12px;font-size:13px}
.dlib{display:flex;flex-direction:column;gap:8px}
.dlib-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer}
.dlib-item.on{border-color:var(--ink)}
.dlib-item b{display:block;font-weight:600;color:var(--ink);font-size:14px}
.dlib-item small{color:var(--muted);font-size:12px}
.dlib-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);vertical-align:middle}
.lb-row.me{background:var(--red-soft)}
.lb-rank{font:400 20px/1 var(--og-font-display-alt);color:var(--red);text-align:center}
@media(max-width:1180px){.w-s{grid-column:span 6}}
@media(max-width:1000px){.w-s,.w-m,.w-l{grid-column:span 12}.dweek{grid-template-columns:repeat(7,minmax(64px,1fr));overflow-x:auto}}
.dstats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.dstats .stat .n,.grid .stat .n{font-size:clamp(26px,2.4vw,38px);white-space:nowrap}
