:root{
  /* Gold & black theme: true-black/charcoal surfaces, warm gold-tinted borders,
     white text in graded shades, gold accents. */
  --bg:#0a0a0a; --panel:#121110; --panel2:#1b1916; --panel3:#252118; --line:#36301f;
  --ink:#ffffff; --ink2:#cdc4b0; --ink3:#8f8771;
  --accent:#d4af37; --accent2:#e8c95a;
  --s-grey:#a59c86; --s-blue:#5b8fd6; --s-amber:#d49b3a; --s-green:#4fae7f;
  --s-purple:#9b7fd4; --s-closed:#5a5446; --s-red:#e0625c;
  --over:#e0625c; --soon:#d49b3a; --radius:10px;
  /* facilities list (and similar) translucent-gold states + soft tokens */
  --hover:rgba(212,175,55,.10); --sel:rgba(212,175,55,.20);
  --line-soft:#2a2519; --muted:var(--ink3); --chip:#252118;

  /* ---- cc-notify / cc-confirm / cc-prompt theming ----
     The notification module reads these tokens (with literal fallbacks) to
     paint its toasts and dialogs. Mapping them to the Custodian palette makes
     the popups follow the app's dark gold/charcoal design rather than the
     module's default cream/navy look. */
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --white:#ffffff;                 /* on dark surfaces this is the readable "ink" */
  --navy:#1b1916;                  /* info toast / confirm background  → --panel2 */
  --gold:#d4af37;                  /* accent bar / primary button      → --accent */
  --amber:#a9601a;                 /* warning background (darkened for contrast)  */
  --red:#b14641;                   /* error background (darkened for contrast)    */
  /* light-theme tokens used by ccPrompt's input dialog */
  --gold-dark:#9a7d28;
  --slate:#cdc4b0;
  --slate-light:#252118;
  --border:#36301f;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14px;line-height:1.45;}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;margin:0;}
.cs-root{display:flex;min-height:100vh;}
.cs-side{width:230px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh;}
.cs-brand{display:flex;gap:11px;align-items:center;padding:4px 8px 22px;}
.cs-brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#8a6d28);display:grid;place-items:center;color:#161616;font-weight:800;}
.cs-brand-name{font-weight:700;letter-spacing:-.02em;font-size:16px;}
.cs-brand-sub{font-size:11px;color:var(--ink3);letter-spacing:.02em;}
.cs-nav{display:flex;flex-direction:column;gap:3px;}
.cs-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border:none;background:none;color:var(--ink2);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;text-align:left;transition:.12s;font-family:inherit;}
.cs-nav-item:hover{background:var(--panel2);color:var(--ink);}
.cs-nav-item.active{background:var(--panel2);color:var(--ink);}
.cs-nav-item.active span{color:var(--accent2);}
.cs-side-foot{margin-top:auto;padding-top:16px;}
.cs-alert-pill{display:inline-flex;gap:6px;align-items:center;background:rgba(224,98,92,.13);color:var(--over);padding:6px 11px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:12px;}
.cs-foot-note{font-size:10.5px;color:var(--ink3);line-height:1.5;}
.cs-main{flex:1;min-width:0;}
.cs-page{max-width:1140px;margin:0 auto;padding:30px 36px 80px;}
.cs-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;}
.cs-head h1{font-size:25px;}
.cs-sub{color:var(--ink3);font-size:13px;margin-top:3px;}
.cs-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
.cs-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;}
.cs-card.warn{border-color:rgba(212,155,58,.4);}
.cs-card-top{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:12.5px;font-weight:500;}
.cs-card-val{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:8px;font-variant-numeric:tabular-nums;}
.cs-grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;}
.cs-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.cs-panel-h{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-bottom:14px;font-weight:600;}
.cs-deadlines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.cs-dl{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:8px;cursor:pointer;border-left:3px solid var(--ink3);transition:.12s;}
.cs-dl:hover{background:var(--panel2);}
.cs-dl.over{border-left-color:var(--over);} .cs-dl.soon{border-left-color:var(--soon);} .cs-dl.ok{border-left-color:var(--s-green);}
.cs-dl-kind{font-weight:600;font-size:13.5px;display:block;}
.cs-dl-meta{font-size:11.5px;color:var(--ink3);}
.cs-dl-right{text-align:right;}
.cs-dl-date{display:block;font-size:12.5px;color:var(--ink2);}
.cs-dl-days{font-size:11px;font-weight:600;color:var(--ink3);}
.cs-dl.over .cs-dl-days{color:var(--over);} .cs-dl.soon .cs-dl-days{color:var(--soon);}
.cs-card-btn{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .12s,background .12s;}
.cs-card-btn:hover{background:var(--panel2);}
.cs-card-btn.sel{border-color:var(--accent);background:var(--panel2);}
.cs-wl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.cs-wl-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--ink3);border-radius:9px;cursor:pointer;transition:.12s;}
.cs-wl-item:hover{background:var(--panel2);}
.cs-wl-item.over{border-left-color:var(--over);} .cs-wl-item.today{border-left-color:var(--over);} .cs-wl-item.soon{border-left-color:var(--soon);} .cs-wl-item.ok{border-left-color:var(--s-green);}
.cs-wl-main{min-width:0;flex:1;}
.cs-wl-kind{font-weight:600;font-size:14px;}
.cs-wl-ctx{font-weight:400;color:var(--ink2);}
.cs-wl-basis{font-size:11.5px;color:var(--ink3);margin-top:3px;line-height:1.45;}
.cs-wl-action{font-size:12px;color:var(--ink2);margin-top:4px;}
.cs-wl-right{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap;}
.cs-wl-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:20px;background:var(--panel2);color:var(--ink3);}
.cs-wl-badge.over,.cs-wl-badge.today{background:rgba(224,98,92,.16);color:var(--over);} .cs-wl-badge.soon{background:rgba(212,155,58,.16);color:var(--soon);} .cs-wl-badge.ok{background:rgba(79,174,127,.15);color:var(--s-green);}
.cs-wl-date{font-size:12.5px;color:var(--ink2);}
.cs-wl-days{font-size:11px;font-weight:600;color:var(--ink3);}
.cs-wl-item.over .cs-wl-days,.cs-wl-item.today .cs-wl-days{color:var(--over);} .cs-wl-item.soon .cs-wl-days{color:var(--soon);}
.cs-wl-order{font-size:11px;color:var(--ink3);}
.cs-reclist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.cs-rec{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px solid var(--line);cursor:pointer;transition:.12s;}
.cs-rec:last-child{border-bottom:none;} .cs-rec:hover{background:var(--panel2);}
.cs-rec-name{font-weight:600;font-size:14px;} .cs-rec-meta{font-size:12px;color:var(--ink3);margin-top:1px;}
.cs-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer;transition:.12s;font-family:inherit;}
.cs-btn:hover{border-color:var(--ink3);}
.cs-btn.primary{background:var(--accent);color:#1a1a1a;border-color:var(--accent);}
.cs-btn.primary:hover{background:var(--accent2);} .cs-btn.primary:disabled{opacity:.4;cursor:not-allowed;}
.cs-btn.sm{padding:7px 12px;font-size:12.5px;} .cs-btn.ghost{background:none;}
.cs-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.cs-search{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 13px;flex:1;min-width:260px;}
.cs-search input{background:none;border:none;outline:none;color:var(--ink);font-size:13.5px;width:100%;font-family:inherit;}
.cs-filters{display:flex;gap:6px;flex-wrap:wrap;}
.cs-chip{padding:7px 13px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--ink2);font-size:12.5px;font-weight:500;cursor:pointer;transition:.12s;font-family:inherit;}
.cs-chip:hover{color:var(--ink);} .cs-chip.on{background:var(--accent);color:#161616;border-color:var(--accent);}
.cs-table{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.cs-tr{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .8fr .7fr .9fr;gap:14px;align-items:center;padding:13px 18px;}
.cs-table-orders .cs-tr{grid-template-columns:1.5fr .9fr .9fr 1.2fr .9fr .55fr .8fr .9fr;}
.cs-type-tag{display:inline-block;font-size:10.5px;font-weight:600;color:var(--accent2);background:var(--panel3);border:1px solid var(--line);padding:2px 8px;border-radius:20px;white-space:nowrap;}
.cs-tr.inv{grid-template-columns:1fr 1.1fr 1.1fr .9fr .8fr .8fr;}
.cs-th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);font-weight:600;border-bottom:1px solid var(--line);}
.cs-row{border-bottom:1px solid var(--line);cursor:pointer;transition:.12s;font-size:13.5px;}
.cs-row:last-child{border-bottom:none;} .cs-row:hover{background:var(--panel2);}
.cs-cell-main{font-weight:600;display:flex;flex-direction:column;}
.cs-cell-main em{font-style:normal;font-size:11.5px;color:var(--ink3);font-weight:400;margin-top:1px;}
.cs-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);}
.cs-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--ink2);font-size:13px;cursor:pointer;margin-bottom:16px;padding:0;font-family:inherit;font-weight:500;}
.cs-back:hover{color:var(--ink);}
.cs-case-head{margin-bottom:16px;}
.cs-case-top{display:flex;align-items:center;gap:13px;flex-wrap:wrap;}
.cs-case-top h1{font-size:23px;}
.cs-ordno{font-family:Consolas,monospace;font-size:13px;color:var(--accent2);background:var(--panel2);padding:3px 9px;border-radius:6px;}
.cs-law-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent2);background:var(--panel3);border:1px solid var(--line);padding:3px 9px;border-radius:20px;cursor:default;}
.cs-law-tag svg{width:13px;height:13px;}
.cs-law-basis{margin:-4px 0 18px;color:var(--ink2);font-size:12.5px;}
.cs-law-legal{color:var(--ink3);}
.cs-demo-badge{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);background:var(--panel3);border:1px solid var(--line);padding:1px 6px;border-radius:20px;margin-left:7px;vertical-align:middle;}
.cs-demo-list{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.cs-demo-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line-soft);}
.cs-demo-item:last-child{border-bottom:none;}
.cs-demo-item-name{font-weight:600;color:var(--ink);}
.cs-demo-item-meta{font-size:12px;color:var(--ink3);font-family:Consolas,monospace;}
.cs-case-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px;color:var(--ink2);font-size:13px;}
.cs-case-meta span{display:inline-flex;align-items:center;gap:6px;}
.cs-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap;}
.cs-tabs button{background:none;border:none;padding:10px 4px;margin-right:16px;color:var(--ink3);font-size:13.5px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit;}
.cs-tabs button:hover{color:var(--ink2);} .cs-tabs button.on{color:var(--ink);border-bottom-color:var(--accent);}
.cs-tabs .badge{display:inline-block;margin-left:5px;font-size:10.5px;color:var(--ink3);font-weight:600;}
/* info group panels */
.cs-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cs-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;}
.cs-group.full{grid-column:1 / -1;}
.cs-group-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:7px;}
.cs-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;}
.cs-kv dt{color:var(--ink3);white-space:nowrap;}
.cs-kv dd{margin:0;color:var(--ink);font-weight:500;}
.cs-billnote{margin-top:12px;padding:11px 13px;background:rgba(212,155,58,.1);border:1px solid rgba(212,155,58,.3);border-radius:8px;font-size:12px;color:var(--accent2);line-height:1.5;}
.cs-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.cs-row-head h3{font-size:16px;}
/* party cards */
.cs-party{display:flex;justify-content:space-between;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:13px 16px;margin-bottom:10px;}
.cs-party-name{font-weight:600;font-size:14.5px;}
.cs-party-role{font-size:11px;color:var(--accent2);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-bottom:3px;}
.cs-party-meta{font-size:12.5px;color:var(--ink3);margin-top:3px;}
/* location/request card (reused) */
.cs-req{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;}
.cs-req-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;cursor:pointer;}
.cs-req-head:hover{background:var(--panel2);}
.cs-req-id{display:flex;align-items:center;gap:11px;}
.cs-chev{color:var(--ink3);transition:.15s;flex-shrink:0;display:inline-block;}
.cs-chev.open{transform:rotate(90deg);}
.cs-req-cust{font-weight:600;font-size:14.5px;} .cs-req-type{font-size:12px;color:var(--ink3);margin-top:1px;}
.cs-resp{padding:5px 11px;border-radius:6px;font-size:12px;font-weight:600;}
.cs-resp.prod{background:rgba(79,174,127,.16);color:var(--s-green);}
.cs-resp.norec{background:rgba(124,134,150,.18);color:var(--ink2);}
.cs-due{padding:5px 11px;border-radius:6px;font-size:12px;font-weight:600;background:var(--panel2);color:var(--ink2);}
.cs-due.over{background:rgba(224,98,92,.16);color:var(--over);} .cs-due.soon{background:rgba(212,155,58,.16);color:var(--soon);} .cs-due.draft{color:var(--ink3);}
.cs-req-body{padding:6px 18px 20px;border-top:1px solid var(--line);}
.cs-notice-track{display:flex;flex-direction:column;padding:14px 0 4px;}
.cs-step{display:flex;gap:14px;position:relative;padding-bottom:18px;}
.cs-step:last-child{padding-bottom:4px;}
.cs-step-dot{width:28px;height:28px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;z-index:1;color:var(--ink3);font-size:12px;font-weight:700;}
.cs-step.done .cs-step-dot{background:rgba(79,174,127,.18);border-color:transparent;color:var(--s-green);}
.cs-step.next .cs-step-dot{border-color:var(--accent);color:var(--accent2);}
.cs-step-line{position:absolute;left:13.5px;top:28px;bottom:0;width:1px;background:var(--line);}
.cs-step.done .cs-step-line{background:rgba(79,174,127,.4);}
.cs-step-body{flex:1;padding-top:2px;}
.cs-step-label{font-weight:600;font-size:13.5px;} .cs-step-legal{font-size:11.5px;color:var(--ink3);margin-top:1px;}
.cs-step-date{font-size:12px;color:var(--s-green);font-weight:600;margin-top:4px;}
.cs-step-pending{font-size:11.5px;color:var(--ink3);margin-top:4px;font-style:italic;}
.cs-step-btn{margin-top:6px;padding:5px 12px;border-radius:6px;border:1px solid var(--accent);background:none;color:var(--accent2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.cs-step-btn:hover{background:var(--accent);color:#1a1a1a;}
.cs-log{background:var(--panel2);border-radius:8px;padding:14px 16px;margin-top:8px;}
.cs-loc-msg{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-top:12px;display:flex;flex-direction:column;gap:9px;}
.cs-loc-msg-h{font-size:12px;font-weight:600;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em;}
.cs-loc-msg-subj,.cs-loc-msg-body{width:100%;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--ink);font-size:13px;font-family:inherit;}
.cs-loc-msg-body{resize:vertical;min-height:60px;}
.cs-loc-msg-foot{display:flex;gap:8px;}
.cs-log-h{font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em;}
.cs-log-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.cs-log-row input{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--ink);font-size:13px;width:150px;font-family:inherit;}
/* activity log */
.cs-activity{list-style:none;margin:0;padding:0;}
.cs-act{display:flex;gap:13px;padding:11px 4px;border-bottom:1px solid var(--line);}
.cs-act:last-child{border-bottom:none;}
.cs-act-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--ink3);}
.cs-act-dot.status{background:var(--s-blue);} .cs-act-dot.records{background:var(--s-green);}
.cs-act-dot.invoice{background:var(--s-purple);} .cs-act-dot.payment{background:var(--accent);}
.cs-act-dot.serve{background:var(--s-amber);} .cs-act-dot.system{background:var(--ink3);}
.cs-act-body{flex:1;}
.cs-act-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.cs-act-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);font-weight:600;}
.cs-act-time{font-size:11px;color:var(--ink3);white-space:nowrap;}
.cs-act-text{font-size:13.5px;margin-top:2px;}
.cs-act-author{font-size:11.5px;color:var(--ink3);}
/* files */
.cs-file{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:12px 15px;margin-bottom:9px;}
.cs-file-cat{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--accent2);background:var(--panel2);padding:2px 8px;border-radius:5px;margin-bottom:5px;}
.cs-file-name{font-weight:600;font-size:13.5px;}
.cs-file-meta{font-size:11.5px;color:var(--ink3);margin-top:2px;}
/* billing */
.cs-preview{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.cs-preview-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);font-weight:600;margin-bottom:14px;display:flex;justify-content:space-between;align-items:baseline;}
.cs-preview-h span{text-transform:none;letter-spacing:0;color:var(--ink3);font-weight:400;font-size:11.5px;}
.cs-preview-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.cs-preview-row span:first-child{display:flex;flex-direction:column;}
.cs-preview-row em{font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:2px;}
.cs-preview-row span:last-child{font-variant-numeric:tabular-nums;font-weight:600;}
.cs-preview-total{display:flex;justify-content:space-between;padding-top:14px;margin-top:4px;font-weight:700;font-size:15px;}
.cs-preview-total span:last-child{color:var(--accent2);font-variant-numeric:tabular-nums;}
.cs-preview-note{font-size:12px;color:var(--ink3);margin:12px 0 0;}
.cs-invoice{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px;}
.cs-inv-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;}
.cs-inv-no{font-weight:700;font-size:15px;} .cs-inv-meta{font-size:12px;color:var(--ink3);margin-top:2px;}
.cs-inv-actions{display:flex;gap:8px;align-items:center;}
.cs-paid-toggle{padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--ink2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;gap:5px;align-items:center;}
.cs-paid-toggle.paid{background:rgba(79,174,127,.16);color:var(--s-green);border-color:transparent;}
.cs-icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;border:1px solid var(--line);background:var(--panel2);color:var(--ink2);cursor:pointer;}
.cs-icon-btn:hover{color:var(--ink);}
.cs-inv-table{width:100%;border-collapse:collapse;font-size:13px;}
.cs-inv-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);}
.cs-inv-table td{padding:10px;border-bottom:1px solid var(--line);}
.cs-inv-table th:last-child,.cs-inv-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;}
.cs-inv-table tfoot td{font-weight:700;border-bottom:none;color:var(--accent2);}
/* modal */
.cs-overlay{position:fixed;inset:0;background:rgba(8,9,12,.7);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:70;padding:20px;}
.cs-modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:640px;max-height:92vh;overflow:auto;}
.cs-modal.wide{max-width:820px;}
.cs-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2;}
.cs-modal-head h2{font-size:17px;}
.cs-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:20px 24px;}
.cs-form-section{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);font-weight:700;margin-top:8px;padding-top:12px;border-top:1px solid var(--line);}
.cs-form-section:first-child{margin-top:0;padding-top:0;border-top:none;}
.cs-field{display:flex;flex-direction:column;gap:5px;}
.cs-field.full{grid-column:1 / -1;}
.cs-field span{font-size:11.5px;font-weight:600;color:var(--ink2);}
.cs-field em{color:var(--over);font-style:normal;margin-left:2px;}
.cs-field input,.cs-field select,.cs-field textarea{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--ink);font-size:13.5px;font-family:inherit;outline:none;}
.cs-field textarea{resize:vertical;min-height:60px;}
.cs-field input:focus,.cs-field select:focus,.cs-field textarea:focus{border-color:var(--accent);}
/* Required fields: red label always; red-tinted input ONLY while empty
   (an input/textarea showing its placeholder is empty). Once filled, the
   red input highlight clears, leaving just the red label + asterisk. */
.cs-field.req span{color:var(--over);}
.cs-field.req:has(input:placeholder-shown) input,
.cs-field.req:has(textarea:placeholder-shown) textarea{border-color:color-mix(in srgb,var(--over) 55%,var(--line));background:color-mix(in srgb,var(--over) 7%,var(--panel2));}
.cs-field.req input:focus,.cs-field.req select:focus,.cs-field.req textarea:focus{border-color:var(--over);box-shadow:0 0 0 2px color-mix(in srgb,var(--over) 22%,transparent);}
.cs-check{display:flex;align-items:center;gap:8px;}
.cs-check input{width:auto;}
.cs-modal-note{font-size:12px;color:var(--ink3);padding:0 24px;margin:0;}
.cs-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;position:sticky;bottom:0;background:var(--panel);}
.cs-empty{padding:30px 20px;text-align:center;color:var(--ink3);font-size:13.5px;}
.cs-loading{padding:60px;text-align:center;color:var(--ink3);}

/* dashboard cards now flex to 6 */
.cs-cards{grid-template-columns:repeat(6,1fr);}
/* invoice list (global billing) */
.cs-tr.invc{grid-template-columns:1fr 1.1fr 1.1fr .8fr .8fr .9fr .7fr;}
.cs-inv-quick{display:flex;justify-content:flex-end;}
/* small header note */
.cs-h-note{font-size:11px;font-weight:500;color:var(--ink3);margin-left:8px;letter-spacing:.02em;}
/* objections */
.cs-objection{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:var(--panel2);}
.cs-obj-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.cs-obj-type{font-weight:600;font-size:14px;}
.cs-obj-cust{font-size:12.5px;color:var(--ink2);margin-top:2px;}
.cs-obj-meta{font-size:12px;color:var(--ink3);margin-top:8px;}
.cs-obj-note{font-size:12.5px;color:var(--ink2);margin-top:6px;font-style:italic;}
.cs-obj-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
/* payments & EOR sublists in BillingTab */
.cs-pay-list,.cs-eor-list{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px;}
.cs-pay-row,.cs-eor-row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--ink2);}
.cs-eor-row{flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--line);}
.cs-eor-row:last-child{border-bottom:none;}
.cs-sbr{font-size:11.5px;color:var(--ink3);}
.cs-inv-foot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.cs-btn.sm{padding:6px 12px;font-size:12px;}
.cs-btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink2);}
/* tasks */
.cs-task{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--panel2);}
.cs-task.done{opacity:.62;}
.cs-task.done .cs-task-title{text-decoration:line-through;}
.cs-task-check{flex:none;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--s-green);margin-top:1px;}
.cs-task-check.on{background:rgba(79,174,127,.16);border-color:transparent;}
.cs-task-body{flex:1;}
.cs-task-title{font-weight:600;font-size:14px;}
.cs-task-meta{font-size:12px;color:var(--ink3);margin-top:3px;}
/* A/R aging */
.cs-aging{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.cs-aging-cell{padding:4px 2px;}
.cs-aging-label{font-size:12px;color:var(--ink3);}
.cs-aging-val{font-size:18px;font-weight:700;margin:4px 0 8px;}
.cs-aging-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;}
.cs-aging-bar div{height:100%;background:var(--accent);border-radius:3px;}
.cs-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;}
.cs-login{width:100%;max-width:392px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:34px 32px;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.cs-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:26px;}
.cs-login-mark{width:42px;height:42px;border-radius:11px;background:var(--accent);color:#1a1a1a;display:flex;align-items:center;justify-content:center;}
.cs-login-brand h1{font-size:21px;margin:0;}
.cs-login-brand p{font-size:12.5px;color:var(--ink3);margin:2px 0 0;}
.cs-login-form{display:flex;flex-direction:column;gap:7px;}
.cs-login-form label{font-size:12px;color:var(--ink2);font-weight:600;margin-top:8px;}
.cs-login-form input{padding:11px 13px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-size:14px;}
.cs-login-form input:focus{outline:none;border-color:var(--accent);}
.cs-login-btn{margin-top:16px;justify-content:center;padding:12px;}
.cs-login-link{margin-top:10px;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px;justify-content:center;padding:6px;}
.cs-login-link:disabled{opacity:.5;cursor:default;}
.cs-login-msg{margin-top:12px;padding:9px 12px;border-radius:8px;font-size:12.5px;}
.cs-login-msg.err{background:rgba(224,98,92,.14);color:var(--s-red);}
.cs-login-msg.ok{background:rgba(79,174,127,.14);color:var(--s-green);}
.cs-login-foot{font-size:11.5px;color:var(--ink3);margin-top:22px;line-height:1.5;}
.cs-user-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.cs-user-id{display:flex;align-items:center;gap:9px;margin-bottom:9px;}
.cs-user-id-btn{width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:6px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;}
.cs-user-id-btn:hover{background:var(--panel2);border-color:var(--line);}
.cs-user-avatar{width:30px;height:30px;border-radius:50%;background:var(--panel2);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex:none;}
.cs-user-name{font-size:12.5px;font-weight:600;color:var(--accent);overflow:hidden;text-overflow:ellipsis;max-width:130px;white-space:nowrap;}
.cs-user-role{font-size:11px;color:var(--ink3);text-transform:capitalize;}
.cs-logout{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px solid var(--line);color:var(--ink2);border-radius:8px;padding:8px 10px;font-size:12.5px;cursor:pointer;}
.cs-logout:hover{border-color:var(--s-red);color:var(--s-red);}
.cs-doc-ctx{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.cs-doc-ctx label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink2);font-weight:600;}
.cs-doc-ctx select{padding:8px 11px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);min-width:200px;}
.cs-doc-section{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:18px 0 10px;font-weight:700;}
.cs-doc{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:13px 15px;margin-bottom:10px;background:var(--panel2);}
.cs-doc-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:stretch;}
.cs-doc-actions .cs-btn{justify-content:center;white-space:nowrap;}
.cs-doc.off{opacity:.55;}
.cs-doc-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;}
.cs-doc-due{font-size:10px;background:rgba(212,155,58,.18);color:var(--s-amber);padding:2px 7px;border-radius:5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.cs-doc-desc{font-size:12.5px;color:var(--ink2);margin-top:3px;}
.cs-doc-basis{font-size:11.5px;color:var(--ink3);margin-top:3px;}
.cs-doc .cs-btn{flex:none;white-space:nowrap;}
.cs-tr.users{grid-template-columns:1.6fr 1fr 1fr .8fr .7fr .8fr .9fr;}
.cs-tr.apikeys{grid-template-columns:1.4fr 1.1fr .9fr .7fr .9fr .9fr .5fr;}
.cs-keyreveal{margin-top:14px;border:1px solid var(--accent);background:rgba(200,162,74,.07);border-radius:10px;padding:13px 15px;}
.cs-keyreveal-head{font-size:12.5px;font-weight:600;color:var(--accent2);display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.cs-keyreveal-row{display:flex;align-items:center;gap:10px;}
.cs-keyreveal-code{flex:1;font-family:ui-monospace,monospace;font-size:12.5px;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:9px 11px;color:var(--ink);overflow-x:auto;white-space:nowrap;user-select:all;}
.cs-tr.fac{grid-template-columns:1.6fr 1.7fr 1fr 1fr 1fr .8fr .7fr;}
.cs-tr.cli{grid-template-columns:1.5fr 1.6fr 1fr 1fr .9fr .8fr;}
.cs-tr.tpl{grid-template-columns:1.6fr 1.2fr .6fr .8fr 2fr;}
.cs-tr.events{grid-template-columns:1.6fr 1.8fr .7fr .9fr .8fr;}
.cs-fields-box{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:12px 14px;margin-bottom:14px;}
.cs-fields-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);font-weight:700;margin-bottom:8px;}
.cs-fields-list{display:flex;flex-wrap:wrap;gap:6px;}
.cs-fields-list code{font-size:11px;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:2px 6px;color:var(--ink2);}
.cs-mini-select{padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-size:12px;}
.cs-mini-select:disabled{opacity:.6;}
.cs-mini-input{width:100%;max-width:140px;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-size:12px;}
.cs-mini-input:focus{outline:none;border-color:var(--s-green,#4faE7f);}
.cs-icon-btn.c2c{color:var(--s-green,#4faE7f);border-color:var(--s-green,#4faE7f);}
.cs-icon-btn.c2c:hover{background:var(--s-green,#4faE7f);color:#fff;}
.cs-icon-btn.c2c:disabled{opacity:.4;cursor:not-allowed;color:var(--ink2);border-color:var(--line);background:var(--panel2);}
.cs-pick-menu{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-top:4px;max-height:240px;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.cs-pick-row{padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line);}
.cs-pick-row:last-child{border-bottom:none;}
.cs-pick-row:hover{background:var(--panel2);}
.cs-pick-name{font-size:13px;font-weight:600;}
.cs-pick-meta{font-size:11.5px;color:var(--ink3);margin-top:2px;}
.cs-chk{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink2);font-weight:400;}
.cs-chk input{width:auto;}
@media (max-width:920px){
  .cs-side{width:64px;padding:18px 8px;}
  .cs-brand div,.cs-nav-item span,.cs-side-foot{display:none;}
  .cs-cards{grid-template-columns:repeat(2,1fr);}
  .cs-grid2,.cs-groups{grid-template-columns:1fr;}
  .cs-form{grid-template-columns:1fr;}
  .cs-aging{grid-template-columns:repeat(2,1fr);}
  .cs-tr{grid-template-columns:1.4fr 1fr 1fr;} .cs-tr span:nth-child(n+4){display:none;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ============================================================
   Facility / Location self-service portals
   ============================================================ */
.cs-portal{max-width:880px;margin:0 auto;padding:24px 20px}
.cs-portal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line,#e6e1d6)}
.cs-portal-head h1{margin:0;font-size:22px}
.cs-portal-intro{color:var(--muted,#6b6256);margin:0 0 16px}
.cs-portal-card{margin-bottom:16px}
.cs-portal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.cs-portal-card-head h3{margin:0 0 2px;font-size:16px}
.cs-portal-timeline{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line,#e6e1d6)}
.cs-portal-timeline h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6256)}
.cs-portal-timeline ul,.cs-portal-files{list-style:none;margin:0;padding:0}
.cs-portal-timeline li,.cs-portal-files li{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;border-bottom:1px solid var(--line-soft,#f0ece3)}
.cs-portal-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#e6e1d6)}

/* portal: grouping + production/upload UI */
.cs-portal-group{margin-bottom:28px}
.cs-portal-group-head{font-size:15px;font-weight:700;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--brand,#b8860b)}
.cs-portal-group-head .cs-sub{font-weight:400}
.cs-portal-docs,.cs-portal-production{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line,#e6e1d6)}
.cs-portal-docs h4,.cs-portal-production h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6256)}
.cs-portal-files li{align-items:center}
.cs-portal-uploadrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cs-portal-queue{list-style:none;margin:10px 0 0;padding:0}
.cs-portal-queue li{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;border-bottom:1px solid var(--line-soft,#f0ece3)}
.cs-portal-complete{display:flex;gap:8px;align-items:flex-end;margin-top:12px;flex-wrap:wrap}

/* Facilities (parent groups) two-pane layout */
.cs-facility-split{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
.cs-facility-list{border:1px solid var(--line,#36301f);border-radius:8px;overflow:hidden}
.cs-facility-row{padding:10px 12px;border-bottom:1px solid var(--line-soft,#2a2519);cursor:pointer;border-left:3px solid transparent;transition:background .12s,border-color .12s}
.cs-facility-row:last-child{border-bottom:none}
.cs-facility-row:hover{background:var(--hover,rgba(212,175,55,.10))}
.cs-facility-row.active{background:var(--sel,rgba(212,175,55,.20));border-left-color:var(--accent)}
.cs-facility-row.active .cs-facility-name{color:var(--accent2)}
.cs-facility-name{font-weight:600;font-size:14px;color:var(--ink)}
.cs-facility-meta{font-size:12px;color:var(--muted,#8f8771);margin-top:2px}
.cs-facility-detail{min-height:120px}
@media (max-width:760px){.cs-facility-split{grid-template-columns:1fr}}

/* Client source provenance badge (derived from client_id prefix) */
.cs-src-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:10px;font-size:10px;font-family:var(--font,system-ui,sans-serif);background:var(--chip,#eee7d6);color:var(--muted,#6b6256);vertical-align:middle}

/* Client portal additions */
.cs-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;background:var(--chip,#eee7d6);color:var(--muted,#6b6256)}
.cs-pill.ok{background:rgba(79,174,127,.16);color:var(--s-green)}
.cs-portal-locs{margin:10px 0}
.cs-portal-locrow{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line-soft,#f0ece3);font-size:14px}
.cs-portal-paygate{background:var(--bg,#faf7f0);border:1px solid var(--line,#e6e1d6);border-radius:8px;padding:14px;margin-top:8px}
.cs-portal-files{list-style:none;padding:0;margin:8px 0 0}
.cs-portal-files li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft,#f0ece3)}

/* Dashboard: pending client sign-up banner */
.cs-reg-banner{background:rgba(212,175,55,.07);border:1px solid var(--line);border-radius:10px;margin-bottom:18px;overflow:hidden}
.cs-reg-banner-head{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-size:14px;color:var(--accent2)}
.cs-reg-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.cs-reg-toggle{margin-left:auto;font-weight:600;color:var(--accent)}
.cs-reg-list{border-top:1px solid var(--line);padding:6px 16px 14px}
.cs-reg-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.cs-reg-row:last-of-type{border-bottom:none}
.cs-reg-firm{font-weight:600;font-size:14px}
.cs-reg-email{font-size:12px;color:var(--muted,#6b6256)}
.cs-reg-acts{display:flex;gap:8px}
.cs-reg-all{display:inline-block;margin-top:8px;font-size:13px;color:#b8860b;text-decoration:none}

/* Login: new-client sign-up entry point */
.cs-login-signup{text-align:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft,#2a2f3a);font-size:13px;color:var(--muted,#8a93a6)}
.cs-login-signup a{color:#d6a84a;text-decoration:none;font-weight:600}
.cs-login-signup a:hover{text-decoration:underline}

/* ============================================================
   Communications — sidebar bell, slide-over panel, composer.
   ============================================================ */
.cs-user-row{display:flex;align-items:center;gap:6px;}
.cs-user-row .cs-user-id-btn{flex:1;min-width:0;}

.cs-bell{position:relative;flex:none;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--ink2);display:grid;place-items:center;cursor:pointer;transition:.12s;}
.cs-bell:hover{color:var(--accent2);border-color:var(--accent);}
.cs-bell-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#161616;font-size:10.5px;font-weight:800;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--panel);}

.cs-bell-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:60;}
.cs-bell-panel{position:fixed;top:0;right:0;width:380px;max-width:92vw;height:100vh;background:var(--panel);border-left:1px solid var(--line);z-index:61;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.45);}
.cs-bell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 14px;border-bottom:1px solid var(--line);}
.cs-bell-title{font-size:15px;font-weight:700;color:var(--ink);}
.cs-bell-head-acts{display:flex;align-items:center;gap:6px;}
.cs-bell-list{flex:1;overflow-y:auto;padding:8px;}

.cs-notif{display:flex;gap:8px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-left:3px solid var(--ink3);border-radius:9px;margin-bottom:8px;cursor:pointer;transition:.12s;background:var(--panel2);}
.cs-notif:hover{border-color:var(--ink3);}
.cs-notif.unread{background:rgba(212,175,55,.07);border-left-color:var(--accent);}
.cs-notif.read{opacity:.72;}
.cs-notif.sev-warn{border-left-color:var(--soon);}
.cs-notif.sev-action{border-left-color:var(--over);}
.cs-notif-main{flex:1;min-width:0;}
.cs-notif-title{font-weight:600;font-size:13.5px;color:var(--ink);}
.cs-notif-body{font-size:12.5px;color:var(--ink2);margin-top:3px;line-height:1.45;white-space:pre-wrap;}
.cs-notif-meta{font-size:11px;color:var(--ink3);margin-top:5px;}

/* Composer recipient picker */
.cs-notif-recip{margin-top:6px;border-top:1px solid var(--line);padding-top:12px;}
.cs-notif-self{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);margin:0 0 12px;cursor:pointer;}
.cs-notif-group{margin-bottom:14px;}
.cs-notif-group-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);font-weight:600;margin-bottom:8px;}
.cs-notif-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:140px;overflow-y:auto;}

/* Communications — order link affordances */
.cs-notif-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;border-radius:7px;border:1px solid var(--accent);background:rgba(212,175,55,.10);color:var(--accent2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.12s;}
.cs-notif-link:hover{background:var(--accent);color:#161616;}
.cs-notif-reply{margin-top:8px;display:flex;flex-direction:column;gap:8px;}
.cs-notif-loc{display:inline-flex;align-items:center;gap:6px;margin-top:5px;font-size:12px;color:var(--accent2);font-weight:600;}.cs-notif-reply-text{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg2,#1c1c1c);color:var(--ink);font-family:inherit;font-size:13px;resize:vertical;min-height:54px;}
.cs-notif-reply-foot{display:flex;gap:8px;}
.cs-notif-orderchip{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:rgba(212,175,55,.07);color:var(--ink2);font-size:12.5px;}

/* Location "gathers records" (self-service) indicator */
.cs-self-badge{display:inline-flex;align-items:center;gap:5px;margin-left:9px;padding:2px 9px;border-radius:20px;border:1px solid var(--accent);background:rgba(212,175,55,.13);color:var(--accent2);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;cursor:help;}
.cs-self-badge svg{width:12px;height:12px;}
.cs-req-self{box-shadow:inset 3px 0 0 var(--accent);}
.cs-loc-flash{animation:cs-loc-flash-kf 2s ease-out;}
@keyframes cs-loc-flash-kf{0%{box-shadow:0 0 0 2px var(--accent);background:rgba(212,175,55,.12);}100%{box-shadow:none;background:transparent;}}

/* Portal scoped order view (Case / Parties / Locations) */
.cs-portal-orderdetails{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);}
.cs-portal-od-body{margin-top:12px;}
.cs-portal-od-h{margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent2);}
.cs-portal-od-h:first-child{margin-top:0;}
.cs-portal-od-list{list-style:none;margin:0;padding:0;}
.cs-portal-od-list li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--line-soft);}
.cs-portal-od-list li:last-child{border-bottom:none;}

/* Portal scoped order view — party identifiers (for record matching) */
.cs-portal-party{align-items:flex-start;}
.cs-portal-party-id{font-size:11.5px;color:var(--ink3);margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:.01em;}

/* Overdue deadline — delay sits with the facility/location */
.cs-delay-badge{display:inline-flex;align-items:center;gap:5px;margin-left:9px;padding:2px 9px;border-radius:20px;border:1px solid var(--over);background:rgba(224,98,92,.14);color:var(--over);font-size:10.5px;font-weight:700;text-transform:capitalize;letter-spacing:.02em;vertical-align:middle;cursor:help;white-space:nowrap;}
.cs-delay-badge svg{width:12px;height:12px;}
