/* Dashboard (root page). Ported from the approved dashboard mockups; every rule is scoped to .dash so nothing leaks
   into the rest of the app (all stylesheets load on every page). */
main:has(.dash) { max-width:1240px; }
.dash .dash-head { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin:.3rem 0 .7rem; }
.dash .dash-head h1 { margin:0; font-size:1.55rem; }
.dash .dash-head .date { color:var(--muted); font-size:.92rem; margin-top:.1rem; }
.dash .dash-head .date b { color:#1f2937; font-weight:600; }
.dash .quick { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-radius:6px; padding:.45rem .6rem; margin-bottom:.8rem; }
.dash .quick .lbl { font-size:.82rem; color:var(--muted); margin-right:.2rem; font-weight:600; text-transform:uppercase; letter-spacing:.03em; }
.dash .quick .btn { font-size:.86rem; }
.dash .quick .spacer { flex:1; }
.dash .kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.8rem; margin-bottom:1rem; }
.dash .kpi { background:#fff; border:1px solid var(--line); border-radius:6px; padding:.6rem .85rem; text-decoration:none; color:#1f2937; display:block; }
.dash .kpi .k { font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font-weight:600; }
.dash .kpi .v { font-size:1.65rem; font-weight:700; color:var(--brand); line-height:1.15; }
.dash .kpi .s { font-size:.8rem; color:var(--muted); }
.dash .kpi .s .bad { color:#b91c1c; font-weight:600; } .dash .kpi .s .ok { color:#15803d; font-weight:600; }
.dash .kpi.inv { border-top:3px solid #0f766e; }
.dash .dgrid { display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:1rem; align-items:start; }
.dash .w { background:#fff; border:1px solid var(--line); border-radius:6px; padding:.7rem .9rem .6rem; margin:0 0 1rem; }
.dash .w > h2 { font-size:1rem; margin:0 0 .45rem; display:flex; align-items:center; gap:.5rem; }
.dash .w > h2 .r { margin-left:auto; font-size:.8rem; font-weight:400; }
.dash .w > h2 .cnt { font-size:.75rem; font-weight:700; background:#eef2f7; color:var(--brand); border-radius:999px; padding:0 .45rem; }
.dash .w > h2 .cnt.red { background:#fee2e2; color:#991b1b; }
.dash .w .foot { font-size:.8rem; color:var(--muted); margin-top:.4rem; display:flex; justify-content:space-between; }
.dash .addon { font-size:.68rem; font-weight:700; color:#0f766e; background:#ccfbf1; border-radius:999px; padding:.02rem .45rem; letter-spacing:.02em; }
.dash .teamtag { font-size:.68rem; font-weight:700; color:#fff; background:var(--accent); border-radius:999px; padding:.02rem .45rem; }
.dash table.dt { background:transparent; } .dash table.dt td { padding:.38rem .45rem; font-size:.89rem; vertical-align:middle; }
.dash table.dt tr:last-child td { border-bottom:0; }
.dash table.dt th { font-size:.76rem; color:var(--muted); font-weight:600; padding:.25rem .45rem; text-transform:uppercase; letter-spacing:.03em; }
.dash table.dt .when { white-space:nowrap; font-size:.84rem; color:#374151; }
.dash table.dt .when.od { color:#b91c1c; font-weight:600; }
.dash .sub { display:block; font-size:.79rem; color:var(--muted); line-height:1.2; }
.dash .t-title { font-weight:600; text-decoration:none; }
.dash .sechead { font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:700; padding:.35rem .45rem .15rem !important; background:#f8fafc; }
.dash .sechead.red { color:#991b1b; background:#fff1f2; }
.dash .appt { list-style:none; margin:0; padding:0; }
.dash .appt li { display:grid; grid-template-columns:3.1rem minmax(0,1fr); gap:.6rem; padding:.42rem 0; border-bottom:1px solid var(--line); font-size:.88rem; line-height:1.3; }
.dash .appt li:last-child { border-bottom:0; }
.dash .dbox { text-align:center; border:1px solid var(--line); border-radius:5px; line-height:1.05; padding:.2rem 0; background:#f8fafc; }
.dash .dbox .dw { font-size:.65rem; color:var(--muted); text-transform:uppercase; font-weight:700; } .dash .dbox .dn { font-size:1.05rem; font-weight:700; color:var(--brand); }
.dash .dbox.today { background:var(--brand); border-color:var(--brand); } .dash .dbox.today .dw, .dash .dbox.today .dn { color:#fff; }
.dash .appt .tm { font-weight:600; } .dash .appt .ap-t { font-weight:600; }
.dash .act { list-style:none; margin:0; padding:0; }
.dash .act li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:.6rem; align-items:start; padding:.42rem 0; border-bottom:1px solid var(--line); font-size:.88rem; line-height:1.3; }
.dash .act li:last-child { border-bottom:0; }
.dash .ico { width:28px; height:28px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-size:.85rem; }
.dash .ico.em { background:#e0f2fe; } .dash .ico.out { background:#eef2f7; } .dash .ico.call { background:#dcfce7; } .dash .ico.note { background:#fef9c3; } .dash .ico.done { background:#ede9fe; } .dash .ico.stk { background:#ccfbf1; }
.dash .act .tm { font-size:.78rem; color:var(--muted); white-space:nowrap; }
.dash .act .snip { color:var(--muted); font-size:.82rem; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dash .unread-dot { display:inline-block; width:.5rem; height:.5rem; background:#2563eb; border-radius:50%; margin-right:.3rem; vertical-align:middle; }
.dash .inv-sum { display:flex; gap:.8rem; margin:.1rem 0 .5rem; }
.dash .inv-sum > div { flex:1; background:#f8fafc; border:1px solid var(--line); border-radius:5px; padding:.35rem .55rem; }
.dash .inv-sum .k { font-size:.72rem; color:var(--muted); text-transform:uppercase; font-weight:600; letter-spacing:.03em; } .dash .inv-sum .v { font-size:1.15rem; font-weight:700; color:var(--brand); }
.dash .inv-sum .v.red { color:#b91c1c; }
.dash .lowlist { list-style:none; margin:0; padding:0; }
.dash .lowlist li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.6rem; align-items:center; padding:.3rem 0; border-bottom:1px solid var(--line); font-size:.86rem; }
.dash .lowlist li:last-child { border-bottom:0; }
.dash .lowlist .sku { font-size:.75rem; color:var(--muted); display:block; } .dash .lowlist .rp { font-size:.75rem; color:var(--muted); white-space:nowrap; }
.dash .reps { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.dash .rep { border:1px solid var(--line); border-radius:6px; padding:.5rem .6rem; text-decoration:none; color:#1f2937; display:block; background:#fff; }
.dash .rep .rn { font-weight:600; font-size:.86rem; color:var(--brand); display:flex; justify-content:space-between; gap:.3rem; }
.dash .rep .rv { font-size:1.15rem; font-weight:700; margin-top:.15rem; } .dash .rep .rs { font-size:.74rem; color:var(--muted); }
.dash .rep svg { display:block; margin-top:.3rem; }
.dash .star { color:#eab308; }
.dash .bars { list-style:none; margin:0; padding:0; }
.dash .bars li { display:grid; grid-template-columns:10.5rem minmax(0,1fr) 3.2rem 3.6rem 3.4rem; gap:.6rem; align-items:center; padding:.3rem 0; border-bottom:1px solid var(--line); font-size:.86rem; }
.dash .bars li.hd { font-size:.72rem; color:var(--muted); text-transform:uppercase; font-weight:600; letter-spacing:.03em; padding:.1rem 0; }
.dash .bars li:last-child { border-bottom:0; }
.dash .bar { height:10px; background:#eef2f7; border-radius:999px; overflow:hidden; display:flex; }
.dash .bar .o { background:var(--brand); } .dash .bar .x { background:var(--prio-red); }
.dash .bars .n { text-align:right; font-weight:600; } .dash .bars .n.red { color:#b91c1c; } .dash .bars .n.zero { color:#94a3b8; font-weight:400; }
.dash .legend2 { font-size:.76rem; color:var(--muted); display:flex; gap:.9rem; align-items:center; }
.dash .legend2 i { display:inline-block; width:.7rem; height:.5rem; border-radius:2px; margin-right:.25rem; vertical-align:middle; }
.dash .unas { list-style:none; margin:0; padding:0; }
.dash .unas li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.6rem; align-items:center; padding:.36rem 0; border-bottom:1px solid var(--line); font-size:.87rem; line-height:1.25; }
.dash .unas li:last-child { border-bottom:0; }
.dash .unas select { width:auto; font-size:.8rem; padding:.2rem .3rem; }
.dash .kind { font-size:.68rem; font-weight:700; text-transform:uppercase; border-radius:3px; padding:.02rem .35rem; margin-right:.35rem; letter-spacing:.03em; }
.dash .kind.a { background:#e0e7ef; color:var(--brand); } .dash .kind.c { background:#dcfce7; color:#14532d; } .dash .kind.t { background:#fef3c7; color:#92400e; }
.dash .mini-tabs { display:flex; gap:.3rem; margin:0 0 .35rem; } .dash .mini-tabs a { font-size:.8rem; text-decoration:none; padding:.1rem .55rem; border-radius:999px; background:#f1f5f9; color:#374151; }
.dash .mini-tabs a.on { background:var(--brand); color:#fff; font-weight:600; }
.dash .from { font-size:.75rem; color:var(--muted); white-space:nowrap; }
.dash .anno { border:1px dashed #f59e0b; background:#fffbeb; color:#78350f; border-radius:6px; padding:.5rem .75rem; font-size:.82rem; margin:0 0 1rem; line-height:1.45; }
.dash .anno b { color:#78350f; }
.dash .scope { font-size:.72rem; font-weight:600; color:#075985; background:#e0f2fe; border-radius:999px; padding:.02rem .45rem; }
/* customize drawer */
.dash .dim-layer { position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:20; }
.dash .drawer { position:fixed; top:0; right:0; bottom:0; width:460px; background:#fff; z-index:21; box-shadow:-12px 0 32px rgba(0,0,0,.25); padding:1rem 1.15rem; display:flex; flex-direction:column; }
.dash .drawer h2 { margin:0; font-size:1.2rem; display:flex; align-items:center; } .dash .drawer h2 .x { margin-left:auto; font-size:1.2rem; color:var(--muted); font-weight:400; }
.dash .drawer .intro { font-size:.85rem; color:var(--muted); margin:.25rem 0 .7rem; }
.dash .wl { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:6px; }
.dash .wl li { display:grid; grid-template-columns:1.2rem 38px minmax(0,1fr) auto; gap:.55rem; align-items:center; padding:.45rem .6rem; border-bottom:1px solid var(--line); background:#fff; font-size:.9rem; }
.dash .wl li:last-child { border-bottom:0; }
.dash .wl .drag { color:#94a3b8; cursor:grab; letter-spacing:-.1em; font-weight:700; }
.dash .wl .wn { font-weight:600; } .dash .wl .wd { font-size:.76rem; color:var(--muted); display:block; font-weight:400; }
.dash .wl li.off .wn { color:#94a3b8; } .dash .wl li.off { background:#f8fafc; }
.dash .wl li.lift { box-shadow:0 10px 24px rgba(15,23,42,.22); outline:2px solid var(--brand); position:relative; z-index:2; transform:translateX(-6px) rotate(-.4deg); }
.dash .wl li.slot { background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 6px,#fff 6px,#fff 12px); height:2.4rem; border:2px dashed #cbd5e1; padding:0; display:block; }
.dash .wl .arr { display:flex; gap:.15rem; } .dash .wl .arr button { border:1px solid var(--line); background:#fff; border-radius:4px; font-size:.75rem; padding:.05rem .35rem; color:var(--brand); }
.dash .grp { font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:700; margin:.8rem 0 .3rem; display:flex; justify-content:space-between; }
.dash .drawer .actions { margin-top:auto; padding-top:.8rem; border-top:1px solid var(--line); display:flex; gap:.5rem; align-items:center; }
.dash .drawer .actions .sp { flex:1; }
.dash .na li { grid-template-columns:1.2rem minmax(0,1fr) !important; color:#94a3b8; font-size:.84rem; }
.dash .radio-row { display:flex; gap:.4rem; font-size:.85rem; margin:.15rem 0; } .dash .radio-row label { border:1px solid var(--line); border-radius:4px; padding:.2rem .6rem; } .dash .radio-row label.on { border-color:var(--brand); background:#eef2f7; font-weight:600; color:var(--brand); }
.dash .qty { display:inline-block; min-width:2.1rem; text-align:center; font-weight:700; padding:.05rem .45rem; border-radius:999px; background:#eef2f7; color:#1f2937; }
.dash .qty.low { background:#fee2e2; color:#991b1b; border:1px solid var(--prio-red); }
.dash .toggle { width:38px; height:22px; border-radius:999px; background:#cbd2da; position:relative; display:inline-block; border:0; padding:0; cursor:pointer; }
.dash .toggle.on { background:#16a34a; } .dash .toggle span { position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; } .dash .toggle.on span { left:19px; }
.dash .avatar-xs { width:24px; height:24px; font-size:.66rem; margin-right:.35rem; }
.dash .person { display:inline-flex; align-items:center; white-space:nowrap; }
.dash .feed { list-style:none; margin:0; padding:0; } .dash .feed li { display:flex; gap:.5rem; padding:.45rem 0; border-bottom:1px solid var(--line); font-size:.86rem; line-height:1.35; }
.dash .feed li:last-child { border-bottom:0; } .dash .feed .when { color:var(--muted); font-size:.77rem; display:block; }
.dash .grid-eq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.dash .dash-tools { display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.dash .showing { display:flex; gap:.4rem; align-items:center; font-size:.85rem; color:var(--muted); }
.dash .radio-row a { border:1px solid var(--line); border-radius:4px; padding:.2rem .6rem; text-decoration:none; color:#374151; background:#fff; }
.dash .radio-row a.on { border-color:var(--brand); background:#eef2f7; font-weight:600; color:var(--brand); }
.dash .chk { margin:0; }
.dash .chk button { width:1.05rem; height:1.05rem; border:1.5px solid #94a3b8; border-radius:3px; background:#fff; padding:0; cursor:pointer; display:block; }
.dash .chk button:hover { border-color:var(--brand); background:#eef2f7; }
.dash .empty { color:var(--muted); font-size:.86rem; margin:.3rem 0; }
.dash .unas form { display:flex; gap:.3rem; align-items:center; margin:0; }
.dash .prio { font-size:.72rem; font-weight:700; border-radius:999px; padding:0 .45rem; }
.dash .prio.high { background:#fee2e2; color:#991b1b; } .dash .prio.medium { background:#fef9c3; color:#854d0e; } .dash .prio.low { background:#dcfce7; color:#14532d; }
.dash .wl li.dragging { opacity:.5; }
.dash .drawer form.reset { margin:0; }
.dash .drawer .actions .btn { font-size:.9rem; }
.dash .drawer .note { font-size:.78rem; color:var(--muted); margin:.6rem 0 0; }
.dash .drawer .wl-scroll { overflow-y:auto; min-height:0; }
@media (max-width:1000px) { .dash .dgrid, .dash .grid-eq { grid-template-columns:minmax(0,1fr); } .dash .drawer { width:100%; } .dash .bars li { grid-template-columns:8rem minmax(0,1fr) 2.6rem 3rem 3rem; } }
.dash .red { color:#b91c1c; } .dash .legend2 i.o { background:var(--brand); } .dash .legend2 i.x { background:var(--prio-red); }
.dash .toggle:focus-within { outline:2px solid var(--brand); outline-offset:2px; }
