/* ============================================================
   Silver Dragon Games — Operations Dashboard
   Brand: Night Sky #010C66 · Dragon Gold #D4AF37
          Neutrals: Lightest #C4C4C4 / Mid #AFAFAF / Charcoal #5B5B5B
   Type:  Cinzel (display) · Montserrat (body, Gotham substitute)
   ============================================================ */
:root{
  --night:#010C66; --night-2:#01083f; --night-soft:#0a1a7a;
  --gold:#D4AF37; --gold-deep:#b9952a; --gold-soft:rgba(212,175,55,.16);
  --light:#C4C4C4; --mid:#AFAFAF; --charcoal:#5B5B5B;
  --page:#eef0f4; --surface:#ffffff; --surface-2:#f6f7f9;
  --line:#e1e4ea; --line-2:#d3d8e0;
  --ink:#1c2233; --muted:#5B5B5B; --faint:#8b93a3;
  --green:#1f8a5a; --red:#c0392b; --amber:#b9952a;
  --radius:12px; --shadow:0 1px 2px rgba(1,12,102,.06),0 2px 8px rgba(1,12,102,.05);
  --font-display:'Cinzel','Georgia','Times New Roman',serif;
  --font-body:'Montserrat','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);
  font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

.layout{display:flex;min-height:100vh}

/* ---- Sidebar (Night Sky / preferred dark treatment) ---- */
.sidebar{width:244px;flex:0 0 244px;background:linear-gradient(180deg,var(--night),var(--night-2));
  border-right:1px solid var(--night-2);padding:18px 14px;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden;box-shadow:2px 0 14px rgba(1,12,102,.12)}
.brand{flex:0 0 auto;padding:6px 6px 14px}
.brand img{width:100%;height:auto;display:block}
.brand-mark{display:none}
.nav{flex:1 1 auto;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:2px;
  margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.nav::-webkit-scrollbar{width:7px}
.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:4px}
.nav::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.45)}
.nav::-webkit-scrollbar-track{background:transparent}
.nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}

/* Profile (top-left) */
.profile{flex:0 0 auto;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 9px}
.profile .plink{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.profile:hover{border-color:rgba(212,175,55,.4)}
.avatar{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:13px;color:var(--night);
  background:linear-gradient(135deg,var(--gold),#e8c969)}
.pmeta{min-width:0;line-height:1.25}
.pname{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.prole{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:rgba(212,175,55,.85);font-weight:700}
.profile .logout{flex:0 0 auto;font-size:16px;color:rgba(196,204,230,.8)}
.role-switch{flex:0 0 auto;margin-top:8px;display:flex;align-items:center;gap:8px;
  background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.25);border-radius:9px;padding:6px 10px}
.role-switch .rs-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:rgba(212,175,55,.9);font-weight:700;white-space:nowrap}
.role-switch select{flex:1;min-width:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);
  color:#fff;border-radius:7px;padding:5px 6px;font-size:12px;font-family:var(--font-body)}
.role-switch select option{color:#111;background:#fff;font-weight:600}
.role-chip{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:5px;letter-spacing:.3px;white-space:nowrap}
.action-row.is-readonly{opacity:.72}
.action-row.is-readonly .ar-title{font-weight:500}

/* ---- Event calendar ---- */
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cal-nav{display:flex;align-items:center;gap:10px}
.cal-nav a{padding:6px 12px;border:1px solid var(--line-2);border-radius:8px;color:var(--night);font-weight:700;background:#fff}
.cal-nav a:hover{border-color:var(--gold)}
.cal-month{font-family:var(--font-display);font-size:20px;color:var(--night);font-weight:700;min-width:190px;text-align:center}
.cal{width:100%;border-collapse:collapse;table-layout:fixed}
.cal th{padding:7px;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);
  background:var(--night);color:#fff;border:1px solid var(--night-2)}
.cal td{vertical-align:top;border:1px solid var(--line);height:108px;padding:4px;background:var(--surface);overflow:hidden;position:relative}
.cal th.wk-rail-h{width:44px;background:var(--night-2)}
.cal td.wk-rail{width:44px;height:108px;padding:2px;background:var(--surface-2);text-align:center;vertical-align:middle;overflow:visible}
.wk-jump{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:100%;border-radius:6px;
  font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-decoration:none;font-weight:600}
.wk-jump b{font-size:15px;color:var(--night);font-weight:800;line-height:1}
.wk-jump:hover{background:var(--gold);color:var(--night)}
.wk-jump:hover b{color:var(--night)}
.cal td:hover{background:var(--surface-2)}
.cal .cell-link{position:absolute;inset:0;z-index:0}
.cal .ev.xlayer{background:var(--surface-2);color:var(--ink);font-weight:500;border-radius:3px}
.cal .daynum,.cal .ev,.cal .more{position:relative;z-index:1}
.cal td.oom{background:var(--surface-2)}
.cal td.today{box-shadow:inset 0 0 0 2px var(--gold)}
.cal .daynum{display:block;font-size:12px;font-weight:700;color:var(--muted);text-align:right;padding:1px 3px}
.cal td.oom .daynum{color:var(--faint)}
.cal .daynum a{color:inherit}
.cal .ev{display:block;font-size:10.5px;line-height:1.3;padding:2px 5px;border-radius:4px;margin-top:2px;
  color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .ev:hover{filter:brightness(1.1)}
.cal .ev.rec{opacity:.62}
.cal .ev .t{opacity:.8;font-weight:700}
.cal .more{font-size:10px;color:var(--faint);padding:1px 4px}
.cal-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px}
.cal-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.cal-legend .sw{width:11px;height:11px;border-radius:3px}

/* ---- Floor / seating ---- */
.floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tablecard{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:13px;box-shadow:var(--shadow);min-height:96px}
.tablecard h3{font-size:13px;margin:0 0 8px;color:var(--night);font-weight:700}
.tablecard.free h3::after{content:" · free";color:var(--green);font-weight:500;font-size:11px}
.tablecard.conflict{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.tablecard .bk{display:block;font-size:11.5px;padding:4px 7px;border-radius:6px;margin-bottom:4px;color:#fff}
.seat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.seat-opt{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:13px;cursor:pointer}
.seat-opt.taken{border-color:var(--amber);background:rgba(212,175,55,.08)}
.seat-opt input{margin:0}
.state-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}
.state-needs_review,.state-new{background:rgba(224,100,79,.16);color:var(--red)}
.state-verified,.state-approved{background:rgba(212,175,55,.2);color:#8a6a12}
.state-scheduled{background:rgba(31,138,90,.16);color:var(--green)}
.state-declined,.state-rejected{background:#e7e9ee;color:var(--faint)}

/* Event checklist */
table.checklist{width:100%;border-collapse:collapse;font-size:13px}
table.checklist th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line)}
table.checklist td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.checklist tr.ck-done{opacity:.55}
table.checklist tr.ck-done .ck-title{text-decoration:line-through}
.ck-title{font-weight:600;color:var(--night)}
.input.mini{padding:5px 7px;font-size:12.5px;height:auto;width:100%}
.x-del{background:none;border:none;color:var(--faint);cursor:pointer;font-size:14px;padding:4px}
.x-del:hover{color:var(--red)}

/* Daily staff checklist */
.chore-panel{margin-bottom:14px}
.chore-list{display:flex;flex-direction:column;gap:2px}
.chore{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:9px;cursor:pointer;transition:background .12s}
.chore:hover{background:var(--surface-2)}
.chore-check{width:20px;height:20px;margin-top:1px;flex:0 0 auto;cursor:pointer;accent-color:var(--green)}
.chore-body{flex:1;display:flex;flex-direction:column;gap:2px}
.chore-title{font-weight:600;color:var(--night);font-size:14.5px}
.chore-desc{font-size:12px;color:var(--muted)}
.chore-by{font-size:11.5px;color:var(--green);font-weight:600;white-space:nowrap;align-self:center}
.chore.is-done .chore-title{text-decoration:line-through;color:var(--faint);font-weight:500}
.chore.is-done{opacity:.7}
.chore-important{background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.45)}
.chore-important .chore-title{font-weight:800;color:var(--night);letter-spacing:.01em}
.day-pick{display:flex;gap:4px;flex-wrap:wrap}
.day-opt{font-size:12px;display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;cursor:pointer;background:var(--surface)}
.day-opt:has(input:checked){background:rgba(1,12,102,.08);border-color:var(--night)}

/* Inventory section sub-tabs */
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}
.subtab{padding:8px 15px;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subtab:hover{color:var(--night)}
.subtab.is-active{color:var(--night);border-bottom-color:var(--gold)}
.inv-big{font-size:30px;font-weight:700;color:var(--night);line-height:1.1;margin:6px 0 2px}

/* Shipment status pills */
.ship-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;text-transform:capitalize}
.ship-ordered{background:rgba(1,12,102,.1);color:var(--night)}
.ship-arrived{background:rgba(212,175,55,.22);color:#8a6a12}
.ship-received{background:rgba(31,138,90,.16);color:var(--green)}
.ship-issue{background:rgba(192,57,43,.16);color:var(--red)}

/* Nav badges + data freshness chip */
.nav-badge{margin-left:auto;background:var(--gold);color:var(--night);border-radius:12px;font-size:10.5px;font-weight:700;padding:1px 7px;line-height:1.5}
.nav-badge.red{background:#e0644f;color:#fff}
.fresh-chip{display:block;margin:10px 14px 0;padding:7px 10px;border-radius:8px;font-size:10.5px;line-height:1.5;background:rgba(255,255,255,.06);color:rgba(196,204,230,.75);text-decoration:none}
.fresh-chip:hover{background:rgba(255,255,255,.1)}
.fresh-chip .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:5px}
.fresh-chip.warn .dot{background:var(--gold)}
.fresh-chip.stale .dot{background:#e0644f}

/* Sale states */
.state-draft{background:#e7e9ee;color:var(--faint)}
.state-active{background:rgba(31,138,90,.16);color:var(--green)}
.state-done{background:#e7e9ee;color:var(--faint)}
@media print{
  .sidebar,.no-print,.page-head .btn-sm{display:none !important}
  .content{margin:0 !important}
  .panel{break-inside:avoid;box-shadow:none;border:1px solid #ddd}
}
.conflict-warn{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.4);color:var(--red);
  padding:9px 13px;border-radius:9px;font-size:12.5px;margin-bottom:12px}

/* ---- Day schedule time-grid ---- */
.sched{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.sched-row{display:flex;border-bottom:1px solid var(--line);min-height:40px}
.sched-row:last-child{border-bottom:none}
.sched-row.head{background:var(--night);min-height:26px}
.sched-label{flex:0 0 100px;padding:7px 10px;font-size:12px;font-weight:700;color:var(--night);
  border-right:1px solid var(--line);display:flex;align-items:center;gap:6px}
.sched-row.head .sched-label{color:#fff}
.sched-row.conflict .sched-label{color:var(--red)}
.sched-row.empty .sched-label{color:var(--faint);font-weight:600}
.sched-track{flex:1;position:relative;min-height:40px;display:flex}
.sched-hour{flex:1;font-size:9.5px;color:rgba(255,255,255,.7);padding:6px 0 0 4px;border-left:1px solid var(--night-2)}
.sched-row:not(.head) .sched-track .grid-line{flex:1;border-left:1px solid var(--line)}
.sched-block{position:absolute;top:4px;bottom:4px;border-radius:5px;color:#fff;font-size:10.5px;
  padding:3px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px 2px rgba(0,0,0,.25);z-index:1}
.sched-block:hover{filter:brightness(1.12);z-index:3}
.sched-block.conf{outline:2px solid var(--red)}
.sched-untimed{position:absolute;right:5px;top:6px;display:flex;gap:4px}
.sched-untimed a{font-size:10px;color:#fff;padding:2px 7px;border-radius:5px}

/* ---- Event management cards ---- */
.ev-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid #999;border-radius:11px;
  padding:13px 15px;margin-bottom:10px;box-shadow:var(--shadow)}
.ev-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.ev-card-title{font-weight:600;font-size:14.5px;color:var(--ink)}
.ev-card-title a{color:var(--night)}
.ev-card-meta{font-size:12px;color:var(--muted);margin-top:3px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.tbl-assign{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.tbl-assign .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.tbl-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 8px;border:1px solid var(--line-2);
  border-radius:7px;cursor:pointer;background:#fff;user-select:none}
.tbl-toggle:hover{border-color:var(--gold)}
.tbl-toggle input{margin:0}
.nav-group{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:rgba(212,175,55,.65);
  font-weight:700;margin:16px 10px 6px}
.nav-link{padding:9px 12px;border-radius:8px;color:#c4cce6;font-weight:500;
  display:flex;justify-content:space-between;align-items:center;border-left:3px solid transparent}
.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-link.is-active{background:rgba(212,175,55,.14);color:#fff;border-left-color:var(--gold);font-weight:600}
.nav-link.is-disabled{color:rgba(196,204,230,.42);cursor:default}
.nav-link.is-disabled:hover{background:transparent}
.nav-sub{font-size:12.5px;padding-left:24px;color:rgba(196,204,230,.78)}
.nav-sub:hover{color:#fff}
.nav-coll{margin:0}
.nav-coll>summary{list-style:none;cursor:pointer}
.nav-coll>summary::-webkit-details-marker{display:none}
.nav-coll-head{justify-content:space-between}
.nav-coll .chev{font-size:9px;opacity:.6;transition:transform .15s}
.nav-coll[open]>summary .chev{transform:rotate(90deg)}
summary.nav-group-head{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(196,204,230,.55);padding:12px 12px 5px;display:flex;justify-content:space-between;align-items:center}
summary.nav-group-head:hover{color:rgba(196,204,230,.9)}
.nav-sub2{font-size:12px;padding-left:34px;color:rgba(196,204,230,.72)}
.nav-sub2:hover{color:#fff}
/* Condensed account bar (bottom of sidebar) */
.acct-bar{margin:6px 0 4px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.acct-switch{width:100%;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.4);
  border-radius:8px;padding:6px 9px;color:#fff;font-size:11.5px;font-weight:600;font-family:inherit;margin-bottom:6px}
.acct-switch:focus{outline:none;border-color:var(--gold)}
.acct-switch option{color:#111;background:#fff;font-weight:600}
.acct-row{display:flex;align-items:center;gap:8px}
.acct-who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;overflow:hidden}
.acct-who b{color:#fff;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-who span{color:rgba(196,204,230,.7);font-size:10.5px}
.acct-out{flex:0 0 auto;color:rgba(196,204,230,.7);font-size:15px;padding:2px 6px;border-radius:6px}
.acct-out:hover{color:#fff;background:rgba(255,255,255,.08)}

/* Sidebar search, pins & quick actions */
.nav-search{margin:0 0 8px}
.nav-search input{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:9px;padding:8px 11px;color:#fff;font-size:12px;font-family:inherit}
.nav-search input::placeholder{color:rgba(196,204,230,.55)}
.nav-search input:focus{outline:none;border-color:var(--gold)}
.nav-pins{border-bottom:1px dashed rgba(255,255,255,.14);padding-bottom:6px;margin-bottom:2px}
.pin-star{opacity:0;font-size:11px;color:var(--gold);cursor:pointer;margin-left:6px;transition:opacity .12s;flex:0 0 auto}
.nav-link:hover .pin-star{opacity:.75}
.pin-star.on{opacity:.9}
.pin-star:hover{opacity:1;transform:scale(1.2)}
.nav-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:2px 0 6px}
.nav-quick a{font-size:11px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.07);
  color:#c4cce6;border:1px solid rgba(255,255,255,.1);white-space:nowrap;text-align:center;
  display:flex;align-items:center;justify-content:center;gap:5px;overflow:hidden}
.nav-quick a:hover{background:rgba(212,175,55,.18);color:#fff;border-color:rgba(212,175,55,.4)}
.nav-quick a.is-active{background:rgba(212,175,55,.22);color:#fff;border-color:rgba(212,175,55,.5)}
.nq-badge{background:var(--gold);color:var(--night);border-radius:9px;font-size:9.5px;font-weight:700;padding:0 5px}

.nav-top{display:flex;gap:8px;margin:2px 0 8px}
.nav-top-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 6px;border-radius:10px;background:rgba(212,175,55,.12);
  border:1px solid rgba(212,175,55,.4);color:#fff;font-weight:600;font-size:12px;text-align:center}
.nav-top-btn:hover{background:rgba(212,175,55,.24)}
.nav-top-btn.is-active{background:var(--gold);color:var(--night)}
.nav-top-btn.is-active .nav-badge{background:var(--night);color:#fff}

/* Notification bell + list (sidebar) */
.nav-notif{margin:0 0 8px}
.nav-notif>summary{list-style:none;cursor:pointer}
.nav-notif>summary::-webkit-details-marker{display:none}
.nav-notif-head{display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);color:#c4cce6;font-size:12px;font-weight:600}
.nav-notif-head:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-notif .chev{font-size:9px;opacity:.6;transition:transform .15s}
.nav-notif[open]>summary .chev{transform:rotate(90deg)}
.notif-count{background:#e0644f;color:#fff;border-radius:10px;font-size:10px;font-weight:800;padding:1px 6px;margin-left:4px}
.notif-list{padding:6px 2px 2px;display:flex;flex-direction:column;gap:3px}
.notif-allread{align-self:flex-end;background:none;border:none;color:rgba(196,204,230,.75);font-size:10.5px;font-weight:600;cursor:pointer;padding:2px 4px;font-family:inherit}
.notif-allread:hover{color:#fff;text-decoration:underline}
.notif-item{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-radius:8px;text-decoration:none;color:#c4cce6;position:relative;border-left:2px solid transparent}
.notif-item:hover{background:rgba(255,255,255,.07);color:#fff}
.notif-item.urgent{border-left-color:#e0644f}
.notif-item.is-read{opacity:.5}
.notif-ic{flex:0 0 auto;font-size:13px;line-height:1.4}
.notif-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.notif-title{font-size:11.5px;font-weight:600;line-height:1.3}
.notif-detail{font-size:10.5px;color:rgba(196,204,230,.65);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:4px}
.notif-empty{text-align:center;color:rgba(196,204,230,.6);font-size:11px;padding:12px 4px}

/* Week / Weekend calendar views */
.wk-grid{display:grid;gap:10px;margin-top:4px}
.wk-grid.c7{grid-template-columns:repeat(7,1fr)}
.wk-grid.c4{grid-template-columns:repeat(4,1fr)}
.tbl-pick{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;white-space:nowrap}
.tbl-pick:hover{border-color:var(--gold);background:var(--surface-2)}
.seat-quick{display:flex;gap:6px;margin-bottom:9px;flex-wrap:wrap}
/* Live seating chart on the event form */
.dc-head{font-size:12px;color:var(--muted);margin-bottom:6px}
.dc-grid{width:100%;border-collapse:collapse;font-size:10.5px;margin-bottom:12px}
.dc-grid th{background:var(--night);color:#fff;padding:4px 5px;font-weight:600;font-size:9.5px;text-align:center;border:1px solid var(--night-2)}
.dc-grid th:first-child{background:transparent;border:none}
.dc-tbl{padding:4px 6px;font-weight:600;color:var(--muted);white-space:nowrap;border:1px solid var(--line);background:var(--surface-2)}
.dc-tbl.busy{color:var(--night)}
.dc-cell{border:1px solid var(--line);padding:2px;vertical-align:top;height:22px;min-width:52px}
.dc-cell.dc-conflict{background:rgba(192,57,43,.12);box-shadow:inset 0 0 0 1px var(--red)}
.dc-ev{display:block;color:#fff;border-radius:3px;padding:1px 4px;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}
/* Change log */
.log-table{width:100%;border-collapse:collapse;font-size:13px}
.log-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.log-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.log-table tbody tr:hover td{background:var(--surface-2)}
.log-when{white-space:nowrap;color:var(--night);font-weight:600;font-size:12px}
.log-when span{display:block;color:var(--faint);font-weight:400;font-size:11px}
.log-who{font-weight:600;color:var(--night);white-space:nowrap}
.log-cat{display:inline-block;color:#fff;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:5px;vertical-align:middle;white-space:nowrap}
.log-detail{color:var(--muted);word-break:break-word}
.req-card{border:1px solid var(--line);border-radius:9px;padding:11px 13px;margin-bottom:10px;background:var(--surface)}
.req-head{display:flex;align-items:center;gap:8px}
.req-q{margin-top:6px;font-size:13.5px;color:var(--ink)}
.req-a{margin-top:6px;font-size:13px;color:var(--night);background:var(--surface-2);border-radius:7px;padding:7px 10px}
.wk-grid.c3{grid-template-columns:repeat(3,1fr)}
.wk-day{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;min-height:240px;display:flex;flex-direction:column;gap:5px}
.wk-day.today{outline:2px solid var(--gold)}
.wk-day-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:3px;color:var(--night)}
.wk-ev{display:block;padding:6px 9px;border-radius:7px;color:#fff;font-size:12px;line-height:1.35;overflow:hidden}
.wk-ev .t{font-weight:700;font-size:10.5px;opacity:.85;margin-right:4px}
.wk-ev.rec{opacity:.62}
.wk-ev .su{float:right;background:rgba(255,255,255,.28);border-radius:10px;padding:0 7px;font-size:10.5px;font-weight:700;margin-left:6px}
.wk-x{display:block;padding:4px 8px;background:var(--surface-2);border-radius:5px;font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-day-foot{margin-top:auto;display:flex;gap:6px;padding-top:7px}

/* Sign-up sheets */
.su-list{display:flex;flex-direction:column;gap:4px}
.su-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--surface-2);border-radius:7px;font-size:13.5px}

/* Sign-up hub (search + event picker) */
.su-search{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.su-search .input{flex:1}
.su-evrow{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;text-decoration:none;color:var(--text)}
.su-evrow:hover{background:var(--surface-2)}
.su-evrow+.su-evrow{border-top:1px solid var(--line)}
.su-ev-date{flex:0 0 52px;text-align:center;line-height:1.15}
.su-ev-date b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gold)}
.su-ev-date span{font-size:11.5px;color:var(--faint)}
.su-ev-main{flex:1;min-width:0}
.su-ev-name{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px}
.su-ev-meta{font-size:11.5px;color:var(--faint);margin-top:2px}
.su-ev-count{flex:0 0 auto;text-align:right;line-height:1.2}
.su-ev-count b{display:block;font-size:15px}
.su-ev-count .faint{display:block}
.su-ev-go{flex:0 0 auto;font-size:20px;color:var(--gold);opacity:.55}
.su-evrow:hover .su-ev-go{opacity:1}
/* paid/member flags on the sign-up sheet */
.su-flag{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);white-space:nowrap;padding-bottom:4px;cursor:pointer}
.su-flag input{margin:0}
.su-tag{background:var(--surface-2);border:1px solid var(--line);color:var(--faint);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.su-tag:hover{border-color:var(--muted)}
.su-tag.on-paid{background:rgba(46,160,67,.16);border-color:rgba(46,160,67,.5);color:#7ee29a}
.su-tag.on-member{background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.5);color:var(--gold)}

/* Timeslot grid (floor plan) */
table.slotgrid{width:100%;border-collapse:collapse}
table.slotgrid th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:9px 10px;border-bottom:1px solid var(--line);background:var(--surface-2)}
table.slotgrid td{border-bottom:1px solid var(--line);vertical-align:top}
.sg-table{padding:10px;font-weight:600;color:var(--night);font-size:13px;white-space:nowrap;border-right:1px solid var(--line)}
.sg-cell{padding:6px;min-width:130px;min-height:44px;transition:background .12s}
.sg-cell.over{background:rgba(212,175,55,.18);outline:2px dashed var(--gold);outline-offset:-3px}
.sg-cell.conflict{background:rgba(192,57,43,.07)}
.sg-ev{display:block;padding:6px 9px;border-radius:7px;color:#fff;font-size:12px;line-height:1.3;margin-bottom:4px;cursor:grab}
.sg-ev:active{cursor:grabbing}
.sg-ev.rec{opacity:.62}
.sg-ev .why{display:block;font-size:10px;opacity:.85;font-weight:400}
.sg-tray{display:flex;gap:8px;flex-wrap:wrap}
.sg-tray .sg-ev{margin-bottom:0;max-width:240px}

/* Upcoming Releases timeline */
.rel-timeline{position:relative;padding-left:4px}
.rtl-month{font-family:Cinzel,serif;font-weight:600;color:var(--night);font-size:15px;
  margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.rtl-node{display:flex;gap:12px;align-items:stretch;padding:7px 0}
.rtl-rail{flex:0 0 14px;position:relative;display:flex;justify-content:center}
.rtl-rail::before{content:"";position:absolute;top:-7px;bottom:-7px;width:2px;background:var(--line)}
.rtl-dot{width:12px;height:12px;border-radius:50%;margin-top:5px;z-index:1;box-shadow:0 0 0 3px var(--surface)}
.rtl-date{flex:0 0 74px;text-align:right;line-height:1.2}
.rtl-date b{display:block;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.rtl-dm{font-weight:700;color:var(--night);font-size:13.5px;font-variant-numeric:tabular-nums}
.rtl-out{display:block;font-size:10.5px;color:var(--faint)}
.rtl-body{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);
  border-radius:10px;padding:9px 13px}
.rtl-title{font-weight:600;color:var(--ink);font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rtl-meta{font-size:12px;color:var(--faint);margin-top:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill-pre{background:rgba(212,175,55,.18);color:#8a6a12;font-weight:600;border-radius:12px;padding:1px 9px;font-size:11px}

/* Line lead scraped feed */
.scrape-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  padding:9px 11px;border-radius:9px;margin-bottom:5px;background:var(--surface-2)}
.scrape-main{flex:1;min-width:0}

/* Social Planner */
.sp-card{padding:14px 16px}
.sp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.sp-copy{width:100%;min-height:110px;font-size:13px;line-height:1.5;font-family:inherit}
.sp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.sp-nets{display:flex;gap:4px;flex-wrap:wrap}
.sp-nets .day-opt.on{background:rgba(1,12,102,.08);border-color:var(--night)}
.sp-preview{white-space:pre-wrap;font-family:inherit;font-size:12.5px;color:var(--muted);background:var(--surface-2);border-radius:8px;padding:10px 12px;margin:6px 0 0}

/* Social Media Calendar — video pipeline */
.vc-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--surface)}
.vc-dates{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0;align-items:flex-end}
.vc-dates label{font-size:11px;color:var(--faint);display:flex;flex-direction:column;gap:3px;font-weight:600}
.vc-dates .input.mini{width:140px}

/* Grouped action lists */
details.ag{margin:0}
details.ag>summary{list-style:none;cursor:pointer}
details.ag>summary::-webkit-details-marker{display:none}
.ag-head .chev{transition:transform .15s}
details.ag[open]>summary .chev{transform:rotate(90deg)}
.ag-count{display:inline-block;background:var(--night);color:#fff;border-radius:11px;padding:0 8px;font-size:10.5px;font-weight:700;margin-left:5px;vertical-align:1px}
.ag-body{margin:2px 0 8px 26px;border-left:2px solid var(--line);padding-left:8px}
.ag-body .action-row{padding-top:6px;padding-bottom:6px}

/* Master Calendar timeline view */
.tlv-row{display:flex;gap:14px;padding:10px 4px;border-bottom:1px solid var(--line);align-items:flex-start}
.tlv-row.today{background:rgba(212,175,55,.07);border-radius:8px}
.tlv-date{width:118px;flex:0 0 auto;text-align:right;padding-top:3px}
.tlv-date b{color:var(--night);font-size:13.5px;display:block}
.tlv-date span{font-size:11px;color:var(--faint)}
.tlv-items{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tlv-items .wk-ev{display:inline-block;margin:0}
.tlv-items .wk-x{display:inline-block;white-space:normal}

/* Decision support: context lines, slot chips, exception strip */
.ctx-line{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.7}
.ctx-line .up{color:var(--green);font-weight:700}
.ctx-line .down{color:var(--red);font-weight:700}
.slot-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);
  background:var(--surface);border-radius:14px;padding:2px 9px;font-size:11px;cursor:pointer;
  color:var(--night);font-weight:600;margin:1px 2px 1px 0;transition:all .12s}
.slot-chip:hover{border-color:var(--gold);background:rgba(212,175,55,.12)}
.slot-chip .fr{color:var(--green);font-weight:700;font-size:10px}
.exc-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;
  background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.25);border-radius:10px;padding:9px 13px}
.exc-title{font-size:12px;font-weight:700;color:var(--red)}
.exc-pill{font-size:12px;padding:3px 11px;border-radius:14px;font-weight:500}
.exc-pill.red{background:rgba(192,57,43,.14);color:var(--red)}
.exc-pill.warn{background:rgba(212,175,55,.2);color:#8a6a12}
.exc-pill:hover{filter:brightness(.92)}

/* Slot sections in week/weekend view */
.slot-sec{border:1px dashed transparent;border-radius:8px;padding:3px;margin:2px -3px;transition:background .12s}
.slot-sec.over{background:rgba(212,175,55,.16);border-color:var(--gold)}
.slot-lbl{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:2px 0 3px}
.soon{font-size:9px;background:rgba(255,255,255,.08);color:rgba(196,204,230,.7);padding:2px 7px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.sidebar-foot{flex:0 0 auto;padding-top:10px}
.logout{padding:2px 7px;border-radius:6px}
.logout:hover{background:rgba(255,255,255,.1);color:#fff}
.sidebar-foot .faint{color:rgba(196,204,230,.5)}

/* ---- Content ---- */
.content{flex:1;padding:26px 32px;max-width:1320px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin:0;color:var(--night);letter-spacing:.3px}
.page-sub{color:var(--muted);font-size:13px;margin-top:4px}
.asof{font-size:12px;color:var(--faint)}
.crumb{font-size:12px;color:var(--faint);margin-bottom:3px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.crumb a{color:var(--gold-deep)}

.grid{display:grid;gap:14px}
.cards{grid-template-columns:repeat(auto-fill,minmax(186px,1fr))}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--shadow)}
.kpi .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600}
.kpi .value{font-size:24px;font-weight:700;margin-top:7px;color:var(--night)}
.kpi .value.sm{font-size:19px}
.kpi .delta{font-size:12px;margin-top:5px}

/* Event analytics dashboard */
.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600}
.kpi-val{font-size:26px;font-weight:800;margin-top:6px;color:var(--night)}
.kpi-sub{font-size:11.5px;margin-top:5px;display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}
.kpi-sub .up{color:var(--green);font-weight:700}
.kpi-sub .down{color:var(--red);font-weight:700}
.stat-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media (max-width:820px){.stat-cols{grid-template-columns:1fr}}
.barrow{display:flex;align-items:center;gap:10px;padding:5px 0}
.barrow-lbl{width:130px;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}
.barrow-track{flex:1;height:14px;background:var(--surface-2);border-radius:7px;overflow:hidden}
.barrow-fill{display:block;height:100%;border-radius:7px;min-width:2px}
.barrow-n{width:34px;text-align:right;font-size:12.5px;font-weight:700;color:var(--night);flex:0 0 auto}
.wkbars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:8px}
.wkbar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.wkbar-track{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--surface-2);border-radius:6px 6px 0 0;overflow:hidden}
.wkbar-fill{width:100%;background:var(--gold);min-height:2px;border-radius:6px 6px 0 0}
.wkbar-n{font-size:12px;font-weight:700;color:var(--night);margin-top:4px}
.wkbar-lbl{font-size:10.5px;color:var(--muted)}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}
.panel h2{font-family:var(--font-display);font-size:15px;margin:0 0 13px;font-weight:700;color:var(--night);letter-spacing:.3px}
.panel h2 .hint{font-family:var(--font-body);font-weight:500;color:var(--faint);font-size:12px;margin-left:8px;letter-spacing:0}

table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tbody tr:hover{background:var(--surface-2)}

.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;background:#e7e9ee;color:var(--charcoal);font-weight:600}
.tag.tcg{background:rgba(1,12,102,.10);color:var(--night)}
.tag.rpg{background:rgba(212,175,55,.20);color:#8a6a12}
.tag.warhammer{background:rgba(91,91,91,.16);color:var(--charcoal)}
.tag.store,.tag.storewide{background:#e7e9ee;color:#6b7280}
.tag.admin{background:var(--night);color:#fff}

.ok{color:var(--green)} .bad{color:var(--red)} .warn{color:var(--amber)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--line);background:var(--surface-2)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.dot.bad{background:var(--red)}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}
.muted{color:var(--muted)} .faint{color:var(--faint)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.sidebar{display:none}}

/* ---- Login (premium dark treatment) ---- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1100px 500px at 50% -10%,#0a1a7a,var(--night) 60%)}
.login-card{width:380px;background:linear-gradient(180deg,#020f73,#01083f);
  border:1px solid rgba(212,175,55,.25);border-radius:16px;padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.5)}
.login-card .brand{border:none;padding:0 8px 14px;margin:0}
.login-card .brand img{width:100%}
.login-card h1{font-family:var(--font-display);font-size:19px;margin:8px 0 4px;text-align:center;color:#fff}
.login-card .sub{text-align:center;color:#c4cce6;font-size:13px;margin-bottom:20px}
.field{margin-bottom:13px}
.field label{display:block;font-size:11px;color:#c4cce6;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.login-card .input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#fff}
.login-card .input:focus{border-color:var(--gold)}
.input{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-size:14px;font-family:var(--font-body)}
.input:focus{outline:none;border-color:var(--gold)}
.btn{display:inline-block;width:100%;padding:11px;border:none;border-radius:9px;
  background:var(--gold);color:var(--night);font-weight:700;font-size:13px;cursor:pointer;
  text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-body)}
.btn:hover{background:#e3c155}
.flash{background:rgba(192,57,43,.18);border:1px solid rgba(192,57,43,.5);color:#ffc9c0;
  padding:9px 12px;border-radius:9px;font-size:13px;margin-bottom:14px}
.samples{margin-top:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.samples h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:rgba(212,175,55,.8);margin:0 0 8px;font-weight:700}
.sample-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:#c4cce6}
.sample-row .mono{color:#fff}
.sample-row button{background:none;border:none;color:var(--gold);cursor:pointer;font-size:12px;font-weight:600}

/* ---- Filters ---- */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px;margin-bottom:16px;box-shadow:var(--shadow)}
.filters .field{margin:0}
.filters .field label{color:var(--muted)}
.filters .input,.filters select{padding:7px 9px;font-size:13px}
.presets{display:flex;gap:6px}
.preset{padding:6px 12px;border-radius:20px;border:1px solid var(--line-2);background:var(--surface);
  color:var(--muted);font-size:12px;cursor:pointer;font-weight:600;font-family:var(--font-body)}
.preset:hover{border-color:var(--gold);color:var(--night)}
.preset.is-active{background:var(--night);color:#fff;border-color:var(--night)}

/* ---- Deltas ---- */
.delta.up{color:var(--green)} .delta.down{color:var(--red)}
.delta .arrow{font-weight:700}

/* ---- Charts ---- */
.chart-box{position:relative;height:280px}
.chart-box.sm{height:240px}
.legend{display:flex;flex-direction:column;gap:7px;font-size:13px}
.legend-row{display:flex;align-items:center;gap:9px}
.legend-row .swatch{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.legend-row .lname{flex:1}
.legend-row .lval{font-variant-numeric:tabular-nums;color:var(--muted)}
.adjacent{display:flex;gap:12px;flex-wrap:wrap}
.adj-chip{flex:1;min-width:130px;background:var(--surface-2);border:1px solid var(--line);
  border-radius:10px;padding:12px 14px;border-left:3px solid var(--gold)}
.adj-chip .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.adj-chip .value{font-size:18px;font-weight:700;margin-top:4px;color:var(--night)}
.section-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
@media(max-width:1000px){.section-grid{grid-template-columns:1fr}}

/* ---- Inventory status ---- */
.st{display:inline-block;font-size:10.5px;padding:2px 9px;border-radius:20px;font-weight:700;letter-spacing:.3px}
.st.OK{background:rgba(31,138,90,.14);color:var(--green)}
.st.Low{background:rgba(212,175,55,.22);color:#8a6a12}
.st.OOS{background:rgba(192,57,43,.14);color:var(--red)}
.st.Out{background:#e7e9ee;color:var(--faint)}
.inv-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}
.inv-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:11px 13px}
.inv-cell .n{font-size:19px;font-weight:700;color:var(--night)}
.inv-cell .l{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-top:3px;font-weight:600}
.inv-cell.alert .n{color:var(--gold-deep)} .inv-cell.bad .n{color:var(--red)}

/* ---- Pipeline feed ---- */
.feed{display:flex;flex-direction:column}
.feed-item{display:flex;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}
.feed-item:last-child{border-bottom:none}
.feed-date{flex:0 0 84px;font-size:12px;color:var(--gold-deep);font-weight:700;font-variant-numeric:tabular-nums}
.feed-date.tbd{color:var(--faint)}
.feed-body{flex:1}
.feed-title{font-weight:600;font-size:13px;color:var(--ink)}
.feed-title a{color:var(--night);border-bottom:1px dotted var(--faint)}
.feed-meta{font-size:12px;color:var(--muted);margin-top:2px}
.feed-game{font-size:11px;color:var(--faint)}
.chip{display:inline-block;font-size:10.5px;padding:2px 8px;border-radius:20px;background:#e7e9ee;color:var(--muted);margin-left:6px;font-weight:600}
.chip.future{background:rgba(212,175,55,.2);color:#8a6a12}

.split-bars{display:flex;flex-direction:column;gap:10px}
.split-row{display:flex;align-items:center;gap:10px;font-size:13px}
.split-row .sname{flex:0 0 92px;font-weight:600}
.split-row .track{flex:1;height:9px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.split-row .fill{display:block;height:100%;border-radius:6px}
.split-row .sval{flex:0 0 96px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.pform{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}
.btn-sm{display:inline-block;padding:5px 11px;border-radius:7px;background:var(--gold);color:var(--night);
  font-size:12px;font-weight:700}
.btn-sm:hover{background:#e3c155}

/* ---- Timeline ---- */
.tl-controls{position:sticky;top:0;z-index:5;padding:12px 16px}
.tl-grp{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:9px}
.tl-grp:last-child{margin-bottom:0}
.tl-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);width:46px}
.tl-btn{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-family:var(--font-body);font-weight:600}
.tl-btn:hover{border-color:var(--gold);color:var(--night)}
.tl-btn.active{background:var(--night);color:#fff;border-color:var(--night)}
.tl-btn .cnt{font-size:11px;opacity:.6;font-weight:700}
.tl-catbtn{background:rgba(1,12,102,.07);border-color:rgba(1,12,102,.18);color:var(--night);font-weight:800}
.tl-catbtn.active{background:var(--night);color:#fff}
.tl-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

.tl-month{margin:22px 0 8px;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--night);
  border-bottom:2px solid var(--gold);padding-bottom:5px;display:flex;justify-content:space-between;align-items:baseline}
.tl-month .mc{font-family:var(--font-body);font-size:11px;color:var(--faint);font-weight:600}
.tl-card{display:flex;gap:13px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);
  border-left:5px solid #999;border-radius:9px;padding:11px 15px;margin:8px 0;box-shadow:var(--shadow)}
.tl-card.dist{background:#fbfaf4}
.tl-chip{font-size:10px;font-weight:800;letter-spacing:.02em;padding:5px 9px;border-radius:6px;white-space:nowrap;
  margin-top:2px;min-width:64px;text-align:center;color:#fff}
.tl-body{flex:1;min-width:0}
.tl-cat{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.tl-dtag{background:var(--gold-soft);color:var(--gold-deep);padding:1px 6px;border-radius:4px;margin-right:5px}
.tl-title{font-size:14px;font-weight:600;margin:2px 0;color:var(--ink)}
.tl-daynum{font-size:20px;font-weight:800;line-height:1.15;color:var(--night);margin:2px 0}
.tl-meta{font-size:11.5px;color:var(--faint)}
.tl-meta a{color:var(--gold-deep);font-weight:600}
.tl-meta a:hover{text-decoration:underline}
.tl-empty{color:var(--faint);padding:24px;text-align:center}

/* ---- Task board ---- */
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.tab{padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);background:#fff;
  color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}
.tab:hover{border-color:var(--gold);color:var(--night)}
.tab.is-active{background:var(--night);color:#fff;border-color:var(--night)}
.tab .b{margin-left:6px;font-size:11px;background:rgba(255,255,255,.2);padding:1px 7px;border-radius:20px}
.tab:not(.is-active) .b{background:var(--surface-2);color:var(--muted)}
.tab .b.red{background:rgba(192,57,43,.16);color:var(--red)}
.tab .b.gold{background:var(--gold-soft);color:var(--gold-deep)}

.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.rel-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid #999;
  border-radius:11px;padding:15px 16px;box-shadow:var(--shadow);display:block;color:inherit}
.rel-card:hover{box-shadow:0 4px 16px rgba(1,12,102,.12);transform:translateY(-1px);transition:.15s}
.rc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.rc-chip{font-size:10px;font-weight:800;padding:4px 9px;border-radius:6px;color:#fff;white-space:nowrap}
.rc-date{font-size:12px;color:var(--muted);text-align:right}
.rc-date .d{font-family:var(--font-display);font-weight:700;color:var(--night);font-size:15px}
.rc-title{font-weight:600;font-size:15px;margin:10px 0 3px;color:var(--ink)}
.rc-pre{font-size:12px;color:var(--faint);margin-bottom:12px}
.progress{height:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.progress .fill{display:block;height:100%;min-width:2px;background:var(--gold);border-radius:6px;transition:width .3s}
.progress .fill.done{background:var(--green)}
.rc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px}
.rc-foot .x{color:var(--muted);font-weight:600}
.badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.badge.over{background:rgba(192,57,43,.16);color:var(--red)}
.badge.week{background:var(--gold-soft);color:var(--gold-deep)}
.badge.done{background:rgba(31,138,90,.16);color:var(--green)}

.roll{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.roll-card{flex:1;min-width:150px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:14px 16px;box-shadow:var(--shadow)}
.roll-card .rl{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.roll-card .rv{font-size:22px;font-weight:700;color:var(--night);margin:5px 0 7px}
.roll-card .rv.red{color:var(--red)} .roll-card .rv.gold{color:var(--gold-deep)}

/* ---- Task detail ---- */
.task-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.task-row:last-child{border-bottom:none}
.task-seq{flex:0 0 30px;height:30px;width:30px;border-radius:50%;background:var(--night);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.task-seq.done{background:var(--green)}
.task-main{flex:1;min-width:0}
.task-title{font-weight:600;font-size:14.5px;color:var(--ink)}
.task-desc{font-size:12.5px;color:var(--muted);margin:3px 0 9px}
.task-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.task-fields .field{margin:0;min-width:120px}
.task-fields .field.notes{flex:1;min-width:200px}
.task-fields textarea.input{resize:vertical;min-height:38px;font-family:var(--font-body)}
.due-over{color:var(--red);font-weight:600}
.plat-link{font-size:12px}
.status-sel.s-Done{border-color:var(--green)} .status-sel.s-Inprogress{border-color:var(--gold)}
.flash-ok{background:rgba(31,138,90,.12);border:1px solid rgba(31,138,90,.4);color:var(--green);
  padding:9px 13px;border-radius:9px;font-size:13px;margin-bottom:14px}

/* ---- Tabs ---- */
.tabnav{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:18px;flex-wrap:wrap}
.tabtab{padding:10px 16px;font-size:13.5px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;
  margin-bottom:-2px;cursor:pointer;font-family:var(--font-body)}
.tabtab:hover{color:var(--night)}
.tabtab.is-active{color:var(--night);border-bottom-color:var(--gold)}
.tabtab .b{margin-left:6px;font-size:11px;font-weight:700;background:var(--surface-2);padding:1px 7px;border-radius:20px}
.tabtab .b.red{background:rgba(192,57,43,.16);color:var(--red)}
.tabtab .b.gold{background:var(--gold-soft);color:var(--gold-deep)}
.subhead{font-family:var(--font-display);font-size:16px;color:var(--night);font-weight:700;margin:4px 0 12px}

/* ---- Overview action list ---- */
.action-list{display:flex;flex-direction:column}
.action-row{display:flex;gap:13px;align-items:center;padding:11px 12px;border:1px solid var(--line);
  border-left:3px solid var(--line-2);border-radius:9px;margin-bottom:8px;background:var(--surface)}
.action-row.is-overdue{border-left-color:var(--red);background:rgba(192,57,43,.03)}
.ar-due{flex:0 0 60px;font-size:13px;font-weight:700;color:var(--night);font-variant-numeric:tabular-nums;text-align:center;line-height:1.15}
.ar-due.over{color:var(--red)}
.ar-due-cap{display:block;font-size:8.5px;font-weight:800;letter-spacing:.08em;color:var(--faint)}
.ar-due.over .ar-due-cap{color:var(--red);opacity:.8}
.ar-when{font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:5px;padding:1px 7px;white-space:nowrap}
.ar-main{flex:1;min-width:0}
.ar-title{font-weight:600;font-size:14px;color:var(--ink)}
.ar-meta{font-size:12px;color:var(--faint);margin-top:2px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rc-chip-sm{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:5px;color:#fff;white-space:nowrap}
.ar-action{flex:0 0 auto;display:flex;align-items:center;gap:9px}
.ar-action .status-sel{padding:5px 8px;font-size:12px;width:auto}
.ar-open{font-size:15px;color:var(--muted);padding:3px 6px;border-radius:6px}
.ar-open:hover{background:var(--surface-2);color:var(--night)}
.status-sel.s-Done{border-color:var(--green);color:var(--green)}
.status-sel.s-Inprogress{border-color:var(--gold-deep)}
.ov-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}
@media(max-width:1000px){.ov-grid{grid-template-columns:1fr}}
.mini-roll{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.mini-roll .m{flex:1;min-width:90px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.mini-roll .m .n{font-size:18px;font-weight:700;color:var(--night)}
.mini-roll .m .n.red{color:var(--red)} .mini-roll .m .n.gold{color:var(--gold-deep)}
.mini-roll .m .l{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600}
