*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
button,input,select,textarea{font-family:inherit}
:root{
  /* ── Backgrounds ── */
  --bg:#F5F6F8;
  --surface:#FFFFFF;
  --surface2:#ECEDF1;--sidebar-bg:#ECEDF1;--plate-bg:#ECEDF1;
  /* ── Borders ── */
  --border:#E1E3E8;--border-light:#ECEDF1;
  /* ── Text — cool-neutral, WCAG AA ── */
  --text:#17181C;
  --text2:#44454F;
  --text3:#565E68;
  /* ── Brand ── */
  --accent:#24313A;--accent-light:#E4EEEA;--accent-mid:#344956;
  --gold:#C9A96E;--gold-2:#A8893F;--gold-3:#7A6328;
  /* ── Status ── */
  --success:#1F7A4F;--success-light:#E6F5EE;--success-fg:#1A6642;
  --warn:#B87A10;--warn-light:#FEF3DC;
  --danger:#CF3636;--danger-light:#FDECEA;
  --info:#2B5EAE;--info-light:#E8EEF8;
  /* ── Structural accents ── */
  --comms:#6655A8;--comms-light:#EEE9F8;
  --doc:#4A6FA5;--doc-light:#E8EFF8;
  /* ── Deltas ── */
  --delta-up:#2FAF80;--delta-warn:#D4A017;
  /* ── Soft sentiment ── */
  --green-soft:#D4EDE1;--red-soft:#FCE8E8;
  /* ── Legacy aliases ── */
  --warmgrey:#565E68;--warmgrey-light:#ECEDF1;
  /* ── Radii ── */
  --radius:4px;--radius-lg:8px;--radius-xl:12px;
  /* ── Shadows ── */
  --shadow:0 1px 4px rgba(36,49,58,0.08);
  --shadow-md:0 6px 24px rgba(36,49,58,0.12);
  --shadow-hover:0 2px 12px rgba(36,49,58,0.10)
}
body{font-family:'Jost',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-weight:300}
header{background:var(--accent);color:#fff;padding:0 2rem;height:52px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.logo{display:flex;align-items:center;gap:14px}
.logo-wordmark{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:20px;color:var(--gold);letter-spacing:0.12em}
.logo-sub{font-size:9px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:2px}
header nav{display:flex;gap:2px}
header nav button{background:transparent;border:none;border-bottom:2px solid transparent;color:rgba(232,228,223,0.65);padding:8px 14px;font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:color .15s,border-color .15s}
header nav button:hover{color:rgba(232,228,223,0.85)}
header nav button.active{color:#e8e4df;border-bottom-color:var(--gold)}
.nav-more-divider{display:inline-block;width:1px;height:18px;background:rgba(255,255,255,0.18);margin:0 6px;vertical-align:middle;align-self:center}
.layout{display:flex;flex:1;min-height:calc(100vh - 52px)}
.sidebar{width:220px;min-width:220px;background:var(--sidebar-bg);border-right:1px solid var(--border-light);padding:1.5rem 0;display:flex;flex-direction:column}
.sidebar-section{padding:0 1rem;margin-bottom:1.5rem}
.sidebar-label{font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text3);padding:0 .5rem;margin-bottom:6px}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:300;color:var(--text2);transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:left}
.sidebar-item:hover{background:var(--surface2);color:var(--text)}
.sidebar-item.active{background:rgba(36,49,58,0.06);color:var(--accent);font-weight:500;border-right:2.5px solid var(--accent);border-radius:0}
.sidebar-item .si{width:14px;height:14px;flex-shrink:0;opacity:.6}
.sidebar-item.active .si,.sidebar-item:hover .si{opacity:1}
.sidebar-item .badge{margin-left:auto;background:var(--accent);color:#fff;border-radius:2px;font-size:10px;font-weight:500;padding:1px 6px;min-width:18px;text-align:center}
.sidebar-divider{height:1px;background:var(--border-light);margin:.5rem 1rem 1rem}
.sidebar-btns{margin:0 1rem 1rem;display:flex;flex-direction:column;gap:8px}
.btn-sidebar{width:100%;padding:11px 14px;font-size:10px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}
.main{padding:2rem;overflow-y:auto;flex:1}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}
.page-subtitle{font-size:12px;color:var(--text3);margin-top:3px;font-weight:300}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:2rem}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow)}
.stat-label{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3)}
.stat-value{font-size:30px;font-weight:300;font-family:system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;margin:6px 0 2px;line-height:1}
.stat-sub{font-size:11px;color:var(--text3);font-weight:300}
.stat-card.accent{background:var(--accent);border-color:var(--accent)}
.stat-card.accent .stat-label,.stat-card.accent .stat-sub{color:rgba(255,255,255,0.5)}
.stat-card.accent .stat-value{color:#fff}
.toolbar{display:flex;gap:10px;margin-bottom:1.25rem;align-items:center}
.search-wrap{position:relative;flex:1}
.search-wrap input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s}
.search-wrap input:focus{border-color:var(--accent)}
.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.4}
select.filter-select{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:13px;font-weight:300;color:var(--text2);cursor:pointer;outline:none}
.cases-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:13px}
thead{background:var(--accent)}
thead th{padding:11px 16px;text-align:left;font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.6);white-space:nowrap}
tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:var(--warmgrey-light)}
td{padding:13px 16px;color:var(--text);vertical-align:middle;font-weight:300}
.td-case-num{font-family:'DM Mono',monospace;font-size:11px;color:var(--text3)}
.td-client{font-weight:400}
.td-client small{display:block;font-size:12px;font-weight:300;color:var(--text3)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:2px;font-size:11px;font-weight:400;white-space:nowrap}
.badge-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.badge-active{background:var(--success-light);color:var(--success-fg)}.badge-active .badge-dot{background:var(--success)}
.badge-pending{background:var(--warn-light);color:var(--warn)}.badge-pending .badge-dot{background:var(--warn)}
.badge-closed{background:var(--surface2);color:var(--text3)}.badge-closed .badge-dot{background:var(--text3)}
.badge-urgent{background:var(--danger-light);color:var(--danger)}.badge-urgent .badge-dot{background:var(--danger)}
.priority-pill{display:inline-block;padding:2px 8px;border-radius:2px;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}
.priority-high{background:var(--danger-light);color:var(--danger)}.priority-medium{background:var(--warn-light);color:var(--warn)}.priority-low{background:var(--accent-light);color:var(--accent)}
.empty-state{padding:4rem 2rem;text-align:center}
.empty-title{font-family:'Jost','Inter Tight',sans-serif;font-size:18px;font-weight:300;color:var(--text2);margin-bottom:.5rem}
.empty-sub{font-size:13px;color:var(--text3);margin-bottom:1.5rem;font-weight:300}
.loading{display:flex;align-items:center;gap:10px;padding:2rem;color:var(--text3);font-size:13px;font-weight:300}
.spinner{width:16px;height:16px;border:1.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.error-msg{padding:1rem;background:var(--danger-light);color:var(--danger);border-radius:var(--radius);font-size:13px;font-weight:300}
/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(36,49,58,0.7);z-index:200;align-items:flex-start;justify-content:center;padding:2vh 1rem 2rem;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:860px;animation:slideUp .2s ease;flex-shrink:0;overflow:hidden}
@keyframes slideUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nc-header{background:var(--accent);color:#fff;padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between}
.nc-title{font-family:'Jost','Inter Tight',sans-serif;font-size:20px;font-weight:300;letter-spacing:-0.01em}
.nc-subtitle{font-size:11px;color:rgba(255,255,255,0.5);margin-top:3px;letter-spacing:1px;text-transform:uppercase;font-weight:300}
.nc-close{background:rgba(255,255,255,0.1);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.nc-close:hover{background:rgba(255,255,255,0.2)}
.nc-steps{display:flex;background:var(--surface2);border-bottom:1px solid var(--border)}
.nc-step{flex:1;padding:12px 8px;text-align:center;font-size:11px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.nc-step:hover{color:var(--text2)}.nc-step.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}
.nc-step .sn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--border);color:var(--text3);font-size:10px;font-weight:500;margin-right:6px;transition:background .15s}
.nc-step.active .sn{background:var(--accent);color:#fff}.nc-step.done .sn{background:var(--accent-mid);color:#fff}.nc-step.done{color:var(--accent-mid)}
.nc-body{padding:1.75rem;min-height:360px;max-height:72vh;overflow-y:auto}
.step-panel{display:none}.step-panel.active{display:block}
.form-row{display:grid;gap:14px;margin-bottom:14px}
.cols-1{grid-template-columns:1fr}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:1fr 1fr 1fr}.cols-4{grid-template-columns:1fr 1fr 1fr 1fr}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-label{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3)}
.req{color:var(--danger);margin-left:2px}
.form-input,.form-select,.form-textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s;width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(36,49,58,0.06)}
.form-textarea{resize:vertical;min-height:80px}
.form-hint{font-size:11px;color:var(--text3);margin-top:2px;font-weight:300}
.sec{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--text3);padding:1rem 0 .75rem;margin-top:.25rem;border-top:1px solid var(--border-light)}
.sec.first{border-top:none;padding-top:0;margin-top:0}
/* NATIONALITY & ADDRESS DROPDOWNS */
.nat-wrap,.addr-wrap{position:relative}
.nat-drop,.addr-drop{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:90;box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;display:none}
.nat-drop.show,.addr-drop.show{display:block}
.nat-opt,.addr-opt{padding:8px 12px;cursor:pointer;font-size:13px;font-weight:300;transition:background .1s}
.nat-opt:hover,.addr-opt:hover{background:var(--accent-light)}
.addr-powered{padding:4px 12px;font-size:10px;color:var(--text3);text-align:right;border-top:1px solid var(--border-light)}
/* SERVICES */
.service-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}
.service-item.checked{border-color:var(--accent);background:var(--accent-light)}
.service-header{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;user-select:none}
.service-cb{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.service-label{font-size:13px;font-weight:300;color:var(--text);flex:1}
.service-item.checked .service-label{color:var(--accent);font-weight:400}
.service-hint{font-size:11px;color:var(--text3);font-weight:300}
.service-fee{display:none;padding:0 12px 12px;gap:10px;align-items:center;flex-wrap:wrap}
.service-item.checked .service-fee{display:flex}
.service-fee-input{width:120px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:300;outline:none}
.service-fee-input:focus{border-color:var(--accent)}
.vat-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text3);cursor:pointer}
.vat-toggle input{width:13px;height:13px;accent-color:var(--accent)}
.services-total{background:var(--accent-light);border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;margin-top:8px}
/* CONTACT CARDS */
.contact-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}
.contact-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.role-badge{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--accent);background:var(--accent-light);padding:3px 9px;border-radius:2px}
.btn-remove{background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;padding:0 4px;border-radius:var(--radius);line-height:1;transition:background .12s}
.btn-remove:hover{background:var(--danger-light);color:var(--danger)}
.csw{position:relative;margin-bottom:8px}
.csw input{width:100%;padding:8px 12px 8px 30px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;outline:none;background:var(--surface)}
.csw input:focus{border-color:var(--accent)}
.csw-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text3);pointer-events:none}
.cdrop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:70;box-shadow:var(--shadow-md);max-height:180px;overflow-y:auto;display:none}
.cdrop-item{padding:8px 12px;cursor:pointer;font-size:13px;font-weight:300;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}
.cdrop-item:last-child{border-bottom:none}.cdrop-item:hover{background:var(--accent-light)}
.cdrop-item small{font-size:11px;color:var(--text3)}.cdrop-create{color:var(--accent);font-weight:500}
.cnew{display:none}.cnew.show{display:block}
.cselected{background:var(--accent-light);border-radius:var(--radius);padding:8px 12px;font-size:13px;color:var(--accent);display:none;align-items:center;justify-content:space-between}
.role-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.role-chip{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);cursor:pointer;background:var(--surface);transition:all .12s}
.role-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
/* RADIO */
.radio-group{display:flex;gap:8px}
.radio-btn{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);transition:all .12s}
.radio-btn:hover{border-color:var(--accent);color:var(--accent)}.radio-btn.sel{background:var(--accent);border-color:var(--accent);color:#fff}
/* LEDGER */
.ledger-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:1.25rem}
.lcard{border-radius:var(--radius);padding:12px 14px;text-align:center}
.lcard.in{background:var(--success-light)}.lcard.out{background:var(--danger-light)}.lcard.bal{background:var(--accent-light)}
.lcard .lc-lbl{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1px}
.lcard.in .lc-lbl{color:var(--success-fg)}.lcard.out .lc-lbl{color:var(--danger)}.lcard.bal .lc-lbl{color:var(--accent)}
.lcard .lc-val{font-size:20px;font-weight:300;font-family:system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;margin-top:4px}
.lcard.in .lc-val{color:var(--success-fg)}.lcard.out .lc-val{color:var(--danger)}.lcard.bal .lc-val{color:var(--accent)}
.ltable{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:1rem}
.ltable th{padding:8px 10px;text-align:left;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text3);border-bottom:1px solid var(--border)}
.ltable td{padding:9px 10px;border-bottom:1px solid var(--border-light);vertical-align:middle;font-weight:300}
.ltable tr:last-child td{border-bottom:none}.ltable tr:hover td{background:var(--surface2)}
.ain{color:var(--success-fg);font-weight:500;font-family:'DM Mono',monospace}.aout{color:var(--danger);font-weight:500;font-family:'DM Mono',monospace}.amono{font-family:'DM Mono',monospace;color:var(--text2)}
.add-tx{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:8px}
.add-tx h4{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text3);margin-bottom:12px}
.aml-box{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;margin-top:8px}
.aml-title{font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
/* FOOTER */
.nc-footer{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;border-top:1px solid var(--border);background:var(--surface2);flex-shrink:0}
.nc-footer-hint{font-size:11px;color:var(--text3);font-weight:300}
.nc-footer-btns{display:flex;gap:10px}
.btn{padding:9px 20px;border-radius:var(--radius);font-size:11px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:all .15s;border:1px solid transparent}
.btn-ghost{background:none;border-color:var(--border);color:var(--text2)}.btn-ghost:hover{background:var(--surface2);border-color:var(--accent)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-mid)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-secondary{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light)}.btn-secondary:hover{background:var(--border-light);border-color:var(--border)}
.btn-sm{padding:6px 14px;font-size:10px}
/* DETAIL */
.detail-overlay{display:none;position:fixed;inset:0;z-index:150;pointer-events:none}
.detail-overlay.open{display:block;pointer-events:auto}
.detail-backdrop{position:absolute;inset:0;background:rgba(36,49,58,0.35)}
.detail-panel{position:absolute;right:0;top:0;bottom:0;width:640px;background:var(--surface);border-left:1px solid var(--border);box-shadow:-4px 0 24px rgba(0,0,0,0.12);display:flex;flex-direction:column;overflow:hidden;animation:slideIn .22s ease}
@keyframes slideIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.detail-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}
.detail-tab{flex:1;padding:10px 8px;text-align:center;font-size:11px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.detail-tab:hover{color:var(--text2)}.detail-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}
.detail-tab-panel{display:none;flex:1;overflow-y:auto;flex-direction:column}.detail-tab-panel.active{display:flex}
.dh{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}
.dh-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.d-num{font-family:'DM Mono',monospace;font-size:10px;color:var(--text3);letter-spacing:1px}
.d-client{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;line-height:1.2}
.d-type{font-size:12px;color:var(--text3);margin-top:2px;font-weight:300}
.db{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}
.dl{font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.df{display:flex;flex-direction:column;gap:3px}.df-lbl{font-size:11px;color:var(--text3);font-weight:300}.df-val{font-size:13px;color:var(--text);font-weight:400}
.d-notes-box{background:var(--surface2);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;font-size:13px;color:var(--text2);line-height:1.6;font-weight:300}
.d-contact-item{background:var(--surface2);border-radius:var(--radius);padding:10px 12px;margin-bottom:6px}
.dcr{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}.dcn{font-size:13px;font-weight:400}.dce{font-size:11px;color:var(--text3);font-weight:300}
.mini-ledger{background:var(--surface2);border-radius:var(--radius);overflow:hidden}
.ml-header{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--border-light)}
.ml-cell{padding:10px;text-align:center;border-right:1px solid var(--border-light)}.ml-cell:last-child{border-right:none}
.ml-lbl{font-size:9px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:var(--text3)}
.ml-val{font-size:16px;font-weight:300;margin-top:3px;font-family:system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums}
.ml-in{color:var(--success-fg)}.ml-out{color:var(--danger)}.ml-bal{color:var(--accent)}
.ml-rows{}
.ml-row{padding:8px 12px;border-bottom:1px solid var(--border-light);font-size:12px;font-weight:300}
.ml-row:last-child{border-bottom:none}
.ml-row-top{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.ml-row-detail{font-size:11px;color:var(--text3);padding-left:36px}
.mlr-type{font-size:9px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:2px;letter-spacing:.5px;flex-shrink:0}
.mlr-in{background:var(--success-light);color:var(--success-fg)}.mlr-out{background:var(--danger-light);color:var(--danger)}
.da{display:flex;gap:8px;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}
.da .btn{flex:1;justify-content:center;display:flex;align-items:center;gap:6px;font-size:11px}
.prop-box{background:var(--warmgrey-light);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.prop-name{font-size:14px;font-weight:400}
.prop-meta{display:flex;gap:1.5rem;margin-top:8px;flex-wrap:wrap}
.prop-meta-item .pm-lbl{font-size:9px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:var(--text3)}
.prop-meta-item .pm-val{font-size:13px;font-weight:400}
/* GLOBAL SEARCH */
.gsearch-wrap{position:relative;flex:1;max-width:400px;margin-left:24px}
.gsearch-input{width:100%;padding:7px 12px 7px 34px;border:1px solid rgba(201,169,110,0.2);border-radius:var(--radius);font-size:13px;font-weight:300;background:rgba(255,255,255,0.07);color:#e8e4df;outline:none;transition:all .15s}
.gsearch-input::placeholder{color:rgba(232,228,223,0.4)}
.gsearch-input:focus{background:rgba(255,255,255,0.1);border-color:rgba(201,169,110,0.5)}
.gsearch-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.5}
.gsearch-results{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:300;display:none;max-height:480px;overflow-y:auto}
.gsearch-results.show{display:block}
.gsearch-section{padding:8px 0}
.gsearch-section-label{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text3);padding:4px 14px}
.gsearch-item{padding:8px 14px;cursor:pointer;transition:background .1s;display:flex;align-items:flex-start;gap:10px}
.gsearch-item:hover{background:var(--accent-light)}
.gsearch-item-icon{font-size:14px;opacity:.5;flex-shrink:0;margin-top:1px}
.gsearch-item-main{font-size:13px;font-weight:400;color:var(--text)}
.gsearch-item-sub{font-size:11px;color:var(--text3);font-weight:300;margin-top:1px}
.gsearch-divider{height:1px;background:var(--border-light);margin:4px 0}
.gsearch-empty{padding:1.5rem;text-align:center;font-size:13px;color:var(--text3);font-weight:300}
/* REPORTS */
.rep-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;font-weight:300}
.rep-bar-label{width:140px;flex-shrink:0;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rep-bar-track{flex:1;height:8px;background:var(--border);border-radius:var(--radius);overflow:hidden}
.rep-bar-fill{height:100%;background:var(--accent);border-radius:var(--radius);transition:width .5s ease}
.rep-bar-val{width:50px;text-align:right;color:var(--text3);flex-shrink:0}
.rep-empty{font-size:13px;color:var(--text3);font-weight:300;padding:1rem 0}
.monthly-bar{flex:1;background:var(--accent);border-radius:2px 2px 0 0;min-width:20px;position:relative;cursor:default;transition:opacity .15s}
.monthly-bar:hover{opacity:.8}
.monthly-bar-label{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--text3);white-space:nowrap;font-weight:300}
.monthly-bar-val{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--accent);font-weight:500;white-space:nowrap}
/* WORKFLOW */
.workflow-progress{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface2)}
.wf-progress-bar{height:4px;background:var(--border);border-radius:2px;margin-top:8px;overflow:hidden}
.wf-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}
.wf-progress-label{font-size:11px;color:var(--text3);font-weight:300;display:flex;justify-content:space-between}
.milestone-list{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:10px}
.milestone{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s}
.milestone.active{border-color:var(--accent);box-shadow:0 2px 8px rgba(36,49,58,0.1)}
.milestone.complete{border-color:var(--success);background:var(--success-light)}
.milestone.skipped{opacity:.6}
.milestone-header{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;background:var(--surface)}
.milestone.complete .milestone-header{background:var(--success-light)}
.milestone.active .milestone-header{background:var(--accent-light)}
.milestone-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;background:var(--border);color:var(--text3)}
.milestone.active .milestone-num{background:var(--accent);color:#fff}
.milestone.complete .milestone-num{background:var(--success);color:#fff;font-size:14px}
.milestone-title{flex:1;font-size:13px;font-weight:400;color:var(--text)}
.milestone.complete .milestone-title{color:var(--success-fg)}
.milestone-meta{font-size:11px;color:var(--text3);font-weight:300}
.milestone.active .milestone-meta{color:var(--accent)}
.milestone-body{display:none;padding:0 14px 14px;background:var(--surface)}
.milestone.active .milestone-body,.milestone.open .milestone-body{display:block}
.milestone.complete .milestone-body{display:block;background:var(--success-light)}
.milestone-desc{font-size:12px;color:var(--text2);font-weight:300;line-height:1.6;margin-bottom:12px}
.milestone-recipients{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.recipient-tag{font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:var(--accent-light);color:var(--accent)}
.milestone-notes{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:300;outline:none;resize:none;min-height:60px;margin-bottom:10px}
.milestone-notes:focus{border-color:var(--accent)}
.milestone-actions{display:flex;gap:8px;flex-wrap:wrap}
.milestone-complete-info{font-size:11px;color:var(--success-fg);font-weight:300;margin-top:8px;padding:6px 10px;background:var(--success-light);border-radius:var(--radius)}
/* EMAIL PREVIEW MODAL */
.email-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}
.email-preview-header{background:var(--surface2);padding:12px 16px;border-bottom:1px solid var(--border)}
.email-preview-field{display:flex;gap:10px;font-size:12px;margin-bottom:4px;align-items:flex-start}
.email-preview-field:last-child{margin-bottom:0}
.epf-label{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text3);width:50px;flex-shrink:0;margin-top:1px}
.epf-val{color:var(--text2);font-weight:300;flex:1}
.email-preview-body{padding:16px;font-size:13px;font-weight:300;line-height:1.7;color:var(--text);white-space:pre-wrap;max-height:300px;overflow-y:auto}
.email-preview-body.editable{outline:none;border:1px dashed var(--border);border-radius:var(--radius);padding:12px}
.email-preview-body.editable:focus{border-color:var(--accent)}

/* DOCS */
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border-light);border-radius:var(--radius)}
.doc-icon{font-size:16px;opacity:.5;flex-shrink:0}
.doc-name{font-size:13px;font-weight:300;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-name-wrap{display:flex;flex-direction:column;flex:1;min-width:0;gap:1px}
.doc-name-primary{font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-name-secondary{font-size:10px;color:var(--text3);font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-type-badge{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border-radius:2px;padding:1px 5px;margin-top:2px;align-self:flex-start;white-space:nowrap}
.doc-size{font-size:11px;color:var(--text3);flex-shrink:0}
.doc-type-tag{font-size:10px;font-weight:500;text-transform:uppercase;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:2px;flex-shrink:0;white-space:nowrap}
.doc-actions{display:flex;gap:4px;flex-shrink:0}
.doc-btn{background:none;border:1px solid var(--border);border-radius:2px;padding:3px 8px;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;color:var(--text2);transition:all .12s;text-decoration:none;display:inline-block}
.doc-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}
.doc-btn.del:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}
.upload-zone{border:1px dashed var(--border);border-radius:var(--radius);padding:1.75rem;text-align:center;cursor:pointer;transition:all .15s;margin-bottom:1rem;color:var(--text3)}
.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}
.upload-zone input{display:none}.upload-zone-icon{margin-bottom:.75rem;opacity:.5}
.upload-zone p{font-size:13px;font-weight:300}.upload-zone strong{color:var(--accent);font-weight:500}
/* DOCUMENTS INLINE PANEL */
.dw-doc-strip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:400;color:var(--text3);cursor:default;transition:background .15s,border-color .15s;flex-shrink:0;background:var(--surface2)}
.dw-doc-strip.drag{background:rgba(99,102,241,.06);border-color:var(--accent);color:var(--accent)}
.dw-doc-strip .dw-doc-status{margin-left:auto;font-size:11px;font-weight:300;color:var(--text3);font-style:italic}
.dw-doc-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px;min-height:0}
/* DRAFT */
.draft-panel{display:flex;flex-direction:column;height:100%}
.draft-toolbar{padding:1rem;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-shrink:0;background:var(--surface2)}
.draft-toolbar select{flex:1;min-width:160px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:300;outline:none}
.draft-output{flex:1;overflow-y:auto;padding:1rem;min-height:0}
.draft-msg{display:flex;gap:8px;margin-bottom:12px}
.draft-msg.user{flex-direction:row-reverse}
.draft-bubble{max-width:90%;padding:10px 14px;border-radius:var(--radius);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-weight:300}
.draft-msg.assistant .draft-bubble{background:var(--surface2);color:var(--text)}
.draft-msg.user .draft-bubble{background:var(--accent);color:#fff}
.draft-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;letter-spacing:.5px;flex-shrink:0}
.draft-msg.assistant .draft-avatar{background:var(--accent-light);color:var(--accent)}
.draft-msg.user .draft-avatar{background:var(--accent);color:#fff}
.draft-input-row{padding:1rem;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0}
.draft-input-row textarea{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;outline:none;resize:none;min-height:60px}
.draft-input-row textarea:focus{border-color:var(--accent)}
.draft-actions{padding:.75rem 1rem;border-top:1px solid var(--border-light);display:flex;gap:8px;flex-shrink:0;background:var(--surface2)}
/* COPILOT MODE BAR */
.copilot-mode-bar{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface2)}
.copilot-mode-btn{flex:1;padding:8px 12px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:none;background:none;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.copilot-mode-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.copilot-mode-btn:hover{color:var(--text)}
/* COPILOT DROP ZONE */
.copilot-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--surface)}
.copilot-drop-zone.dragover{border-color:var(--accent);background:var(--accent-light)}
/* COPILOT ANALYSIS OUTPUT */
.copilot-summary{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;font-size:13px;line-height:1.6;font-weight:300}
.copilot-flags{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}
.copilot-flag{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius);font-size:12px;font-weight:300}
.copilot-flag.RED{background:var(--danger-light);border-left:3px solid var(--danger)}
.copilot-flag.AMBER{background:var(--warn-light);border-left:3px solid var(--warn)}
.copilot-flag.GREEN{background:var(--success-light);border-left:3px solid var(--success)}
.copilot-flag-sev{font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;min-width:46px;padding-top:1px}
.copilot-flag.RED .copilot-flag-sev{color:var(--danger)}
.copilot-flag.AMBER .copilot-flag-sev{color:var(--warn)}
.copilot-flag.GREEN .copilot-flag-sev{color:var(--success-fg)}
.copilot-clause-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}
.copilot-clause-hdr{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface2);cursor:pointer;user-select:none}
.copilot-clause-title{flex:1;font-size:12px;font-weight:500}
.copilot-dev-badge{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius)}
.copilot-dev-badge.NONE{background:var(--success-light);color:var(--success-fg)}
.copilot-dev-badge.MINOR{background:var(--warn-light);color:var(--warn)}
.copilot-dev-badge.SIGNIFICANT{background:var(--danger-light);color:var(--danger)}
.copilot-dev-badge.MISSING{background:var(--comms-light);color:var(--comms)}
.copilot-risk-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.copilot-risk-dot.RED{background:var(--danger)}
.copilot-risk-dot.AMBER{background:var(--warn)}
.copilot-risk-dot.GREEN{background:var(--success)}
.copilot-clause-body{padding:10px 12px;font-size:12px;line-height:1.6;font-weight:300;display:none}
.copilot-clause-body.open{display:block}
.copilot-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.copilot-compare-col{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:8px 10px;font-size:11px;line-height:1.5}
.copilot-compare-lbl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
.copilot-feedback-btns{display:flex;gap:6px;margin-top:8px}
.copilot-fb-btn{padding:4px 12px;font-size:11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:400;transition:background .15s}
.copilot-fb-btn:hover{background:var(--surface2)}
.copilot-fb-btn.accept{border-color:var(--success);color:var(--success-fg)}
.copilot-fb-btn.reject{border-color:var(--danger);color:var(--danger)}
.copilot-fb-btn.edit{border-color:var(--warn);color:var(--warn)}
.copilot-fb-btn.done{opacity:.5;cursor:default}
.copilot-section-lbl{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin:.75rem 0 .4rem}
.copilot-missing-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.75rem}
.copilot-missing-chip{background:var(--comms-light);color:var(--comms);border-radius:var(--radius);padding:3px 8px;font-size:11px;font-weight:400}
/* PRECEDENT CARDS */
.prec-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:12px}
.prec-card-hdr{display:flex;align-items:center;gap:6px;margin-bottom:4px;cursor:pointer}
.prec-title{font-weight:500;flex:1;font-size:12px}
.prec-firm-badge{font-size:9px;font-weight:700;letter-spacing:.08em;background:var(--accent);color:#fff;border-radius:2px;padding:1px 5px;text-transform:uppercase}
.prec-meta{font-size:10px;color:var(--text3);margin-bottom:6px}
.prec-body{font-weight:300;line-height:1.5;color:var(--text2);display:none;margin-top:6px;white-space:pre-wrap}
.prec-body.open{display:block}
.prec-actions{display:flex;gap:6px;margin-top:8px}
/* TEMPLATES */
.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:1rem}
.tmpl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.tmpl-name{font-size:13px;font-weight:400;color:var(--text);line-height:1.3;word-break:break-word}
.tmpl-meta{font-size:11px;color:var(--text3);font-weight:300}.tmpl-actions{display:flex;gap:6px;margin-top:auto}
/* AI */
.ai-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}
.ai-panel-header{background:var(--accent);color:#fff;padding:14px 18px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase}
.ai-messages{padding:1rem;min-height:200px;max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.ai-msg{display:flex;gap:8px}.ai-msg.user{flex-direction:row-reverse}
.ai-bubble{max-width:80%;padding:9px 13px;border-radius:var(--radius);font-size:13px;line-height:1.5;background:var(--surface2);font-weight:300}
.ai-msg.user .ai-bubble{background:var(--accent);color:#fff}
.ai-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;background:var(--accent-light);color:var(--accent);font-weight:600;letter-spacing:.5px;object-fit:cover}
.ai-msg.user .ai-avatar{background:var(--accent);color:#fff}
.alfred-draft-wrap{flex:1;min-width:0}
.alfred-draft{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:2px;max-width:600px}
.alfred-draft-header{background:var(--accent);color:#fff;padding:8px 14px;font-size:11px;font-weight:500;letter-spacing:.5px;display:flex;align-items:center;justify-content:space-between}
.alfred-draft-header span:last-child{opacity:.6;font-size:10px;font-family:'DM Mono',monospace}
.alfred-draft-body{padding:14px 16px;font-family:'DM Mono',monospace;font-size:11.5px;line-height:1.75;white-space:pre-wrap;max-height:380px;overflow-y:auto;color:var(--text);background:var(--warmgrey-light)}
.alfred-draft-footer{padding:9px 14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--surface)}
.alfred-save-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:6px 16px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .15s}
.alfred-save-btn:hover{background:var(--accent-mid)}
.alfred-save-btn:disabled{opacity:.5;cursor:not-allowed}
.alfred-save-btn.saved{background:var(--green-mid)}
.ai-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}
.ai-input-row input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;outline:none}
.ai-input-row input:focus{border-color:var(--accent)}
.ai-send{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.ai-send:hover{background:var(--accent-mid)}.ai-send:disabled{opacity:.5;cursor:not-allowed}
.ai-thinking span{width:5px;height:5px;border-radius:50%;background:var(--accent-mid);display:inline-block;animation:bounce 1.2s infinite;margin:0 2px}
.ai-thinking span:nth-child(2){animation-delay:.2s}.ai-thinking span:nth-child(3){animation-delay:.4s}
@keyframes bounce{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}
/* EXTRACT */
.extract-drop{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:1.5rem}
.extract-drop:hover,.extract-drop.drag{border-color:var(--accent);background:var(--accent-light)}
.extract-drop input{display:none}
.extract-status{font-size:13px;color:var(--text3);font-weight:300;margin-top:.5rem}
/* MISC */
.ptag{display:inline-flex;align-items:center;gap:5px;background:var(--warmgrey-light);border:1px solid var(--border);border-radius:2px;padding:3px 9px;font-size:11px;color:var(--text2);font-weight:300}
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);font-size:12px;font-weight:400;box-shadow:var(--shadow-md);z-index:400;display:none}
.toast.show{display:block}
/* Dynamic toast stack */
#toast-stack{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9500;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}
.toast-item{background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);font-size:13px;font-weight:300;box-shadow:var(--shadow-md);max-width:320px;pointer-events:auto;animation:toastIn .2s ease;opacity:1;transition:opacity .3s ease}
.toast-item.out{opacity:0}
.toast-item.info{background:var(--info)}
.toast-item.warn{background:var(--delta-warn)}
.toast-item.error{background:var(--danger)}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* LOGIN OVERLAY */
#auth-overlay{position:fixed;inset:0;background:#1e2a32;z-index:500;display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:10vh 1rem 2rem}
#auth-overlay.show{display:flex}
#auth-overlay .login-card{background:transparent;border:none;box-shadow:none;padding:0;width:100%;max-width:420px}
#auth-overlay .login-title{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;letter-spacing:0.18em;text-align:center;color:var(--gold);margin-top:20px;margin-bottom:0}
#auth-overlay .login-error{background:rgba(180,60,60,0.15);color:#E8A0A0;border:1px solid rgba(180,60,60,0.3);padding:8px 12px;border-radius:var(--radius);font-size:12px;margin-bottom:1rem;display:none}
#auth-overlay .login-error.show{display:block}
#auth-overlay #login-form{margin-top:24px}
#auth-overlay .form-group{margin-bottom:16px}
#auth-overlay .form-label{display:block;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text3);margin-bottom:6px;font-weight:400}
#auth-overlay .form-input{width:100%;padding:12px 14px;border:1px solid rgba(201,169,110,0.4);border-radius:var(--radius);background:transparent;font-size:13px;font-weight:300;color:#e8e4df;box-sizing:border-box}
#auth-overlay .form-input::placeholder{color:rgba(172,169,164,0.5)}
#auth-overlay .form-input:focus{outline:none;border-color:rgba(201,169,110,0.7)}
#auth-overlay .btn-login{width:100%;background:var(--gold);color:#1e2a32;border:none;border-radius:var(--radius);padding:14px;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;margin-top:24px;display:block}
#auth-overlay .btn-login:hover{background:var(--gold-2)}
#auth-overlay .btn-login:disabled{opacity:.6;cursor:wait}
#auth-overlay .login-hint{font-size:12px;color:rgba(172,169,164,0.5);text-align:center;margin-top:16px;line-height:1.5}

/* AUTH HEADER (user pill + logout) */
.auth-pill{display:flex;align-items:center;gap:10px;margin-left:1rem;color:rgba(255,255,255,0.85);font-size:11px;font-weight:400}
.auth-pill .auth-role{background:rgba(255,255,255,0.12);padding:3px 9px;border-radius:10px;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.auth-pill .auth-logout{background:transparent;border:1px solid rgba(201,169,110,0.4);color:var(--gold);border-radius:var(--radius);padding:4px 10px;font-size:10px;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.auth-pill .auth-logout:hover{background:rgba(201,169,110,0.1)}

/* ROLE-BASED VISIBILITY (body class toggles these)                    */
body.role-ops_manager .ops-hide,
body.role-solicitor .partner-only,
body.role-paralegal .partner-only,
body.role-ops_manager .partner-only{display:none !important}
body:not(.role-partner):not(.role-senior_partner):not(.role-ops_manager):not(.role-assistant):not(.role-admin):not(.role-business_development) .privileged-only{display:none !important}
body:not(.role-partner) .partner-hard-only{display:none !important}

/* Force-change-password modal uses existing .modal-overlay/.modal styles */

/* AGENCY TABS */
.agency-tab{background:none;border:none;padding:10px 16px;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.agency-tab:hover{color:var(--text2)}
.agency-tab.active{color:var(--accent);border-bottom-color:var(--accent)}

/* RANGE BUTTONS */
.range-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);cursor:pointer}
.range-btn:hover{background:var(--accent-light)}
.range-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* CONTACT HEALTH DOT */
.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.health-green{background:var(--success-fg)}
.health-amber{background:var(--warn)}
.health-red{background:var(--danger)}

/* STATUS PILL */
.status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}
.status-Active{background:var(--success-light);color:var(--success-fg)}
.status-Inactive{background:var(--surface2);color:var(--text3)}
.status-Prospect{background:var(--warn-light);color:var(--warn)}

/* MONTH BARS (reused for referrals + property value) */
.month-bars{display:flex;align-items:flex-end;gap:6px;height:140px;padding-top:1rem}
.month-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.month-bar{width:100%;min-height:2px;background:var(--accent);border-radius:2px 2px 0 0;transition:height .2s}
.month-bar.val{background:#5A7E90}
.month-bar-label{font-size:9px;color:var(--text3);font-weight:300}
.month-bar-value{font-size:9px;color:var(--text2);font-weight:500}

/* INTERACTIONS TIMELINE */
.interaction-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}
.interaction-row:last-child{border-bottom:none}
.interaction-type{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text3);font-weight:500;min-width:60px;padding-top:2px}
.interaction-body{flex:1;font-size:13px;font-weight:300}
.interaction-meta{font-size:11px;color:var(--text3);margin-top:3px}
.interaction-note{white-space:pre-wrap;margin-top:4px}
.interaction-follow{display:inline-block;margin-top:4px;padding:2px 8px;background:var(--warmgrey-light);border-radius:10px;font-size:10px;color:var(--text2)}

/* TASK CARDS */
.task-card{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:10px;display:flex;gap:1rem;align-items:flex-start}
.task-card.overdue{border-left-color:var(--danger)}
.task-card.week{border-left-color:var(--warn)}
.task-card.upcoming{border-left-color:var(--success-fg)}
.task-card .task-main{flex:1;font-size:13px;font-weight:300}
.task-card .task-agency{font-weight:500;font-size:14px;color:var(--accent);text-decoration:none;cursor:pointer}
.task-card .task-agency:hover{text-decoration:underline}
.task-card .task-meta{font-size:11px;color:var(--text3);margin-top:3px}
.task-card .task-note{margin-top:6px;white-space:pre-wrap}
.task-card .task-actions{display:flex;gap:6px;flex-shrink:0}

/* WIZARD MODAL (AI case creation) */
.wizard-modal{max-width:1100px;width:95vw;max-height:92vh;display:flex;flex-direction:column;padding:0}
.wizard-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border)}
.wizard-phase{display:flex;flex-direction:column;flex:1;min-height:0}
.wizard-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}
.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--surface)}
.wizard-footer-hint{font-size:12px;color:var(--text3);font-weight:300}

.wz-drop{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface2);cursor:pointer;transition:border-color .15s,background .15s;padding:2rem;text-align:center}
.wz-drop:hover,.wz-drop.drag{border-color:var(--accent);background:var(--accent-light)}
.wz-drop-icon{font-size:48px;opacity:.35;margin-bottom:.5rem}
.wz-drop-sub{font-size:12px;color:var(--text3);margin-top:4px}

.wz-tip{margin-top:.75rem;padding:10px 14px;background:var(--warn-light);border-left:3px solid var(--warn);border-radius:var(--radius);font-size:12px;color:var(--text2);font-weight:300;line-height:1.5}
.wz-tip strong{color:var(--warn);font-weight:500}

#wz-file-list{margin-top:1rem}
.wz-file-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface2);border-radius:var(--radius);margin-bottom:6px;font-size:13px;font-weight:300}
.wz-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-file-type{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text3);background:var(--surface);padding:2px 8px;border-radius:10px}
.wz-file-size{font-size:11px;color:var(--text3);font-weight:300}
.wz-file-remove{background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;padding:0 6px;line-height:1}
.wz-file-remove:hover{color:var(--danger)}

/* Processing-mode badges on wizard file rows */
.wz-mode-binary{font-size:9px;letter-spacing:.5px;text-transform:uppercase;font-weight:500;
  background:var(--success-light);color:var(--success-fg);padding:2px 8px;border-radius:10px;white-space:nowrap}
.wz-mode-text{font-size:9px;letter-spacing:.5px;text-transform:uppercase;font-weight:500;
  background:var(--warn-light);color:var(--warn);padding:2px 8px;border-radius:10px;white-space:nowrap}

/* Chat phase split layout */
.wizard-chat-layout{display:grid;grid-template-columns:300px 1fr;flex:1;min-height:0;overflow:hidden}
.wizard-left{border-right:1px solid var(--border);padding:1rem 1.25rem;overflow-y:auto;background:var(--surface2)}
.wizard-right{display:flex;flex-direction:column;min-height:0;min-width:0}
.wizard-section-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:8px}
.wz-doc-list .wz-doc-row{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-light);font-size:12px;font-weight:300}
.wz-doc-list .wz-doc-row:last-child{border-bottom:none}
.wz-doc-row .wz-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-doc-row .wz-doc-type{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);font-weight:500}

.wz-summary{font-size:12px;font-weight:300}
.wz-summary-row{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px solid var(--border-light)}
.wz-summary-row:last-child{border-bottom:none}
.wz-summary-label{flex:1;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-summary-val{color:var(--text);font-weight:400;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.wz-summary-val.missing{color:var(--text3);font-style:italic;font-weight:300}

.wz-conflicts{margin-top:1rem}
.wz-conflicts .wz-conflict{background:var(--danger-light);color:var(--danger);border:1px solid #E8C5C5;padding:6px 10px;border-radius:var(--radius);font-size:11px;margin-bottom:6px}

.wz-chat{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;min-height:0}
.wz-msg{margin-bottom:14px;max-width:85%;font-size:13px;font-weight:300;line-height:1.55;white-space:pre-wrap}
.wz-msg.assistant{background:var(--surface2);color:var(--text);padding:10px 14px;border-radius:12px 12px 12px 2px;margin-right:auto}
.wz-msg.user{background:var(--accent);color:#fff;padding:10px 14px;border-radius:12px 12px 2px 12px;margin-left:auto}
.wz-msg.thinking{color:var(--text3);font-style:italic}

.wz-reply{display:flex;gap:8px;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--surface)}
.wz-reply textarea{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:300;resize:none}
.wz-reply textarea:focus{outline:none;border-color:var(--accent)}
.wz-reply button{flex-shrink:0}

/* Preview phase */
.wz-preview-legend{display:flex;gap:16px;padding-bottom:12px;margin-bottom:1rem;border-bottom:1px solid var(--border-light);font-size:12px;font-weight:300;color:var(--text2);align-items:center}
.wz-preview-legend .health-dot{margin-right:4px}
.wz-preview-section{margin-bottom:1.25rem}
.wz-preview-section .wz-section-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:8px}
.wz-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px}
.wz-pf{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.wz-pf.green{border-left:3px solid var(--success-fg)}
.wz-pf.amber{border-left:3px solid var(--warn)}
.wz-pf.red{border-left:3px solid var(--text3)}
.wz-pf-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text3);font-weight:500;min-width:130px}
.wz-pf-input{flex:1;border:none;background:transparent;font-size:13px;font-weight:400;color:var(--text);padding:2px 0;min-width:0}
.wz-pf-input:focus{outline:none;border-bottom:1px solid var(--accent)}
.wz-pf-input::placeholder{color:var(--text3);font-style:italic}

.wz-contact-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent-mid);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;font-size:12px}
.wz-contact-card .wz-contact-role{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:4px}
.wz-contact-card .wz-contact-name{font-weight:500;font-size:13px;margin-bottom:2px}
.wz-contact-card .wz-contact-meta{color:var(--text3);font-weight:300}

/* ── DOCUMENT VIEWER SLIDE-IN PANEL ── */
.dv-overlay{display:none;position:fixed;inset:0;background:rgba(36,49,58,0.35);z-index:400}
.dv-overlay.open{display:block}
.dv-panel{position:fixed;top:0;right:0;bottom:0;width:62vw;min-width:580px;background:var(--surface);z-index:401;transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column;box-shadow:-6px 0 40px rgba(36,49,58,0.2)}
.dv-panel.open{transform:translateX(0)}
.dv-toolbar{display:flex;align-items:center;gap:8px;padding:0 14px;height:54px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}
.dv-title{flex:1;font-size:13px;font-weight:400;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10px}
.dv-tb-actions{display:flex;gap:6px;flex-shrink:0}
.dv-tb-btn{background:none;border:1px solid var(--border);color:var(--text2);border-radius:var(--radius);padding:6px 11px;font-size:11px;font-weight:400;letter-spacing:.3px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:background .12s,color .12s}
.dv-tb-btn:hover{background:var(--surface2);color:var(--text)}
.dv-content{flex:1;overflow:hidden;background:#3D3D3D;display:flex;flex-direction:column;min-height:0}
.dv-content iframe{width:100%;flex:1;border:none;background:#fff;display:block}
.dv-content img{max-width:100%;display:block;margin:1.5rem auto}
.dv-content .dv-text{background:#fff;padding:2.5rem 3rem;font-family:'Georgia',serif;font-size:14px;line-height:1.75;color:#222;white-space:pre-wrap;flex:1}

/* ── COMMAND CENTRE ── */
.cc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.cc-tab{background:none;border:none;padding:10px 18px;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.cc-tab:hover{color:var(--text2)}
.cc-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.cc-staff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden}
.cc-staff-head{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;user-select:none;transition:background .12s}
.cc-staff-head:hover{background:var(--warmgrey-light)}
.cc-staff-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;flex-shrink:0;text-transform:uppercase}
.cc-staff-name{font-weight:500;font-size:14px;color:var(--text)}
.cc-staff-meta{font-size:12px;color:var(--text3);font-weight:300;margin-top:2px}
.cc-staff-body{display:none;border-top:1px solid var(--border);padding:1.25rem 1.5rem}
.cc-staff-body.open{display:block}
.cc-section-label{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:8px;margin-top:1.25rem}
.cc-section-label:first-child{margin-top:0}
.cc-salary-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;font-weight:300;align-items:center}
.cc-salary-row:last-child{border-bottom:none}
.cc-pct-up{color:var(--success-fg);font-size:11px;font-weight:500}
.cc-pct-dn{color:var(--danger);font-size:11px;font-weight:500}
.cc-meeting-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;font-weight:300}
.cc-meeting-row:last-child{border-bottom:none}
.cc-policy-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}
.cc-policy-row:last-child{border-bottom:none}
.cc-policy-cat{font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--accent);background:var(--accent-light);padding:3px 8px;border-radius:2px;flex-shrink:0;margin-top:3px;white-space:nowrap}
.cc-policy-title{font-weight:400;font-size:13px;color:var(--text)}
.cc-policy-body-text{font-size:12px;color:var(--text3);font-weight:300;margin-top:3px;white-space:pre-wrap}
.cc-fin-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:.5rem}
.cc-fin-table thead th{padding:10px 14px;text-align:left;font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.6);background:var(--accent);white-space:nowrap}
.cc-fin-table tbody td{padding:11px 14px;border-bottom:1px solid var(--border-light);font-weight:300;vertical-align:middle}
.cc-fin-table tbody tr:last-child td{border-bottom:none}
.cc-fin-table tbody tr:hover{background:var(--warmgrey-light)}
.cc-add-period{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-top:1.25rem}
.cc-add-period .cc-ap-title{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}

/* ── VERSION 4: WARM & HUMAN ── */

/* Header right: greeting + avatar */
.header-right{display:flex;align-items:center;gap:10px}
.header-greeting{font-size:11px;color:rgba(232,228,223,0.7);font-weight:300}
.header-avatar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.15);border:1.5px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:rgba(255,255,255,0.7);overflow:hidden;cursor:pointer;flex-shrink:0}
.header-avatar img{width:100%;height:100%;object-fit:cover}

/* Sidebar pending widget pulse animation */
@keyframes pendingPulse{0%,100%{box-shadow:0 0 0 0 rgba(212,160,23,0.35)}50%{box-shadow:0 0 0 4px rgba(212,160,23,0.12)}}
.sidebar-pending-pulse{animation:pendingPulse 2s ease-in-out infinite}

/* Sidebar today widget */
.sidebar-today{margin:auto 12px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px}
.sidebar-today-label{font-size:8px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:6px}
.sidebar-today-item{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--text2);font-weight:300;padding:3px 0}
.sidebar-today-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}

/* Case table row hover polish */
tbody tr:hover{background:var(--surface2);border-left:3px solid var(--accent)}
tbody tr{border-left:3px solid transparent;transition:background .1s,border-color .1s}

/* Dashboard welcome */
.dashboard-welcome{margin-bottom:16px}
.dashboard-title{font-family:'Jost','Inter Tight',sans-serif;font-size:26px;font-weight:300;color:var(--text);letter-spacing:-.02em}
.dashboard-sub{font-size:12px;color:var(--text3);font-weight:300;margin-top:4px}

/* Stat card progress bars */
.stat-card{position:relative;overflow:hidden;padding-bottom:16px}
.stat-card-bar{position:absolute;bottom:0;left:0;height:3px;border-radius:0;transition:width 0.6s ease}
.stat-card-bar.up{background:var(--delta-up)}
.stat-card-bar.warn{background:var(--delta-warn)}
.stat-card-bar.neutral{background:var(--text3)}
.stat-delta{font-size:10px;color:var(--delta-up);font-weight:400;margin-top:2px}
.stat-delta.warn{color:var(--delta-warn)}

/* ── GLOBAL MIC BUTTON ─────────────────────────────────────────────────── */
.global-mic-btn{
  width:32px;height:32px;border-radius:50%;
  background:var(--accent);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#fff;flex-shrink:0;position:relative;
  transition:background .15s,box-shadow .15s;
}
.global-mic-btn:hover{background:var(--accent-mid);box-shadow:0 0 0 4px rgba(36,49,58,0.2)}
.global-mic-btn.listening{
  background:var(--danger);
  animation:micListenPulse 1.4s ease-in-out infinite;
}
@keyframes micListenPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(207,54,54,0.4)}
  50%{box-shadow:0 0 0 7px rgba(207,54,54,0)}
}

/* ── VOICE OVERLAY ──────────────────────────────────────────────────────── */
#voice-overlay{
  position:fixed;bottom:20px;right:20px;
  width:380px;
  background:var(--accent);
  border:1px solid rgba(201,169,110,0.25);
  border-radius:16px;
  box-shadow:0 16px 48px rgba(0,0,0,0.25),0 4px 12px rgba(0,0,0,0.15);
  z-index:8000;
  display:flex;flex-direction:column;
  animation:voSlideIn .22s cubic-bezier(.2,.8,.4,1);
  overflow:hidden;
  max-height:520px;
}
@keyframes voSlideIn{
  from{opacity:0;transform:translateY(16px) scale(.97)}
  to{opacity:1;transform:none}
}
.vo-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px 10px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  flex-shrink:0;
}
.vo-header-left{display:flex;align-items:center;gap:8px}
.vo-avatar{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,0.12);
  border:1.5px solid rgba(201,169,110,0.4);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.vo-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:400;color:#fff;letter-spacing:-.2px}
.vo-status{
  font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1.5px;
  text-transform:uppercase;
  background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.55);
  padding:2px 7px;border-radius:10px;
}
.vo-status.listening{background:rgba(207,54,54,0.25);color:#ff8080}
.vo-status.thinking{background:rgba(201,169,110,0.18);color:#C9A96E}
.vo-context-badge{
  font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.5px;
  background:rgba(201,169,110,0.15);color:#C9A96E;
  padding:2px 8px;border-radius:10px;
  max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  flex-shrink:0;
}
.vo-close{
  width:26px;height:26px;border:none;background:rgba(255,255,255,0.08);
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.5);transition:background .15s,color .15s;flex-shrink:0;
}
.vo-close:hover{background:rgba(255,255,255,0.15);color:#fff}

/* Messages area */
.vo-messages{
  flex:1;overflow-y:auto;padding:10px 12px;
  display:flex;flex-direction:column;gap:10px;
  min-height:80px;max-height:340px;
  scroll-behavior:smooth;
}
.vo-messages:empty::after{
  content:'Press the mic button and speak to Alfred.';
  font-size:12px;font-weight:300;color:rgba(255,255,255,0.35);
  text-align:center;margin:auto;display:block;padding:20px 0;
  font-style:italic;
}
.vo-msg{display:flex;gap:8px;align-items:flex-end}
.vo-msg--user{flex-direction:row-reverse}
.vo-msg-bubble{
  max-width:82%;padding:9px 12px;border-radius:12px;
  font-size:13px;font-weight:300;line-height:1.5;
  color:#fff;white-space:pre-wrap;
}
.vo-msg--user .vo-msg-bubble{
  background:rgba(255,255,255,0.15);
  border-radius:12px 12px 2px 12px;
}
.vo-msg--alfred .vo-msg-bubble{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px 12px 12px 2px;
}
.vo-msg--action .vo-msg-bubble{
  background:rgba(74,166,112,0.1);
  border:1px solid rgba(74,166,112,0.25);
  border-radius:12px 12px 12px 2px;
  color:#a8dfc0;
}
.vo-action-label{
  font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1.5px;
  text-transform:uppercase;color:#6dd69a;margin-bottom:5px;
}
.vo-msg-av{
  width:24px;height:24px;border-radius:50%;
  background:rgba(201,169,110,0.15);
  border:1px solid rgba(201,169,110,0.25);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* Live transcript strip */
.vo-transcript-wrap{
  padding:8px 14px;
  border-top:1px solid rgba(255,255,255,0.06);
  flex-shrink:0;
  display:flex;align-items:center;gap:10px;
}
.vo-waveform{display:flex;align-items:center;gap:3px;height:18px;flex-shrink:0}
.vo-waveform span{
  display:block;width:3px;background:rgba(255,255,255,0.45);border-radius:2px;
  animation:voWave 1s ease-in-out infinite;
}
.vo-waveform span:nth-child(1){animation-delay:.0s;height:6px}
.vo-waveform span:nth-child(2){animation-delay:.1s;height:12px}
.vo-waveform span:nth-child(3){animation-delay:.2s;height:16px}
.vo-waveform span:nth-child(4){animation-delay:.1s;height:10px}
.vo-waveform span:nth-child(5){animation-delay:.0s;height:6px}
@keyframes voWave{
  0%,100%{transform:scaleY(1);opacity:.45}
  50%{transform:scaleY(1.6);opacity:1}
}
.vo-transcript-text{
  font-size:12px;font-weight:300;color:rgba(255,255,255,0.65);
  font-style:italic;line-height:1.4;flex:1;
}

/* Footer controls */
.vo-footer{
  display:flex;align-items:center;gap:8px;padding:10px 14px 12px;
  border-top:1px solid rgba(255,255,255,0.08);flex-shrink:0;
}
.vo-mic-btn{
  width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,0.3);
  background:rgba(255,255,255,0.1);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:all .15s;flex-shrink:0;
}
.vo-mic-btn:hover{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.5)}
.vo-mic-btn.listening{
  background:var(--danger);border-color:var(--danger);
  animation:micListenPulse 1.4s ease-in-out infinite;
}
.vo-tts-btn{
  width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);
  transition:background .15s,color .15s,border-color .15s;flex-shrink:0;
}
.vo-tts-btn:hover{background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.7)}
.vo-tts-btn.active{background:rgba(201,169,110,0.15);border-color:rgba(201,169,110,0.4);color:#C9A96E}
.vo-clear-btn{
  flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);border-radius:8px;cursor:pointer;
  color:rgba(255,255,255,0.55);font-size:11px;font-weight:400;letter-spacing:.3px;
  display:flex;align-items:center;justify-content:center;gap:5px;
  transition:background .15s,color .15s;
}
.vo-clear-btn:hover{background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.85)}

/* Alfred AI quick-prompt bar */
.alfred-bar{background:var(--accent);border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.alfred-bar-indicator{width:8px;height:8px;border-radius:50%;background:var(--delta-up);flex-shrink:0;animation:pulse 2.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.alfred-bar-label{font-size:11px;font-weight:500;color:rgba(255,255,255,0.6);letter-spacing:.5px;flex-shrink:0}
.alfred-bar-input{flex:1;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:8px 12px;font-size:12px;font-weight:300;color:#fff;outline:none;min-width:200px}
.alfred-bar-input::placeholder{color:rgba(255,255,255,0.35)}
.alfred-bar-input:focus{border-color:rgba(255,255,255,0.3)}
.alfred-bar-chips{display:flex;gap:6px;flex-wrap:wrap}
.alfred-chip{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:20px;font-size:10px;color:rgba(255,255,255,0.55);padding:4px 10px;cursor:pointer;font-weight:300;transition:background .15s;border:none}
.alfred-chip:hover{background:rgba(255,255,255,0.14);color:rgba(255,255,255,0.85)}

/* Typography: page titles italic */
.page-title{font-family:'Jost','Inter Tight',sans-serif;font-size:24px;font-weight:300;letter-spacing:-.02em;color:var(--accent)}
/* Section headings */
.dl,.sidebar-label,.stat-label,.form-label{letter-spacing:1.5px}

/* External contractor badge */
.user-badge-external{display:inline-block;font-size:9px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius);background:rgba(180,100,20,0.15);color:#B46414;border:1px solid rgba(180,100,20,0.3);vertical-align:middle;margin-left:6px}


/* ── MAIN WRAP ──────────────────────────────────────────────────────── */
.main-wrap{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.main{padding:2rem;overflow-y:auto;flex:1}


/* ── SETTINGS REDESIGN (stg-*) ──────────────────────────────────────────── */
#view-settings{margin:0 -2rem}
.stg-strip{background:var(--surface);border-bottom:1px solid var(--border);padding:24px 2rem 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.stg-strip-ttl{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:26px;line-height:1;margin:0;letter-spacing:-.02em;color:var(--accent)}
.stg-strip-crumb{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-top:7px;display:flex;align-items:center;gap:10px}
.stg-strip-crumb-dot{width:3px;height:3px;border-radius:50%;background:var(--gold-2);display:inline-block}
.stg-strip-meta{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500}
.stg-page{display:grid;grid-template-columns:280px 1fr;gap:32px;padding:32px 2rem 80px;align-items:start}
.stg-side{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:8px 0;position:sticky;top:80px}
.stg-grp{padding:14px 18px 8px}
.stg-grp+.stg-grp{border-top:1px dashed var(--border-light);margin-top:6px}
.stg-grp-head{display:flex;align-items:center;justify-content:space-between;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:8px}
.stg-grp-ct{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--text3);background:var(--surface2);border:1px solid var(--border-light);padding:1px 6px;border-radius:var(--radius-lg);letter-spacing:0}
.stg-side-a{display:flex;align-items:center;gap:10px;padding:9px 18px;font-family:'Jost','Inter Tight',sans-serif;font-weight:400;font-size:13px;color:var(--text2);text-decoration:none;border-left:2px solid transparent;border-right:none;border-top:none;border-bottom:none;margin:1px 0;background:none;text-align:left;width:100%;cursor:pointer;transition:background .12s,color .12s}
.stg-side-a:hover{background:var(--surface2);color:var(--text)}
.stg-side-a.active{color:var(--text);font-weight:500;background:var(--surface2);border-left-color:var(--gold-2)}
.stg-content{min-width:0}
.settings-group{display:none}
.settings-group.active{display:block}
.stg-acct-inner{display:flex;flex-direction:column;gap:24px}
.stg-h2{font-family:'Jost','Inter Tight',sans-serif;font-weight:400;font-size:20px;color:var(--text);line-height:1;padding-bottom:14px;border-bottom:1px solid var(--border);margin:0 0 4px;display:flex;align-items:baseline;justify-content:space-between;gap:18px;letter-spacing:-.01em}
.stg-h2-lede{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:13px;color:var(--text3)}
.stg-card{background:var(--surface);border:1px solid var(--border);border-radius:2px;overflow:hidden}
.stg-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px 12px}
.stg-card-lab{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500}
.stg-card-actions{display:flex;gap:8px}
.stg-card-sub{padding:0 22px 16px;font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:13px;color:var(--text3);line-height:1.55}
.stg-card-foot{padding:14px 22px;border-top:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:space-between;gap:12px}
.stg-card-foot-note{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3)}
.stg-card-foot-note b{font-family:'JetBrains Mono',monospace;font-style:normal;font-weight:500;color:var(--text2);font-size:11.5px}
.stg-btn{background:var(--surface);border:1px solid var(--border);color:var(--text2);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;padding:9px 14px;border-radius:1px;cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:8px}
.stg-btn:hover{border-color:var(--text3);color:var(--text)}
.stg-btn-ghost{background:transparent}
.stg-btn-warn{color:var(--error);border-color:var(--border)}
.stg-btn-warn:hover{border-color:var(--error);background:var(--red-soft)}
.stg-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:14px;padding:16px 22px;border-top:1px dashed var(--border-light)}
.stg-row-first{border-top:1px solid var(--border)}
.stg-row-this .stg-row-ic{background:var(--green-soft);border-color:var(--success-light);color:var(--success-fg)}
.stg-row-ic{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface2);display:grid;place-items:center;color:var(--text3);flex:none}
.stg-row-ic svg{width:14px;height:14px}
.stg-row-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.stg-row-nm{font-family:'Jost','Inter Tight',sans-serif;font-weight:500;font-size:14px;color:var(--text);line-height:1.2;display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stg-row-nm em{font-style:italic;color:var(--text2);font-weight:400}
.stg-row-tag{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;font-weight:500;color:var(--success-fg);background:var(--green-soft);padding:2px 8px;border-radius:1px;white-space:nowrap;flex:none}
.stg-row-meta{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text3);letter-spacing:.3px;display:flex;align-items:center;gap:8px}
.stg-row-meta-sep{color:var(--border)}
.stg-row-ua{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3);line-height:1.35;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.stg-row-ua-mono{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text2);font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stg-row-actions{display:flex;gap:6px}
.stg-inline{padding:16px 22px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);flex-wrap:wrap}
.stg-inline-lhs .stg-inline-lab{font-family:'Jost','Inter Tight',sans-serif;font-weight:400;font-size:13px;color:var(--text2)}
.stg-inline-lhs .stg-inline-lab em{color:var(--text);font-style:italic}
.stg-seg{display:inline-flex;border:1px solid var(--border);border-radius:1px;background:var(--surface);padding:3px}
.stg-seg-btn{background:transparent;border:0;color:var(--text3);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;padding:8px 16px;border-radius:1px;cursor:pointer}
.stg-seg-btn.on{background:var(--accent);color:#fff}
.stg-privacy-status{display:flex;align-items:center;gap:10px;font-family:'Jost','Inter Tight',sans-serif;font-weight:400;font-size:13px;color:var(--text2)}
.stg-privacy-badge{font-style:normal;font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;color:var(--success-fg);background:var(--green-soft);padding:3px 9px;border-radius:1px;display:inline-flex;align-items:center;gap:6px}
.stg-privacy-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--success-fg);display:inline-block}
.stg-privacy-badge-off{color:var(--text3);background:var(--surface2)}
.stg-privacy-link{display:inline-flex;align-items:center;gap:6px;font-family:'Jost','Inter Tight',sans-serif;font-weight:400;font-size:13px;color:var(--gold-2);text-decoration:none;border-bottom:1px solid transparent;padding:6px 22px 16px}
.stg-privacy-link:hover{color:var(--text);border-bottom-color:var(--border)}
.stg-flourish{text-align:center;color:var(--text3);font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:18px;padding:20px 0 0}
.stg-flourish-ln{flex:0 0 80px;height:1px;background:var(--border)}
.settings-group-title{font-family:'Jost','Inter Tight',sans-serif;font-size:18px;font-weight:300;color:var(--text);margin-bottom:1.5rem;letter-spacing:-.01em}

/* ── HOME PORTAL v2 (B24-v2) ─────────────────────────────────────────── */
.home-portal{padding:32px;max-width:1400px;box-sizing:border-box}
.home-header{margin-bottom:24px}
.home-greeting-v2{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:26px;color:var(--text);margin-bottom:4px;line-height:1.15;letter-spacing:-.02em}
.home-date-v2{font-size:13px;color:var(--text3);margin-bottom:16px}
.home-birthday-banner{background:var(--surface2);border-radius:var(--radius-lg);padding:10px 16px;font-size:13px;color:var(--text2);margin-bottom:16px;line-height:1.7}
.home-snapshot-strip{font-size:12px;color:var(--text3);margin-bottom:24px;font-variant-numeric:tabular-nums}
.home-kpi-strip{display:flex;gap:10px;padding:12px 0 4px;flex-wrap:wrap}
.home-kpi-tile{flex:1;min-width:90px;background:transparent;border:1px solid rgba(0,0,0,0.06);border-radius:var(--radius-lg);padding:10px 14px;cursor:pointer;transition:background .15s}
.home-kpi-tile:hover{background:rgba(0,0,0,0.03)}
.home-kpi-value{font-size:20px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}
.home-kpi-label{font-size:10px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-top:3px}
.sec-session-row,.sec-device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light)}
.sec-session-row:last-child,.sec-device-row:last-child{border-bottom:none}
.sec-session-row.current{background:none}
.sec-session-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.sec-session-device{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sec-session-badge{display:inline-block;font-size:10px;font-weight:500;background:var(--surface2);color:var(--text3);padding:1px 7px;border-radius:10px;margin-left:6px;letter-spacing:.3px}
.sec-session-meta{font-size:11px;color:var(--text3)}
.sec-session-revoke{font-size:11px;color:var(--error);flex-shrink:0}
.home-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light)}
.home-snapshot-tile{background:var(--surface);padding:20px 22px;cursor:pointer;transition:background .15s}
.home-snapshot-tile:hover{background:var(--surface2)}
.home-snapshot-num{font-size:32px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}
.home-snapshot-lbl{font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-top:5px}
.home-wins-row{padding:8px 20px;border-bottom:1px solid var(--border-light)}
.home-wins-row:last-child{border-bottom:none}
.home-wins-name{font-size:12px;font-weight:500;color:var(--text);line-height:1.4}
.home-wins-detail{font-size:11px;color:var(--text3);line-height:1.4}
.home-firm-pulse{padding:10px 20px;font-size:11px;color:var(--text3);letter-spacing:.3px;border-top:1px solid var(--border-light);text-align:center}
.home-grid{display:grid;grid-template-columns:3fr 2fr;gap:24px}
.home-col-left,.home-col-right{display:flex;flex-direction:column;gap:20px}
/* Panel card */
.home-panel{background:var(--surface);border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,0.06);overflow:hidden}
.home-panel-head{padding:14px 20px 12px;border-bottom:1px solid rgba(0,0,0,0.05);display:flex;align-items:center;justify-content:space-between}
.home-panel-title-v2{font-family:'Jost','Inter Tight',sans-serif;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:0.15em;color:rgba(44,56,66,0.5)}
/* Linear-style rows */
.home-row{display:flex;align-items:center;gap:12px;padding:0 20px;min-height:44px;border-bottom:1px solid rgba(0,0,0,0.045);cursor:pointer;transition:background 0.1s;position:relative;text-decoration:none}
.home-row:last-child{border-bottom:none}
.home-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:0;transition:opacity 0.1s}
.home-row:hover{background:rgba(36,49,58,0.025)}
.home-row:hover::before{opacity:1}
.home-row-label{font-size:13px;font-weight:400;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-row-meta{font-size:12px;color:var(--text3);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
.home-row-badge-v2{font-size:10px;font-weight:500;padding:2px 8px;border-radius:var(--radius);white-space:nowrap;flex-shrink:0;letter-spacing:.3px;text-transform:uppercase}
.home-empty-v2{padding:20px;font-size:12px;color:var(--text3);text-align:center;font-weight:300}
.home-panel-footer{padding:11px 20px;border-top:1px solid rgba(0,0,0,0.05)}
.home-panel-footer button{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0}
.home-panel-footer button:hover{text-decoration:underline}
/* Quick access tiles — Attio style */
.home-qa-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}
.home-qa-grid-v2 .home-qa-tile:last-child:nth-child(odd){grid-column:1/-1;}
.home-qa-tile{background:var(--surface);border:1px solid rgba(0,0,0,0.07);border-radius:var(--radius-xl);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:border-color 0.15s,box-shadow 0.15s;text-align:left}
.home-qa-tile:hover{border-color:rgba(36,49,58,0.22);box-shadow:var(--shadow-hover)}
.home-qa-icon{color:var(--accent);flex-shrink:0}
.home-qa-label{font-size:12px;color:var(--text);font-weight:400}
/* Priority dots */
.home-priority-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.home-priority-dot.high{background:var(--danger)}
.home-priority-dot.normal,.home-priority-dot.medium{background:var(--warn)}
.home-priority-dot.low{background:var(--text3)}
/* Row icon */
.home-row-icon{color:var(--text3);flex-shrink:0;display:flex;align-items:center}

/* ── CONTACTS HUB ─────────────────────────────────────────────────────── */
.contacts-hub-head{padding:0 0 1.25rem}
.contacts-hub-ttl{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:24px;color:var(--accent);margin:0;line-height:1;letter-spacing:-.02em}
.contacts-hub-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 24px;background:var(--surface)}
.contacts-hub-tab{background:none;border:none;border-bottom:2px solid transparent;padding:14px 16px;font-size:12px;font-weight:400;color:var(--text3);cursor:pointer;transition:color 0.15s,border-color 0.15s;letter-spacing:.03em;margin-bottom:-1px}
.contacts-hub-tab:hover{color:var(--text)}
.contacts-hub-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
#contacts-hub-body{padding:24px}

/* ── NEW CASE CHOICE SCREEN ──────────────────────────────────────────── */
.nc-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:2rem 2rem 1.5rem}
.nc-choice-card{background:var(--surface);border:1.5px solid rgba(0,0,0,0.09);border-radius:var(--radius-xl);padding:28px 24px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:border-color 0.15s,box-shadow 0.15s}
.nc-choice-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}
.nc-choice-icon{color:var(--accent)}
.nc-choice-title{font-size:16px;font-weight:500;color:var(--text)}
.nc-choice-desc{font-size:12px;color:var(--text3);line-height:1.55;font-weight:300}
.nc-choice-prompt{text-align:center;padding-top:0;padding-bottom:1.5rem;font-size:13px;color:var(--text2);font-family:'Jost','Inter Tight',sans-serif;font-weight:300}

/* ── NAV ICONS ───────────────────────────────────────────────────────── */
header nav button .nav-icon{display:inline-block;vertical-align:middle;margin-right:5px;opacity:.7;position:relative;top:-1px}
header nav button:hover .nav-icon,header nav button.active .nav-icon{opacity:1}

/* ── SIDEBAR PRACTICE AREA ICONS (Heroicons upgrade) ─────────────────── */
.sidebar-item .si-hero{width:16px;height:16px;flex-shrink:0;opacity:.65;color:var(--text2)}
.sidebar-item:hover .si-hero,.sidebar-item.active .si-hero{opacity:1;color:var(--accent)}

/* ── ALFRED MIC BUTTON ──────────────────────────────────────────────── */
#alfred-mic-btn.listening{background:rgba(196,169,98,0.12);border-color:rgba(196,169,98,0.5)}
#alfred-mic-btn.listening svg{color:#C4A962}
@keyframes alfredMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(196,169,98,0.4)}50%{box-shadow:0 0 0 6px rgba(196,169,98,0)}}
#alfred-mic-btn.listening{animation:alfredMicPulse 1.5s infinite}

/* ── HOME PORTAL STAFF PHOTO ─────────────────────────────────────────── */
.home-header-top{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.home-user-photo{position:relative;cursor:pointer;flex-shrink:0;width:64px;height:64px;border-radius:50%}
.home-user-photo img,.home-user-photo>div:first-child{width:64px;height:64px;border-radius:50%}
.home-photo-overlay{position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,0.42);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.15s}
.home-user-photo:hover .home-photo-overlay{opacity:1}

/* ── HUB VIEW ────────────────────────────────────────────────────────── */
.hub-view{padding:32px;max-width:920px;margin:0 auto}
.hub-header{margin-bottom:28px}
.hub-title{font-family:'Jost','Inter Tight',sans-serif;font-size:22px;font-weight:300;color:var(--accent);margin-bottom:6px;letter-spacing:-.01em}
.hub-subtitle{font-size:13px;color:var(--text3);font-weight:300}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:700px){.hub-grid{grid-template-columns:repeat(2,1fr)}}
.hub-card{background:var(--surface);border:1px solid rgba(0,0,0,0.07);border-radius:var(--radius-xl);padding:22px 20px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:border-color 0.15s,box-shadow 0.15s;position:relative;overflow:hidden}
.hub-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity 0.15s}
.hub-card:hover{border-color:rgba(36,49,58,0.18);box-shadow:var(--shadow-hover)}
.hub-card:hover::before{opacity:1}
.hub-card-icon{color:var(--accent)}
.hub-card-label{font-size:13px;font-weight:400;color:var(--text)}

/* ── BREADCRUMB ──────────────────────────────────────────────────────── */
#breadcrumb-bar{display:flex;align-items:center;gap:4px;padding:7px 24px;background:var(--bg);border-bottom:1px solid rgba(0,0,0,0.06);font-size:12px;color:var(--text3)}
.bc-link{color:var(--text2);cursor:pointer;transition:color 0.12s}
.bc-link:hover{color:var(--accent)}
.bc-sep{display:flex;align-items:center;color:var(--text3);opacity:0.5}
.bc-current{color:var(--text);font-weight:500}

/* ── PROFILE VIEW ────────────────────────────────────────────────────── */
.profile-view{padding:32px;max-width:720px;margin:0 auto}
.profile-hero{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.profile-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);flex-shrink:0}
.profile-photo-initials{width:80px;height:80px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:500;flex-shrink:0}
.profile-hero-info{min-width:0}
.profile-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--text);margin-bottom:4px}
.profile-role-label{font-size:14px;color:var(--text2);margin-bottom:4px}
.profile-meta{font-size:12px;color:var(--text3)}
.profile-stats{display:flex;gap:12px;margin-bottom:24px}
.profile-stat{background:var(--surface);border:1px solid rgba(0,0,0,0.07);border-radius:var(--radius-xl);padding:16px 28px;text-align:center}
.profile-stat-val{font-size:28px;font-weight:500;color:var(--text);font-family:system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;line-height:1}
.profile-stat-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.profile-section{background:var(--surface);border:1px solid rgba(0,0,0,0.07);border-radius:var(--radius-xl);overflow:hidden;padding-top:16px}
.profile-section-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);padding:0 20px 12px}

/* ── CASES VIEW REDESIGN ─────────────────────────────────────────────────── */
.cv-header{display:flex;align-items:center;padding:24px 0 14px}
.cv-new-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);padding:9px 18px;font-size:13px;font-weight:500;cursor:pointer;transition:background 0.15s;letter-spacing:.01em;white-space:nowrap}
.cv-new-btn:hover{background:var(--accent-mid,#3a5060)}
.cv-search-wrap{position:relative;margin-bottom:10px}
.cv-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}
.cv-search-input{width:100%;padding:11px 44px 11px 44px;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:14px;font-weight:300;background:var(--surface);color:var(--text);outline:none;box-sizing:border-box;transition:border-color 0.15s}
.cv-search-input:focus{border-color:var(--accent)}
.cv-search-input::placeholder{color:var(--text3)}
.cv-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text3);display:flex;align-items:center;padding:4px;border-radius:var(--radius);transition:color 0.12s}
.cv-search-clear:hover{color:var(--text)}
.cv-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:0}
.cv-pills{display:flex;gap:6px;flex-wrap:wrap}
.cv-pill{height:32px;padding:0 14px;border:1px solid var(--border);border-radius:16px;background:transparent;font-size:12px;font-weight:400;color:var(--text2);cursor:pointer;transition:border-color 0.12s,color 0.12s,background 0.12s;white-space:nowrap}
.cv-pill:hover{border-color:var(--accent);color:var(--accent)}
.cv-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}
.cv-filter-controls{display:flex;gap:8px}
.cv-select{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-size:12px;font-weight:300;color:var(--text2);cursor:pointer;outline:none;transition:border-color 0.12s}
.cv-select:focus{border-color:var(--accent)}
.cv-section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);padding:18px 0 8px}
.cv-divider{height:1px;background:var(--border);margin-bottom:4px}
.cv-loading{display:flex;align-items:center;gap:10px;padding:40px 0;color:var(--text3);font-size:13px;font-weight:300}
.cv-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid rgba(0,0,0,0.06);cursor:pointer;position:relative;transition:background 0.1s}
.cv-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:0;transition:opacity 0.12s}
.cv-row:hover{background:rgba(36,49,58,0.025)}
.cv-row:hover::before{opacity:1}
.cv-row-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:10px 12px 10px 8px}
.cv-row-right{flex-shrink:0;padding-right:8px}
.cv-row-icon{color:var(--text3);display:flex;align-items:center;flex-shrink:0}
.cv-row-ref{font-family:'DM Mono',monospace;font-size:11px;color:var(--text3);white-space:nowrap;flex-shrink:0}
.cv-row-client{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-type-badge{display:inline-flex;align-items:center;background:var(--surface2,rgba(36,49,58,0.06));color:var(--text2);font-size:11px;font-weight:400;padding:2px 9px;border-radius:10px;white-space:nowrap;flex-shrink:0}
.cv-deadline-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:2px 9px;border-radius:10px;white-space:nowrap;flex-shrink:0}
.cv-deadline-today{background:var(--danger-light);color:var(--danger)}
.cv-deadline-soon{background:var(--warn-light);color:var(--warn)}
.cv-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}
.cv-avatar-empty{width:24px;height:24px;border-radius:50%;background:rgba(36,49,58,0.07);display:inline-block;flex-shrink:0}
.cv-empty-msg{padding:60px 0;text-align:center;font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:15px;color:var(--text3)}
.cv-empty-msg br{display:block;margin-top:12px;content:''}
.cv-empty-link{background:none;border:none;font-size:13px;color:var(--accent);cursor:pointer;text-decoration:underline;margin-top:10px;display:inline-block}
.badge-archived{background:var(--surface2);color:var(--text3)}
.badge-archived .badge-dot{background:var(--text3)}
.badge-fell-through{background:var(--danger-light);color:var(--danger)}.badge-fell-through .badge-dot{background:var(--danger)}
/* Nota Simple extraction */
.ns-extract-btn{color:var(--accent)!important;font-weight:500}
.ns-table{border-collapse:collapse;font-size:12px}
.ns-table td,.ns-table th{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top}
.ns-table th{font-weight:600;color:var(--text2);font-size:11px;background:var(--surface2)}
.ns-label{font-weight:500;color:var(--text2);white-space:nowrap;width:160px;padding-right:12px}
.ns-owners td,.ns-charges td{color:var(--text1);font-size:11px}
.ns-input{width:100%}

/* ── Case workspace v2 ── */
.detail-panel.dv2{width:100vw;max-width:100vw;left:0;right:0}
.dh-v2{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 20px 10px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}
.dh-v2-left{min-width:0;flex:1}
.dh-v2-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.dh-v2-client{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;font-style:italic;color:var(--text);line-height:1.2;margin:2px 0 3px}
.d-deadline-strip{display:flex;align-items:center;gap:20px;padding:7px 20px;border-bottom:1px solid var(--border);background:var(--surface2);font-size:12px;color:var(--text2);flex-shrink:0;min-height:32px}
.dstrip-item{display:flex;align-items:center;gap:5px}
.dstrip-lbl{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text3)}
.dstrip-val{font-weight:400}
.dstrip-overdue{color:var(--danger);font-weight:600}
.dstrip-soon{color:var(--warn);font-weight:600}
.dstrip-sep{width:1px;height:14px;background:var(--border);flex-shrink:0}
#dw-workspace{flex:1;overflow:hidden;display:flex;flex-direction:column}
.dw-layout{flex:1;display:flex;overflow:hidden}
.dw-left{flex:0 0 62%;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow-x:visible;overflow-y:hidden;min-width:0}
.dw-right{flex:1;overflow-y:auto;background:var(--surface2);padding:0}
.dw-feed-bar{display:flex;gap:0;padding:0;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}
.dw-feed-bar .dw-pill{flex:1;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font-body);font-size:11px;font-weight:400;color:var(--text3);padding:10px 4px;cursor:pointer;transition:all .12s;letter-spacing:.1px;white-space:nowrap;text-align:center}
.dw-feed-bar .dw-pill:hover{color:var(--text2)}
.dw-feed-bar .dw-pill.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500;background:none}
.dw-feed{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:5px}
.dw-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:7px;position:relative;cursor:default;transition:box-shadow .1s,border-color .12s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.dw-item:hover{border-color:rgba(44,95,138,.18);box-shadow:0 2px 8px rgba(0,0,0,.07)}
.dw-item-doc:hover{border-color:rgba(74,111,165,.25)}
.dw-item-note:hover{border-color:rgba(44,95,138,.25)}
.dw-date-sep{display:flex;align-items:center;gap:8px;padding:4px 2px;flex-shrink:0}
.dw-date-sep::before,.dw-date-sep::after{content:'';flex:1;height:1px;background:var(--border);opacity:.7}
.dw-date-sep span{font-size:10px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.dw-item-icon{width:32px;height:32px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.dw-item-icon-doc{background:#E8EFF8;color:#4A6FA5}
.dw-item-icon-note{background:rgba(36,49,58,0.08);color:var(--accent)}
.dw-item-body{flex:1;min-width:0}
.dw-item-title{font-size:13px;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-item-meta{font-size:11px;color:var(--text3);font-weight:300;margin-top:2px}
.dw-item-text{font-size:12px;color:var(--text2);font-weight:300;margin-top:4px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.dw-feed-empty{padding:48px 20px;text-align:center;font-size:13px;color:var(--text3);font-weight:300;font-style:italic}
.dw-action-bar{display:grid;grid-template-columns:repeat(2,1fr);background:var(--accent);flex-shrink:0}
.dw-ab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px;border:none;background:none;color:rgba(255,255,255,.75);cursor:pointer;font-family:var(--font-body);font-size:10px;font-weight:400;letter-spacing:.3px;transition:all .15s;border-right:1px solid rgba(255,255,255,.07)}
.dw-ab-btn:last-child{border-right:none}
.dw-ab-btn:hover{background:rgba(255,255,255,.09);color:#fff}
.dw-ab-activity{display:none;align-items:center;gap:4px;padding:0 12px;border:none;background:none;font-family:var(--font-body);font-size:10px;font-weight:400;color:var(--text3);cursor:pointer;letter-spacing:.3px;transition:color .15s;margin-left:auto;flex-shrink:0}
.dw-ab-activity:hover{color:var(--text2)}
.dw-ab-activity.active{color:var(--accent);font-weight:500}
.dw-more-dropdown{position:absolute;bottom:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:160px;z-index:200;overflow:hidden}
.dw-more-item{display:block;width:100%;text-align:left;padding:9px 14px;border:none;background:none;font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--text2);cursor:pointer;transition:background .1s}
.dw-more-item:hover{background:var(--surface2);color:var(--text)}
.dw-composer-wrap{border-top:1px solid var(--border);padding:10px 14px;background:var(--surface);flex-shrink:0}
.dw-composer-textarea{width:100%;resize:none;min-height:80px;font-family:var(--font-body);font-size:13px;font-weight:300;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);color:var(--text1);outline:none;line-height:1.45;box-sizing:border-box}
.dw-composer-textarea:focus{border-color:var(--accent)}
.dw-composer-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
@keyframes cvTrayUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.dw-up-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}
/* Upload panel */
.dw-up-zone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:12px 16px;border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:2rem 1rem;text-align:center;cursor:default;transition:border-color .15s,background .15s}
.dw-up-zone.drag{border-color:var(--accent);background:var(--accent-light)}
.dw-up-title{font-size:14px;font-weight:400;color:var(--text2);margin-bottom:.25rem}
.dw-up-types{font-size:11px;color:var(--text3);font-weight:300;margin-bottom:.75rem;letter-spacing:.4px}
.dw-up-browse{font-size:12px;color:var(--text3);cursor:default}.dw-up-browse span{color:var(--accent);font-weight:500;cursor:pointer;text-decoration:underline}
.dw-up-file-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.dw-up-file-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.dw-up-file-size{font-size:11px;color:var(--text3);white-space:nowrap}
/* Sidebar sections */
.ds-section{border-bottom:1px solid var(--border)}
.ds-hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;cursor:pointer;user-select:none;transition:background .1s}
.ds-hdr:hover{background:rgba(36,49,58,0.04)}
.ds-hdr-title{font-size:10px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--text3)}
.ds-hdr-chev{color:var(--text3);transition:transform .2s;display:flex;align-items:center}
.ds-hdr-chev.open{transform:rotate(180deg)}
.ds-body{padding:0 14px 10px}
.ds-body.hidden{display:none}
.ds-row{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:12px}
.ds-lbl{color:var(--text3);font-weight:300;flex-shrink:0;min-width:80px}
.ds-val{color:var(--text2);font-weight:400;flex:1;word-break:break-word}
.ds-val-overdue{color:var(--danger);font-weight:600}
.ds-val-soon{color:var(--warn);font-weight:600}
/* Legacy panel — must be flex column so tab panels can scroll */
#dw-legacy{display:flex;flex-direction:column;flex:1;overflow:hidden}
/* Danger button */
.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#B02E2E;border-color:#B02E2E}
/* Legacy header */
.dw-legacy-hdr{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 8px;background:var(--surface2);flex-shrink:0;gap:0}
.dw-back-btn{display:flex;align-items:center;gap:5px;background:none;border:none;font-family:var(--font-body);font-size:12px;color:var(--text2);cursor:pointer;padding:8px 10px;white-space:nowrap;flex-shrink:0;transition:color .12s}
.dw-back-btn:hover{color:var(--accent)}
.dw-legacy-hdr .detail-tabs{border-bottom:none;flex:1;overflow-x:auto}
/* B56 — message feed item */
.dw-item-msg::before{background:var(--comms);opacity:.6}
.dw-item-icon-msg{background:var(--comms-light);color:var(--comms)}
/* B56 — proactive notice card */
.dw-notice-card{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;background:rgba(36,49,58,.03);border-bottom:1px solid var(--border);flex-shrink:0}
.pn-flag{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:3px 10px;border-radius:10px;white-space:nowrap;letter-spacing:.01em}
.pn-red{background:var(--danger-light);color:var(--danger)}
.pn-amber{background:var(--warn-light);color:var(--warn)}
.pn-blue{background:var(--info-light);color:var(--info)}
.pn-neutral{background:var(--surface2);color:var(--text2)}
/* B56 — case list card improvements */
.cv-row-main{display:flex;flex-direction:column;min-width:0;flex:1}
.cv-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cv-row-sub{font-size:11px;color:var(--text3);font-weight:300;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.cv-deadline-overdue{background:var(--danger-light);color:var(--danger)}
.cv-deadline-near{background:var(--info-light);color:var(--info)}
.cv-deadline-upcoming{background:var(--surface2);color:var(--text3);font-weight:300}
/* B56 — journey progress in sidebar */
.ds-journey-badge{font-size:11px;background:var(--surface2);color:var(--text2);padding:1px 7px;border-radius:var(--radius-lg);margin-left:auto;margin-right:6px;flex-shrink:0}
.ds-journey-bar{height:3px;background:var(--border);border-radius:2px;margin-bottom:8px;overflow:hidden}
.ds-journey-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}
.ds-journey-step{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2);padding:3px 0;font-weight:300}
.ds-journey-dot{width:6px;height:6px;border-radius:50%;background:var(--surface);border:1.5px solid var(--accent);flex-shrink:0}
/* B56 — KB insights clause list */
.ds-kb-clause{font-size:12px;color:var(--text2);padding:3px 0;border-bottom:1px solid rgba(0,0,0,.04);font-weight:300}
/* Wizard mic button */
.wz-mic-btn{padding:0 10px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wz-mic-btn.listening{background:var(--danger);color:#fff;border-color:var(--danger)}



/* ── B57 Document Folders ───────────────────────────────────────────────────── */
.doc-folder-section{margin-bottom:2px}
.doc-folder-hdr{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface2);border-radius:var(--radius-lg);cursor:pointer;user-select:none;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:2px}
.doc-folder-hdr:hover{background:var(--border)}
.doc-folder-hdr-name{flex:1}
.doc-folder-count{font-size:11px;background:var(--surface);color:var(--text3);padding:1px 7px;border-radius:var(--radius-lg);font-weight:400}
.doc-folder-section.collapsed .doc-folder-body{display:none}
.doc-folder-section.collapsed .doc-folder-hdr::after{content:'▸';margin-left:auto;font-size:10px;color:var(--text3)}
.doc-folder-section:not(.collapsed) .doc-folder-hdr::after{content:'▾';margin-left:auto;font-size:10px;color:var(--text3)}
.doc-folder-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:500;padding:1px 7px;border-radius:var(--radius-lg);background:var(--accent-light,var(--info-light));color:var(--accent,var(--info));white-space:nowrap;flex-shrink:0}
.doc-folder-move{margin-top:4px}
.doc-folder-select{font-size:11px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);color:var(--text2);cursor:pointer;max-width:140px}
.doc-folder-select:hover{border-color:var(--accent)}
.doc-folder-select-sm{max-width:110px;font-size:10px;padding:1px 4px}

/* ── B58 Contacts Rebuild ───────────────────────────────────────────────────── */
.malin-dashboard{display:flex;flex-direction:column;gap:1.25rem}
.malin-section{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.malin-section-hdr{padding:.6rem 1rem;font-size:12px;font-weight:600;color:var(--text2);border-bottom:1px solid var(--border);background:var(--surface)}
.malin-section-body{padding:.25rem 0}
.malin-empty{padding:.75rem 1rem;font-size:12px;color:var(--text3);font-weight:300}
.malin-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--border-light)}
.malin-row:last-child{border-bottom:none}
.malin-row-info{flex:1;min-width:0}
.malin-row-name{font-size:13px;font-weight:400;color:var(--text);cursor:pointer}
.malin-row-name:hover{color:var(--accent);text-decoration:underline}
.malin-row-sub{font-size:11px;color:var(--text3);font-weight:300;margin-top:1px}
.malin-row-actions{display:flex;gap:.35rem;flex-shrink:0}

/* ── B59 Operations & Management Layer ─────────────────────────────────────── */
.ops-task-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);cursor:pointer}
.ops-task-row:last-child{border-bottom:none}
.ops-status-badge{font-size:10px;font-weight:500;letter-spacing:.5px;padding:2px 7px;border-radius:10px;white-space:nowrap;flex-shrink:0;text-transform:capitalize}
.ops-status-open{background:var(--accent-light,var(--info-light));color:var(--accent)}
.ops-status-in_progress{background:var(--warn-light);color:var(--warn)}
.ops-status-done{background:var(--success-light);color:var(--success-fg)}
.ops-task-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.5rem}
.ops-task-card:hover{border-color:var(--accent)}
/* Task Section tabs */
.tk-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.45rem .85rem;font-size:13px;font-weight:500;color:var(--text3);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}
.tk-tab:hover{color:var(--text1)}
.tk-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
/* Unified task card */
.tk-card{background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:10px;transition:border-color .15s}
.tk-card:hover{border-color:var(--accent)}
.tk-card.tk-overdue{border-left-color:var(--danger)}
.tk-card.tk-today{border-left-color:var(--warn)}
.tk-card.tk-done{opacity:.55}
.tk-case-group{margin-bottom:1.25rem}
.tk-case-group-hdr{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);margin-bottom:.4rem;padding-bottom:.3rem;border-bottom:1px solid var(--border);cursor:pointer}
.tk-case-group-hdr:hover{color:var(--accent)}
.ops-alert-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.ops-alert-row:last-child{border-bottom:none}
/* Decision cards */
.ops-decision-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem;transition:border-color .15s}
.ops-decision-card:hover{border-color:var(--accent-light)}
.ops-dec-title{font-size:14px;font-weight:400;margin-bottom:2px;line-height:1.3}
.ops-dec-desc{font-size:12px;color:var(--text3);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ops-dec-meta{font-size:11px;color:var(--text3)}
.ops-dec-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:.5rem}
.ops-urgency-critical{background:var(--danger-light);color:var(--error);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:500}
.ops-urgency-urgent{background:var(--warn-light);color:var(--warn);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:500}
.ops-urgency-normal{background:var(--surface);color:var(--text3);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:500;border:1px solid var(--border)}
.ops-urgency-routine{background:var(--surface);color:var(--text3);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:500;opacity:.6}
/* Contract rows */
.ops-contract-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.ops-contract-row:last-child{border-bottom:none}
.ops-contract-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ops-contract-dot.red{background:var(--error)}
.ops-contract-dot.amber{background:var(--warn)}
.ops-contract-dot.green{background:var(--success-fg)}
.ops-contract-dot.none{background:var(--text3)}
/* Leave calendar */
.ops-leave-entry{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);align-items:flex-start}
.ops-leave-entry:last-child{border-bottom:none}
.ops-vendor-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.ops-vendor-row:last-child{border-bottom:none}
.ops-meeting-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}
.ops-csd-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}
.ops-csd-col{min-width:180px;flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.ops-csd-col-hdr{padding:.5rem .75rem;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.ops-csd-count{font-size:11px;font-weight:400;background:var(--surface);color:var(--text3);padding:1px 7px;border-radius:var(--radius-lg)}
.ops-csd-col-body{padding:.5rem;display:flex;flex-direction:column;gap:.4rem;min-height:80px}
.ops-doc-cat{font-size:11px;font-weight:500;padding:.25rem .65rem;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface2);color:var(--text2);cursor:pointer;letter-spacing:.03em;transition:all .15s}
.ops-doc-cat:hover{border-color:var(--accent);color:var(--accent)}
.ops-doc-cat.active{background:var(--accent);border-color:var(--accent);color:#fff}
.ops-doc-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-bottom:1px solid var(--border-light);font-size:12px}
.ops-doc-row:last-child{border-bottom:none}
.ops-doc-row:hover{background:var(--surface2)}
.ops-doc-icon{font-size:14px;flex-shrink:0;width:20px;text-align:center}
.ops-doc-name{flex:1;color:var(--text);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-doc-cat-badge{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);background:var(--surface2);border:1px solid var(--border-light);padding:1px 6px;border-radius:var(--radius-lg);flex-shrink:0}
.ops-doc-date{font-size:10px;color:var(--text3);flex-shrink:0;min-width:70px;text-align:right}
.ops-csd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem;cursor:pointer;font-size:13px}
.ops-csd-card:hover{border-color:var(--accent)}
.ops-home-task{display:flex;flex-direction:column;gap:2px;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer}
.ops-home-task:last-child{border-bottom:none}
.ops-home-task.overdue .ops-home-task-title{color:var(--error)}
.ops-home-task-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;margin-right:6px;vertical-align:middle}
.ops-home-task-title{font-size:13px;font-weight:400}
.ops-home-task-meta{font-size:11px;color:var(--text3)}
.ops-home-alert{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}
.ops-home-alert:last-child{border-bottom:none}
.ops-home-alert-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.ops-home-alert-label{font-size:13px;color:var(--text2)}
.ops-home-alert-date{font-size:11px;color:var(--text3)}

/* ── B59 Phase 2 — Leave Calendar + Manager Portals ────────────────────────── */
.lcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.lcal-hdr{text-align:center;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);padding:4px 0}
.lcal-cell{min-height:56px;border:1px solid var(--border-light,#e8eaed);border-radius:var(--radius);padding:3px;background:var(--surface2)}
.lcal-cell.lcal-empty{border:none;background:none}
.lcal-cell.lcal-today{border-color:var(--accent);background:var(--accent-light)}
.lcal-cell.lcal-has-leave{background:var(--warn-light)}
.lcal-day-num{font-size:11px;font-weight:500;color:var(--text3);line-height:1.4}
.lcal-today .lcal-day-num{color:var(--accent);font-weight:700}
.lcal-chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}
.lcal-chip{font-size:9px;background:var(--warn);color:#fff;border-radius:var(--radius);padding:1px 4px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis;line-height:1.5}
.ops-home-csd-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 8px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent);border-radius:10px}
.ops-home-csd-count{font-weight:600;font-size:13px}

/* ── Sign-Off Cards ── */
.signoff-card{border-radius:var(--radius-lg);padding:12px 14px;margin:0;border-left:4px solid var(--border);background:var(--surface);font-size:13px;max-width:340px}
.signoff-card-t1{border-left-color:var(--success)}
.signoff-card-t2{border-left-color:var(--warn)}
.signoff-card-t3{border-left-color:var(--danger)}
.signoff-card-header{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.signoff-tier-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text2)}
.signoff-desc{color:var(--text);font-weight:500;line-height:1.4}
.signoff-diff{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:8px;background:var(--bg);border-radius:var(--radius)}
.signoff-diff-row{display:flex;align-items:baseline;gap:6px;font-size:12px;flex-wrap:wrap}
.signoff-diff-key{color:var(--text2);min-width:80px;flex-shrink:0;text-transform:capitalize}
.signoff-diff-old{color:var(--danger);text-decoration:line-through;word-break:break-all}
.signoff-diff-arrow{color:var(--text2);flex-shrink:0}
.signoff-diff-new{color:var(--success);font-weight:600;word-break:break-all}
.signoff-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.signoff-approve-btn{padding:5px 14px;background:var(--success);color:#fff;border:none;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}
.signoff-approve-btn:hover:not(:disabled){opacity:.85}
.signoff-approve-btn:disabled{opacity:.5;cursor:not-allowed}
.signoff-reject-btn{padding:5px 14px;background:transparent;color:var(--text2);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;cursor:pointer;transition:background .15s}
.signoff-reject-btn:hover{background:var(--bg)}
.signoff-timer{font-size:11px;color:var(--text2);font-style:italic}
.signoff-done-label{font-size:12px;font-weight:600;color:var(--success)}
.signoff-rejected-label{color:var(--danger)}
.signoff-card-done{border-left-color:var(--success);opacity:.7}
.signoff-card-rejected{border-left-color:var(--danger);opacity:.7}

/* ── Home Pending Approvals Panel ── */
.signoff-home-list{display:flex;flex-direction:column;gap:6px}
.signoff-home-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg);border-radius:var(--radius-lg);font-size:12px}
.signoff-home-t1{border-left:3px solid var(--success)}
.signoff-home-t2{border-left:3px solid var(--warn)}
.signoff-home-t3{border-left:3px solid var(--danger)}
.signoff-home-tier{font-size:10px;font-weight:700;color:var(--text2);flex-shrink:0;min-width:18px}
.signoff-home-desc{flex:1;color:var(--text);line-height:1.3}

/* ── Alfred Audit Table ── */
.audit-table-wrap{overflow-x:auto}
.audit-table{width:100%;border-collapse:collapse;font-size:12px}
.audit-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--border);color:var(--text2);font-weight:600;white-space:nowrap}
.audit-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.audit-row:hover td{background:var(--bg)}
.audit-ts{white-space:nowrap;color:var(--text2);font-size:11px}
.audit-desc{max-width:260px;word-break:break-word}
.audit-outcome{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.audit-approved{background:var(--green-soft);color:var(--success-fg)}
.audit-rejected{background:var(--danger-light);color:var(--danger)}
.audit-pending{background:var(--warn-light);color:var(--warn)}
.audit-failed{background:var(--danger-light);color:var(--danger)}
.audit-draft{background:var(--info-light);color:var(--info)}

/* ── CRM Tier Badges (legacy) ── */
.crm-tier-badge{display:inline-block;font-size:10px;border-radius:var(--radius-lg);padding:1px 7px;font-weight:500;white-space:nowrap}
.crm-tier-ambassador{background:rgba(31,122,79,0.13);color:var(--success-fg)}
.crm-tier-priority{background:rgba(201,169,110,0.13);color:var(--gold-2)}
.crm-tier-standard{background:rgba(107,109,120,0.13);color:var(--text3)}

/* ══════════════════════════════════════════════
   THE REGISTER — CRM V2 Design Language
   Background: #101820  Surface: #1a242d  Gold: #C9A96E  Text: #E8DFD0
   ══════════════════════════════════════════════ */
.reg-view{background:var(--bg);min-height:100%;color:var(--text)}
.reg-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border-light);padding:0 1.5rem;background:var(--surface);overflow-x:auto}
.reg-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text2);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1.25rem;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;font-family:inherit}
.reg-tab:hover{color:var(--text)}
.reg-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
/* Masthead */
.reg-masthead{text-align:center;padding:2.5rem 1.5rem 2rem;border-bottom:1px solid rgba(201,169,110,0.12)}
.reg-masthead-sub{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(201,169,110,0.6);margin-bottom:.85rem}
.reg-masthead-h1{font-family:'Jost','Inter Tight',sans-serif;font-size:38px;font-weight:200;color:var(--accent);margin:0;line-height:1;letter-spacing:-.02em}
.reg-masthead-date{font-size:10px;color:var(--text3);letter-spacing:.14em;margin-top:.6rem;text-transform:uppercase}
/* Engraved plaques */
.reg-plaques{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(201,169,110,0.12);border-bottom:1px solid rgba(201,169,110,0.12)}
.reg-plaque{background:var(--accent);padding:2rem 1.5rem;text-align:center;position:relative;border-right:1px solid rgba(201,169,110,0.15)}
.reg-plaque:last-child{border-right:none}
.reg-plaque::before,.reg-plaque::after{content:'✦';position:absolute;top:11px;font-size:7px;color:rgba(201,169,110,0.35)}
.reg-plaque::before{left:13px}.reg-plaque::after{right:13px}
.reg-plaque-label{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,169,110,0.55);margin-bottom:.6rem}
.reg-plaque-val{font-family:'DM Mono',monospace;font-size:40px;font-weight:500;color:var(--gold);line-height:1}
.reg-plaque-sub{font-size:9px;color:rgba(232,223,208,0.3);margin-top:.4rem;letter-spacing:.08em}
/* Leaderboards */
.reg-leaderboards{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(201,169,110,0.12)}
.reg-lb{padding:1.5rem;border-right:1px solid rgba(201,169,110,0.12)}
.reg-lb:last-child{border-right:none}
.reg-lb-title{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,169,110,0.55);margin-bottom:1.1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(201,169,110,0.12)}
.reg-lb-row{display:grid;grid-template-columns:22px 20px 1fr auto;gap:.6rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s;border-radius:2px}
.reg-lb-row:hover{background:rgba(201,169,110,0.06)}
.reg-lb-row:last-child{border-bottom:none}
.reg-lb-row.reg-ambassador{background:linear-gradient(90deg,rgba(201,169,110,0.1),rgba(201,169,110,0.03))}
.reg-lb-row.reg-ambassador .reg-lb-name{color:var(--gold)}
.reg-lb-rank{font-family:'DM Mono',monospace;font-size:11px;color:rgba(201,169,110,0.4);text-align:right}
.reg-lb-tier-icon{font-size:12px;text-align:center;line-height:1}
.reg-lb-name{font-size:13px;color:var(--text);font-weight:400}
.reg-lb-name-sub{font-size:10px;color:var(--text3);margin-top:1px}
.reg-lb-score{font-family:'DM Mono',monospace;font-size:18px;font-weight:500;color:var(--gold);text-align:right;line-height:1;white-space:nowrap}
/* Register content area (panels below tab bar) */
.reg-content{padding:1.5rem;max-width:1280px;margin:0 auto}
/* Register table */
.reg-table{width:100%;border-collapse:collapse;font-size:12px}
.reg-table th{padding:.65rem 1rem;text-align:left;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--border-light);font-weight:400;white-space:nowrap}
.reg-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text);vertical-align:middle}
.reg-table tbody tr{cursor:pointer;transition:background .1s}
.reg-table tbody tr:hover{background:var(--surface2)}
.reg-table tbody tr.reg-ambassador-row{background:linear-gradient(90deg,rgba(168,137,63,0.07),transparent)}
.reg-table tbody tr.reg-ambassador-row td:first-child{border-left:2px solid var(--gold-2)}
.reg-rank-cell{font-family:'DM Mono',monospace;font-size:11px;color:var(--text3);text-align:right;width:32px}
.reg-score-cell{font-family:'DM Mono',monospace;font-size:17px;font-weight:500;color:var(--gold-2);line-height:1;text-align:right;white-space:nowrap}
.reg-tier-icon{font-size:13px;line-height:1}
.reg-tier-icon.ambassador{color:var(--gold-2)}
.reg-tier-icon.recognised{color:var(--text3)}
/* Search/filter bar in Register panels */
.reg-filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}
.reg-filter-btn{background:none;border:1px solid var(--border);color:var(--text3);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .85rem;border-radius:2px;cursor:pointer;transition:all .15s;font-family:inherit}
.reg-filter-btn.active,.reg-filter-btn:hover{border-color:var(--gold-2);color:var(--gold-2);background:rgba(168,137,63,0.07)}
.reg-search{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:12px;padding:.45rem .85rem;border-radius:2px;width:220px;font-family:inherit}
.reg-search::placeholder{color:var(--text3)}
.reg-search:focus{outline:none;border-color:var(--gold-2)}
/* Action Items — "Going Quiet" */
.reg-going-quiet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}
.reg-going-quiet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;transition:border-color .15s}
.reg-going-quiet.warn{border-left:3px solid var(--gold-2)}
.reg-going-quiet.urgent{border-left:3px solid var(--danger)}
.reg-going-quiet-name{font-size:13px;color:var(--text);font-weight:500;margin-bottom:.2rem}
.reg-going-quiet-meta{font-size:11px;color:var(--text3);margin-bottom:.65rem}
.reg-going-quiet-btns{display:flex;gap:.4rem}
.reg-going-quiet-btn{background:none;border:1px solid var(--border);color:var(--text2);font-size:10px;padding:.25rem .65rem;border-radius:2px;cursor:pointer;font-family:inherit;transition:all .15s}
.reg-going-quiet-btn:hover{border-color:var(--gold-2);color:var(--gold-2)}
/* Network cards */
.reg-network-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}
.reg-network-card{background:var(--crm-cream-2,var(--surface2));border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem 1.1rem;cursor:pointer;transition:border-color .15s,background .15s}
.reg-network-card:hover{border-color:var(--gold-2)}
.reg-network-card-name{font-size:13px;color:var(--text);font-weight:500;margin-bottom:.15rem}
.reg-network-card-type{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:.55rem}
.reg-network-card-detail{font-size:11px;color:var(--text3);line-height:1.5}

/* ══════════════════════════════════════════════
   CRM OVERVIEW — Light Edition (cream paper)
   .crm-tabs + .crm-overview scoped blocks
   ══════════════════════════════════════════════ */
#view-crm{margin:0 -2rem}
.crm-tabs{background:var(--surface);border-bottom:1px solid var(--border-light);padding:0 36px;display:flex;align-items:center;height:50px;overflow-x:auto;scrollbar-width:none}
.crm-tabs::-webkit-scrollbar{display:none}
.crm-tabs .crm-tab{background:transparent;border:0;padding:16px 20px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}
.crm-tabs .crm-tab:hover{color:var(--text)}
.crm-tabs .crm-tab.active{color:var(--text);border-bottom-color:var(--gold)}
.crm-overview{--crm-cream:var(--bg);--crm-cream-2:var(--surface2);background:var(--bg);padding:0 36px 80px}
/* Plate */
.crm-overview .plate{text-align:center;padding:64px 24px 40px;border-bottom:1px solid var(--border-light)}
.crm-overview .plate .eye{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--text3);font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px}
.crm-overview .plate .eye .dot{width:3px;height:3px;border-radius:50%;background:var(--gold);display:inline-block}
.crm-overview .plate h1{font-family:'Jost','Inter Tight',sans-serif;font-weight:200;font-size:52px;line-height:1;color:var(--accent);margin:18px 0 12px;letter-spacing:-.03em}
.crm-overview .plate .date{font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);font-weight:500;font-family:'JetBrains Mono',monospace}
/* KPI strip */
.crm-overview .kpis{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border-light)}
.crm-overview .kpi{position:relative;padding:38px 24px 36px;text-align:center;cursor:pointer}
.crm-overview .kpi+.kpi{border-left:1px solid var(--border-light)}
.crm-overview .kpi::before,.crm-overview .kpi::after,.crm-overview .kpi .crn-bl,.crm-overview .kpi .crn-br{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--border)}
.crm-overview .kpi::before{top:8px;left:8px;border-right:0;border-bottom:0}
.crm-overview .kpi::after{top:8px;right:8px;border-left:0;border-bottom:0}
.crm-overview .kpi .crn-bl{bottom:8px;left:8px;border-right:0;border-top:0}
.crm-overview .kpi .crn-br{bottom:8px;right:8px;border-left:0;border-top:0}
.crm-overview .kpi .lab{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:14px}
.crm-overview .kpi .num{font-family:'DM Mono',monospace;font-weight:500;font-size:56px;line-height:1;color:var(--gold-2);margin-bottom:8px;letter-spacing:-.02em}
.crm-overview .kpi.pending .num{color:var(--gold-3)}
.crm-overview .kpi .sub{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3)}
/* Ledgers */
.crm-overview .ledgers{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-light)}
.crm-overview .ledger{padding:28px 28px 8px}
.crm-overview .ledger+.ledger{border-left:1px solid var(--border-light)}
.crm-overview .ledger-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border-light);margin-bottom:4px}
.crm-overview .ledger-head .ttl{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500}
.crm-overview .ledger-head .ct{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3)}
.crm-overview .row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px dashed var(--border-light);cursor:pointer}
.crm-overview .row:last-child{border-bottom:0}
.crm-overview .row:hover{background:var(--crm-cream-2)}
.crm-overview .row .rk{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text3);text-align:right}
.crm-overview .row .rk.medal{color:var(--gold-2);font-weight:500}
.crm-overview .row .nm{font-family:'Jost','Inter Tight',sans-serif;font-size:14px;color:var(--text);font-weight:400;line-height:1.2}
.crm-overview .row .nm em{font-style:italic;color:var(--text2);font-weight:300}
.crm-overview .row .val{font-family:'DM Mono',monospace;font-size:18px;color:var(--gold-2);font-weight:500}
.crm-overview .row .val .un{font-style:normal;font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-left:6px;vertical-align:2px}
.crm-overview .ledger .more{text-align:center;padding:16px 0 24px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500;cursor:pointer}
.crm-overview .ledger .more:hover{color:var(--gold-3)}
/* Flourish */
.crm-overview .flourish{text-align:center;padding:36px 0 0;color:var(--text3);font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:18px}
.crm-overview .flourish .ln{flex:0 0 80px;height:1px;background:var(--border-light)}

/* ══════════════════════════════════════════════
   PULSE — Light Edition (cream paper)
   .pulse-paper scoped block
   ══════════════════════════════════════════════ */
#view-partner-pulse{margin:0 -2rem}
.pulse-paper{--pp-cream:var(--bg);--pp-cream-2:var(--surface2);background:var(--bg);padding:0 48px 80px}
.pulse-paper .pp-plate{position:relative;text-align:center;padding:56px 24px 36px;border-bottom:1px solid var(--border-light)}
.pulse-paper .pp-eye{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px}
.pulse-paper .pp-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);display:inline-block}
.pulse-paper .pp-plate h1{font-family:'Jost','Inter Tight',sans-serif;font-weight:200;font-size:52px;line-height:1;color:var(--accent);margin:16px 0 10px;letter-spacing:-.03em}
.pulse-paper .pp-date{font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);font-weight:500;font-family:'JetBrains Mono',monospace}
.pulse-paper .pp-refresh-btn{position:absolute;right:0;top:52px;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;background:none;border:1px solid var(--border);color:var(--text3);padding:5px 12px;border-radius:1px;cursor:pointer}
.pulse-paper .pp-refresh-btn:hover{border-color:var(--text2);color:var(--text)}
.pulse-paper .pp-section{padding:32px 0;border-bottom:1px solid var(--border-light)}
.pulse-paper .pp-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}
.pulse-paper .pp-label{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500}
.pulse-paper .pp-sublabel{font-size:11px;color:var(--text3);font-weight:300;margin-top:3px}
.pulse-paper .pp-label-right{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3)}
.pulse-paper .pp-link{font-size:11px;color:var(--accent);text-decoration:none}
.pulse-paper .pp-link:hover{color:var(--gold-3)}
.pulse-paper .pp-loading{color:var(--text3);font-size:13px;font-weight:300}
/* Paired row (Pending + Automation) */
.pulse-paper .pp-paired-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-light)}
.pulse-paper .pp-paired-half{border-bottom:none;padding-right:32px}
.pulse-paper .pp-paired-half+.pp-paired-half{padding-right:0;padding-left:32px;border-left:1px solid var(--border-light)}
/* Cases grid */
.pulse-paper .pp-cases-layout{display:grid;grid-template-columns:280px 1fr;gap:0;border:1px solid var(--border-light)}
.pulse-paper .pp-firm-total{background:var(--surface2);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border-light)}
.pulse-paper .pp-ft-num{font-family:'DM Mono',monospace;font-size:60px;font-weight:500;line-height:1;color:var(--gold-2);font-feature-settings:'tnum' 1,'lnum' 1}
.pulse-paper .pp-ft-sub{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:13px;color:var(--text2);margin-top:6px;line-height:1.4}
.pulse-paper .pp-ft-vs{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3);margin-top:10px}
.pulse-paper .pp-office-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--border-light);gap:1px}
.pulse-paper .pp-office-cell{background:var(--surface);padding:18px 16px}
.pulse-paper .pp-oc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pulse-paper .pp-oc-name{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;font-weight:500;color:var(--text3)}
.pulse-paper .pp-oc-num{font-family:'DM Mono',monospace;font-size:32px;font-weight:500;line-height:1;color:var(--gold-2);font-feature-settings:'tnum' 1,'lnum' 1}
.pulse-paper .pp-oc-vs{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3);margin-top:4px}
.pulse-paper .pp-oc-prior{font-family:'JetBrains Mono',monospace;font-style:normal;font-size:11px}
.pulse-paper .pp-spark{display:flex;align-items:flex-end;gap:2px;height:14px;margin-top:6px}
.pulse-paper .pp-spark span{display:inline-block;width:5px;background:var(--gold);border-radius:1px;min-height:2px}
/* Delta pills */
.pulse-paper .pp-delta-up{color:var(--success);font-size:9px;font-weight:500;padding:2px 5px;background:var(--green-soft);border-radius:2px;letter-spacing:.8px}
.pulse-paper .pp-delta-dn{color:var(--danger);font-size:9px;font-weight:500;padding:2px 5px;background:var(--red-soft);border-radius:2px;letter-spacing:.8px}
.pulse-paper .pp-delta-flat{color:var(--text3);font-size:9px;font-weight:500;padding:2px 5px;background:var(--surface2);border-radius:2px;letter-spacing:.8px}
/* Financial tiles */
.pulse-paper .pp-fin-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-light)}
.pulse-paper .pp-fin-tile{background:var(--pp-cream);padding:28px 20px 24px}
.pulse-paper .pp-fin-tile .ft-lab{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:12px}
.pulse-paper .pp-fin-tile .ft-num{font-family:'DM Mono',monospace;font-weight:500;font-size:40px;line-height:1;color:var(--gold-2);letter-spacing:-.02em;font-feature-settings:'tnum' 1,'lnum' 1}
.pulse-paper .pp-fin-tile .ft-sub{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:12px;color:var(--text3);margin-top:6px}
.pulse-paper .pp-fin-tile .ft-vs{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:11px;color:var(--text3);margin-top:6px}
.pulse-paper .pp-fin-tile.ft-na .ft-num{color:var(--text3);font-size:36px;letter-spacing:0}
/* Satisfaction grid */
.pulse-paper .pp-satisfaction-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.pulse-paper .pp-sat-source{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);font-weight:500}
.pulse-paper .pp-empty-state{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:13px;color:var(--text3);padding-top:4px;line-height:1.6}
/* Alfred chat */
.pulse-paper .pp-alfred{border-left:3px solid var(--gold);padding-left:24px}
.pulse-paper .pp-alfred .pp-section-head{align-items:flex-start}
.pulse-paper .pp-prompts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.pulse-paper .pp-chat-msgs{max-height:420px;overflow-y:auto;margin-bottom:.75rem}
.pulse-paper .pp-chat-input{display:flex;gap:.5rem}
/* Flourish */
.pulse-paper .pp-flourish{text-align:center;padding:36px 0 0;color:var(--text3);font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:18px}
.pulse-paper .pp-ln{flex:0 0 80px;height:1px;background:var(--border-light)}
/* Pulse v3 — Cormorant section headers */
.pulse-paper .pp-sub{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:13px;color:var(--text3);margin-bottom:14px}
.pulse-paper .pp-sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}
.pulse-paper .pp-sec-ttl{font-family:'Jost','Inter Tight',sans-serif;font-weight:300;font-size:22px;color:var(--text);line-height:1;letter-spacing:-.01em}
.pulse-paper .pp-sec-meta{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500;display:flex;align-items:center;gap:14px}
.pulse-paper .pp-sec-meta a{color:var(--gold-3);text-decoration:none}
.pulse-paper .pp-sec-meta a:hover{color:var(--text)}
/* Paired row */
.pulse-paper .pp-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-light)}
.pulse-paper .pp-pair>.pp-section{border-bottom:0;padding:36px 28px}
.pulse-paper .pp-pair>.pp-section:first-child{border-right:1px solid var(--border-light);padding-left:0}
.pulse-paper .pp-pair>.pp-section:last-child{padding-right:0}
/* Big stat block (pending + automation) */
.pulse-paper .pp-big-stat{display:flex;align-items:baseline;gap:18px;margin-bottom:26px}
.pulse-paper .pp-big-stat .num{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:84px;line-height:.9;color:var(--gold-2)}
.pulse-paper .pp-big-stat .num.zero{color:var(--text3)}
.pulse-paper .pp-big-stat .pct{font-size:48px;color:var(--gold-2);margin-left:2px}
.pulse-paper .pp-big-stat .lab-stack{display:flex;flex-direction:column;gap:4px}
.pulse-paper .pp-big-stat .l1{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500}
.pulse-paper .pp-big-stat .l2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:14px;color:var(--text3)}
.pulse-paper .pp-bars{display:grid;gap:14px}
.pulse-paper .pp-bar-row{display:grid;grid-template-columns:110px 1fr 60px;align-items:center;gap:14px}
.pulse-paper .pp-bar-row .lab{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500}
.pulse-paper .pp-bar-track{height:6px;background:var(--border-light);border-radius:1px;position:relative;overflow:hidden}
.pulse-paper .pp-bar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:1px}
.pulse-paper .pp-bar-fill.gold{background:var(--gold-2)}
.pulse-paper .pp-bar-row .val{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text);font-weight:500;text-align:right}
.pulse-paper .pp-auto-rows{display:grid;gap:0}
.pulse-paper .pp-auto-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--border-light)}
.pulse-paper .pp-auto-row:last-child{border-bottom:0}
.pulse-paper .pp-auto-row .lab{font-size:11px;color:var(--text2)}
.pulse-paper .pp-auto-row .val{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text);font-weight:500}
/* New cases v3 */
.pulse-paper .pp-nc-wrap{display:grid;grid-template-columns:320px 1fr;gap:0;border:1px solid var(--border-light);border-radius:1px;overflow:hidden}
.pulse-paper .pp-nc-total{background:var(--surface2);padding:32px 28px;border-right:1px solid var(--border-light);display:flex;flex-direction:column;justify-content:center}
.pulse-paper .pp-nc-total .lab{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:14px}
.pulse-paper .pp-nc-total .now{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:92px;line-height:.9;color:var(--gold-2);letter-spacing:-1px;margin-bottom:12px}
.pulse-paper .pp-nc-total .row{display:flex;align-items:center;gap:10px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:15px;color:var(--text3);margin-bottom:4px}
.pulse-paper .pp-nc-total .row .delta{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;font-weight:500;padding:3px 8px;border-radius:1px}
.pulse-paper .pp-nc-total .row .delta.up{color:var(--success);background:var(--green-soft)}
.pulse-paper .pp-nc-total .row .delta.down{color:var(--danger);background:var(--red-soft)}
.pulse-paper .pp-nc-total .row .delta.flat{color:var(--text3);background:var(--surface2)}
.pulse-paper .pp-nc-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--border-light);gap:1px}
.pulse-paper .pp-nc-cell{background:var(--surface);padding:22px 22px 20px}
.pulse-paper .pp-nc-cell .office{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pulse-paper .pp-nc-cell .name{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:500}
.pulse-paper .pp-nc-cell .now{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:44px;line-height:.95;color:var(--gold-2);margin-bottom:6px;letter-spacing:-.5px}
.pulse-paper .pp-nc-cell .vs{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:12px;color:var(--text3);margin-bottom:10px}
.pulse-paper .pp-nc-cell .delta{display:inline-flex;align-items:center;gap:3px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:500;padding:2px 6px;border-radius:1px}
.pulse-paper .pp-nc-cell .delta.up{color:var(--success);background:var(--green-soft)}
.pulse-paper .pp-nc-cell .delta.down{color:var(--danger);background:var(--red-soft)}
/* Financials v3 */
.pulse-paper .pp-fin{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-light);border-radius:1px;background:var(--surface)}
.pulse-paper .pp-fin-cell{padding:30px 28px 26px}
.pulse-paper .pp-fin-cell+.pp-fin-cell{border-left:1px solid var(--border-light)}
.pulse-paper .pp-fin-cell .lab{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.pulse-paper .pp-fin-cell .val{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:52px;color:var(--gold-2);line-height:1;margin-bottom:10px;letter-spacing:-.5px}
.pulse-paper .pp-fin-cell.ft-na .val{color:var(--text3);font-size:36px;letter-spacing:0}
.pulse-paper .pp-fin-cell .vs{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:13px;color:var(--text3)}
/* Satisfaction v3 */
.pulse-paper .pp-sat-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-light);border-radius:1px;overflow:hidden}
.pulse-paper .pp-sat-card{padding:30px 28px;background:var(--surface)}
.pulse-paper .pp-sat-card+.pp-sat-card{border-left:1px solid var(--border-light)}
.pulse-paper .pp-sat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.pulse-paper .pp-sat-ttl{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:italic;font-size:22px;color:var(--text)}
/* Alfred v3 */
.pulse-paper .pp-alf{background:var(--surface);border:1px solid var(--border-light);border-left:3px solid var(--gold-2);padding:28px 32px;border-radius:1px;margin-top:36px}
.pulse-paper .pp-alf-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.pulse-paper .pp-alf-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:italic;font-size:22px;color:var(--text)}
.pulse-paper .pp-alf-lab{font-style:normal;font-size:9px;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold-3);font-weight:500;margin-right:10px;vertical-align:4px}
.pulse-paper .pp-alf-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:14px;color:var(--text3);margin-bottom:18px}
.pulse-paper .pp-alf-input{display:grid;grid-template-columns:1fr auto;border:1px solid var(--border);background:#fff;border-radius:1px;overflow:hidden}
.pulse-paper .pp-alf-input input{background:transparent;border:0;outline:0;padding:14px 16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--text);width:100%}
.pulse-paper .pp-alf-input input::placeholder{color:var(--text3)}
.pulse-paper .pp-alf-input button{background:var(--accent);color:#fff;border:0;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;padding:0 22px;cursor:pointer;white-space:nowrap}
.pulse-paper .pp-alf-input button:hover{background:var(--accent-mid)}

/* ── Marketing Campaigns ── */
.crm-campaign-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light)}
.crm-campaign-row:last-child{border-bottom:none}

/* ── Cases recently-viewed chips ── */
.cv-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:12px;transition:border-color .15s,background .15s}
.cv-chip:hover{border-color:var(--accent);background:var(--accent-light)}
.cv-chip-ref{font-weight:500;color:var(--text)}
.cv-chip-client{color:var(--text3);font-weight:300}

/* ── DOSSIER WALL ──────────────────────────────────────────────────────── */
#view-cases{margin:0 -2rem}
/* Plate — editorial masthead, same language as The Pulse and The Register */
.dw-plate{background:var(--plate-bg);text-align:center;padding:48px 24px 32px;border-bottom:1px solid var(--border-light)}
.dw-plate-eye{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text3);font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px}
.dw-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0}
.dw-ttl{font-family:'Jost','Inter Tight',sans-serif;font-weight:200;font-size:48px;line-height:1;margin:0;color:var(--accent);letter-spacing:-.03em}
.dw-strip{background:var(--surface);border-bottom:1px solid var(--border-light);padding:18px 2rem 0}
.dw-strip-row1{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.dw-search{background:var(--bg);border:1px solid var(--border);border-radius:1px;padding:10px 16px;display:flex;align-items:center;gap:10px;max-width:560px;justify-self:center;width:100%}
.dw-sico{color:var(--text3);font-size:17px;line-height:1}
.dw-sinput{flex:1;border:0;outline:0;font-family:inherit;font-size:13px;color:var(--text);background:transparent}
.dw-sinput::placeholder{color:var(--text3);font-size:13px}
.dw-sclear{background:none;border:none;cursor:pointer;color:var(--text3);font-size:12px;padding:2px 4px;line-height:1}
.dw-sclear:hover{color:var(--text)}
.dw-new-btn{background:var(--accent);color:#fff;border:0;padding:0 16px;height:38px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:500;cursor:pointer;border-radius:1px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dw-new-btn:hover{background:var(--accent-mid,#3a5060)}
.dw-plus{color:var(--gold-2)}
.dw-glance{display:flex;align-items:baseline;gap:32px;padding:18px 0 16px;margin-top:18px;border-top:1px solid var(--border-light)}
.dw-gn{display:flex;align-items:baseline;gap:10px}
.dw-gn-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:28px;color:var(--text);line-height:1}
.dw-gn-lab{font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);font-weight:500}
.dw-gn-sep{width:1px;height:24px;background:var(--border)}
.dw-filter-row{padding:13px 2rem;background:var(--bg);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:24px}
.dw-pills{display:flex;gap:0;align-items:center;border:1px solid var(--border);background:var(--surface);padding:3px;border-radius:1px}
.dw-pill{padding:7px 14px;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--text3);cursor:pointer;border-radius:1px;font-weight:500;background:transparent;border:0}
.dw-pill.active{background:var(--accent);color:#fff}
.dw-ct{font-family:'DM Mono',monospace;font-size:9.5px;margin-left:5px;opacity:.65;letter-spacing:0}
.dw-selects{display:flex;gap:10px}
.dw-sel{background:var(--surface);border:1px solid var(--border);padding:7px 12px;font-size:11px;letter-spacing:.8px;color:var(--text2);font-weight:400;border-radius:1px;cursor:pointer;outline:none}
.dw-sel:focus{border-color:var(--accent)}
/* wall container */
.dw-wall-wrap{padding:28px 2rem 80px;background:var(--bg)}
.dw-shelf-head{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:22px;color:var(--text);margin:20px 0 14px;padding-bottom:8px;display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--border-light)}
.dw-shct{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);font-weight:500;font-style:normal}
.dw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
/* dossier card */
.dossier{background:var(--surface);border:1px solid var(--border);border-radius:2px;position:relative;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 0 rgba(36,49,58,.04);display:flex;flex-direction:column;min-height:180px;margin-top:8px}
.dossier:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgba(36,49,58,.25)}
.dossier::before{content:"";position:absolute;left:18px;top:-7px;width:78px;height:9px;background:var(--gold-2);border-radius:2px 2px 0 0}
.dossier.urgent::before{background:var(--danger)}
.dossier.amber::before{background:var(--warn)}
.dossier.gray::before{background:var(--text3)}
.doss-body{padding:18px 18px 14px;flex:1;display:flex;flex-direction:column}
.doss-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.doss-num{font-family:'DM Mono',monospace;font-size:10px;color:var(--text3);letter-spacing:.4px;font-weight:500}
.doss-area{font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-2);font-weight:600}
.doss-client{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;line-height:1.15;color:var(--text);margin-bottom:4px}
.doss-client b{font-weight:600}
.doss-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--text3);line-height:1.4;flex:1;margin-bottom:2px}
.doss-prog-row{margin-top:10px;display:flex;align-items:center;gap:8px}
.doss-progress{flex:1;height:2px;background:rgba(36,49,58,.07);position:relative;overflow:hidden;border-radius:1px;margin-top:10px}
.doss-prog-row .doss-progress{margin-top:0}
.doss-progress>i{position:absolute;left:0;top:0;bottom:0;background:var(--gold-2)}
.dossier.urgent .doss-progress>i{background:var(--danger)}
.dossier.amber .doss-progress>i{background:var(--warn)}
.doss-prog-pct{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--text3);letter-spacing:.4px;font-weight:500;min-width:32px;text-align:right}
.partner-strip{margin-top:10px;padding:8px 12px;background:var(--bg);border:1px solid var(--border-light);border-left:2px solid var(--gold-2);display:flex;justify-content:space-between;font-size:10.5px;color:var(--text3);font-weight:500;letter-spacing:.6px}
.partner-strip b{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:13px;color:var(--text);letter-spacing:0;display:block}
.doss-foot{margin-top:14px;padding-top:10px;border-top:1px dashed var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:8px}
.doss-deadline{font-size:11px;color:var(--text3)}
.doss-deadline b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:13px;color:var(--text);font-style:italic;display:block;line-height:1.1}
.doss-deadline.urgent b{color:var(--danger)}
.doss-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;letter-spacing:.4px;font-weight:600;border:1px solid rgba(36,49,58,.15);flex-shrink:0}
/* on-track buckets */
.dw-ontrack-head{margin:32px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}
.dw-oth-left{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.dw-oth-ttl{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:22px;color:var(--text)}
.dw-oth-ct{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);font-weight:500}
.dw-oth-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13.5px;color:var(--text3)}
.dw-bucket{background:var(--surface);border:1px solid var(--border);border-radius:2px;margin-bottom:10px;overflow:hidden}
.dw-bucket summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:22px 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;background:var(--surface);border-left:3px solid var(--border);transition:background .12s}
.dw-bucket summary::-webkit-details-marker{display:none}
.dw-bucket summary:hover{background:var(--bg)}
.dw-bucket[open]>summary{background:var(--bg);border-bottom:1px solid var(--border-light)}
.dw-bcaret{width:18px;height:18px;display:grid;place-items:center;color:var(--text3);font-size:10px;transition:transform .15s}
.dw-bucket[open] .dw-bcaret{transform:rotate(90deg);color:var(--gold-2)}
.dw-btitle{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:19px;color:var(--text);line-height:1.1}
.dw-bsub{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3);font-weight:500;margin-top:3px}
.dw-bcount{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--text);font-weight:500}
.dw-brule{width:120px;height:3px;background:rgba(36,49,58,.07);position:relative;border-radius:1px;overflow:hidden}
.dw-brule i{position:absolute;left:0;top:0;bottom:0;background:var(--gold-2)}
.dw-brule.early i{width:18%;background:var(--text3)}
.dw-brule.mid i{width:50%;background:var(--gold-2)}
.dw-brule.late i{width:88%;background:var(--success-fg)}
.dw-brule.stuck i{width:30%;background:var(--warn)}
.dw-bucket-body{padding:18px}
.dw-bucket-body .dw-grid{margin-bottom:0}
.dw-bucket-more{text-align:center;margin-top:14px;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);font-weight:500;cursor:pointer;padding:8px 0}
.dw-bucket-more:hover{color:var(--accent)}
.dw-empty-msg{padding:60px 0;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--text2)}

/* ── Invoice quick-filter pills ── */
.inv-qf-pill{background:none;border:1px solid var(--border);border-radius:20px;padding:3px 12px;font-size:11px;font-weight:400;cursor:pointer;color:var(--text2);transition:border-color .12s,background .12s,color .12s}
.inv-qf-pill:hover{border-color:var(--accent);color:var(--accent)}
.inv-qf-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}

/* ── Hub grouped sections ── */
.hub-group{margin-bottom:2rem}
.hub-group-label{font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:.75rem}

/* ── Settings nav count badge ── */
.settings-nav-tier{display:flex;align-items:center;justify-content:space-between}
.settings-nav-count{font-size:9px;font-weight:600;letter-spacing:0;background:var(--border);color:var(--text3);border-radius:var(--radius-lg);padding:1px 6px;min-width:16px;text-align:center}

/* ── Operations collapsible sections ── */
.ops-sec-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:0;padding-bottom:0;user-select:none}
.ops-sec-hdr:hover .ops-chevron{color:var(--text)}
.ops-chevron{font-size:13px;color:var(--text3);flex-shrink:0;margin-left:8px}
.ops-sec-body{margin-top:1rem}

/* Migration review */
.badge-green  { background: var(--success-light); color: var(--success-fg); }
.badge-amber  { background: var(--warn-light); color: var(--warn); }
.badge-red    { background: var(--danger-light); color: var(--danger); }
.migration-banner { position:fixed;top:0;left:0;right:0;z-index:900;background:var(--info);color:#fff;
  padding:.5rem 1rem;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:1rem; }

/* ── S2: Pinned sidebar sections ──────────────────────────────────────── */
.ds-section.pinned>.ds-hdr{cursor:default;pointer-events:none}
.ds-section.pinned>.ds-body{display:block!important}
.ds-parties-compact{padding:2px 14px 8px;font-size:11px;color:var(--text2);line-height:1.7}
.ds-section:has(.ds-body:not(.hidden)) .ds-parties-compact{display:none}

/* ── S4: Journey progress strip ───────────────────────────────────────── */
.journey-progress-strip{padding:8px 4px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}
.journey-progress-text{font-size:11px;color:var(--text3);font-weight:300;margin-bottom:6px}
.journey-progress-text.complete{color:var(--success);font-weight:500}
.journey-progress-track{height:4px;background:rgba(201,169,110,0.2);border-radius:2px;overflow:hidden}
.journey-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .3s ease}

/* ── S5: Notification bell ────────────────────────────────────────────── */
.notif-bell{position:relative;display:flex;align-items:center}
.notif-bell-btn{background:none;border:none;cursor:pointer;color:rgba(232,228,223,0.65);display:flex;align-items:center;padding:5px;border-radius:var(--radius-lg);transition:color .15s}
.notif-bell-btn:hover{color:rgba(232,228,223,1)}
.notif-bell-badge{position:absolute;top:0px;right:0px;min-width:15px;height:15px;border-radius:var(--radius-lg);background:var(--gold);color:#1e2a32;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;line-height:1}
@keyframes bellPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.15)}}
.notif-bell-badge.has-high{animation:bellPulse 1.8s ease-in-out infinite}
.notif-dropdown{position:absolute;top:calc(100% + 10px);right:-60px;width:300px;background:var(--surface);border:1px solid rgba(0,0,0,0.1);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);z-index:600}
.notif-dropdown-hdr{padding:10px 14px;border-bottom:1px solid rgba(0,0,0,0.05);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;font-weight:600;color:rgba(44,56,66,0.6)}
.notif-dropdown-empty{padding:16px 14px;font-size:12px;color:var(--text3);font-weight:300;font-style:italic;text-align:center}
.notif-dropdown-item{padding:8px 14px;border-bottom:1px solid rgba(0,0,0,0.04);cursor:pointer;transition:background .1s}
.notif-dropdown-item:hover{background:var(--surface2)}
.notif-dropdown-item:last-child{border-bottom:none}
.notif-item-title{font-size:12px;color:var(--text);font-weight:400;line-height:1.3;margin-bottom:2px}
.notif-item-meta{font-size:10px;color:var(--text3);font-weight:300}
.notif-dropdown-footer{padding:8px 14px;border-top:1px solid rgba(0,0,0,0.05);text-align:center}
.notif-dropdown-footer a{font-size:12px;color:var(--accent);cursor:pointer;text-decoration:none;font-weight:400}
.notif-dropdown-footer a:hover{text-decoration:underline}

/* ── S6: Action bar — desktop inline position ─────────────────────────── */
@media(min-width:1024px){
  .dw-action-bar{order:1;display:flex;background:transparent;border-bottom:1px solid rgba(0,0,0,0.06);height:40px;flex-shrink:0}
  #dw-feed{order:2}
  .dw-ab-btn{flex:none;flex-direction:row;height:40px;padding:0 13px;gap:6px;font-size:11px;border-right:none;color:rgba(44,56,66,0.65)}
  .dw-ab-btn svg{width:15px;height:15px}
  .dw-ab-btn:hover{background:rgba(0,0,0,0.04);color:rgba(44,56,66,1)}
  .dw-ab-activity{display:flex;height:40px}
}

/* ═══════════════════════════════════════════════════════════════════════════
   OPS CENTER  —  Sidebar + Main panel layout
   Namespace: .ops-*  (.ops-sb-* = sidebar, .ops-pane-* = content panels)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Layout shell ─────────────────────────────────────────────────────── */
#view-operations{display:flex;flex-direction:column;height:100%;overflow:hidden}

.ops-center{
  display:flex;
  flex:1;
  overflow:hidden;
  background:var(--bg);
  height:100%;
}

/* ── Sidebar ──────────────────────────────────────────────────────────── */
.ops-sidebar{
  width:200px;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  background:var(--surface);
  border-right:1px solid var(--border);
  overflow-y:auto;
  padding:0 0 12px;
}

.ops-sb-header{
  padding:18px 16px 14px;
  border-bottom:1px solid var(--border);
  margin-bottom:6px;
}

.ops-sb-logo{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:17px;
  font-weight:600;
  color:var(--text);
  letter-spacing:0.01em;
}

.ops-sb-subtitle{
  font-size:10px;
  color:var(--text3);
  font-weight:300;
  margin-top:2px;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.ops-sb-nav{
  display:flex;
  flex-direction:column;
  gap:1px;
  padding:0 8px;
}

.ops-sb-section-label{
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--text3);
  padding:10px 8px 4px;
}

.ops-sb-divider{
  height:1px;
  background:var(--border);
  margin:6px 0;
}

.ops-sb-item{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  padding:8px 10px;
  border:none;
  background:transparent;
  border-radius:var(--radius-lg);
  cursor:pointer;
  font-size:12.5px;
  font-weight:400;
  color:var(--text2);
  text-align:left;
  transition:background .12s, color .12s;
  position:relative;
}

.ops-sb-item svg{
  width:15px;
  height:15px;
  flex-shrink:0;
  opacity:0.65;
  transition:opacity .12s;
}

.ops-sb-item:hover{
  background:rgba(201,169,110,0.08);
  color:var(--text);
}

.ops-sb-item:hover svg{opacity:1}

.ops-sb-item.active{
  background:rgba(201,169,110,0.14);
  color:var(--gold);
  font-weight:500;
}

.ops-sb-item.active svg{opacity:1;color:var(--gold)}

.ops-sb-badge{
  margin-left:auto;
  min-width:18px;
  height:18px;
  border-radius:9px;
  background:var(--gold);
  color:#1e2a32;
  font-size:9.5px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 4px;
  line-height:1;
}

/* ── Sidebar activity strip (partner-only) ────────────────────────────── */
.ops-sb-activity{
  margin-top:auto;
  padding:12px 14px 4px;
  border-top:1px solid var(--border);
}

.ops-sb-act-row{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}

.ops-sb-act-label{
  font-size:10.5px;
  color:var(--text2);
  width:72px;
  flex-shrink:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ops-sb-act-track{
  flex:1;
  height:4px;
  background:rgba(201,169,110,0.15);
  border-radius:2px;
  overflow:hidden;
}

.ops-sb-act-fill{
  height:100%;
  background:var(--gold);
  border-radius:2px;
  transition:width .4s ease;
}

.ops-sb-act-pct{
  font-size:9.5px;
  color:var(--text3);
  width:26px;
  text-align:right;
  flex-shrink:0;
}

/* ── Main content area ────────────────────────────────────────────────── */
.ops-main{
  flex:1;
  overflow-y:auto;
  padding:0;
  display:flex;
  flex-direction:column;
}

.ops-pane{
  flex:1;
  padding:24px 28px;
  min-height:100%;
  box-sizing:border-box;
}

.ops-pane-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:20px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}

.ops-pane-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:22px;
  font-weight:600;
  color:var(--text);
  margin:0 0 2px;
}

.ops-pane-sub{
  font-size:11px;
  color:var(--text3);
  font-weight:300;
}

.ops-pane-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-shrink:0;
}

/* ── KPI row ──────────────────────────────────────────────────────────── */
.ops-kpi-row{
  display:flex;
  gap:12px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

.ops-kpi{
  flex:1;
  min-width:100px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.ops-kpi-label{
  font-size:10px;
  color:var(--text3);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.05em;
}

.ops-kpi-value{
  font-size:26px;
  font-weight:600;
  color:var(--text);
  line-height:1;
  font-family:'Cormorant Garamond',serif;
}

.ops-kpi.warn .ops-kpi-value{color:var(--warn)}
.ops-kpi.alert .ops-kpi-value{color:var(--error)}
.ops-kpi.ok .ops-kpi-value{color:var(--success)}

/* ── Overview grid ────────────────────────────────────────────────────── */
.ops-overview-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}

@media(max-width:900px){
  .ops-overview-row{grid-template-columns:1fr}
}

/* ── Panel cards ──────────────────────────────────────────────────────── */
.ops-panel-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  padding:16px 18px;
  margin-bottom:14px;
}

.ops-panel-card-title{
  font-size:12px;
  font-weight:600;
  color:var(--text2);
  text-transform:uppercase;
  letter-spacing:0.06em;
  margin-bottom:12px;
}

/* ── Urgency dot ──────────────────────────────────────────────────────── */
.ops-urgency-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  flex-shrink:0;
  display:inline-block;
}

.ops-urgency-dot.high{background:var(--error)}
.ops-urgency-dot.medium{background:var(--warn)}
.ops-urgency-dot.low{background:var(--success)}
.ops-urgency-dot.info{background:var(--accent)}

/* ── Vote chips ───────────────────────────────────────────────────────── */
.ops-vote-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 8px;
  border-radius:10px;
  font-size:10px;
  font-weight:500;
}

.ops-vote-chip.approve{background:rgba(31,122,79,0.12);color:var(--success-fg)}
.ops-vote-chip.reject{background:rgba(207,54,54,0.12);color:var(--danger)}
.ops-vote-chip.pending{background:rgba(201,169,110,0.15);color:var(--gold)}

/* ── Inbox cards ──────────────────────────────────────────────────────── */
.ops-inbox-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  margin-bottom:8px;
  cursor:pointer;
  transition:background .1s, border-color .1s;
}

.ops-inbox-card:hover{
  background:var(--surface2);
  border-color:rgba(201,169,110,0.3);
}

.ops-inbox-card-body{flex:1;min-width:0}

.ops-inbox-card-title{
  font-size:12.5px;
  font-weight:500;
  color:var(--text);
  margin-bottom:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ops-inbox-card-meta{
  font-size:10.5px;
  color:var(--text3);
  font-weight:300;
}

.ops-inbox-card-action{
  flex-shrink:0;
  font-size:10px;
  color:var(--gold);
  font-weight:500;
  padding:4px 10px;
  border:1px solid rgba(201,169,110,0.4);
  border-radius:var(--radius-lg);
  cursor:pointer;
  transition:background .1s;
}

.ops-inbox-card-action:hover{background:rgba(201,169,110,0.1)}

.ops-inbox-empty{
  padding:40px 0;
  text-align:center;
  font-size:12px;
  color:var(--text3);
  font-style:italic;
  font-weight:300;
}

/* ── Document drop zone ───────────────────────────────────────────────── */
.ops-drop-zone{
  border:2px dashed rgba(201,169,110,0.3);
  border-radius:var(--radius-xl);
  padding:36px 24px;
  text-align:center;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  margin-bottom:20px;
  background:rgba(201,169,110,0.03);
}

.ops-drop-zone:hover,
.ops-drop-zone-active{
  border-color:var(--gold);
  background:rgba(201,169,110,0.07);
}

.ops-drop-icon{
  color:rgba(201,169,110,0.5);
  margin-bottom:10px;
}

.ops-drop-title{
  font-size:13px;
  font-weight:500;
  color:var(--text2);
  margin-bottom:4px;
}

.ops-drop-sub{
  font-size:11px;
  color:var(--text3);
  font-weight:300;
}

/* ── Document list rows ───────────────────────────────────────────────── */
.ops-doc-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
}

.ops-doc-row:last-child{border-bottom:none}

.ops-doc-icon{
  width:32px;
  height:32px;
  background:rgba(201,169,110,0.1);
  border-radius:var(--radius-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:13px;
  color:var(--gold);
}

.ops-doc-body{flex:1;min-width:0}

.ops-doc-name{
  font-size:12.5px;
  font-weight:500;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ops-doc-meta{
  font-size:10.5px;
  color:var(--text3);
  font-weight:300;
  margin-top:1px;
}

.ops-doc-category{
  font-size:10px;
  font-weight:500;
  padding:2px 8px;
  border-radius:8px;
  background:rgba(201,169,110,0.12);
  color:var(--gold);
  flex-shrink:0;
}

.ops-doc-delete{
  background:none;
  border:none;
  cursor:pointer;
  color:var(--text3);
  padding:4px;
  border-radius:var(--radius-md);
  transition:color .1s, background .1s;
  display:flex;
  align-items:center;
}

.ops-doc-delete:hover{color:var(--error);background:rgba(239,68,68,0.07)}

/* ── Decision list rows (inside ops pane) ─────────────────────────────── */
.ops-decision-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid var(--border);
}

.ops-decision-row:last-child{border-bottom:none}

.ops-decision-body{flex:1;min-width:0}

.ops-decision-title{
  font-size:12.5px;
  font-weight:500;
  color:var(--text);
  margin-bottom:4px;
}

.ops-decision-meta{
  font-size:10.5px;
  color:var(--text3);
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ── Overview morning greeting ────────────────────────────────────────── */
.ops-greeting{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:20px;
  font-weight:600;
  color:var(--text);
  margin-bottom:4px;
}

.ops-greeting-sub{
  font-size:11px;
  color:var(--text3);
  font-weight:300;
  margin-bottom:20px;
}

/* ── Upload progress bar ──────────────────────────────────────────────── */
.ops-upload-progress{
  margin-top:12px;
  height:3px;
  background:rgba(201,169,110,0.2);
  border-radius:2px;
  overflow:hidden;
}

.ops-upload-progress-fill{
  height:100%;
  background:var(--gold);
  border-radius:2px;
  transition:width .3s ease;
}

/* ── Responsive: collapse sidebar on narrow screens ──────────────────── */
@media(max-width:768px){
  .ops-sidebar{width:52px}
  .ops-sb-logo,.ops-sb-subtitle,.ops-sb-section-label,.ops-sb-badge,.ops-sb-activity{display:none}
  .ops-sb-item{padding:10px;justify-content:center}
  .ops-sb-item span:not(.ops-sb-badge){display:none}
  .ops-pane{padding:16px 14px}
  .ops-kpi-row{gap:8px}
  .ops-kpi{min-width:80px;padding:10px 12px}
}

/* ── Staff directory ──────────────────────────────────────────────────── */
.ops-staff-shell{display:flex;gap:1rem;align-items:flex-start}

.ops-staff-list{
  width:280px;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

.ops-staff-filter-bar{display:flex;gap:.5rem}
.ops-staff-filter-bar input{
  flex:1;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg2);
  color:var(--text1);
  font-size:12px;
  font-family:inherit;
}
.ops-staff-filter-bar select{
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg2);
  color:var(--text1);
  font-size:11px;
  font-family:inherit;
}

.ops-staff-rows{
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--bg2);
  overflow-y:auto;
  max-height:72vh;
}

.ops-staff-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  cursor:pointer;
  border-bottom:1px solid var(--border);
  transition:background .15s;
  border-left:2px solid transparent;
}
.ops-staff-row:last-child{border-bottom:none}
.ops-staff-row:hover{background:var(--bg3)}
.ops-staff-row.active{background:rgba(201,169,110,.07);border-left-color:var(--gold)}

.ops-staff-avatar{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--gold);
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  flex-shrink:0;
}

.ops-staff-row-info{flex:1;min-width:0}
.ops-staff-row-name{
  font-size:13px;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ops-staff-row-meta{
  font-size:11px;
  color:var(--text3);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ops-staff-status{
  width:7px;
  height:7px;
  border-radius:50%;
  flex-shrink:0;
}
.ops-staff-status.active{background:var(--success)}
.ops-staff-status.leave{background:var(--warn)}

/* staff detail panel */
.ops-staff-detail{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--bg2);
  overflow:hidden;
  max-height:72vh;
}

.ops-staff-detail-hdr{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border-bottom:1px solid var(--border);
  background:var(--bg1);
  flex-shrink:0;
}

.ops-staff-avatar-lg{
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--gold);
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:700;
  flex-shrink:0;
}

.ops-staff-detail-name{font-size:15px;font-weight:600}
.ops-staff-detail-role{font-size:12px;color:var(--text3);margin-top:2px}

.ops-staff-tabs{
  display:flex;
  border-bottom:1px solid var(--border);
  padding:0 14px;
  overflow-x:auto;
  flex-shrink:0;
}

.ops-staff-tab-btn{
  padding:9px 13px;
  font-size:12px;
  color:var(--text3);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  font-family:inherit;
  transition:color .15s;
}
.ops-staff-tab-btn:hover{color:var(--text1)}
.ops-staff-tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}

.ops-staff-tab-body{
  flex:1;
  overflow-y:auto;
  padding:16px 18px;
}

.ops-staff-field{
  display:flex;
  gap:8px;
  margin-bottom:9px;
  font-size:13px;
  line-height:1.4;
}
.ops-staff-field-label{
  color:var(--text3);
  font-size:11px;
  width:100px;
  flex-shrink:0;
  padding-top:1px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.ops-staff-field-val{flex:1;color:var(--text1)}

.ops-staff-list-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid var(--border);
}
.ops-staff-list-row:last-child{border-bottom:none}

@media(max-width:900px){
  .ops-staff-shell{flex-direction:column}
  .ops-staff-list{width:100%}
  .ops-staff-rows{max-height:40vh}
  .ops-staff-detail{max-height:60vh}
}

/* ── Staff directory: badges + quick actions ──────────────────────────── */
.ops-staff-row-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}

.ops-staff-badge{
  display:inline-block;
  font-size:9px;
  font-weight:700;
  padding:1px 5px;
  border-radius:3px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.ops-staff-badge.leave   {background:rgba(184,122,16,.18);color:var(--warn)}
.ops-staff-badge.eval    {background:rgba(43,94,174,.18);color:var(--info)}
.ops-staff-badge.training{background:rgba(102,85,168,.18);color:var(--comms)}
.ops-staff-badge.warning {background:rgba(207,54,54,.18);color:var(--danger)}

.ops-staff-row-actions{
  display:none;
  flex-shrink:0;
}
.ops-staff-row:hover .ops-staff-row-actions{display:flex}

.ops-staff-quick-btn{
  font-size:10px;
  padding:3px 8px;
  background:rgba(201,169,110,.15);
  border:1px solid var(--gold);
  border-radius:4px;
  color:var(--gold);
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
  transition:background .15s;
}
.ops-staff-quick-btn:hover{background:rgba(201,169,110,.3)}

/* ── Staff tab: add-block forms ───────────────────────────────────────── */
.ops-tab-add-block{
  border:1px solid var(--border);
  border-radius:8px;
  padding:12px 14px;
  margin-top:12px;
  background:var(--bg1);
}

.ops-tab-add-btn{
  font-size:11px;
  padding:5px 12px;
  background:rgba(201,169,110,.12);
  border:1px solid var(--gold);
  border-radius:5px;
  color:var(--gold);
  cursor:pointer;
  font-family:inherit;
  transition:background .15s;
}
.ops-tab-add-btn:hover{background:rgba(201,169,110,.25)}

.ops-form-textarea{
  width:100%;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg2);
  color:var(--text1);
  font-size:12px;
  font-family:inherit;
  resize:vertical;
  box-sizing:border-box;
}
.ops-form-input{
  width:100%;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg2);
  color:var(--text1);
  font-size:12px;
  font-family:inherit;
  box-sizing:border-box;
}
.ops-form-select{
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg2);
  color:var(--text1);
  font-size:12px;
  font-family:inherit;
}

/* ── Delete / action buttons ─────────────────────────────────────────── */
.ops-del-btn{
  font-size:11px;
  padding:2px 7px;
  background:rgba(244,67,54,.1);
  border:1px solid rgba(244,67,54,.3);
  border-radius:4px;
  color:var(--danger);
  cursor:pointer;
  font-family:inherit;
  transition:background .15s;
}
.ops-del-btn:hover{background:rgba(244,67,54,.22)}

.ops-action-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:11px;
  padding:4px 10px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--bg1);
  color:var(--text2);
  cursor:pointer;
  font-family:inherit;
  transition:background .15s,border-color .15s;
}
.ops-action-chip:hover{background:var(--bg3);border-color:var(--gold);color:var(--gold)}

/* ── Notes: flag dots + pills ────────────────────────────────────────── */
.ops-note-flag-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
  margin-top:4px;
}
.ops-note-flag-dot.positive{background:var(--success)}
.ops-note-flag-dot.neutral {background:var(--text3)}
.ops-note-flag-dot.concern {background:var(--danger)}

.ops-note-pill{
  display:inline-block;
  font-size:11px;
  padding:3px 8px;
  border-radius:4px;
  background:var(--bg3);
  color:var(--text2);
  margin:2px 3px 2px 0;
  max-width:280px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}
.ops-note-pill.positive{border-left:2px solid var(--success)}
.ops-note-pill.neutral {border-left:2px solid var(--text3)}
.ops-note-pill.concern {border-left:2px solid var(--danger)}

/* ── Meetings: type badges ───────────────────────────────────────────── */
.ops-meeting-type-badge{
  display:inline-block;
  font-size:9px;
  font-weight:700;
  padding:2px 6px;
  border-radius:3px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.ops-meeting-type-badge.one_on_one   {background:rgba(43,94,174,.15);color:var(--info)}
.ops-meeting-type-badge.disciplinary {background:rgba(207,54,54,.15);color:var(--danger)}
.ops-meeting-type-badge.performance  {background:rgba(102,85,168,.15);color:var(--comms)}
.ops-meeting-type-badge.onboarding   {background:rgba(31,122,79,.15);color:var(--success)}
.ops-meeting-type-badge.welfare      {background:rgba(184,122,16,.15);color:var(--warn)}

/* ── HR Events: type icons ───────────────────────────────────────────── */
.ops-hr-event-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
}
.ops-hr-event-row:last-child{border-bottom:none}

.ops-hr-event-icon{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  flex-shrink:0;
}
.ops-hr-event-icon.verbal_warning  {background:rgba(184,122,16,.18)}
.ops-hr-event-icon.written_warning {background:rgba(207,54,54,.18)}
.ops-hr-event-icon.commendation    {background:rgba(76,175,80,.18)}
.ops-hr-event-icon.pip             {background:rgba(102,85,168,.18)}
.ops-hr-event-icon.outcome         {background:rgba(96,125,139,.18)}

/* ── Documents: drag-drop zone ───────────────────────────────────────── */
.ops-doc-drop-zone{
  border:2px dashed var(--border);
  border-radius:8px;
  padding:24px 16px;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s,background .2s;
  margin-bottom:12px;
  color:var(--text3);
  font-size:12px;
}
.ops-doc-drop-zone:hover,
.ops-doc-drop-zone.dragover{
  border-color:var(--gold);
  background:rgba(201,169,110,.06);
  color:var(--text2);
}
.ops-doc-drop-icon{font-size:22px;margin-bottom:6px}

.ops-doc-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid var(--border);
  font-size:12px;
}
.ops-doc-row:last-child{border-bottom:none}
.ops-doc-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}
.ops-doc-info{flex:1;min-width:0}
.ops-doc-name{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--text1);
  font-size:12px;
}
.ops-doc-meta{font-size:10px;color:var(--text3);margin-top:1px}
.ops-doc-type-badge{
  font-size:9px;
  font-weight:700;
  padding:2px 6px;
  border-radius:3px;
  background:rgba(201,169,110,.15);
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.3px;
  white-space:nowrap;
  flex-shrink:0;
}

/* ── ALFRED CHAT VIEW (full nav destination) ─────────────────────────── */
#view-alfred{height:100%;min-height:calc(100vh - 52px);display:flex;flex-direction:row;flex:1;overflow:hidden}
.alfred-view-layout{display:flex;flex:1;min-height:0;overflow:hidden}
.alfred-view-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;padding:1.5rem 1.25rem;overflow-y:auto;gap:.75rem}
.alfred-vsb-hdr{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}
.alfred-src-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:default;transition:border-color .15s}
.alfred-src-card:hover{border-color:var(--accent)}
.alfred-src-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface2)}
.alfred-src-icon--kb{background:rgba(36,49,58,.08);color:var(--accent)}
.alfred-src-icon--vlex{background:rgba(201,169,110,.1);color:var(--gold)}
.alfred-src-info{flex:1;min-width:0}
.alfred-src-name{font-size:12px;font-weight:500;color:var(--text);line-height:1.3}
.alfred-src-desc{font-size:11px;font-weight:300;color:var(--text3);margin-top:2px;line-height:1.3}
.alfred-src-badge{font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;border-radius:10px;flex-shrink:0;margin-top:2px}
.alfred-src-badge--active{background:rgba(36,49,58,.08);color:var(--accent)}
.alfred-src-badge--pending{background:rgba(172,169,164,.12);color:var(--text3)}
.alfred-vsb-stat{font-size:11px;font-weight:300;color:var(--text3);padding:.5rem .25rem}
.alfred-topic-pills{display:flex;flex-wrap:wrap;gap:6px;padding:.25rem 0}
.alfred-topic-pill{padding:4px 10px;border:1px solid var(--border);border-radius:20px;font-size:11px;font-weight:400;color:var(--text2);background:var(--bg);cursor:pointer;transition:all .15s;font-family:inherit}
.alfred-topic-pill:hover{border-color:var(--accent);color:var(--accent);background:rgba(36,49,58,.04)}
.alfred-view-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}
.alfred-view-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.alfred-view-hdr-left{display:flex;align-items:center;gap:.875rem}
.alfred-view-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;overflow:hidden}
.alfred-view-hdr-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--accent);letter-spacing:-.3px}
.alfred-view-hdr-sub{font-size:11px;font-weight:300;color:var(--text3);letter-spacing:.3px;margin-top:1px}
.alfred-view-clear{display:flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:400;color:var(--text2);background:transparent;cursor:pointer;font-family:inherit;transition:all .15s}
.alfred-view-clear:hover{border-color:var(--accent);color:var(--accent)}
.alfred-view-back{display:flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:400;color:var(--text2);background:transparent;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0;margin-right:4px}
.alfred-view-back:hover{border-color:var(--accent);color:var(--accent);background:rgba(26,58,92,.04)}
.alfred-view-messages{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;max-width:860px;margin:0 auto;width:100%;box-sizing:border-box}
.alfred-vmsg{display:flex;gap:.875rem;align-items:flex-start}
.alfred-vmsg--user{flex-direction:row-reverse}
.alfred-vmsg-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600}
.alfred-vmsg-avatar img{width:100%;height:100%;object-fit:cover}
.alfred-vmsg--user .alfred-vmsg-avatar{background:var(--accent)}
.alfred-vmsg-bubble{max-width:78%;padding:11px 15px;border-radius:var(--radius-lg);font-size:14px;line-height:1.65;font-weight:300;background:var(--surface);border:1px solid var(--border)}
.alfred-vmsg--user .alfred-vmsg-bubble{background:var(--accent);color:#fff;border-color:var(--accent)}
.alfred-vmsg-bubble p{margin:.4em 0}
.alfred-vmsg-bubble ul,.alfred-vmsg-bubble ol{margin:.4em 0;padding-left:1.4em}
.alfred-vmsg-bubble code{background:rgba(0,0,0,.06);padding:1px 4px;border-radius:3px;font-size:12px}
.alfred-view-input-wrap{padding:1.25rem 2rem 1rem;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;max-width:860px;margin:0 auto;width:100%;box-sizing:border-box}
.alfred-view-input-row{display:flex;gap:.75rem;align-items:flex-end}
.alfred-view-textarea{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:14px;font-weight:300;font-family:inherit;outline:none;resize:none;min-height:54px;max-height:160px;background:var(--bg);color:var(--text);transition:border-color .15s;line-height:1.5}
.alfred-view-textarea:focus{border-color:var(--accent)}
.alfred-view-send{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:400;font-family:inherit;cursor:pointer;flex-shrink:0;transition:opacity .15s}
.alfred-view-send:hover{opacity:.88}
.alfred-view-disclaimer{font-size:11px;font-weight:300;color:var(--text3);margin-top:.5rem;text-align:center}

/* ── INBOX (inbox §2.2) ──────────────────────────────────────────────── */
#view-inbox{display:none}
.ibx-shell{display:flex;flex-direction:column;height:100%;min-height:0}
.ibx-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px 10px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;gap:.5rem}
.ibx-title{font-size:18px;font-weight:600;color:var(--text)}
.ibx-title-row{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.ibx-coverage{font-family:'DM Mono',monospace;font-size:11px;color:var(--text3)}
.ibx-body{display:grid;grid-template-columns:180px 1fr auto;flex:1;min-height:0;overflow:hidden}
.ibx-lanes{border-right:1px solid var(--border);padding:.75rem .5rem;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.ibx-lane-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;border-radius:7px;border:none;background:transparent;cursor:pointer;font-size:12px;color:var(--text2);text-align:left}
.ibx-lane-btn:hover{background:var(--surface)}
.ibx-lane-active{background:var(--surface);color:var(--text);font-weight:600}
.ibx-lane-label{font-weight:inherit}
.ibx-lane-count{font-family:'DM Mono',monospace;font-size:11px;font-weight:600}
.ibx-list{overflow-y:auto;border-right:1px solid var(--border);padding:.5rem}
.ibx-detail{width:360px;overflow-y:auto;padding:1rem;flex-shrink:0}
.ibx-loading{padding:1.5rem;font-size:13px;color:var(--text3);text-align:center}
.ibx-empty{padding:2rem;font-size:13px;color:var(--text3);text-align:center}
.ibx-empty-dark{color:var(--text3);opacity:.6}
.ibx-data-flag{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text3);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 6px;margin-left:.5rem}
.ibx-card{padding:.75rem;border-radius:8px;border:1px solid transparent;cursor:pointer;margin-bottom:.375rem;transition:background .1s}
.ibx-card:hover{background:var(--surface)}
.ibx-card-active{background:var(--surface);border-color:var(--border)}
.ibx-card-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;flex-wrap:wrap}
.ibx-card-sender{font-size:12px;font-weight:600;color:var(--text)}
.ibx-card-matter{font-size:11px;color:var(--accent);background:rgba(99,102,241,.07);border-radius:4px;padding:1px 6px}
.ibx-card-ts{font-size:11px;color:var(--text3);margin-left:auto}
.ibx-card-subject{font-size:13px;font-weight:500;color:var(--text);margin-bottom:.2rem}
.ibx-card-preview{font-size:12px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ibx-card-actions{display:flex;gap:.25rem;margin-top:.5rem;opacity:0;transition:opacity .15s}
.ibx-card:hover .ibx-card-actions,.ibx-card-active .ibx-card-actions{opacity:1}
.ibx-action-btn{padding:2px 8px!important;font-size:11px!important}
.ibx-chip{font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;margin-top:4px;display:inline-block}
.ibx-chip-muted{background:var(--surface);color:var(--text3);border:1px solid var(--border)}
.ibx-detail-header{padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}
.ibx-detail-matter{font-size:11px;color:var(--accent);margin-top:4px}
.ibx-detail-body{font-size:13px;color:var(--text2);line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-bottom:1rem}
.ibx-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}
.ibx-dark-banner{background:rgba(86,94,104,.06);border:1px solid var(--border);border-radius:8px;padding:1rem;margin:.5rem;margin-bottom:.75rem}
.ibx-dark-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-bottom:.5rem}
.ibx-dark-body{font-size:12px;color:var(--text3);line-height:1.5}
.ibx-compose-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:200}
.ibx-compose-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:560px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ibx-compose-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;border-bottom:1px solid var(--border)}
.ibx-compose-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.ibx-compose-field{display:flex;flex-direction:column;gap:.25rem}
.ibx-compose-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3)}
.ibx-compose-input{width:100%;padding:.5rem .75rem;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}
.ibx-compose-textarea{width:100%;min-height:120px;padding:.5rem .75rem;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);resize:vertical;font-family:inherit}
.ibx-matter-result{padding:.5rem .75rem;font-size:12px;cursor:pointer;border-radius:5px;color:var(--text2)}
.ibx-matter-result:hover{background:var(--surface)}
.ibx-chokepoint{background:rgba(201,169,110,.06);border:1px solid rgba(201,169,110,.25);border-radius:8px;padding:.875rem 1rem;margin:.75rem 1.25rem 0}
.ibx-chokepoint-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.ibx-chokepoint-row{font-size:12px;color:var(--text2);line-height:1.5}
.ibx-compose-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;border-top:1px solid var(--border)}

/* ── PARTNER COMMAND CENTER (partner-command §2.17) ─────────────────── */
.partner-zone-label{display:none;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--text3);text-transform:uppercase;padding:8px 12px 3px;pointer-events:none}
.pc-command-bar{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1.25rem;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}
.pc-signal-left{display:flex;align-items:center;gap:.75rem}
.pc-zone-tag{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:rgba(201,169,110,.1);border:1px solid rgba(201,169,110,.25);border-radius:4px;padding:2px 7px}
.pc-exception-strip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.pc-badge{font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px;border:1px solid transparent}
.pc-badge-ok{background:rgba(34,197,94,.1);color:var(--success);border-color:rgba(34,197,94,.25)}
.pc-badge-warn{background:rgba(234,179,8,.1);color:var(--warn);border-color:rgba(234,179,8,.25)}
.pc-exception-item{font-size:12px;color:var(--text2)}
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.pc-zone-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.pc-zone-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}
.pc-zone-tag-sm{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text3)}
.pc-zone-body{padding:1rem}
.pc-loading{font-size:13px;color:var(--text3)}
.pc-signal-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem .625rem;border-radius:6px;font-size:12px;margin-bottom:.375rem}
.pc-signal-ok{background:rgba(34,197,94,.06)}
.pc-signal-warn{background:rgba(234,179,8,.07)}
.pc-signal-danger{background:rgba(239,68,68,.07)}
.pc-signal-row span:first-child{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--text3);text-transform:uppercase}
.pc-signal-row span:last-child{font-weight:600;color:var(--text2)}
.pc-fleet-line{font-size:11px;color:var(--text3);padding:.25rem .625rem;margin-top:.125rem}
.pc-finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.pc-finance-stat{text-align:center;padding:.5rem}
.pc-finance-val{font-family:'DM Mono',monospace;font-size:20px;font-weight:500;line-height:1.2}
.pc-finance-label{font-size:11px;color:var(--text3);margin-top:.25rem}
@media(max-width:900px){.pc-grid{grid-template-columns:1fr}}

/* ── DEPARTMENT COCKPIT (dept-cockpit §2.14) ─────────────────────────── */
#view-dept-cockpit{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.dc-top-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 24px 12px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dc-deadline-strip{display:flex;gap:8px;align-items:center}
.dc-deadline-chip{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:11.5px;font-weight:600;color:var(--text)}
.dc-deadline-days{font-family:'DM Mono',monospace;font-size:18px;font-weight:500;color:var(--gold)}
.dc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dc-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.dc-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--border-light)}
.dc-panel-title{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--text3)}
.dc-panel-body{padding:12px 16px}
.dc-staff-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);gap:10px}
.dc-staff-row:last-child{border-bottom:none}
.dc-staff-name{font-size:12.5px;font-weight:500;color:var(--text)}
.dc-staff-meta{font-size:10.5px;color:var(--text3);margin-top:1px}
.dc-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;width:80px;flex-shrink:0}
.dc-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.dc-cap-normal{background:var(--success)}
.dc-cap-watch{background:var(--warn)}
.dc-cap-overload{background:var(--danger)}
.dc-cap-chip{font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:999px;margin-top:2px;display:inline-block}
.dc-cap-chip-normal{background:rgba(31,138,91,.1);color:var(--success);border:1px solid rgba(31,138,91,.2)}
.dc-cap-chip-watch{background:rgba(201,169,110,.1);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.dc-cap-chip-overload{background:rgba(224,74,64,.1);color:var(--danger);border:1px solid rgba(224,74,64,.2)}
.dc-cap-chip-winding{background:rgba(86,94,104,.12);color:var(--text3);border:1px solid var(--border)}
.dc-retiring-banner{background:rgba(201,169,110,.07);border:1px solid rgba(201,169,110,.2);border-radius:10px;padding:14px 16px;margin:0 0 14px}
.dc-retiring-title{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--gold);margin-bottom:6px}
.dc-proposal-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border-light);font-size:11.5px;gap:8px}
.dc-proposal-row:last-child{border-bottom:none}
.dc-proposal-client{color:var(--text);flex:1}
.dc-proposal-staff{color:var(--text3);font-size:10.5px}
.dc-apply-btn{font-size:11px;font-family:inherit;font-weight:600;background:var(--gold);color:var(--text);border:none;border-radius:7px;padding:7px 14px;cursor:pointer;transition:opacity .12s;margin-top:10px}
.dc-apply-btn:hover{opacity:.85}
.dc-deadline-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border-light)}
.dc-deadline-row:last-child{border-bottom:none}
.dc-deadline-modelo{font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--text)}
.dc-deadline-filed{font-size:11px;color:var(--success)}
.dc-deadline-pending{font-size:11px;color:var(--warn)}
.dc-deadline-overdue{font-size:11px;color:var(--danger)}
.dc-assign-form{padding:12px 16px;border-top:1px solid var(--border-light);background:var(--bg);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dc-assign-select{font-size:11.5px;font-family:inherit;border:1px solid var(--border);border-radius:7px;padding:5px 9px;background:var(--surface);color:var(--text);cursor:pointer}
.dc-assign-select:focus{outline:none;border-color:var(--gold)}
.dc-assign-btn{font-size:11px;font-family:inherit;font-weight:600;border:1px solid var(--gold);border-radius:7px;padding:5px 12px;background:none;color:var(--gold);cursor:pointer}
.dc-fte-model{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:10px;font-size:11.5px;color:var(--text3);line-height:1.6}
.dc-fte-val{font-family:'DM Mono',monospace;font-size:22px;font-weight:500;color:var(--text);display:block;margin-bottom:2px}

/* ── TAX SURFACE (tax-surface §2.13) ────────────────────────────────── */
#view-tax-surface{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.txs-top-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 24px 12px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.txs-stats-bar{display:flex;gap:10px;align-items:center}
.txs-stat{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;display:flex;flex-direction:column;gap:1px;min-width:80px}
.txs-stat-val{font-family:'DM Mono',monospace;font-size:20px;font-weight:500;color:var(--text);line-height:1}
.txs-stat-lbl{font-size:9.5px;font-weight:600;letter-spacing:.9px;color:var(--text3);text-transform:uppercase}
.txs-stat-sub{font-size:10px;color:var(--text3)}
.txs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.txs-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.txs-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--border-light)}
.txs-panel-title{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--text3)}
.txs-panel-tag{font-size:9px;font-weight:600;letter-spacing:.8px;padding:2px 7px;border-radius:999px;background:rgba(201,169,110,.1);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.txs-panel-body{padding:12px 16px}
.txs-row{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);gap:10px}
.txs-row:last-child{border-bottom:none}
.txs-row-name{font-size:12.5px;color:var(--text);font-weight:500}
.txs-row-meta{font-size:10.5px;color:var(--text3);margin-top:2px;line-height:1.4}
.txs-row-right{text-align:right;flex-shrink:0}
.txs-chip{display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.6px;padding:2px 7px;border-radius:999px;text-transform:uppercase}
.txs-chip-filed{background:rgba(31,138,91,.1);color:var(--success);border:1px solid rgba(31,138,91,.2)}
.txs-chip-pending{background:rgba(201,169,110,.1);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.txs-chip-trigger{background:rgba(224,74,64,.1);color:var(--danger);border:1px solid rgba(224,74,64,.2)}
.txs-chip-tracked{background:rgba(31,138,91,.1);color:var(--success);border:1px solid rgba(31,138,91,.2)}
.txs-chip-due{background:rgba(224,74,64,.1);color:var(--danger);border:1px solid rgba(224,74,64,.2)}
.txs-chip-pending-q{background:rgba(201,169,110,.1);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.txs-chip-absorbed{background:rgba(86,94,104,.1);color:var(--text3);border:1px solid var(--border)}
.txs-chip-billable{background:rgba(31,138,91,.1);color:var(--success);border:1px solid rgba(31,138,91,.2)}
.txs-empty{padding:18px;text-align:center;font-size:12px;color:var(--text3)}
.txs-amount{font-family:'DM Mono',monospace;font-size:12px;font-weight:500;color:var(--text)}
.txs-so-form{padding:14px 16px;border-top:1px solid var(--border-light);background:var(--bg)}
.txs-so-input{width:100%;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:7px;padding:7px 10px;background:var(--surface);color:var(--text);resize:none;box-sizing:border-box}
.txs-so-input:focus{outline:none;border-color:var(--gold)}
.txs-so-row{display:flex;gap:8px;margin-top:8px;align-items:center}
.txs-so-btn{font-size:11px;font-family:inherit;font-weight:600;border:1px solid var(--gold);border-radius:7px;padding:6px 12px;background:none;color:var(--gold);cursor:pointer;transition:all .12s}
.txs-so-btn:hover{background:rgba(201,169,110,.08)}
.txs-resolve-row{display:flex;gap:6px;margin-top:8px}
.txs-resolve-btn{font-size:10.5px;font-family:inherit;border-radius:6px;padding:4px 10px;cursor:pointer;border:1px solid var(--border);background:none;color:var(--text3);transition:all .12s}
.txs-resolve-btn:hover{border-color:var(--gold);color:var(--gold)}
.txs-docblock{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:8px 12px;font-size:11px;color:var(--text3);line-height:1.5;margin:8px 0}
.txs-deudoras-total{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-light);background:var(--surface2)}
.txs-deudoras-total-amt{font-family:'DM Mono',monospace;font-size:22px;font-weight:500;color:var(--text)}
.txs-deudoras-total-lbl{font-size:10px;color:var(--text3)}

/* ── MARKETING STUDIO (marketing-studio §2.9) ───────────────────────── */
#view-marketing{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.mkt-top-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 24px 0;flex-shrink:0}
.mkt-steps{display:flex;align-items:center;gap:2px;margin-top:10px}
.mkt-step-btn{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:500;color:var(--text3);background:none;border:none;cursor:pointer;font-family:inherit;transition:color .12s}
.mkt-step-btn.active{color:var(--text);font-weight:600}
.mkt-step-btn.active::after{content:'';position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--text);border-radius:2px}
.mkt-step-num{width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text3);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}
.mkt-step-num-active{background:var(--text);color:var(--surface);border-color:var(--text)}
.mkt-status-draft{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:var(--warn);background:rgba(201,129,42,.08);border:1px solid rgba(201,129,42,.25);border-radius:999px;padding:2px 8px;margin-left:6px}
/* Compose step — 3 column */
.mkt-compose{display:flex;flex:1;min-height:0;overflow:hidden}
.mkt-sends-rail{width:196px;flex:none;background:var(--surface);border-right:1px solid var(--border);padding:14px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.mkt-sends-hdr{font-size:9.5px;font-weight:700;letter-spacing:1.2px;color:var(--text3);text-transform:uppercase;margin-bottom:8px}
.mkt-send-card{border:1px solid var(--border);border-radius:9px;padding:9px 11px;cursor:pointer;transition:border-color .12s}
.mkt-send-card:hover{border-color:var(--gold)}
.mkt-send-card-title{font-size:12px;font-weight:600;color:var(--text)}
.mkt-send-card-meta{display:flex;align-items:center;gap:6px;margin-top:4px}
.mkt-send-chip{font-size:10px;border-radius:999px;padding:1px 7px}
.mkt-send-chip-sent{color:var(--success);background:rgba(31,138,91,.08);border:1px solid rgba(31,138,91,.2)}
.mkt-send-chip-draft{color:var(--text3);background:var(--bg);border:1px solid var(--border)}
.mkt-send-stats{font-size:10px;color:var(--text3)}
.mkt-new-btn{font-size:12px;font-weight:600;font-family:inherit;background:none;border:1px dashed var(--border);border-radius:8px;padding:8px;color:var(--text3);cursor:pointer;transition:all .12s;margin-top:8px}
.mkt-new-btn:hover{border-color:var(--gold);color:var(--gold)}
/* Canvas area */
.mkt-canvas-area{flex:1;min-width:0;overflow:auto;background:var(--bg);padding:22px 0}
.mkt-email-frame{max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 12px rgba(28,40,50,.08);overflow:hidden}
.mkt-email-header{background:var(--text);padding:16px 24px;display:flex;align-items:center;justify-content:space-between}
.mkt-block{padding:8px 12px;margin:0 8px;border:2px solid transparent;border-radius:8px;transition:border-color .12s;position:relative}
.mkt-block:hover,.mkt-block:focus-within{border-color:var(--gold)}
.mkt-block-selected{border-color:var(--gold);background:rgba(201,169,110,.04)}
.mkt-block-type{font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--gold);text-transform:uppercase;margin-bottom:3px}
.mkt-block-heading{font-size:20px;font-weight:600;color:var(--text);line-height:1.2;width:100%;border:none;background:none;font-family:inherit;padding:0;resize:none;outline:none}
.mkt-block-text{font-size:13px;color:var(--text2);line-height:1.6;width:100%;border:none;background:none;font-family:inherit;padding:0;resize:none;outline:none;min-height:60px}
.mkt-data-block{border:1px solid var(--border-light);background:rgba(201,169,110,.04);border-radius:8px;margin:8px;overflow:hidden}
.mkt-data-block-hdr{display:flex;align-items:center;gap:7px;background:rgba(201,169,110,.07);padding:6px 12px;border-bottom:1px solid var(--border-light);font-size:9.5px;font-weight:700;letter-spacing:.6px;color:var(--gold)}
.mkt-data-block-body{padding:10px 14px;display:flex;flex-direction:column;gap:5px}
.mkt-data-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.mkt-block-button{display:block;width:100%;margin:10px 24px 14px;box-sizing:border-box;background:var(--gold);color:var(--text);border:none;border-radius:8px;padding:10px 18px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;text-align:center}
/* Right sources + Alfred panel */
.mkt-sources-panel{width:300px;flex:none;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.mkt-sources-body{flex:1;overflow-y:auto;padding:14px 14px}
.mkt-sources-hdr{font-size:9.5px;font-weight:700;letter-spacing:1.2px;color:var(--text3);text-transform:uppercase;margin-bottom:8px}
.mkt-alfred-footer{flex:none;border-top:1px solid var(--border);padding:12px 14px;background:var(--bg)}
.mkt-alfred-prompt{width:100%;font-size:12.5px;font-family:inherit;border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:var(--surface);color:var(--text);resize:none;box-sizing:border-box}
.mkt-alfred-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.mkt-alfred-chip{font-size:10.5px;color:var(--text2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 10px;cursor:pointer;transition:all .12s}
.mkt-alfred-chip:hover{border-color:var(--gold);color:var(--gold)}
.mkt-alfred-output{margin-top:9px;font-size:12px;color:var(--text);line-height:1.55;padding:8px 10px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;min-height:44px;white-space:pre-wrap;display:none}
/* Audience step */
.mkt-audience{display:flex;flex:1;min-height:0;overflow:hidden}
.mkt-segments-col{flex:1;min-width:0;overflow-y:auto;padding:22px 26px;background:var(--bg)}
.mkt-segment-row{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:14px 16px;cursor:pointer;transition:all .12s;margin-bottom:10px}
.mkt-segment-row:hover,.mkt-segment-row.active{border-color:var(--text);border-left:3px solid var(--text)}
.mkt-segment-name{font-size:15px;font-weight:600;color:var(--text)}
.mkt-segment-desc{font-size:11.5px;color:var(--text3);margin-top:3px}
.mkt-segment-count{font-size:16px;font-weight:700;color:var(--text);margin-left:auto}
.mkt-segment-count-warn{color:var(--warn)}
.mkt-segment-count-danger{color:var(--danger)}
.mkt-live-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--gold);background:rgba(201,169,110,.08);border:1px solid rgba(201,169,110,.2);border-radius:999px;padding:2px 8px}
.mkt-segment-detail{width:320px;flex:none;background:var(--surface);border-left:1px solid var(--border);padding:18px;overflow-y:auto}
/* Review step */
.mkt-review{display:flex;flex:1;min-height:0;overflow:hidden}
.mkt-preview-col{flex:1;min-width:0;overflow-y:auto;background:var(--bg);padding:22px 0}
.mkt-review-panel{width:340px;flex:none;background:var(--surface);border-left:1px solid var(--border);padding:18px;display:flex;flex-direction:column}
.mkt-review-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--border-light)}
.mkt-send-btn{width:100%;background:var(--text);color:var(--surface);border:none;border-radius:9px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.mkt-esp-notice{font-size:10.5px;color:var(--warn);background:rgba(201,129,42,.08);border:1px solid rgba(201,129,42,.2);border-radius:7px;padding:8px 10px;margin-top:9px;text-align:center}
/* ── ENTITY CARD (people-entity-card §2.10) ─────────────────────────── */
#view-entity-card{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.ec-top-bar{padding:12px 24px 13px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.ec-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}
/* ── BD DESK (bd-desk §2.8) ─────────────────────────────────────────── */
#view-bd{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.bd-top-bar{display:flex;align-items:center;padding:12px 24px 13px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.bd-stat-bar{display:flex;gap:20px;padding:8px 26px;background:var(--bg);border-bottom:1px solid var(--border-light);flex-shrink:0}
.bd-stat{font-size:11.5px;color:var(--text3)}
.bd-stat-val{font-weight:600;color:var(--text);margin-right:4px}
.bd-zones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:20px 26px 40px;background:var(--bg)}
.bd-zone{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;min-height:320px}
.bd-zone-hdr{font-size:10.5px;font-weight:700;letter-spacing:.7px;color:var(--text3);text-transform:uppercase;margin-bottom:12px}
.bd-zone-sub{font-size:10px;font-weight:400;letter-spacing:.2px;opacity:.7;text-transform:none}
.bd-empty{font-size:12px;color:var(--text3);padding:20px 0;margin:0}
.bd-agency-list{display:flex;flex-direction:column;gap:2px}
.bd-agency-row{border-radius:8px;overflow:hidden}
.bd-agency-main{display:flex;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;border-radius:8px;transition:background .12s}
.bd-agency-main:hover{background:var(--bg)}
.bd-health-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.bd-health-warm{background:var(--success)}
.bd-health-cooling{background:var(--warn)}
.bd-health-dormant{background:var(--danger);opacity:.7}
.bd-agency-name{font-size:12.5px;font-weight:500;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-agency-meta{font-size:11px;color:var(--text3);min-width:60px}
.bd-agency-days{font-size:11px;color:var(--text3);min-width:36px;text-align:right}
.bd-agency-vol{font-size:11px;color:var(--text3);min-width:58px;text-align:right}
.bd-log-drawer{padding:8px 10px 10px;border-top:1px solid var(--border-light)}
.bd-log-types{display:flex;gap:4px;margin-bottom:7px}
.bd-log-type-btn{border:1px solid var(--border);border-radius:4px;padding:3px 9px;font-size:11px;font-family:inherit;color:var(--text3);background:none;cursor:pointer;transition:all .12s}
.bd-log-type-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(201,169,110,.08)}
.bd-log-note{width:100%;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--bg);color:var(--text);resize:none;box-sizing:border-box}
.bd-log-actions{display:flex;gap:6px;margin-top:7px}
.bd-log-save-btn{font-size:11.5px;font-family:inherit;font-weight:600;border:none;border-radius:5px;padding:5px 12px;background:var(--gold);color:#fff;cursor:pointer;transition:opacity .12s}
.bd-log-save-btn:disabled{opacity:.5;cursor:default}
.bd-log-cancel-btn{font-size:11.5px;font-family:inherit;border:1px solid var(--border);border-radius:5px;padding:5px 10px;background:none;color:var(--text3);cursor:pointer}
.bd-nurture-list{display:flex;flex-direction:column;gap:3px}
.bd-nurture-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .12s}
.bd-nurture-row:hover{background:var(--bg)}
.bd-lc-chip{font-size:10px;font-weight:600;letter-spacing:.4px;border-radius:4px;padding:2px 6px;flex-shrink:0}
.bd-lc-ripe{background:rgba(201,169,110,.1);color:var(--gold)}
.bd-lc-recent{background:rgba(31,138,91,.1);color:var(--success)}
.bd-nurture-name{font-size:12px;font-weight:500;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-nurture-meta{font-size:11px;color:var(--text3);min-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-nurture-date{font-size:11px;color:var(--text3);flex-shrink:0}
.bd-pipeline-list{display:flex;flex-direction:column;gap:3px}
.bd-pipeline-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .12s}
.bd-pipeline-row:hover{background:var(--bg)}
.bd-pipeline-name{font-size:12px;font-weight:500;color:var(--text);min-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-pipeline-prop{font-size:11px;color:var(--text3);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-pipeline-type{font-size:11px;color:var(--text3);min-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-pipeline-stage{font-size:11px;color:var(--text3);min-width:70px}
.bd-pipeline-agency{font-size:11px;color:var(--gold);min-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ── ALFRED HUB — context strip controls ────────────────────────────── */
.ah-see-as-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:10.5px;font-family:inherit;color:var(--text3);cursor:pointer;transition:all .12s}
.ah-see-as-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,110,.07)}
/* ── ALFRED HUB — rail switcher buttons ──────────────────────────────── */
.alfred-hub-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:400;color:var(--text2);background:var(--bg);cursor:pointer;font-family:inherit;transition:all .15s;text-align:left}
.alfred-hub-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(201,169,110,.05)}
.alfred-hub-btn--active{border-color:var(--accent);color:var(--accent);background:rgba(201,169,110,.08);font-weight:500}
/* ── ALFRED HUB — lens panel chrome ─────────────────────────────────── */
.alfred-hub-lens-hdr{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.alfred-hub-back-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:400;color:var(--text2);background:transparent;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.alfred-hub-back-btn:hover{border-color:var(--accent);color:var(--accent)}
.alfred-hub-lens-title{font-size:13px;font-weight:500;color:var(--text);letter-spacing:.2px}
/* Ensure hub lens panels fill the main column */
#alfred-hub-panel-law,#alfred-hub-panel-market,#alfred-hub-panel-kb{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden}
#alfred-hub-panel-chat{display:flex;flex-direction:column;flex:1;min-height:0}
#alfred-hub-panel-law .lex-layout{flex:1;overflow:hidden;display:flex}

/* ── DRAFT WORKSPACE OVERLAY ─────────────────────────────────────────── */
#draft-workspace-overlay{position:fixed;inset:0;z-index:900;background:var(--bg);flex-direction:column;overflow:hidden}
.dwo-hdr{height:52px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;flex-shrink:0;gap:1rem}
.dwo-hdr-left{display:flex;align-items:center;gap:.75rem;min-width:0}
.dwo-hdr-title{font-size:13px;font-weight:500;color:var(--text);letter-spacing:.3px}
.dwo-hdr-case{font-size:12px;font-weight:300;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.dwo-body{flex:1;display:flex;min-height:0;overflow:hidden}
.dwo-doc-pane{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);min-width:0}
.dwo-doc-pane-hdr{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text3)}
.dwo-doc-actions{display:flex;gap:6px;align-items:center}
.dwo-doc-canvas{flex:1;overflow-y:auto;padding:3rem 4rem;font-size:14px;font-weight:300;line-height:1.8;color:var(--text);font-family:'Jost',sans-serif;outline:none;background:var(--surface);cursor:default;user-select:text}
.dwo-doc-canvas:focus{background:var(--surface)}
.dwo-doc-canvas p{margin:.6em 0}
.dwo-readonly-badge{display:inline-block;margin-left:.6rem;font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);background:var(--border);border:1px solid var(--border);border-radius:3px;padding:1px 5px;vertical-align:middle;opacity:.75}
.dwo-doc-placeholder{text-align:center;padding:5rem 2rem;pointer-events:none}
.dwo-chat-pane{width:400px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg)}
.dwo-tmpl-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.dwo-tmpl-tab{flex:1;padding:10px 6px;font-size:11px;font-weight:400;color:var(--text3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s;letter-spacing:.2px}
.dwo-tmpl-tab:hover{color:var(--text2)}
.dwo-tmpl-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.dwo-tmpl-panel{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface);display:flex;gap:.5rem;align-items:center;flex-shrink:0}
.dwo-select{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:300;font-family:inherit;outline:none;background:var(--bg);color:var(--text)}
.dwo-select:focus{border-color:var(--accent)}
.dwo-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:.875rem;border:1px dashed var(--border);border-radius:var(--radius);text-align:center;font-size:12px;font-weight:300;color:var(--text3);cursor:pointer;transition:all .15s;flex:1}
.dwo-drop-zone:hover,.dwo-drop-zone.dragover{border-color:var(--accent);background:rgba(36,49,58,.04)}
/* Tab body — fills available space, scrollable */
#copilot-draft-panel{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}
.dwo-tab-body{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;min-height:0;background:var(--bg)}
.dwo-section-label{font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:2px;flex-shrink:0}
.dwo-empty-hint{font-size:12px;font-weight:300;color:var(--text3);padding:.25rem 0}
/* Upload drop zone — full size */
.dwo-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.625rem;flex:1;min-height:160px;border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;transition:all .15s;padding:1.5rem 1rem}
.dwo-upload-zone:hover,.dwo-upload-zone.dragover{border-color:var(--accent);background:rgba(36,49,58,.03)}
/* Status line */
.dwo-status-line{padding:5px 1rem;font-size:11px;font-weight:300;color:var(--text3);border-top:1px solid var(--border);flex-shrink:0;min-height:26px;background:var(--surface);transition:color .2s}
/* Saved draft item */
.dwo-saved-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s}
.dwo-saved-item:hover{border-color:var(--accent)}
.dwo-saved-item-name{font-size:11px;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.dwo-saved-item-meta{font-size:10px;font-weight:300;color:var(--text3)}
.dwo-alfred-card{padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color .15s}
.dwo-alfred-card:hover{border-color:var(--accent)}
.dwo-alfred-card-name{font-size:11px;font-weight:500;color:var(--text);margin-bottom:1px}
.dwo-alfred-card-desc{font-size:10px;font-weight:300;color:var(--text3);margin-bottom:.5rem;line-height:1.4}
.dwo-alfred-card-footer{display:flex;justify-content:space-between;align-items:center}
.dwo-alfred-card-langs{font-size:10px;font-weight:300;color:var(--text3);letter-spacing:.5px}

/* ── Compose Front Door ─────────────────────────────────────────────────────── */
.dwo-compose-chips-wrap{flex-shrink:0;padding:.625rem .875rem .375rem;border-bottom:1px solid var(--border);background:var(--surface)}
.dwo-compose-chips{display:flex;flex-wrap:wrap;gap:4px}
.dwo-chip{padding:3px 10px;border:1px solid var(--border);border-radius:14px;font-size:10px;font-weight:400;color:var(--text2);background:var(--bg);cursor:pointer;transition:all .12s;font-family:inherit;white-space:nowrap;user-select:none}
.dwo-chip:hover{border-color:var(--accent);color:var(--accent);background:rgba(201,169,110,.06)}
.dwo-compose-instruction-wrap{flex-shrink:0;padding:.625rem .875rem;border-bottom:1px solid var(--border);background:var(--surface)}
.dwo-compose-textarea{width:100%;resize:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:12px;font-weight:300;font-family:inherit;padding:.5rem .625rem;outline:none;box-sizing:border-box;transition:border-color .15s;line-height:1.5;min-height:60px}
.dwo-compose-textarea:focus{border-color:var(--accent)}
.dwo-compose-row{display:flex;align-items:center;gap:.5rem;margin-top:.375rem}
.dwo-compose-check-label{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:400;color:var(--text3);cursor:pointer;user-select:none;white-space:nowrap}
.dwo-compose-check-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer}
.dwo-ctx-summary{flex-shrink:0;padding:4px .875rem;font-size:10px;font-weight:300;color:var(--text3);background:var(--surface);border-bottom:1px solid var(--border)}
.dwo-browse-link-wrap{flex-shrink:0;padding:.5rem .875rem;border-top:1px solid var(--border);background:var(--surface)}
.dwo-browse-link{font-size:11px;font-weight:300;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;opacity:.8}
.dwo-browse-link:hover{opacity:1}
.dwo-browse-back-wrap{flex-shrink:0;padding:.375rem .875rem;border-bottom:1px solid var(--border);background:var(--surface)}
/* Freetext chat messages */
.dwo-chat-msg{padding:.5rem .75rem;border-radius:var(--radius);font-size:12px;font-weight:300;line-height:1.6;max-width:100%;word-break:break-word}
.dwo-chat-msg-user{background:var(--surface);border:1px solid var(--border);color:var(--text2);align-self:flex-end;margin-left:1rem}
.dwo-chat-msg-assistant{background:rgba(201,169,110,.08);border:1px solid rgba(201,169,110,.2);color:var(--text)}
.dwo-chat-msg-error{background:rgba(220,53,69,.06);border:1px solid rgba(220,53,69,.2);color:var(--danger)}

/* ── Clause Bank ────────────────────────────────────────────────────────────── */
.cb-toolbar{display:flex;gap:.375rem;align-items:center;flex-shrink:0;padding-bottom:.375rem}
.cb-search{flex:1;height:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:11px;font-family:inherit;padding:0 8px;outline:none;transition:border-color .15s}
.cb-search:focus{border-color:var(--accent)}
.cb-tags{display:flex;flex-wrap:wrap;gap:4px;flex-shrink:0;margin-bottom:.125rem}
.cb-tag{padding:2px 8px;border:1px solid var(--border);border-radius:20px;font-size:10px;font-weight:400;color:var(--text3);cursor:pointer;background:var(--bg);transition:all .12s;white-space:nowrap;user-select:none}
.cb-tag.active,.cb-tag:hover{border-color:var(--accent);color:var(--accent)}
.cb-clause-card{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .625rem;background:var(--surface);transition:border-color .15s;flex-shrink:0}
.cb-clause-card:hover{border-color:var(--accent)}
.cb-clause-card-label{font-size:11px;font-weight:500;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-clause-card-preview{font-size:10px;font-weight:300;color:var(--text3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.375rem}
.cb-clause-card-footer{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cb-clause-card-tag{font-size:9px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--text3);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 6px}
.cb-clause-card-lang{font-size:9px;font-weight:300;color:var(--text3);margin-right:auto}
.cb-form{display:flex;flex-direction:column;gap:.375rem;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:.625rem .75rem;flex-shrink:0;margin-bottom:.25rem}
.cb-form-input,.cb-form-select{height:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:11px;font-family:inherit;padding:0 8px;outline:none;box-sizing:border-box}
.cb-form-input:focus,.cb-form-select:focus{border-color:var(--accent)}
.cb-form-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:11px;font-family:inherit;padding:5px 8px;outline:none;width:100%;resize:vertical;line-height:1.5;box-sizing:border-box}
.cb-form-textarea:focus{border-color:var(--accent)}
.cb-upload-link{font-size:10px;font-weight:300;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;display:inline-block}

/* ── Comms Module ────────────────────────────────────────────────────────────── */
.comms-filter-bar{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}
.comms-ch-btn{flex:1;padding:9px 6px;font-size:11px;font-weight:400;color:var(--text3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s}
.comms-ch-btn:hover{color:var(--text2)}
.comms-ch-btn{position:relative}
.comms-ch-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.comms-ch-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:4px;vertical-align:middle;flex-shrink:0;transition:background .2s}
.comms-ch-dot.has-msg{background:var(--success-fg)}
.comms-ch-dot.no-msg{background:var(--danger)}
.comms-compose{border-top:1px solid var(--border);padding:.625rem 1rem;display:flex;flex-direction:column;gap:.375rem;flex-shrink:0;background:var(--surface)}
.comms-to-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:24px}
.comms-to-label{font-size:10px;font-weight:500;color:var(--text3);letter-spacing:.3px;margin-right:2px}
.comms-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:20px;font-size:10px;font-weight:400;color:var(--text3);cursor:pointer;background:var(--bg);transition:all .12s;user-select:none}
.comms-chip.selected{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.06)}
.comms-chip-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.comms-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:12px;font-family:inherit;padding:7px 10px;outline:none;resize:none;min-height:52px;max-height:120px;line-height:1.5;width:100%;box-sizing:border-box;transition:border-color .15s}
.comms-textarea:focus{border-color:var(--accent)}
.comms-compose-footer{display:flex;align-items:center;gap:.5rem}
.comms-attach-btn{font-size:10px;padding:3px 8px;display:flex;align-items:center;gap:4px}
.comms-attach-preview{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:2px 8px}
/* Thread messages */
.comms-msg{display:flex;flex-direction:column;gap:2px;max-width:88%}
.comms-msg.out{align-self:flex-end;align-items:flex-end}
.comms-msg.in{align-self:flex-start;align-items:flex-start}
.comms-msg-bubble{padding:.5rem .75rem;border-radius:10px;font-size:12px;font-weight:300;line-height:1.5;word-break:break-word}
.comms-msg.out .comms-msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:3px}
.comms-msg.in .comms-msg-bubble{background:var(--surface2);color:var(--text);border-bottom-left-radius:3px;border:1px solid var(--border)}
.comms-msg-meta{font-size:9px;color:var(--text3);font-weight:300;display:flex;gap:.375rem;align-items:center}
.comms-msg-badge{font-size:8px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:1px 5px;border-radius:8px}
.comms-badge-client{background:rgba(31,122,79,.12);color:#059669}
.comms-badge-agent{background:rgba(43,94,174,.12);color:var(--info)}
.comms-badge-team{background:rgba(102,85,168,.12);color:var(--comms)}
.comms-doc-chip{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 8px;background:rgba(255,255,255,.15);border-radius:6px;font-size:10px;font-weight:400;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.comms-msg.in .comms-doc-chip{background:var(--bg);border:1px solid var(--border);color:var(--accent)}
.comms-msg-unread .comms-msg-bubble{border-left:3px solid var(--danger)!important;padding-left:.5rem}
.comms-date-sep{text-align:center;font-size:10px;color:var(--text3);font-weight:400;padding:.25rem 0;flex-shrink:0}
.comms-empty{font-size:12px;font-weight:300;color:var(--text3);text-align:center;padding:2rem 1rem}
.comms-attach-doc-row{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius);cursor:pointer;font-size:11px;color:var(--text);transition:background .12s}
.comms-attach-doc-row:hover{background:var(--surface2)}

/* ── Alfred Lex — Research View ─────────────────────────────────────────────── */
#view-research{height:calc(100vh - 48px);overflow:hidden}
.lex-layout{display:flex;height:100%;overflow:hidden}
.lex-sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:1rem;background:var(--surface);display:flex;flex-direction:column;gap:2px}
.lex-sidebar-hdr{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 0 6px;margin-top:4px}
.lex-corpus-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}
.lex-stat-row{display:flex;justify-content:space-between;font-size:11px}
.lex-stat-label{color:var(--muted)}
.lex-stat-val{font-weight:500;color:var(--text)}
.lex-area-pills{display:flex;flex-direction:column;gap:3px}
.lex-area-pill{text-align:left;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:400;color:var(--text3);background:none;border:none;cursor:pointer;font-family:inherit;transition:background .1s,color .1s}
.lex-area-pill:hover{background:var(--surface2);color:var(--text)}
.lex-area-pill.active{background:var(--surface2);color:var(--accent);font-weight:500}
.lex-law-item{padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .1s}
.lex-law-item:hover{background:var(--surface2)}
.lex-law-title{font-size:11px;font-weight:500;color:var(--text);line-height:1.35}
.lex-law-area{font-size:10px;color:var(--muted);margin-top:1px;text-transform:capitalize}
.lex-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.lex-search-bar{display:flex;gap:8px;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.lex-search-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;font-size:13px;padding:7px 12px;outline:none;transition:border-color .12s}
.lex-search-input:focus{border-color:var(--accent)}
.lex-search-btn{padding:7px 18px;background:var(--accent);color:#1a1a1a;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}
.lex-results{flex:1;overflow-y:auto;padding:1.25rem}
.lex-article-detail{flex:1;overflow-y:auto;padding:1.25rem}
.lex-welcome{text-align:center;padding:3rem 2rem;color:var(--muted)}
.lex-welcome-title{font-size:15px;font-weight:500;color:var(--text);margin-bottom:.5rem}
.lex-welcome-sub{font-size:12px;margin-bottom:1rem}
.lex-welcome-hint{font-size:11px}
.lex-results-heading{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.lex-results-count{font-weight:400;margin-left:6px}
.lex-result-card{border:1px solid var(--border);border-radius:5px;padding:12px 14px;margin-bottom:8px;cursor:pointer;background:var(--bg);transition:border-color .12s,background .12s}
.lex-result-card:hover{border-color:var(--accent);background:var(--surface)}
.lex-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.lex-result-law{font-size:11px;font-weight:600;color:var(--accent)}
.lex-result-area{font-size:10px;color:var(--muted);text-transform:capitalize;padding:1px 6px;background:var(--surface2);border-radius:3px}
.lex-result-article{font-size:12px;font-weight:500;color:var(--text);margin-bottom:4px}
.lex-result-snippet{font-size:11px;color:var(--text3);line-height:1.5}
.lex-result-snippet b{color:var(--text);font-weight:600}
.lex-back-btn{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0 0 1rem;font-family:inherit}
.lex-art-law{font-size:11px;font-weight:600;color:var(--accent);margin-bottom:4px}
.lex-art-num{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}
.lex-art-meta{font-size:11px;color:var(--muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.lex-hist-btn{background:none;border:none;color:var(--accent);font-size:11px;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline}
.lex-art-body{font-size:13px;line-height:1.7;color:var(--text);white-space:pre-wrap;max-width:720px}
.lex-art-historical{margin-top:2rem;padding-top:1.5rem;border-top:2px dashed var(--border)}
.lex-art-hist-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}

/* ── Lex citation treatment bar & authority label ────────────────────────── */
.lex-authority-label{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;background:var(--hover);color:var(--text2);margin-bottom:1rem;border:1px solid var(--border)}
.lex-treatment-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:6px;background:var(--border)}
.lex-treatment-seg{height:100%;transition:width .3s}
.lex-treatment-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem}
.lex-legend-item{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text3)}
.lex-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.lex-cited-badge{padding:2px 7px;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-size:10px;font-weight:600;color:var(--text2);white-space:nowrap}
.lex-loading{padding:2rem;text-align:center;font-size:12px;color:var(--muted)}
.lex-no-results{padding:2rem;text-align:center;font-size:12px;color:var(--muted)}
.lex-meta-badge{display:inline-block;padding:1px 6px;border-radius:3px;background:var(--surface2);font-size:10px;color:var(--text3);margin-right:4px}
.lex-result-snip{font-size:11px;color:var(--text3);margin-top:4px;line-height:1.5}
.lex-result-snip b{color:var(--text);font-weight:600}

/* ── Lex tabs ─────────────────────────────────────────────────────────────── */
.lex-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:0;padding:0 1.5rem}
.lex-tab{padding:10px 18px;font-size:12px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .12s;margin-bottom:-2px;font-family:inherit}
.lex-tab:hover{color:var(--text)}
.lex-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.lex-tab-content{padding:0}

/* ── Lex seed buttons (sidebar) ──────────────────────────────────────────── */
.lex-seed-btn{padding:5px 10px;font-size:11px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text2);cursor:pointer;font-family:inherit;text-align:left;transition:all .12s}
.lex-seed-btn:hover{border-color:var(--accent);color:var(--accent)}

/* ── Lex citation rows ────────────────────────────────────────────────────── */
.lex-cite-list{display:flex;flex-direction:column;gap:4px;margin-top:.5rem}
.lex-cite-row{display:flex;align-items:center;gap:8px;font-size:11px;padding:4px 0;border-bottom:1px solid var(--border)}
.lex-cite-ecli{font-family:'DM Mono',monospace;color:var(--text2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lex-cite-treatment{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.lex-cite-treatment[data-t=follows]{background:#dcfce7;color:#15803d}
.lex-cite-treatment[data-t=distinguishes]{background:#fef3c7;color:#b45309}
.lex-cite-treatment[data-t=limits]{background:#ede9fe;color:#7c3aed}
.lex-cite-treatment[data-t=overrules]{background:#fee2e2;color:#b91c1c}
.lex-cite-treatment[data-t=mentions]{background:var(--surface);color:var(--muted)}
.lex-cite-date{font-size:10px;color:var(--muted);white-space:nowrap}

/* ── Lex update rows (BOE watch) ─────────────────────────────────────────── */
.lex-update-row{padding:5px 4px;border-bottom:1px solid var(--border);font-size:11px}
.lex-update-row.unread{background:var(--hover)}
.lex-update-title{color:var(--text2);font-weight:400;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lex-update-meta{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px}
.lex-upd-badge{display:inline-block;background:var(--accent);color:#fff;border-radius:10px;padding:0 5px;font-size:9px;font-weight:700;margin-left:4px}
.lex-upd-mark-read{margin-left:auto;font-size:9px;padding:1px 5px;border:1px solid var(--border);border-radius:3px;background:none;cursor:pointer;color:var(--muted);font-family:inherit}

/* ── Case Quick-Nav (sidebar secondary tools) ───────────────────────────────── */
.cv-quick-nav{display:flex;flex-wrap:wrap;gap:4px;padding:.625rem .75rem;border-bottom:1px solid var(--border);background:var(--surface)}
.cv-qn-btn{padding:3px 9px;border:1px solid var(--border);border-radius:20px;font-size:10px;font-weight:400;color:var(--text3);background:var(--bg);cursor:pointer;transition:all .12s;white-space:nowrap;font-family:inherit}
.cv-qn-btn:hover{border-color:var(--accent);color:var(--accent)}
.cv-qn-btn.qn-alert{border-color:#f59e0b;color:#b45309}

/* ── Property Intelligence lens ─────────────────────────────────────────────── */
.prop-recall-card{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto;width:100%}
.prop-card-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}
.prop-caveat-banner{padding:.5rem 1.5rem;background:#fffbf0;border-bottom:1px solid #f0e6c0;font-size:11px;font-weight:400;color:#7a5c1a;font-style:italic}
.prop-meta-strip{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem 1.5rem;background:var(--surface2);border-bottom:1px solid var(--border)}
.prop-section-hdr{padding:.6rem 1.5rem;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);background:var(--surface2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:.25rem}
.prop-section-body{padding:.75rem 1.5rem}
.prop-action-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.prop-action-btn{padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;font-weight:400;color:var(--text2);background:var(--surface);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.prop-action-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(201,169,110,.05)}
.prop-signal-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.04em}
.prop-signal-chip--red{background:#fdecea;color:#c0392b}
.prop-signal-chip--amber{background:#fff3e0;color:#b36200}
.prop-signal-chip--info{background:#e8f4fd;color:#2b6cb0}
.prop-signal-chip--ok{background:#e8f7ef;color:#1a7f4b}
/* §5 area-memory divider + notice — muted/neutral, never red */
.prop-area-divider{border:none;border-top:2px solid var(--border);margin:.75rem 0 0}
.prop-section-hdr--area{color:var(--text2);background:var(--surface)}
.prop-area-memory-notice{padding:.35rem 1.5rem;font-size:11px;font-style:italic;color:var(--text3);background:var(--surface);border-bottom:1px solid var(--border-light)}
.prop-area-memory-label{display:block;font-size:10px;color:var(--text3);font-style:italic;margin-top:2px}
/* §4 document unverified marker */
.prop-doc-unverified{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;font-size:10px;color:#7a5c1a;background:#fffbf0;border:1px solid #f0e6c0}
/* §6 full evidence log collapsible */
.prop-evidence-details{border-top:1px solid var(--border)}
.prop-evidence-details summary::-webkit-details-marker{display:none}
.prop-evidence-details summary::marker{display:none}

/* ── Internal Pulse ("My Pulse") panel ───────────────────────────────────── */
.hpi-panel{background:var(--card,#fff);border:1px solid var(--border-light,#e6e2d9);border-radius:10px;padding:14px 16px;margin-bottom:1rem}
.hpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.hpi-title{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text2,#555)}
.hpi-scope-toggle{display:flex;align-items:center;gap:4px}
.hpi-scope-btn{font-size:11px;color:var(--text3,#999);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:6px}
.hpi-scope-btn.hpi-scope-active{color:var(--text,#222);font-weight:600;background:var(--border-light,#eee)}
.hpi-scope-sep{color:var(--border,#ccc);font-size:9px}
.hpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:880px){.hpi-grid{grid-template-columns:1fr}}
.hpi-col{min-width:0}
.hpi-section-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3,#999);margin-bottom:8px}
.hpi-fact-note{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text3,#bbb);font-size:10px;margin-left:6px}
.hpi-state-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}
.hpi-state-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--text3,#bbb)}
.hpi-state-client_action{background:#c0392b;border-color:#c0392b}
.hpi-state-waiting_on{background:#e67e22;border-color:#e67e22}
.hpi-state-lawyer_review{background:#2980b9;border-color:#2980b9}
.hpi-state-completion_prep{background:#27ae60;border-color:#27ae60}
.hpi-state-active{background:transparent;border-color:var(--text3,#bbb)}
.hpi-state-dormant{background:transparent;border-color:var(--border,#ddd)}
.hpi-state-label{flex:1;color:var(--text,#333)}
.hpi-state-count{font-weight:600;color:var(--text,#222)}
.hpi-need-row,.hpi-act-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-light,#f0ece3);font-size:12px;cursor:pointer}
.hpi-need-row:hover,.hpi-act-row:hover{background:var(--border-light,#f7f4ee)}
.hpi-need-ref,.hpi-act-ref{font-weight:600;color:var(--text,#222);flex-shrink:0;min-width:70px}
.hpi-need-fact{color:var(--text2,#555)}
.hpi-act-type{flex:1;color:var(--text2,#555)}
.hpi-act-when{color:var(--text3,#999);font-size:11px;flex-shrink:0}
.hpi-silence-note{margin-top:8px;font-size:11px;color:var(--text3,#999)}
.hpi-empty,.hpi-loading{font-size:12px;color:var(--text3,#aaa);padding:.5rem 0}

/* ── FIRM CALENDAR ──────────────────────────────────────────────────────────── */
.cal-dow-hdr{font-size:11px;font-weight:600;color:var(--text3);text-align:center;padding:.5rem .25rem;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em}
.cal-cell{min-height:100px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.35rem .4rem;cursor:pointer;transition:background .1s}
.cal-cell:hover{background:var(--surface-2,var(--hover-bg,#f9f7f2))}
.cal-cell:nth-child(7n){border-right:none}
.cal-cell-filler{min-height:100px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2,#faf9f7)}
.cal-cell-today{background:rgba(201,169,110,.07)}
.cal-day-num{font-size:12px;font-weight:500;color:var(--text2);margin-bottom:.2rem;line-height:1}
.cal-day-today{background:var(--accent,#C9A96E);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px}
.cal-chips{display:flex;flex-direction:column;gap:2px}
.cal-chip{display:flex;align-items:center;gap:3px;font-size:10px;line-height:1.2;padding:1px 4px;border-radius:3px;background:var(--surface-2,#f5f3ee);cursor:pointer;overflow:hidden;white-space:nowrap;position:relative}
.cal-chip:hover{filter:brightness(.94)}
.cal-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cal-chip-bar{position:absolute;inset:0;border-radius:3px;pointer-events:none}
.cal-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--text,#222);position:relative}
.cal-chip-more{font-size:10px;color:var(--text3);cursor:pointer;padding:1px 2px}
.cal-chip-more:hover{color:var(--accent,#C9A96E)}
.cal-panel-item{padding:.6rem .75rem;border-radius:6px;border:1px solid var(--border);margin-bottom:.5rem;transition:background .1s}
.cal-panel-item:hover{background:var(--surface-2,#f9f7f2)}
.cal-type-toggle{display:flex;align-items:center;gap:.3rem;font-size:11px;padding:3px 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);cursor:pointer;color:var(--text2);transition:all .15s}
.cal-type-toggle.active{background:var(--surface-2,#f5f3ee);color:var(--text)}
.cal-type-toggle:not(.active){opacity:.45}
/* END FIRM CALENDAR */

/* ── COMPANY RECALL (B0) ─────────────────────────────────────────── */
.co-card-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 340px;
  height: 100%;
  background: var(--surface);
  border-left: 2px solid var(--border);
  z-index: 30;
  transform: translateX(100%);
  transition: transform .2s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  scrollbar-width: thin;
}
.co-card-panel.open {
  transform: translateX(0);
  box-shadow: -6px 0 28px rgba(0,0,0,.13);
}
.co-search-input {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 300;
  color: var(--text);
  background: var(--surface);
  outline: none;
  transition: border-color .12s;
}
.co-search-input:focus { border-color: var(--accent-mid); }
.co-search-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  z-index: 50;
  max-height: 280px;
  overflow-y: auto;
}
.co-search-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid var(--border-light);
  font-size: 13px;
  font-weight: 300;
  color: var(--text2);
}
.co-search-row:last-child { border-bottom: none; }
.co-search-row:hover { background: var(--surface2); }
.co-search-empty { padding: 10px 12px; font-size: 13px; color: var(--text3); font-weight: 300; }
.co-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border-light);
  cursor: pointer;
}
.co-row:last-child { border-bottom: none; }
.co-row:hover .co-row-name { color: var(--accent); }
.co-row-main { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.co-row-name { font-size: 13px; font-weight: 400; color: var(--text2); }
.co-row-sub { font-size: 11px; color: var(--text3); font-weight: 300; }
.co-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 1px 6px;
  border-radius: 3px;
  text-transform: lowercase;
  vertical-align: middle;
}
.co-badge-cat { background: var(--info-light); color: var(--info); }
.co-badge-role { background: var(--surface2); color: var(--text3); }
.co-badge-firm { background: var(--accent-light); color: var(--accent-mid); }
.co-recall-block {
  background: var(--surface2);
  border-radius: var(--radius);
  padding: 10px 12px;
  margin-bottom: 12px;
}
.co-recall-lbl {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--text3);
  margin-bottom: 4px;
}
.co-recall-text { font-size: 13px; color: var(--text2); font-weight: 300; line-height: 1.5; }
.co-stats-row {
  display: flex;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 4px;
}
.co-stat {
  flex: 1;
  text-align: center;
  padding: 8px 4px;
  border-right: 1px solid var(--border);
}
.co-stat:last-child { border-right: none; }
.co-stat-val { font-size: 15px; font-weight: 500; color: var(--text); }
.co-stat-lbl { font-size: 9px; font-weight: 500; letter-spacing: .4px; text-transform: uppercase; color: var(--text3); margin-top: 2px; }
.co-card-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px 12px;
  border-bottom: 1px solid var(--border);
}
.co-card-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.co-card-close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--text3);
  padding: 0 2px;
  transition: color .12s;
}
.co-card-close:hover { color: var(--text2); }
.co-field {
  padding: 4px 0;
}
.co-field-lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--text3);
  margin-bottom: 2px;
}
.co-field-val {
  font-size: 12px;
  font-weight: 300;
  color: var(--text2);
}
/* ── NAV RAIL (G4 — role-scoped, reconceived) ── */
.nr-rail{background:var(--sidebar-bg);border-right:1px solid var(--border-light);width:220px;min-width:220px;padding:16px 0;display:flex;flex-direction:column;gap:2px}
.nr-item{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;font-weight:300;color:var(--text2);cursor:pointer;position:relative;transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:left}
.nr-item:hover{background:var(--border-light);color:var(--text)}
.nr-item.active{color:var(--accent);font-weight:500;background:rgba(36,49,58,0.05)}
.nr-item.active::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}
.nr-badge{margin-left:auto;background:var(--accent);color:#fff;border-radius:2px;font-size:10px;font-weight:500;padding:1px 6px;min-width:18px;text-align:center;font-family:'DM Mono',monospace}
.nr-icon{width:16px;height:16px;flex-shrink:0;opacity:.5;color:currentColor}
.nr-item.active .nr-icon,.nr-item:hover .nr-icon{opacity:1}
.nr-divider{height:1px;background:var(--border-light);margin:8px 16px}
.nr-section-label{font-size:9px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);padding:8px 16px 2px}
/* ── ALFRED AURA PATTERNS (G4) ── */
.aura-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--gold);color:var(--accent);border-radius:50%;font-size:11px;font-weight:600;font-family:'Cormorant Garamond',serif;flex-shrink:0}
.alfred-attribution{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-light);border-radius:var(--radius);font-size:11px;color:var(--accent);font-weight:300}
.signoff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow)}
.signoff-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.signoff-title{font-size:12px;font-weight:400;color:var(--accent)}
.signoff-body{font-size:12px;font-weight:300;color:var(--text2);margin-bottom:12px;line-height:1.5}
.provenance-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface2);border:1px solid var(--border-light);border-radius:var(--radius);padding:3px 8px;font-size:10px;font-weight:300;color:var(--text3);font-family:'DM Mono',monospace}
/* END COMPANY RECALL */

/* ── CASES LIST G4 ─────────────────────────────────────────────────────── */
.cl-page-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 8px;gap:12px}
.cl-page-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--text);margin:0;line-height:1.2}
.cl-page-sub{font-size:12px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif;margin-top:2px}
.cl-new-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:12px;font-weight:400;font-family:'Jost',sans-serif;cursor:pointer;white-space:nowrap}
.cl-new-btn:hover{opacity:.9}
/* Search */
.cl-search-wrap{display:flex;align-items:center;gap:8px;margin:0 24px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}
.cl-search-ico{flex-shrink:0;color:var(--text3)}
.cl-search-input{flex:1;border:none;outline:none;font-size:13px;font-weight:300;color:var(--text);font-family:'Jost',sans-serif;background:transparent}
.cl-search-input::placeholder{color:var(--text3)}
.cl-search-clear{border:none;background:none;color:var(--text3);cursor:pointer;padding:0;font-size:14px;line-height:1}
/* Filter strip */
.cl-filter-strip{display:flex;align-items:center;justify-content:space-between;padding:0 24px 12px;gap:12px;flex-wrap:wrap}
.cl-filters{display:flex;align-items:center;gap:4px}
.cl-filter-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:300;color:var(--text2);background:var(--surface);cursor:pointer;transition:all .12s;font-family:'Jost',sans-serif}
.cl-filter-btn:hover{border-color:var(--accent);color:var(--accent)}
.cl-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.cl-filter-btn.active .cl-fbadge{background:rgba(255,255,255,.25);color:#fff}
.cl-fbadge{font-size:10px;font-weight:500;background:var(--surface2);color:var(--text3);border-radius:999px;padding:1px 6px;min-width:16px;text-align:center;font-family:'DM Mono',monospace}
.cl-fbadge-warn{background:var(--warn-light);color:var(--warn)}
.cl-filter-right{display:flex;align-items:center;gap:8px}
.cl-sort-sel{font-size:12px}
/* Matter rows */
.cl-matter-list{padding:0 24px 24px}
.cl-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;cursor:pointer;transition:box-shadow .12s,border-color .12s}
.cl-row:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);border-color:rgba(36,49,58,.15)}
.cl-row-left{display:flex;align-items:center;gap:12px;min-width:0}
.cl-row-body{min-width:0}
.cl-row-title{font-size:14px;font-weight:400;color:var(--text);font-family:'Jost',sans-serif;display:flex;align-items:baseline;gap:8px}
.cl-row-ref{font-size:11px;font-weight:400;color:var(--text3);font-family:'DM Mono',monospace}
.cl-row-prop{font-size:12px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.cl-type-tag{display:inline-block;font-size:10px;font-weight:400;color:var(--text3);background:var(--surface2);border-radius:3px;padding:2px 6px;margin-top:3px;font-family:'Jost',sans-serif}
.cl-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.cl-rel-btn{background:none;border:none;cursor:pointer;padding:2px 5px;font-size:13px;color:var(--text3);border-radius:3px;line-height:1;transition:color .12s,background .12s}.cl-rel-btn:hover{color:var(--gold);background:var(--surface2)}
/* Six-dot glyph */
.cl-six-dot{display:flex;align-items:center;gap:4px;flex-shrink:0}
.cl-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.cl-dot-not-started{background:transparent;border:1.5px solid var(--border)}
.cl-dot-pending{background:var(--text3);opacity:.5}
.cl-dot-clear{background:var(--success)}
.cl-dot-attention{background:var(--warn)}
.cl-dot-exception{background:var(--danger)}
/* Countdown chip */
.cl-cd-chip{font-size:10px;font-weight:400;font-family:'DM Mono',monospace;border-radius:3px;padding:2px 6px}
.cl-cd-overdue{background:var(--danger-light);color:var(--danger)}
.cl-cd-red{background:var(--danger-light);color:var(--danger)}
.cl-cd-amber{background:var(--warn-light);color:var(--warn)}
.cl-cd-neutral{background:var(--surface2);color:var(--text3)}
/* Status chips */
.cl-chip{font-size:10px;font-weight:400;font-family:'Jost',sans-serif;border-radius:3px;padding:2px 7px;border:1px solid}
.cl-chip-exception{background:var(--danger-light);color:var(--danger);border-color:rgba(207,54,54,.2)}
.cl-chip-active{background:var(--success-light);color:var(--success);border-color:rgba(31,122,79,.2)}
.cl-chip-intake{background:var(--surface2);color:var(--text3);border-color:var(--border)}
.cl-chip-closed{background:var(--surface2);color:var(--text3);border-color:var(--border)}
/* Assignee avatar */
.cl-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:#fff;flex-shrink:0;font-family:'Jost',sans-serif}
/* Empty state */
.cl-empty{padding:40px 0;text-align:center;font-size:13px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif}
/* Grouped row (indented inside a relationship group) */
.cl-row-grouped{margin-left:20px;border-left:2px solid var(--border)}
/* Relationship group */
.cl-rel-group{margin-bottom:4px;border-radius:var(--radius);overflow:hidden}
.cl-rel-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--surface2);cursor:pointer;list-style:none;font-family:'Jost',sans-serif}
.cl-rel-header::-webkit-details-marker{display:none}
.cl-rel-caret{font-size:10px;color:var(--text3);transition:transform .15s;display:inline-block}
details[open] .cl-rel-caret{transform:rotate(90deg)}
.cl-rel-name{font-size:13px;font-weight:400;color:var(--text);font-family:'Cormorant Garamond',serif}
.cl-rel-count{font-size:11px;font-weight:400;color:var(--text3);font-family:'DM Mono',monospace;margin-left:4px}
.cl-rel-ex{margin-left:auto;font-size:10px;font-weight:400;color:var(--danger);background:var(--danger-light);border-radius:3px;padding:2px 6px;font-family:'Jost',sans-serif}
.cl-rel-body{padding:2px 0 2px 0}
/* Saved views */
.cl-sv-row{display:flex;align-items:center;gap:6px;margin-left:8px}
.cl-sv-btn{font-size:11px;font-weight:300;color:var(--text3);background:none;border:1px dashed var(--border);border-radius:999px;padding:3px 10px;cursor:pointer;font-family:'Jost',sans-serif}
.cl-sv-btn:hover{color:var(--accent);border-color:var(--accent)}
.cl-sv-chip{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:300;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:3px 10px;font-family:'Jost',sans-serif}
.cl-sv-del{border:none;background:none;color:var(--accent);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}

/* ── OPEN ITEMS ── */
.oi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.oi-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--text1);letter-spacing:-.2px}
.oi-subtitle{font-size:13px;font-weight:300;color:var(--text3);margin-top:3px;font-family:'Jost',sans-serif}
.oi-counts{display:flex;gap:6px;align-items:center;margin-top:4px;flex-wrap:wrap}
.oi-count-chip{font-size:11px;font-weight:300;font-family:'Jost',sans-serif;padding:3px 10px;border-radius:999px}
.oi-count-snoozed{background:var(--surface2);color:var(--text3)}
.oi-count-delegated{background:var(--accent-light);color:var(--accent)}
/* Filter strip */
.oi-filter-strip{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}
.oi-filter-btn{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;background:none;border:1px solid var(--border);border-radius:999px;padding:4px 14px;cursor:pointer;color:var(--text3);transition:all .15s}
.oi-filter-btn:hover{color:var(--text1);border-color:var(--text3)}
.oi-filter-btn.active{background:var(--text1);color:#fff;border-color:var(--text1)}
/* Cards */
.oi-card{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden;transition:box-shadow .15s}
.oi-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.06)}
.oi-card-snoozed{opacity:.55}
.oi-card-delegated{opacity:.65}
.oi-rail{width:4px;flex-shrink:0}
.oi-rail-exception{background:var(--danger)}
.oi-rail-attention{background:var(--warn)}
.oi-rail-signoff{background:var(--accent)}
.oi-card-body{flex:1;padding:14px 16px;min-width:0}
.oi-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.oi-ws-tag{font-size:10px;font-weight:500;font-family:'Jost',sans-serif;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px}
.oi-ws-aml,.oi-ws-title,.oi-ws-searches{background:#FFF3F3;color:var(--danger)}
.oi-ws-funds,.oi-ws-notary,.oi-ws-tax{background:#FFF8E8;color:#9A6E00}
.oi-ws-other,.oi-ws-signoff{background:var(--surface2);color:var(--text2)}
.oi-matter-ref{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;color:var(--text2)}
.oi-state-tag{font-size:10px;font-weight:400;font-family:'Jost',sans-serif;padding:2px 8px;border-radius:3px;margin-left:auto}
.oi-snoozed-tag{background:#EFF6FF;color:#1D6EC2}
.oi-delegated-tag{background:var(--accent-light);color:var(--accent)}
.oi-card-desc{font-size:14px;font-weight:300;color:var(--text1);line-height:1.4;margin-bottom:4px;font-family:'Jost',sans-serif}
.oi-card-sub{font-size:11px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif;margin-bottom:8px;font-style:italic}
/* Card actions */
.oi-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.oi-btn-primary{font-size:12px;font-weight:400;font-family:'Jost',sans-serif;background:var(--text1);color:#fff;border:none;border-radius:var(--radius);padding:5px 14px;cursor:pointer}
.oi-btn-primary:hover{opacity:.85}
.oi-btn-approve{font-size:12px;font-weight:400;font-family:'Jost',sans-serif;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:5px 14px;cursor:pointer}
.oi-btn-approve:hover{opacity:.85}
.oi-btn-ghost{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 12px;cursor:pointer;color:var(--text2)}
.oi-btn-ghost:hover{border-color:var(--text3);color:var(--text1)}
/* Snooze dropdown */
.oi-snooze-dd,.oi-delegate-dd{position:absolute;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.1);padding:6px;min-width:160px;display:flex;flex-direction:column;gap:2px}
.oi-snooze-dd button,.oi-delegate-dd button{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;background:none;border:none;padding:6px 10px;cursor:pointer;color:var(--text2);text-align:left;border-radius:3px}
.oi-snooze-dd button:hover,.oi-delegate-dd button:hover{background:var(--surface2);color:var(--text1)}
/* Delegate dropdown extras */
.oi-delegate-head{font-size:10px;font-weight:500;font-family:'Jost',sans-serif;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;padding:4px 10px 0}
.oi-delegate-list{display:flex;flex-direction:column;gap:2px}
.oi-delegate-note{font-size:12px;font-family:'Jost',sans-serif;border:1px solid var(--border);border-radius:3px;padding:4px 8px;margin:4px 6px 2px;outline:none;color:var(--text1)}
/* Misc */
.oi-loading,.oi-empty{padding:40px 0;text-align:center;font-size:13px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif}

/* ── Case Workspace G4 ──────────────────────────────────────────────────── */
/* Panel nav */
.cw-panel-nav{display:flex;align-items:center;gap:2px;border-top:1px solid var(--border);padding:6px 12px;flex-shrink:0;background:var(--surface)}
.cw-pnav-btn{font-size:12px;font-weight:400;font-family:'Jost',sans-serif;color:var(--text2);background:none;border:1px solid transparent;border-radius:var(--radius);padding:5px 12px;cursor:pointer;transition:color .15s,background .15s}
.cw-pnav-btn:hover{background:var(--surface2);color:var(--text1)}
.cw-pnav-btn.active{background:var(--surface2);border-color:var(--border);color:var(--text1);font-weight:500}
.cw-pnav-more{display:flex;align-items:center;gap:2px;margin-left:auto}
.cw-pnav-ghost{font-size:11px;font-weight:300;font-family:'Jost',sans-serif;color:var(--text3);background:none;border:none;padding:4px 8px;cursor:pointer;border-radius:var(--radius)}
.cw-pnav-ghost:hover{color:var(--text2);background:var(--surface2)}
.cw-pnav-back{font-size:11px;font-weight:400;font-family:'Jost',sans-serif;color:var(--accent);background:none;border:none;padding:4px 8px;cursor:pointer;margin-left:auto}

/* Exception banner */
.cw-exception-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);margin:10px 20px 4px;flex-shrink:0}
.cw-eb-exception{background:var(--danger-light,#fef2f2);border-left:3px solid var(--danger)}
.cw-eb-attention{background:var(--warn-light,#fffbeb);border-left:3px solid var(--warn)}
.cw-eb-aura{width:28px;height:28px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:600;color:var(--accent);flex-shrink:0;box-shadow:0 0 0 1px var(--border)}
.cw-eb-body{flex:1;min-width:0}
.cw-eb-ws{font-size:11px;font-weight:600;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--text2)}
.cw-eb-prov{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;color:var(--text2);margin-top:1px}
.cw-eb-actions{flex-shrink:0}
.cw-eb-btn{font-size:11px;font-weight:500;font-family:'Jost',sans-serif;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;cursor:pointer;color:var(--text1)}
.cw-eb-btn:hover{background:var(--surface2)}

/* Workstream rows */
.cw-ws-rows{display:flex;flex-direction:column;gap:1px;padding:12px 0 4px}
.cw-ws-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:default;transition:box-shadow .1s}
.cw-ws-row:hover{box-shadow:0 1px 4px rgba(0,0,0,.06)}
.cw-ws-exception{border-left:3px solid var(--danger);background:var(--danger-light,#fef2f2)}
.cw-ws-attention{border-left:3px solid var(--warn);background:var(--warn-light,#fffbeb)}
.cw-ws-glyph{flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}
.cw-ws-info{flex:1;min-width:0}
.cw-ws-label{font-size:13px;font-weight:400;font-family:'Jost',sans-serif;color:var(--text1)}
.cw-ws-prov{font-size:11px;font-weight:300;font-family:'Jost',sans-serif;color:var(--text3);margin-top:1px}
.cw-ws-state-tag{font-size:10px;font-weight:500;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:20px;flex-shrink:0}
.cw-ws-tag-not-started{background:var(--surface2);color:var(--text3)}
.cw-ws-tag-pending{background:rgba(201,169,110,.12);color:var(--accent)}
.cw-ws-tag-clear{background:rgba(34,197,94,.1);color:var(--success,#16a34a)}
.cw-ws-tag-attention{background:rgba(245,158,11,.12);color:var(--warn,#b45309)}
.cw-ws-tag-exception{background:rgba(239,68,68,.1);color:var(--danger,#dc2626)}
.cw-ws-loading{padding:32px 0;text-align:center;font-size:12px;font-weight:300;color:var(--text3);font-family:'Jost',sans-serif}

/* Next milestone strip */
.cw-next-milestone{font-size:12px;font-weight:300;font-family:'Jost',sans-serif;color:var(--text2);padding:8px 14px;border-top:1px solid var(--border);margin-top:4px;flex-shrink:0}
.cw-nm-label{font-weight:500;color:var(--text1)}
.cw-nm-item{font-weight:400;color:var(--text1)}
.cw-nm-sep{color:var(--text3);margin:0 4px}
.cw-nm-prov{color:var(--text2)}
.cw-nm-exception,.cw-nm-attention{color:var(--danger,#dc2626)}

/* ── Accounting Production (ap-*) ───────────────────────────────────────── */
.ap-shell{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden}
.ap-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}
.ap-header-left{display:flex;align-items:baseline;gap:.625rem}
.ap-zone-tag{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text3)}
.ap-title{font-size:14px;font-weight:600;color:var(--text)}
.ap-header-kpis{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:12px;color:var(--text2)}
.ap-kpi{font-family:'DM Mono',monospace;font-size:11px;color:var(--text2)}
.ap-kpi-warn{color:var(--danger)}
.ap-kpi-sep{color:var(--border)}
.ap-tab-bar{display:flex;gap:.25rem;flex-shrink:0}
.ap-tab{padding:.375rem .875rem;font-size:12px;font-weight:500;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text2);cursor:pointer;transition:background .15s,color .15s}
.ap-tab:hover{background:var(--surface2);color:var(--text)}
.ap-tab-active{background:var(--surface2);color:var(--text);border-color:var(--border)}
.ap-body{flex:1;overflow-y:auto;padding:1.25rem}
.ap-loading{font-size:13px;color:var(--text3);padding:2rem 0}

/* Intake tab */
.ap-intake-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ap-intake-title{font-size:13px;font-weight:600;color:var(--text)}
.ap-batch-actions{display:flex;gap:.5rem}
.ap-table{width:100%;border-collapse:collapse;font-size:12px}
.ap-table th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);padding:.5rem .75rem;border-bottom:1px solid var(--border)}
.ap-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light);vertical-align:top;color:var(--text2)}
.ap-table tr:last-child td{border-bottom:none}
.ap-table tr:hover td{background:var(--surface2)}
.ap-supplier-chip{display:inline-block;font-size:10px;font-weight:600;background:rgba(201,169,110,.1);color:var(--gold);border:1px solid rgba(201,169,110,.25);border-radius:4px;padding:1px 6px}
.ap-recall-chip{font-size:10px;color:var(--text3);font-family:'DM Mono',monospace}
.ap-approve-btn{font-size:11px;padding:.25rem .625rem;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer}
.ap-approve-btn:hover{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.3);color:var(--success)}
.ap-data-flag{font-size:10px;font-weight:500;color:var(--text3);background:rgba(86,94,104,.07);border:1px solid var(--border);border-radius:4px;padding:2px 7px;display:inline-block;margin-bottom:.75rem}
.ap-empty{font-size:13px;color:var(--text3);padding:2rem 0;text-align:center}

/* Company dimension panel */
.ap-company-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}
.ap-company-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.ap-company-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text3)}
.ap-company-tag{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:rgba(201,169,110,.1);border:1px solid rgba(201,169,110,.25);border-radius:4px;padding:1px 6px}
.ap-company-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem}
.ap-company-stat{text-align:center}
.ap-company-val{font-family:'DM Mono',monospace;font-size:20px;font-weight:500;line-height:1.2;color:var(--text)}
.ap-company-label{font-size:10px;color:var(--text3);margin-top:.2rem}
.ap-finding-note{font-size:11px;color:var(--text2);background:rgba(234,179,8,.06);border-left:3px solid var(--warn);border-radius:0 5px 5px 0;padding:.5rem .75rem;margin-top:.625rem}

/* Ledger tab */
.ap-ledger-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.ap-ledger-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.ap-ledger-card-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.ap-ledger-card-title{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3)}
.ap-ledger-card-body{padding:1rem}
.ap-exception-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:12px}
.ap-exception-row:last-child{border-bottom:none}
.ap-exception-label{color:var(--text2)}
.ap-exception-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px}
.ap-badge-warn{background:rgba(234,179,8,.1);color:var(--warn)}
.ap-badge-ok{background:rgba(34,197,94,.09);color:var(--success)}
.ap-badge-danger{background:rgba(239,68,68,.09);color:var(--danger)}
.ap-bank-recon-body{font-size:12px;color:var(--text2)}
.ap-bank-doc-row{padding:.375rem 0;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;font-size:11px}
.ap-bank-doc-row:last-child{border-bottom:none}
.ap-bank-link{color:var(--accent);text-decoration:none;font-weight:500}
.ap-v1-note{font-size:10px;color:var(--text3);background:rgba(86,94,104,.06);border:1px solid var(--border);border-radius:5px;padding:.5rem .75rem;margin-top:.5rem}
.ap-gdpr-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:1.25rem}
.ap-gdpr-item{padding:.5rem 1rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;font-size:12px}
.ap-gdpr-item:last-child{border-bottom:none}
.ap-gdpr-label{color:var(--text2)}

/* Filings tab */
.ap-filings-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}
.ap-filings-filter{font-size:11px;padding:.25rem .625rem;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer}
.ap-filings-filter.active{background:var(--surface2);color:var(--text)}
.ap-seam-card{background:rgba(201,169,110,.05);border:1px solid rgba(201,169,110,.25);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:flex-start;gap:.875rem}
.ap-seam-icon{width:32px;height:32px;border-radius:8px;background:rgba(201,169,110,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ap-seam-body{flex:1}
.ap-seam-title{font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.04em}
.ap-seam-text{font-size:12px;color:var(--text2);margin-top:.25rem;line-height:1.5}
.ap-filing-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.ap-filing-modelo{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:var(--text);min-width:4rem}
.ap-filing-client{font-size:12px;font-weight:500;color:var(--text);flex:1}
.ap-filing-period{font-size:11px;color:var(--text3);font-family:'DM Mono',monospace}
.ap-filing-due{font-size:11px;font-family:'DM Mono',monospace}
.ap-due-ok{color:var(--text3)}
.ap-due-warn{color:var(--warn)}
.ap-due-danger{color:var(--danger)}
.ap-filing-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px}
.ap-status-pending{background:rgba(234,179,8,.1);color:var(--warn)}
.ap-status-filed{background:rgba(34,197,94,.09);color:var(--success)}
.ap-status-overdue{background:rgba(239,68,68,.09);color:var(--danger)}
.ap-chase-btn{font-size:11px;padding:.25rem .625rem;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;flex-shrink:0}
.ap-chase-btn:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.3);color:var(--accent)}
.ap-chase-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1200;align-items:center;justify-content:center}
.ap-chase-overlay.open{display:flex}
.ap-chase-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:560px;max-width:96vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}
.ap-chase-card-header{padding:.875rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.ap-chase-card-title{font-size:13px;font-weight:600;color:var(--text)}
.ap-chase-card-body{padding:1.25rem;flex:1;overflow-y:auto}
.ap-chase-to{font-size:11px;color:var(--text3);margin-bottom:.75rem}
.ap-chase-draft{font-size:12px;color:var(--text2);white-space:pre-wrap;line-height:1.6;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.875rem;font-family:inherit}
.ap-chase-footer{padding:.875rem 1.25rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem}
@media(max-width:900px){.ap-ledger-grid{grid-template-columns:1fr}.ap-company-stats{grid-template-columns:1fr 1fr}}

/* ── Operations Cockpit reconception (oc-*) ─────────────────────────────── */
.oc-brief-strip{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1.25rem;flex-wrap:wrap}
.oc-brief-tag{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);background:var(--surface2);border-radius:4px;padding:1px 6px}
.oc-brief-item{font-family:'DM Mono',monospace;font-size:11px;color:var(--text2)}
.oc-brief-item.oc-brief-warn{color:var(--warn)}
.oc-brief-danger{color:var(--danger);font-weight:600}
.oc-brief-sep{color:var(--border);font-size:11px}
.oc-brief-v1{font-size:10px;color:var(--text3);margin-left:auto;font-style:italic}
.oc-exc-section{margin-bottom:1.25rem}
.oc-exc-label{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:.5rem}
.oc-exc-list{display:flex;flex-direction:column;gap:.375rem}
.oc-exc-card{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);transition:background .15s}
.oc-exc-card:hover{background:var(--surface2)}
.oc-exc-danger{border-left:3px solid var(--danger)}
.oc-exc-warn{border-left:3px solid var(--warn)}
.oc-exc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px}
.oc-exc-dot-danger{background:var(--danger)}
.oc-exc-dot-warn{background:var(--warn)}
.oc-exc-body{flex:1;min-width:0}
.oc-exc-title{font-size:12px;font-weight:500;color:var(--text)}
.oc-exc-detail{font-size:11px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-exc-action{font-size:11px;color:var(--accent);white-space:nowrap;flex-shrink:0}
.oc-exc-clear{font-size:12px;color:var(--success);display:flex;align-items:center;gap:.5rem;padding:.625rem 0}
.oc-advisory-panel{background:rgba(201,169,110,.04);border:1px solid rgba(201,169,110,.25);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}
.oc-advisory-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}
.oc-advisory-tag{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.oc-advisory-title{font-size:11px;font-weight:600;color:var(--text2)}
.oc-advisory-card{font-size:12px;color:var(--text2);line-height:1.55;padding:.375rem 0;border-bottom:1px solid rgba(201,169,110,.12)}
.oc-advisory-card:last-child{border-bottom:none}
.oc-dec-convo{display:flex;gap:.5rem;margin-bottom:1rem;align-items:center}
.oc-dec-input{flex:1;font-size:12px;padding:.5rem .75rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none}
.oc-dec-input:focus{border-color:var(--accent)}
.oc-dec-capture-btn{font-size:12px;padding:.5rem .875rem;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;white-space:nowrap}
.oc-dec-capture-btn:hover{background:var(--surface2);color:var(--text)}

/* ── CLIENT PROFILE — SURFACE 17 (.cpx-*) ──────────────────────────────── */
.cpx-cl-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:var(--surface2);color:var(--text2);border:1px solid var(--border);cursor:pointer;position:relative;user-select:none}
.cpx-cl-pill:hover{background:var(--border);color:var(--text)}
.cpx-cl-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:999;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.14);min-width:120px;overflow:hidden}
.cpx-cl-opt{padding:7px 12px;font-size:12px;cursor:pointer;color:var(--text2)}
.cpx-cl-opt:hover{background:var(--surface2);color:var(--text)}
.cpx-cl-opt-clear{color:var(--text3);border-top:1px solid var(--border-light);font-style:italic}
.cpx-resp-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.cpx-resp-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:400;padding:2px 8px;border-radius:20px;background:var(--surface2);color:var(--text2);border:1px solid var(--border-light)}
.cpx-resp-role{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text3);margin-right:2px}
.cpx-standing-strip{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:8px 24px;border-bottom:1px solid var(--border-light);background:var(--bg);flex-shrink:0}
.cpx-strip-item{font-family:'DM Mono',monospace;font-size:10px;font-weight:400;white-space:nowrap}
.cpx-strip-sep{color:var(--border);margin:0 8px;font-size:10px}
.cpx-hnw-table{width:100%;border-collapse:collapse;font-size:12px}
.cpx-hnw-table th{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);text-align:left;padding:4px 8px 4px 0;border-bottom:1px solid var(--border)}
.cpx-hnw-table td{padding:5px 8px 5px 0;color:var(--text2);border-bottom:1px solid var(--border-light);font-weight:300}
.cpx-hnw-modelo{font-family:'DM Mono',monospace;font-size:11px;font-weight:600;color:var(--text);background:var(--surface2);padding:1px 5px;border-radius:3px}
