:root{
  /* deep-space + orbit-signal palette */
  --void:#080b16;           /* void — deep space background */
  --deck:#111527;           /* surface — console deck plate */
  --deck-raised:#161b34;    /* surface-2 — raised panel */
  --deck-deep:#0a0d1c;      /* surface-3 — recessed readout */
  --ring:#2c3566;           /* border — orbit ring line */
  --ring-soft:#1c2247;
  --signal:#5b8cff;         /* primary accent — orbit trail blue */
  --signal-bright:#8fb4ff;
  --signal-deep:#3559c2;
  --beacon:#f0a545;         /* gilded accent, used sparingly — beacon amber */
  --beacon-bright:#ffc46b;
  --ink:#edf0fb;
  --ink-dim:#a7aed4;
  --ink-faint:#666fa3;
  --ok:#59d3a4;
  --warn:#e7b04f;
  --danger:#f0716f;
  --info:#5aa8ec;
  --radius:9px;
  --shadow: 0 16px 36px rgba(2,4,14,0.5);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{
  background:
    radial-gradient(1100px 550px at 88% -8%, rgba(91,140,255,0.08), transparent 62%),
    radial-gradient(900px 520px at -8% 108%, rgba(240,165,69,0.05), transparent 60%),
    var(--void);
  background-attachment:fixed;
  color:var(--ink);
  font-family:'Inter',sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
/* faint starfield texture */
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:0.55;
  background-image:
    radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size:3px 3px, 7px 7px;
  background-position:0 0, 2px 3px;
}
.app{ position:relative; z-index:1; display:flex; min-height:100vh; }
::selection{ background:rgba(143,180,255,0.28); }
h1,h2,h3,.display{ font-family:'Space Grotesk',sans-serif; letter-spacing:0.005em; font-weight:600; }

/* signal-glow text treatment — used sparingly, on headers only */
.glow{
  text-shadow: 0 0 20px rgba(91,140,255,0.28);
}

/* ---------- SIDEBAR ---------- */
.sidebar{
  width:246px; flex:none;
  background:
    radial-gradient(220px 160px at 20% 8%, rgba(91,140,255,0.06), transparent 70%),
    linear-gradient(180deg,#0c1023,#070912);
  border-right:1px solid var(--ring-soft); display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; overflow-y:auto;
}
.brand{ padding:22px 20px 19px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--ring-soft);}
.orbit-mark{ width:32px; height:32px; flex:none; filter:drop-shadow(0 0 6px rgba(91,140,255,0.4)); }
.orbit-mark .sat-ping{ animation:satPing 3.2s ease-in-out infinite; transform-origin:17px 17px; }
@keyframes satPing{ 0%,100%{ opacity:1; } 50%{ opacity:0.35; } }
.brand-text .name{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; line-height:1.15; letter-spacing:0.01em; }
.brand-text .sub{ font-size:10px; color:var(--beacon); letter-spacing:0.18em; text-transform:uppercase; margin-top:3px; }

.nav{ padding:16px 10px; flex:1; }
.nav-group-label{ font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-faint); padding:15px 12px 6px; font-family:'JetBrains Mono',monospace; }
.nav-item{
  display:flex; align-items:center; gap:11px; padding:9px 12px; border-radius:7px; cursor:pointer;
  color:var(--ink-dim); font-size:13.5px; font-weight:500; margin-bottom:2px; transition:background .15s,color .15s;
  user-select:none; position:relative;
}
.nav-item:hover{ background:rgba(255,255,255,0.03); color:var(--ink); }
.nav-item.active{ background:linear-gradient(90deg,rgba(91,140,255,0.14),transparent); color:var(--signal-bright); }
.nav-item.active::before{ content:''; position:absolute; left:0; top:8px; bottom:8px; width:2px; background:linear-gradient(180deg,var(--beacon),var(--signal)); border-radius:2px; }
.nav-icon{ width:16px; text-align:center; font-size:14px; opacity:0.9; }
.nav-count{ margin-left:auto; font-size:10px; color:var(--ink-faint); background:var(--deck-deep); border:1px solid var(--ring-soft); padding:1px 6px; border-radius:20px; font-family:'JetBrains Mono',monospace; }
.nav-item.active .nav-count{ color:var(--beacon); border-color:rgba(240,165,69,0.3); }

.sidebar-foot{ padding:15px 18px; border-top:1px solid var(--ring-soft); font-size:10.5px; color:var(--ink-faint); font-style:italic; }

/* ---------- TOPBAR ---------- */
.main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.topbar{
  height:64px; flex:none; display:flex; align-items:center; justify-content:space-between;
  padding:0 28px; border-bottom:1px solid var(--ring-soft); position:sticky; top:0;
  background:rgba(8,11,22,0.86); backdrop-filter:blur(10px); z-index:20;
}
.topbar .title-wrap .eyebrow{ font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--beacon); font-family:'JetBrains Mono',monospace; }
.topbar .title-wrap h1{ font-size:19px; margin:2px 0 0; font-weight:600; }
.topbar-actions{ display:flex; align-items:center; gap:10px; }
.search-box{
  display:flex; align-items:center; gap:8px; background:var(--deck-deep); border:1px solid var(--ring-soft);
  padding:7px 12px; border-radius:8px; width:220px;
}
.search-box input{ background:none; border:none; outline:none; color:var(--ink); font-size:13px; width:100%; font-family:'Inter',sans-serif; }
.search-box input::placeholder{ color:var(--ink-faint); }
.btn{
  border:1px solid var(--ring); background:var(--deck-raised); color:var(--ink); font-size:13px; font-weight:600;
  padding:8px 14px; border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; gap:7px;
  transition:all .15s; font-family:'Inter',sans-serif;
}
.btn:hover{ background:var(--deck); border-color:var(--signal-deep); }
.btn-gold{ background:linear-gradient(160deg,var(--beacon-bright),var(--beacon)); color:#241606; border:none; font-weight:700; box-shadow:0 4px 14px rgba(240,165,69,0.25); }
.btn-gold:hover{ filter:brightness(1.08); }
.btn-danger-outline{ border-color:rgba(240,113,111,0.4); color:var(--danger); background:transparent; }
.btn-danger-outline:hover{ background:rgba(240,113,111,0.1); }
.btn-ghost{ background:none; border:none; color:var(--ink-dim); }
.btn-ghost:hover{ color:var(--ink); background:var(--deck-raised); }
.btn-sm{ padding:5px 9px; font-size:12px; border-radius:6px; }

.content{ padding:26px 28px 60px; }
.view{ display:none; }
.view.active{ display:block; }

/* ---------- CARDS / METRICS ---------- */
.grid{ display:grid; gap:16px; }
.grid-4{ grid-template-columns:repeat(4,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
@media(max-width:1200px){ .grid-4{grid-template-columns:repeat(2,1fr);} }

.metric-card{
  background:linear-gradient(165deg,var(--deck-raised),var(--deck));
  border:1px solid var(--ring-soft); border-radius:var(--radius); padding:19px 20px;
  position:relative; overflow:hidden;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.035), inset -3px -3px 8px rgba(0,0,0,0.3);
}
.metric-card::before{ content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--beacon),var(--signal),transparent); }
.metric-card .m-label{ font-size:10.5px; text-transform:uppercase; letter-spacing:0.12em; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.metric-card .m-value{ font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:600; margin-top:9px; color:var(--ink); }
.metric-card .m-sub{ font-size:12px; color:var(--ink-dim); margin-top:6px; }
.metric-card .m-sub.up{ color:var(--ok); }
.metric-card .m-sub.down{ color:var(--danger); }

.panel{
  background:linear-gradient(165deg,var(--deck-raised),var(--deck));
  border:1px solid var(--ring-soft); border-radius:var(--radius); padding:20px 22px; margin-bottom:16px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.03), inset -3px -3px 10px rgba(0,0,0,0.28);
}
.panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; padding-bottom:12px; border-bottom:1px solid var(--ring-soft); }
.panel-head h3{ font-size:14.5px; font-weight:600; margin:0; letter-spacing:0.02em; }
.panel-head .link{ font-size:12px; color:var(--signal-bright); cursor:pointer; font-family:'JetBrains Mono',monospace; }

/* ---------- TABLE ---------- */
.table-wrap{ overflow-x:auto; }
table.data{ width:100%; border-collapse:collapse; font-size:13px; }
table.data th{
  text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:var(--beacon);
  padding:9px 12px; border-bottom:1px solid var(--ring); font-weight:600; white-space:nowrap; font-family:'JetBrains Mono',monospace;
}
table.data td{ padding:11px 12px; border-bottom:1px solid var(--ring-soft); color:var(--ink); vertical-align:middle; white-space:nowrap; }
table.data tr:hover td{ background:rgba(91,140,255,0.03); }
table.data td.wrap{ white-space:normal; max-width:260px; }
.row-actions{ display:flex; gap:6px; }
.icon-btn{ width:26px; height:26px; border-radius:6px; border:1px solid var(--ring-soft); background:var(--deck-deep); color:var(--ink-dim); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
.icon-btn:hover{ color:var(--ink); border-color:var(--signal-deep); }

.badge{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:20px; letter-spacing:0.01em; white-space:nowrap; }
.badge::before{ content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.badge-success{ background:rgba(89,211,164,0.14); color:var(--ok); }
.badge-warning{ background:rgba(231,176,79,0.14); color:var(--warn); }
.badge-danger{ background:rgba(240,113,111,0.14); color:var(--danger); }
.badge-info{ background:rgba(90,168,236,0.16); color:var(--info); }
.badge-neutral{ background:rgba(167,174,212,0.12); color:var(--ink-dim); }

.progress-track{ width:90px; height:6px; background:var(--deck-deep); border-radius:6px; overflow:hidden; display:inline-block; vertical-align:middle; margin-right:8px; box-shadow:inset 0 1px 2px rgba(0,0,0,0.4); }
.progress-fill{ height:100%; background:linear-gradient(90deg,var(--signal-deep),var(--signal-bright)); }

.empty-state{ text-align:center; padding:52px 20px; color:var(--ink-faint); }
.empty-state .glyph{ font-size:28px; color:var(--signal-deep); margin-bottom:11px; }
.empty-state .msg{ font-size:13.5px; margin-bottom:16px; }

/* ---------- TOOLBAR ---------- */
.toolbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; gap:12px; flex-wrap:wrap; }
.toolbar-left{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
select.filter, .search-box.small{ font-size:12.5px; }
select.filter{
  background:var(--deck-deep); border:1px solid var(--ring-soft); color:var(--ink-dim); padding:7px 10px;
  border-radius:8px; outline:none; font-family:'Inter',sans-serif;
}

/* ---------- MODAL ---------- */
.modal-overlay{ position:fixed; inset:0; background:rgba(3,5,13,0.68); backdrop-filter:blur(3px); display:none; align-items:flex-start; justify-content:center; z-index:100; padding:40px 20px; overflow-y:auto; }
.modal-overlay.active{ display:flex; }
.modal{ background:var(--deck-raised); border:1px solid var(--ring); border-radius:13px; width:100%; max-width:520px; box-shadow:var(--shadow); }
.modal-head{ padding:18px 22px; border-bottom:1px solid var(--ring-soft); display:flex; align-items:center; justify-content:space-between; }
.modal-head h3{ margin:0; font-size:15.5px; }
.modal-body{ padding:20px 22px; display:grid; gap:14px; max-height:65vh; overflow-y:auto; }
.field label{ display:block; font-size:10.5px; color:var(--beacon); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px; font-family:'JetBrains Mono',monospace; }
.field input, .field select, .field textarea{
  width:100%; background:var(--deck-deep); border:1px solid var(--ring-soft); color:var(--ink); padding:9px 11px;
  border-radius:8px; font-size:13.5px; outline:none; font-family:'Inter',sans-serif; transition:border-color .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--signal); }
.field textarea{ min-height:70px; resize:vertical; }
.checkbox-group{ display:flex; flex-wrap:wrap; gap:8px 14px; background:var(--deck-deep); border:1px solid var(--ring-soft); border-radius:8px; padding:11px 12px; }
.checkbox-group .chk-item{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--ink-dim); cursor:pointer; text-transform:none; letter-spacing:0; font-family:'Inter',sans-serif; }
.checkbox-group .chk-item input{ width:auto; accent-color:var(--signal); cursor:pointer; }
.modal-foot{ padding:16px 22px; border-top:1px solid var(--ring-soft); display:flex; justify-content:flex-end; gap:10px; }

/* ---------- COMMAND PALETTE ---------- */
.kbd{ font-family:'JetBrains Mono',monospace; font-size:10px; background:var(--deck-deep); border:1px solid var(--ring-soft); padding:1px 5px; border-radius:4px; color:var(--ink-faint); margin-left:2px; }
.palette-overlay{ position:fixed; inset:0; background:rgba(3,5,13,0.7); backdrop-filter:blur(3px); display:none; align-items:flex-start; justify-content:center; z-index:150; padding:90px 20px; }
.palette-overlay.active{ display:flex; }
.palette{ background:var(--deck-raised); border:1px solid var(--ring); border-radius:13px; width:100%; max-width:560px; box-shadow:var(--shadow); overflow:hidden; }
.palette-input-wrap{ padding:14px 18px; border-bottom:1px solid var(--ring-soft); display:flex; align-items:center; gap:10px; }
.palette-input-wrap span{ color:var(--ink-faint); }
.palette-input-wrap input{ flex:1; background:none; border:none; outline:none; color:var(--ink); font-size:15px; font-family:'Inter',sans-serif; }
.palette-results{ max-height:360px; overflow-y:auto; padding:8px; }
.palette-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-radius:8px; cursor:pointer; font-size:13.5px; }
.palette-item:hover, .palette-item.sel{ background:rgba(91,140,255,0.1); }
.palette-item .p-main{ display:flex; align-items:center; gap:10px; }
.palette-item .p-icon{ width:18px; text-align:center; color:var(--signal-bright); }
.palette-item .p-sub{ color:var(--ink-faint); font-size:11px; font-family:'JetBrains Mono',monospace; }
.palette-empty{ padding:26px; text-align:center; color:var(--ink-faint); font-size:13px; }

/* ---------- QUICK ADD ---------- */
.quick-add-wrap{ position:relative; }
.quick-add-menu{ position:absolute; top:calc(100% + 6px); right:0; background:var(--deck-raised); border:1px solid var(--ring); border-radius:10px; box-shadow:var(--shadow); min-width:190px; padding:6px; display:none; z-index:60; }
.quick-add-menu.active{ display:block; }
.quick-add-menu .qa-item{ padding:8px 10px; border-radius:7px; font-size:13px; cursor:pointer; color:var(--ink-dim); }
.quick-add-menu .qa-item:hover{ background:rgba(91,140,255,0.1); color:var(--ink); }

/* ---------- CLIENT PROFILE ---------- */
.profile-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.profile-head .p-name{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:600; }
.profile-head .p-meta{ font-size:12.5px; color:var(--ink-dim); margin-top:6px; display:flex; gap:14px; flex-wrap:wrap; }
.timeline-item{ display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--ring-soft); }
.timeline-item .t-dot{ width:8px; height:8px; border-radius:50%; margin-top:5px; flex:none; }
.timeline-item .t-body{ flex:1; }
.timeline-item .t-date{ font-size:11px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }

/* ---------- RENEWAL FLAGS ---------- */
.renew-soon{ color:var(--warn) !important; }
.renew-urgent{ color:var(--danger) !important; }

/* ---------- KANBAN (Delivery Board) ---------- */
.kanban{ display:flex; gap:14px; overflow-x:auto; padding-bottom:10px; align-items:flex-start; }
.kanban-col{
  background:linear-gradient(165deg,var(--deck-raised),var(--deck));
  border:1px solid var(--ring-soft); border-radius:var(--radius); width:270px; flex:none;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.03), inset -3px -3px 8px rgba(0,0,0,0.28);
}
.kanban-col-head{ padding:12px 14px; border-bottom:1px solid var(--ring-soft); display:flex; align-items:center; justify-content:space-between; }
.kanban-col-head .dot{ width:8px; height:8px; border-radius:50%; margin-right:8px; }
.kanban-col-head span.count{ font-size:11px; color:var(--ink-faint); background:var(--deck-deep); padding:1px 7px; border-radius:20px; font-family:'JetBrains Mono',monospace; }
.kanban-body{ padding:10px; display:flex; flex-direction:column; gap:9px; min-height:60px; }
.task-card{ background:var(--deck-deep); border:1px solid var(--ring-soft); border-radius:8px; padding:11px 12px; cursor:grab; }
.task-card:active{ cursor:grabbing; }
.task-card.dragging{ opacity:0.4; }
.task-card .t-title{ font-size:13px; font-weight:600; margin-bottom:6px; }
.task-card .t-meta{ display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--ink-faint); }
.kanban-col.drag-over{ border-color:var(--signal); }

/* ---------- ANALYTICS BARS ---------- */
.bar-row{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.bar-label{ width:150px; font-size:12px; color:var(--ink-dim); flex:none; }
.bar-track{ flex:1; height:9px; background:var(--deck-deep); border-radius:5px; overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,0.4); }
.bar-fill{ height:100%; background:linear-gradient(90deg,var(--signal-deep),var(--signal-bright)); }
.bar-value{ width:84px; text-align:right; font-size:12px; color:var(--ink-faint); flex:none; font-family:'JetBrains Mono',monospace; }

.pill-row{ display:flex; gap:8px; flex-wrap:wrap; }
.text-faint{ color:var(--ink-faint); font-size:12.5px; }
.mono{ font-family:'JetBrains Mono',monospace; }

@media(max-width:880px){
  .sidebar{ display:none; }
  .grid-4,.grid-3,.grid-2{ grid-template-columns:1fr; }
}

/* ---------- PRINTABLE DOCUMENTS (invoice / payslip) ---------- */
.doc-overlay{ position:fixed; inset:0; background:rgba(3,5,13,0.8); z-index:200; display:none; align-items:flex-start; justify-content:center; padding:36px 20px; overflow-y:auto; }
.doc-overlay.active{ display:flex; }
.doc-wrap{ width:100%; max-width:720px; }
.doc-actions{ display:flex; justify-content:flex-end; gap:10px; margin-bottom:12px; }
.doc{
  background:#f7f8fc; color:#1a2340; border-radius:8px; padding:46px 50px;
  box-shadow:0 24px 60px rgba(0,0,0,0.5); font-family:'Inter',sans-serif; position:relative;
}
.doc::before{ content:''; position:absolute; top:0; left:0; right:0; height:5px; border-radius:8px 8px 0 0; background:linear-gradient(90deg,#f0a545,#5b8cff); }
.doc-head{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:28px; padding-top:6px; }
.doc-brand{ display:flex; align-items:center; gap:11px; }
.doc-brand-name{ font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; color:#1a2340; }
.doc-brand-sub{ font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:#6b7290; margin-top:2px; }
.doc-title{ font-family:'Space Grotesk',sans-serif; font-size:14px; letter-spacing:0.16em; color:#1a2340; border:1px solid #1a2340; padding:6px 14px; border-radius:4px; height:fit-content; }
.doc-meta-row{ display:flex; justify-content:space-between; gap:20px; margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid #d8dcee; }
.doc-label{ font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:#6b7290; font-family:'JetBrains Mono',monospace; display:block; margin-bottom:3px; }
.doc-strong{ font-size:14px; font-weight:700; color:#1a2340; }
.doc-dim{ font-size:12.5px; color:#5b6084; margin-top:2px; }
.doc-meta-right{ text-align:right; font-size:12.5px; display:grid; gap:5px; }
.doc-meta-right .doc-label{ display:inline; margin-right:5px; }
table.doc-table{ width:100%; border-collapse:collapse; margin-bottom:22px; font-size:13px; }
table.doc-table thead th{ text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:#6b7290; padding:8px 0; border-bottom:2px solid #1a2340; font-family:'JetBrains Mono',monospace; }
table.doc-table tbody td{ padding:10px 0; border-bottom:1px solid #e2e5f2; }
table.doc-table tfoot td{ padding:7px 0; }
table.doc-table tfoot tr.doc-total-row td{ font-weight:700; font-size:15px; border-top:2px solid #1a2340; padding-top:10px; color:#1a2340; }
.doc-notes{ margin-bottom:24px; font-size:12.5px; color:#39406b; }
.doc-notes .doc-label{ margin-bottom:4px; }
.doc-footer{ display:flex; justify-content:space-between; align-items:flex-end; margin-top:34px; padding-top:18px; border-top:1px solid #d8dcee; }
.doc-sign{ font-size:12px; color:#1a2340; font-weight:600; }
.doc-thanks{ font-size:11.5px; font-style:italic; color:#6b7290; }

@media print{
  body *{ visibility:hidden; }
  .doc, .doc *{ visibility:visible; }
  .doc{ position:absolute; top:0; left:0; width:100%; box-shadow:none; border-radius:0; }
  .no-print{ display:none !important; }
}

/* ==========================================================
   REVENUE RIVER (scoped — additive, reuses core tokens)
   ========================================================== */
.rr-chart-wrap{ width:100%; overflow:hidden; }
.rr-chart{ width:100%; height:auto; display:block; }
.rr-legend{ display:flex; gap:18px; flex-wrap:wrap; margin-top:14px; }
.rr-legend .rr-key{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.rr-legend .rr-swatch{ width:22px; height:4px; border-radius:3px; flex:none; }
.rr-swatch.rev{ background:linear-gradient(90deg,var(--signal-deep),var(--signal-bright)); }
.rr-swatch.cost{ background:linear-gradient(90deg,#b8433f,var(--danger)); }
.rr-swatch.prof{ background:linear-gradient(90deg,#2f9c78,var(--ok)); }
.rr-grid-line{ stroke:var(--ring-soft); stroke-width:1; }
.rr-axis-label{ fill:var(--ink-faint); font-size:10px; font-family:'JetBrains Mono',monospace; }
.rr-month-label{ fill:var(--ink-faint); font-size:9.5px; font-family:'JetBrains Mono',monospace; text-anchor:middle; }
.rr-dot{ transition:r .15s; }
.rr-hover-band{ fill:transparent; cursor:crosshair; }
.rr-tip{
  position:absolute; pointer-events:none; z-index:5; background:var(--deck-deep);
  border:1px solid var(--ring); border-radius:8px; padding:9px 11px; font-size:11.5px;
  box-shadow:var(--shadow); opacity:0; transition:opacity .12s; transform:translate(-50%,-108%); white-space:nowrap;
}
.rr-tip .rr-tip-month{ font-family:'JetBrains Mono',monospace; color:var(--beacon); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:5px; }
.rr-tip .rr-tip-row{ display:flex; align-items:center; gap:7px; margin-top:3px; color:var(--ink); }
.rr-tip .rr-tip-row .rr-tip-dot{ width:7px; height:7px; border-radius:50%; flex:none; }
.rr-tip .rr-tip-row .rr-tip-val{ margin-left:auto; font-family:'JetBrains Mono',monospace; padding-left:14px; }
.rr-client-row{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--ring-soft); }
.rr-client-row:last-child{ border-bottom:none; }
.rr-client-rank{ width:22px; height:22px; flex:none; border-radius:6px; background:var(--deck-deep); border:1px solid var(--ring-soft); display:flex; align-items:center; justify-content:center; font-size:11px; font-family:'JetBrains Mono',monospace; color:var(--beacon); }
.rr-client-name{ width:170px; flex:none; font-size:13px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rr-client-track{ flex:1; height:9px; background:var(--deck-deep); border-radius:5px; overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,0.4); }
.rr-client-fill{ height:100%; background:linear-gradient(90deg,var(--signal-deep),var(--signal-bright)); border-radius:5px; }
.rr-client-val{ width:96px; flex:none; text-align:right; font-size:12.5px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.rr-client-pct{ width:44px; flex:none; text-align:right; font-size:11px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
@media(max-width:720px){
  .rr-client-name{ width:100px; }
  .rr-client-val{ width:78px; font-size:11px; }
  .rr-client-pct{ display:none; }
}

/* ==========================================================
   CONTENT CALENDAR (scoped — additive)
   ========================================================== */
.cc-week-wrap{ overflow-x:auto; }
table.cc-week{ width:100%; border-collapse:separate; border-spacing:5px; min-width:760px; }
table.cc-week th{
  font-size:9.5px; text-transform:uppercase; letter-spacing:0.1em; color:var(--beacon);
  font-family:'JetBrains Mono',monospace; padding:6px 8px; text-align:left; font-weight:600;
}
table.cc-week td{
  font-size:11.5px; color:var(--ink-dim); padding:8px 9px; border-radius:7px; vertical-align:middle;
  background:var(--deck-deep); border:1px solid var(--ring-soft); line-height:1.3;
}
table.cc-week td.cc-time{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:10.5px; white-space:nowrap; background:transparent; border-color:transparent; }
table.cc-week td.cc-shoot{ background:rgba(91,140,255,0.10); border-color:rgba(91,140,255,0.25); color:var(--signal-bright); }
table.cc-week td.cc-edit{ background:rgba(231,176,79,0.09); border-color:rgba(231,176,79,0.22); color:var(--warn); }
table.cc-week td.cc-post{ background:rgba(89,211,164,0.09); border-color:rgba(89,211,164,0.22); color:var(--ok); }
table.cc-week td.cc-creative{ background:linear-gradient(160deg,rgba(240,165,69,0.16),rgba(240,165,69,0.05)); border-color:rgba(240,165,69,0.35); color:var(--beacon-bright); font-weight:600; }
table.cc-week td.cc-buffer{ color:var(--ink-faint); font-style:italic; }
.cc-legend{ display:flex; gap:14px; flex-wrap:wrap; margin-top:14px; font-size:11px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.cc-legend .cc-chip{ display:flex; align-items:center; gap:6px; }
.cc-legend .cc-sw{ width:12px; height:12px; border-radius:4px; flex:none; }
.cc-rules{ list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.cc-rules li{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--ink-dim); }
.cc-rules li::before{ content:'⬡'; color:var(--signal-bright); flex:none; margin-top:1px; }
.cc-target-name{ display:flex; flex-direction:column; gap:2px; }
.cc-target-name .cc-loc{ font-size:10.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.cc-top3-day{ font-family:'JetBrains Mono',monospace; color:var(--beacon); font-weight:600; }

/* ---- Content Calendar: creative additions ---- */
.cc-hero{ display:flex; gap:16px; flex-wrap:wrap; align-items:stretch; margin-bottom:16px; }
.cc-hero-focus{ flex:1; min-width:280px; background:linear-gradient(160deg,rgba(91,140,255,0.12),var(--deck)); border:1px solid var(--ring-soft); border-radius:var(--radius); padding:18px 20px; position:relative; overflow:hidden; }
.cc-hero-focus::after{ content:''; position:absolute; right:-40px; top:-40px; width:150px; height:150px; background:radial-gradient(circle,rgba(240,165,69,0.14),transparent 70%); }
.cc-hero-focus .cc-today{ font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--beacon); font-family:'JetBrains Mono',monospace; }
.cc-hero-focus .cc-today-day{ font-family:'Space Grotesk',sans-serif; font-size:23px; font-weight:600; margin:5px 0 12px; }
.cc-focus-line{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--ink-dim); padding:5px 0; }
.cc-focus-line .cc-fdot{ width:7px; height:7px; border-radius:50%; flex:none; }
.cc-ring-card{ width:210px; flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:linear-gradient(165deg,var(--deck-raised),var(--deck)); border:1px solid var(--ring-soft); border-radius:var(--radius); padding:16px; }
.cc-ring-label{ font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.cc-ring-svg text.cc-ring-pct{ fill:var(--ink); font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:600; }
.cc-ring-svg text.cc-ring-sub{ fill:var(--ink-faint); font-size:8.5px; font-family:'JetBrains Mono',monospace; letter-spacing:0.1em; }

.cc-avatar{ width:26px; height:26px; border-radius:7px; flex:none; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; font-family:'JetBrains Mono',monospace; color:#0a0d1c; }
.cc-owner-chip{ display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--ink-dim); }

.cc-board{ display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:14px; }
.cc-person{ background:linear-gradient(165deg,var(--deck-raised),var(--deck)); border:1px solid var(--ring-soft); border-radius:var(--radius); overflow:hidden; }
.cc-person-head{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--ring-soft); }
.cc-person-head .cc-p-name{ font-size:13.5px; font-weight:600; color:var(--ink); }
.cc-person-head .cc-p-role{ font-size:10px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.08em; }
.cc-person-head .cc-p-tally{ margin-left:auto; font-size:10.5px; font-family:'JetBrains Mono',monospace; color:var(--ink-faint); background:var(--deck-deep); border:1px solid var(--ring-soft); padding:2px 8px; border-radius:20px; }
.cc-task{ display:flex; align-items:flex-start; gap:9px; padding:9px 14px; border-bottom:1px solid var(--ring-soft); cursor:pointer; transition:background .12s; }
.cc-task:last-child{ border-bottom:none; }
.cc-task:hover{ background:rgba(91,140,255,0.04); }
.cc-check{ width:16px; height:16px; flex:none; border-radius:5px; border:1.5px solid var(--ring); margin-top:1px; display:flex; align-items:center; justify-content:center; font-size:11px; color:transparent; transition:all .12s; }
.cc-task.done .cc-check{ background:linear-gradient(160deg,var(--ok),#2f9c78); border-color:transparent; color:#08210f; }
.cc-task-body{ flex:1; }
.cc-task-text{ font-size:12.5px; color:var(--ink); line-height:1.35; }
.cc-task.done .cc-task-text{ color:var(--ink-faint); text-decoration:line-through; }
.cc-task-meta{ font-size:10px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; margin-top:3px; display:flex; gap:8px; flex-wrap:wrap; }
.cc-task-meta .cc-cad{ color:var(--signal-bright); }
.cc-addbar{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
.cc-addbar input, .cc-addbar select{ background:var(--deck-deep); border:1px solid var(--ring-soft); color:var(--ink); padding:8px 11px; border-radius:8px; font-size:12.5px; outline:none; font-family:'Inter',sans-serif; }
.cc-addbar input:focus, .cc-addbar select:focus{ border-color:var(--signal); }
.cc-addbar .cc-add-task{ flex:1; min-width:180px; }

.cc-insight{ display:flex; gap:12px; align-items:flex-start; background:linear-gradient(160deg,rgba(240,165,69,0.10),var(--deck)); border:1px solid rgba(240,165,69,0.28); border-radius:var(--radius); padding:14px 16px; margin-bottom:16px; }
.cc-insight .cc-i-glyph{ font-size:18px; flex:none; color:var(--beacon); margin-top:1px; }
.cc-insight .cc-i-body{ font-size:12.5px; color:var(--ink-dim); line-height:1.45; }
.cc-insight .cc-i-body b{ color:var(--ink); }

.cc-roadmap{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:820px){ .cc-roadmap{ grid-template-columns:1fr; } }
.cc-lane{ background:var(--deck-deep); border:1px solid var(--ring-soft); border-radius:var(--radius); padding:14px; }
.cc-lane-head{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.cc-lane-head .cc-lane-dot{ width:9px; height:9px; border-radius:50%; }
.cc-lane-head .cc-lane-title{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-family:'JetBrains Mono',monospace; font-weight:600; }
.cc-plan{ background:linear-gradient(165deg,var(--deck-raised),var(--deck)); border:1px solid var(--ring-soft); border-radius:8px; padding:11px 12px; margin-bottom:9px; }
.cc-plan:last-child{ margin-bottom:0; }
.cc-plan .cc-plan-title{ font-size:12.5px; font-weight:600; color:var(--ink); }
.cc-plan .cc-plan-note{ font-size:11px; color:var(--ink-faint); margin-top:4px; line-height:1.4; }
.cc-plan .cc-plan-tag{ display:inline-block; font-size:9.5px; font-family:'JetBrains Mono',monospace; color:var(--signal-bright); margin-top:7px; letter-spacing:0.05em; }

.cc-analytic-row{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.cc-analytic-row:last-child{ margin-bottom:0; }
.cc-analytic-label{ width:130px; flex:none; font-size:12px; color:var(--ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cc-analytic-track{ flex:1; height:9px; background:var(--deck-deep); border-radius:5px; overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,0.4); }
.cc-analytic-fill{ height:100%; border-radius:5px; }
.cc-analytic-val{ width:96px; flex:none; text-align:right; font-size:11.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }

/* ==========================================================
   DASHBOARD — creative graph hero (scoped, additive)
   ========================================================== */
.dash-hero{ display:grid; grid-template-columns:1.7fr 1fr; gap:16px; margin-bottom:16px; }
@media(max-width:1000px){ .dash-hero{ grid-template-columns:1fr; } }
.dash-panel{
  background:linear-gradient(165deg,var(--deck-raised),var(--deck));
  border:1px solid var(--ring-soft); border-radius:var(--radius); padding:18px 20px; position:relative; overflow:hidden;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.03), inset -3px -3px 10px rgba(0,0,0,0.28);
}
.dash-panel::before{ content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--beacon),var(--signal),transparent); }
.dash-panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dash-panel-head h3{ font-size:13.5px; font-weight:600; margin:0; letter-spacing:0.02em; }
.dash-panel-head .dash-sub{ font-size:10.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; letter-spacing:0.05em; }
.dash-chart{ width:100%; height:auto; display:block; }
.dash-legend{ display:flex; gap:16px; flex-wrap:wrap; margin-top:12px; }
.dash-legend .dl{ display:flex; align-items:center; gap:7px; font-size:11.5px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.dash-legend .dl .sw{ width:18px; height:4px; border-radius:3px; flex:none; }
.dash-legend .dl .sw.dot{ width:9px; height:9px; border-radius:50%; }

.dash-donut-wrap{ display:flex; align-items:center; gap:18px; }
.dash-donut-legend{ flex:1; display:flex; flex-direction:column; gap:8px; min-width:0; }
.dash-donut-legend .ddl{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ink-dim); }
.dash-donut-legend .ddl .dsw{ width:9px; height:9px; border-radius:3px; flex:none; }
.dash-donut-legend .ddl .dname{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dash-donut-legend .ddl .dval{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-faint); flex:none; }
.dash-donut-center{ font-family:'Space Grotesk',sans-serif; }

.dash-gauges{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:16px; }
@media(max-width:820px){ .dash-gauges{ grid-template-columns:1fr; } }
.dash-gauge{ display:flex; align-items:center; gap:16px; }
.dash-gauge .dg-body{ flex:1; }
.dash-gauge .dg-title{ font-size:10.5px; text-transform:uppercase; letter-spacing:0.12em; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.dash-gauge .dg-note{ font-size:12px; color:var(--ink-dim); margin-top:6px; line-height:1.4; }
.dash-gauge svg text.dg-pct{ fill:var(--ink); font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; }

.dash-funnel{ display:flex; flex-direction:column; gap:7px; }
.dash-funnel .df-row{ display:flex; align-items:center; gap:10px; }
.dash-funnel .df-label{ width:96px; flex:none; font-size:11px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.dash-funnel .df-bar-wrap{ flex:1; display:flex; align-items:center; }
.dash-funnel .df-bar{ height:22px; border-radius:5px; display:flex; align-items:center; justify-content:flex-end; padding:0 8px; font-size:11px; font-weight:700; color:#0a0d1c; min-width:26px; font-family:'JetBrains Mono',monospace; transition:width .3s; }

/* ==========================================================
   CLIENT HISTORY (scoped, additive)
   ========================================================== */
.ch-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; margin-bottom:16px; }
.ch-card{ background:linear-gradient(165deg,var(--deck-raised),var(--deck)); border:1px solid var(--ring-soft); border-radius:var(--radius); padding:15px 16px 13px 18px; position:relative; overflow:hidden; box-shadow: inset 1px 1px 0 rgba(255,255,255,0.03), inset -3px -3px 8px rgba(0,0,0,0.26); }
.ch-card::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--chAccent,#5b8cff); }
.ch-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ch-card-name{ font-size:14px; font-weight:600; color:var(--ink); }
.ch-card-svc{ font-size:11px; color:var(--ink-faint); margin-top:2px; line-height:1.3; }
.ch-stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; margin-top:13px; }
.ch-stat .v{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; color:var(--ink); }
.ch-stat .l{ font-size:9px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; margin-top:1px; }
.ch-card-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:10px; border-top:1px solid var(--ring-soft); }
.ch-last{ font-size:10px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.ch-feed-row{ display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--ring-soft); align-items:flex-start; }
.ch-feed-row:last-child{ border-bottom:none; }
.ch-feed-icon{ width:26px; height:26px; flex:none; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:13px; background:var(--deck-deep); border:1px solid var(--ring-soft); }
.ch-feed-body{ flex:1; min-width:0; }
.ch-feed-title{ font-size:13px; font-weight:500; color:var(--ink); }
.ch-feed-meta{ font-size:11px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; margin-top:3px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.ch-feed-right{ flex:none; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.ch-cbadge{ font-size:10px; padding:2px 8px; border-radius:20px; background:rgba(91,140,255,0.12); color:var(--signal-bright); border:1px solid rgba(91,140,255,0.2); white-space:nowrap; }
.ch-who{ display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--ink-dim); }
.ch-who-row{ display:flex; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid var(--ring-soft); }
.ch-who-row:last-child{ border-bottom:none; }
.ch-who-info{ flex:1; min-width:0; }
.ch-who-name{ font-size:13px; font-weight:600; color:var(--ink); }
.ch-who-role{ font-size:10px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.06em; }
.ch-who-stats{ flex:none; text-align:right; font-size:11px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace; }
.ch-credit{ font-size:11px; color:var(--ink-dim); line-height:1.5; }
.ch-credit b{ color:var(--signal-bright); font-weight:600; }

/* ==========================================================
   LIGHT "AURORA" THEME — unique soft gradient, toggleable
   Activated via html[data-theme="light"]; dark stays default.
   ========================================================== */
html[data-theme="light"]{
  --void:#f3f5fc;
  --deck:#ffffff;
  --deck-raised:#ffffff;
  --deck-deep:#eef1fb;
  --ring:#d5dcf0;
  --ring-soft:#e7ebf8;
  --signal:#4f74e8;
  --signal-bright:#3a5cd6;
  --signal-deep:#6d8ff5;
  --beacon:#d97b26;
  --beacon-bright:#f0a13f;
  --ink:#1b2340;
  --ink-dim:#586489;
  --ink-faint:#98a1c4;
  --ok:#1fa87a;
  --warn:#c9891b;
  --danger:#e0524f;
  --info:#2f8bd6;
  --shadow:0 16px 40px rgba(60,80,160,0.16);
}
html[data-theme="light"] body{
  background:
    radial-gradient(1200px 620px at 84% -12%, rgba(109,143,255,0.20), transparent 60%),
    radial-gradient(1000px 560px at -6% 112%, rgba(240,150,110,0.16), transparent 60%),
    radial-gradient(1000px 560px at 52% 118%, rgba(70,214,178,0.13), transparent 62%),
    linear-gradient(180deg,#f7f8fe,#eef1fb);
  background-attachment:fixed;
}
html[data-theme="light"] body::before{
  background-image:
    radial-gradient(rgba(80,100,180,0.05) 1px, transparent 1px),
    radial-gradient(rgba(80,100,180,0.035) 1px, transparent 1px);
  opacity:0.6;
}
html[data-theme="light"] .glow{ text-shadow:0 1px 20px rgba(90,120,240,0.16); }
html[data-theme="light"] .sidebar{
  background:
    radial-gradient(240px 170px at 20% 6%, rgba(109,143,255,0.12), transparent 70%),
    linear-gradient(180deg,#ffffff,#f4f6fd);
  border-right:1px solid var(--ring-soft);
}
html[data-theme="light"] .nav-item:hover{ background:rgba(79,116,232,0.07); }
html[data-theme="light"] .nav-item.active{ background:linear-gradient(90deg,rgba(79,116,232,0.14),transparent); color:var(--signal-bright); }
html[data-theme="light"] .topbar{ background:rgba(255,255,255,0.82); }
html[data-theme="light"] .metric-card,
html[data-theme="light"] .panel,
html[data-theme="light"] .dash-panel,
html[data-theme="light"] .ch-card,
html[data-theme="light"] .cc-person,
html[data-theme="light"] .cc-hero-focus,
html[data-theme="light"] .cc-ring-card,
html[data-theme="light"] .cc-lane,
html[data-theme="light"] .cc-plan,
html[data-theme="light"] .kanban-col{
  background:linear-gradient(165deg,#ffffff,#f6f8ff);
  box-shadow:0 6px 18px rgba(60,80,160,0.07), inset 0 1px 0 rgba(255,255,255,0.7);
}
html[data-theme="light"] .cc-hero-focus{
  background:linear-gradient(160deg,rgba(109,143,255,0.14),#ffffff);
}
html[data-theme="light"] .cc-insight{ background:linear-gradient(160deg,rgba(240,161,63,0.14),#ffffff); }
html[data-theme="light"] .dash-hero .dash-panel::before,
html[data-theme="light"] .metric-card::before{ opacity:0.9; }
html[data-theme="light"] .modal, html[data-theme="light"] .palette, html[data-theme="light"] .quick-add-menu{
  background:#ffffff; box-shadow:0 24px 60px rgba(40,55,120,0.22);
}
html[data-theme="light"] .modal-overlay, html[data-theme="light"] .palette-overlay{ background:rgba(40,52,96,0.34); }
html[data-theme="light"] .btn{ background:#ffffff; }
html[data-theme="light"] .btn:hover{ background:#f4f6fd; border-color:var(--signal); }
html[data-theme="light"] .badge-neutral{ background:rgba(88,100,137,0.12); color:var(--ink-dim); }
html[data-theme="light"] table.data tr:hover td{ background:rgba(79,116,232,0.05); }
html[data-theme="light"] .theme-toggle .ic-sun{ display:inline; }
html[data-theme="light"] .theme-toggle .ic-moon{ display:none; }
.theme-toggle .ic-sun{ display:none; }
.theme-toggle .ic-moon{ display:inline; }
/* user chip (added for multi-user backend) */
.user-chip{
  display:inline-flex; align-items:center; padding:6px 12px; border-radius:20px;
  background:var(--deck-deep); border:1px solid var(--ring-soft);
  font-size:12px; color:var(--ink-dim); font-family:'JetBrains Mono',monospace;
  max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
