
:root {
  --blue:       #1e4d9b;
  --blue-dark:  #163a7a;
  --blue-deep:  #0f2654;
  --blue-light: #e8eef8;
  --blue-mid:   rgba(30,77,155,0.12);
  --orange:     #e8621a;
  --orange-dark:#c44e10;
  --orange-light:#fdf0e8;
  --bg:         #f4f6fa;
  --surface:    #ffffff;
  --border:     #d0d5e2;
  --border-mid: #c8cfe0;
  --text:       #0f1f3d;
  --text-mid:   #5a6882;
  --text-dim:   #9aa3b8;
  --green:      #1a7a4a;
  --green-bg:   #e8f5ee;
  --red:        #b83030;
  --red-bg:     #fceaea;
  --amber:      #9a6200;
  --amber-bg:   #fdf4e0;
  --sidebar-w:  240px;
  --header-h:   58px;
  --radius:     10px;
  --shadow:     0 2px 10px rgba(15,31,61,0.11);
  --shadow-lg:  0 8px 32px rgba(15,31,61,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:4px;}

/* ── AUTH SCREEN ── */
.auth-screen {
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue) 60%,#2a6dd9 100%);
}
.auth-card {
  background:white;border-radius:16px;padding:40px;width:400px;max-width:94vw;
  box-shadow:0 24px 80px rgba(15,31,61,0.3);
}
.auth-logo {display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center;}
.auth-logo-text{font-size:26px;font-weight:800;letter-spacing:-0.5px;}
.auth-logo-text .lead{color:#111;}
.auth-logo-text .rest{color:#e8621a;}
.auth-tagline{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:28px;font-family:'JetBrains Mono',monospace;}
.auth-tabs{display:flex;gap:0;margin-bottom:24px;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;}
.auth-tab{flex:1;padding:9px;text-align:center;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-mid);transition:all 0.18s;}
.auth-tab.active{background:var(--blue);color:white;}
.auth-error{background:var(--red-bg);color:var(--red);border-radius:7px;padding:10px 13px;font-size:12.5px;margin-bottom:14px;display:none;}
.auth-error.show{display:block;}
.auth-success{background:var(--green-bg);color:var(--green);border-radius:7px;padding:10px 13px;font-size:12.5px;margin-bottom:14px;display:none;}
.auth-success.show{display:block;}

/* ── SIDEBAR ── */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--blue-deep);display:flex;flex-direction:column;z-index:100;overflow:hidden;}
#sidebar-logo-wrap{flex-shrink:0;}
.sidebar-nav-scroll{flex:1;overflow-y:auto!important;overflow-x:hidden;min-height:0;max-height:100%;}
.sidebar-nav-scroll::-webkit-scrollbar{width:3px;}
.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:3px;}
.sidebar-nav-scroll::-webkit-scrollbar-track{background:transparent;}

/* Logo background swatches */
.logo-swatch{width:28px;height:28px;border-radius:6px;cursor:pointer;flex-shrink:0;transition:transform 0.1s,box-shadow 0.1s;display:flex;align-items:center;justify-content:center;}
.logo-swatch:hover{transform:scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,0.18);}
.logo-swatch.active{box-shadow:0 0 0 2.5px var(--blue),0 0 0 4px #fff;}
.logo-swatch-custom{background:var(--bg);border:1.5px dashed var(--border);}
.sidebar-logo{padding:14px 16px;display:flex;align-items:center;justify-content:center;min-height:60px;transition:background 0.3s;border-bottom:1px solid rgba(255,255,255,0.08);}
.logo-text{font-size:17px;font-weight:800;line-height:1;letter-spacing:-0.3px;}
.logo-text .lt-lead{color:white;}
.logo-text .lt-rest{color:#e8621a;}
.logo-tagline{display:none;}
.sidebar-section{padding:12px 14px 4px;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.28);font-family:'JetBrains Mono',monospace;}
.nav-item{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 18px;color:rgba(255,255,255,0.5);font-size:13px;font-weight:500;cursor:pointer;transition:all 0.18s;border-left:3px solid transparent;margin:1px 0;user-select:none;}
.nav-item:hover{color:rgba(255,255,255,0.85);background:rgba(255,255,255,0.05);}
.nav-item.active{color:white;border-left-color:var(--orange);background:rgba(232,98,26,0.1);}
.nav-item .ni{font-size:15px;width:20px;text-align:center;flex-shrink:0;}
.nav-badge{margin-left:auto;background:var(--orange);color:white;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px;font-family:'JetBrains Mono',monospace;}
.sign-out-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.6);border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;padding:5px 10px;white-space:nowrap;transition:background .1s;}
.sign-out-btn:hover{background:rgba(255,255,255,0.15);color:#fff;}
.sf-avatar{width:32px;height:32px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:white;flex-shrink:0;}
.sf-name{font-size:12.5px;color:rgba(255,255,255,0.75);font-weight:500;}
.sf-role{font-size:10.5px;color:rgba(255,255,255,0.3);}
.sign-out-btn{margin-top:6px;width:100%;padding:7px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:rgba(255,255,255,0.45);font-size:12px;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.18s;text-align:center;}
.sign-out-btn:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);}

/* ── MAIN ── */
.main{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;width:calc(100vw - var(--sidebar-w));max-width:calc(100vw - var(--sidebar-w));overflow-x:hidden;}
.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50;}
.topbar-title{font-family:'Instrument Serif',serif;font-size:20px;color:var(--text);}
.topbar-right{display:flex;align-items:center;gap:10px;}
.tb-user-pill{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:8px;border:1px solid var(--border);background:var(--bg);margin-left:4px;}
.tb-user-info{min-width:0;}
.tb-user-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;line-height:1.2;}
.tb-user-firm{font-size:10.5px;color:var(--text-dim);white-space:nowrap;line-height:1.2;}
.btn{padding:8px 18px;border-radius:7px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.18s;display:inline-flex;align-items:center;gap:6px;}
.btn-primary{background:var(--blue);color:white;}
.btn-primary:hover{background:var(--blue-dark);box-shadow:0 4px 14px rgba(30,77,155,0.3);}
.btn-orange{background:var(--orange);color:white;}
.btn-orange:hover{background:var(--orange-dark);box-shadow:0 4px 14px rgba(232,98,26,0.3);}
.btn-ghost{background:transparent;color:var(--text-mid);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--border-mid);color:var(--text);background:var(--bg);}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid #f0b8b8;}
.btn-danger:hover{background:#fad0d0;}
.content{padding:24px 28px;flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;}
.view{display:none;min-width:0;}
.view.active{display:block;min-width:0;width:100%;}

/* ── STATS ── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.2s;}
.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px);}
.stat-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
.stat-val{font-family:'Instrument Serif',serif;font-size:34px;line-height:1;color:var(--text);}
.stat-sub{font-size:11.5px;color:var(--text-dim);margin-top:5px;}

/* ── MATTER CARDS ── */
.matters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.matter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:all 0.2s;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.matter-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);opacity:0;transition:opacity 0.2s;}
.matter-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-mid);}
.matter-card:hover::before{opacity:1;}
.mc-ref{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-dim);margin-bottom:6px;letter-spacing:0.5px;}
.mc-name{font-size:15px;font-weight:600;color:var(--text);margin-bottom:3px;}
.mc-client{font-size:12.5px;color:var(--text-mid);margin-bottom:12px;}
.mc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;font-family:'JetBrains Mono',monospace;}
.badge-active{background:var(--blue-light);color:var(--blue);}
.badge-urgent{background:var(--red-bg);color:var(--red);}
.badge-pending{background:var(--amber-bg);color:var(--amber);}
.badge-closed{background:#f0f0f0;color:#888;}
.mc-counts{margin-left:auto;display:flex;align-items:center;gap:10px;}
.mc-count{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:3px;}
.mc-count span{font-weight:600;color:var(--text-mid);}

/* ── MATTER DETAIL ── */
.matter-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.mh-ref{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dim);margin-bottom:4px;}
.mh-name{font-family:'Instrument Serif',serif;font-size:24px;color:var(--text);margin-bottom:3px;}
.mh-client{font-size:14px;color:var(--text-mid);margin-bottom:10px;}
.mh-tags{display:flex;gap:8px;flex-wrap:wrap;}
.mh-right{display:flex;gap:8px;flex-shrink:0;}
.matter-tabs{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow);}
.mtab{flex:1;padding:11px 8px;text-align:center;font-size:13px;font-weight:500;color:var(--text-mid);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.18s;user-select:none;}
.mtab:hover{color:var(--blue);background:var(--blue-light);}
.mtab.active{color:var(--blue);border-bottom-color:var(--blue);background:var(--blue-light);}
.tab-content{display:none;}
.tab-content.active{display:block;}

/* ── VAULT ── */
.vault-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.vault-stats{display:flex;gap:16px;margin-left:auto;}
.vault-stat{font-size:11.5px;color:var(--text-mid);font-family:'JetBrains Mono',monospace;}
.vault-stat strong{color:var(--text);font-weight:700;}
.vault-bar{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.vault-search-wrap{position:relative;flex:1;}
.vault-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:14px;pointer-events:none;}
.vault-search{width:100%;padding:8px 12px 8px 32px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;background:white;color:var(--text);outline:none;transition:border-color 0.18s;}
.vault-search:focus{border-color:var(--blue);}
.filter-chip{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:white;color:var(--text-mid);transition:all 0.15s;white-space:nowrap;}
.filter-chip.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);}
.filter-chip:hover{border-color:var(--blue);color:var(--blue);}
.upload-zone{border:2px dashed var(--border-mid);border-radius:var(--radius);padding:18px;text-align:center;margin-bottom:16px;cursor:pointer;transition:all 0.2s;background:var(--bg);}
.upload-zone:hover,.upload-zone.dz-hover{border-color:var(--blue);background:var(--blue-light);}
.uz-icon{font-size:24px;margin-bottom:5px;opacity:0.4;}
.uz-text{font-size:13px;color:var(--text-mid);font-weight:600;}
.uz-sub{font-size:11.5px;color:var(--text-dim);margin-top:3px;}
.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.vault-layout{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start;}
.folder-sidebar{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;overflow:hidden;position:sticky;top:calc(var(--header-h) + 16px);}
.folder-sidebar-header{padding:10px 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.folder-sidebar-title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.new-folder-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:18px;line-height:1;padding:0 2px;transition:color 0.15s;}
.new-folder-btn:hover{color:var(--blue);}
.folder-item{display:flex;align-items:center;gap:7px;padding:8px 13px;cursor:pointer;transition:background 0.12s;font-size:12.5px;color:var(--text-mid);border-left:3px solid transparent;user-select:none;}
.folder-item:hover{background:var(--bg);color:var(--text);}.folder-item:hover .folder-del{opacity:1!important;}
.folder-item.active{background:var(--blue-light);color:var(--blue);border-left-color:var(--blue);font-weight:600;}
.folder-count{margin-left:auto;font-size:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 6px;font-family:'JetBrains Mono',monospace;color:var(--text-dim);}
.folder-item.active .folder-count{background:rgba(30,77,155,0.1);border-color:rgba(30,77,155,0.2);color:var(--blue);}
.folder-divider{border:none;border-top:1px solid var(--border);margin:3px 0;}
.new-folder-row{display:flex;align-items:center;gap:5px;padding:8px 10px;border-top:1px solid var(--border);}
.new-folder-row input{flex:1;border:1.5px solid var(--blue);border-radius:6px;padding:5px 8px;font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;outline:none;color:var(--text);}
.new-folder-row button{background:var(--blue);color:white;border:none;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer;}
.doc-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:18px;}
.doc-tag{font-size:10px;padding:2px 7px;border-radius:10px;background:#f0ecfb;color:#6d28d9;border:1px solid #c9baf0;font-weight:500;cursor:pointer;}
.doc-tag:hover{background:#e0d9f7;}
.vault-search-drop-row{display:flex;align-items:stretch;gap:10px;margin-bottom:14px;}
.vault-search-filters{display:flex;flex-direction:column;gap:7px;flex:1;}
.doc-card{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all 0.15s;display:flex;flex-direction:column;gap:8px;}
.doc-card:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(30,77,155,0.10);transform:translateY(-1px);}
.doc-card-top{display:flex;align-items:flex-start;justify-content:space-between;}
.doc-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.di-pdf{background:#fee2e2;}
.di-doc,.di-docx{background:var(--blue-light);}
.di-txt{background:#f3f4f6;}
.doc-type-badge{font-size:9.5px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;padding:2px 7px;border-radius:4px;font-family:'JetBrains Mono',monospace;}
.badge-pdf{background:#fee2e2;color:var(--red);}
.badge-doc,.badge-docx{background:var(--blue-light);color:var(--blue);}
.badge-txt{background:#f3f4f6;color:var(--text-mid);}
.doc-name{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.doc-meta{font-size:11px;color:var(--text-dim);}
.doc-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--border);}
.ai-ready{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--green);background:var(--green-bg);padding:2px 7px;border-radius:10px;}
.ai-pending{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:var(--text-dim);background:#f4f6fa;padding:2px 7px;border-radius:10px;}
.doc-actions{display:flex;gap:4px;opacity:0;transition:opacity 0.15s;}
.doc-card:hover .doc-actions{opacity:1;}
.doc-act-btn{padding:3px 8px;border-radius:5px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border-mid);background:none;color:var(--text-mid);transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.doc-act-btn:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue);}
.doc-act-btn.danger:hover{background:var(--red-bg);color:var(--red);border-color:var(--red);}
.doc-row{display:none;}

/* ── DRAFT ROWS ── */
.draft-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:8px;transition:all 0.15s;cursor:pointer;}
.draft-row:hover{border-color:var(--border-mid);box-shadow:var(--shadow);}
.draft-icon{width:36px;height:36px;border-radius:7px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.draft-info{flex:1;min-width:0;}
.draft-name{font-size:13.5px;font-weight:600;}
.draft-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;}
.draft-actions{display:flex;gap:6px;opacity:0;transition:opacity 0.15s;}
.draft-row:hover .draft-actions{opacity:1;}

/* ── AI DRAFT PANEL ── */
.draft-panel{display:flex;flex-direction:column;min-height:0;gap:0;}

/* Setup bar */
.dp-setup-bar{background:white;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;transition:border-radius 0.25s;flex-shrink:0;box-shadow:0 2px 8px rgba(15,31,61,0.06);}
.dp-setup-bar.collapsed{border-radius:10px;}

/* Top row */
.dp-bar-top{display:flex;align-items:center;gap:12px;padding:13px 18px;}
.dp-bar-label{font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;white-space:nowrap;}

/* Summary chips */
.dp-summary{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap;}
.dp-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid var(--border);background:var(--bg);color:var(--text-mid);}
.dp-chip-type{background:var(--blue-light);border-color:rgba(30,77,155,0.2);color:var(--blue);}
.dp-chip-docs{background:var(--green-bg);border-color:rgba(26,122,74,0.2);color:var(--green);}
.dp-chip-tone{background:var(--orange-light);border-color:rgba(232,98,26,0.2);color:var(--orange);}

/* 3-col setup body */
.dp-setup-body{border-top:1px solid var(--border);display:grid;grid-template-columns:210px 1fr;gap:0;height:calc(100vh - 330px);min-height:340px;transition:height 0.3s ease,opacity 0.2s ease;opacity:1;overflow:hidden;}
.dp-setup-body.hidden{height:0;min-height:0;opacity:0;pointer-events:none;}
.dp-col{padding:14px 16px;border-right:1px solid var(--border);overflow-y:auto;height:100%;}
.dp-col-left{flex-shrink:0;}
.dp-col-main{border-right:none;}
.dp-col-title{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--border);}

/* Col 1 — category nav */
.dp-cat-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer;transition:all 0.12s;border-left:3px solid transparent;margin-bottom:1px;}
.dp-cat-row:hover{background:var(--bg);}
.dp-cat-row.active{background:var(--blue-light);border-left-color:var(--blue);}
.dp-cat-icon{font-size:13px;width:18px;text-align:center;flex-shrink:0;}
.dp-cat-name{font-size:12px;font-weight:600;color:var(--text-mid);flex:1;line-height:1.3;}
.dp-cat-row.active .dp-cat-name{color:var(--blue);}
.dp-cat-count{font-size:9px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--border);padding:1px 5px;border-radius:7px;flex-shrink:0;}
.dp-cat-row.active .dp-cat-count{background:rgba(30,77,155,0.1);border-color:rgba(30,77,155,0.2);color:var(--blue);}

/* Category picker cards (step 1) */
.dp-cat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:4px 2px;}
.dp-cat-card{padding:15px;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all 0.15s;background:white;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.dp-cat-card:hover{box-shadow:0 6px 18px rgba(0,0,0,0.09);transform:translateY(-2px);}
.dp-cat-card-icon{font-size:22px;margin-bottom:7px;}
.dp-cat-card-text{flex:1;min-width:0;}
.dp-cat-card-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.dp-cat-card-count{font-size:10px;font-weight:600;}
.dp-cat-card-bar{position:absolute;top:0;left:0;right:0;height:3px;}

/* Type picker (step 2) */
.dp-step2-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.dp-back-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1.5px solid var(--border);background:white;font-size:11.5px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:all 0.12s;font-family:'Plus Jakarta Sans',sans-serif;}
.dp-back-btn:hover{background:var(--bg);border-color:var(--text-dim);}
.dp-step2-cat-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--text);}

.dp-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.dp-type-tile{height:72px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;background:white;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;}
.dp-type-tile:hover{box-shadow:0 3px 10px rgba(0,0,0,0.09);}
.dp-type-tile.active{box-shadow:0 3px 12px rgba(0,0,0,0.1);}
.dp-tt-bar{position:absolute;top:0;left:0;right:0;height:3px;transition:opacity 0.15s;}
.dp-type-tile-name{font-size:12px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:3px;}
.dp-type-tile-desc{font-size:10px;color:var(--text-dim);line-height:1.3;}

/* Fields step */
.dp-fields-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.dp-selected-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:7px;font-size:12.5px;font-weight:700;border:1.5px solid;}
.dp-change-type-btn{margin-left:auto;font-size:11px;color:var(--text-dim);cursor:pointer;padding:4px 8px;border-radius:5px;border:1px solid var(--border);background:white;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.12s;}
.dp-change-type-btn:hover{background:var(--bg);}

/* Col 3 — context & options */
.dp-section-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:7px;margin-top:14px;padding-bottom:5px;border-bottom:1px solid var(--border);}
.dp-section-label:first-child{margin-top:0;}

/* Structured analysis panel */

/* ─── ANALYSIS SAVED THREADS ─────────────────────────────────────────────── */
.sta-threads-section{border-top:1px solid var(--border);margin-top:10px;padding-top:8px;flex-shrink:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;}
.sta-threads-title{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:5px;display:flex;align-items:center;justify-content:space-between;padding:0 2px;flex-shrink:0;}
.sta-thread-item{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:7px;cursor:pointer;transition:all 0.1s;border:1.5px solid transparent;flex-shrink:0;}
.sta-thread-item:hover{background:#eef2fb;border-color:#c5d4f0;}
.sta-thread-item.active{background:#eef2fb;border-color:var(--blue);}
.sta-thread-icon{font-size:12px;flex-shrink:0;color:var(--blue);opacity:0.6;}
.sta-thread-info{flex:1;min-width:0;}
.sta-thread-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sta-thread-meta{font-size:10.5px;color:var(--text-dim);margin-top:1px;}
.sta-thread-del{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:13px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity 0.1s;}
.sta-thread-item:hover .sta-thread-del{opacity:1;}
.sta-thread-del:hover{color:var(--red);background:#fdf0f0;}
.sta-save-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#eef2fb;color:var(--blue);border:1.5px solid #c5d4f0;border-radius:7px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s;}
.sta-save-btn:hover{background:#dce8ff;border-color:var(--blue);}
.sta-panel-header{padding:10px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fafbfd;}
.sta-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.sta-type-card{padding:15px;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;background:white;position:relative;overflow:hidden;transition:all 0.15s;}
.sta-type-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,0.09);}
.sta-type-card-bar{position:absolute;top:0;left:0;right:0;height:3px;}
.sta-type-card-icon{font-size:22px;margin-bottom:7px;}
.sta-type-card-label{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.sta-type-card-desc{font-size:11px;color:var(--text-mid);line-height:1.5;margin-bottom:9px;}
.sta-type-card-count{font-size:10px;font-weight:600;}
.sta-subtype-card{padding:13px 14px;border:1.5px solid var(--border);border-radius:9px;cursor:pointer;background:white;position:relative;overflow:hidden;transition:all 0.15s;}
.sta-subtype-card-bar{position:absolute;top:0;left:0;right:0;height:3px;opacity:0.55;}
.sta-subtype-card-label{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:3px;margin-top:4px;}
.sta-subtype-card-desc{font-size:11px;color:var(--text-mid);line-height:1.4;}
#sta-step3{display:none;}
#sta-step3.active{display:flex;}

/* Folder vault selector */
.vs-folder-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:default;transition:background 0.1s;}
.vs-folder-row:hover{background:var(--bg);}
.vs-doc-row{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 28px;border-radius:5px;cursor:pointer;transition:background 0.1s;}
.vs-doc-row:hover{background:var(--bg);}

/* Standalone analysis view */
.std-analysis-wrap{display:flex;flex-direction:column;gap:12px;height:calc(100vh - var(--header-h) - 48px);}
.std-analysis-panel{display:flex;gap:0;flex:1;min-height:0;background:white;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(15,31,61,0.06);}
.std-ap-left{width:280px;flex-shrink:0;border-right:1px solid var(--border);padding:14px 16px;overflow-y:auto;background:var(--bg);display:flex;flex-direction:column;}
.std-ap-right{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}

/* ═══════════════════════════════════════════════════════
   ANALYSIS v2 — NEW LAYOUT
   ═══════════════════════════════════════════════════════ */
#view-analysis-home.active{display:flex !important;flex-direction:column;padding:0;height:calc(100vh - 58px);overflow:hidden;}
.sta2-layout{display:flex;flex:1;overflow:hidden;min-height:0;}
/* Left */
.sta2-left{width:272px;min-width:272px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;background:var(--white);}
/* Right */
.sta2-right{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
#sta2-picker{flex:1;overflow-y:auto;padding:18px 22px;}
/* Output format selector */
.sta2-fmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.sta2-fmt-btn{padding:7px 10px;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;font-size:11px;font-weight:700;font-family:inherit;background:var(--white);color:var(--text-dim);transition:all .12s;text-align:center;}
.sta2-fmt-btn:hover{border-color:var(--blue-mid);}
.sta2-fmt-btn.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
/* Analysis type cards */
.sta2-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:8px;margin-bottom:22px;}
.sta2-type-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.sta2-type-card:hover{border-color:var(--blue-mid);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,77,155,0.08);}
.sta2-type-card.selected{border-color:var(--blue);background:var(--blue-light);}
.sta2-type-accent{position:absolute;top:0;left:0;right:0;height:3px;}
.sta2-type-icon{margin-bottom:8px;display:flex;align-items:center;color:var(--text-mid);}
.sta2-type-label{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:3px;}
.sta2-type-desc{font-size:11px;color:var(--text-mid);line-height:1.4;margin-bottom:8px;}
.sta2-type-count{font-size:10px;font-weight:600;}
/* Subtype grid */
.sta2-subtype-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:7px;}
.sta2-subtype-card{background:var(--white);border:1.5px solid var(--border);border-radius:9px;padding:12px 13px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.sta2-subtype-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,77,155,0.07);}
.sta2-subtype-accent{position:absolute;top:0;left:0;right:0;height:3px;}
.sta2-subtype-label{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:3px;margin-top:2px;}
.sta2-subtype-desc{font-size:11px;color:var(--text-mid);line-height:1.4;}
/* PA section header */
.sta2-pa-grid-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sta2-pa-grid-title{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;}
/* Chat panel */
#sta2-chat{display:none;}
#sta2-chat.active{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.sta2-chat-toolbar{padding:9px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;background:var(--white);flex-shrink:0;}
.sta2-chat-crumb{font-size:12px;font-weight:700;color:var(--text-mid);}
.sta2-feed{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;}
.sta2-input-bar{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:flex-end;background:var(--white);flex-shrink:0;}
.sta2-input-ta{flex:1;padding:9px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);resize:none;outline:none;line-height:1.5;}
.sta2-input-ta:focus{border-color:var(--blue);}

/* ═══════════════════════════════════════════════════════
   AI DRAFTING v2 — NEW LAYOUT
   ═══════════════════════════════════════════════════════ */
#view-drafting-home.active{display:flex !important;flex-direction:column;padding:0;height:calc(100vh - 58px);overflow:hidden;position:relative;}
.std2-layout{display:flex;flex:1;overflow:hidden;min-height:0;}
/* Left panel */
.std2-left{width:272px;min-width:272px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--white);}
.std2-left-top{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0;}
.std2-left-vault{flex-shrink:0;border-top:1px solid var(--border);padding:10px 14px 12px;max-height:240px;overflow-y:auto;background:var(--white);}
.std2-steps{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;gap:0;}
.std2-panel-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;}
.std2-panel-tab{flex:1;padding:9px 0;font-size:12px;font-weight:700;color:var(--text-dim);text-align:center;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;user-select:none;}
.std2-panel-tab:hover{color:var(--text);}
.std2-panel-tab.active{color:var(--blue);border-bottom-color:var(--blue);background:var(--white);}
.std2-step{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-dim);cursor:pointer;}
.std2-step.active{color:var(--blue);}
.std2-step.done{color:var(--green);}
.std2-step-num{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;background:var(--bg2);color:var(--text-dim);flex-shrink:0;}
.std2-step.active .std2-step-num{background:var(--blue);color:white;}
.std2-step.done .std2-step-num{background:var(--green);color:white;}
.std2-step-arrow{color:var(--border);font-size:13px;margin:0 6px;}
.std2-section{padding:12px 14px;border-bottom:1px solid var(--border);}
.std2-section-label{font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
/* PA list */
.std2-pa-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;padding:4px 0;}
.std2-pa-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:all .12s;border-left:3px solid transparent;}
.std2-pa-pill:hover{background:var(--bg);}
.std2-pa-pill.active{background:var(--blue-light);border-left-color:var(--blue);}
.std2-pa-pill.suggested{background:var(--green-bg);border-left-color:var(--green);}
.std2-pa-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0;}
.std2-pa-name{font-size:12px;font-weight:700;color:var(--text);flex:1;}
.std2-pa-count{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.std2-pa-suggest-tag{font-size:8.5px;font-weight:700;color:var(--green);background:var(--green-bg);padding:1px 5px;border-radius:4px;margin-left:2px;}
/* Right panel */
.std2-right{flex:1;overflow-y:auto;padding:18px 22px;background:var(--bg);}
/* Mode tabs */
.std2-mode-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:16px;gap:0;}
.std2-mode-tab{flex:1;max-width:200px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--text-dim);background:none;border:none;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:6px;}
.std2-mode-tab:hover:not(.active){color:var(--text);}
.std2-mode-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
/* Recent strip */
.std2-recent-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:20px;}
.std2-recent-card{flex-shrink:0;width:170px;padding:10px 12px;background:var(--white);border:1.5px solid var(--border);border-radius:9px;cursor:pointer;transition:all .12s;}
.std2-recent-card:hover{border-color:var(--blue-mid);background:var(--blue-light);}
.std2-rc-type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin-bottom:3px;}
.std2-rc-name{font-size:11.5px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.std2-rc-matter{font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.std2-rc-date{font-size:9.5px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-top:4px;}
/* PA section header in grid */
.std2-pa-grid-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.std2-pa-grid-title{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;}
.std2-pa-grid-count{font-size:10px;color:var(--text-dim);}
/* Doc cards */
.std2-doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:7px;margin-bottom:20px;}
.std2-doc-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:12px 13px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.std2-doc-card:hover{border-color:var(--blue-mid);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,77,155,0.07);}
.std2-doc-card.selected{border-color:var(--blue);background:var(--blue-light);box-shadow:0 0 0 3px rgba(30,77,155,0.1);}
.std2-doc-card.secondary{opacity:.55;}
.std2-doc-card.secondary:hover{opacity:.9;}
.std2-doc-accent{position:absolute;top:0;left:0;right:0;height:3px;}
.std2-doc-icon{margin-bottom:9px;display:flex;align-items:center;}
.std2-doc-name{font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px;line-height:1.3;}
.std2-doc-desc{font-size:11px;color:var(--text-dim);line-height:1.4;}
.std2-doc-badge{position:absolute;top:7px;right:7px;font-size:8.5px;font-weight:700;padding:2px 5px;border-radius:4px;}
.std2-badge-popular{background:var(--orange-bg);color:var(--orange);}
/* More toggle */
.std2-more-toggle{display:flex;align-items:center;gap:10px;margin:6px 0 12px;cursor:pointer;}
.std2-more-toggle::before,.std2-more-toggle::after{content:'';flex:1;height:1px;background:var(--border);}
.std2-more-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;padding:0 4px;}
/* Ad hoc */
.std2-adhoc-ta{width:100%;min-height:210px;padding:13px 15px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;font-family:inherit;color:var(--text);resize:vertical;outline:none;line-height:1.7;background:var(--white);}
.std2-adhoc-ta:focus{border-color:var(--blue);}
.std2-adhoc-example{padding:9px 12px;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-size:11.5px;color:var(--text-mid);cursor:pointer;transition:all .12s;line-height:1.5;margin-bottom:6px;}
.std2-adhoc-example:hover{border-color:var(--blue-mid);background:var(--blue-light);color:var(--text);}
.std2-adhoc-example strong{color:var(--text);font-weight:700;}
/* Footer */
.std2-footer{background:var(--white);border-top:1px solid var(--border);padding:12px 22px;display:flex;align-items:center;gap:14px;flex-shrink:0;}
.std2-footer-sel{flex:1;}
/* Matter info chip */
.std2-matter-chip{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:9px;margin-top:4px;}
.std2-matter-chip-icon{width:28px;height:28px;border-radius:6px;background:var(--blue);display:flex;align-items:center;justify-content:center;font-size:12px;color:white;flex-shrink:0;}
.std2-matter-chip-name{font-size:12px;font-weight:700;color:var(--text);}
.std2-matter-chip-meta{font-size:10.5px;color:var(--text-mid);}
.std2-matter-chip-clear{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:2px;flex-shrink:0;}
.std2-matter-chip-clear:hover{color:var(--red);}

/* Generate button */
.gen-btn{width:100%;padding:11px;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);color:white;border:none;border-radius:9px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;font-weight:700;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:0.3px;box-shadow:0 3px 10px rgba(232,98,26,0.3);}
.gen-btn:hover{box-shadow:0 6px 20px rgba(232,98,26,0.45);transform:translateY(-1px);}
.gen-btn:disabled{opacity:0.45;cursor:not-allowed;transform:none;box-shadow:none;}
.gen-btn-footer{padding:14px 18px;border-top:1px solid var(--border);}

/* Output area */
.dp-output{flex:1;min-height:0;background:white;border:1.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;margin-top:10px;overflow:hidden;box-shadow:0 2px 8px rgba(15,31,61,0.06);}
.dp-output.hidden{display:none;}
.dp-output-bar{padding:11px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fafbfd;}
.dp-output-status{display:flex;align-items:center;gap:8px;}
.editor-status-dot{width:7px;height:7px;border-radius:50%;background:var(--border);display:inline-block;flex-shrink:0;}
.editor-status-dot.idle{background:var(--border);}
.editor-status-dot.generating{background:var(--orange);animation:pulse 1s infinite;}
.editor-status-dot.ready{background:#10b981;}
.dp-output-scroll{flex:1;overflow-y:auto;padding:32px 40px;}
.doc-paper{width:100%;max-width:720px;margin:0 auto;}

/* Legacy stubs */
.dp-left{display:none;}.dp-right{display:none;}.dp-left-inner{}.gen-btn-footer-legacy{}
.editor-topbar{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fafbfd;}
.editor-area{flex:1;overflow-y:auto;padding:24px 32px;min-width:0;}
.doc-body{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;line-height:1.8;color:var(--text);white-space:pre-wrap;word-break:break-word;}
.draft-actions{padding:10px 18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;background:#fafbfd;flex-shrink:0;}
.draft-name-input{background:var(--bg);border:1.5px solid var(--border);border-radius:7px;padding:7px 11px;font-size:12.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);outline:none;transition:border-color 0.18s;}
.draft-name-input:focus{border-color:var(--blue);}

.fgroup{margin-bottom:13px;}
.flabel{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);font-family:'JetBrains Mono',monospace;margin-bottom:5px;}
.finput,.fselect,.ftextarea{width:100%;background:white;border:1.5px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;outline:none;transition:border-color 0.18s,box-shadow 0.18s;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.finput:focus,.fselect:focus,.ftextarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,77,155,0.08);}
.fselect{cursor:pointer;}.fselect option{background:white;}
.ftextarea{resize:vertical;min-height:65px;line-height:1.5;}
.vault-selector{background:var(--bg);border:1.5px solid var(--border);border-radius:7px;padding:8px;max-height:130px;overflow-y:auto;}
.vs-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;transition:background 0.12s;font-size:12px;}
.vs-item:hover{background:var(--blue-light);}
.vs-item input[type=checkbox]{accent-color:var(--blue);width:14px;height:14px;flex-shrink:0;}
.vs-item label{cursor:pointer;color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;text-align:center;padding:48px;}
.ph-icon{font-size:48px;margin-bottom:18px;opacity:0.15;}
.ph-title{font-family:'Instrument Serif',serif;font-size:22px;color:var(--text-mid);margin-bottom:10px;}
.ph-sub{font-size:13px;color:var(--text-dim);line-height:1.7;max-width:320px;}
.ph-hint{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.ph-hint-chip{background:#f0f3fa;border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:11.5px;color:var(--text-mid);}
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 30px;}
.ldots{display:flex;gap:6px;margin-bottom:14px;}
.ldots span{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:ldot 1s ease-in-out infinite;}
.ldots span:nth-child(2){animation-delay:0.18s;}
.ldots span:nth-child(3){animation-delay:0.36s;}
@keyframes ldot{0%,100%{opacity:0.2;transform:scale(0.6)}50%{opacity:1;transform:scale(1)}}
.ltext{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text-mid);}
.scursor{display:inline-block;width:2px;height:1em;background:var(--orange);vertical-align:text-bottom;animation:cblink 0.65s step-end infinite;margin-left:1px;}
@keyframes cblink{50%{opacity:0}}

/* ── ANALYSIS ── */
.analysis-panel{display:flex;gap:14px;height:calc(100vh - var(--header-h) - 130px);min-width:0;overflow:hidden;}
.ap-left{width:280px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 14px;display:flex;flex-direction:column;overflow-y:auto;}
.ap-right{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;}
.cfeed{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:14px;background:var(--bg);}
.cmsg{display:flex;gap:10px;max-width:740px;animation:fadeUp 0.25s ease;}
.cmsg.user{flex-direction:row-reverse;align-self:flex-end;}
.cav{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.cav-ai{background:var(--blue);color:white;font-family:'JetBrains Mono',monospace;}
.cav-u{background:var(--orange);color:white;}
.cbubble{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 15px;font-size:13.5px;line-height:1.6;color:var(--text);max-width:560px;}
.cmsg.user .cbubble{background:var(--blue);border-color:var(--blue);color:white;}
.cinputbar{border-top:1px solid var(--border);padding:12px 18px;display:flex;gap:8px;background:var(--surface);flex-shrink:0;}
.cinput{flex:1;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:9px 13px;color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;outline:none;resize:none;min-height:40px;transition:border-color 0.18s,background 0.18s;line-height:1.5;}
.cinput:focus{border-color:var(--blue);background:white;}
.csend{padding:9px 20px;align-self:flex-end;background:var(--blue);color:white;border:none;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.18s;}
.csend:hover{background:var(--blue-dark);}
.csend:disabled{opacity:0.4;cursor:not-allowed;}

/* ── OVERVIEW GRID ── */
.overview-grid{display:grid;grid-template-columns:340px 1fr;gap:14px;}
.qa-tile{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:14px 14px 12px;border:1.5px solid transparent;border-radius:10px;cursor:pointer;transition:all 0.15s;text-align:left;user-select:none;}
.qa-tile:hover{filter:brightness(0.95);}
.qa-tile-orange{background:#fdf0e8;border-color:#f5c4a0;}
.qa-tile-blue{background:var(--blue-light);border-color:rgba(30,77,155,0.25);}
.qa-tile-teal{background:#e6f4f1;border-color:#a8d5cc;}
.qa-tile-purple{background:#f0ecfb;border-color:#c9baf0;}
.qa-tile-primary{}
.qa-tile-icon{font-size:18px;line-height:1;}
.qa-tile-label{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.3;}
.qa-tile-sub{font-size:11px;color:var(--text-mid);line-height:1.4;}
.ov-card{background:var(--surface);border:1.5px solid var(--border-mid);border-radius:var(--radius);box-shadow:0 2px 8px rgba(15,31,61,0.10);overflow:hidden;}
.ov-card-header{padding:13px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.ov-card-title{font-size:13px;font-weight:600;}
.ov-card-body{padding:14px 16px;}
.info-row{display:flex;gap:8px;margin-bottom:8px;font-size:13px;}
.info-label{color:var(--text-dim);width:110px;flex-shrink:0;}
.info-val{color:var(--text);font-weight:500;}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(15,31,61,0.45);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--surface);border-radius:14px;width:520px;max-width:94vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(15,31,61,0.2);transform:scale(0.96);transition:transform 0.2s;}
.modal-overlay.open .modal{transform:scale(1);}
.modal-header{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-title{font-family:'Instrument Serif',serif;font-size:21px;}
.modal-close{width:28px;height:28px;border-radius:6px;border:none;background:var(--bg);cursor:pointer;font-size:15px;color:var(--text-mid);display:flex;align-items:center;justify-content:center;}
.modal-close:hover{background:var(--border);}
.modal-body{padding:20px 22px;}
.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid-2 .full{grid-column:1/-1;}

/* ── TOAST ── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--text);color:white;border-radius:8px;padding:11px 18px;font-size:12.5px;font-weight:500;z-index:999;transform:translateY(60px);opacity:0;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);}
.toast.show{transform:translateY(0);opacity:1;}

/* ── SPINNER ── */
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner-dark{border:2px solid var(--border-mid);border-top-color:var(--blue);}

/* ── EMPTY ── */
.empty{text-align:center;padding:40px 20px;}
.empty-icon{font-size:36px;margin-bottom:10px;opacity:0.2;}
.empty-text{font-size:13.5px;color:var(--text-dim);}

@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.cbubble h1,.cbubble h2,.cbubble h3{font-family:'Instrument Serif',serif;margin:10px 0 5px;line-height:1.3;}
.cbubble h1{font-size:17px;}.cbubble h2{font-size:15px;}.cbubble h3{font-size:14px;}
.cbubble p{margin-bottom:8px;line-height:1.65;}
.cbubble ul,.cbubble ol{padding-left:18px;margin-bottom:8px;}
.cbubble li{margin-bottom:4px;line-height:1.55;}
.cbubble strong{font-weight:700;color:var(--text);}
.cbubble em{font-style:italic;}
.cbubble p:last-child{margin-bottom:0;}
/* ─── CHAT MESSAGE ACTIONS ───────────────────────────────────────────────── */
.cmsg-col{display:flex;flex-direction:column;max-width:560px;}
.cmsg-col .cbubble{max-width:100%;}
.cmsg-actions{display:flex;align-items:center;gap:4px;margin-top:5px;padding-left:2px;opacity:0;transition:opacity 0.15s;}
.cmsg:hover .cmsg-actions{opacity:1;}
.cma-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1.5px solid var(--border);border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;background:#fff;color:var(--text-mid);font-family:inherit;transition:all 0.12s;white-space:nowrap;}
.cma-btn:hover{border-color:var(--blue);color:var(--blue);background:#eef2fb;}
.cma-btn.copied{border-color:var(--green);color:var(--green);background:#edf7f2;}
.cma-btn.danger:hover{border-color:var(--red);color:var(--red);background:#fdf5f5;}
.cma-sep{width:1px;height:14px;background:var(--border);margin:0 2px;}
.doc-body h1,.doc-body h2,.doc-body h3{font-family:'Instrument Serif',serif;margin:16px 0 6px;}
.doc-body h1{font-size:20px;}.doc-body h2{font-size:17px;}.doc-body h3{font-size:15px;}
.doc-body p{margin-bottom:10px;line-height:1.75;}
.doc-body ul,.doc-body ol{padding-left:20px;margin-bottom:10px;}
.doc-body li{margin-bottom:5px;line-height:1.65;}
.doc-body strong{font-weight:700;}
.fade-in{animation:fadeUp 0.35s ease;}

/* ── ONBOARDING ──────────────────────────── */
.onboarding-overlay {
  position: fixed; inset: 0; background: rgba(10,15,40,0.7);
  z-index: 9000; display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(4px);
}
.onboarding-card {
  background: var(--surface); border-radius: 16px; padding: 36px 40px;
  max-width: 520px; width: 90%; box-shadow: 0 24px 60px rgba(0,0,0,0.3);
}
.ob-step-dots {
  display: flex; gap: 6px; margin-bottom: 24px;
}
.ob-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--border);
  transition: background 0.2s;
}
.ob-dot.active { background: var(--blue); }
.ob-dot.done { background: var(--green); }
.ob-title { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.ob-sub { font-size: 13.5px; color: var(--text-mid); margin-bottom: 24px; line-height: 1.6; }
.ob-fields { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.ob-footer { display: flex; justify-content: space-between; align-items: center; }
.ob-progress { font-size: 12px; color: var(--text-dim); }

/* ── QUILL EDITOR ─────────────────────── */
.ql-toolbar.ql-snow {
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--surface);
  padding: 6px 8px;
}
.ql-container.ql-snow {
  border: 1px solid var(--border);
  border-radius: 0 0 var(--radius) var(--radius);
  background: #fff;
  font-family: 'Instrument Serif', Georgia, serif;
  font-size: 13.5px;
  min-height: 400px;
  max-height: calc(100vh - 320px);
  overflow-y: auto;
}
.ql-editor {
  padding: 20px 24px;
  line-height: 1.8;
  color: #1a1a2e;
}
.ql-editor p { margin-bottom: 8px; }

/* ── TEMPLATE BUILDER ── */
.tb-layout{display:grid;grid-template-columns:210px 1fr 260px;height:calc(100vh - 120px);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);}
.tb-palette{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.tb-palette-hdr{padding:11px 13px 8px;border-bottom:1px solid var(--border);}
.tb-pal-title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:7px;}
.tb-pal-search{position:relative;}
.tb-pal-search input{width:100%;padding:6px 10px 6px 26px;border:1.5px solid var(--border);border-radius:7px;font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);outline:none;background:var(--bg);}
.tb-pal-search input:focus{border-color:var(--blue);}
.tb-pal-si{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-dim);}
.tb-palette-body{flex:1;overflow-y:auto;padding:4px 0;}
.tb-pg-hdr{padding:7px 13px 4px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.tb-pg-hdr:hover{color:var(--text-mid);}
.tb-pg-vars{padding:0 8px 4px;}
.tb-vchip{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;font-size:11.5px;font-weight:600;cursor:grab;border:1.5px solid transparent;margin-bottom:3px;transition:all 0.15s;user-select:none;color:var(--text-mid);}
.tb-vchip:hover{background:var(--blue-light);border-color:var(--blue);color:var(--blue);}
.tb-vchip:active{cursor:grabbing;}
.tb-vdot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--blue);}
.vc-matter .tb-vdot{background:#6366f1;} .vc-matter .tb-vchip:hover{background:#f0f0fe;border-color:#6366f1;color:#4f46e5;}
.vc-firm .tb-vdot{background:var(--orange);} .vc-firm .tb-vchip:hover{background:var(--orange-light);border-color:var(--orange);color:var(--orange);}
.vc-dates .tb-vdot{background:#059669;} .vc-dates .tb-vchip:hover{background:#d1fae5;border-color:#059669;color:#059669;}
.vc-financial .tb-vdot{background:#dc2626;} .vc-financial .tb-vchip:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626;}
.tb-editor-area{display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
.tb-toolbar{background:var(--surface);border-bottom:1px solid var(--border);padding:7px 14px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.tb-tbtn{padding:4px 9px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:none;color:var(--text-mid);font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;}
.tb-tbtn:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue);}
.tb-tsep{width:1px;height:18px;background:var(--border);margin:0 3px;}
.tb-meta{padding:9px 14px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tb-meta-input{padding:7px 11px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;color:var(--text);outline:none;min-width:200px;flex:1;}
.tb-meta-input:focus{border-color:var(--blue);}
.tb-meta-sel{padding:7px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-mid);outline:none;cursor:pointer;background:white;}
.tb-editor-body{flex:1;overflow-y:auto;padding:24px;}
.tb-paper{background:white;border:1.5px solid var(--border);border-radius:10px;min-height:420px;padding:40px 48px;box-shadow:0 2px 8px rgba(15,31,61,0.07);}
.tb-ec{font-size:13.5px;line-height:1.9;color:var(--text);outline:none;min-height:200px;}
.tb-ec p{margin-bottom:10px;}
.tb-ec.drag-over{outline:2px dashed var(--blue);outline-offset:4px;border-radius:4px;}
.tv{display:inline-flex;align-items:center;gap:2px;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:700;cursor:default;user-select:none;white-space:nowrap;border:1.5px solid transparent;font-family:'JetBrains Mono',monospace;vertical-align:baseline;line-height:1.7;}
.tv.v-matter{background:#ede9fe;color:#4f46e5;border-color:#c4b5fd;}
.tv.v-parties{background:var(--blue-light);color:var(--blue);border-color:#b8cef0;}
.tv.v-firm{background:var(--orange-light);color:var(--orange);border-color:#f5c4a0;}
.tv.v-dates{background:#d1fae5;color:#059669;border-color:#6ee7b7;}
.tv.v-financial{background:#fee2e2;color:#dc2626;border-color:#fca5a5;}
.tv-x{font-size:10px;opacity:0.5;cursor:pointer;margin-left:1px;}
.tv-x:hover{opacity:1;}
.tb-preview-panel{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.tb-ph{padding:11px 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.tb-ph-title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.tb-prev-body{flex:1;overflow-y:auto;padding:12px;}
.tb-prev-doc{background:white;border:1px solid var(--border);border-radius:8px;padding:16px 18px;font-size:11.5px;line-height:1.8;color:var(--text);}
.tb-prev-doc p{margin-bottom:6px;}
.tbpf{background:#fef3c7;border-radius:3px;padding:0 3px;font-weight:700;color:#92400e;font-size:10.5px;}
.tbpe{background:#fee2e2;border-radius:3px;padding:0 3px;font-weight:700;color:#dc2626;font-size:10.5px;}
.tb-vs{padding:10px 13px;border-top:1px solid var(--border);}
.tb-vs-title{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:6px;}
.tb-vs-list{display:flex;flex-direction:column;gap:3px;max-height:160px;overflow-y:auto;}
.tb-vs-item{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:4px 7px;border-radius:6px;background:var(--bg);}
.tb-vs-name{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-mid);}
.tb-vs-val{font-size:10.5px;color:#059669;font-weight:600;}
.tb-vs-val.miss{color:#dc2626;}
.tb-footer{background:var(--surface);border-top:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;gap:8px;}

/* Template Builder import zone */
.tb-import-zone {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:340px; padding:40px;
  border:2px dashed var(--border-mid); border-radius:12px;
  cursor:pointer; transition:all 0.2s;
  text-align:center; background:var(--bg);
}
.tb-import-zone:hover, .tb-import-zone.dz-hover {
  border-color:var(--blue); background:var(--blue-light);
}
.tb-import-zone.dz-hover { border-style:solid; }
.tb-iz-icon { font-size:36px; margin-bottom:14px; opacity:0.5; }
.tb-iz-title { font-size:14px; font-weight:700; color:var(--text); margin-bottom:6px; }
.tb-iz-sub { font-size:12.5px; color:var(--text-mid); margin-bottom:18px; line-height:1.5; }
.tb-iz-formats { display:flex; gap:8px; justify-content:center; margin-bottom:20px; flex-wrap:wrap; }
.tb-iz-fmt { font-size:10px; font-weight:700; letter-spacing:0.8px;
  padding:3px 9px; border-radius:4px; font-family:'JetBrains Mono',monospace; }
.fmt-docx { background:var(--blue-light); color:var(--blue); }
.fmt-txt  { background:#f3f4f6; color:var(--text-mid); }
.fmt-pdf  { background:#fee2e2; color:var(--red); }
.tb-iz-or { font-size:11px; color:var(--text-dim); margin-bottom:14px;
  display:flex; align-items:center; gap:10px; width:100%; max-width:280px; }
.tb-iz-or::before, .tb-iz-or::after {
  content:''; flex:1; height:1px; background:var(--border); }
.tb-importing {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:200px; gap:14px; color:var(--text-mid); font-size:13px;
}
.tb-import-banner {
  display:flex; align-items:center; gap:10px;
  background:var(--blue-light); border:1.5px solid rgba(30,77,155,0.15);
  border-radius:8px; padding:9px 14px; margin-bottom:12px; font-size:12.5px;
}
.tb-import-banner .tib-icon { font-size:16px; }
.tb-import-banner .tib-text { flex:1; color:var(--blue); font-weight:500; }
.tb-import-banner .tib-clear { cursor:pointer; color:var(--text-dim); font-size:16px; line-height:1;
  padding:0 2px; transition:color 0.15s; }
.tb-import-banner .tib-clear:hover { color:var(--red); }

.tpl-list-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.tpl-card{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);transition:all 0.15s;margin-bottom:8px;}
.tpl-card:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(30,77,155,0.08);}
.tpl-card-icon{width:38px;height:38px;border-radius:8px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.tpl-card-info{flex:1;min-width:0;}
.tpl-card-name{font-size:13px;font-weight:700;}
.tpl-card-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;}
.tpl-card-vbadges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}

/* ─── DOCUMENT VAULT HOME ────────────────────────────────────────────────────── */
.svh-layout{display:flex;height:calc(100vh - 56px);overflow:hidden;}
/* Sidebar */
.svh-sidebar{width:230px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;}
.svh-sidebar-top{padding:14px 14px 0;flex-shrink:0;}
.svh-sidebar-section{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;padding:12px 14px 5px;}
.svh-folder-tree{flex:1;overflow-y:auto;padding:2px 0;}
.svh-tree-item{display:flex;align-items:center;gap:7px;padding:7px 14px;cursor:pointer;font-size:12.5px;color:var(--text);transition:background 0.1s;position:relative;}
.svh-tree-item:hover{background:var(--bg);}
.svh-tree-item.active{background:#eef2fb;color:var(--blue);font-weight:600;}
.svh-tree-item.active .svh-tree-count{background:#dce8ff;color:var(--blue);}
.svh-tree-count{font-size:10px;font-weight:600;color:var(--text-dim);background:var(--bg);padding:1px 7px;border-radius:10px;flex-shrink:0;}
.svh-tree-warn{font-size:10px;color:var(--amber);flex-shrink:0;}
.svh-tree-folder-actions{display:none;gap:2px;margin-left:auto;}
.svh-tree-item:hover .svh-tree-folder-actions{display:flex;}
.svh-tree-fa{background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-dim);padding:2px 5px;border-radius:4px;}
.svh-tree-fa:hover{background:var(--border);}
.svh-new-folder-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;cursor:pointer;font-size:12px;color:var(--text-dim);border-top:1px dashed var(--border);transition:all 0.15s;flex-shrink:0;}
.svh-new-folder-btn:hover{color:var(--blue);background:#eef2fb;}
.svh-new-folder-row{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#eef2fb;border-top:1px solid #c5d4f0;flex-shrink:0;}
.svh-nf-input{flex:1;padding:5px 8px;border:1.5px solid var(--blue);border-radius:6px;font-size:12px;font-family:inherit;outline:none;}
.svh-nf-btn{padding:4px 10px;background:var(--blue);color:#fff;border:none;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;}
.svh-nf-cancel{padding:4px 8px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;}
.svh-sidebar-stats{display:flex;gap:0;border-top:1px solid var(--border);flex-shrink:0;}
.svh-sstat{flex:1;text-align:center;padding:10px 6px;border-right:1px solid var(--border);}
.svh-sstat:last-child{border-right:none;}
.svh-sstat strong{display:block;font-size:17px;font-weight:700;}
.svh-sstat span{font-size:9.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}
/* Main panel */
.svh-main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.svh-breadcrumb{display:flex;align-items:center;padding:8px 18px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;min-height:36px;}
.svh-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;}
.svh-search{flex:1;max-width:260px;padding:7px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;color:var(--text);outline:none;}
.svh-search:focus{border-color:var(--blue);}
.svh-filter-pills{display:flex;gap:6px;}
.svh-pill{padding:5px 12px;border:1.5px solid var(--border);border-radius:20px;font-size:11.5px;font-weight:600;cursor:pointer;background:#fff;color:var(--text-mid);transition:all 0.15s;font-family:inherit;}
.svh-pill:hover{border-color:var(--blue);color:var(--blue);}
.svh-pill.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.svh-extract-all-btn{padding:6px 13px;background:#eef2fb;color:var(--blue);border:1.5px solid #c5d4f0;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;}
.svh-extract-all-btn:hover{background:#dce8ff;}
/* Table */
.svh-table-wrap{flex:1;overflow-y:auto;background:var(--bg);}
.svh-table{width:100%;border-collapse:collapse;background:#fff;}
.svh-table thead th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);padding:10px 14px;border-bottom:2px solid var(--border);background:#fff;position:sticky;top:0;z-index:1;font-family:'JetBrains Mono',monospace;}
.svh-table tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;}
.svh-table tbody tr:hover{background:#f7f9fc;}
.svh-table td{padding:10px 14px;font-size:13px;color:var(--text);vertical-align:middle;}
.svh-doc-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;}
.svh-ai-ready{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--green);background:#edf7f2;padding:3px 9px;border-radius:12px;}
.svh-ai-missing{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--amber,#9a6200);background:#fef9ec;padding:3px 9px;border-radius:12px;}
.svh-ai-extracting{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--blue);background:#eef2fb;padding:3px 9px;border-radius:12px;}
.svh-row-actions{display:flex;gap:5px;opacity:0;transition:opacity 0.15s;}
.svh-table tbody tr:hover .svh-row-actions{opacity:1;}
.svh-action-btn{padding:4px 10px;border:1.5px solid var(--border);border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;background:#fff;color:var(--text-mid);font-family:inherit;transition:all 0.15s;white-space:nowrap;}
.svh-action-btn:hover{border-color:var(--blue);color:var(--blue);}
.svh-action-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.svh-action-btn.danger:hover{border-color:var(--red);color:var(--red);}
.svh-action-btn.extracting{color:var(--blue);border-color:var(--blue);opacity:0.7;cursor:default;}
.svh-folder-select{font-size:11.5px;padding:4px 8px;border:1.5px solid var(--border);border-radius:6px;font-family:inherit;color:var(--text);background:#fff;cursor:pointer;max-width:140px;}
.svh-folder-select:focus{outline:none;border-color:var(--blue);}
/* Matter grouping */
.svh-matter-header-row td{padding:0;border-bottom:none;background:var(--bg);}
.svh-matter-header{display:flex;align-items:center;gap:10px;padding:14px 16px 6px;border-top:2px solid var(--border);}
.svh-matter-header-name{font-size:13px;font-weight:700;color:var(--text);}
.svh-matter-header-ref{font-size:11px;font-weight:600;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);padding:1px 7px;border-radius:10px;}
.svh-matter-header-count{font-size:11px;color:var(--text-dim);margin-left:auto;}
.svh-matter-header-row:first-child .svh-matter-header{border-top:none;}

/* ═══════════════════════════════════════════════════════
   CHRONOLOGY BUILDER
   ═══════════════════════════════════════════════════════ */
.chron-layout{display:flex;flex:1;overflow:hidden;min-height:0;}
#view-chronology-home.active{display:flex;padding:0;flex-direction:column;height:calc(100vh - 58px);overflow:hidden;}
.chron-sidebar{width:272px;min-width:272px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;}
.chron-sb-matter{padding:0 0 0;flex-shrink:0;}
.chron-sb-matter-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:7px;}
.chron-sb-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;}
.chron-sb-tab{flex:1;padding:9px 0;font-size:11.5px;font-weight:700;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:5px;}
.chron-sb-tab:hover:not(.active){color:var(--text);}
.chron-sb-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.chron-saved-badge{font-size:9.5px;font-weight:700;font-family:'JetBrains Mono',monospace;background:var(--blue);color:#fff;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center;}
.chron-tab-pane{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.chron-doc-tree{flex:1;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px;}
.chron-doc-empty{font-size:12px;color:var(--text-dim);padding:14px 6px;text-align:center;line-height:1.5;}
.chron-folder-hdr{display:flex;align-items:center;gap:6px;padding:5px 6px;cursor:pointer;font-size:12px;font-weight:700;color:var(--text);border-radius:6px;transition:background 0.1s;flex-shrink:0;user-select:none;}
.chron-folder-hdr:hover{background:var(--bg);}
.chron-folder-arrow{font-size:8px;color:var(--text-dim);transition:transform 0.15s;flex-shrink:0;display:inline-block;}
.chron-folder-arrow.open{transform:rotate(90deg);}
.chron-folder-cb{accent-color:var(--blue);width:13px;height:13px;flex-shrink:0;cursor:pointer;}
.chron-folder-count{font-size:10px;font-weight:600;color:var(--text-dim);background:var(--bg);padding:1px 6px;border-radius:8px;flex-shrink:0;margin-left:auto;font-family:'JetBrains Mono',monospace;}
.chron-folder-docs{padding-left:18px;display:flex;flex-direction:column;gap:3px;margin-bottom:4px;}
.chron-doc-row{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:6px;border:1.5px solid var(--border);background:#fff;transition:all 0.1s;cursor:pointer;}
.chron-doc-row:hover{border-color:#c5d4f0;background:#f7f9fc;}
.chron-doc-row.selected{border-color:var(--blue);background:#eef2fb;}
.chron-doc-cb{accent-color:var(--blue);width:13px;height:13px;flex-shrink:0;cursor:pointer;}
.chron-doc-info{flex:1;min-width:0;}
.chron-doc-name{font-size:11.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chron-doc-meta{font-size:10px;color:var(--text-dim);}
.chron-ext{font-size:9px;font-weight:700;padding:1px 5px;border-radius:6px;flex-shrink:0;}
.chron-docs-footer{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:7px;}
.chron-sel-row{display:flex;align-items:center;gap:6px;}
.chron-sel-count{font-size:11.5px;color:var(--text-dim);flex:1;}
.chron-sel-btn{font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;font-weight:700;font-family:inherit;padding:0;}
.chron-sel-btn:hover{text-decoration:underline;}
.chron-extract-btn{width:100%;padding:10px;background:var(--blue);color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background 0.15s;display:flex;align-items:center;justify-content:center;gap:7px;}
.chron-extract-btn:hover{background:#2450b8;}
.chron-extract-btn:disabled{opacity:0.4;cursor:not-allowed;}
.chron-extract-note{font-size:10.5px;color:var(--text-dim);text-align:center;line-height:1.4;}
.chron-saved-list-wrap{flex:1;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:3px;}
.chron-saved-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:all 0.12s;}
.chron-saved-item:hover{background:#eef2fb;border-color:#c5d4f0;}
.chron-saved-item.active{background:#eef2fb;border-color:var(--blue);}
.chron-saved-item:hover .chron-saved-del{opacity:1;}
.chron-saved-name{flex:1;font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chron-saved-meta{font-size:10.5px;color:var(--text-dim);display:flex;align-items:center;gap:5px;margin-top:2px;}
.chron-saved-count{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);background:var(--bg);padding:1px 6px;border-radius:10px;border:1px solid var(--border);}
.chron-saved-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:12px;padding:2px 5px;opacity:0;flex-shrink:0;}
.chron-saved-del:hover{color:var(--red,#d13434);}
.chron-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;}
.chron-titlebar{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;}
.chron-title-input{font-family:'Instrument Serif',serif;font-size:17px;border:none;outline:none;color:var(--text);flex:1;background:transparent;min-width:0;}
.chron-title-input::placeholder{color:var(--text-dim);}
.chron-tb-sep{width:1px;height:20px;background:var(--border);flex-shrink:0;margin:0 2px;}
.chron-ctrl-sel{font-size:12px;padding:5px 9px;border:1.5px solid var(--border);border-radius:7px;font-family:inherit;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.chron-ctrl-sel:focus{border-color:var(--blue);}
.chron-table-wrap{flex:1;overflow-y:auto;background:var(--bg);}
.chron-tbl{width:100%;border-collapse:collapse;background:#fff;}
.chron-tbl thead th{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);padding:9px 12px;border-bottom:2px solid var(--border);background:#fff;position:sticky;top:0;z-index:2;text-align:left;font-family:'JetBrains Mono',monospace;white-space:nowrap;}
.chron-tbl tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;}
.chron-tbl tbody tr:hover{background:#f7f9fc;}
.chron-tbl tbody tr:hover .chron-drag,.chron-tbl tbody tr:hover .chron-row-del{opacity:1;}
.chron-tbl tbody tr.chron-row-high{border-left:3px solid var(--red,#d13434);}
.chron-tbl tbody tr.chron-row-med{border-left:3px solid var(--amber,#c47d0e);}
.chron-tbl tbody td{padding:0;vertical-align:top;}
.chron-cell{padding:9px 12px;font-size:13px;line-height:1.45;color:var(--text);}
.chron-cell-ta{width:100%;border:none;outline:none;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;color:var(--text);background:transparent;resize:none;line-height:1.45;padding:9px 12px;display:block;box-sizing:border-box;}
.chron-cell-ta:focus{background:#f0f4ff;}
.chron-row-num{font-size:11px;font-weight:700;color:var(--text-dim);text-align:center;padding-top:12px;font-family:'JetBrains Mono',monospace;}
.chron-drag{color:var(--text-dim);cursor:grab;text-align:center;padding-top:11px;font-size:14px;user-select:none;opacity:0;padding-left:8px;}
.chron-sig-sel{font-size:11.5px;padding:4px 8px;border:1.5px solid var(--border);border-radius:6px;font-family:inherit;background:#fff;cursor:pointer;outline:none;width:100%;}
.chron-src-chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:10px;background:#eef2fb;color:var(--blue);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chron-row-del{padding:0 10px;background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:14px;opacity:0;transition:opacity 0.1s;vertical-align:middle;}
.chron-row-del:hover{color:var(--red,#d13434);}
.chron-add-bar{padding:10px 18px;border-top:1px solid var(--border);background:#fff;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.chron-add-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg);border:1.5px dashed var(--border);border-radius:8px;font-size:12.5px;color:var(--text-mid);cursor:pointer;font-family:inherit;font-weight:600;transition:all 0.15s;}
.chron-add-btn:hover{border-color:var(--blue);color:var(--blue);background:#eef2fb;}
.chron-row-count{font-size:12px;color:var(--text-dim);margin-left:auto;font-family:'JetBrains Mono',monospace;}
.chron-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim);padding:40px;text-align:center;}
.chron-empty-icon{font-size:48px;opacity:0.3;}
.chron-empty-title{font-size:16px;font-weight:700;color:var(--text-mid);font-family:'Instrument Serif',serif;}
.chron-empty-sub{font-size:13px;line-height:1.6;max-width:300px;}
/* Chron quick-start screen */
.chron-qs{flex:1;overflow-y:auto;background:var(--bg);}
.chron-qs-body{max-width:820px;width:100%;margin:0 auto;padding:28px 32px 48px;display:flex;flex-direction:column;}
.chron-qs-banner{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:28px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:all .2s;}
.chron-qs-banner.locked{background:var(--bg);border-style:dashed;box-shadow:none;}
.chron-qs-banner-ref{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--blue);background:var(--blue-light);border:1.5px solid var(--blue-mid);padding:3px 9px;border-radius:6px;flex-shrink:0;}
.chron-qs-banner-name{font-size:15px;font-weight:700;color:var(--text);font-family:'Instrument Serif',serif;flex:1;}
.chron-qs-banner-meta{font-size:11.5px;color:var(--text-dim);}
.chron-qs-banner-prompt{font-size:13px;color:var(--text-dim);flex:1;font-style:italic;}
.chron-qs-section{margin-bottom:24px;}
.chron-qs-section-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
.chron-qs-recent-list{display:flex;flex-direction:column;gap:6px;}
.chron-qs-recent-item{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .12s;}
.chron-qs-recent-item:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(52,97,209,.1);}
.chron-qs-recent-icon{font-size:20px;flex-shrink:0;}
.chron-qs-recent-info{flex:1;min-width:0;}
.chron-qs-recent-name{font-size:13.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chron-qs-recent-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;display:flex;gap:6px;align-items:center;}
.chron-qs-recent-cnt{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--border);padding:1px 7px;border-radius:8px;color:var(--text-dim);}
.chron-qs-recent-arrow{color:var(--text-dim);font-size:18px;flex-shrink:0;}
.chron-qs-new-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;}
.chron-qs-prompt-strip{background:#fef9ec;border:1.5px solid #f6d783;border-radius:9px;padding:7px 12px;font-size:11.5px;color:#c47d0e;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.chron-qs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.chron-qs-tile{background:#fff;border:1.5px solid var(--border);border-radius:11px;padding:18px 16px 14px;cursor:pointer;transition:all .14s;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;}
.chron-qs-tile::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--tile-accent,var(--border));transition:background .14s;}
.chron-qs-tile:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(52,97,209,.12);transform:translateY(-2px);}
.chron-qs-tile:hover::before{background:var(--blue);}
.chron-qs-tile.locked{opacity:.4;pointer-events:none;filter:grayscale(.2);}
.chron-qs-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.chron-qs-tile-icon{font-size:26px;line-height:1;flex-shrink:0;}
.chron-qs-tile-badge{font-size:9.5px;font-weight:700;font-family:'JetBrains Mono',monospace;padding:2px 7px;border-radius:10px;flex-shrink:0;margin-top:3px;}
.badge-general{background:#eef2fb;color:var(--blue);}
.badge-costs{background:#fef9ec;color:#c47d0e;}
.badge-procedural{background:#f0fdf4;color:#16a34a;}
.badge-negotiation{background:#fdf4ff;color:#9333ea;}
.badge-liability{background:#fff1f2;color:#e11d48;}
.badge-witness{background:#fff7ed;color:#ea580c;}
.chron-qs-tile-name{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:3px;}
.chron-qs-tile-desc{font-size:11.5px;color:var(--text-dim);line-height:1.55;}
.chron-qs-tile-hint{font-size:10.5px;color:var(--text-dim);border-top:1px solid var(--border);padding-top:8px;display:flex;align-items:center;gap:5px;margin-top:2px;}
.chron-qs-blank{text-align:center;margin-top:14px;}
.chron-qs-blank-btn{background:none;border:1.5px dashed var(--border);border-radius:9px;padding:10px 28px;font-size:12.5px;font-weight:700;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .15s;}
.chron-qs-blank-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.chron-qs-blank-btn:disabled{opacity:.4;pointer-events:none;}

/* ═══════════════════════════════════════════════════════
   CONTRACT REVIEW
   ═══════════════════════════════════════════════════════ */
.cr-layout{display:flex;flex:1;overflow:hidden;min-height:0;}
#view-contract-review.active{display:flex;flex-direction:column;padding:0;height:calc(100vh - 58px);overflow:hidden;}
/* Left panel */
.cr-sidebar{width:272px;min-width:272px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;}
.cr-left-top{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0;}
.cr-sb-section{padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0;}
.cr-sb-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
/* Source tabs */
.cr-source-tabs{display:flex;gap:4px;margin-bottom:8px;}
.cr-source-tab{flex:1;padding:5px 0;font-size:11px;font-weight:700;color:var(--text-dim);background:var(--bg);border:1.5px solid var(--border);border-radius:7px;cursor:pointer;font-family:inherit;transition:all .12s;text-align:center;}
.cr-source-tab.active{background:var(--blue-light);border-color:var(--blue-mid);color:var(--blue);}
/* Upload zone — compact */
.cr-upload-zone{border:1.5px dashed var(--border);border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:all 0.15s;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:4px;}
.cr-upload-zone:hover,.cr-upload-zone.drag{border-color:var(--blue);background:var(--blue-light);}
.cr-upload-icon{font-size:20px;}
.cr-upload-title{font-size:12.5px;font-weight:700;color:var(--text);}
.cr-upload-sub{font-size:10.5px;color:var(--text-dim);}
.cr-upload-input{display:none;}
/* Loaded doc chip */
.cr-doc-loaded{display:flex;align-items:center;gap:9px;padding:9px 11px;background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:9px;}
.cr-doc-icon{font-size:20px;flex-shrink:0;}
.cr-doc-info{flex:1;min-width:0;}
.cr-doc-name{font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cr-doc-meta{font-size:10px;color:var(--text-dim);margin-top:1px;}
.cr-doc-clear{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:14px;padding:2px 4px;border-radius:4px;flex-shrink:0;line-height:1;}
.cr-doc-clear:hover{color:var(--red);}
/* Matter selector */
.cr-matter-row{display:flex;flex-direction:column;gap:6px;}
.cr-vault-doc{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:all 0.15s;background:var(--white);}
.cr-vault-doc:hover{border-color:var(--blue);background:var(--blue-light);}
.cr-vault-doc.selected{border-color:var(--green);background:var(--green-bg);}
/* Focus area pills */
.cr-focus-group-label{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:6px;margin-top:10px;}
.cr-focus-group-label:first-child{margin-top:0;}
.cr-focus-grid{display:flex;flex-wrap:wrap;gap:5px;}
.cr-focus-pill{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;border:1.5px solid var(--border);background:var(--white);font-size:11.5px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:all .12s;user-select:none;}
.cr-focus-pill:hover{border-color:#c5d4f0;background:var(--blue-light);color:var(--blue);}
.cr-focus-pill.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
.cr-focus-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .12s;}
.cr-focus-pill.active .cr-focus-pill-dot{background:var(--blue);}
/* Toggle switch rows */
.cr-toggle-list{display:flex;flex-direction:column;}
.cr-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;transition:background .1s;}
.cr-toggle-row:last-child{border-bottom:none;}
.cr-toggle-label{font-size:12px;font-weight:600;color:var(--text-dim);transition:color .12s;flex:1;}
.cr-toggle-row.on .cr-toggle-label{color:var(--text);font-weight:700;}
.cr-toggle-track{width:32px;height:18px;border-radius:9px;background:var(--border);position:relative;flex-shrink:0;transition:background .15s;}
.cr-toggle-row.on .cr-toggle-track{background:var(--blue);}
.cr-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:7px;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.18);}
.cr-toggle-row.on .cr-toggle-thumb{transform:translateX(14px);}
/* Keep old classes for JS compatibility */
.cr-focus-list{display:flex;flex-direction:column;gap:4px;}
.cr-focus-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;border:1.5px solid var(--border);background:var(--white);cursor:pointer;font-size:12px;font-weight:600;color:var(--text);transition:all 0.1s;}
.cr-focus-item:hover{border-color:#c5d4f0;}
.cr-focus-item.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
.cr-focus-cb{accent-color:var(--blue);flex-shrink:0;}
/* Run button zone */
.cr-run-zone{flex-shrink:0;padding:12px 14px;border-top:1px solid var(--border);background:var(--white);}
.cr-run-btn{width:100%;padding:11px;background:var(--blue);color:#fff;border:none;border-radius:9px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:background 0.15s;display:flex;align-items:center;justify-content:center;gap:8px;}
.cr-run-btn:hover{background:#2450b8;}
.cr-run-btn:disabled{opacity:0.45;cursor:default;}
.cr-run-meta{font-size:10px;color:var(--text-dim);text-align:center;margin-top:5px;}
/* Saved reviews — kept for JS compatibility, now in right panel */
.cr-saved-wrap{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:3px;}
.cr-saved-empty{font-size:12px;color:var(--text-dim);text-align:center;padding:16px 0;}
.cr-saved-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:all 0.1s;}
.cr-saved-item:hover{background:#f0f4ff;border-color:#c5d4f0;}
.cr-saved-item.active{background:var(--blue-light);border-color:var(--blue);}
.cr-saved-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cr-saved-info{flex:1;min-width:0;}
.cr-saved-name{font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cr-saved-meta{font-size:10.5px;color:var(--text-dim);margin-top:1px;}
.cr-saved-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:12px;padding:2px 4px;border-radius:4px;opacity:0;flex-shrink:0;}
.cr-saved-item:hover .cr-saved-del{opacity:1;}
.cr-saved-del:hover{color:var(--red);}
/* Main / right panel */
.cr-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
/* Right panel home screen */
.cr-home{flex:1;overflow-y:auto;padding:20px 24px 32px;display:flex;flex-direction:column;gap:22px;}
.cr-home-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
/* Recent strip */
.cr-recent-strip{display:flex;gap:8px;flex-wrap:wrap;}
.cr-recent-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .12s;min-width:0;flex:1;}
.cr-recent-card:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(52,97,209,.1);}
.cr-recent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cr-recent-info{flex:1;min-width:0;}
.cr-recent-name{font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cr-recent-meta{font-size:10px;color:var(--text-dim);margin-top:2px;}
.cr-recent-arrow{color:var(--text-dim);font-size:14px;flex-shrink:0;}
/* How it works */
.cr-how{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.cr-how-card{background:var(--white);border:1.5px solid var(--border);border-radius:11px;padding:13px 14px;display:flex;align-items:flex-start;gap:11px;}
.cr-how-icon{font-size:20px;flex-shrink:0;margin-top:1px;}
.cr-how-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:3px;}
.cr-how-desc{font-size:11px;color:var(--text-dim);line-height:1.5;}
/* Sample report */
.cr-sample{background:var(--white);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}
.cr-sample-hdr{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg);}
.cr-sample-title{font-size:13px;font-weight:700;color:var(--text);flex:1;font-family:'Instrument Serif',serif;}
.cr-sample-meta{font-size:10.5px;color:var(--text-dim);}
.cr-sample-badge{font-size:9px;font-weight:700;font-family:'JetBrains Mono',monospace;padding:3px 8px;border-radius:10px;flex-shrink:0;}
.cr-sample-finding{display:flex;border-bottom:1px solid var(--border);}
.cr-sample-finding:last-child{border-bottom:none;}
.cr-finding-left{width:52px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-top:14px;}
.cr-finding-pill{font-size:8.5px;font-weight:800;font-family:'JetBrains Mono',monospace;padding:3px 6px;border-radius:8px;white-space:nowrap;}
.cr-finding-line{width:1.5px;flex:1;background:var(--border);margin:6px 0;}
.cr-finding-body{flex:1;padding:13px 16px 13px 0;display:flex;flex-direction:column;gap:5px;}
.cr-finding-clause{font-size:11.5px;font-weight:700;color:var(--text);}
.cr-finding-text{font-size:12px;color:var(--text-mid);line-height:1.55;}
.cr-finding-suggestion{font-size:11.5px;color:var(--text-mid);line-height:1.5;background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:7px;padding:7px 10px;margin-top:2px;}
.cr-suggestion-label{font-size:9.5px;font-weight:700;color:var(--blue);font-family:'JetBrains Mono',monospace;display:block;margin-bottom:3px;}
/* Empty state (shown before any doc loaded) */
.cr-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;text-align:center;}
.cr-empty-icon{font-size:52px;opacity:0.25;}
.cr-empty-title{font-size:18px;font-weight:700;color:var(--text-mid);font-family:'Instrument Serif',serif;}
.cr-empty-sub{font-size:13.5px;color:var(--text-dim);line-height:1.65;max-width:340px;}
/* Progress */
.cr-progress{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px;}
.cr-progress-title{font-size:16px;font-weight:700;color:var(--text);font-family:'Instrument Serif',serif;}
.cr-progress-sub{font-size:13px;color:var(--text-dim);}
.cr-progress-bar-wrap{width:320px;height:6px;background:var(--border);border-radius:3px;overflow:hidden;}
.cr-progress-bar{height:100%;background:var(--blue);border-radius:3px;transition:width 0.4s ease;width:0%;}
.cr-progress-step{font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
/* Report */
.cr-report{flex:1;overflow-y:auto;padding:28px 32px;}
.cr-report-header{margin-bottom:24px;}
.cr-report-title{font-family:'Instrument Serif',serif;font-size:24px;color:var(--text);margin-bottom:4px;}
.cr-report-meta{font-size:12px;color:var(--text-dim);display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.cr-report-meta-chip{padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;background:var(--bg);border:1px solid var(--border);}
/* Risk summary bar */
.cr-risk-bar{display:flex;gap:12px;padding:14px 18px;background:#fff;border-radius:12px;border:1.5px solid var(--border);margin-bottom:20px;align-items:center;flex-wrap:wrap;}
.cr-risk-stat{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;}
.cr-risk-stat .badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;}
.cr-risk-stat.high .badge{background:#fdf0f0;color:var(--red);}
.cr-risk-stat.med .badge{background:#fef9ec;color:var(--amber);}
.cr-risk-stat.low .badge{background:#edf7f2;color:var(--green);}
.cr-risk-stat.ok .badge{background:#eef2fb;color:var(--blue);}
.cr-risk-label{font-size:11.5px;color:var(--text-mid);}
.cr-overall-score{margin-left:auto;display:flex;align-items:center;gap:8px;}
.cr-score-pill{padding:4px 14px;border-radius:20px;font-size:13px;font-weight:800;font-family:'JetBrains Mono',monospace;}
.cr-score-low{background:#fdf0f0;color:var(--red);}
.cr-score-med{background:#fef9ec;color:var(--amber);}
.cr-score-high{background:#edf7f2;color:var(--green);}
/* Section */
.cr-section{background:#fff;border-radius:12px;border:1.5px solid var(--border);margin-bottom:16px;overflow:hidden;}
.cr-section-hdr{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;user-select:none;border-bottom:1px solid transparent;transition:background 0.1s;}
.cr-section-hdr:hover{background:#f7f9fc;}
.cr-section-hdr.open{border-bottom-color:var(--border);}
.cr-section-arrow{font-size:9px;color:var(--text-dim);transition:transform 0.15s;flex-shrink:0;}
.cr-section-arrow.open{transform:rotate(90deg);}
.cr-section-icon{font-size:18px;flex-shrink:0;}
.cr-section-title{font-size:14px;font-weight:700;color:var(--text);flex:1;}
.cr-section-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;}
.cr-section-body{padding:0 16px 16px;}
/* Issue cards */
.cr-issue{display:flex;gap:12px;padding:12px 14px;border-radius:9px;border:1.5px solid var(--border);margin-top:10px;background:#fff;transition:border-color 0.1s;}
.cr-issue:hover{border-color:#c5d4f0;}
.cr-issue-risk{width:4px;border-radius:2px;flex-shrink:0;align-self:stretch;}
.cr-issue-risk.H{background:var(--red);}
.cr-issue-risk.M{background:var(--amber);}
.cr-issue-risk.L{background:var(--green);}
.cr-issue-risk.OK{background:var(--blue);}
.cr-issue-body{flex:1;min-width:0;}
.cr-issue-title{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:4px;}
.cr-issue-desc{font-size:13px;color:var(--text-mid);line-height:1.55;}
.cr-issue-rec{font-size:12px;color:var(--blue);font-weight:600;margin-top:6px;padding:6px 10px;background:#eef2fb;border-radius:6px;line-height:1.45;}
.cr-issue-clause{font-size:10.5px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-top:5px;}
.cr-issue-risk-badge{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;align-self:flex-start;margin-top:2px;}
.cr-issue-risk-badge.H{background:#fdf0f0;color:var(--red);}
.cr-issue-risk-badge.M{background:#fef9ec;color:var(--amber);}
.cr-issue-risk-badge.L{background:#edf7f2;color:var(--green);}
.cr-issue-risk-badge.OK{background:#eef2fb;color:var(--blue);}
/* Executive summary */
.cr-exec-summary{font-size:14px;line-height:1.7;color:var(--text);padding:14px 16px;background:#f7f9fc;border-radius:9px;border-left:4px solid var(--blue);margin-bottom:8px;}
/* Report toolbar */
.cr-report-toolbar{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;}
.cr-report-toolbar-title{font-size:14px;font-weight:700;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Instrument Serif',serif;}
/* Report tabs */
.cr-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);background:#fff;flex-shrink:0;padding:0 18px;}
.cr-tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.15s;user-select:none;}
.cr-tab:hover{color:var(--text);}
.cr-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.cr-tab-panel{display:none;flex:1;overflow-y:auto;}
.cr-tab-panel.active{display:block;}
/* Markup view */
.cr-markup-wrap{padding:28px 32px;}
.cr-markup-intro{font-size:13px;color:var(--text-dim);margin-bottom:20px;line-height:1.5;background:#f7f9fc;padding:12px 16px;border-radius:8px;border-left:3px solid var(--blue);}
.cr-markup-section{background:#fff;border-radius:12px;border:1.5px solid var(--border);margin-bottom:16px;overflow:hidden;}
.cr-markup-section-hdr{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;border-bottom:1px solid var(--border);}
.cr-markup-section-hdr:hover{background:#f7f9fc;}
.cr-markup-clause-ref{font-size:11px;font-weight:700;color:var(--text-dim);font-family:'JetBrains Mono',monospace;flex-shrink:0;}
.cr-markup-issue-title{font-size:14px;font-weight:700;color:var(--text);flex:1;}
.cr-markup-body{padding:16px;}
.cr-markup-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:6px;}
.cr-markup-original{font-size:13px;line-height:1.65;color:var(--text);background:#fff8f8;border:1.5px solid #f0d0d0;border-radius:8px;padding:12px 14px;margin-bottom:12px;font-family:'Plus Jakarta Sans',sans-serif;}
.cr-markup-proposed{font-size:13px;line-height:1.65;color:var(--text);background:#f0fff4;border:1.5px solid #b8e0c8;border-radius:8px;padding:12px 14px;margin-bottom:10px;font-family:'Plus Jakarta Sans',sans-serif;}
.cr-del{text-decoration:line-through;color:#b83030;background:#fdf0f0;padding:0 2px;border-radius:2px;}
.cr-ins{color:#1a7a4a;background:#e6f7ed;padding:0 2px;border-radius:2px;font-weight:600;}
.cr-markup-rationale{font-size:12px;color:var(--text-mid);font-style:italic;line-height:1.5;}
.cr-markup-copy-btn{margin-top:10px;padding:5px 12px;font-size:11.5px;font-weight:600;background:var(--bg);border:1.5px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;color:var(--text-mid);transition:all 0.1s;}
.cr-markup-copy-btn:hover{border-color:var(--blue);color:var(--blue);}
.cr-markup-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px;text-align:center;}
.cr-markup-loading-icon{font-size:36px;animation:spin 1.5s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg)}}
/* ═══════════════════════════════════════════════════════
   TIME RECORDING
   ═══════════════════════════════════════════════════════ */
/* Topbar timer pill */
.tb-timer-pill{display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--orange);border-radius:9px;overflow:hidden;height:34px;background:#fff8f5;}
.tb-tp-matter{padding:0 10px;font-size:11.5px;font-weight:700;color:var(--orange);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid rgba(232,98,26,0.25);}
.tb-tp-time{padding:0 10px;font-size:13px;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--orange);border-right:1px solid rgba(232,98,26,0.25);min-width:68px;text-align:center;}
.tb-timer-pill.paused{border-color:var(--blue);background:#f0f4fc;}
.tb-timer-pill.paused .tb-tp-matter,.tb-timer-pill.paused .tb-tp-time{color:var(--blue);}
.tb-timer-pill.paused .tb-tp-matter,.tb-timer-pill.paused .tb-tp-time,.tb-timer-pill.paused .tb-tp-btn{border-color:rgba(30,77,155,0.2);}
.tb-tp-btn{width:30px;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;background:transparent;border:none;color:var(--orange);transition:background 0.12s;}
.tb-tp-btn:hover{background:rgba(232,98,26,0.08);}
.tb-tp-stop{color:var(--red);border-left:1px solid rgba(232,98,26,0.25);}
/* Timesheet */
.tr-stats-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.tr-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:10px 16px;min-width:100px;}
.tr-stat-val{font-size:20px;font-weight:800;color:var(--text);}
.tr-stat-lbl{font-size:11px;color:var(--text-dim);font-weight:600;margin-top:2px;}
.tr-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.tr-period-btn{padding:6px 13px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);color:var(--text-mid);background:#fff;font-family:inherit;transition:all 0.15s;}
.tr-period-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.tr-table-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}
.tr-table{width:100%;border-collapse:collapse;}
.tr-table thead tr{background:var(--bg);}
.tr-table th{padding:9px 12px;text-align:left;font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;border-bottom:1px solid var(--border);white-space:nowrap;}
.tr-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px;}
.tr-table tr:last-child td{border-bottom:none;}
.tr-table tbody tr:hover{background:#f7f9fc;}
.tr-date-group-row td{background:var(--bg);padding:7px 12px;font-size:10.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;border-bottom:1px solid var(--border);}
.tr-total-row td{background:#f0fbf4;font-weight:700;border-top:2px solid var(--border) !important;}
.tr-billable-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.tr-billable-dot.yes{background:var(--green);}
.tr-billable-dot.no{background:var(--text-dim);}
.tr-duration{font-family:'JetBrains Mono',monospace;font-weight:700;}
.tr-amount{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--green);}
.tr-activity-chip{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;background:#eef2fb;color:var(--blue);}
/* Matter time tab */
.mtt-stats{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.mtt-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:10px 14px;}
.mtt-stat-val{font-size:18px;font-weight:800;color:var(--text);}
.mtt-stat-lbl{font-size:10.5px;color:var(--text-dim);font-weight:600;margin-top:2px;}
/* Log time modal widgets */
.tr-btog{flex:1;padding:8px;border:1.5px solid var(--border);border-radius:8px;text-align:center;cursor:pointer;font-size:12.5px;font-weight:700;transition:all 0.15s;background:#fff;}
.tr-btog.active.bill{border-color:var(--green);background:#edf7f2;color:var(--green);}
.tr-btog.active.nonbill{border-color:var(--text-dim);background:var(--bg);color:var(--text-dim);}
.tr-ac-chip{padding:5px 11px;border:1.5px solid var(--border);border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;color:var(--text-mid);transition:all 0.15s;background:#fff;}
.tr-ac-chip.active{background:var(--blue);color:#fff;border-color:var(--blue);}
/* Timer dropdown in topbar */
.tb-timer-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.1s;}
.tb-timer-row:last-child{border-bottom:none;}
.tb-timer-row:hover{background:var(--bg);}
.tb-timer-row.tr-running{background:#fff8f5;}
.tb-timer-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.tb-timer-dot.running{background:var(--orange);box-shadow:0 0 0 3px rgba(232,98,26,0.18);}
.tb-timer-dot.paused{background:var(--blue);}
.tb-timer-matter{flex:1;font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tb-timer-elapsed{font-size:13px;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--text-mid);flex-shrink:0;}
.tb-timer-row.tr-running .tb-timer-elapsed{color:var(--orange);}
.tb-timer-ic{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;transition:all 0.15s;flex-shrink:0;}
.tb-timer-ic:hover{border-color:var(--blue);background:var(--bg);}
.tr-matter-opt{padding:9px 13px;cursor:pointer;border-bottom:1px solid var(--border);transition:background 0.1s;}
.tr-matter-opt:last-child{border-bottom:none;}
.tr-matter-opt:hover{background:var(--bg);}

/* Admin user fee earner toggle */
.au-toggle{width:34px;height:18px;border-radius:9px;background:var(--border);cursor:pointer;position:relative;transition:background 0.2s;flex-shrink:0;}
.au-toggle::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2);}
.au-toggle.on{background:var(--green);}
.au-toggle.on::after{transform:translateX(16px);}


/* ═══════════════════════════════════════════════════════
   MATTERS LIST (REBUILT)
   ═══════════════════════════════════════════════════════ */
.ml-stats-row{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:14px;width:fit-content;flex-wrap:wrap;}
.ml-stat{padding:11px 18px;cursor:pointer;transition:background 0.15s;border-right:1px solid var(--border);min-width:85px;}
.ml-stat:last-child{border-right:none;}
.ml-stat:hover:not(.ml-stat-info){background:#f7f9fc;}
.ml-stat.af{background:#eef2fb;}
.ml-stat-val{font-size:21px;font-weight:800;color:var(--text);line-height:1;}
.ml-stat-lbl{font-size:10.5px;color:var(--text-dim);font-weight:600;margin-top:3px;}
.ml-stat-sep{width:1px;background:var(--border);flex-shrink:0;align-self:stretch;}
.ml-stat-info{background:var(--bg);cursor:default;}
.ml-stat-info:hover{background:var(--bg) !important;}
.ml-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.ml-search-wrap{position:relative;width:260px;}
.ml-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:14px;}
.ml-search{width:100%;padding:7px 12px 7px 30px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;color:var(--text);font-family:inherit;outline:none;background:#fff;}
.ml-search:focus{border-color:var(--blue);}
.ml-table-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}
.ml-table{width:100%;border-collapse:collapse;}
.ml-table thead tr{background:var(--bg);}
.ml-table th{padding:9px 13px;text-align:left;font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none;}
.ml-table th:hover{color:var(--blue);}
.ml-table td{padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle;}
.ml-table tr:last-child td{border-bottom:none;}
.ml-table tbody tr{cursor:pointer;transition:background 0.1s;}
.ml-table tbody tr:hover{background:#f7f9fc;}
.ml-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;}
.ml-dot-active{background:var(--green);}
.ml-dot-urgent{background:var(--orange);}
.ml-dot-pending{background:var(--amber);}
.ml-dot-closed{background:var(--text-dim);}
.ml-matter-name{font-weight:700;color:var(--text);font-size:13.5px;}
.ml-matter-client{font-size:11.5px;color:var(--text-mid);margin-top:1px;}
.ml-type-chip{font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px;background:#eef2fb;color:var(--blue);display:inline-block;}
.ml-earner-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;}

/* ═══════════════════════════════════════════════════════
   MATTER DETAIL HEADER (REBUILT)
   ═══════════════════════════════════════════════════════ */
.md-header-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:14px;}
.md-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.md-header-name{font-size:22px;font-weight:800;color:var(--text);font-family:'Instrument Serif',serif;margin-bottom:6px;line-height:1.2;}
.md-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.md-header-actions{display:flex;gap:8px;flex-shrink:0;}
.md-prog-row{display:flex;align-items:center;gap:10px;margin-top:10px;}
.md-prog-label{font-size:11px;font-weight:700;color:var(--text-dim);width:72px;flex-shrink:0;}
.md-prog-bar{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.md-prog-fill{height:100%;border-radius:3px;background:var(--blue);}
.md-prog-pct{font-size:11px;font-weight:700;color:var(--text-mid);width:30px;text-align:right;}
.md-key-dates{display:flex;gap:8px;flex-wrap:wrap;}
.md-kd-chip{background:var(--bg);border:1.5px solid var(--border);border-radius:9px;padding:8px 12px;min-width:105px;}
.md-kd-chip.hot{border-color:#f0b8b8;background:#fdf3f3;}
.md-kd-label{font-size:9.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;}
.md-kd-val{font-size:13px;font-weight:700;color:var(--text);margin-top:2px;}
.md-kd-chip.hot .md-kd-val{color:var(--red);}

/* ═══════════════════════════════════════════════════════
   MATTER OVERVIEW GRID
   ═══════════════════════════════════════════════════════ */
.md-ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.md-ov-grid .ov-card.full{grid-column:1/-1;}
/* Doc rows in overview */
.ov-doc-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);}
.ov-doc-row:last-child{border-bottom:none;}
.ov-doc-name{flex:1;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ov-doc-meta{font-size:11px;color:var(--text-dim);white-space:nowrap;}
/* Key date rows */
.ov-date-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);}
.ov-date-row:last-child{border-bottom:none;}
.ov-date-row.hot .ov-date-val{color:var(--red);font-weight:700;}
.ov-date-label{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.ov-date-val{font-size:13px;font-weight:600;color:var(--text);}
.ov-date-countdown{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;}
.ov-date-countdown.hot{background:#fde8e8;color:var(--red);}
.ov-date-countdown.ok{background:#edf7f2;color:var(--green);}
.ov-date-countdown.dim{color:var(--text-dim);font-family:'JetBrains Mono',monospace;font-weight:400;}

/* ═══════════════════════════════════════════════════════
   ACTIVITY FEED
   ═══════════════════════════════════════════════════════ */
.act-filter-row{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.act-fc{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);color:var(--text-mid);background:#fff;transition:all 0.15s;white-space:nowrap;}
.act-fc.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.act-entry{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);position:relative;}
.act-entry:last-child{border-bottom:none;}
.act-entry:not(:last-child)::before{content:'';position:absolute;left:15px;top:36px;bottom:-1px;width:2px;background:var(--border);}
.act-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;position:relative;z-index:1;}
.act-icon-vault{background:#eef2fb;}
.act-icon-draft{background:#f0fbf4;}
.act-icon-chat{background:#fef9ec;}
.act-icon-approval{background:#f0fbf4;}
.act-icon-analysis{background:#f5f0fb;}
.act-icon-task{background:#fff0eb;}
.act-icon-matter{background:#eef2fb;}
.act-body{flex:1;min-width:0;}
.act-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;}
.act-title a{color:var(--blue);cursor:pointer;text-decoration:none;}
.act-title a:hover{text-decoration:underline;}
.act-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:6px;margin-right:4px;}
.act-badge-vault{background:#eef2fb;color:var(--blue);}
.act-badge-draft{background:#f0fbf4;color:var(--green);}
.act-badge-chat{background:#fef9ec;color:var(--amber);}
.act-badge-approval{background:#edf7f2;color:var(--green);}
.act-badge-approval-rej{background:#fde8e8;color:var(--red);}
.act-badge-analysis{background:#f5f0fb;color:#7c3aed;}
.act-badge-task{background:#fff0eb;color:var(--orange);}
.act-badge-matter{background:#eef2fb;color:var(--blue);}
.act-meta{font-size:11.5px;color:var(--text-dim);display:flex;align-items:center;gap:6px;margin-top:1px;}
.act-user{font-weight:700;color:var(--text-mid);}
.act-time{font-family:'JetBrains Mono',monospace;font-size:11px;}
.act-note{font-size:12px;color:var(--text-mid);margin-top:5px;background:var(--bg);border-radius:6px;padding:5px 10px;border-left:3px solid var(--border);font-style:italic;}

/* ═══════════════════════════════════════════════════════
   CLIENT MANAGEMENT
   ═══════════════════════════════════════════════════════ */
/* Stats row */
.cl-stats-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.cl-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:10px 16px;min-width:90px;}
.cl-stat-val{font-size:20px;font-weight:800;color:var(--text);}
.cl-stat-lbl{font-size:11px;color:var(--text-dim);font-weight:600;margin-top:1px;}
/* Toolbar */
.cl-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.cl-search-wrap{position:relative;flex:1;min-width:180px;max-width:320px;}
.cl-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:14px;}
.cl-search{width:100%;padding:7px 12px 7px 30px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;color:var(--text);font-family:inherit;background:#fff;outline:none;}
.cl-search:focus{border-color:var(--blue);}
/* Table */
.cl-table-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}
.cl-table{width:100%;border-collapse:collapse;}
.cl-table thead tr{background:var(--bg);}
.cl-table th{padding:9px 13px;text-align:left;font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none;}
.cl-table th:hover{color:var(--blue);}
.cl-table td{padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:middle;}
.cl-table tr:last-child td{border-bottom:none;}
.cl-table tbody tr{cursor:pointer;transition:background 0.1s;}
.cl-table tbody tr:hover{background:#f7f9fc;}
.cl-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;flex-shrink:0;}
.cl-name{font-weight:700;color:var(--text);font-size:13.5px;}
.cl-company{font-size:11.5px;color:var(--text-mid);margin-top:1px;}
.cl-ref-chip{font-size:11px;font-weight:700;color:var(--text-dim);font-family:'JetBrains Mono',monospace;background:var(--bg);padding:2px 7px;border-radius:6px;display:inline-block;}
.cl-type-chip{font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px;display:inline-block;}
.cl-type-individual{background:#eef2fb;color:var(--blue);}
.cl-type-company{background:#f0fbf4;color:var(--green);}
.cl-type-government{background:#fef9ec;color:var(--amber);}
.cl-status-chip{font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px;display:inline-block;}
.cl-status-active{background:#edf7f2;color:var(--green);}
.cl-status-inactive{background:var(--bg);color:var(--text-dim);}
.cl-status-prospective{background:#fef9ec;color:var(--amber);}
/* Client detail */
.cd-header-bar{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:14px;display:flex;align-items:flex-start;gap:16px;}
.cd-avatar-lg{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;flex-shrink:0;}
.cd-header-info{flex:1;min-width:0;}
.cd-client-name{font-size:21px;font-weight:800;color:var(--text);font-family:'Instrument Serif',serif;margin-bottom:5px;}
.cd-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cd-header-actions{display:flex;gap:8px;flex-shrink:0;}
.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cd-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:16px 18px;}
.cd-card.full{grid-column:1/-1;}
.cd-card-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
.cd-field{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
.cd-field:last-child{margin-bottom:0;}
.cd-field-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.cd-field-value{font-size:13.5px;color:var(--text);font-weight:500;}
.cd-matter-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.cd-matter-row:last-child{border-bottom:none;}
.cd-matter-row:hover{background:#f7f9fc;margin:0 -18px;padding:9px 18px;}
/* Correspondence */
.cd-corr-toolbar{margin-bottom:12px;}
.corr-entry{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:13px 16px;margin-bottom:10px;}
.corr-entry-hdr{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.corr-type-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.corr-type-email{background:#eef2fb;}
.corr-type-letter{background:#f0fbf4;}
.corr-type-call{background:#fef9ec;}
.corr-type-meeting{background:#f5f0fb;}
.corr-entry-meta{flex:1;}
.corr-entry-subject{font-size:13px;font-weight:700;color:var(--text);}
.corr-entry-info{font-size:11px;color:var(--text-dim);margin-top:1px;}
.corr-entry-body{font-size:12.5px;color:var(--text-mid);line-height:1.55;}
/* New client type btn */
.nc-type-btn{flex:1;padding:10px;border:1.5px solid var(--border);border-radius:9px;text-align:center;cursor:pointer;transition:all 0.15s;background:#fff;}
.nc-type-btn.active{border-color:var(--blue);background:#eef2fb;}
.nc-type-btn:hover:not(.active){border-color:var(--blue-deep);background:var(--bg);}
/* Billing placeholder */
.cd-billing-wip{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;}
.cd-billing-matter{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
.cd-billing-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-mid);padding:3px 0;}
.cd-billing-total{font-weight:700;color:var(--text);border-top:1px solid var(--border);margin-top:6px;padding-top:6px;}
/* Client numbering admin */
.cn-format-section{margin-top:14px;border-top:1px solid var(--border);padding-top:14px;}

/* ── Integrations ── */
.intg-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);}
.intg-row.intg-disabled{opacity:0.5;}
.intg-logo{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.intg-info{flex:1;min-width:0;}
.intg-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;display:flex;align-items:center;gap:8px;}
.intg-desc{font-size:12px;color:var(--text-dim);line-height:1.5;}
.intg-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.intg-status-chip{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:10px;}
.intg-status-chip.disconnected{background:var(--bg);color:var(--text-dim);border:1.5px solid var(--border);}
.intg-status-chip.connected{background:#edf7f2;color:var(--green);border:1.5px solid #a8dfc0;}
.intg-soon{font-size:9.5px;font-weight:700;background:#eef2fb;color:var(--blue);padding:2px 8px;border-radius:8px;}
/* Dropbox browser */
.dbx-browser{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;}
.dbx-breadcrumb{display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim);flex-wrap:wrap;}
.dbx-breadcrumb-item{cursor:pointer;color:var(--blue);font-weight:600;}
.dbx-breadcrumb-item:hover{text-decoration:underline;}
.dbx-breadcrumb-sep{color:var(--border);}
.dbx-file-list{max-height:320px;overflow-y:auto;}
.dbx-item{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.1s;}
.dbx-item:last-child{border-bottom:none;}
.dbx-item:hover{background:#f7f9fc;}
.dbx-item.selected{background:#eef2fb;}
.dbx-item-icon{font-size:18px;flex-shrink:0;}
.dbx-item-name{flex:1;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dbx-item-meta{font-size:11px;color:var(--text-dim);flex-shrink:0;}
.dbx-item-cb{accent-color:var(--blue);flex-shrink:0;}
.dbx-loading{display:flex;align-items:center;justify-content:center;padding:30px;gap:10px;font-size:13px;color:var(--text-dim);}
/* Mapping card */
.dbx-mapping-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
.dbx-mapping-row:last-child{border-bottom:none;}
.dbx-mapping-folder{font-size:12.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dbx-mapping-arrow{color:var(--text-dim);font-size:14px;flex-shrink:0;}
.dbx-mapping-matter{font-size:12px;color:var(--blue);font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dbx-mapping-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:13px;padding:2px 5px;border-radius:4px;}
.dbx-mapping-del:hover{color:var(--red);}
.dbx-sync-status{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:8px;flex-shrink:0;}
.dbx-sync-ok{background:#edf7f2;color:var(--green);}
.dbx-sync-pending{background:#fef9ec;color:var(--amber);}

/* ═══════════════════════════════════════════════════════
   MATTER CHAT
   ═══════════════════════════════════════════════════════ */
.chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;font-size:9px;font-weight:800;border-radius:8px;padding:1px 5px;margin-left:4px;min-width:16px;}
/* Layout */
.mc-layout{display:flex;height:calc(100vh - 58px - 120px);gap:0;min-height:400px;}
.mc-main{flex:1;display:flex;flex-direction:column;min-width:0;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;}
.mc-sidebar{width:240px;min-width:240px;margin-left:14px;display:flex;flex-direction:column;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;flex-shrink:0;}
/* Messages */
.mc-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}
.mc-empty{font-size:13px;color:var(--text-dim);text-align:center;padding:30px 0;}
/* Message bubble */
.mc-msg{display:flex;gap:9px;align-items:flex-start;}
.mc-msg.mine{flex-direction:row-reverse;}
.mc-msg.private .mc-bubble{background:#fef9ec;border:1.5px solid #f0e0a0;}
.mc-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px;}
.mc-bubble{max-width:72%;background:var(--bg);border:1.5px solid var(--border);border-radius:12px;padding:9px 12px;position:relative;}
.mc-msg.mine .mc-bubble{background:#eef2fb;border-color:#c5d4f0;}
.mc-bubble-meta{display:flex;align-items:center;gap:7px;margin-bottom:4px;}
.mc-sender{font-size:11.5px;font-weight:700;color:var(--text);}
.mc-time{font-size:10.5px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.mc-private-tag{font-size:9.5px;background:#fef3cd;color:#9a6200;padding:1px 7px;border-radius:8px;font-weight:700;}
.mc-body{font-size:13.5px;color:var(--text);line-height:1.55;}
.mc-body .mc-mention{color:var(--blue);font-weight:700;}
.mc-reply-ref{font-size:11.5px;color:var(--text-dim);background:var(--bg);border-left:3px solid var(--border);padding:4px 8px;border-radius:4px;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Attachment chip */
.mc-attachment{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:5px 10px;margin-top:7px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;transition:border-color 0.1s;}
.mc-attachment:hover{border-color:var(--blue);color:var(--blue);}
/* Message actions */
.mc-msg-actions{display:none;position:absolute;top:-14px;right:8px;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:2px 4px;gap:2px;display:none;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.mc-msg:hover .mc-msg-actions{display:flex;}
.mc-msg-action-btn{background:none;border:none;cursor:pointer;font-size:13px;padding:3px 5px;border-radius:5px;color:var(--text-dim);}
.mc-msg-action-btn:hover{background:var(--bg);color:var(--text);}
/* Composer */
.mc-composer{border-top:1px solid var(--border);padding:10px 12px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;}
.mc-reply-bar{display:flex;align-items:center;gap:8px;background:#f0f4ff;border-radius:7px;padding:5px 10px;font-size:12px;}
.mc-reply-label{font-weight:700;color:var(--blue);}
.mc-reply-preview{flex:1;color:var(--text-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mc-reply-cancel{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:13px;padding:0 2px;}
.mc-attach-preview{display:flex;flex-wrap:wrap;gap:6px;}
.mc-attach-chip{display:flex;align-items:center;gap:5px;background:#eef2fb;border:1.5px solid #c5d4f0;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600;color:var(--blue);}
.mc-attach-chip-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:11px;padding:0 2px;margin-left:2px;}
.mc-attach-chip-del:hover{color:var(--red);}
.mc-input-row{display:flex;align-items:flex-end;gap:8px;}
.mc-input-wrap{flex:1;position:relative;}
.mc-input{min-height:38px;max-height:120px;overflow-y:auto;padding:8px 11px;border:1.5px solid var(--border);border-radius:9px;font-size:13.5px;color:var(--text);line-height:1.5;outline:none;font-family:inherit;}
.mc-input:empty:before{content:attr(data-placeholder);color:var(--text-dim);pointer-events:none;}
.mc-input:focus{border-color:var(--blue);}
.mc-input.is-note{border-color:#f0e0a0;background:#fef9ec;}
.mc-mention-popup{position:absolute;bottom:calc(100% + 6px);left:0;background:#fff;border:1.5px solid var(--border);border-radius:9px;box-shadow:0 4px 16px rgba(0,0,0,0.1);min-width:200px;overflow:hidden;z-index:50;}
.mc-mention-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background 0.1s;}
.mc-mention-item:hover,.mc-mention-item.active{background:#eef2fb;}
.mc-mention-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;}
.mc-mention-name{font-size:13px;font-weight:600;color:var(--text);}
.mc-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.mc-action-btn{width:32px;height:32px;background:var(--bg);border:1.5px solid var(--border);border-radius:7px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all 0.1s;}
.mc-action-btn:hover{border-color:var(--blue);background:#eef2fb;}
.mc-note-btn.active{background:#fef9ec;border-color:#f0e0a0;}
.mc-send-btn{padding:7px 16px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background 0.15s;white-space:nowrap;}
.mc-send-btn:hover{background:#1a4085;}
.mc-note-indicator{font-size:11px;color:#9a6200;font-weight:600;}
/* Approvals sidebar */
.mc-sb-hdr{padding:12px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;color:var(--text);flex-shrink:0;}
.mc-approvals-list{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.mc-approval-card{border:1.5px solid var(--border);border-radius:9px;padding:10px 12px;background:#fff;}
.mc-approval-card.pending{border-color:#f0e0a0;background:#fefcf3;}
.mc-approval-card.approved{border-color:#a8dfc0;background:#f0fbf4;}
.mc-approval-card.rejected{border-color:#f0b8b8;background:#fdf3f3;}
.mc-approval-doc{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mc-approval-meta{font-size:11px;color:var(--text-dim);margin-bottom:6px;}
.mc-approval-status{font-size:10px;font-weight:800;padding:2px 8px;border-radius:8px;display:inline-block;}
.mc-approval-status.pending{background:#fef3cd;color:#9a6200;}
.mc-approval-status.approved{background:#dcf5e8;color:var(--green);}
.mc-approval-status.rejected{background:#fde8e8;color:var(--red);}
.mc-approval-respond-btn{margin-top:7px;width:100%;padding:5px;background:var(--blue);color:#fff;border:none;border-radius:7px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.mc-approval-respond-btn:hover{background:#1a4085;}
.mc-request-approval-btn{margin:10px 12px;padding:8px;background:var(--bg);border:1.5px dashed var(--border);border-radius:8px;font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all 0.1s;flex-shrink:0;}
.mc-request-approval-btn:hover{border-color:var(--blue);color:var(--blue);background:#eef2fb;}
/* Global chat bubble */
#gc-bubble{position:fixed;bottom:24px;right:24px;width:48px;height:48px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;box-shadow:0 4px 16px rgba(30,77,155,0.35);z-index:150;transition:transform 0.15s,background 0.15s;user-select:none;}
#gc-bubble:hover{transform:scale(1.08);background:#1a4085;}
.gc-bubble-badge{position:absolute;top:-3px;right:-3px;background:var(--orange);color:#fff;font-size:9px;font-weight:800;border-radius:8px;padding:1px 5px;min-width:16px;text-align:center;}
.gc-panel{position:fixed;bottom:82px;right:24px;width:360px;max-height:520px;background:#fff;border:1.5px solid var(--border);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.14);z-index:149;display:none;flex-direction:column;overflow:hidden;}
.gc-panel.open{display:flex;}
.gc-hdr{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.gc-hdr-title{font-size:14px;font-weight:700;color:var(--text);}
.gc-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-dim);padding:2px 6px;}
.gc-close:hover{color:var(--red);}
.gc-feed{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.gc-item{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:9px;border:1.5px solid var(--border);cursor:pointer;transition:border-color 0.1s;background:#fff;}
.gc-item:hover{border-color:#c5d4f0;background:#f7f9fc;}
.gc-item-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px;}
.gc-item-body{flex:1;min-width:0;}
.gc-item-matter{font-size:10.5px;font-weight:700;color:var(--blue);margin-bottom:1px;}
.gc-item-text{font-size:12.5px;color:var(--text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gc-item-time{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;flex-shrink:0;margin-top:2px;}

/* ═══════════════════════════════════════════════════════
   HOME PAGE
   ═══════════════════════════════════════════════════════ */
#view-home.active{display:block;padding:0;overflow-y:auto;}
/* ── HOME DASHBOARD ── */
.hp-wrap{padding:0;display:flex;flex-direction:column;min-height:100%;background:var(--bg);}

/* Header */
.hp-header{background:linear-gradient(135deg,#1e4d9b 0%,#16397a 100%);color:#fff;flex-shrink:0;position:relative;overflow:hidden;}
.hp-header::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
/* Info strip */
.hp-info-strip{display:flex;align-items:center;height:30px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,0.1);position:relative;overflow:hidden;}
.hp-asx{display:flex;align-items:center;gap:12px;flex-shrink:0;padding-right:14px;border-right:1px solid rgba(255,255,255,0.12);}
.hp-asx-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.4);font-family:'JetBrains Mono',monospace;}
.hp-asx-items{display:flex;gap:12px;}
.hp-asx-item{display:flex;align-items:center;gap:4px;}
.hp-asx-sym{font-size:10px;font-weight:700;color:rgba(255,255,255,0.7);font-family:'JetBrains Mono',monospace;}
.hp-asx-val{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;}
.hp-asx-chg{font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px;font-family:'JetBrains Mono',monospace;}
.asx-up{color:#4ade80;}.asx-dn{color:#f87171;}
.asx-up-bg{background:rgba(74,222,128,0.15);color:#4ade80;}
.asx-dn-bg{background:rgba(248,113,113,0.15);color:#f87171;}
.hp-news-wrap{flex:1;overflow:hidden;margin:0 14px;position:relative;}
.hp-news-wrap::before,.hp-news-wrap::after{content:'';position:absolute;top:0;bottom:0;width:30px;z-index:2;pointer-events:none;}
.hp-news-wrap::before{left:0;background:linear-gradient(90deg,#1a3d82 0%,transparent 100%);}
.hp-news-wrap::after{right:0;background:linear-gradient(-90deg,#1a3d82 0%,transparent 100%);}
.hp-news-ticker{display:flex;align-items:center;white-space:nowrap;animation:hpTicker 80s linear infinite;}
.hp-news-ticker:hover{animation-play-state:paused;}
@keyframes hpTicker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.hp-news-item{display:inline-flex;align-items:center;gap:7px;padding:0 22px 0 0;font-size:10.5px;color:rgba(255,255,255,0.6);}
.hp-news-item::before{content:'●';color:rgba(255,255,255,0.2);font-size:5px;flex-shrink:0;}
.hp-news-tag{font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:1px 5px;border-radius:3px;font-family:'JetBrains Mono',monospace;flex-shrink:0;}
.hp-tag-legal{background:rgba(96,165,250,0.2);color:#93c5fd;}
.hp-tag-courts{background:rgba(167,139,250,0.2);color:#c4b5fd;}
.hp-tag-market{background:rgba(52,211,153,0.2);color:#6ee7b7;}
.hp-tag-govt{background:rgba(251,191,36,0.2);color:#fcd34d;}
.hp-tag-alert{background:rgba(248,113,113,0.2);color:#fca5a5;}
.hp-tag-firm{background:rgba(249,168,212,0.2);color:#f9a8d4;}
.hp-strip-right{flex-shrink:0;padding-left:14px;border-left:1px solid rgba(255,255,255,0.12);}
.hp-strip-time{font-size:10.5px;font-weight:700;color:rgba(255,255,255,0.65);font-family:'JetBrains Mono',monospace;}
/* Main row */
.hp-main-row{display:flex;align-items:center;padding:14px 24px 12px;gap:16px;position:relative;}
.hp-greeting-block{flex-shrink:0;}
.hp-greeting{font-family:'Instrument Serif',serif;font-size:23px;color:#fff;line-height:1.1;margin-bottom:2px;}
.hp-date{font-size:11.5px;color:rgba(255,255,255,0.5);}
.hp-vdiv{width:1px;height:34px;background:rgba(255,255,255,0.12);flex-shrink:0;}
/* Stats horizontal */
.hp-stats{display:flex;gap:7px;flex-shrink:0;}
.hp-hstat{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:5px 11px;cursor:default;transition:background .15s;}
.hp-hstat:hover{background:rgba(255,255,255,0.16);}
.hp-hstat-val{font-size:16px;font-weight:800;font-family:'JetBrains Mono',monospace;line-height:1;color:#fff;}
.hp-hstat-lbl{font-size:9.5px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.07em;font-weight:600;}
/* Weather */
.hp-weather-row{display:flex;gap:6px;align-items:center;flex:1;overflow:hidden;}
.hp-weather-card{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:5px 10px;flex-shrink:0;cursor:default;transition:background .15s;position:relative;}
.hp-weather-card:hover{background:rgba(255,255,255,0.14);}
.hp-weather-card:hover .hp-weather-tooltip{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.hp-weather-icon{font-size:17px;line-height:1;}
.hp-weather-city{font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:rgba(255,255,255,0.45);font-family:'JetBrains Mono',monospace;}
.hp-weather-temp{font-size:14px;font-weight:800;color:#fff;font-family:'JetBrains Mono',monospace;line-height:1.1;}
.hp-weather-tooltip{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%) translateY(-4px);background:#0f1e3d;border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:9px 11px;min-width:130px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.hp-weather-tooltip::before{content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid rgba(255,255,255,0.15);}
.hp-wtt-row{display:flex;justify-content:space-between;gap:14px;margin-bottom:3px;font-size:10.5px;}
.hp-wtt-lbl{color:rgba(255,255,255,0.4);}
.hp-wtt-val{font-weight:700;color:#fff;font-family:'JetBrains Mono',monospace;}
/* Header right */
.hp-header-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin-left:auto;}
.hp-customise-btn{padding:6px 14px;background:rgba(255,255,255,0.13);border:1px solid rgba(255,255,255,0.25);border-radius:7px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}
.hp-customise-btn:hover{background:rgba(255,255,255,0.22);}

/* Grid */
.hp-grid{padding:20px 28px 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;flex:1;align-content:start;}
@media(max-width:1200px){.hp-grid{grid-template-columns:1fr 1fr;}}
.hp-widget{background:#fff;border-radius:12px;border:1.5px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s;}
.hp-widget:hover{box-shadow:0 4px 16px rgba(15,31,61,.07);}
.hp-widget.wide{grid-column:span 2;}
.hp-widget.full{grid-column:span 3;}
.hp-widget-hdr{display:flex;align-items:center;gap:9px;padding:12px 16px 10px;border-bottom:1px solid var(--border);flex-shrink:0;}
.hp-widget-icon{font-size:15px;flex-shrink:0;}
.hp-widget-title{font-size:12.5px;font-weight:700;color:var(--text);flex:1;}
.hp-widget-action{font-size:11.5px;font-weight:600;color:var(--blue);background:none;border:none;cursor:pointer;font-family:inherit;padding:2px 6px;border-radius:5px;}
.hp-widget-action:hover{background:var(--blue-light);}
.hp-widget-body{padding:12px 16px;flex:1;overflow:hidden;}

/* Matter rows */
.hp-matter-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity .1s;}
.hp-matter-row:last-child{border-bottom:none;}
.hp-matter-row:hover{opacity:.72;}
.hp-matter-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.hp-matter-name{font-size:12.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-matter-client{font-size:10.5px;color:var(--text-dim);}
.hp-matter-date{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;flex-shrink:0;}

/* Quick actions */
.hp-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.hp-qa-btn{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;cursor:pointer;background:#fff;font-family:inherit;transition:all .15s;text-align:left;}
.hp-qa-btn:hover{border-color:var(--blue);background:var(--blue-light);}
.hp-qa-btn-icon{font-size:17px;flex-shrink:0;}
.hp-qa-btn-label{font-size:12px;font-weight:700;color:var(--text);line-height:1.2;}
.hp-qa-btn-sub{font-size:10px;color:var(--text-dim);margin-top:1px;}

/* Docs */
.hp-doc-row{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.hp-doc-row:last-child{border-bottom:none;}
.hp-doc-row:hover .hp-doc-name{color:var(--blue);}
.hp-doc-ext{font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px;flex-shrink:0;}
.hp-doc-name{font-size:12.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-doc-matter{font-size:10.5px;color:var(--text-dim);}
.hp-doc-date{font-size:10px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;flex-shrink:0;}

/* Tasks */
.hp-task-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);}
.hp-task-row:last-child{border-bottom:none;}
.hp-task-cb{width:14px;height:14px;cursor:pointer;accent-color:var(--blue);flex-shrink:0;}
.hp-task-text{font-size:12.5px;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-task-due{font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;flex-shrink:0;}
.hp-task-due.due-ok{background:#edf7f2;color:var(--green);}
.hp-task-due.due-soon{background:#fff8e1;color:#e07b00;}
.hp-task-due.due-overdue{background:#fde8e8;color:var(--red);}

/* Thread */
.hp-thread-row{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.hp-thread-row:last-child{border-bottom:none;}
.hp-thread-icon{font-size:14px;flex-shrink:0;}
.hp-thread-name{font-size:12.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-thread-meta{font-size:10px;color:var(--text-dim);text-align:right;flex-shrink:0;font-family:'JetBrains Mono',monospace;}

/* Updates */
.hp-update-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.hp-update-row:last-child{border-bottom:none;}
.hp-update-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:5px;}
.hp-update-title{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:2px;}
.hp-update-desc{font-size:11.5px;color:var(--text-mid);line-height:1.45;}
.hp-update-date{font-size:10px;color:var(--text-dim);margin-top:3px;font-family:'JetBrains Mono',monospace;}

/* Tip */
.hp-tip-tag{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
.hp-tip-body{font-size:12.5px;color:var(--text-mid);line-height:1.65;}

/* Empty */
.hp-empty-msg{font-size:12.5px;color:var(--text-dim);padding:14px 0;text-align:center;}

/* ── CHART WIDGETS ── */
.hp-chart-tabs{display:flex;gap:0;margin-bottom:12px;border:1.5px solid var(--border);border-radius:7px;overflow:hidden;}
.hp-chart-tab{flex:1;padding:5px 0;font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);background:none;border:none;cursor:pointer;font-family:inherit;transition:all .12s;}
.hp-chart-tab.active{background:var(--blue);color:white;}
.hp-bar-wrap{display:flex;align-items:flex-end;gap:4px;height:80px;margin-bottom:6px;}
.hp-bar{flex:1;border-radius:4px 4px 0 0;transition:height .3s ease;min-width:0;cursor:default;position:relative;}
.hp-bar:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--text);color:white;font-size:10px;padding:2px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;font-family:'JetBrains Mono',monospace;}
.hp-bar-labels{display:flex;gap:4px;}
.hp-bar-label{flex:1;text-align:center;font-size:9.5px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── MATTER ACTIVITY CHART ── */
.hp-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.hp-mini-stat{background:var(--bg);border-radius:8px;padding:10px 12px;}
.hp-mini-stat-val{font-size:20px;font-weight:800;color:var(--text);font-family:'JetBrains Mono',monospace;line-height:1;}
.hp-mini-stat-lbl{font-size:10px;color:var(--text-dim);margin-top:2px;font-weight:600;}
.hp-mini-stat-sub{font-size:10px;color:var(--green);margin-top:1px;font-weight:700;}

/* ── DONUT CHART ── */
.hp-donut-wrap{display:flex;align-items:center;gap:16px;}
.hp-donut-legend{display:flex;flex-direction:column;gap:6px;flex:1;}
.hp-donut-leg-item{display:flex;align-items:center;gap:7px;font-size:11.5px;}
.hp-donut-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.hp-donut-leg-label{color:var(--text-mid);flex:1;}
.hp-donut-leg-val{color:var(--text);font-weight:700;font-family:'JetBrains Mono',monospace;font-size:11px;}

/* ── FEES WIDGET ── */
.hp-fees-period-row{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:8px;width:fit-content;}
.hp-fees-period-btn{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);background:none;border:none;cursor:pointer;transition:all .12s;white-space:nowrap;}
.hp-fees-period-btn.active{background:var(--white);color:var(--blue);box-shadow:0 1px 4px rgba(0,0,50,.09);}
/* Summary bar */
.hp-fees-summary-bar{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 -16px;background:var(--surface);}
.hp-fees-summary-cell{flex:1;padding:11px 16px;border-right:1px solid var(--border);}
.hp-fees-summary-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:2px;}
.hp-fees-summary-val{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.1;}
.hp-fees-summary-sub{font-size:10.5px;color:var(--text-dim);margin-top:1px;}
/* Two-col body */
.hp-fees-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 -16px;}
.hp-fees-earner-col{padding:14px 16px;border-right:1px solid var(--border);}
.hp-fees-entries-col{padding:14px 16px;}
.hp-fees-col-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
/* Earner rows */
.hp-fees-earner-row{padding:9px 0;border-bottom:1px solid var(--border);}
.hp-fees-earner-row:last-child{border-bottom:none;}
.hp-fees-earner-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
.hp-fees-earner-amt{font-size:15px;font-weight:800;color:var(--text);}
.hp-fees-earner-sub{font-size:10.5px;color:var(--text-dim);margin-top:1px;}
.hp-fees-progress-track{height:5px;background:var(--border);border-radius:6px;overflow:hidden;margin-top:6px;}
.hp-fees-progress-fill{height:100%;border-radius:6px;transition:width .4s ease;}
.hp-fees-budget-label{font-size:10px;color:var(--text-dim);margin-top:3px;display:flex;justify-content:space-between;}
/* Entry rows */
.hp-fees-entries-list{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto;}
.hp-fees-entries-list::-webkit-scrollbar{width:3px;}
.hp-fees-entries-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
.hp-entry-row{display:flex;align-items:flex-start;gap:9px;padding:7px 6px;border-radius:8px;cursor:pointer;transition:background .1s;}
.hp-entry-row:hover{background:var(--bg);}
.hp-entry-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.hp-entry-info{flex:1;min-width:0;}
.hp-entry-matter{font-size:11.5px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hp-entry-desc{font-size:10.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.hp-entry-chip{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;margin-top:3px;}
.hp-entry-chip-today{background:var(--blue-light);color:var(--blue);}
.hp-entry-chip-yest{background:var(--surface);color:var(--text-dim);border:1px solid var(--border);}
.hp-entry-meta{text-align:right;flex-shrink:0;}
.hp-entry-amt{font-size:12px;font-weight:700;color:var(--text);}
.hp-entry-dur{font-size:10px;color:var(--text-dim);margin-top:1px;}
/* Footer */
.hp-fees-footer{display:flex;align-items:center;gap:16px;padding:11px 16px;border-top:1px solid var(--border);background:var(--surface);margin:0 -16px -16px;border-radius:0 0 12px 12px;}
.hp-fees-billed-wrap{flex:1;}
.hp-fees-billed-labels{display:flex;justify-content:space-between;font-size:10.5px;margin-bottom:5px;color:var(--text-mid);font-weight:600;}
.hp-fees-billed-labels em{font-style:normal;color:var(--text-dim);font-weight:400;}
.hp-fees-billed-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden;display:flex;}
.hp-fees-footer-total{text-align:right;flex-shrink:0;}
.hp-fees-total-val{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em;}
.hp-fees-total-lbl{font-size:10.5px;color:var(--text-dim);}
/* keep old names as fallback */
.hp-fees-total-row{display:flex;align-items:baseline;gap:10px;padding:12px 0 4px;border-top:1.5px solid var(--border);margin-top:4px;}

/* ── CUSTOMISE PANEL ── */
.hp-customise-overlay{position:fixed;inset:0;background:rgba(15,31,61,.35);z-index:400;display:flex;align-items:flex-start;justify-content:flex-end;}
.hp-customise-panel{width:320px;background:#fff;height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(15,31,61,.12);}
.hp-cp-hdr{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.hp-cp-title{font-size:14px;font-weight:700;color:var(--text);}
.hp-cp-close{background:none;border:none;font-size:18px;color:var(--text-dim);cursor:pointer;}
.hp-cp-body{flex:1;overflow-y:auto;padding:16px 20px;}
.hp-cp-section{margin-bottom:20px;}
.hp-cp-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
.hp-cp-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;margin-bottom:7px;cursor:grab;user-select:none;background:#fff;transition:border-color .12s;}
.hp-cp-item:hover{border-color:var(--border-mid);}
.hp-cp-item.dragging{opacity:.45;}
.hp-cp-drag{color:var(--text-dim);font-size:14px;cursor:grab;}
.hp-cp-item-icon{font-size:16px;}
.hp-cp-item-name{font-size:13px;font-weight:600;color:var(--text);flex:1;}
.hp-cp-toggle{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0;}
.hp-cp-toggle input{opacity:0;width:0;height:0;}
.hp-cp-toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:18px;transition:.2s;cursor:pointer;}
.hp-cp-toggle-slider:before{content:'';position:absolute;width:12px;height:12px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;}
.hp-cp-toggle input:checked + .hp-cp-toggle-slider{background:var(--blue);}
.hp-cp-toggle input:checked + .hp-cp-toggle-slider:before{transform:translateX(14px);}
.hp-cp-footer{padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;}
.hp-cp-item.drag-over{border-color:var(--blue);background:var(--blue-light);}

/* ═══════════════════════════════════════════════════════
   PHONE CONTACTS MODULE
   ═══════════════════════════════════════════════════════ */
#view-phone-contacts.active{display:flex !important;padding:0;height:calc(100vh - 58px);overflow:hidden;}
.pc-layout{display:flex;width:100%;height:100%;overflow:hidden;}
.pc-sidebar{width:248px;min-width:248px;display:flex;flex-direction:column;gap:0;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg);}
.pc-main{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:0;}
.pc-sb-card{border-bottom:1px solid var(--border);}
.pc-sb-hdr{padding:10px 14px;font-size:11px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--bg);}
.pc-nav-item{display:flex;align-items:center;gap:9px;padding:10px 14px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-mid);border-bottom:1px solid var(--border);transition:all .12s;position:relative;}
.pc-nav-item:hover{background:var(--bg2);color:var(--text);}
.pc-nav-item.active{background:var(--blue-light);color:var(--blue);}
.pc-nav-item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);border-radius:0 3px 3px 0;}
.pc-nav-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.pc-nav-badge{margin-left:auto;background:var(--orange);color:white;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:10px;}
.pc-nav-badge.blue{background:var(--blue);}
.pc-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);}
.pc-stat{background:var(--white);padding:10px 12px;}
.pc-stat-val{font-size:18px;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--text);}
.pc-stat-val.orange{color:var(--orange);}
.pc-stat-val.purple{color:var(--purple);}
.pc-stat-val.green{color:var(--green);}
.pc-stat-lbl{font-size:9.5px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.pc-staff-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);}
.pc-staff-row:last-child{border-bottom:none;}
.pc-staff-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;color:white;flex-shrink:0;}
.pc-staff-name{font-size:11.5px;font-weight:600;color:var(--text);flex:1;}
.pc-staff-status{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:8px;}
.pcs-avail{background:var(--green-bg);color:var(--green);}
.pcs-busy{background:var(--amber-bg);color:var(--amber);}
.pcs-away{background:var(--bg2);color:var(--text-dim);}
/* Panel */
.pc-panel{display:flex;flex-direction:column;gap:14px;}
.pc-section-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
.pc-divider{height:1px;background:var(--border);margin:14px 0;}
/* Urgency */
.pc-urgency-btn{flex:1;padding:8px 6px;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;font-size:11.5px;font-weight:700;font-family:inherit;transition:all .12s;background:var(--white);color:var(--text-dim);}
.pc-urgency-btn:hover{border-color:var(--border-mid);}
.pc-urg-low{background:#f0fdf4;border-color:var(--green);color:var(--green);}
.pc-urg-normal{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;}
.pc-urg-urgent{background:var(--amber-bg);border-color:var(--amber);color:var(--amber);}
.pc-urg-critical{background:var(--red-bg);border-color:var(--red);color:var(--red);}
/* Allocation grid */
.pc-alloc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:7px;}
.pc-alloc-btn{padding:9px 6px;border-radius:9px;border:1.5px solid var(--border);cursor:pointer;background:var(--white);font-family:inherit;transition:all .12s;text-align:center;}
.pc-alloc-btn:hover{border-color:var(--blue-mid);background:var(--blue-light);}
.pc-alloc-btn.selected{border-color:var(--blue);background:var(--blue-light);}
.pc-alloc-av{width:32px;height:32px;border-radius:50%;margin:0 auto 5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:white;}
.pc-alloc-name{font-size:11px;font-weight:700;color:var(--text);}
.pc-alloc-role{font-size:9.5px;color:var(--text-dim);}
.pc-alloc-avail{font-size:9px;font-weight:700;color:var(--green);margin-top:2px;}
.pc-alloc-busy{font-size:9px;font-weight:700;color:var(--amber);margin-top:2px;}
/* Practice area grid */
.pc-pa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.pc-pa-btn{padding:9px 6px;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;background:var(--white);font-family:inherit;transition:all .12s;text-align:center;}
.pc-pa-btn:hover{border-color:var(--blue-mid);}
.pc-pa-btn.selected{border-color:var(--blue);background:var(--blue-light);}
.pc-pa-icon{font-size:18px;margin-bottom:2px;}
.pc-pa-label{font-size:10.5px;font-weight:700;color:var(--text);}
/* Inbox */
.pc-inbox-item{display:flex;align-items:flex-start;gap:11px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;position:relative;}
.pc-inbox-item:last-child{border-bottom:none;}
.pc-inbox-item:hover{background:var(--bg);}
.pc-inbox-item.unread::before{content:'';position:absolute;left:6px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--blue);}
.pc-inbox-type{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;}
.pc-inbox-msg-type{background:#eff6ff;}
.pc-inbox-enq-type{background:var(--purple-bg);}
.pc-inbox-body{flex:1;min-width:0;}
.pc-inbox-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px;}
.pc-inbox-name{font-size:13px;font-weight:700;color:var(--text);}
.pc-inbox-time{font-size:10.5px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;flex-shrink:0;}
.pc-inbox-sub{font-size:12px;color:var(--text-mid);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pc-inbox-tags{display:flex;gap:5px;flex-wrap:wrap;}
.pc-tag{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:5px;letter-spacing:.04em;}
.pc-tag-msg{background:#eff6ff;color:#1d4ed8;}
.pc-tag-enq{background:var(--purple-bg);color:var(--purple);}
.pc-tag-urgent{background:var(--red-bg);color:var(--red);}
.pc-tag-normal{background:var(--bg2);color:var(--text-dim);}
.pc-tag-pending{background:var(--amber-bg);color:var(--amber);}
.pc-tag-done{background:var(--green-bg);color:var(--green);}
.pc-tag-pa{background:var(--blue-light);color:var(--blue);}
.pc-tag-assigned{background:var(--orange-bg);color:var(--orange);}
.pc-inbox-section{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);padding:7px 16px;background:var(--bg);border-bottom:1px solid var(--border);}

/* Admin header config card */
.adm-hdr-tab{padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--text-dim);background:none;border:none;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;}
.adm-hdr-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.adm-hdr-tab:hover:not(.active){color:var(--text-mid);}
.adm-hdr-office-row,.adm-asx-row,.adm-news-row{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bg);border-radius:8px;border:1.5px solid var(--border);}
.adm-hdr-drag{color:var(--text-dim);cursor:grab;font-size:14px;flex-shrink:0;}
.adm-hdr-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 5px;border-radius:4px;flex-shrink:0;}
.adm-hdr-del:hover{color:var(--red);background:var(--red-bg);}

/* ═══════════════════════════════════════════════════════
   EBRIEF BUILDER
   ═══════════════════════════════════════════════════════ */
.eb-layout{display:flex !important;height:calc(100vh - 58px);overflow:hidden;}
#view-ebrief-home.active{display:block;padding:0;}
/* Sidebar */
.eb-sidebar{width:270px;min-width:270px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;}
.eb-sb-top{padding:14px 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0;}
.eb-sb-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
.eb-title-input{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);outline:none;box-sizing:border-box;margin-top:4px;}
.eb-title-input:focus{border-color:var(--blue);}
.eb-saved-list{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:3px;}
.eb-saved-empty{font-size:12px;color:var(--text-dim);text-align:center;padding:20px 0;}
.eb-saved-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:all 0.1s;}
.eb-saved-item:hover{background:#f0f4ff;border-color:#c5d4f0;}
.eb-saved-item.active{background:#eef2fb;border-color:var(--blue);}
.eb-saved-icon{font-size:18px;flex-shrink:0;}
.eb-saved-info{flex:1;min-width:0;}
.eb-saved-name{font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.eb-saved-meta{font-size:10.5px;color:var(--text-dim);margin-top:1px;display:flex;gap:6px;align-items:center;}
.eb-saved-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:12px;padding:2px 4px;border-radius:4px;opacity:0;flex-shrink:0;}
.eb-saved-item:hover .eb-saved-del{opacity:1;}
.eb-saved-del:hover{color:var(--red);}
.eb-status-chip{font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:8px;}
.eb-status-draft{background:#fef9ec;color:var(--amber);}
.eb-status-ready{background:#edf7f2;color:var(--green);}
.eb-sb-footer{padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:7px;}
.eb-new-btn{width:100%;padding:9px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}
.eb-new-btn:hover{background:#1a4085;}
/* Main */
.eb-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
/* Steps nav */
.eb-steps{display:flex;align-items:center;padding:0 24px;background:#fff;border-bottom:1px solid var(--border);height:50px;gap:0;flex-shrink:0;}
.eb-step{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;font-size:13px;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;user-select:none;}
.eb-step:hover{color:var(--text);}
.eb-step.active{color:var(--blue);border-bottom-color:var(--blue);}
.eb-step.done{color:var(--green);}
.eb-step-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--bg);color:var(--text-dim);flex-shrink:0;}
.eb-step.active .eb-step-num{background:var(--blue);color:#fff;}
.eb-step.done .eb-step-num{background:var(--green);color:#fff;}
.eb-step-sep{color:var(--border);font-size:16px;flex-shrink:0;}
/* Step panels */
.eb-step-panel{display:none;flex:1;overflow-y:auto;flex-direction:column;}
.eb-step-panel.active{display:flex;}
/* ── Step 1: Structure ── */
.eb-structure-wrap{padding:24px 28px;display:flex;flex-direction:column;gap:12px;max-width:720px;}
.eb-section-card{background:#fff;border-radius:12px;border:1.5px solid var(--border);overflow:hidden;transition:border-color 0.15s;}
.eb-section-card.locked{opacity:0.75;}
.eb-section-card:hover{border-color:#c5d4f0;}
.eb-section-hdr{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;}
.eb-drag-handle{color:var(--text-dim);cursor:grab;font-size:14px;opacity:0.4;flex-shrink:0;user-select:none;}
.eb-section-card:hover .eb-drag-handle{opacity:1;}
.eb-section-icon{font-size:18px;flex-shrink:0;}
.eb-section-name-input{flex:1;border:none;outline:none;font-size:14px;font-weight:700;color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;background:transparent;}
.eb-section-name-input:disabled{color:var(--text-mid);}
.eb-section-type-badge{font-size:10px;font-weight:700;padding:2px 9px;border-radius:10px;background:var(--bg);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;}
.eb-section-del{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:15px;padding:3px 6px;border-radius:5px;opacity:0;flex-shrink:0;}
.eb-section-card:hover .eb-section-del{opacity:1;}
.eb-section-del:hover{color:var(--red);}
.eb-add-section-bar{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0;}
.eb-add-type-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1.5px dashed var(--border);border-radius:8px;font-size:12.5px;font-weight:600;color:var(--text-mid);cursor:pointer;background:#fff;font-family:inherit;transition:all 0.15s;}
.eb-add-type-btn:hover{border-color:var(--blue);color:var(--blue);background:#eef2fb;}
/* ── Step 2: Content ── */
.eb-content-wrap{display:flex;height:100%;}
.eb-content-nav{width:210px;min-width:210px;border-right:1px solid var(--border);background:#fff;overflow-y:auto;padding:10px 0;flex-shrink:0;}
.eb-content-nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:all 0.1s;border-left:3px solid transparent;}
.eb-content-nav-item:hover{background:#f7f9fc;color:var(--text);}
.eb-content-nav-item.active{background:#eef2fb;color:var(--blue);border-left-color:var(--blue);}
.eb-content-nav-icon{font-size:15px;flex-shrink:0;}
.eb-content-nav-done{margin-left:auto;font-size:12px;color:var(--green);}
.eb-content-panel{flex:1;overflow-y:auto;padding:24px 28px;}
.eb-content-section-title{font-family:'Instrument Serif',serif;font-size:20px;color:var(--text);margin-bottom:4px;}
.eb-content-section-sub{font-size:13px;color:var(--text-dim);margin-bottom:20px;}
/* Cover page form */
.eb-field-group{margin-bottom:16px;}
.eb-field-label{font-size:11.5px;font-weight:700;color:var(--text-mid);margin-bottom:5px;display:block;}
.eb-field-input{width:100%;padding:8px 11px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);outline:none;box-sizing:border-box;background:#fff;}
.eb-field-input:focus{border-color:var(--blue);}
.eb-field-textarea{min-height:90px;resize:vertical;line-height:1.55;}
/* Doc picker */
.eb-doc-picker{display:flex;flex-direction:column;gap:4px;max-height:420px;overflow-y:auto;border:1.5px solid var(--border);border-radius:9px;padding:8px;}
.eb-doc-pick-folder{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 3px;font-family:'JetBrains Mono',monospace;}
.eb-doc-pick-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:all 0.1s;}
.eb-doc-pick-item:hover{border-color:#c5d4f0;background:#f7f9fc;}
.eb-doc-pick-item.selected{border-color:var(--blue);background:#eef2fb;}
.eb-doc-pick-cb{accent-color:var(--blue);flex-shrink:0;}
.eb-doc-pick-name{flex:1;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.eb-doc-pick-meta{font-size:10px;color:var(--text-dim);}
/* Memo form */
.eb-memo-field{margin-bottom:16px;}
.eb-memo-label{font-size:12px;font-weight:700;color:var(--text-mid);margin-bottom:5px;display:flex;align-items:center;gap:8px;}
.eb-memo-textarea{width:100%;min-height:80px;padding:9px 11px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);outline:none;box-sizing:border-box;resize:vertical;line-height:1.6;}
.eb-memo-textarea:focus{border-color:var(--blue);}
.eb-ai-draft-btn{display:flex;align-items:center;gap:7px;padding:8px 16px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;margin-bottom:12px;}
.eb-ai-draft-btn:hover{background:#1a4085;}
.eb-ai-draft-btn:disabled{opacity:0.5;cursor:default;}
.eb-memo-result{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;font-size:13.5px;line-height:1.7;color:var(--text);min-height:120px;white-space:pre-wrap;outline:none;}
.eb-memo-result:focus{border-color:var(--blue);}
/* Chronology picker */
.eb-chron-pick-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:all 0.1s;margin-bottom:6px;}
.eb-chron-pick-item:hover{border-color:#c5d4f0;}
.eb-chron-pick-item.selected{border-color:var(--blue);background:#eef2fb;}
/* ── Step 3: Export ── */
.eb-export-wrap{padding:28px 32px;max-width:680px;display:flex;flex-direction:column;gap:20px;}
.eb-preview-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;}
.eb-preview-hdr{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.eb-preview-hdr-title{font-size:14px;font-weight:700;color:var(--text);flex:1;font-family:'Instrument Serif',serif;}
.eb-preview-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
.eb-preview-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:7px;background:var(--bg);font-size:13px;}
.eb-preview-row-icon{font-size:15px;flex-shrink:0;}
.eb-preview-row-name{font-weight:600;color:var(--text);flex:1;}
.eb-preview-row-count{font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.eb-preview-row-pg{font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;min-width:48px;text-align:right;}
.eb-export-btns{display:flex;gap:12px;flex-wrap:wrap;}
.eb-export-btn{display:flex;align-items:center;gap:9px;padding:14px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;border:2px solid;transition:all 0.15s;}
.eb-export-btn.html{background:var(--blue);color:#fff;border-color:var(--blue);}
.eb-export-btn.html:hover{background:#1a4085;border-color:#1a4085;}
.eb-export-btn.pdf{background:#fff;color:var(--text);border-color:var(--border);}
.eb-export-btn.pdf:hover{border-color:var(--blue);color:var(--blue);}
.eb-export-btn:disabled{opacity:0.45;cursor:default;}
.eb-export-note{font-size:12px;color:var(--text-dim);line-height:1.6;}
/* Empty state */
/* eBrief quick-start screen */
.eb-qs{flex:1;overflow-y:auto;background:var(--bg);}
.eb-qs-nomatter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 40px;text-align:center;height:100%;}
.eb-empty-icon{font-size:52px;opacity:0.25;}
.eb-empty-title{font-size:18px;font-weight:700;color:var(--text-mid);font-family:'Instrument Serif',serif;}
.eb-empty-sub{font-size:13.5px;color:var(--text-dim);line-height:1.65;max-width:340px;}
.eb-qs-body{display:flex;flex-direction:column;gap:0;padding:28px 32px 40px;max-width:820px;width:100%;margin:0 auto;}
.eb-qs-matter-banner{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:28px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 4px rgba(0,0,0,.05);}
.eb-qs-banner-ref{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--blue);background:var(--blue-light,#eef2fb);border:1.5px solid var(--blue-mid,#c5d4f0);padding:3px 9px;border-radius:6px;flex-shrink:0;white-space:nowrap;}
.eb-qs-banner-name{font-size:15px;font-weight:700;color:var(--text);font-family:'Instrument Serif',serif;flex:1;}
.eb-qs-banner-meta{font-size:11.5px;color:var(--text-dim);flex-shrink:0;}
.eb-qs-section{margin-bottom:24px;}
.eb-qs-section-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
/* Recent briefs */
.eb-qs-recent-list{display:flex;flex-direction:column;gap:6px;}
.eb-qs-recent-item{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .12s;}
.eb-qs-recent-item:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(52,97,209,.10);}
.eb-qs-recent-icon{font-size:20px;flex-shrink:0;}
.eb-qs-recent-name{font-size:13.5px;font-weight:700;color:var(--text);}
.eb-qs-recent-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;display:flex;gap:6px;align-items:center;}
.eb-qs-recent-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;}
.eb-qs-recent-badge.draft{background:var(--amber-bg,#fef9ec);color:var(--amber,#c47d0e);}
.eb-qs-recent-badge.ready{background:var(--green-bg,#edf7f2);color:var(--green,#1a9e5c);}
.eb-qs-recent-arrow{margin-left:auto;color:var(--text-dim);font-size:16px;flex-shrink:0;}
/* Templates grid */
.eb-qs-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.eb-qs-tpl{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:16px 14px;cursor:pointer;transition:all .12s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;}
.eb-qs-tpl:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(52,97,209,.12);transform:translateY(-1px);}
.eb-qs-tpl-icon{font-size:24px;}
.eb-qs-tpl-name{font-size:12.5px;font-weight:700;color:var(--text);}
.eb-qs-tpl-meta{font-size:10.5px;color:var(--text-dim);}
/* Blank brief button */
.eb-qs-tpl-prompt{font-size:12px;color:var(--text-dim);margin-bottom:10px;padding:7px 10px;background:#fff;border:1.5px dashed var(--border);border-radius:8px;text-align:center;}
.eb-qs-templates.locked .eb-qs-tpl{opacity:.45;pointer-events:none;filter:grayscale(.3);}
.eb-qs-blank-btn{background:none;border:1.5px dashed var(--border);border-radius:9px;padding:10px 24px;font-size:12.5px;font-weight:700;color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .15s;}
.eb-qs-blank-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light,#eef2fb);}

/* ─── Matter Picker ──────────────────────────────────────────────────────── */
.mp-wrap{position:relative;width:100%;}
.mp-input{width:100%;padding:7px 10px 7px 30px;border:1.5px solid var(--border);border-radius:8px;font-size:12.5px;font-family:inherit;color:var(--text);outline:none;background:#fff;}
.mp-input:focus{border-color:var(--blue);}
.mp-input-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:12px;pointer-events:none;}
.mp-dropdown{position:absolute;top:calc(100% + 3px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:300;max-height:230px;overflow-y:auto;display:none;}
.mp-dropdown.open{display:block;}
.mp-option{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;transition:background .1s;}
.mp-option:hover,.mp-option.focused{background:var(--blue-light);}
.mp-option-ref{font-size:10.5px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);padding:1px 6px;border-radius:5px;flex-shrink:0;white-space:nowrap;}
.mp-option-name{font-size:12.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mp-option-client{font-size:11px;color:var(--text-dim);flex-shrink:0;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;}
.mp-option-empty{padding:14px 12px;font-size:12.5px;color:var(--text-dim);text-align:center;}
.mp-chip{display:flex;align-items:center;gap:7px;background:var(--blue-light);border:1.5px solid #c5d4f0;border-radius:8px;padding:6px 10px;cursor:default;}
.mp-chip-ref{font-size:10.5px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--blue);background:#dce8ff;padding:1px 6px;border-radius:5px;flex-shrink:0;}
.mp-chip-name{font-size:12.5px;font-weight:700;color:var(--blue);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mp-chip-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:0 3px;flex-shrink:0;}
.mp-chip-clear:hover{color:var(--red);}

/* ─── DMS Vault ──────────────────────────────────────────────────────────── */
#view-vault-home.active{display:flex;}
.dms-layout{display:flex;flex:1;overflow:hidden;height:100%;}
.dms-sidebar{width:240px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;}
.dms-sb-section-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;padding:14px 16px 6px;}
.dms-sb-item{display:flex;align-items:center;gap:9px;padding:7px 14px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-mid);transition:all .15s;user-select:none;}
.dms-sb-item:hover{background:var(--bg);color:var(--text);}
.dms-sb-item.active{background:var(--blue-light);color:var(--blue);font-weight:700;border-right:2px solid var(--blue);}
.dms-sb-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.dms-sb-count{margin-left:auto;font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--border);padding:1px 6px;border-radius:20px;color:var(--text-dim);}
.dms-sb-count.amber{background:#fef9ec;border-color:#f0dfa0;color:var(--amber);}
.dms-sb-divider{height:1px;background:var(--border);margin:8px 0;}
.dms-matter-tree{flex:1;overflow-y:auto;padding-bottom:8px;}
.dms-mn-hdr{display:flex;align-items:center;gap:6px;padding:6px 14px 6px 10px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-mid);transition:background .12s;user-select:none;}
.dms-mn-hdr:hover{background:var(--bg);}
.dms-mn-hdr.active{color:var(--blue);}
.dms-mn-arrow{font-size:9px;color:var(--text-dim);width:12px;flex-shrink:0;transition:transform .15s;display:inline-block;}
.dms-mn-arrow.open{transform:rotate(90deg);}
.dms-mn-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dms-mn-cnt{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);flex-shrink:0;}
.dms-folder-list{padding-left:20px;}
.dms-fi{display:flex;align-items:center;gap:7px;padding:5px 14px 5px 10px;cursor:pointer;font-size:12px;color:var(--text-mid);transition:background .12s;user-select:none;}
.dms-fi:hover{background:var(--bg);color:var(--text);}
.dms-fi.active{color:var(--blue);font-weight:700;background:var(--blue-light);border-right:2px solid var(--blue);}
.dms-fi-cnt{margin-left:auto;font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);}
.dms-new-folder{display:flex;align-items:center;gap:6px;padding:5px 14px 5px 30px;font-size:11.5px;color:var(--text-dim);cursor:pointer;transition:color .12s;}
.dms-new-folder:hover{color:var(--blue);}
.dms-new-folder-row{display:flex;align-items:center;gap:4px;padding:4px 8px 4px 30px;}
.dms-nf-input{flex:1;padding:4px 8px;border:1.5px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;color:var(--text);outline:none;}
.dms-nf-input:focus{border-color:var(--blue);}
.dms-nf-btn{background:var(--blue);color:#fff;border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;}
.dms-nf-cancel{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:2px 4px;}
.dms-sb-stats{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:10px;flex-shrink:0;}
.dms-sstat{flex:1;text-align:center;}
.dms-sstat-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;color:var(--text);}
.dms-sstat-val.green{color:var(--green);}
.dms-sstat-val.amber{color:var(--amber);}
.dms-sstat-lbl{font-size:10px;color:var(--text-dim);margin-top:1px;}
/* Main panel */
.dms-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.dms-toolbar{padding:11px 20px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.dms-breadcrumb{display:flex;align-items:center;gap:5px;font-size:12.5px;flex:1;min-width:0;overflow:hidden;}
.dms-bc-seg{color:var(--text-dim);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dms-bc-seg:hover{color:var(--blue);}
.dms-bc-seg.current{color:var(--text);font-weight:600;cursor:default;}
.dms-bc-arrow{color:var(--text-dim);font-size:11px;flex-shrink:0;}
.dms-toolbar-right{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.dms-filter-pill{padding:5px 11px;border:1.5px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;background:#fff;font-family:inherit;transition:all .12s;}
.dms-filter-pill.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);}
.dms-search{padding:6px 12px 6px 28px;border:1.5px solid var(--border);border-radius:8px;font-size:12.5px;font-family:inherit;color:var(--text);outline:none;width:190px;background:#fff;}
.dms-search:focus{border-color:var(--blue);}
.dms-view-toggle{display:flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;}
.dms-vt{background:none;border:none;padding:5px 9px;cursor:pointer;font-size:14px;color:var(--text-dim);transition:all .12s;}
.dms-vt.active{background:var(--blue-light);color:var(--blue);}
/* Drop zone */
.dms-drop-zone{margin:12px 20px 0;border:2px dashed var(--border);border-radius:10px;padding:12px 18px;display:flex;align-items:center;gap:14px;background:#fff;cursor:pointer;transition:all .15s;flex-shrink:0;}
.dms-drop-zone:hover,.dms-drop-zone.dz-hover{border-color:var(--blue);background:var(--blue-light);}
.dms-drop-icon{font-size:22px;flex-shrink:0;}
.dms-drop-text{font-size:13px;font-weight:600;color:var(--text-mid);}
.dms-drop-sub{font-size:11.5px;color:var(--text-dim);margin-top:1px;}
.dms-drop-btn{margin-left:auto;background:var(--orange);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0;}
/* Content area */
.dms-content{flex:1;overflow-y:auto;padding:12px 20px 20px;}
/* List view */
.dms-doc-list{display:flex;flex-direction:column;gap:0;background:#fff;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;}
.dms-doc-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border);transition:background .12s;cursor:pointer;position:relative;}
.dms-doc-row:last-child{border-bottom:none;}
.dms-doc-row:hover{background:#f8faff;}
.dms-doc-row:hover .dms-row-actions{opacity:1;}
.dms-doc-icon{width:34px;height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.dms-doc-icon.pdf{background:#fdf0f0;}
.dms-doc-icon.docx,.dms-doc-icon.doc{background:#eef2fb;}
.dms-doc-icon.txt{background:#f5f7fc;}
.dms-doc-name-col{flex:1;min-width:0;}
.dms-doc-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dms-doc-sub{font-size:11px;color:var(--text-dim);margin-top:2px;display:flex;align-items:center;gap:8px;}
.dms-matter-chip{background:#eef2fb;color:var(--blue);font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;}
.dms-folder-chip{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:600;color:var(--text-mid);background:var(--bg);border:1px solid var(--border);padding:2px 9px;border-radius:20px;cursor:pointer;flex-shrink:0;width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dms-folder-chip:hover{border-color:var(--blue);color:var(--blue);}
.dms-type-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;flex-shrink:0;width:50px;text-align:center;}
.dms-type-pdf{background:#fdf0f0;color:var(--red);}
.dms-type-docx,.dms-type-doc{background:#eef2fb;color:var(--blue);}
.dms-type-txt{background:var(--bg);color:var(--text-dim);}
.dms-ai-ready{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--green);background:var(--green-bg);padding:3px 9px;border-radius:20px;flex-shrink:0;width:130px;}
.dms-ai-missing{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--amber);background:var(--amber-bg);padding:3px 9px;border-radius:20px;flex-shrink:0;width:130px;}
.dms-doc-date{font-size:11.5px;color:var(--text-dim);flex-shrink:0;width:90px;text-align:right;}
.dms-row-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0;margin-left:4px;}
.dms-ra-btn{background:none;border:1.5px solid var(--border);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;color:var(--text-mid);font-family:inherit;cursor:pointer;transition:all .12s;white-space:nowrap;}
.dms-ra-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.dms-ra-btn.danger:hover{border-color:var(--red);color:var(--red);background:var(--red-bg);}
.dms-ra-btn.extract{border-color:var(--orange);color:var(--orange);}
.dms-ra-btn.extract:hover{background:var(--orange-light,#fff4ee);}
/* Grid view */
.dms-doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.dms-grid-card{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:8px;}
.dms-grid-card:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(52,97,209,.08);}
.dms-grid-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.dms-grid-name{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dms-grid-meta{font-size:11px;color:var(--text-dim);}
/* Preview panel */
.dms-preview{width:300px;border-left:1px solid var(--border);background:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;}
.dms-preview-hdr{padding:13px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.dms-preview-title{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;}
.dms-preview-close{background:none;border:none;font-size:16px;color:var(--text-dim);cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;}
.dms-preview-close:hover{background:var(--bg);}
.dms-preview-body{flex:1;overflow-y:auto;padding:16px;}
.dms-preview-actions{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.dms-pv-btn{padding:9px 14px;border-radius:8px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;text-align:center;border:none;}
.dms-pv-btn-primary{background:var(--orange);color:#fff;}
.dms-pv-btn-ghost{background:none;border:1.5px solid var(--border);color:var(--text-mid);}
.dms-pv-btn-ghost:hover{border-color:var(--blue);color:var(--blue);}
.dms-pv-section{margin-bottom:14px;}
.dms-pv-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;margin-bottom:5px;}
.dms-pv-field{font-size:12.5px;color:var(--text);padding:7px 10px;background:var(--bg);border-radius:7px;line-height:1.5;}
.dms-pv-excerpt{font-size:12px;color:var(--text-mid);line-height:1.7;padding:10px;background:var(--bg);border-radius:7px;border-left:3px solid var(--border);max-height:160px;overflow-y:auto;}


#view-tasks.active{display:flex;}
.tk-sidebar{width:220px;background:#fff;border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:2px;flex-shrink:0;overflow-y:auto;}
.tk-sb-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;padding:4px 10px;margin-top:4px;}
.tk-sb-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-mid);transition:all .15s;user-select:none;}
.tk-sb-item:hover{background:var(--bg);color:var(--text);}
.tk-sb-item.active{background:var(--blue-light);color:var(--blue);font-weight:700;}
.tk-sb-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0;}
.tk-sb-count{margin-left:auto;font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--border);padding:1px 7px;border-radius:20px;color:var(--text-dim);}
.tk-sb-count.red{background:#fdf0f0;border-color:#f5c2c2;color:var(--red);}
.tk-sb-count.amber{background:#fef9ec;border-color:#f0dfa0;color:var(--amber);}
.tk-main{flex:1;overflow-y:auto;padding:28px 32px;background:var(--bg);}
.tk-main-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.tk-search{padding:7px 12px 7px 30px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;color:var(--text);outline:none;width:220px;background:#fff;}
.tk-search:focus{border-color:var(--blue);}
.tk-stats-row{display:flex;gap:12px;margin-bottom:24px;}
.tk-stat{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px 18px;flex:1;}
.tk-stat-val{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--text);}
.tk-stat-lbl{font-size:11px;color:var(--text-dim);margin-top:2px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.tk-stat.red .tk-stat-val{color:var(--red);}
.tk-stat.amber .tk-stat-val{color:var(--amber);}
.tk-stat.green .tk-stat-val{color:var(--green);}
.tk-group{margin-bottom:22px;}
.tk-group-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.tk-group-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;color:var(--text-dim);white-space:nowrap;}
.tk-group-line{flex:1;height:1px;background:var(--border);}
.tk-group-cnt{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text-dim);}
.tk-card{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;transition:all .15s;cursor:pointer;}
.tk-card:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(52,97,209,.08);}
.tk-card.overdue{border-left:3px solid var(--red);}
.tk-card.today-due{border-left:3px solid var(--orange);}
.tk-card.done-card{opacity:.55;}
.tk-check-box{width:18px;height:18px;border-radius:5px;border:2px solid var(--border);flex-shrink:0;margin-top:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:11px;background:#fff;}
.tk-check-box:hover{border-color:var(--green);}
.tk-check-box.checked{background:var(--green);border-color:var(--green);color:#fff;}
.tk-card-body{flex:1;min-width:0;}
.tk-card-title{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.4;margin-bottom:6px;}
.tk-card-title.done{text-decoration:line-through;color:var(--text-dim);}
.tk-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.tk-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;}
.tk-chip-matter{background:#eef2fb;color:var(--blue);}
.tk-chip-assignee{background:var(--bg);color:var(--text-mid);border:1px solid var(--border);}
.tk-chip-overdue{background:#fdf0f0;color:var(--red);}
.tk-chip-today{background:#fef9ec;color:var(--amber);}
.tk-chip-soon{background:#edf7f2;color:var(--green);}
.tk-chip-future{background:var(--bg);color:var(--text-dim);border:1px solid var(--border);}
.tk-chip-urgent{background:#fdf0f0;color:var(--red);}
.tk-chip-high{background:#fef9ec;color:var(--amber);}
.tk-chip-normal{background:#eef2fb;color:var(--blue);}
.tk-chip-low{background:var(--bg);color:var(--text-dim);}
.tk-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0;}
.tk-card:hover .tk-card-actions{opacity:1;}
.tk-btn{background:none;border:1.5px solid var(--border);border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:600;color:var(--text-mid);font-family:inherit;cursor:pointer;transition:all .12s;}
.tk-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.tk-btn.del:hover{border-color:var(--red);color:var(--red);background:#fdf0f0;}

/* ── WORKFLOW BUILDER ── */
#view-workflows.active{padding:0;display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - var(--header-h));}
#view-template-builder.active{padding:0;overflow:hidden;height:calc(100vh - var(--header-h));}
#view-template-builder .tb-layout{height:calc(100vh - var(--header-h));border-radius:0;border-left:none;border-right:none;border-bottom:none;}
.wf-main-tabs{display:flex;align-items:center;background:var(--surface);border-bottom:1px solid var(--border);padding:0 28px;flex-shrink:0;}
.wf-main-tab{padding:13px 18px 11px;font-size:13.5px;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;transition:all .15s;display:flex;align-items:center;gap:7px;}
.wf-main-tab:hover{color:var(--text);}
.wf-main-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.wf-main-tab .wf-tab-pill{font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;background:var(--bg);color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.wf-main-tab.active .wf-tab-pill{background:var(--blue-light);color:var(--blue);}

/* List view */
.wf-list-body{flex:1;overflow-y:auto;padding:24px 28px;}
.wf-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.wf-stat{background:white;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px;}
.wf-stat-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.wf-stat-val{font-size:22px;font-weight:800;color:var(--text);line-height:1;}
.wf-stat-lbl{font-size:11.5px;color:var(--text-dim);margin-top:2px;}
.wf-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.wf-filter-tab{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);color:var(--text-mid);background:white;transition:all .15s;display:flex;align-items:center;gap:5px;}
.wf-filter-tab:hover{border-color:var(--border-mid);color:var(--text);}
.wf-filter-tab.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);}
.wf-section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;margin-top:4px;}
.wf-section-title{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.wf-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.wf-card{background:white;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.wf-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
.wf-card.tc-matter::before{background:var(--blue);}
.wf-card.tc-status::before{background:var(--amber);}
.wf-card.tc-document::before{background:var(--teal);}
.wf-card.tc-date::before{background:var(--purple);}
.wf-card.tc-manual::before{background:var(--orange);}
.wf-card:hover{border-color:var(--border-mid);box-shadow:0 2px 8px rgba(15,31,61,.07);transform:translateY(-1px);}
.wf-card-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.wf-card-body{flex:1;min-width:0;}
.wf-card-name{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:2px;}
.wf-card-meta{font-size:11.5px;color:var(--text-dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.wf-card-meta .wf-dot{width:3px;height:3px;border-radius:50%;background:var(--border-mid);}
.wf-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.wf-status-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;}
.wf-status-badge.active{background:var(--green-bg);color:var(--green);}
.wf-status-badge.draft{background:var(--bg);color:var(--text-dim);border:1px solid var(--border);}
.wf-status-badge.paused{background:#fffbeb;color:var(--amber);}
.wf-scope-badge{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--blue-light);color:var(--blue);}
.wf-step-count{font-size:11px;font-weight:600;color:var(--text-dim);font-family:'JetBrains Mono',monospace;white-space:nowrap;}
.wf-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;}
.wf-card:hover .wf-card-actions{opacity:1;}
.wf-card-preview{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:6px;}
.wf-step-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;font-size:10.5px;font-weight:600;}
.wf-step-pill.spt{background:var(--blue-light);color:var(--blue);}
.wf-step-pill.spk{background:var(--green-bg);color:var(--green);}
.wf-step-pill.spd{background:#fffbeb;color:var(--amber);}
.wf-step-pill.spdt{background:var(--purple-bg);color:var(--purple);}
.wf-step-pill.spc{background:var(--teal-bg);color:var(--teal);}
.wf-step-pill.spf{background:#fce7f3;color:#be185d;}
.wf-step-pill.spm{background:rgba(232,98,26,.1);color:var(--orange);}
.wf-step-arrow{color:var(--text-dim);font-size:10px;}
.wf-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-mid);font-size:13px;transition:all .12s;}
.wf-icon-btn:hover{border-color:var(--border-mid);background:var(--bg);color:var(--text);}

/* Builder */
.wf-builder-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.wf-builder-bar{background:white;border-bottom:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.wf-builder-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;border:none;outline:none;color:var(--text);background:transparent;flex:1;min-width:0;}
.wf-builder-name::placeholder{color:var(--text-dim);font-weight:500;}
.wf-scope-sel{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:600;color:var(--text-mid);background:var(--bg);cursor:pointer;flex-shrink:0;transition:all .15s;}
.wf-scope-sel:hover{border-color:var(--border-mid);color:var(--text);}
.wf-scope-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.wf-builder-body{flex:1;display:flex;overflow:hidden;}
.wf-palette{width:220px;flex-shrink:0;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.wf-palette-hdr{padding:12px 14px 8px;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.wf-palette-search{padding:8px 12px;border-bottom:1px solid var(--border);}
.wf-palette-search input{width:100%;padding:6px 10px;border:1.5px solid var(--border);border-radius:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;color:var(--text);outline:none;background:var(--bg);}
.wf-palette-search input:focus{border-color:var(--blue);}
.wf-palette-body{flex:1;overflow-y:auto;padding:8px 0;}
.wf-pg-hdr{padding:6px 12px 3px;font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.wf-pg-hdr:hover{color:var(--text-mid);}
.wf-pg-nodes{padding:2px 8px 6px;}
.wf-pnode{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:grab;user-select:none;transition:all .12s;border:1.5px solid transparent;margin-bottom:3px;}
.wf-pnode:hover{background:var(--bg);border-color:var(--border);}
.wf-pnode:active{cursor:grabbing;opacity:.8;transform:scale(.97);}
.wf-pnode-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.wf-pnode-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.2;}
.wf-pnode-desc{font-size:10.5px;color:var(--text-dim);line-height:1.3;margin-top:1px;}
.cat-trigger .wf-pnode-icon{background:rgba(30,77,155,.1);color:var(--blue);}
.cat-task .wf-pnode-icon{background:var(--green-bg);color:var(--green);}
.cat-doc .wf-pnode-icon{background:#fffbeb;color:var(--amber);}
.cat-date .wf-pnode-icon{background:var(--purple-bg);color:var(--purple);}
.cat-comms .wf-pnode-icon{background:var(--teal-bg);color:var(--teal);}
.cat-flow .wf-pnode-icon{background:#fce7f3;color:#be185d;}
.cat-matter .wf-pnode-icon{background:rgba(232,98,26,.1);color:var(--orange);}

/* Canvas */
.wf-canvas-wrap{flex:1;position:relative;overflow:hidden;background:#f1f5f9;background-image:radial-gradient(circle,#cbd5e1 1px,transparent 1px);background-size:24px 24px;}
.wf-canvas{position:absolute;inset:0;overflow:hidden;}
.wf-canvas-toolbar{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:white;border:1.5px solid var(--border);border-radius:10px;padding:6px 8px;display:flex;align-items:center;gap:4px;box-shadow:0 4px 16px rgba(15,31,61,.12);z-index:10;}
.wf-canvas-toolbar .ct-sep{width:1px;height:20px;background:var(--border);margin:0 2px;}
.wf-zoom-lbl{font-size:11px;font-weight:700;color:var(--text-dim);font-family:'JetBrains Mono',monospace;padding:0 8px;min-width:46px;text-align:center;}
.wf-canvas-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;}
.wf-hint-icon{font-size:40px;margin-bottom:12px;opacity:.3;}
.wf-hint-title{font-size:16px;font-weight:700;color:var(--text-mid);margin-bottom:6px;}
.wf-hint-sub{font-size:13px;color:var(--text-dim);line-height:1.6;}

/* Canvas nodes */
.wf-node{position:absolute;background:white;border:1.5px solid var(--border);border-radius:10px;min-width:200px;max-width:240px;cursor:move;user-select:none;transition:box-shadow .15s,border-color .15s;box-shadow:0 1px 4px rgba(15,31,61,.06);}
.wf-node:hover,.wf-node.sel{border-color:var(--blue);box-shadow:0 4px 16px rgba(30,77,155,.15);}
.wf-node.sel{z-index:20;}
.wf-node.nc-trigger{border-left:3px solid var(--blue);}
.wf-node.nc-task{border-left:3px solid var(--green);}
.wf-node.nc-doc{border-left:3px solid var(--amber);}
.wf-node.nc-date{border-left:3px solid var(--purple);}
.wf-node.nc-comms{border-left:3px solid var(--teal);}
.wf-node.nc-flow{border-left:3px solid #be185d;}
.wf-node.nc-matter{border-left:3px solid var(--orange);}
.wf-node.nc-wait{border-left:3px solid var(--purple);}
.wf-node-hdr{display:flex;align-items:center;gap:8px;padding:10px 12px 9px;border-bottom:1px solid var(--border);}
.wf-node-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.wf-node-type{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;font-family:'JetBrains Mono',monospace;color:var(--text-dim);}
.wf-node-title{font-size:12.5px;font-weight:700;color:var(--text);}
.wf-node-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;flex-shrink:0;}
.wf-node-badge.nb-trigger{background:var(--blue-light);color:var(--blue);}
.wf-node-badge.nb-action{background:var(--green-bg);color:var(--green);}
.wf-node-badge.nb-cond{background:#fce7f3;color:#be185d;}
.wf-node-badge.nb-wait{background:var(--purple-bg);color:var(--purple);}
.wf-node-body{padding:10px 12px;}
.wf-nfield{margin-bottom:7px;font-size:11.5px;}
.wf-nfield:last-child{margin-bottom:0;}
.wf-nfield-lbl{font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:2px;}
.wf-nfield-val{color:var(--text-mid);font-size:11.5px;font-weight:500;line-height:1.3;}
.wf-nfield-val.empty{color:var(--text-dim);font-style:italic;}
.wf-nfield-tag{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:2px 6px;font-size:11px;font-weight:600;color:var(--text-mid);margin-right:3px;margin-bottom:2px;}
.wf-node-footer{padding:7px 12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.wf-connector{width:12px;height:12px;border-radius:50%;background:white;border:2px solid var(--border);cursor:crosshair;transition:all .15s;flex-shrink:0;}
.wf-connector:hover{border-color:var(--blue);background:var(--blue);transform:scale(1.2);}
.conn-lbl{font-size:10px;color:var(--text-dim);}
.wf-conn-svg{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:1;}
@keyframes wf-dash{to{stroke-dashoffset:-80;}}

/* Inspector */
.wf-inspector{width:280px;flex-shrink:0;background:white;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.wf-insp-hdr{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.wf-insp-title{font-size:13px;font-weight:700;color:var(--text);}
.wf-insp-sub{font-size:11.5px;color:var(--text-dim);margin-top:1px;}
.wf-insp-body{flex:1;overflow-y:auto;padding:16px;}
.wf-insp-section{margin-bottom:20px;}
.wf-insp-section-lbl{font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.wf-insp-field{margin-bottom:12px;}
.wf-insp-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-mid);font-family:'JetBrains Mono',monospace;margin-bottom:5px;}
.wf-insp-input,.wf-insp-sel,.wf-insp-ta{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;color:var(--text);outline:none;background:var(--bg);transition:border-color .15s;}
.wf-insp-input:focus,.wf-insp-sel:focus,.wf-insp-ta:focus{border-color:var(--blue);}
.wf-insp-ta{resize:vertical;min-height:64px;line-height:1.5;}
.wf-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);}
.wf-toggle-row:last-child{border-bottom:none;}
.wf-toggle-lbl{font-size:12.5px;font-weight:600;color:var(--text-mid);}
.wf-toggle-sub{font-size:11px;color:var(--text-dim);margin-top:1px;}
.wf-toggle{position:relative;width:36px;height:20px;background:#cbd5e1;border-radius:10px;cursor:pointer;transition:background .2s;flex-shrink:0;}
.wf-toggle.on{background:var(--blue);}
.wf-toggle::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.wf-toggle.on::after{transform:translateX(16px);}
.wf-insp-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;}
.wf-insp-footer .btn{flex:1;justify-content:center;}

/* Run log */
.wf-run-log{background:white;border-top:1px solid var(--border);max-height:160px;overflow-y:auto;flex-shrink:0;}
.wf-run-log-hdr{padding:8px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;position:sticky;top:0;background:white;z-index:1;}
.wf-run-log-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-family:'JetBrains Mono',monospace;color:var(--text-dim);}
.wf-run-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);animation:wf-pulse 1.5s ease-in-out infinite;}
@keyframes wf-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.wf-run-entry{display:flex;align-items:flex-start;gap:10px;padding:5px 16px;font-size:11.5px;}
.wf-run-entry:hover{background:var(--bg);}
.wf-run-time{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-dim);flex-shrink:0;margin-top:1px;}
.wf-run-dot{width:6px;height:6px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.wf-run-dot.ok{background:var(--green);}
.wf-run-dot.info{background:var(--blue);}
.wf-run-dot.warn{background:var(--amber);}
.wf-run-msg{color:var(--text-mid);line-height:1.4;}
.wf-run-matter{font-weight:600;color:var(--blue);}

/* Template library */
.wf-tpl-body{flex:1;overflow-y:auto;padding:24px 28px;}
.wf-tpl-hero{background:linear-gradient(135deg,var(--blue-deep) 0%,#1a3a7a 100%);border-radius:14px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;overflow:hidden;position:relative;}
.wf-tpl-hero::before{content:'';position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.04);}
.wf-tpl-hero::after{content:'';position:absolute;right:60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:rgba(232,98,26,.12);}
.wf-tpl-hero-text{position:relative;z-index:1;}
.wf-tpl-hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
.wf-tpl-hero-title{font-family:'Instrument Serif',serif;font-size:26px;color:white;line-height:1.2;margin-bottom:8px;}
.wf-tpl-hero-sub{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;max-width:460px;}
.wf-tpl-hero-stats{display:flex;align-items:center;gap:24px;position:relative;z-index:1;flex-shrink:0;}
.wf-tpl-hero-stat{text-align:center;}
.wf-tpl-hero-stat-val{font-size:28px;font-weight:800;color:white;line-height:1;}
.wf-tpl-hero-stat-lbl{font-size:11px;color:rgba(255,255,255,.5);margin-top:4px;}
.wf-tpl-hero-div{width:1px;height:40px;background:rgba(255,255,255,.12);}
.wf-tpl-filter{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.wf-tpl-cat{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);font-size:12.5px;font-weight:600;cursor:pointer;color:var(--text-mid);background:white;transition:all .15s;}
.wf-tpl-cat:hover{border-color:var(--border-mid);color:var(--text);}
.wf-tpl-cat.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);}
.wf-tpl-cat-count{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;background:currentColor;color:white;padding:0 5px;border-radius:8px;opacity:.85;}
.wf-tpl-search-wrap{margin-left:auto;position:relative;}
.wf-tpl-search-wrap input{padding:7px 12px 7px 30px;border:1.5px solid var(--border);border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;color:var(--text);outline:none;width:220px;transition:border-color .15s;background:white;}
.wf-tpl-search-wrap input:focus{border-color:var(--blue);}
.wf-tpl-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-dim);pointer-events:none;}
.wf-tpl-section{margin-bottom:32px;}
.wf-tpl-sec-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.wf-tpl-sec-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.wf-tpl-sec-title{font-size:14px;font-weight:700;color:var(--text);}
.wf-tpl-sec-count{font-size:11px;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.wf-tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.wf-tpl-card{background:white;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;}
.wf-tpl-card:hover{border-color:var(--blue);box-shadow:0 6px 24px rgba(30,77,155,.12);transform:translateY(-2px);}
.wf-tpl-accent{height:4px;width:100%;}
.wf-tpl-card-body{padding:14px 16px;flex:1;}
.wf-tpl-card-hdr{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.wf-tpl-card-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.wf-tpl-card-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:3px;}
.wf-tpl-card-scope{font-size:10px;font-weight:700;padding:1px 7px;border-radius:8px;display:inline-block;}
.wf-tpl-card-desc{font-size:12px;color:var(--text-mid);line-height:1.55;margin-bottom:12px;}
.wf-tpl-card-steps{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;}
.wf-tpl-step{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:8px;font-size:10.5px;font-weight:600;}
.wf-tpl-card-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg);}
.wf-tpl-card-meta{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:8px;}
.wf-tpl-card-meta .md{width:3px;height:3px;border-radius:50%;background:var(--border-mid);}
.wf-install-btn{padding:5px 12px;border-radius:6px;border:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;background:var(--blue);color:white;transition:all .15s;display:flex;align-items:center;gap:5px;}
.wf-install-btn:hover{background:var(--blue-mid);}
.wf-install-btn.installed{background:var(--green-bg);color:var(--green);border:1.5px solid var(--green);}

/* ── MATTER WORKFLOWS TAB ── */
.mwf-section-title{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
.mwf-run-card{background:white;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .15s;margin-bottom:8px;}
.mwf-run-card:hover{border-color:var(--border-mid);box-shadow:0 2px 8px rgba(15,31,61,.07);}
.mwf-run-card.running{border-color:var(--blue);background:var(--blue-light);}
.mwf-run-card-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.mwf-run-card-name{font-size:13px;font-weight:700;color:var(--text);}
.mwf-run-card-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;}
.mwf-run-btn{padding:6px 14px;border-radius:6px;border:none;background:var(--blue);color:white;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0;}
.mwf-run-btn:hover{background:var(--blue-dark);}
.mwf-run-btn:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed;}
.mwf-run-btn.running{background:var(--text-dim);cursor:not-allowed;}
.mwf-log{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;overflow:hidden;}
.mwf-log-hdr{padding:10px 14px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-dim);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:1px;}
.mwf-log-body{padding:4px 0;max-height:260px;overflow-y:auto;}
.mwf-log-row{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:12px;}
.mwf-log-row:last-child{border-bottom:none;}
.mwf-log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.mwf-log-dot.ok{background:var(--green);}
.mwf-log-dot.err{background:var(--red);}
.mwf-log-dot.info{background:var(--blue);}
.mwf-log-dot.skip{background:var(--border);}
.mwf-log-msg{flex:1;color:var(--text-mid);line-height:1.4;}
.mwf-log-time{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-dim);flex-shrink:0;}
.mwf-empty{text-align:center;padding:40px 20px;}
.mwf-empty-icon{font-size:32px;margin-bottom:10px;}
.mwf-empty-title{font-size:14px;font-weight:700;color:var(--text-mid);margin-bottom:5px;}
.mwf-empty-sub{font-size:12.5px;color:var(--text-dim);margin-bottom:14px;}
.mwf-training-card{background:linear-gradient(135deg,var(--blue) 0%,#3b82f6 100%);border-radius:10px;padding:16px 18px;display:flex;align-items:center;gap:14px;margin-bottom:20px;cursor:pointer;transition:opacity .15s;}
.mwf-training-card:hover{opacity:.9;}
.mwf-training-card-text .t{font-size:13.5px;font-weight:800;color:white;margin-bottom:3px;}
.mwf-training-card-text .s{font-size:12px;color:rgba(255,255,255,.8);line-height:1.4;}

/* ── WORKFLOW TRAINING WIZARD ── */
.wf-wizard-overlay{position:fixed;inset:0;background:rgba(15,31,61,0.55);z-index:600;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;}
.wf-wizard-overlay.open{opacity:1;pointer-events:all;}
.wf-wizard{background:white;border-radius:16px;width:740px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(15,31,61,.22);transform:scale(.97);transition:transform .25s;}
.wf-wizard-overlay.open .wf-wizard{transform:scale(1);}
/* Progress bar */
.wf-wiz-progress{padding:20px 28px 0;flex-shrink:0;}
.wf-wiz-progress-track{height:4px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:10px;}
.wf-wiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),#3b82f6);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1);}
.wf-wiz-steps-row{display:flex;align-items:center;gap:0;}
.wf-wiz-step-dot{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-dim);white-space:nowrap;transition:color .2s;}
.wf-wiz-step-dot.done{color:var(--blue);}
.wf-wiz-step-dot.active{color:var(--blue);font-weight:700;}
.wf-wiz-step-dot .sd{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);background:white;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;font-family:'JetBrains Mono',monospace;transition:all .2s;flex-shrink:0;}
.wf-wiz-step-dot.done .sd{background:var(--blue);border-color:var(--blue);color:white;}
.wf-wiz-step-dot.active .sd{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.wf-wiz-step-line{flex:1;height:1px;background:var(--border);margin:0 6px;min-width:12px;}
.wf-wiz-step-line.done{background:var(--blue);opacity:.35;}
/* Header */
.wf-wiz-hdr{padding:20px 28px 0;display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;}
.wf-wiz-hdr-text{}
.wf-wiz-stage-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue);font-family:'JetBrains Mono',monospace;margin-bottom:5px;}
.wf-wiz-title{font-family:'Instrument Serif',serif;font-size:24px;color:var(--text);line-height:1.25;margin-bottom:4px;}
.wf-wiz-sub{font-size:13px;color:var(--text-mid);line-height:1.6;}
.wf-wiz-close{width:30px;height:30px;border-radius:6px;border:1.5px solid var(--border);background:none;cursor:pointer;font-size:14px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s;}
.wf-wiz-close:hover{border-color:var(--border-mid);color:var(--text);background:var(--bg);}
/* Body */
.wf-wiz-body{flex:1;overflow-y:auto;padding:20px 28px;}
/* Footer */
.wf-wiz-footer{padding:16px 28px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:white;}
.wf-wiz-footer-left{font-size:12px;color:var(--text-dim);}
.wf-wiz-footer-right{display:flex;align-items:center;gap:10px;}

/* Stage 1 — concept */
.wf-wiz-concept{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
.wf-wiz-concept-card{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:16px;display:flex;align-items:flex-start;gap:12px;}
.wf-wiz-concept-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.wf-wiz-concept-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;}
.wf-wiz-concept-desc{font-size:12px;color:var(--text-mid);line-height:1.5;}

/* Stage 2 — anatomy callouts */
.wf-wiz-anatomy-card{background:white;border:2px solid var(--blue);border-radius:12px;padding:16px 18px;margin-bottom:20px;position:relative;}
.wf-wiz-callout-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;}
.wf-wiz-callout{background:var(--bg);border:1.5px solid var(--border);border-radius:9px;padding:12px 14px;cursor:pointer;transition:all .15s;position:relative;}
.wf-wiz-callout:hover,.wf-wiz-callout.active{border-color:var(--blue);background:var(--blue-light);}
.wf-wiz-callout-lbl{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;font-family:'JetBrains Mono',monospace;color:var(--text-dim);margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.wf-wiz-callout.active .wf-wiz-callout-lbl{color:var(--blue);}
.wf-wiz-callout-tag{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;}
.wf-wiz-callout.active .wf-wiz-callout-tag{background:var(--blue);}
.wf-wiz-callout-title{font-size:13px;font-weight:700;color:var(--text);}
.wf-wiz-callout-body{font-size:12px;color:var(--text-mid);line-height:1.5;margin-top:4px;display:none;}
.wf-wiz-callout.active .wf-wiz-callout-body{display:block;}
.wf-wiz-anatomy-hint{font-size:12px;color:var(--text-dim);text-align:center;margin-top:8px;}

/* Stage 3 — install */
.wf-wiz-tpl-pick{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.wf-wiz-tpl-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:white;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;}
.wf-wiz-tpl-row:hover{border-color:var(--border-mid);box-shadow:0 2px 8px rgba(15,31,61,.06);}
.wf-wiz-tpl-row.installed{border-color:var(--green);background:var(--green-bg);}
.wf-wiz-tpl-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.wf-wiz-tpl-info{flex:1;min-width:0;}
.wf-wiz-tpl-name{font-size:13px;font-weight:700;color:var(--text);}
.wf-wiz-tpl-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px;}
.wf-wiz-tpl-btn{padding:6px 14px;border-radius:6px;border:1.5px solid var(--blue);background:var(--blue-light);color:var(--blue);font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0;white-space:nowrap;}
.wf-wiz-tpl-btn:hover{background:var(--blue);color:white;}
.wf-wiz-tpl-btn.done{background:var(--green-bg);border-color:var(--green);color:var(--green);cursor:default;}
.wf-wiz-installed-banner{background:var(--green-bg);border:1.5px solid var(--green);border-radius:10px;padding:14px 16px;display:none;align-items:center;gap:12px;margin-top:12px;}
.wf-wiz-installed-banner.show{display:flex;}

/* Stage 4 — customise */
.wf-wiz-customise-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.wf-wiz-cust-card{background:white;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;transition:border-color .15s;}
.wf-wiz-cust-card:hover{border-color:var(--border-mid);}
.wf-wiz-cust-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;margin-bottom:10px;}
.wf-wiz-cust-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
.wf-wiz-cust-desc{font-size:12px;color:var(--text-dim);line-height:1.5;}

/* Stage 5 — builder */
.wf-wiz-canvas-demo{background:#f1f5f9;background-image:radial-gradient(circle,#cbd5e1 1px,transparent 1px);background-size:20px 20px;border-radius:10px;height:180px;position:relative;overflow:hidden;margin-bottom:20px;}
.wf-wiz-demo-node{position:absolute;background:white;border-radius:8px;padding:8px 12px;font-size:11.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px;border:1.5px solid var(--border);box-shadow:0 2px 8px rgba(15,31,61,.07);white-space:nowrap;}
.wf-wiz-demo-arrow{position:absolute;color:var(--text-dim);font-size:18px;font-weight:300;}
.wf-wiz-builder-steps{display:flex;flex-direction:column;gap:8px;}
.wf-wiz-builder-step{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--bg);border-radius:8px;}
.wf-wiz-builder-step-num{width:22px;height:22px;border-radius:50%;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'JetBrains Mono',monospace;}
.wf-wiz-builder-step-title{font-size:12.5px;font-weight:700;color:var(--text);}
.wf-wiz-builder-step-desc{font-size:11.5px;color:var(--text-dim);margin-top:2px;line-height:1.4;}

/* Completion */
.wf-wiz-complete{text-align:center;padding:20px 0 10px;}
.wf-wiz-complete-icon{width:64px;height:64px;border-radius:16px;background:var(--green-bg);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;}
.wf-wiz-checklist{display:flex;flex-direction:column;gap:6px;max-width:380px;margin:20px auto 0;text-align:left;}
.wf-wiz-check-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-mid);}
.wf-wiz-check-item .ci{width:20px;height:20px;border-radius:50%;background:var(--green-bg);border:1.5px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--green);flex-shrink:0;}


.wf-install-preview{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px;}
.wf-install-preview-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text);}
.wf-install-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.wf-install-step:last-child{border-bottom:none;}
.wf-install-step-num{width:20px;height:20px;border-radius:50%;background:var(--blue-light);color:var(--blue);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-family:'JetBrains Mono',monospace;}
.wf-install-step-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.wf-install-step-name{font-size:12.5px;font-weight:700;color:var(--text);}
.wf-install-step-desc{font-size:11.5px;color:var(--text-dim);margin-top:1px;line-height:1.4;}


/* ─── Calendar view ──────────────────────────────────────────────────────── */
#view-calendar.active{display:flex!important;margin:-24px -28px;height:calc(100vh - 56px);overflow:hidden;}
/* Left panel */
.cal-left{width:210px;flex-shrink:0;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.cal-mini-wrap{padding:16px 14px 12px;}
.cal-mini-month-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-mini-month-label{font-size:12px;font-weight:800;color:var(--text);}
.cal-mini-nav{display:flex;gap:3px;}
.cal-mini-nav button{width:22px;height:22px;border-radius:6px;border:none;background:var(--bg);color:var(--text-dim);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s;}
.cal-mini-nav button:hover{background:var(--border);color:var(--text);}
.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;}
.cal-mini-dow{font-size:8.5px;font-weight:700;text-align:center;padding:3px 0;color:var(--text-dim);font-family:'JetBrains Mono',monospace;}
.cal-mini-day{font-size:10.5px;font-weight:600;text-align:center;padding:4px 2px;border-radius:5px;cursor:pointer;color:var(--text-mid);transition:background .1s;line-height:1.6;position:relative;}
.cal-mini-day:hover{background:var(--bg);}
.cal-mini-day.other{opacity:.35;}
.cal-mini-day.today{background:var(--blue);color:#fff;font-weight:800;border-radius:6px;}
.cal-mini-day.has-event::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--orange);}
.cal-mini-day.today::after{background:rgba(255,255,255,.7);}
/* Filter section */
.cal-filter-section{padding:12px 14px;border-top:1px solid var(--border);}
.cal-filter-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-bottom:8px;}
.cal-filter-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;transition:background .1s;}
.cal-filter-item:hover{background:var(--bg);}
.cal-filter-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.cal-filter-name{font-size:11.5px;font-weight:600;color:var(--text-mid);}
/* Main area */
.cal-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.cal-nav{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;background:var(--white);}
.cal-nav-title{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.02em;flex:1;}
.cal-view-tabs{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:8px;}
.cal-view-tab{padding:4px 12px;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--text-dim);transition:all .1s;border:none;background:none;font-family:inherit;}
.cal-view-tab.active{background:var(--white);color:var(--blue);box-shadow:0 1px 4px rgba(0,0,50,.09);}
.cal-nav-btn{padding:6px 14px;border-radius:8px;border:1.5px solid var(--border);background:var(--white);font-size:12px;font-weight:700;color:var(--text-mid);cursor:pointer;transition:all .1s;font-family:inherit;}
.cal-nav-btn:hover{border-color:var(--blue-mid);color:var(--blue);background:var(--blue-light);}
.cal-today-btn{padding:6px 14px;border-radius:8px;border:none;background:var(--blue);color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .1s;}
.cal-today-btn:hover{opacity:.88;}
.cal-grid-wrap{flex:1;overflow-y:auto;padding:16px 20px;background:var(--bg);}
.cal-grid-card{background:var(--white);border-radius:14px;border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 16px rgba(0,0,50,.06);}
.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);background:var(--surface);}
.cal-day-hdr{padding:10px 4px;text-align:center;font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;}
.cal-day-hdr.weekend{color:#c0c8de;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.cal-day{min-height:108px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;overflow:hidden;box-sizing:border-box;position:relative;}
.cal-day:hover{background:#f8f9ff;}
.cal-day:nth-child(7n){border-right:none;}
.cal-day.other-month{background:var(--surface);}
.cal-day.other-month .cal-day-num{color:#c8d0e4;}
.cal-day.weekend-col{background:#fafbfd;}
.cal-day.weekend-col.other-month{background:#f6f7fb;}
.cal-day.today{background:#fffbf8;}
.cal-day.today::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--orange);}
.cal-day-num{font-size:12.5px;font-weight:700;color:var(--text-mid);margin-bottom:5px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;}
.cal-day.today .cal-day-num{background:var(--orange);color:#fff;font-size:11px;font-weight:800;}
.cal-event{display:block;padding:2px 6px;border-radius:4px;margin-bottom:2px;font-size:10.5px;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.cal-event.type-deadline{background:#fee2e2;color:#b91c1c;}
.cal-event.type-hearing,.cal-event.type-court{background:#ede9fe;color:#6d28d9;}
.cal-event.type-filing{background:#dbeafe;color:#1d4ed8;}
.cal-event.type-limitation{background:#ffedd5;color:#c2410c;}
.cal-event.type-task,.cal-event.type-settlement{background:#dcfce7;color:#15803d;}
.cal-event.type-other{background:var(--bg);color:var(--text-mid);}
.cal-more{font-size:10px;font-weight:700;color:var(--text-dim);margin-top:1px;}
/* Right sidebar */
.cal-sidebar{width:260px;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;background:var(--white);}
.cal-sidebar-hdr{padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0;}
.cal-sidebar-body{flex:1;overflow-y:auto;padding:12px 14px;}
.cal-upcoming-group{margin-bottom:16px;}
.cal-upcoming-date-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.cal-upcoming-date{font-size:11.5px;font-weight:800;color:var(--text);}
.cal-upcoming-badge{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;}
.cal-upcoming-badge.soon{background:#fefce8;color:#b45309;}
.cal-upcoming-badge.today{background:#fff4ee;color:var(--orange);}
.cal-upcoming-badge.future{background:var(--green-bg);color:var(--green);}
.cal-upcoming-item{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border-radius:8px;margin-bottom:4px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:background .1s;}
.cal-upcoming-item:hover{background:var(--blue-light);border-color:var(--blue-mid);}
.cal-upcoming-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.cal-upcoming-info{flex:1;min-width:0;}
.cal-upcoming-label{font-size:11.5px;font-weight:700;color:var(--text);line-height:1.3;}
.cal-upcoming-matter{font-size:10.5px;color:var(--text-dim);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ═══════════════════════════════════════════════════════════════
   ACCOUNTING MODULE  (acc*)
   ═══════════════════════════════════════════════════════════════ */

body:has(#view-accounting.active) .content{display:none!important;}
body:has(#view-people.active) .content{display:none!important;}
/* AI Tools — content stays visible, fixed subnav overlays from left edge of .main */
body:has(#view-aitools.active) .content{padding-left:196px!important;}
body:has(#view-aitools.active) #view-aitools{display:none!important;}
.aitools-subnav-fixed{
  position:fixed;
  top:var(--header-h);
  left:var(--sidebar-w);
  width:196px;
  bottom:0;
  z-index:90;
  background:var(--surface);
  border-right:1px solid var(--border);
  display:none;
  overflow-y:auto;
  flex-direction:column;
}
body:has(#view-aitools.active) .aitools-subnav-fixed{display:flex;}
#view-accounting.active{display:flex;height:calc(100vh - var(--header-h));padding:0;overflow:hidden;}
.acc-layout{display:flex;width:100%;height:100%;overflow:hidden;}
.acc-subnav-wrap{width:196px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;display:flex;flex-direction:column;}
.acc-subnav-hdr{padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0;}
.acc-subnav-firm-name{font-size:13px;font-weight:700;color:var(--text);}
.acc-subnav-firm-sub{font-size:11px;color:var(--text-dim);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-subnav-section{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:12px 16px 4px;opacity:.6;}
.acc-subnav-item{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:12.5px;color:var(--text-mid);cursor:pointer;transition:background .1s;}
.acc-subnav-item:hover{background:var(--blue-light);color:var(--blue);}
.acc-subnav-item.active{background:var(--blue-light);color:var(--blue);font-weight:600;}
.acc-ni-svg{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.acc-content{flex:1;overflow-y:auto;padding:24px 28px;}

/* Alerts */
.acc-alert-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:7px;font-size:12.5px;margin-bottom:10px;}
.acc-alert-red{background:#fff0f0;color:#c0392b;border:1px solid #f5c6c6;}
.acc-alert-amber{background:#fffbf0;color:#b7770d;border:1px solid #f5e0a0;}
.acc-alert-lnk{cursor:pointer;text-decoration:underline;margin-left:4px;font-weight:600;}

/* Summary strip */
.acc-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px;}
.acc-kpi{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:13px 15px;}
.acc-kpi-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;}
.acc-kpi-val{font-size:22px;font-weight:800;line-height:1.1;margin-bottom:3px;}
.acc-kpi-sub{font-size:11px;color:var(--text-dim);}
.acc-kpi-warn{color:var(--red)!important;}
.acc-kpi-ok{color:var(--green)!important;}

/* Tiles */
.acc-ov-section-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;}
.acc-ov-tile-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px;}
.acc-ov-tile{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .12s;display:flex;flex-direction:column;}
.acc-ov-tile:hover{border-color:var(--blue-mid);}
.acc-ov-tile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.acc-ov-tile-name{font-size:12.5px;font-weight:600;color:var(--text);}
.acc-ov-tile-arr{font-size:14px;color:var(--text-dim);}
.acc-ov-tile-val{font-size:20px;font-weight:800;line-height:1.1;margin-bottom:3px;}
.acc-ov-tile-desc{font-size:11px;color:var(--text-dim);flex:1;margin-top:2px;}
.acc-ov-tile-action{font-size:11.5px;font-weight:600;color:var(--blue);margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}

/* Recent activity */
.acc-activity-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.acc-activity-view-all{font-size:12px;color:var(--blue);cursor:pointer;}
.acc-activity-list{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.acc-activity-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);}
.acc-activity-row:last-child{border-bottom:none;}
.acc-activity-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.acc-activity-info{flex:1;min-width:0;}
.acc-activity-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-activity-meta{font-size:11px;color:var(--text-dim);margin-top:2px;}
.acc-activity-chip{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;flex-shrink:0;}

/* Toolbar */
.acc-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}

/* Table */
.acc-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.acc-table th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);padding:9px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border);}
.acc-table td{padding:9px 12px;font-size:12.5px;border-bottom:1px solid var(--border);}
.acc-table tr:last-child td{border-bottom:none;}
.acc-table-row{cursor:pointer;}
.acc-table-row:hover td{background:var(--blue-light);}
.acc-source-chip{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--bg-panel);color:var(--text-mid);border:1px solid var(--border);}

/* ── Phase 2 accounting CSS ─────────────────────────────────── */
/* Filter tabs */
.acc-filter-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:2px;}
.acc-filter-tab{padding:6px 12px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer;border-radius:6px 6px 0 0;border-bottom:2px solid transparent;transition:all .15s;}
.acc-filter-tab:hover{color:var(--text);}
.acc-filter-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.acc-filter-count{font-size:10px;background:var(--bg);padding:1px 5px;border-radius:4px;margin-left:4px;}

/* Status chip */
.acc-status-chip{font-size:11px;font-weight:700;text-transform:capitalize;padding:2px 8px;border-radius:4px;border:1px solid currentColor;}

/* Row buttons */
.acc-row-btn{font-size:11px;font-weight:600;padding:3px 9px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--text-mid);cursor:pointer;white-space:nowrap;}
.acc-row-btn:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue-mid);}
.acc-row-btn-green{color:var(--green);border-color:var(--green);}
.acc-row-btn-green:hover{background:#f0faf0;color:var(--green);}
.acc-row-btn-red{color:var(--red);border-color:transparent;background:transparent;}
.acc-row-btn-red:hover{background:#fff0f0;}

/* Invoice builder */
.acc-inv-builder{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;}
.acc-inv-header-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
.acc-inv-field{display:flex;flex-direction:column;gap:4px;}
.acc-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);}
.acc-input{padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;background:var(--surface);color:var(--text);outline:none;width:100%;}
.acc-input:focus{border-color:var(--blue);}
.acc-input-sm{padding:5px 7px;font-size:12px;border-radius:5px;}
.acc-inv-lines-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.acc-inv-totals{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.acc-inv-totals-row{display:flex;gap:32px;font-size:13px;color:var(--text-dim);}
.acc-inv-totals-row span:last-child{min-width:90px;text-align:right;font-weight:700;color:var(--text);}
.acc-inv-total-final{font-size:15px;font-weight:800;color:var(--text)!important;padding-top:6px;border-top:1px solid var(--border);margin-top:4px;}
.acc-inv-total-final span{color:var(--text)!important;}

/* Invoice detail */
.acc-inv-detail{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;}
.acc-inv-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);}

/* Back button */
.acc-back-btn{font-size:12px;font-weight:600;color:var(--text-dim);background:none;border:none;cursor:pointer;padding:0;}
.acc-back-btn:hover{color:var(--blue);}

/* Aged debtors */
.acc-age-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:24px;}
.acc-age-cell{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;text-align:center;}
.acc-age-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.acc-age-val{font-size:18px;font-weight:800;}
.acc-age-count{font-size:10.5px;color:var(--text-dim);margin-top:3px;}
.acc-age-section-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}

/* WIP */
.acc-wip-matter-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;}

/* ── Opening Balances ───────────────────────────────────────── */
.acc-ob-info{background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:8px;padding:14px 16px;margin-bottom:20px;}
.acc-ob-section-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.acc-ob-type-row td{background:var(--bg-panel)!important;}
.acc-ob-balance-pill{font-size:12px;font-weight:600;padding:6px 14px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text-mid);}
.acc-ob-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:2px solid var(--border);margin-top:8px;}

/* ── PDF Drop zone ──────────────────────────────────────────── */
.acc-drop-zone{border:2px dashed var(--border);border-radius:10px;background:var(--bg);transition:border-color .15s,background .15s;margin-bottom:4px;}
.acc-drop-zone-hover{border-color:var(--blue);background:var(--blue-light);}
.acc-drop-zone-inner{padding:20px;text-align:center;cursor:pointer;color:var(--text-dim);}
.acc-drop-zone-inner:hover{color:var(--blue);}
.acc-drop-zone-loading{padding:20px;text-align:center;}

/* ── Recurring creditors ─────────────────────────────────────── */
.acc-freq-chip{font-size:10.5px;font-weight:700;text-transform:capitalize;padding:2px 8px;border-radius:4px;background:var(--bg-panel);color:var(--text-mid);border:1px solid var(--border);}

/* ── Bank Feed ──────────────────────────────────────────────── */
.bnk-txn-list{display:flex;flex-direction:column;gap:1px;}
.bnk-txn-row{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden;}
.bnk-txn-main{display:flex;align-items:flex-start;justify-content:space-between;padding:11px 14px;}
.bnk-txn-action{padding:0 14px 11px;border-top:1px solid var(--border);margin-top:0;background:var(--bg);padding-top:10px;}
.bnk-txn-left{flex:1;min-width:0;}
.bnk-txn-right{text-align:right;flex-shrink:0;margin-left:16px;}
.bnk-txn-date{font-size:11px;color:var(--text-dim);margin-bottom:2px;}
.bnk-txn-desc{font-size:13px;font-weight:600;color:var(--text);}
.bnk-txn-ref{font-size:11px;color:var(--text-dim);margin-top:2px;}
.bnk-txn-amount{font-size:15px;font-weight:800;line-height:1.1;}
.bnk-txn-balance{font-size:10.5px;color:var(--text-dim);margin-top:2px;}
.bnk-suggestion{display:flex;flex-direction:column;gap:3px;}
.bnk-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block;margin-top:4px;}
.bnk-badge-suggested{background:#fff8e6;color:#b7770d;border:1px solid #f5e0a0;}
.bnk-badge-matched{background:#f0faf0;color:var(--green);border:1px solid var(--green);}
.bnk-badge-reconciled{background:var(--bg-panel);color:var(--text-dim);border:1px solid var(--border);}
.bnk-badge-excluded{background:var(--bg-panel);color:var(--text-dim);border:1px solid var(--border);}

/* ── Creditor profiles ──────────────────────────────────────── */
.cp-supplier-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);}
.cp-supplier-row:last-child{border-bottom:none;}
.cp-supplier-row:hover{background:var(--blue-light);}
.cp-supplier-selected{background:var(--blue-light);}
.cp-supplier-new{color:var(--blue);}
.cp-supplier-avatar{width:32px;height:32px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.cp-type-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;text-align:center;transition:border-color .12s;}
.cp-type-card:hover{border-color:var(--blue-mid);}
.cp-type-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.cp-type-name{font-size:13px;font-weight:700;margin-bottom:4px;}
.cp-type-desc{font-size:11px;color:var(--text-dim);line-height:1.4;}

/* ── Supplier cards (list view) ─────────────────────────────── */
.cp-profile-card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.cp-card-main{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;}
.cp-card-main:hover{background:var(--blue-light);}
.cp-card-avatar{width:38px;height:38px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
.cp-card-info{flex:1;min-width:0;}
.cp-card-name{font-size:13.5px;font-weight:700;margin-bottom:3px;}
.cp-card-meta{display:flex;gap:12px;font-size:11.5px;color:var(--text-dim);flex-wrap:wrap;}
.cp-card-meta span::before{content:'·';margin-right:12px;}
.cp-card-meta span:first-child::before{content:none;}
.cp-card-stats{display:flex;gap:20px;flex-shrink:0;}
.cp-card-stat{text-align:right;}
.cp-card-stat-val{font-size:14px;font-weight:700;}
.cp-card-stat-lbl{font-size:10px;color:var(--text-dim);}
.cp-card-actions{display:flex;gap:6px;flex-shrink:0;}
.cp-card-docs{border-top:1px solid var(--border);}
.cp-docs-toggle{display:flex;align-items:center;gap:7px;padding:8px 16px;font-size:12px;color:var(--text-dim);cursor:pointer;background:var(--bg-panel);}
.cp-docs-toggle:hover{color:var(--text);}
.cp-docs-body{}
.cp-docs-list{padding:8px 16px 10px;}
.cp-doc-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);}
.cp-doc-row:last-child{border-bottom:none;}
.cp-doc-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cp-doc-info{flex:1;min-width:0;}
.cp-doc-name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cp-doc-meta{font-size:11px;color:var(--text-dim);margin-top:1px;}
.cp-doc-drop-zone{display:flex;align-items:center;gap:7px;padding:8px 0;font-size:12px;color:var(--text-dim);cursor:pointer;border-radius:6px;margin-top:6px;}
.cp-doc-drop-zone:hover{color:var(--blue);}
.cp-doc-drop-zone.acc-drop-zone-hover{color:var(--blue);background:var(--blue-light);padding:8px 8px;}

/* ── Supplier profile detail view ───────────────────────────── */
.cp-profile-hdr-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;gap:16px;}
.cp-profile-hdr-avatar{width:48px;height:48px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0;}
.cp-profile-hdr-info{flex:1;min-width:0;}
.cp-profile-hdr-name{font-size:16px;font-weight:800;margin-bottom:5px;}
.cp-profile-hdr-meta{display:flex;gap:16px;font-size:12px;color:var(--text-dim);flex-wrap:wrap;}
.cp-profile-hdr-meta span::before{content:'·';margin-right:16px;}
.cp-profile-hdr-meta span:first-child::before{content:none;}
.cp-profile-two-col{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}

/* ── Recurring payment cards ────────────────────────────────── */
.rc-card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;cursor:pointer;transition:border-color .12s;}
.rc-card:hover{border-color:var(--blue-mid);}
.rc-card-overdue{border-color:var(--red)!important;background:#fff8f8;}
.rc-card-main{display:flex;align-items:center;gap:16px;padding:14px 16px;}
.rc-card-left{flex:1;min-width:0;}
.rc-card-name{font-size:13.5px;font-weight:700;margin-bottom:2px;}
.rc-card-desc{font-size:12px;color:var(--text-dim);margin-bottom:6px;}
.rc-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rc-card-right{text-align:right;flex-shrink:0;}
.rc-card-amount{font-size:18px;font-weight:800;line-height:1.1;}
.rc-card-annual{font-size:11px;color:var(--text-dim);margin-top:2px;}
.rc-card-due{font-size:12px;margin-top:4px;}
.rc-card-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;}

/* ── Report tables ──────────────────────────────────────────── */
.rpt-controls{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:16px;}
.rpt-meta{font-size:12px;color:var(--text-dim);margin-bottom:16px;}
.rpt-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:8px;}
.rpt-table thead th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);padding:9px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border);}
.rpt-table td{padding:8px 12px;font-size:12.5px;border-bottom:1px solid var(--border);}
.rpt-table tr:last-child td{border-bottom:none;}
.rpt-num{text-align:right;font-family:'JetBrains Mono',monospace;font-weight:600;}
.rpt-num-hdr{text-align:right!important;}
.rpt-section-hdr td{background:var(--bg-panel);font-weight:700;font-size:12px;border-top:1px solid var(--border);padding:7px 12px;}
.rpt-total-row td{font-weight:700;border-top:2px solid var(--border);background:var(--bg);}
.rpt-grand-total td{font-weight:800;font-size:13px;border-top:3px solid var(--text);background:var(--bg-panel);padding:10px 12px;}
.rpt-balanced{color:var(--green);font-weight:700;font-size:12px;}
.rpt-unbalanced{color:var(--red);font-weight:700;font-size:12px;}

/* ── Invoice layout selector ────────────────────────────────── */
.inv-layout-card{padding:10px 14px;border:1px solid var(--border);border-radius:8px;cursor:pointer;min-width:140px;transition:border-color .12s,background .12s;}
.inv-layout-card:hover{border-color:var(--blue-mid);background:var(--blue-light);}
.inv-layout-active{border-color:var(--blue)!important;background:var(--blue-light)!important;}
.inv-layout-active div:first-child{color:var(--blue);}

/* ── Draft invoice review cards ─────────────────────────────── */
.acc-draft-card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.acc-draft-card-header{display:flex;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;}
.acc-draft-card-header:hover{background:var(--blue-light);}
.acc-draft-card-left{flex:1;min-width:0;}
.acc-draft-review{display:grid;grid-template-columns:1fr 300px;gap:0;border-top:1px solid var(--border);}
.acc-draft-lines{padding:16px;border-right:1px solid var(--border);}
.acc-draft-line{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden;}
.acc-draft-line-main{display:flex;align-items:center;gap:10px;padding:10px 12px;}
.acc-line-comments{background:var(--bg);border-top:1px solid var(--border);padding:8px 12px;}
.acc-line-comment{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);}
.acc-line-comment:last-child{border-bottom:none;}
.acc-comment-arrow{font-size:14px;color:var(--blue);flex-shrink:0;margin-top:2px;}
.acc-comment-resolved{opacity:.5;}
.acc-draft-totals{padding:12px 0;border-top:2px solid var(--border);margin-top:12px;}
.acc-draft-comments-panel{padding:16px;background:var(--bg-panel);}
.acc-general-comment{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;}
.acc-draft-add-comment{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}

/* ── Send to client modal ───────────────────────────────────── */
.send-step-tab{background:var(--bg);color:var(--text-dim);transition:background .12s,color .12s;}
.send-step-tab:hover{background:var(--blue-light);color:var(--blue);}
.send-step-tab.active{background:var(--blue-light);color:var(--blue);font-weight:700;}

/* ── Month / Year End checklist ─────────────────────────────── */
.me-step-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border);transition:background .1s;}
.me-step-row:last-child{border-bottom:none;}
.me-step-done{background:var(--green-bg);}
.me-step-check{flex-shrink:0;cursor:pointer;}
.me-check-empty{width:22px;height:22px;border:2px solid var(--border);border-radius:50%;}
.me-check-filled{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.me-check-fail{width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.me-step-info{flex:1;min-width:0;}
.me-step-label{font-size:13px;font-weight:700;margin-bottom:2px;}
.me-step-desc{font-size:11.5px;color:var(--text-dim);}
.me-step-actions{display:flex;gap:6px;flex-shrink:0;}

/* ── Global search ──────────────────────────────────────────── */
.gs-section-label{padding:8px 14px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-top:1px solid var(--border);}
.gs-section-label:first-child{border-top:none;}
.gs-result-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .08s;}
.gs-result-item:hover,.gs-result-item.gs-selected{background:var(--blue-light);}
.gs-result-icon{width:28px;height:28px;border-radius:6px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.gs-result-info{flex:1;min-width:0;}
.gs-result-title{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gs-result-sub{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.gs-result-arr{font-size:16px;color:var(--text-dim);flex-shrink:0;}

/* ── People Phase 2 ─────────────────────────────────────────── */
.ep-tab{background:var(--bg);color:var(--text-dim);padding:8px;text-align:center;cursor:pointer;font-size:12.5px;font-weight:600;transition:background .1s,color .1s;}
.ep-tab:hover{background:var(--blue-light);color:var(--blue);}
.ep-tab-active{background:var(--blue-light)!important;color:var(--blue)!important;}

/* ── AI Tools — hide old left panels, expand right ─────────── */
body:has(#view-aitools.active) .std2-left{display:none!important;}
body:has(#view-aitools.active) .sta2-left{display:none!important;}
body:has(#view-aitools.active) .std2-right{padding:0!important;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;}
body:has(#view-aitools.active) .sta2-right{padding:0!important;display:flex;flex-direction:column;overflow:hidden;}
/* Scrollable inner area for doc grid */
body:has(#view-aitools.active) .std2-right > #std2-doc-grid{flex:1;overflow-y:auto;padding:20px 28px;}
body:has(#view-aitools.active) .std2-right > #std2-recent-strip{flex-shrink:0;padding:16px 28px 0;}
body:has(#view-aitools.active) .std2-footer{padding:10px 28px!important;}
/* Scrollable body in AI Tools mode */
#std2-scroll-body{display:contents;} /* passthrough in normal mode */
body:has(#view-aitools.active) #std2-scroll-body{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:20px 28px;}
body:has(#view-aitools.active) #sta2-picker{flex:1;overflow-y:auto;padding:20px 28px;}
body:has(#view-aitools.active) #sta2-chat{flex:1;overflow:hidden;}
/* Tabs extend to edges inside scroll body */
body:has(#view-aitools.active) .std2-mode-tabs{margin-left:-28px;margin-right:-28px;padding:0 28px;}

/* ── AI Tools context bar ───────────────────────────────────── */
.aitools-context-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 28px;flex-shrink:0;position:sticky;top:0;z-index:10;}
body.aitools-overview .aitools-context-bar{display:none!important;}
body.aitools-overview #std2-pa-chip-strip{display:none!important;}
.aitools-matter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:6px;font-size:12.5px;font-weight:600;color:var(--text-mid);cursor:pointer;background:var(--bg);}
.aitools-matter-chip:hover{border-color:var(--blue);color:var(--blue);}
.aitools-inline-select{border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;background:var(--bg);color:var(--text);outline:none;}
.aitools-inline-input{border:1px solid var(--border);border-radius:6px;padding:5px 12px;font-size:12px;background:var(--bg);color:var(--text);outline:none;width:100%;}
.aitools-inline-input:focus,.aitools-inline-select:focus{border-color:var(--blue);}

/* ── AI Tools subnav step indicator ─────────────────────────── */
.sn-step{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);}
.sn-step.active{color:var(--blue);}
.sn-step.done{color:var(--green);}
.sn-step-num{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0;}
.sn-step.done .sn-step-num{background:var(--green);color:#fff;border-color:var(--green);}
.sn-step.active .sn-step-num{background:var(--blue-light);border-color:var(--blue);}
.sn-step-line{flex:1;height:1px;background:var(--border);min-width:8px;}

/* ── Analysis adhoc example tiles ───────────────────────────── */
.sta2-example-tile{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .12s,background .12s;}
.sta2-example-tile:hover{border-color:var(--blue-mid);background:var(--blue-light);}

/* ── AI Tools — hide sidebars for all tools, expand main panels ─ */
body:has(#view-aitools.active) .cr-sidebar{display:none!important;}
body:has(#view-aitools.active) .chron-sidebar{display:none!important;}
body:has(#view-aitools.active) .eb-sidebar{display:none!important;}
body:has(#view-aitools.active) .cr-main{background:var(--bg);}
body:has(#view-aitools.active) .chron-main{background:var(--bg);}
body:has(#view-aitools.active) .eb-main{background:var(--bg);}
/* Show all aitools context bars */
body:has(#view-aitools.active) .aitools-context-bar{display:block!important;}
/* Fix padding on right panels in AI Tools mode */
body:has(#view-aitools.active) .sta2-right{padding:0!important;}
/* Ensure tool views fill height correctly */
body:has(#view-aitools.active) #view-drafting-home,
body:has(#view-aitools.active) #view-analysis-home,
body:has(#view-aitools.active) #view-contract-review,
body:has(#view-aitools.active) #view-chronology-home,
body:has(#view-aitools.active) #view-ebrief-home,
body:has(#view-aitools.active) #view-templates{
  height:calc(100vh - var(--header-h));
  overflow:hidden;
}

/* ── AI Tools PA chip strip ─────────────────────────────────── */
.aitools-pa-strip{padding:8px 28px;border-bottom:1px solid var(--border);background:var(--surface);display:block;overflow-x:auto;}
/* aitools-pa-strip visibility handled inline */
.aitools-pa-chips{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;}
.aitools-pa-chips .std2-pa-pill{
  padding:5px 12px!important;
  border-radius:20px!important;
  font-size:12px!important;
  border:1px solid var(--border)!important;
  background:var(--bg)!important;
  cursor:pointer;
  white-space:nowrap;
  flex-direction:row!important;
  gap:5px!important;
  min-height:unset!important;
  width:auto!important;
}
.aitools-pa-chips .std2-pa-pill.active{
  background:var(--blue-light)!important;
  border-color:var(--blue-mid)!important;
  color:var(--blue)!important;
}
.aitools-pa-chips .std2-pa-icon{font-size:13px!important;}
.aitools-pa-chips .std2-pa-count{font-size:10px!important;opacity:.6;}

/* ── Drafting Thread Panel ───────────────────────────────────── */
.std2-thread-panel{width:220px;min-width:220px;border-right:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width .2s ease,min-width .2s ease;}
.std2-thread-panel.stp-collapsed{width:40px;min-width:40px;}
body:has(#view-aitools.active) .std2-thread-panel{display:flex!important;}
.stp-hdr{padding:9px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;flex-shrink:0;min-height:40px;}
.stp-toggle-btn{width:22px;height:22px;border-radius:5px;border:1px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-dim);padding:0;transition:background .1s;}
.stp-toggle-btn:hover{background:var(--bg);color:var(--text-mid);}
.stp-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);flex:1;white-space:nowrap;overflow:hidden;}
.stp-new-btn{font-size:11px;color:var(--blue);cursor:pointer;background:none;border:none;font-family:inherit;font-weight:600;white-space:nowrap;flex-shrink:0;}
.stp-list{flex:1;overflow-y:auto;padding:6px 0;}
.stp-thread{padding:8px 12px;cursor:pointer;border-left:3px solid transparent;transition:background .1s;display:flex;align-items:center;gap:8px;}
.stp-thread:hover{background:var(--bg);}
.stp-thread.active{background:var(--blue-light);border-left-color:var(--blue);}
.stp-thread-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.stp-thread-dot.has-items{background:var(--blue-light);border:1.5px solid var(--blue);}
.stp-thread-dot.empty{background:var(--bg);border:1.5px solid var(--border-mid);}
.stp-thread-text{overflow:hidden;flex:1;}
.stp-thread-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stp-thread.active .stp-thread-name{color:var(--blue);}
.stp-thread-meta{font-size:10.5px;color:var(--text-dim);}
.std2-thread-panel.stp-collapsed .stp-title,
.std2-thread-panel.stp-collapsed .stp-new-btn,
.std2-thread-panel.stp-collapsed .stp-thread-text,
.std2-thread-panel.stp-collapsed .stp-upload-btn,
.std2-thread-panel.stp-collapsed .stp-items,
.std2-thread-panel.stp-collapsed .stp-empty{display:none;}
.std2-thread-panel.stp-collapsed .stp-thread{padding:8px;justify-content:center;border-left:3px solid transparent;}
.std2-thread-panel.stp-collapsed .stp-thread.active{border-left-color:var(--blue);}
.std2-thread-panel.stp-collapsed .stp-hdr{justify-content:center;padding:9px 8px;}
.stp-items{padding:0 0 4px 22px;border-left:1.5px solid var(--border);margin-left:19px;}
.stp-item{display:flex;gap:7px;padding:4px 0;align-items:flex-start;}
.stp-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px;margin-left:-11px;}
.stp-dot.draft{background:#4F46E5;}
.stp-dot.response{background:#EA580C;}
.stp-item-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);}
.stp-item-name{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
.stp-item-date{font-size:9.5px;color:var(--text-dim);}
.stp-upload-btn{margin:4px 14px 8px;padding:7px 10px;border:1px dashed var(--border);border-radius:7px;font-size:11px;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;gap:6px;background:none;width:calc(100% - 28px);transition:border-color .1s;}
.stp-upload-btn:hover{border-color:var(--blue-mid);color:var(--blue);}
.stp-empty{padding:20px 14px;font-size:12px;color:var(--text-dim);text-align:center;line-height:1.6;}

/* Thread context banner in content area */
.dth-context-banner{font-size:12px;color:var(--text-mid);background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:8px;padding:8px 12px;margin-bottom:16px;display:flex;align-items:center;gap:8px;}

/* Thread item cards in content area */
.dth-item-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.dth-item-hdr{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.dth-item-type{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.dth-item-type.draft{color:var(--blue);}
.dth-item-type.response{color:#EA580C;}
.dth-item-name{font-size:12.5px;font-weight:600;color:var(--text);}
.dth-item-body{padding:16px 20px;font-family:Arial,sans-serif;font-size:10pt;line-height:1.8;color:var(--text);white-space:pre-wrap;max-height:160px;overflow:hidden;position:relative;}
.dth-item-body::after{content:'';position:absolute;bottom:0;left:0;right:0;height:36px;background:linear-gradient(transparent,var(--white));}
.dth-item-ftr{padding:8px 16px;border-top:1px solid var(--border);display:flex;gap:6px;}

/* Continue panel */
.dth-continue{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px;}
.dth-continue-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:10px;}
.dth-doc-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.dth-chip{padding:5px 12px;border-radius:20px;font-size:12px;border:1px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;transition:all .1s;}
.dth-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.dth-chip.primary{border-color:var(--blue-mid);color:var(--blue);background:var(--blue-light);}

/* ── Thread chat bar ── */
.dth-chat-bar{background:var(--white);border-top:1px solid var(--border);padding:12px 20px 14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.dth-chat-modes{display:flex;gap:6px;flex-wrap:wrap;}
.dth-chat-mode-btn{padding:4px 11px;border-radius:14px;font-size:11px;font-weight:600;border:1.5px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;transition:all .12s;white-space:nowrap;}
.dth-chat-mode-btn:hover{border-color:var(--blue);color:var(--blue);}
.dth-chat-mode-btn.active{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.dth-chat-input-row{display:flex;gap:8px;align-items:flex-end;}
.dth-chat-input-row textarea{flex:1;border:1.5px solid var(--border);border-radius:9px;padding:9px 12px;font-family:inherit;font-size:12.5px;color:var(--text);resize:none;line-height:1.5;min-height:40px;max-height:120px;transition:border-color .12s;background:var(--bg);}
.dth-chat-input-row textarea:focus{outline:none;border-color:var(--blue);background:var(--white);}
.dth-chat-input-row textarea::placeholder{color:var(--text-dim);}
.dth-chat-send-btn{padding:9px 16px;background:var(--blue);color:#fff;border:none;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .12s;height:40px;}
.dth-chat-send-btn:hover{background:var(--blue-dark);}
.dth-chat-send-btn:disabled{opacity:.5;cursor:default;}
.dth-chat-hint{font-size:10.5px;color:var(--text-dim);}

/* ── AI reply card in thread ── */
.dth-ai-reply-card{background:linear-gradient(135deg,var(--blue-light) 0%,#f0f4ff 100%);border:1px solid var(--blue-mid);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.dth-ai-reply-hdr{padding:10px 16px;border-bottom:1px solid var(--blue-mid);display:flex;align-items:center;justify-content:space-between;}
.dth-ai-reply-type{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);}
.dth-ai-reply-body{padding:16px 20px;font-size:12.5px;line-height:1.7;color:var(--text);white-space:pre-wrap;}
.dth-ai-reply-ftr{padding:8px 16px;border-top:1px solid var(--blue-mid);display:flex;gap:6px;}

/* ── Matter Workspace ────────────────────────────────────────── */
#view-matter-workspace{display:flex;}
.mw-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12.5px;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .1s;}
.mw-tab:hover{color:var(--text);}
.mw-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600;}
.mw-tab-badge{background:var(--orange);color:#fff;font-size:9px;padding:1px 5px;border-radius:8px;font-weight:700;margin-left:2px;}

/* Workspace grid layouts */
.mw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.mw-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;}
.mw-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:16px;}
.mw-card-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
.mw-card-action{font-size:11px;color:var(--blue);cursor:pointer;font-weight:600;text-transform:none;letter-spacing:0;}
.mw-stat-val{font-size:24px;font-weight:800;color:var(--text);line-height:1;}
.mw-stat-lbl{font-size:11.5px;color:var(--text-dim);margin-top:5px;}
.mw-stat-sub{font-size:11px;margin-top:6px;}

/* Sidebar recent matters */
.sb-matter-item{padding:7px 14px 7px 12px;cursor:pointer;border-left:3px solid transparent;display:block;}
.sb-matter-item:hover{background:rgba(255,255,255,0.05);}
.sb-matter-item.active{background:rgba(232,98,26,0.18);border-left-color:var(--orange);}
.sb-matter-ref{font-size:10px;font-weight:700;color:var(--orange);font-family:'JetBrains Mono',monospace;letter-spacing:.04em;}
.sb-matter-name{font-size:12px;color:rgba(255,255,255,0.85);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px;}
.sb-matter-client{font-size:10.5px;color:rgba(255,255,255,0.4);}

/* Task & date items in workspace */
.mw-task{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.mw-task:last-child{border-bottom:none;}
.mw-task-cb{width:16px;height:16px;border:1.5px solid var(--border-mid);border-radius:4px;flex-shrink:0;margin-top:2px;cursor:pointer;}
.mw-task-cb.done{background:var(--green);border-color:var(--green);}
.mw-date-item{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);}
.mw-date-item:last-child{border-bottom:none;}
.mw-date-badge{width:38px;height:38px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
.mw-date-day{font-size:17px;font-weight:800;line-height:1;}
.mw-date-mon{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:1px;}

/* Activity feed */
.mw-feed-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
.mw-feed-item:last-child{border-bottom:none;}
.mw-feed-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.mw-feed-txt{font-size:12.5px;color:var(--text);line-height:1.4;}
.mw-feed-time{font-size:10.5px;color:var(--text-dim);margin-top:2px;}

/* People in workspace */
.mw-person{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.mw-person:last-child{border-bottom:none;}

/* ── Matter Workspace polish ─────────────────────────────────── */
.sb-matter-ref{font-size:10px;font-weight:700;color:var(--orange);letter-spacing:.04em;font-family:'JetBrains Mono',monospace;}
.sb-matter-name{font-size:12px;color:rgba(255,255,255,0.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;margin-top:1px;}
.sb-matter-client{font-size:10.5px;color:rgba(255,255,255,0.38);margin-top:1px;}
.mw-feed-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
.mw-feed-item:last-child{border-bottom:none;}
.mw-feed-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.mw-feed-txt{font-size:12.5px;color:var(--text);line-height:1.4;}
.mw-feed-time{font-size:10.5px;color:var(--text-dim);margin-top:2px;}
.mw-person{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.mw-person:last-child{border-bottom:none;}
.mw-date-item{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);}
.mw-date-item:last-child{border-bottom:none;}
.mw-date-badge{width:38px;height:38px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
.mw-date-day{font-size:16px;font-weight:700;line-height:1;}
.mw-date-mon{font-size:8.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}

/* ── Workspace inline analysis ───────────────────────────────── */
.mw-ana-type:hover{background:var(--bg);}
.mw-ana-type.active{background:var(--blue-light);}
.mw-ana-type.active .mw-ana-type-name{color:var(--blue);}
