/* ============================================================================
   CTai 2 — v1.0  ·  r40  ·  CHUNK 1 OF THE V2 LIFT: V1 CSS/SHELL PARITY
   ----------------------------------------------------------------------------
   SECTION 1 — V1 BASE (verbatim): the complete V1 r53.14 stylesheet, lifted
   character-for-character from the production monolith. THIS IS THE SPEC.
   Do not edit Section 1 — fixes to V1 visuals go through the parity ledger.
   SECTION 2 — V2 EXTENSIONS (appended, V1 wins on any conflict): token
   aliases for V2 module-injected styles + V2-only infrastructure (auth,
   modal, dropdown, toast, live composer host) that has no V1 counterpart yet.
   History: r24 shell · r35/36 Carmen rail · r37 Sofia welcome · r38 stamps ·
   r39 clock+calendar · r40 V1 CSS base + shell re-cut to V1 markup.
   ============================================================================ */

/* ===================== SECTION 1 · V1 r53.14 BASE (VERBATIM) ===================== */
:root {
  --navy:#1E345A; --navy2:#162444; --navy3:#1a2d52; --orange:#E87E23; --orange2:#D4621F;
  --bg:#0d1117; --bg2:#131920; --bg3:#1a2330; --bg4:#1f2b3a;
  --border:rgba(255,255,255,0.07); --text:#e8eef5; --muted:#6a7d93;
  --panel-w:240px; --right-w:310px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Futura','Nunito',system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);height:100vh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;}/* r49.4: padding-bottom:20px removed (V1 carried it verbatim — dead strip under the app) */

/* TOP BAR */
.topbar{height:52px;background:#1E345A;display:flex;align-items:center;padding:0 20px;border-bottom:2px solid rgba(232,126,35,0.75);flex-shrink:0;position:relative;}
.topbar-app{display:flex;align-items:center;gap:12px;}
.topbar-wordmark{display:flex;flex-direction:column;line-height:1.2;}
.topbar-wordmark-name{font-size:16px;font-weight:900;letter-spacing:1.5px;color:#fff;text-transform:uppercase;}
.topbar-wordmark-name span{color:#E87E23;}
.topbar-wordmark-tag{font-size:8px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.topbar-divider-v{width:1px;height:32px;background:rgba(255,255,255,0.15);margin:0 20px;}
.topbar-client{margin-left:auto;display:flex;align-items:center;gap:10px;}
.topbar-client img{height:20px;width:auto;opacity:0.85;}
.topbar-client strong{color:rgba(255,255,255,0.9);font-weight:700;font-size:12px;}
.topbar-client-lic{font-size:10px;color:rgba(255,255,255,0.35);font-weight:400;}
.topbar-user-strip{height:24px;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:flex-end;padding:0 20px;gap:6px;flex-shrink:0;}
.topbar-user-name{font-size:10px;color:rgba(255,255,255,0.5);font-weight:500;}
.topbar-status-dot{width:6px;height:6px;border-radius:50%;}
.topbar-status-dot.online{background:#22c55e;box-shadow:0 0 5px #22c55e;}
.topbar-status-dot.offline{background:#6a7d93;}





/* PROJECT BAR */
.project-bar{height:42px;background:#1E345A;border-bottom:2px solid var(--orange);display:flex;align-items:center;padding:0 12px;gap:0;flex-shrink:0;overflow-x:auto;}
.project-bar::-webkit-scrollbar{height:3px;}
.project-bar::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.3);border-radius:2px;}
.proj-bar-left{display:flex;align-items:center;gap:6px;flex:1;min-width:0;}
.proj-bar-divider{width:1px;height:22px;background:rgba(255,255,255,0.12);margin:0 8px;flex-shrink:0;}
.proj-bar-right{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto;padding-left:8px;}
.proj-tab{display:flex;align-items:center;gap:7px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
.proj-tab{cursor:default !important;}
.proj-tab.context{background:transparent;border-color:transparent;cursor:default;}
.proj-tab-dot{width:8px;height:8px;border-radius:50%;}
.proj-tab-name{font-size:11px;font-weight:700;color:var(--text);}
.proj-tab-phase{font-size:9px;color:var(--muted);font-weight:600;}
.proj-tab-brief{background:none;border:none;cursor:pointer;font-size:13px;padding:1px 3px;border-radius:3px;color:var(--orange);transition:transform 0.15s;}
.proj-tab-brief:hover{transform:scale(1.2);}
.proj-tab-edit{background:none;border:none;cursor:pointer;font-size:11px;padding:1px 3px;border-radius:3px;color:rgba(255,255,255,0.3);transition:all 0.15s;}
.proj-tab-edit:hover{color:rgba(255,255,255,0.8);transform:scale(1.15);}
.proj-switcher{position:relative;flex-shrink:0;}
.proj-switcher-btn{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:6px;cursor:pointer;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);transition:all 0.15s;white-space:nowrap;min-width:160px;max-width:260px;}
.proj-switcher-btn:hover,.proj-switcher-btn.open{background:rgba(232,126,35,0.1);border-color:rgba(232,126,35,0.4);}
.proj-switcher-info{display:flex;flex-direction:column;flex:1;min-width:0;}
.proj-switcher-name{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0px;}
.proj-switcher-phase{font-size:9px;color:rgba(255,255,255,0.4);font-weight:600;}
.proj-switcher-arrow{font-size:9px;color:rgba(255,255,255,0.35);flex-shrink:0;transition:transform 0.15s;}
.proj-switcher-btn.open .proj-switcher-arrow{transform:rotate(180deg);}
.proj-switcher-dropdown{display:none;position:fixed;z-index:9990;background:#162d4a;border:1px solid rgba(255,255,255,0.12);border-radius:8px;min-width:280px;max-width:340px;box-shadow:0 8px 32px rgba(0,0,0,0.5);overflow:hidden;max-height:70vh;overflow-y:auto;}
.proj-switcher-dropdown.open{display:block;}
.proj-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.05);transition:background 0.1s;}
.proj-dropdown-item:last-child{border-bottom:none;}
.proj-dropdown-item:hover{background:rgba(255,255,255,0.05);}
.proj-dropdown-item.active{background:rgba(232,126,35,0.08);}
.proj-dropdown-info{flex:1;min-width:0;}
.proj-dropdown-name{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.proj-dropdown-phase{font-size:9px;color:rgba(255,255,255,0.4);font-weight:600;}
.proj-dropdown-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.add-proj-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px dashed rgba(232,126,35,0.35);background:rgba(232,126,35,0.04);color:var(--orange);font-size:10px;font-weight:800;letter-spacing:0.5px;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
.add-proj-btn:hover{background:rgba(232,126,35,0.1);border-color:var(--orange);}
.add-data-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px dashed rgba(255,255,255,0.2);background:rgba(255,255,255,0.03);color:rgba(255,255,255,0.55);font-size:10px;font-weight:700;letter-spacing:0.5px;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
.add-data-btn:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.4);color:rgba(255,255,255,0.9);}
/* Data modal */
.data-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1000;display:flex;align-items:center;justify-content:center;}
.data-modal{background:#1a2744;border:1px solid rgba(232,126,35,0.3);border-radius:12px;width:520px;max-width:95vw;max-height:88vh;overflow-y:auto;padding:28px;}
.data-modal-title{font-size:15px;font-weight:800;color:#fff;margin-bottom:4px;letter-spacing:0.3px;}
.data-modal-sub{font-size:11px;color:rgba(255,255,255,0.45);margin-bottom:20px;}
.data-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;}
.data-type-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:14px;cursor:pointer;transition:all 0.15s;position:relative;}
.data-type-card:hover{background:rgba(232,126,35,0.08);border-color:rgba(232,126,35,0.4);}
.data-type-card.selected{background:rgba(232,126,35,0.1);border-color:var(--orange);}
.dtc-icon{font-size:20px;margin-bottom:6px;}
.dtc-label{font-size:11px;font-weight:700;color:#fff;margin-bottom:2px;}
.dtc-desc{font-size:10px;color:rgba(255,255,255,0.4);}
.data-drop-zone{border:2px dashed rgba(232,126,35,0.35);border-radius:8px;padding:28px;text-align:center;cursor:pointer;transition:all 0.2s;background:rgba(232,126,35,0.02);}
.data-drop-zone:hover,.data-drop-zone.dz-active{background:rgba(232,126,35,0.07);border-color:var(--orange);}
.data-drop-zone-icon{font-size:28px;margin-bottom:8px;}
.data-drop-zone-text{font-size:12px;color:rgba(255,255,255,0.6);margin-bottom:4px;}
.data-drop-zone-sub{font-size:10px;color:rgba(255,255,255,0.3);}
.data-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
.no-proj-hint{font-size:10px;color:var(--muted);font-style:italic;padding:0 8px;}
.general-tab{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);transition:all 0.15s;white-space:nowrap;flex-shrink:0;margin-right:4px;}
.general-tab:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.2);}
.general-tab.active{background:rgba(232,126,35,0.12);border-color:rgba(232,126,35,0.6);}
.general-tab-icon{font-size:12px;}
.general-tab-name{font-size:11px;font-weight:700;color:var(--text);}
.log-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.7);font-size:11px;font-weight:700;letter-spacing:0px;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
@keyframes hdm-pulse{0%,100%{border-color:rgba(232,126,35,0.4);background:rgba(232,126,35,0.08);color:#E87E23;}50%{border-color:rgba(232,126,35,0.9);background:rgba(232,126,35,0.25);color:#fff;}}
.hdm-unread{animation:hdm-pulse 1.4s ease-in-out infinite;}
.log-btn:hover{background:rgba(232,126,35,0.12);border-color:rgba(232,126,35,0.4);color:var(--orange);}
.log-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:2000;display:none;align-items:center;justify-content:center;}
.log-modal-overlay.open{display:flex;}
/* Cert Modal */
.cert-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:3000;display:none;align-items:center;justify-content:center;}
.cert-modal-overlay.open{display:flex;}
.cert-modal{background:#1a2332;border:1px solid rgba(255,255,255,0.12);border-radius:14px;padding:24px;width:360px;max-width:95vw;}
.cert-modal-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:4px;}
.cert-modal-sub{font-size:11px;color:var(--muted);margin-bottom:18px;}
.cert-field{margin-bottom:14px;}
.cert-field label{display:block;font-size:10px;font-weight:700;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.6px;margin-bottom:5px;}
.cert-field input,.cert-field select{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:7px;padding:8px 10px;color:#fff;font-size:12px;outline:none;box-sizing:border-box;}
.cert-field input:focus,.cert-field select:focus{border-color:var(--orange);}
.cert-field select option{background:#1a2332;color:#fff;}
.cert-quick{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.cert-quick-btn{font-size:9px;padding:3px 8px;border-radius:10px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.6);cursor:pointer;}
.cert-quick-btn:hover{border-color:var(--orange);color:var(--orange);}
.cert-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;}
.cert-save-btn{background:var(--orange);color:#fff;border:none;border-radius:7px;padding:8px 20px;font-size:12px;font-weight:700;cursor:pointer;}
.cert-save-btn:hover{opacity:0.85;}
.cert-cancel-btn{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.12);border-radius:7px;padding:8px 14px;font-size:12px;cursor:pointer;}
.cert-cancel-btn:hover{background:rgba(255,255,255,0.12);}
.log-modal{background:#1a2235;border:1px solid rgba(255,255,255,0.1);border-radius:14px;width:760px;max-width:94vw;max-height:84vh;display:flex;flex-direction:column;overflow:hidden;}
.log-modal-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.log-modal-title{font-size:14px;font-weight:800;color:#fff;}
.log-modal-sub{font-size:10px;color:var(--muted);margin-top:2px;}
.log-modal-actions{display:flex;gap:8px;}
.log-export-btn{padding:5px 12px;border-radius:6px;border:1px solid rgba(232,126,35,0.4);background:rgba(232,126,35,0.08);color:var(--orange);font-size:10px;font-weight:700;cursor:pointer;letter-spacing:0.4px;}
.log-export-btn:hover{background:rgba(232,126,35,0.18);}
.log-close-btn{padding:5px 10px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:rgba(255,255,255,0.5);font-size:11px;cursor:pointer;}
.log-close-btn:hover{background:rgba(255,255,255,0.06);}
.log-modal-body{flex:1;overflow-y:auto;padding:16px 20px;}
.log-modal-body::-webkit-scrollbar{width:4px;}
.log-modal-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:2px;}
.dc-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.82);z-index:2100;display:none;align-items:center;justify-content:center;}
.dc-overlay.open{display:flex;}
.dc-shell{background:#0D1B2E;border:2px solid rgba(232,126,35,0.65);border-radius:14px;width:96vw;height:90vh;max-width:1400px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 28px rgba(232,126,35,0.12);}
.dc-header{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;gap:14px;flex-shrink:0;}
.dc-avatar{width:30px;height:30px;border-radius:50%;background:#C8982A;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.dc-title{font-size:14px;font-weight:800;color:#fff;letter-spacing:.5px;}
.dc-subtitle{font-size:10px;color:rgba(255,255,255,0.4);margin-top:1px;}
.dc-search{flex:1;max-width:380px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:7px 12px;}
.dc-search-icon{font-size:12px;color:rgba(255,255,255,0.35);}
.dc-search-input{background:transparent;border:none;outline:none;font-size:12px;color:#fff;width:100%;font-family:inherit;}
.dc-search-input::placeholder{color:rgba(255,255,255,0.3);}
.dc-close{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:rgba(255,255,255,0.5);font-size:12px;padding:5px 12px;cursor:pointer;font-family:inherit;}
.dc-close:hover{background:rgba(255,255,255,0.06);color:#fff;}
.dc-body{flex:1;display:flex;overflow:hidden;}
.dc-buckets{width:260px;border-left:1px solid rgba(255,255,255,0.06);overflow-y:auto;padding:8px 0;flex-shrink:0;}
.dc-buckets::-webkit-scrollbar{width:3px;}
.dc-buckets::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px;}
.dc-phase{font-size:9px;color:rgba(255,255,255,0.28);text-transform:uppercase;letter-spacing:.1em;padding:10px 14px 4px;}
.dc-bucket{padding:2px 6px;}
.dc-bucket-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;}
.dc-bucket-row:hover{background:rgba(255,255,255,0.05);}
.dc-bucket-row.active{background:rgba(232,126,35,0.1);}
.dc-b-icon{font-size:13px;width:18px;text-align:center;flex-shrink:0;}
.dc-b-name{font-size:11px;color:rgba(255,255,255,0.65);flex:1;font-weight:600;}
.dc-bucket-row.active .dc-b-name{color:#E87E23;}
.dc-b-count{font-size:11px;font-weight:800;padding:2px 7px;border-radius:6px;background:rgba(232,126,35,0.22);color:#E87E23;}
.dc-b-count.empty{font-size:11px;font-weight:700;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.4);}
.dc-files{padding:2px 4px 6px 8px;}
.dc-file-row{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:0;cursor:pointer;margin-bottom:0;border-left:2px solid transparent;}
.dc-file-row:hover{background:rgba(255,255,255,0.04);}
.dc-file-row.active{background:rgba(232,126,35,0.08);border-left-color:#E87E23;}
.dc-f-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.dc-f-name{font-size:10px;color:rgba(255,255,255,0.6);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.dc-file-row.active .dc-f-name{color:#E87E23;}
.dc-f-ws{font-size:9px;font-weight:700;color:rgba(255,255,255,0.2);flex-shrink:0;padding:1px 3px;cursor:pointer;border-radius:3px;}
.dc-f-ws:hover{color:#E87E23;}
.dc-viewer{flex:1;display:flex;flex-direction:column;background:#0a1525;overflow:hidden;}
.dc-viewer-header{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-height:42px;}
.dc-viewer-breadcrumb{font-size:10px;color:rgba(255,255,255,0.3);font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dc-viewer-breadcrumb span.active{color:#E87E23;}
.dc-viewer-title{display:none;}
.dc-viewer-status{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:700;}
.dc-vbtn{font-size:11px;font-weight:700;padding:5px 12px;border-radius:5px;border:1px solid rgba(255,255,255,0.12);background:transparent;color:rgba(255,255,255,0.55);cursor:pointer;font-family:inherit;}
.dc-vbtn:hover{background:rgba(255,255,255,0.06);color:#fff;}
.dc-vbtn.send{background:rgba(232,126,35,0.15);border-color:rgba(232,126,35,0.4);color:#E87E23;}
.dc-vbtn.send:hover{background:rgba(232,126,35,0.25);}
.dc-viewer-body{flex:1;overflow-y:auto;background:#0a1525;color:#1a1a1a;display:flex;justify-content:center;padding:24px 0;}
.dc-viewer-body::-webkit-scrollbar{width:4px;}
.dc-viewer-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:2px;}
.dc-doc-wrap{max-width:820px;margin:0 auto;padding:36px 48px;font-family:Arial,sans-serif;}
.dc-doc-letterhead{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:3px solid #2563A5;margin-bottom:18px;}
.dc-doc-company{font-size:16px;font-weight:700;color:#0D2137;letter-spacing:.3px;}
.dc-doc-license{font-size:9px;color:#3B6B8A;margin-top:3px;letter-spacing:.05em;}
.dc-doc-contact{text-align:right;font-size:10px;color:#3B6B8A;line-height:1.7;}
.dc-doc-project-bar{background:#0D2137;border-radius:6px;padding:10px 16px;margin-bottom:20px;display:flex;gap:28px;flex-wrap:wrap;}
.dc-doc-pb-item{display:flex;flex-direction:column;gap:2px;}
.dc-doc-pb-label{font-size:8px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:.1em;}
.dc-doc-pb-val{font-size:11px;font-weight:700;color:#fff;}
.dc-doc-section-title{font-size:10px;font-weight:700;color:#0D2137;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #D0E4F5;padding-bottom:5px;margin:18px 0 10px;}
.dc-doc-content{font-size:12px;color:#0D2137;line-height:1.75;}
.dc-doc-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:11px;}
.dc-doc-table th{background:#0D2137;color:#fff;padding:7px 10px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.05em;}
.dc-doc-table td{padding:6px 10px;border-bottom:1px solid #D0E4F5;color:#1A3A5C;vertical-align:top;}
.dc-doc-table tr:nth-child(even) td{background:#f4f8fc;}
.dc-doc-rfi{background:#fff8f4;border-left:3px solid #E87E23;padding:8px 12px;margin-bottom:8px;border-radius:0 4px 4px 0;}
.dc-doc-rfi-id{font-size:10px;font-weight:700;color:#E87E23;margin-bottom:3px;}
.dc-doc-rfi-text{font-size:11px;color:#1A3A5C;line-height:1.5;}
.dc-doc-rfi-status{font-size:9px;color:#888;margin-top:3px;font-style:italic;}
.dc-doc-footer{border-top:1px solid #D0E4F5;padding-top:10px;margin-top:28px;display:flex;justify-content:space-between;align-items:center;}
.dc-doc-footer-left{font-size:9px;color:#3B6B8A;}
.dc-doc-footer-right{font-size:9px;color:#3B6B8A;text-align:right;}
.dc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:40px;background:transparent;}
.dc-empty-icon{font-size:36px;opacity:.2;filter:grayscale(1);}
.dc-empty-text{font-size:13px;color:rgba(0,0,0,0.25);text-align:center;line-height:1.6;}
.dc-ask-bar{padding:8px 12px;border-top:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;gap:0;flex-shrink:0;background:#0a1525;}
.dc-ask-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-left:none;border-right:none;padding:9px 12px;font-size:13px;color:#fff;font-family:inherit;outline:none;}
.dc-ask-input::placeholder{color:rgba(255,255,255,0.3);}
.dc-ask-input:focus{border-color:rgba(232,126,35,0.5);}
.dc-ask-btn{width:36px;height:36px;border-radius:0 9px 9px 0;background:var(--orange);border:none;color:#fff;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.dc-ask-btn:hover{background:#d06e1a;transform:none;}
.pa-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.82);z-index:2200;display:none;align-items:center;justify-content:center;}
.pa-overlay.open{display:flex;}
.pa-shell{background:#0D1B2E;border:2px solid rgba(232,126,35,0.65);border-radius:14px;width:1100px;max-width:97vw;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 28px rgba(232,126,35,0.12);}
.pa-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;gap:12px;flex-shrink:0;}
.pa-hdr-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.pa-hdr-name{font-size:14px;font-weight:800;color:#fff;}
.pa-hdr-role{font-size:10px;color:rgba(255,255,255,0.4);margin-top:1px;}
.pa-close{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:rgba(255,255,255,0.5);font-size:12px;padding:5px 12px;cursor:pointer;font-family:inherit;}
.pa-close:hover{background:rgba(255,255,255,0.06);color:#fff;}
.pa-body{flex:1;display:flex;overflow:hidden;}
.pa-planner{width:380px;border-left:1px solid rgba(255,255,255,0.06);border-right:none;overflow-y:auto;padding:12px 0;flex-shrink:0;border-radius:0 0 13px 0;}
.pa-planner::-webkit-scrollbar{width:3px;}
.pa-planner::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px;}
.pa-pl-section{padding:0 14px 12px;}
.pa-pl-label{font-size:11px;color:#fff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-weight:900;}
.pa-pl-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;margin-bottom:4px;background:rgba(255,255,255,0.03);}
.pa-pl-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.pa-pl-text{font-size:11px;color:rgba(255,255,255,0.6);line-height:1.4;}
.pa-pl-empty{font-size:11px;color:rgba(255,255,255,0.25);font-style:italic;padding:4px 8px;}
.pa-pl-divider{height:0.5px;background:rgba(255,255,255,0.06);margin:8px 14px 12px;}
.pa-note-item{padding:8px 10px;border-radius:6px;margin-bottom:5px;border-left:3px solid;}
.pa-note-title{font-size:11px;font-weight:700;color:#fff;margin-bottom:2px;}
.pa-note-body{font-size:10px;color:rgba(255,255,255,0.5);line-height:1.4;}
.pa-chat{flex:1;display:flex;flex-direction:column;background:#0a1525;overflow:hidden;border-radius:0 0 13px 0;}
.pa-chat-msgs{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
.pa-chat-msgs::-webkit-scrollbar{width:3px;}
.pa-chat-msgs::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.3);border-radius:2px;}
.pa-msg-ai{display:flex;gap:10px;align-items:flex-start;}
.pa-msg-ai-bubble{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:10px 10px 10px 2px;padding:10px 14px;font-size:12px;color:rgba(255,255,255,0.85);line-height:1.6;max-width:85%;}
.pa-msg-user{display:flex;justify-content:flex-end;}
.pa-msg-user-bubble{background:#1E345A;border-radius:10px 10px 2px 10px;padding:10px 14px;font-size:12px;color:#fff;line-height:1.6;max-width:85%;}
.pa-msg-avatar{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;}
.pa-input-bar{padding:6px 8px;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:0;flex-shrink:0;background:#0a1525;}
.pa-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-left:none;border-right:none;padding:9px 12px;font-size:13px;color:#fff;font-family:inherit;outline:none;resize:none;max-height:100px;}
.pa-input::placeholder{color:rgba(255,255,255,0.3);}
.pa-input:focus{border-color:rgba(232,126,35,0.4);}
.pa-send{width:36px;height:36px;border-radius:0 9px 9px 0;background:var(--orange);border:none;color:#fff;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.pa-send:hover{background:#d06e1a;}
.pa-today-bar{padding:10px 14px 8px;border-bottom:0.5px solid rgba(255,255,255,0.06);margin-bottom:4px;}
.pa-today-date{font-size:13px;font-weight:700;color:#fff;}
.pa-today-sub{font-size:10px;color:rgba(255,255,255,0.35);margin-top:2px;}
.pa-mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px;}
.pa-cal-day-header{font-size:8px;color:rgba(255,255,255,0.3);text-align:center;padding:2px 0;font-weight:700;}
.pa-cal-day{font-size:10px;color:rgba(255,255,255,0.5);text-align:center;padding:4px 2px;border-radius:4px;cursor:pointer;position:relative;line-height:1;}
.pa-cal-day:hover{background:rgba(255,255,255,0.07);}
.pa-cal-day.today{background:#E87E23;color:#fff;font-weight:700;}
.pa-cal-day.has-event::after{content:'';position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:#E87E23;}
.pa-cal-day.today.has-event::after{background:#fff;}
.pa-cal-day.other-month{color:rgba(255,255,255,0.18);}
.pa-cal-nav{background:transparent;border:0.5px solid rgba(255,255,255,0.15);border-radius:4px;color:rgba(255,255,255,0.5);font-size:14px;padding:1px 6px;cursor:pointer;line-height:1;}
.pa-cal-nav:hover{background:rgba(255,255,255,0.07);color:#fff;}
.pa-pl-add-btn{font-size:9px;font-weight:700;color:#E87E23;background:rgba(232,126,35,0.08);border:0.5px solid rgba(232,126,35,0.25);border-radius:4px;padding:2px 7px;cursor:pointer;font-family:inherit;}
.pa-pl-add-btn:hover{background:rgba(232,126,35,0.15);}
.pa-priority-legend{display:flex;align-items:center;gap:4px;font-size:9px;color:rgba(255,255,255,0.35);margin-bottom:8px;}
.pa-pri-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block;}
.pa-note-card{border-radius:7px;padding:8px 10px;margin-bottom:6px;border-left:3px solid;position:relative;transition:opacity 0.35s;}
.pa-note-card.urgent{border-color:#E24B4A;background:rgba(226,75,74,0.08);}
.pa-note-card.normal{border-color:#E87E23;background:rgba(232,126,35,0.08);}
.pa-note-card.low{border-color:#1D9E75;background:rgba(29,158,117,0.08);}
.pa-note-top{display:flex;align-items:flex-start;gap:7px;}
.pa-note-check{width:14px;height:14px;flex-shrink:0;margin-top:2px;accent-color:#E87E23;cursor:pointer;}
.pa-note-content{flex:1;min-width:0;}
.pa-note-title{font-size:11px;font-weight:700;color:#fff;line-height:1.3;}
.pa-note-body{font-size:10px;color:rgba(255,255,255,0.5);margin-top:2px;line-height:1.4;}
.pa-note-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.pa-note-pri-btn{font-size:8px;font-weight:700;padding:2px 5px;border-radius:3px;border:none;cursor:pointer;font-family:inherit;}
.pa-note-del{font-size:10px;color:rgba(255,255,255,0.25);background:none;border:none;cursor:pointer;padding:0;line-height:1;}
.pa-note-del:hover{color:#E24B4A;}
.pa-event-card{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:0.5px solid rgba(255,255,255,0.06);}
.pa-event-check{width:14px;height:14px;flex-shrink:0;margin-top:3px;accent-color:#E87E23;cursor:pointer;}
.pa-event-info{flex:1;min-width:0;}
.pa-event-title{font-size:11px;color:#fff;font-weight:600;line-height:1.3;}
.pa-event-time{font-size:9px;color:#E87E23;margin-top:2px;}
.pa-event-loc{font-size:9px;color:rgba(255,255,255,0.35);margin-top:1px;}
.pa-event-del{font-size:10px;color:rgba(255,255,255,0.2);background:none;border:none;cursor:pointer;flex-shrink:0;padding:0;}
.pa-event-del:hover{color:#E24B4A;}
.pa-reminder-card{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:0.5px solid rgba(255,255,255,0.06);}
.pa-reminder-check{width:14px;height:14px;flex-shrink:0;margin-top:2px;accent-color:#E87E23;cursor:pointer;}
.pa-reminder-info{flex:1;min-width:0;}
.pa-reminder-task{font-size:11px;color:#fff;line-height:1.3;}
.pa-reminder-due{font-size:9px;margin-top:2px;font-weight:700;}
.pa-reminder-del{font-size:10px;color:rgba(255,255,255,0.2);background:none;border:none;cursor:pointer;flex-shrink:0;padding:0;}
.pa-reminder-del:hover{color:#E24B4A;}
.pa-typing{display:flex;gap:4px;align-items:center;padding:8px 0;}
.pa-typing span{width:5px;height:5px;border-radius:50%;background:rgba(232,126,35,0.6);animation:pa-bounce 1.2s infinite;}
.pa-typing span:nth-child(2){animation-delay:.2s;}
.pa-typing span:nth-child(3){animation-delay:.4s;}
@keyframes pa-bounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-5px);}}
.log-date-group{margin-bottom:24px;}
.log-date-label{font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(232,126,35,0.2);}
.log-entry{padding:8px 12px;border-radius:8px;margin-bottom:6px;background:rgba(255,255,255,0.03);border-left:2px solid transparent;}
.log-entry.action{border-left-color:var(--orange);}
.log-entry.decision{border-left-color:#22c55e;}
.log-entry.info{border-left-color:rgba(255,255,255,0.15);}
.log-entry-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;}
.log-entry-time{font-size:9px;color:var(--muted);font-weight:600;}
.log-entry-persona{font-size:9px;font-weight:800;letter-spacing:0.3px;}
.log-entry-type{font-size:8px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;padding:1px 5px;border-radius:3px;}
.log-entry-type.action{background:rgba(232,126,35,0.15);color:var(--orange);}
.log-entry-type.decision{background:rgba(34,197,94,0.12);color:#22c55e;}
.log-entry-type.info{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.4);}
.log-entry-text{font-size:11px;color:rgba(255,255,255,0.75);line-height:1.5;}
.log-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:12px;}


/* MAIN */
.main{display:flex;flex:1;overflow:hidden;}
.center-wrap{flex:1;display:flex;border:2px solid rgba(232,126,35,0.65);border-radius:12px;overflow:hidden;box-shadow:0 0 24px rgba(232,126,35,0.1);min-width:0;}

/* LEFT PANEL */
.left{width:var(--panel-w);background:var(--navy2);border-right:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;}
.left::-webkit-scrollbar{width:3px;}
.left::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);}
.div-label{font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:10px 14px 5px;}
.divider{height:1px;background:var(--border);margin:6px 10px;}
.persona-row{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;border-radius:6px;margin:1px 6px;transition:background 0.12s;}
.persona-row:hover{background:var(--bg3);}
.persona-row.active{background:var(--bg4);}
.p-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#fff;flex-shrink:0;letter-spacing:0.5px;}
.p-info{flex:1;min-width:0;}
.p-name{font-size:11px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p-role{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background 0.4s, box-shadow 0.4s;}
.p-dot.idle{background:#22c55e;box-shadow:0 0 5px rgba(34,197,94,0.5);opacity:1;}
.p-dot.alert{background:#EAB308;box-shadow:0 0 5px rgba(234,179,8,0.6);opacity:1;}
.p-dot.busy{background:#EAB308;box-shadow:0 0 6px rgba(234,179,8,0.7);opacity:1;animation:dot-pulse-yellow 1s ease-in-out infinite;}
.p-dot.done{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,0.7);opacity:1;}
.p-dot.dim{background:#6a7d93;box-shadow:none;opacity:0.3;}
.p-dot.error{background:#ef4444;box-shadow:0 0 7px rgba(239,68,68,0.85);opacity:1;}
.pa-dm-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 5px rgba(34,197,94,0.5);flex-shrink:0;display:block;}
.pa-dm-dot.active{background:#E87E23;box-shadow:0 0 6px rgba(232,126,35,0.8);animation:pa-dm-pulse 1.2s ease-in-out infinite;}
@keyframes cwPulse{0%,100%{opacity:1;}50%{opacity:0.25;}}
@keyframes pa-dm-pulse{0%,100%{box-shadow:0 0 4px rgba(232,126,35,0.6);}50%{box-shadow:0 0 10px rgba(232,126,35,1);}}
@keyframes dot-pulse-yellow{0%,100%{box-shadow:0 0 4px rgba(234,179,8,0.5);}50%{box-shadow:0 0 10px rgba(234,179,8,0.95);}}
@keyframes dot-pulse-red{0%,100%{box-shadow:0 0 4px rgba(239,68,68,0.5);}50%{box-shadow:0 0 10px rgba(239,68,68,0.95);}}
@keyframes dot-pulse-green{0%,100%{box-shadow:0 0 4px rgba(34,197,94,0.5);}50%{box-shadow:0 0 12px rgba(34,197,94,1);}}
/* TRAINING DRAWER */
.crew-row{cursor:pointer;}
.crew-row:hover{background:var(--bg3);}
.training-drawer{display:none;padding:0 12px 8px 51px;margin:0 6px;}
.training-drawer.open{display:block;}
.training-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:10px;font-size:9px;font-weight:700;margin:2px 2px 0 0;letter-spacing:0.3px;}
.training-tag.valid{background:rgba(34,197,94,0.12);color:#22c55e;border:1px solid rgba(34,197,94,0.25);}
.training-tag.expiring{background:rgba(245,158,11,0.12);color:#f59e0b;border:1px solid rgba(245,158,11,0.25);}
.training-tag.missing{background:rgba(239,68,68,0.1);color:#ef4444;border:1px solid rgba(239,68,68,0.2);}
.training-add{font-size:9px;color:var(--muted);margin-top:5px;cursor:pointer;padding:3px 0;}
.training-add:hover{color:var(--orange);}
.training-empty{font-size:9px;color:var(--muted);font-style:italic;margin-top:3px;}


/* CENTER */
.center{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1E345A;border-radius:10px;}
.chat-header{height:48px;background:#1E345A;border-bottom:none;display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0;}
.chat-header-avatar{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#fff;}
.chat-header-badge{font-size:9px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:4px;}

/* DOC VIEWER */
.doc-view-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.7);font-size:11px;font-weight:700;transition:all 0.15s;white-space:nowrap;margin-left:8px;flex-shrink:0;}
.doc-view-btn:hover{border-color:rgba(232,126,35,0.45);color:var(--orange);}
.doc-view-btn.active{background:rgba(232,126,35,0.1);border-color:rgba(232,126,35,0.45);color:var(--orange);}
.doc-viewer{width:0;min-width:0;background:var(--bg);border-left:1px solid rgba(255,255,255,0.07);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width 0.28s cubic-bezier(.4,0,.2,1);position:relative;}
.doc-viewer.open{width:42vw;min-width:280px;}   /* r53.103: no max-width — user drags to fit */
#dv-resize-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:20;background:transparent;transition:background 0.15s;}
#dv-resize-handle:hover{background:rgba(232,126,35,0.35);}
.dv-header{height:48px;background:var(--navy2);border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;padding:0 14px;gap:8px;flex-shrink:0;}
.dv-title{font-size:11px;font-weight:800;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dv-btn{background:none;border:1px solid rgba(255,255,255,0.12);border-radius:5px;color:rgba(255,255,255,0.45);font-size:10px;font-weight:700;padding:3px 9px;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.ws-nav-select{background:#0D2137;border:1px solid rgba(255,255,255,0.2);border-radius:6px;color:rgba(255,255,255,0.9);font-size:10px;font-weight:700;padding:4px 10px;cursor:pointer;font-family:inherit;max-width:220px;outline:none;letter-spacing:0.2px;transition:border-color 0.15s;}
.ws-nav-select:hover{border-color:rgba(232,126,35,0.5);color:#E87E23;}
.ws-nav-select option{background:#0D2137;color:rgba(255,255,255,0.9);}
.dv-btn:hover{border-color:rgba(232,126,35,0.4);color:var(--orange);}
.dv-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:14px;background:#0a1525;position:relative;}
.dv-body::-webkit-scrollbar{width:3px;}
.dv-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.07);border-radius:2px;}
.dv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;width:100%;}
/* ── LIVE WORKSPACE ─────────────────────────────────────────── */
.dv-tabs{display:flex;align-items:center;gap:0;background:var(--navy2);border-bottom:1px solid rgba(255,255,255,0.08);flex-shrink:0;}
.dv-tab{flex:1;padding:8px 0;font-size:10px;font-weight:800;text-align:center;cursor:pointer;color:rgba(255,255,255,0.35);border-bottom:2px solid transparent;transition:all 0.15s;letter-spacing:0.4px;}
.dv-tab:hover{color:rgba(255,255,255,0.6);}
.dv-tab.active{color:var(--orange);border-bottom-color:var(--orange);}
.dv-tab-badge{display:inline-block;background:var(--orange);color:#fff;font-size:8px;font-weight:900;border-radius:8px;padding:1px 5px;margin-left:4px;vertical-align:middle;min-width:14px;text-align:center;}
.ws-body{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px;background:var(--bg);}
.ws-body::-webkit-scrollbar{width:3px;}
.ws-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.07);border-radius:2px;}
.ws-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;height:100%;color:rgba(255,255,255,0.25);}
.ws-empty-icon{font-size:32px;opacity:0.5;}
.ws-empty-label{font-size:12px;font-weight:700;}
.ws-empty-sub{font-size:10px;color:rgba(255,255,255,0.18);}
.ws-doc{background:var(--navy2);border:1px solid rgba(255,255,255,0.07);border-radius:8px;overflow:hidden;flex-shrink:0;}
.ws-doc-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:rgba(255,255,255,0.02);border-bottom:1px solid rgba(255,255,255,0.06);}
.ws-doc-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;flex-shrink:0;}
.ws-doc-meta{flex:1;min-width:0;}
.ws-doc-title{font-size:11px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ws-doc-sub{font-size:9px;color:rgba(255,255,255,0.3);font-weight:600;}
.ws-doc-toggle{font-size:10px;color:rgba(255,255,255,0.25);flex-shrink:0;transition:transform 0.15s;}
.ws-doc.collapsed .ws-doc-toggle{transform:rotate(-90deg);}
.ws-doc-content{padding:10px 12px;font-size:11px;line-height:1.6;color:rgba(255,255,255,0.75);overflow:hidden;}
.ws-doc.collapsed .ws-doc-content{display:none;}
.ws-doc-content h1,.ws-doc-content h2,.ws-doc-content h3{font-size:11px;font-weight:800;color:#fff;margin:8px 0 4px 0;text-transform:uppercase;letter-spacing:0.5px;}
.ws-doc-content table{width:100%;border-collapse:collapse;font-size:10px;margin:6px 0;}
.ws-doc-content th{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);font-weight:700;padding:4px 6px;text-align:left;border-bottom:1px solid rgba(255,255,255,0.1);}
.ws-doc-content td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,0.04);color:rgba(255,255,255,0.7);}
.ws-doc-content tr:last-child td{border-bottom:none;}
.ws-doc-content strong,.ws-doc-content b{color:#fff;font-weight:700;}
.ws-doc-content ul,.ws-doc-content ol{padding-left:16px;margin:4px 0;}
.ws-doc-content li{margin:2px 0;}
.ws-doc-content hr{border:none;border-top:1px solid rgba(255,255,255,0.08);margin:8px 0;}
.ws-doc-content p{margin:4px 0;}
.ws-doc-content code{background:rgba(255,255,255,0.07);border-radius:3px;padding:1px 4px;font-size:10px;font-family:monospace;}
.ws-doc-actions{display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(255,255,255,0.01);border-top:1px solid rgba(255,255,255,0.04);flex-wrap:wrap;}
.ws-action-btn{font-size:11px;font-weight:700;padding:6px 12px;border:1px solid rgba(255,255,255,0.15);border-radius:6px;background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.ws-action-btn:hover{border-color:rgba(232,126,35,0.45);color:var(--orange);background:rgba(232,126,35,0.08);}
.ws-action-btn.primary{border-color:rgba(232,126,35,0.45);color:var(--orange);background:rgba(232,126,35,0.08);}
.ws-new-badge{display:inline-block;background:rgba(232,126,35,0.8);color:#fff;font-size:7px;font-weight:900;border-radius:3px;padding:1px 4px;margin-left:4px;vertical-align:middle;animation:wsFade 3s forwards;}
@keyframes wsFade{0%{opacity:1;}70%{opacity:1;}100%{opacity:0;}}
/* ── END LIVE WORKSPACE ─────────────────────────────────────── */
.dv-empty-icon{font-size:40px;opacity:0.25;}
.dv-empty-label{font-size:12px;font-weight:700;color:rgba(255,255,255,0.3);}
.dv-empty-sub{font-size:10px;color:rgba(255,255,255,0.2);}
.dv-open-label{margin-top:6px;padding:7px 18px;background:rgba(232,126,35,0.08);border:1px dashed rgba(232,126,35,0.4);border-radius:7px;color:var(--orange);font-size:10px;font-weight:700;cursor:pointer;transition:all 0.15s;letter-spacing:0.3px;}
.dv-open-label:hover{background:rgba(232,126,35,0.16);border-color:var(--orange);}
.dv-img{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain;box-shadow:0 4px 24px rgba(0,0,0,0.5);cursor:zoom-in;}
.dv-img:hover{box-shadow:0 6px 32px rgba(0,0,0,0.7);}
.dv-pdf{width:100%;height:100%;border:none;border-radius:6px;}
.dv-pdf-canvas-wrap{cursor:grab;user-select:none;display:flex;align-items:flex-start;justify-content:center;}
.dv-pdf-canvas-wrap.panning{cursor:grabbing;}
.dv-pdf-canvas-wrap canvas{display:block;box-shadow:0 4px 24px rgba(0,0,0,0.5);border-radius:4px;}
.dv-footer{padding:8px 14px;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative;z-index:10;background:var(--bg);}
.dv-fname{font-size:10px;color:var(--muted);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Fullscreen */
.dv-fs-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.94);z-index:9999;display:none;align-items:center;justify-content:center;}
.dv-fs-overlay.open{display:flex;}
.dv-fs-overlay img{max-width:96vw;max-height:96vh;object-fit:contain;border-radius:8px;}
.dv-fs-close{position:absolute;top:18px;right:22px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:6px;color:#fff;font-size:11px;font-weight:700;padding:5px 14px;cursor:pointer;}
#dv-file-input{display:none;}
.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;background:var(--bg);position:relative;min-height:0;}.messages::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;height:440px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44"><rect width="44" height="44" rx="9" fill="%231E345A"/><rect x="8" y="8" width="12" height="12" rx="2" fill="white"/><rect x="24" y="8" width="12" height="12" rx="2" fill="white"/><rect x="8" y="24" width="12" height="12" rx="2" fill="white"/><rect x="24" y="24" width="12" height="12" rx="2" fill="%23E87E23"/></svg>') center/contain no-repeat;opacity:0.07;pointer-events:none;z-index:0;}
.chat-watermark{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;}
.chat-watermark svg{width:500px;height:500px;opacity:0.06;}
.messages::-webkit-scrollbar{width:4px;}
.messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px;}
.msg-wrap{display:flex;align-items:flex-start;gap:10px;}
.msg-wrap.msg-user{flex-direction:row-reverse;}
.chat-session-sep{text-align:center;font-size:10px;color:var(--text);letter-spacing:1px;padding:10px 0;opacity:0.6;font-weight:600;}
.msg-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#fff;flex-shrink:0;}
.msg-user-avatar{background:var(--user-avatar-bg, var(--navy));}
.msg-body{max-width:78%;}
.msg-label{font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.bubble{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.55;word-break:break-word;}
.bubble-ai{background:var(--bg3);border:1px solid var(--border);border-radius:12px 12px 12px 3px;}
.bubble-user{background:var(--navy);border-radius:12px 12px 3px 12px;}

/* ── CTAI VISUAL LANGUAGE ─────────────────────────────────────────── */
/* Status Badges */
.ctai-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:0.6px;text-transform:uppercase;margin-right:6px;vertical-align:middle;}
.ctai-badge-clear{background:rgba(76,175,80,0.15);border:1px solid rgba(76,175,80,0.4);color:#4CAF50;}
.ctai-badge-flag{background:rgba(232,126,35,0.15);border:1px solid rgba(232,126,35,0.4);color:#E87E23;}
.ctai-badge-urgent{background:rgba(224,85,85,0.15);border:1px solid rgba(224,85,85,0.4);color:#E05555;}
.ctai-badge-info{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.6);}
/* Check items */
.ctai-check{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:12px;line-height:1.4;}
.ctai-check-box{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0;margin-top:1px;}
.ctai-check-box-green{background:rgba(76,175,80,0.2);border:1px solid rgba(76,175,80,0.5);color:#4CAF50;}
.ctai-check-box-orange{background:rgba(232,126,35,0.2);border:1px solid rgba(232,126,35,0.4);color:#E87E23;}
.ctai-check-box-red{background:rgba(224,85,85,0.2);border:1px solid rgba(224,85,85,0.4);color:#E05555;}
/* r53.3 — Ray field status color tokens */
.ctai-field-ok{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:900;font-size:11px;letter-spacing:0.5px;background:rgba(34,197,94,0.15);border:1px solid rgba(34,197,94,0.4);color:#22c55e;}
.ctai-field-risk{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:900;font-size:11px;letter-spacing:0.5px;background:rgba(232,126,35,0.15);border:1px solid rgba(232,126,35,0.5);color:#E87E23;}
.ctai-field-behind{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:900;font-size:11px;letter-spacing:0.5px;background:rgba(224,85,85,0.15);border:1px solid rgba(224,85,85,0.4);color:#E05555;}
.ctai-field-critical{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:900;font-size:11px;letter-spacing:0.5px;background:rgba(224,85,85,0.2);border:1px solid rgba(224,85,85,0.5);color:#f87171;text-transform:uppercase;}
.ctai-field-pending{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:800;font-size:10px;letter-spacing:0.3px;background:rgba(232,126,35,0.1);border:1px solid rgba(232,126,35,0.35);color:#E87E23;}
.ctai-field-swppp{display:inline-block;padding:1px 8px;border-radius:4px;font-weight:800;font-size:10px;letter-spacing:0.3px;background:rgba(59,130,246,0.15);border:1px solid rgba(59,130,246,0.4);color:#60a5fa;}
/* Cards */
.ctai-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:14px 16px;margin:8px 0;}
.ctai-card-header{font-size:13px;font-weight:900;color:#fff;letter-spacing:0.3px;margin-bottom:10px;text-transform:uppercase;}
/* Section headers inside bubbles */
.ctai-section-head{font-size:13px;font-weight:900;color:#fff;margin:14px 0 6px;letter-spacing:0.3px;}
.ctai-section-head:first-child{margin-top:0;}
/* Dollar amounts */
.ctai-dollar-green{color:#4CAF50;font-weight:800;}
.ctai-dollar-orange{color:#E87E23;font-weight:800;}
.ctai-dollar-red{color:#E05555;font-weight:800;}
/* Lead time rows */
.ctai-lead-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:12px;}
.ctai-lead-row:last-child{border-bottom:none;}
.ctai-lead-name{color:rgba(255,255,255,0.7);}
.ctai-lead-status-green{color:#4CAF50;font-weight:700;font-size:11px;}
.ctai-lead-status-orange{color:#E87E23;font-weight:700;font-size:11px;}
.ctai-lead-status-red{color:#E05555;font-weight:700;font-size:11px;}
/* Action bar at bottom of response */
.ctai-action-bar{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-left:3px solid var(--orange);border-radius:0 6px 6px 0;padding:8px 12px;margin-top:12px;font-size:11px;color:rgba(255,255,255,0.55);font-style:italic;line-height:1.4;}
/* Total line */
.ctai-total-line{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,0.1);margin-top:8px;}
.ctai-total-label{font-size:14px;font-weight:900;color:#fff;letter-spacing:0.3px;}
.ctai-total-amount{font-size:18px;font-weight:900;color:#4CAF50;}
.ctai-total-amount-flag{font-size:18px;font-weight:900;color:#E87E23;}
/* RFI entry */
.ctai-rfi{padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.ctai-rfi:last-child{border-bottom:none;}
.ctai-rfi-id{font-size:10px;font-weight:800;color:var(--orange);letter-spacing:0.5px;margin-bottom:3px;}
.ctai-rfi-text{font-size:12px;color:rgba(255,255,255,0.8);line-height:1.5;}
.ctai-rfi-status{font-size:10px;font-weight:700;margin-top:4px;}
.ctai-rfi-status-open{color:#E05555;}
.ctai-rfi-status-drafted{color:#E87E23;}
.ctai-rfi-status-resolved{color:#4CAF50;}
/* ── END CTAI VISUAL LANGUAGE ────────────────────────────────────── */
.typing{display:flex;align-items:center;gap:5px;padding:10px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;width:fit-content;}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite;}
.typing span:nth-child(2){animation-delay:0.2s;}
.typing span:nth-child(3){animation-delay:0.4s;}
@keyframes blink{0%,80%,100%{opacity:0.25}40%{opacity:1}}
@keyframes planReadProgress{0%{width:15%;opacity:0.7}50%{width:75%;opacity:1}100%{width:15%;opacity:0.7}}
.typing.pipeline span{background:#E87E23;}
@keyframes sb-border-pulse{0%,100%{border-top-color:rgba(232,126,35,0.4);}50%{border-top-color:rgba(232,126,35,1);}}
@keyframes sb-shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(300%);}}
.sb-shimmer{position:relative;overflow:hidden;}
.sb-shimmer::after{content:'';position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.45),transparent);animation:sb-shimmer 1.6s ease-in-out infinite;}

/* INPUT */
.status-bar{height:30px;padding:0 16px;display:flex;align-items:center;gap:0;background:var(--navy2);border-top:1px solid rgba(255,255,255,0.05);flex-shrink:0;}
.status-bar.pipeline-active{animation:sb-border-pulse 2s ease-in-out infinite;border-top:2px solid rgba(232,126,35,0.4);}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0;transition:background 0.3s;}
.status-dot.active{background:#22c55e;animation:pulse-dot 1.4s ease-in-out infinite;}
.status-text{font-size:9px;font-weight:600;letter-spacing:0.6px;text-transform:uppercase;color:var(--muted);transition:color 0.3s;}
.status-text.active{color:rgba(255,255,255,0.5);}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.7);}}
@keyframes gianna-flash{0%,100%{opacity:1;box-shadow:0 0 6px #6a9fd4;}50%{opacity:0.3;box-shadow:0 0 0px #6a9fd4;}}
@keyframes gianna-row-glow{0%,100%{background:rgba(106,159,212,0.0);}50%{background:rgba(106,159,212,0.12);}}
.gianna-alert #pd-gianna{animation:gianna-flash 1s infinite!important;opacity:1!important;}
.gianna-alert #pr-gianna{animation:gianna-row-glow 1s infinite;}
@keyframes natalie-flash{0%,100%{opacity:1;box-shadow:0 0 6px #b07cc0;}50%{opacity:0.3;box-shadow:0 0 0px #b07cc0;}}
@keyframes natalie-row-glow{0%,100%{background:rgba(176,124,192,0.0);}50%{background:rgba(176,124,192,0.12);}}
.natalie-alert #pd-natalie{animation:natalie-flash 1s infinite!important;opacity:1!important;}
.natalie-alert #pr-natalie{animation:natalie-row-glow 1s infinite;}
.user-switcher{display:flex;align-items:center;gap:4px;margin-left:8px;}
.user-pill{padding:2px 9px;border-radius:10px;font-size:9px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all 0.15s;letter-spacing:0.3px;}
.user-pill.active-anthony{background:rgba(232,126,35,0.18);border-color:rgba(232,126,35,0.5);color:#E87E23;}
.user-pill.active-jennifer{background:rgba(176,124,192,0.18);border-color:rgba(176,124,192,0.5);color:#b07cc0;}
.user-pill.inactive{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.3);}
.user-pill:hover{opacity:0.8;}
.input-area{display:flex;align-items:flex-end;gap:0;padding:2px;}
.input-wrap{flex:1;background:var(--bg3);border:none;border-radius:0 10px 10px 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 12px;transition:border-color 0.15s;min-height:38px;}
.input-area:focus-within{border-color:rgba(232,126,35,0.85);}
#user-input,#pa-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px;resize:none;max-height:200px;min-height:22px;font-family:inherit;line-height:1.5;overflow-y:hidden;overflow-x:hidden;white-space:pre-wrap;word-break:break-word;width:100%;}
#pa-input::placeholder{color:var(--muted);}
#user-input::placeholder{color:var(--muted);}
.drop-label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;color:rgba(255,255,255,0.35);cursor:pointer;padding:5px 9px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);transition:all 0.15s;white-space:nowrap;background:rgba(255,255,255,0.03);}
.drop-label:hover{color:var(--orange);border-color:rgba(232,126,35,0.4);background:rgba(232,126,35,0.06);}
#mic-btn-left.recording, #pa-mic-btn.recording {
  background: rgba(232,126,35,0.25) !important;
  color: #E87E23 !important;
  box-shadow: 0 0 0 3px rgba(232,126,35,0.4), 0 0 12px rgba(232,126,35,0.3) !important;
  border-color: rgba(232,126,35,0.6) !important;
  animation: mic-pulse 1s ease-in-out infinite;
}
@keyframes mic-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(232,126,35,0.4), 0 0 12px rgba(232,126,35,0.3); }
  50% { box-shadow: 0 0 0 5px rgba(232,126,35,0.2), 0 0 20px rgba(232,126,35,0.5); }
}
#send-btn{background:var(--orange);color:#fff;width:36px;height:36px;border-radius:9px 0 0 9px;background:var(--orange);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:all 0.15s;flex-shrink:0;}
#send-btn:hover{background:var(--orange2);transform:scale(1.05);}
#send-btn:disabled{background:var(--bg4);color:var(--muted);transform:none;cursor:default;}
#send-btn.stop{background:#c0392b;}
#send-btn.stop:hover{background:#e74c3c;transform:scale(1.05);}

/* FULL-PAGE DROP ZONE */
#drop-zone{position:fixed;inset:0;background:rgba(13,17,23,0.92);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:1000;border:2px dashed var(--orange);}
#drop-zone.active{display:flex;}
.drop-inner{text-align:center;}
.drop-icon{font-size:48px;margin-bottom:12px;}
.drop-inner h2{font-size:22px;font-weight:900;color:#fff;margin-bottom:6px;}
.drop-inner p{font-size:13px;color:var(--muted);}

/* RIGHT PANEL */
.right{width:var(--right-w);background:var(--navy2);border-left:1px solid rgba(232,126,35,0.2);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;}
.right::-webkit-scrollbar{width:3px;}
.right::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.3);border-radius:3px;}
.right::-webkit-scrollbar-track{background:transparent;}
#pa-messages::-webkit-scrollbar{width:3px;}
#pa-messages::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.3);border-radius:3px;}
#pa-messages::-webkit-scrollbar-track{background:transparent;}
.main::-webkit-scrollbar{width:3px;}
.main::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.2);border-radius:3px;}
#messages::-webkit-scrollbar{width:3px;}
#messages::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.25);border-radius:3px;}
#messages::-webkit-scrollbar-track{background:transparent;}
* { scrollbar-width:thin; scrollbar-color:rgba(232,126,35,0.3) transparent; }

/* GUIDE HEADER */
.guide-header{padding:16px 14px 14px;border-bottom:1px solid rgba(255,255,255,0.08);text-align:center;background:var(--navy);}
.guide-logo{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:4px;}
.guide-title{font-size:14px;font-weight:800;color:#fff;margin-bottom:3px;letter-spacing:0px;}
.guide-sub{font-size:10px;color:rgba(255,255,255,0.35);letter-spacing:0.3px;}

/* COMPANY BRIEF BUTTON */
.company-brief-wrap{padding:12px 14px;border-bottom:1px solid var(--border);}
.company-brief-btn{width:100%;padding:11px 14px;background:linear-gradient(135deg,rgba(232,126,35,0.15),rgba(212,98,31,0.08));border:1px solid rgba(232,126,35,0.4);border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all 0.2s;}
.company-brief-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(232,126,35,0.25),rgba(212,98,31,0.18));border-color:var(--orange);transform:translateY(-1px);box-shadow:0 4px 16px rgba(232,126,35,0.15);}
.company-brief-btn:disabled{opacity:0.4;cursor:default;}
.cbtn-icon{font-size:20px;}
.cbtn-text{flex:1;text-align:left;}
.cbtn-title{font-size:12px;font-weight:900;color:var(--orange);}
.cbtn-sub{font-size:9px;color:var(--muted);margin-top:1px;}
.cbtn-arrow{font-size:16px;color:rgba(232,126,35,0.5);}

/* GUIDE STEPS */
.guide-steps{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.06);}
.section-label{font-size:9px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.guide-step{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.guide-step:last-child{border-bottom:none;padding-bottom:0;}
.step-num{width:20px;height:20px;border-radius:50%;background:rgba(232,126,35,0.15);border:1px solid rgba(232,126,35,0.35);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:var(--orange);flex-shrink:0;}
.step-title{font-size:11px;font-weight:700;color:rgba(255,255,255,0.9);margin-bottom:2px;}
.step-desc{font-size:10px;color:rgba(255,255,255,0.45);line-height:1.5;}
.step-desc strong{color:rgba(232,126,35,0.85);}

/* UPLOAD SECTION */
.upload-section{padding:12px 14px;border-bottom:1px solid var(--border);}
.upload-grid{display:flex;flex-direction:column;gap:4px;}
.upload-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg3);border-radius:7px;border:1px solid transparent;cursor:pointer;transition:all 0.15s;}
.upload-item:hover{border-color:rgba(232,126,35,0.2);background:var(--bg4);}
.upload-item.has-doc{border-color:rgba(34,197,94,0.3);background:rgba(34,197,94,0.04);}
.upload-item.has-doc:hover{border-color:rgba(34,197,94,0.5);background:rgba(34,197,94,0.08);}
.ui-doc-name{font-size:8px;color:rgba(34,197,94,0.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:1px;}
.doc-delete-btn{position:absolute;top:3px;right:3px;font-size:9px;color:rgba(255,255,255,0.25);cursor:pointer;line-height:1;padding:2px 3px;border-radius:3px;transition:all 0.15s;}
.doc-delete-btn:hover{color:#f87171;background:rgba(248,113,113,0.15);}
.upload-item-inner{display:flex;flex-direction:column;flex:1;min-width:0;}
.ui-icon{font-size:13px;width:18px;text-align:center;}
.ui-label{font-size:11px;font-weight:700;color:var(--text);flex:1;}
.ui-type{font-size:9px;color:var(--muted);font-weight:600;}

/* STATS SECTION */
.stats-section{padding:12px 14px;border-bottom:1px solid var(--border);}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.03);}
.stat-row:last-child{border-bottom:none;}
.stat-label{font-size:10px;color:var(--muted);font-weight:600;}
.stat-value{font-size:11px;font-weight:800;color:var(--text);}
.progress-bar{height:3px;background:var(--bg4);border-radius:2px;margin-top:8px;overflow:hidden;}
.progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--orange),var(--orange2));transition:width 0.5s ease;}

/* FLAGS */
.flag-section{padding:0 14px 12px;border-bottom:1px solid var(--border);}
.flag-item{display:flex;align-items:flex-start;gap:7px;padding:7px 9px;background:var(--bg3);border-radius:7px;margin-bottom:4px;border-left:2px solid #ef4444;}
.flag-text{font-size:10px;color:var(--text);line-height:1.4;}
.flag-text strong{display:block;font-weight:800;color:#ef4444;font-size:9px;letter-spacing:0.5px;margin-bottom:1px;}
/* ── Scope Flag Panel ── */
.scope-flag-item{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;background:var(--bg3);border-radius:7px;margin-bottom:4px;cursor:pointer;transition:all 0.15s;user-select:none;}
.scope-flag-item:hover{background:rgba(255,255,255,0.05);}
.scope-flag-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:2px;transition:all 0.2s;}
.scope-flag-dot.undecided{background:#eab308;box-shadow:0 0 5px rgba(234,179,8,0.5);}
.scope-flag-dot.in{background:#22c55e;box-shadow:0 0 5px rgba(34,197,94,0.5);}
.scope-flag-dot.out{background:#ef4444;box-shadow:0 0 5px rgba(239,68,68,0.4);}
.scope-flag-text{flex:1;}
.scope-flag-label{font-size:10px;font-weight:700;color:rgba(255,255,255,0.85);line-height:1.3;}
.scope-flag-detail{font-size:9px;color:rgba(255,255,255,0.4);margin-top:1px;line-height:1.3;}
.scope-flag-status{font-size:8px;font-weight:800;letter-spacing:0.5px;text-transform:uppercase;margin-top:2px;}
.scope-flag-status.undecided{color:#eab308;}
.scope-flag-status.in{color:#22c55e;}
.scope-flag-status.out{color:#ef4444;}
.scope-flag-pending-badge{display:inline-block;background:rgba(234,179,8,0.15);border:1px solid rgba(234,179,8,0.3);color:#eab308;font-size:8px;font-weight:800;letter-spacing:0.5px;padding:1px 5px;border-radius:4px;margin-left:6px;}
.scope-flag-hint{font-size:8px;color:rgba(255,255,255,0.25);text-align:center;padding-top:4px;padding-bottom:2px;}

/* ── Project Brief Panel ── */
.proj-brief-panel{overflow-y:auto;}
.pb-header{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.07);}
.pb-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:8px;}
.pb-label{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.45);flex-shrink:0;}
.pb-val{font-size:10px;color:rgba(255,255,255,0.88);text-align:right;line-height:1.4;font-weight:500;}
.pb-progress{height:3px;background:rgba(255,255,255,0.08);border-radius:2px;margin-top:8px;overflow:hidden;}
.pb-progress-fill{height:100%;background:var(--orange);border-radius:2px;}
.pb-section{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.06);}
.pb-section-title{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:7px;}
.pb-scope-item{font-size:10px;padding:2px 0;line-height:1.5;}
.pb-scope-bci{color:rgba(255,255,255,0.65);}
.pb-scope-other{color:rgba(255,255,255,0.3);}
.pb-proc-item{padding:7px 9px;background:rgba(255,255,255,0.04);border-radius:7px;margin-bottom:5px;border-left:2px solid rgba(255,255,255,0.1);}
.pb-proc-item.pb-proc-urgent{background:rgba(232,126,35,0.08);border-left-color:var(--orange);}
.pb-proc-name{font-size:10px;font-weight:700;color:rgba(255,255,255,0.85);margin-bottom:2px;}
.pb-proc-item.pb-proc-urgent .pb-proc-name{color:var(--orange);}
.pb-proc-detail{font-size:9px;color:rgba(255,255,255,0.45);margin-bottom:1px;}
.pb-proc-vendor{font-size:9px;color:rgba(255,255,255,0.3);font-style:italic;}
.pb-insp-item{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.04);gap:8px;}
.pb-insp-name{font-size:10px;color:rgba(255,255,255,0.7);}
.pb-insp-detail{font-size:9px;color:rgba(255,255,255,0.35);text-align:right;flex-shrink:0;}
.pb-insp-contact{font-size:9px;color:rgba(255,255,255,0.3);margin-top:8px;line-height:1.6;font-style:italic;}
.pb-sched-item{display:flex;gap:8px;align-items:baseline;padding:3px 0;}
.pb-sched-weeks{font-size:9px;font-weight:700;color:var(--orange);width:68px;flex-shrink:0;}
.pb-sched-phase{font-size:10px;color:rgba(255,255,255,0.6);}

/* ── BRIEF CARD ── */
.brief-card{background:linear-gradient(135deg,rgba(30,52,90,0.95),rgba(22,36,68,0.98));border:1px solid rgba(232,126,35,0.4);border-radius:12px;padding:16px 18px;max-width:540px;font-family:'Futura','Nunito',system-ui,sans-serif;}
.brief-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.08);}
.brief-card-project{font-size:13px;font-weight:900;color:#fff;letter-spacing:0.3px;}
.brief-card-meta{font-size:9px;color:rgba(255,255,255,0.35);font-weight:600;text-align:right;line-height:1.7;}
.brief-card-body{display:flex;flex-direction:column;gap:3px;}
.brief-card-line{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;transition:all 0.15s;border:1px solid transparent;}
.brief-card-line:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.07);}
.brief-card-line.tappable:hover{background:rgba(232,126,35,0.07);border-color:rgba(232,126,35,0.25);}
.brief-card-icon{font-size:13px;flex-shrink:0;margin-top:1px;min-width:18px;text-align:center;}
.brief-card-text{flex:1;font-size:11px;color:rgba(255,255,255,0.78);line-height:1.5;}
.brief-card-text strong{color:#fff;font-weight:700;}
.brief-card-line.bc-red .brief-card-text{color:#ef4444;}
.brief-card-line.bc-yellow .brief-card-text{color:#eab308;}
.brief-card-line.bc-green .brief-card-text{color:#4ade80;}
.brief-card-line.bc-orange .brief-card-text{color:var(--orange);}
.brief-card-tap{font-size:8px;color:rgba(255,255,255,0.18);flex-shrink:0;margin-top:3px;padding:1px 5px;border-radius:3px;background:rgba(255,255,255,0.04);}
.brief-card-line.tappable:hover .brief-card-tap{color:rgba(232,126,35,0.7);background:rgba(232,126,35,0.1);}
.brief-card-divider{height:1px;background:rgba(255,255,255,0.06);margin:5px 0;}
.brief-card-assignments{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.07);}
.bca-title{font-size:8px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-bottom:6px;}
.bca-row{display:flex;align-items:center;gap:8px;padding:3px 0;}
.bca-who{font-size:10px;font-weight:800;color:rgba(255,255,255,0.55);min-width:54px;}
.bca-what{font-size:10px;color:rgba(255,255,255,0.4);flex:1;}
.bca-badge{font-size:8px;font-weight:700;padding:1px 6px;border-radius:3px;letter-spacing:0.3px;}
.bca-badge.open{background:rgba(234,179,8,0.12);color:#eab308;border:1px solid rgba(234,179,8,0.2);}
.bca-badge.action{background:rgba(232,126,35,0.12);color:var(--orange);border:1px solid rgba(232,126,35,0.2);}
.bca-badge.ready{background:rgba(34,197,94,0.1);color:#4ade80;border:1px solid rgba(34,197,94,0.2);}

/* ROSTER */
.roster-toggle{width:100%;padding:10px 14px;background:none;border:none;border-top:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:color 0.15s;}
.roster-toggle:hover{color:var(--text);}
.roster-list{padding:6px 14px 12px;display:none;flex-direction:column;gap:2px;}
.roster-list.open{display:flex;}
.roster-item{display:flex;align-items:center;gap:8px;padding:4px 0;}
.ri-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ri-name{font-size:10px;font-weight:800;color:var(--text);width:58px;flex-shrink:0;}
.ri-role{font-size:9px;color:var(--muted);}

/* SPLASH */
.splash{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:#1E345A;overflow:hidden;}
.splash-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;}
.splash-watermark svg{width:90%;height:90%;max-width:800px;max-height:800px;opacity:0.1;}
.splash-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;}
.splash-icon{margin-bottom:18px;display:flex;align-items:center;justify-content:center;}
.splash h2{font-size:18px;font-weight:900;margin-bottom:8px;color:#fff;}
.splash p{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.6;max-width:280px;}
.splash-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;justify-content:center;}
.splash-btn{padding:9px 16px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer;transition:all 0.15s;}
.splash-btn-primary{background:var(--orange);color:#fff;border:none;}
.splash-btn-primary:hover{background:var(--orange2);}
.splash-btn-secondary{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.15);}
.splash-btn-secondary:hover{background:rgba(255,255,255,0.13);color:#fff;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:500;}
.modal-overlay.open{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:24px;width:440px;max-width:95vw;box-shadow:0 24px 64px rgba(0,0,0,0.5);max-height:88vh;overflow-y:auto;}
.modal h2{font-size:17px;font-weight:900;margin-bottom:6px;}
.modal>p{font-size:12px;color:var(--muted);margin-bottom:16px;}
.modal-field{margin-bottom:12px;}
.modal-field label{display:block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.modal-field input,.modal-field select{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:7px;padding:8px 11px;color:var(--text);font-size:13px;outline:none;font-family:inherit;transition:border-color 0.15s;}
.modal-field input:focus,.modal-field select:focus{border-color:rgba(232,126,35,0.5);}
.modal-field select option{background:var(--bg3);}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.modal-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;}
.btn{padding:8px 18px;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer;border:none;transition:all 0.15s;}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted);}
.btn-ghost:hover{border-color:rgba(255,255,255,0.2);color:var(--text);}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange2);}
.modal-drop{border:2px dashed rgba(232,126,35,0.3);border-radius:12px;padding:20px;text-align:center;transition:all 0.2s;margin-bottom:14px;background:rgba(232,126,35,0.02);}
.modal-drop:hover{border-color:rgba(232,126,35,0.5);background:rgba(232,126,35,0.05);}
.modal-drop.drop-active{border-color:var(--orange);background:rgba(232,126,35,0.1);border-style:solid;transform:scale(1.01);}
.modal-drop-icon{font-size:22px;margin-bottom:5px;}
.modal-drop-title{font-size:12px;font-weight:800;color:#fff;margin-bottom:2px;}
.modal-drop-sub{font-size:10px;color:var(--muted);}
.modal-drop-status{font-size:10px;color:var(--orange);margin-top:6px;font-weight:700;display:none;}
.modal-or{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.modal-or span{font-size:9px;color:var(--muted);font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
.modal-or-line{flex:1;height:1px;background:var(--border);}

/* ── PRECON TRACKER ──────────────────────────────────────────────────────── */
.precon-stage{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.precon-stage:last-child{border-bottom:none;}
.precon-check{width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.2);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;}
.precon-check.done{background:var(--orange);border-color:var(--orange);}
.precon-check.done::after{content:'✓';color:#fff;font-size:10px;font-weight:900;}
.precon-stage-info{flex:1;min-width:0;}
.precon-stage-name{font-size:11px;font-weight:700;color:rgba(255,255,255,0.8);}
.precon-stage-owner{font-size:10px;color:rgba(255,255,255,0.35);}
.precon-stage.done-stage .precon-stage-name{color:rgba(255,255,255,0.35);text-decoration:line-through;}


/* ── MOBILE RESPONSIVE ────────────────────────────────────────────────────── */
.mobile-nav{display:none;}
@media (max-width:768px){
  :root{--panel-w:100vw;--right-w:100vw;}
  .main{position:relative;overflow:hidden;}
  .left,.center,.right{position:absolute;top:0;left:0;width:100vw!important;height:100%;transition:transform 0.25s ease;z-index:1;}
  .left{transform:translateX(-100%);}
  .center{transform:translateX(0);}
  .right{transform:translateX(100%);}
  .mobile-show-left .left{transform:translateX(0);}
  .mobile-show-left .center{transform:translateX(100%);}
  .mobile-show-right .right{transform:translateX(0);}
  .mobile-show-right .center{transform:translateX(-100%);}
  .proj-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .topbar-divider-v{display:none;}
  #user-input{font-size:14px;}
  #send-btn{width:42px;height:42px;}
  .msg-body{max-width:90%;}
  .mobile-nav{display:flex;align-items:center;justify-content:space-around;background:var(--navy2);border-top:1px solid rgba(255,255,255,0.1);padding:8px 0 12px;z-index:100;flex-shrink:0;}
  .mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;padding:6px 16px;border-radius:8px;transition:color 0.15s;}
  .mobile-nav-btn.active{color:var(--orange);}
  .mobile-nav-btn svg{width:20px;height:20px;}
  .data-modal,.log-modal,.modal{width:96vw;max-width:96vw;padding:16px;}
}

/* ── V18 LOGIN SCREEN ─────────────────────────────────────── */
@keyframes loginBgShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes loginLogoIn {
  from { opacity:0; transform: scale(0.7) translateY(-16px); }
  to   { opacity:1; transform: scale(1) translateY(0); }
}
@keyframes loginCardIn {
  from { opacity:0; transform: translateY(24px); }
  to   { opacity:1; transform: translateY(0); }
}
@keyframes loginCardOut {
  from { opacity:1; transform: translateY(0) scale(1); }
  to   { opacity:0; transform: translateY(-20px) scale(0.97); }
}
@keyframes briefIn {
  from { opacity:0; transform: translateY(30px); }
  to   { opacity:1; transform: translateY(0); }
}
@keyframes briefCountdown {
  from { width: 100%; }
  to   { width: 0%; }
}
@keyframes dotPinPulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.3); }
}
@keyframes scanline {
  0%   { top: -8px; }
  100% { top: 100%; }
}
#ws-setup-overlay {
  background: linear-gradient(135deg, #0a1628 0%, #0f1e3a 25%, #0d1528 50%, #111d36 75%, #0a1628 100%) !important;
  background-size: 400% 400% !important;
  animation: loginBgShift 12s ease infinite !important;
  overflow: hidden !important;
}
#ws-setup-overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(232,126,35,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.login-card {
  background: rgba(20, 32, 58, 0.92);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(232,126,35,0.3);
  border-radius: 20px;
  padding: 40px 36px;
  max-width: 440px;
  width: 90%;
  text-align: center;
  box-shadow: 0 32px 80px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.04);
  animation: loginCardIn 0.5s cubic-bezier(0.22,1,0.36,1) forwards;
  position: relative;
}
.login-logo-wrap {
  animation: loginLogoIn 0.6s cubic-bezier(0.22,1,0.36,1) 0.1s both;
  margin-bottom: 18px;
}
.login-title {
  font-size: 22px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.3px;
  margin-bottom: 4px;
}
.login-title span { color: #E87E23; }
.login-tagline {
  font-size: 10px;
  color: rgba(255,255,255,0.35);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.login-section-label {
  font-size: 10px;
  font-weight: 800;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 8px;
  text-align: left;
}
.login-user-grid { display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.login-user-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  cursor: pointer;
  transition: all 0.2s;
}
.login-user-card:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.15); }
.login-user-card.selected {
  border-color: rgba(232,126,35,0.5);
  background: rgba(232,126,35,0.08);
  box-shadow: 0 0 0 1px rgba(232,126,35,0.15), 0 4px 16px rgba(232,126,35,0.1);
}
.login-user-av {
  width: 32px; height: 32px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 900; color: #fff; flex-shrink: 0;
}
.login-user-name { font-size: 12px; font-weight: 800; color: #fff; }
.login-user-role { font-size: 10px; color: rgba(255,255,255,0.4); }
.login-check { font-size: 16px; margin-left: auto; transition: all 0.2s; }
.pin-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}
.pin-dot {
  width: 44px; height: 52px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.04);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: rgba(255,255,255,0.85);
  transition: all 0.15s;
}
.pin-dot.filled {
  border-color: rgba(232,126,35,0.5);
  background: rgba(232,126,35,0.08);
  color: #E87E23;
}
.pin-dot.active { border-color: rgba(232,126,35,0.8); box-shadow: 0 0 12px rgba(232,126,35,0.3); }
.pin-input-hidden {
  position: absolute; opacity: 0; width: 1px; height: 1px;
  pointer-events: none;
}
.login-launch-btn {
  width: 100%;
  padding: 13px;
  background: linear-gradient(135deg, #E87E23, #D4621F);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 20px rgba(232,126,35,0.3);
}
.login-launch-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(232,126,35,0.45); }
.login-launch-btn:active { transform: translateY(0); }
.login-error {
  font-size: 11px; color: #f87171; text-align: center;
  margin-top: 8px; display: none;
}
/* ── BRIEF CARD ──────────────────────────────────────── */
#login-brief-card {
  display: none;
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
#login-brief-card.active {
  display: flex;
  animation: briefIn 0.5s cubic-bezier(0.22,1,0.36,1) forwards;
}
.brief-card-wrap {
  background: rgba(18,28,52,0.95);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(232,126,35,0.3);
  border-radius: 20px;
  padding: 36px;
  max-width: 560px;
  width: 100%;
  box-shadow: 0 32px 80px rgba(0,0,0,0.7);
  position: relative;
  overflow: hidden;
}
.brief-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.brief-card-av {
  width: 44px; height: 44px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900; color: #fff; flex-shrink: 0;
}
.brief-card-greeting { font-size: 18px; font-weight: 900; color: #fff; line-height: 1.2; }
.brief-card-date { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 2px; }
.brief-card-body { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.brief-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 9px;
  transition: all 0.15s;
}
.brief-item.urgent {
  border-color: rgba(239,68,68,0.25);
  background: rgba(239,68,68,0.04);
}
.brief-item.action {
  border-color: rgba(234,179,8,0.3);
  background: rgba(234,179,8,0.04);
}
.brief-item.good {
  border-color: rgba(34,197,94,0.2);
  background: rgba(34,197,94,0.03);
}
.brief-item-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.brief-item-text { font-size: 12px; color: rgba(255,255,255,0.85); line-height: 1.5; flex: 1; }
.brief-item-text strong { color: #fff; font-weight: 800; }
.brief-card-footer { display: flex; align-items: center; gap: 12px; }
.brief-lets-go {
  flex: 1;
  padding: 12px;
  background: linear-gradient(135deg, #E87E23, #D4621F);
  color: #fff; border: none; border-radius: 10px;
  font-size: 13px; font-weight: 900; cursor: pointer;
  box-shadow: 0 4px 16px rgba(232,126,35,0.3);
  transition: all 0.2s;
}
.brief-lets-go:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(232,126,35,0.45); }
.brief-countdown {
  font-size: 11px; color: rgba(255,255,255,0.35);
  white-space: nowrap; min-width: 60px; text-align: right;
}
.brief-progress {
  height: 3px; background: rgba(255,255,255,0.08); border-radius: 2px;
  margin-bottom: 16px; overflow: hidden;
}
.brief-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #E87E23, #D4621F);
  border-radius: 2px;
  width: 100%;
  transition: width linear;
}
/* ── PERSONA ROW GLOW ON ACTIVE ── */
.persona-row.active {
  background: var(--bg4) !important;
  box-shadow: inset 3px 0 0 var(--orange) !important;
}
/* ── ACTIVE PROJECT TAB PULSE ── */
@keyframes tabPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(232,126,35,0); }
  50%      { box-shadow: 0 0 0 3px rgba(232,126,35,0.12); }
}
.proj-tab.proj-active-pulse {
  animation: tabPulse 3s ease-in-out infinite;
}
/* ── EMPTY CHAT STATE ── */
.chat-empty-state {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s;
}
.chat-empty-state.hidden { opacity: 0; pointer-events: none; }
.ces-greeting {
  font-size: 22px;
  font-weight: 900;
  color: rgba(255,255,255,0.85);
  margin-bottom: 6px;
  text-align: center;
}
.ces-greeting span { color: #E87E23; }
.ces-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  margin-bottom: 32px;
  text-align: center;
}
.ces-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
  max-width: 480px;
  pointer-events: all;
}
.ces-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.ces-card:hover {
  background: rgba(232,126,35,0.07);
  border-color: rgba(232,126,35,0.3);
  transform: translateY(-1px);
}
.ces-card-icon { font-size: 18px; margin-bottom: 6px; }
.ces-card-title { font-size: 11px; font-weight: 800; color: rgba(255,255,255,0.8); margin-bottom: 3px; }
.ces-card-sub { font-size: 10px; color: rgba(255,255,255,0.35); line-height: 1.4; }

/* PHASE BAR — v29 */
.phase-bar{display:flex;align-items:center;padding:0 16px;height:32px;background:var(--navy2);border-bottom:1px solid rgba(255,255,255,0.06);flex-shrink:0;gap:0;overflow:hidden;}
.phase-step{display:flex;align-items:center;gap:0;flex:1;position:relative;}
.phase-step-label{font-size:8.5px;font-weight:800;letter-spacing:0.8px;text-transform:uppercase;color:rgba(255,255,255,0.28);transition:all 0.2s;white-space:nowrap;padding:3px 8px;border-radius:4px;cursor:default;}
.phase-step.active .phase-step-label{color:var(--orange);background:rgba(232,126,35,0.1);}
.phase-step.done .phase-step-label{color:rgba(255,255,255,0.5);}
.phase-arrow{font-size:9px;color:rgba(255,255,255,0.15);flex-shrink:0;margin:0 2px;}
.phase-step.active .phase-arrow{color:var(--orange);}

/* CONTEXTUAL RIGHT PANEL — v29 */
.rp-panel{display:none;flex-direction:column;}
.rp-panel.active{display:flex;flex-direction:column;}
.rp-header-block{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.08);}
.rp-header-left{display:flex;align-items:center;gap:10px;}
.rp-avatar{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.rp-persona-title{font-size:13px;font-weight:700;color:#fff;line-height:1.2;}
.rp-persona-sub{font-size:10px;color:rgba(255,255,255,0.45);line-height:1.2;}
.rp-phase-pill{font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;background:rgba(232,126,35,0.15);color:#E87E23;border:0.5px solid rgba(232,126,35,0.4);white-space:nowrap;}
.rp-progress-bar-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px 4px;}
.rp-progress-label{font-size:9px;font-weight:700;letter-spacing:0.8px;color:rgba(255,255,255,0.5);text-transform:uppercase;}
.rp-progress-track{height:3px;background:rgba(255,255,255,0.08);margin:0 14px 8px;border-radius:2px;}
.rp-progress-fill{height:100%;background:var(--orange);border-radius:2px;transition:width 0.4s ease;}
.carmen-step{padding:9px 12px;border-radius:7px;background:rgba(255,255,255,0.03);border:0.5px solid rgba(255,255,255,0.08);margin-bottom:5px;}
.carmen-step.active{background:rgba(232,126,35,0.1);border-color:rgba(232,126,35,0.4);}
.carmen-step.done{background:rgba(29,158,117,0.06);border-color:rgba(29,158,117,0.25);}
.carmen-step-label{font-size:9px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:2px;}
.carmen-step.active .carmen-step-label{color:#E87E23;}
.carmen-step.done .carmen-step-label{color:#1d9e75;}
.carmen-step-name{font-size:12px;font-weight:700;color:rgba(255,255,255,0.9);margin-bottom:2px;}
.carmen-step-desc{font-size:10px;color:rgba(255,255,255,0.4);line-height:1.4;}
/* compact project card — r16 */
.rp-proj-card{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;cursor:pointer;transition:all 0.15s;margin-bottom:4px;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.03);}
.rp-proj-card.has-flags{border-color:rgba(232,126,35,0.3);background:rgba(232,126,35,0.06);}
.rp-proj-card:hover{background:rgba(232,126,35,0.1);border-color:rgba(232,126,35,0.4);}
.rp-proj-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.rp-proj-name{font-size:11px;font-weight:800;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-proj-phase-badge{font-size:8px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:0.3px;flex-shrink:0;background:rgba(232,126,35,0.15);color:#E87E23;border:1px solid rgba(232,126,35,0.3);}
.rp-proj-phase-badge.clean{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.45);border-color:rgba(255,255,255,0.08);}
.rp-proj-chevron{font-size:9px;color:var(--orange);font-weight:900;flex-shrink:0;transition:transform 0.2s;line-height:1;}
.rp-proj-chevron.open{transform:rotate(90deg);}
.rp-proj-flags{padding:6px 10px 8px 24px;display:none;}
.rp-proj-flags.open{display:block;}
.rp-proj-flag-row{font-size:9px;color:rgba(255,255,255,0.65);padding:3px 0;border-left:2px solid rgba(232,126,35,0.4);padding-left:8px;margin-bottom:3px;line-height:1.4;}
.rp-proj-flag-row.red{border-color:#dc2626;color:#fca5a5;}
.rp-proj-enter-btn{margin:4px 10px 6px 24px;width:calc(100% - 34px);background:rgba(232,126,35,0.12);border:1px solid rgba(232,126,35,0.4);color:#E87E23;padding:5px 0;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;transition:0.15s;}
.rp-proj-enter-btn:hover{background:rgba(232,126,35,0.25);}
.rp-section{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.06);}
.rp-section:last-child{border-bottom:none;}
.rp-label{font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#fff;margin-bottom:8px;display:block;text-align:center;}
.rp-label::after{display:none;}
.rp-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px;gap:8px;}
.rp-row-label{font-size:10px;color:var(--muted);font-weight:600;flex-shrink:0;}
.rp-row-val{font-size:10px;color:var(--text);font-weight:700;text-align:right;}
.rp-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:2px;}
.rp-stat{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:7px;padding:8px 10px;}
.rp-stat-num{font-size:18px;font-weight:900;color:var(--orange);line-height:1;margin-bottom:2px;letter-spacing:-0.5px;}
.rp-stat-label{font-size:8px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.6px;}
.rp-flag{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;margin-bottom:4px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);}
.rp-flag.warn{background:rgba(251,191,36,0.06);border-color:rgba(251,191,36,0.2);}
.rp-flag.ok{background:rgba(34,197,94,0.06);border-color:rgba(34,197,94,0.15);}
.rp-flag.err{background:rgba(248,113,113,0.06);border-color:rgba(248,113,113,0.2);}
.rp-flag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.rp-flag.warn .rp-flag-dot{background:#fbbf24;}
.rp-flag.ok .rp-flag-dot{background:#22c55e;}
.rp-flag.err .rp-flag-dot{background:#f87171;}
.rp-flag-text{font-size:10px;color:rgba(255,255,255,0.75);font-weight:600;flex:1;line-height:1.35;}
.rp-actions{display:flex;flex-direction:column;gap:5px;padding:10px 14px;}
.rp-action-btn{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,0.1);border-radius:7px;background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.8);font-size:10px;font-weight:700;cursor:pointer;text-align:left;transition:all 0.15s;font-family:inherit;letter-spacing:0.3px;}
#rp-sofia .rp-action-btn{font-size:10px;padding:8px 12px;color:rgba(255,255,255,0.8);font-weight:700;letter-spacing:0.3px;min-height:36px;}
.rp-action-btn:hover{background:rgba(232,126,35,0.1);border-color:rgba(232,126,35,0.35);color:#fff;}
.rp-action-btn.orange{background:rgba(232,126,35,0.12);border-color:rgba(232,126,35,0.4);color:var(--orange);}
.rp-trade-select{width:100%;margin-bottom:5px;font-size:10px;font-weight:700;color:#fff;background:#162444;border:1px solid rgba(232,126,35,0.35);border-radius:6px;padding:5px 24px 5px 8px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23E87E23' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;}
.rp-trade-select option{background:#162444;color:#fff;}
.rp-action-btn.orange:hover{background:rgba(232,126,35,0.22);border-color:var(--orange);}
.step-badge{width:18px;height:18px;border-radius:4px;background:#E87E23;color:#fff;font-size:10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px;vertical-align:middle;}
.step-badge.dim{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.4);}
.step-badge.done{background:#1D9E75;color:#fff;}
.rp-trade-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;}
.rp-trade-bar-bg{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,0.07);}
.rp-trade-bar-fill{height:100%;border-radius:2px;background:var(--orange);transition:width 0.4s;}
.rp-trade-label{font-size:9px;color:var(--muted);font-weight:600;width:60px;flex-shrink:0;}
.rp-trade-val{font-size:9px;color:rgba(255,255,255,0.6);font-weight:700;width:44px;text-align:right;flex-shrink:0;}
.rp-header{padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,0.07);}
.rp-persona-badge{display:flex;align-items:center;gap:8px;}
.rp-persona-avatar{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;flex-shrink:0;}
.rp-persona-name{font-size:12px;font-weight:900;color:#fff;letter-spacing:0.2px;}
.rp-persona-role{font-size:9px;color:var(--muted);font-weight:600;letter-spacing:0.3px;}

/* DOC BLOCK RENDERER — v29 */
.doc-block{background:linear-gradient(135deg,rgba(30,52,90,0.6),rgba(15,25,50,0.8));border:1px solid rgba(232,126,35,0.25);border-left:3px solid var(--orange);border-radius:0 10px 10px 0;padding:14px 16px;margin:8px 0;max-width:100%;}
.doc-block-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.08);}
.doc-block-icon{font-size:15px;}
.doc-block-title{font-size:11px;font-weight:900;color:#fff;letter-spacing:0.5px;text-transform:uppercase;flex:1;}
.doc-block-persona{font-size:9px;font-weight:700;color:var(--orange);background:rgba(232,126,35,0.1);padding:2px 7px;border-radius:4px;letter-spacing:0.5px;}
.doc-block-body{font-size:12px;color:rgba(255,255,255,0.85);line-height:1.55;}
.doc-block table{width:100%;border-collapse:collapse;margin:6px 0;}
.doc-block th{font-size:9px;font-weight:800;color:var(--orange);text-transform:uppercase;letter-spacing:0.5px;padding:5px 8px;border-bottom:1px solid rgba(232,126,35,0.25);text-align:left;}
.doc-block td{font-size:10px;color:rgba(255,255,255,0.8);padding:5px 8px;border-bottom:1px solid rgba(255,255,255,0.05);vertical-align:top;}
.doc-block tr:last-child td{border-bottom:none;}
.sheet-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.sheet-row:last-child{border-bottom:none;}
.sheet-badge{font-size:9px;font-weight:800;padding:2px 7px;border-radius:4px;flex-shrink:0;letter-spacing:0.4px;margin-top:1px;}
.sheet-badge.clear{background:rgba(34,197,94,0.15);color:#4ade80;border:1px solid rgba(34,197,94,0.25);}
.sheet-badge.flag{background:rgba(251,191,36,0.15);color:#fbbf24;border:1px solid rgba(251,191,36,0.25);}
.sheet-badge.conflict{background:rgba(248,113,113,0.15);color:#f87171;border:1px solid rgba(248,113,113,0.25);}
.sheet-label{font-size:10px;font-weight:700;color:rgba(255,255,255,0.75);min-width:40px;flex-shrink:0;}
.sheet-note{font-size:10px;color:rgba(255,255,255,0.55);flex:1;line-height:1.4;}
.sheet-badge.done{background:rgba(29,158,117,0.15);color:#4ade80;border:1px solid rgba(29,158,117,0.25);}
.sheet-badge.active{background:rgba(37,99,165,0.15);color:#85B7EB;border:1px solid rgba(37,99,165,0.3);}
.sheet-badge.pending{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.3);border:1px solid rgba(255,255,255,0.08);}
.carmen-prog-wrap{padding:8px 14px 6px;border-bottom:1px solid rgba(255,255,255,0.06);}
.carmen-prog-bar{height:3px;border-radius:2px;background:rgba(255,255,255,0.08);margin-bottom:4px;overflow:hidden;}
.carmen-prog-fill{height:100%;border-radius:2px;background:#E87E23;transition:width 0.3s;}
.carmen-prog-txt{font-size:9px;color:rgba(255,255,255,0.35);display:flex;justify-content:space-between;font-weight:700;letter-spacing:0.3px;}
.carmen-cur{background:rgba(37,99,165,0.12);border:1px solid rgba(37,99,165,0.35);border-radius:7px;padding:9px;margin-bottom:5px;}
.carmen-cur-lbl{font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(133,183,235,0.6);margin-bottom:3px;font-weight:700;}
.carmen-cur-name{font-size:11px;font-weight:700;color:#85B7EB;}
.carmen-step-done{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:6px;background:rgba(29,158,117,0.06);border:1px solid rgba(29,158,117,0.2);margin-bottom:3px;}
.carmen-rerun{margin-left:auto;background:none;border:none;cursor:pointer;color:#1D9E75;font-size:13px;padding:0;opacity:0.7;line-height:1;}
.carmen-rerun:hover{opacity:1;}
.carmen-next{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);font-size:9px;color:rgba(255,255,255,0.3);margin-bottom:3px;font-weight:700;letter-spacing:0.3px;}
.carmen-more{font-size:9px;color:rgba(255,255,255,0.2);text-align:center;padding:2px 0;font-weight:700;letter-spacing:0.3px;}
.carmen-admin-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;border:1px solid rgba(29,158,117,0.3);background:rgba(29,158,117,0.07);margin-bottom:4px;cursor:pointer;font-size:10px;font-weight:700;color:#1D9E75;width:100%;text-align:left;font-family:inherit;letter-spacing:0.3px;}
.carmen-admin-btn:hover{background:rgba(29,158,117,0.15);}
.carmen-admin-locked{padding:10px;border-radius:7px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);text-align:center;}
.carmen-phase-pill{font-size:9px;padding:2px 7px;border-radius:8px;background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.4);font-weight:700;letter-spacing:0.3px;margin-left:auto;white-space:nowrap;}
.qty-table-wrap{overflow-x:auto;margin:6px 0;}
.qty-table{min-width:100%;border-collapse:collapse;}
.qty-table th{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;color:var(--orange);padding:5px 10px;background:rgba(232,126,35,0.07);border-bottom:1px solid rgba(232,126,35,0.2);text-align:left;}
.qty-table td{font-size:10px;padding:5px 10px;border-bottom:1px solid rgba(255,255,255,0.05);color:rgba(255,255,255,0.8);}
.qty-table tr:last-child td{border-bottom:none;}
.qty-table .total-row td{font-weight:800;color:#fff;border-top:1px solid rgba(232,126,35,0.3);padding-top:7px;}


/* PRIORITY ITEMS — v29 */
.pi-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:7px;margin-bottom:5px;border:1px solid;}
.pi-item.red{background:rgba(220,38,38,0.07);border-color:rgba(220,38,38,0.3);}
.pi-item.yellow{background:rgba(217,119,6,0.07);border-color:rgba(217,119,6,0.3);}
.pi-item.green{background:rgba(22,163,74,0.07);border-color:rgba(22,163,74,0.2);}
.pi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.pi-item.red .pi-dot{background:#dc2626;}
.pi-item.yellow .pi-dot{background:#d97706;}
.pi-item.green .pi-dot{background:#16a34a;}
.pi-title{font-size:10px;font-weight:700;margin-bottom:2px;}
.pi-item.red .pi-title{color:#fca5a5;}
.pi-item.yellow .pi-title{color:#fcd34d;}
.pi-item.green .pi-title{color:#86efac;}
.pi-sub{font-size:9px;line-height:1.4;}
.pi-item.red .pi-sub{color:rgba(252,165,165,0.7);}
.pi-item.yellow .pi-sub{color:rgba(252,211,77,0.7);}
.pi-item.green .pi-sub{color:rgba(134,239,172,0.7);}
.pi-age{font-size:9px;font-weight:800;flex-shrink:0;margin-top:1px;}
.pi-item.red .pi-age{color:#ef4444;}
.pi-item.yellow .pi-age{color:#f59e0b;}
.pi-item.green .pi-age{color:#22c55e;}
.pi-empty{font-size:10px;color:var(--muted);text-align:center;padding:12px 0;}

/* MIC BUTTON — v29 */
#mic-btn{width:36px;height:36px;border-radius:9px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;transition:all 0.15s;flex-shrink:0;}
#mic-btn:hover{background:rgba(232,126,35,0.12);border-color:rgba(232,126,35,0.4);color:var(--orange);}
#mic-btn.listening{background:rgba(239,68,68,0.15);border-color:rgba(239,68,68,0.5);color:#ef4444;animation:mic-pulse 1s ease-in-out infinite;}
@keyframes mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.3);}50%{box-shadow:0 0 0 6px rgba(239,68,68,0);}}

/* ===================== SECTION 2 · V2 EXTENSIONS ===================== */
/* V1 base above is the spec and wins on conflict. Everything below is either
   (a) token aliases so V2 module-injected styles keep rendering on V1's palette,
   or (b) V2-only infrastructure with no V1 counterpart yet (auth shell, modal
   system, dropdowns, toast, live chat composer). As each V1 feature lifts, its
   V2 stand-in here retires. */

/* --- (a) token aliases: V2 module var names -> V1 palette values --- */
:root{
  --orange-2:#D4621F;                 /* = V1 --orange2 */
  --bar:var(--navy);                  /* top + project bars */
  --rail:var(--navy2);                /* left rail */
  --card:#1A3A5C;                     /* modal / chat cards */
  --card-2:#162d4a;                   /* dropdowns (V1 proj-dropdown bg) */
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.15);
  --orange-soft:rgba(232,126,35,.12);
  --orange-line:rgba(232,126,35,.42);
  --text-2:rgba(255,255,255,.62);
  --text-3:rgba(255,255,255,.34);
  --ok:#22c55e;
  --amber:#e0a020;
  --good:#1D9E75;
  --rail-w:var(--panel-w);
  --radius:10px;
  --font:'Futura','Nunito',system-ui,sans-serif;   /* = V1 body font */
}

/* --- (b) app wrapper: auth overlay (data.js) hides .app while logging in --- */
.app{flex:1;display:flex;flex-direction:column;min-height:0;}

/* --- chat surface hosts (chat.js owns the content; V1 .messages is the frame) --- */
.chat-scroll-inner{max-width:980px;width:100%;margin:0;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;}   /* r50.2: thread left-anchored (Anthony 06-10) — was centered 760px, dead gutter on wide monitors */
.composer{flex-shrink:0;border-top:1px solid rgba(255,255,255,0.06);padding:12px 16px;background:var(--navy2);}
.composer-inner{max-width:980px;margin:0;}   /* r50.2: composer tracks the left-anchored thread */
.composer-box{display:flex;gap:8px;align-items:center;}
.composer-box input{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:10px;
  padding:11px 14px;color:var(--text);font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;}
.composer-box input::placeholder{color:var(--muted);}
.composer-box input:focus{border-color:rgba(232,126,35,0.85);}
.composer-box .send{width:40px;height:40px;border-radius:10px;border:none;background:var(--orange);color:#fff;font-size:15px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s;}
.composer-box .send:hover{background:var(--orange2);}

/* placeholder seat card (app.js stub for parked personas) */
.stub{align-self:center;margin-top:18px;text-align:center;max-width:520px;padding:22px 24px;border-radius:14px;
  border:1px dashed rgba(255,255,255,0.15);background:rgba(255,255,255,0.025);}
.stub .ico{font-size:26px;margin-bottom:8px;}
.stub h4{margin:0 0 6px;font-size:14px;font-weight:800;}
.stub p{margin:0;font-size:12px;color:var(--text-2);line-height:1.55;}
.stub .tag{display:inline-block;margin-top:12px;font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:var(--orange);border:1px solid var(--orange-line);background:var(--orange-soft);padding:4px 10px;border-radius:6px;}

/* --- topbar user-strip chips (data.js paints these: sync / cost / resync) --- */
.chip{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;color:rgba(255,255,255,0.75);/* r50.4.1: 0.3 was unreadable */
  padding:2px 7px;border-radius:4px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);cursor:default;white-space:nowrap;}
.chip.click{cursor:pointer;transition:.15s;}
.chip.click:hover{border-color:rgba(232,126,35,0.4);color:rgba(255,255,255,0.9);}/* r50.4.1 */
.chip .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.chip .dot.amber{background:var(--amber);box-shadow:0 0 5px var(--amber);}
.chip .dot.ok{background:var(--ok);box-shadow:0 0 5px var(--ok);}

/* --- user switcher (V2 functional switcher; full V1 switcher lifts Phase 4) --- */
.usw{position:relative;}
.usw-btn{display:flex;align-items:center;gap:7px;cursor:pointer;padding:4px 10px 4px 6px;border-radius:8px;
  border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);transition:background .15s;}
.usw-btn:hover{background:rgba(255,255,255,0.09);}
.usw-av{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:900;flex-shrink:0;color:#1a1a00;}
.usw-name{font-size:11px;font-weight:700;color:#fff;line-height:1.2;}
.usw-sub{font-size:8px;color:rgba(255,255,255,0.25);letter-spacing:.3px;}

/* --- dropdown system (user switcher; proj switcher uses V1's own classes) --- */
.dropdown{position:absolute;top:calc(100% + 6px);background:var(--card-2);border:1px solid rgba(232,126,35,0.3);
  border-radius:10px;min-width:200px;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,0.4);overflow:hidden;
  opacity:0;transform:translateY(-6px);pointer-events:none;transition:.15s;}
.dropdown.open{opacity:1;transform:translateY(0);pointer-events:auto;}
.dropdown.right{right:0;}
.dropdown.left{left:0;}
.dd-head{padding:8px 12px 6px;font-size:9px;font-weight:800;color:rgba(255,255,255,0.25);text-transform:uppercase;
  letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,0.06);}
.dd-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:.12s;}
.dd-item:hover{background:rgba(232,126,35,0.1);}
.dd-item.active{background:rgba(232,126,35,0.08);}
.dd-item.danger:hover{background:rgba(239,68,68,0.12);}
.dd-av{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:900;color:#fff;flex-shrink:0;}
.dd-item .t{font-size:11px;font-weight:800;color:#fff;}
.dd-item .s{font-size:9px;color:rgba(255,255,255,0.35);}
.dd-sep{height:1px;background:rgba(255,255,255,0.06);}
.dd-empty{padding:13px;font-size:10px;color:var(--muted);text-align:center;line-height:1.5;}

/* --- V2 modal system (app.js / data.js / docs.js infrastructure) --- */
#ct-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:30px;}
#ct-modal.open{display:flex;}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(6px);animation:fade .2s ease;}
.modal-card{position:relative;width:100%;max-width:560px;max-height:86vh;display:flex;flex-direction:column;
  background:var(--bg2);border:1px solid rgba(232,126,35,0.35);border-radius:14px;
  box-shadow:0 24px 64px rgba(0,0,0,0.5);overflow:hidden;animation:modalIn .22s cubic-bezier(.2,.9,.3,1);}
.modal-card.wide{max-width:680px;}
.modal-card.dc{max-width:94vw;width:94vw;max-height:92vh;height:92vh;}   /* r53.56: DC needs room */
.modal-card.dc .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:row;gap:10px;padding:12px 14px 12px 16px;}  /* r53.87: row layout — left col + full-height preview */
.modal-head{display:flex;align-items:center;gap:11px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;}
.modal-head .mh-ico{width:34px;height:34px;border-radius:9px;background:var(--orange-soft);border:1px solid var(--orange-line);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.modal-head h3{margin:0;font-size:15px;font-weight:900;}
.modal-head .mh-sub{font-size:10px;color:var(--muted);margin-top:2px;}
.modal-close{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:rgba(255,255,255,0.04);
  color:var(--muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0;}
.modal-close:hover{color:#fff;border-color:var(--orange-line);background:var(--orange-soft);}
.modal-body{padding:20px;overflow-y:auto;}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;}
.btn.primary{background:var(--orange);color:#fff;}
.btn.primary:hover{background:var(--orange2);}
.btn:not(.primary){background:transparent;border:1px solid var(--border);color:var(--muted);}
.btn:not(.primary):hover{border-color:rgba(255,255,255,0.2);color:var(--text);}
.m-stub{text-align:center;padding:10px 6px 4px;}
.m-stub p{font-size:13px;color:var(--text-2);line-height:1.6;margin:0 auto;max-width:420px;}
.m-stub .pill{display:inline-block;margin-top:16px;font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:var(--orange);border:1px solid var(--orange-line);background:var(--orange-soft);padding:5px 12px;border-radius:7px;}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.hub-item{display:flex;align-items:center;gap:11px;padding:13px;border-radius:11px;border:1px solid var(--border);
  background:rgba(255,255,255,0.03);cursor:pointer;transition:.15s;}
.hub-item:hover{border-color:var(--orange-line);background:var(--orange-soft);transform:translateY(-1px);}
.hub-item .hi-ico{font-size:18px;flex-shrink:0;}
.hub-item .hi-t{font-size:12px;font-weight:800;}
.hub-item .hi-s{font-size:9px;color:var(--muted);margin-top:2px;}
.form-row{margin-bottom:13px;}
.form-row label{display:block;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;}
.form-row input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:9px;
  padding:11px 13px;color:var(--text);font-family:inherit;font-size:13px;outline:none;}
.form-row input::placeholder{color:var(--muted);}
.form-row input:focus{border-color:rgba(232,126,35,0.5);}

/* --- toast --- */
#ct-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:1200;display:flex;flex-direction:column;gap:8px;align-items:center;}
.toast{display:flex;align-items:center;gap:9px;background:var(--card-2);border:1px solid rgba(232,126,35,0.35);
  border-radius:10px;padding:11px 16px;font-size:12px;font-weight:700;color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,0.45);
  animation:toastIn .25s ease;}
.toast .ti{font-size:14px;}

/* --- right-panel V2-only bits (project delete; full V1 panels lift Phase 2) --- */
.rp-proj-del{flex-shrink:0;width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:none;color:rgba(255,255,255,0.3);
  font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;}
.rp-proj-del:hover{color:#fca5a5;border-color:rgba(239,68,68,0.4);background:rgba(239,68,68,0.10);}

/* --- animations used by the V2 infrastructure --- */
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes toastIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ── r50.1 — V1 DC DOCUMENT VIEW (dc-doc-* lifted verbatim from V1 ~196-217) ── */
.dc-doc-toolbar{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;background:#1E345A;flex-shrink:0;}
.dc-doc-toolbar-name{color:#fff;font-size:11px;font-weight:700;letter-spacing:0.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px;}
.dc-vbtn2{font-size:11px;font-weight:700;padding:5px 14px;border-radius:5px;border:1px solid rgba(255,255,255,0.25);background:transparent;color:rgba(255,255,255,0.85);cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.dc-vbtn2:hover{background:rgba(255,255,255,0.1);color:#fff;}
.dc-vbtn2.dl{background:#E87E23;border-color:#E87E23;color:#fff;}
.dc-vbtn2.dl:hover{background:#f08a30;}
.dc-doc-scroll{overflow:auto;height:calc(100% - 39px);background:#e8e8e8;}
.dc-doc-wrap{max-width:820px;margin:18px auto;padding:36px 48px;font-family:Arial,sans-serif;background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,0.25);}
.dc-doc-letterhead{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:3px solid #2563A5;margin-bottom:18px;}
.dc-doc-company{font-size:16px;font-weight:700;color:#0D2137;letter-spacing:.3px;}
.dc-doc-license{font-size:9px;color:#3B6B8A;margin-top:3px;letter-spacing:.05em;}
.dc-doc-contact{text-align:right;font-size:10px;color:#3B6B8A;line-height:1.7;}
.dc-doc-project-bar{background:#0D2137;border-radius:6px;padding:10px 16px;margin-bottom:20px;display:flex;gap:28px;flex-wrap:wrap;}
.dc-doc-pb-item{display:flex;flex-direction:column;gap:2px;}
.dc-doc-pb-label{font-size:8px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:.1em;}
.dc-doc-pb-val{font-size:11px;font-weight:700;color:#fff;}
.dc-doc-section-title{font-size:10px;font-weight:700;color:#0D2137;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #D0E4F5;padding-bottom:5px;margin:18px 0 10px;}
.dc-doc-content{font-size:12px;color:#0D2137;line-height:1.75;}
.dc-doc-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:11px;}
.dc-doc-table th{background:#0D2137;color:#fff;padding:7px 10px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.05em;}
.dc-doc-table td{padding:6px 10px;border-bottom:1px solid #D0E4F5;color:#1A3A5C;vertical-align:top;}
.dc-doc-table tr:nth-child(even) td{background:#f4f8fc;}
.dc-doc-rfi{background:#fff8f4;border-left:3px solid #E87E23;padding:8px 12px;margin-bottom:8px;border-radius:0 4px 4px 0;}
.dc-doc-rfi-id{font-size:10px;font-weight:700;color:#E87E23;margin-bottom:3px;}
.dc-doc-rfi-text{font-size:11px;color:#1A3A5C;line-height:1.5;}
.dc-doc-rfi-status{font-size:9px;color:#888;margin-top:3px;font-style:italic;}
.dc-doc-footer{border-top:1px solid #D0E4F5;padding-top:10px;margin-top:28px;display:flex;justify-content:space-between;align-items:center;}
.dc-doc-footer-left{font-size:9px;color:#3B6B8A;}
.dc-doc-footer-right{font-size:9px;color:#3B6B8A;text-align:right;}

/* ===== r52.2 (V2 extension, Anthony 06-11): VISIBLE TEXT SELECTION =====
   No ::selection rule existed anywhere — on this dark theme the browser default
   highlight is near-invisible, which made drag-select-copy feel broken ("opacity
   too light to cut and paste"). Orange highlight, dark text: unmissable. */
::selection{background:rgba(232,126,35,.85);color:#0d1117;}
::-moz-selection{background:rgba(232,126,35,.85);color:#0d1117;}

/* ===== r53.10 — PA OVERLAY (V1 verbatim) ===== */
.pa-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.82);z-index:2200;display:none;align-items:center;justify-content:center;}
.pa-overlay.open{display:flex;}
.pa-shell{background:#0D1B2E;border:2px solid rgba(232,126,35,0.65);border-radius:14px;width:1100px;max-width:97vw;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 28px rgba(232,126,35,0.12);}
.pa-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;gap:12px;flex-shrink:0;}
.pa-hdr-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.pa-hdr-name{font-size:14px;font-weight:800;color:#fff;}
.pa-hdr-role{font-size:10px;color:rgba(255,255,255,0.4);margin-top:1px;}
.pa-close{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:rgba(255,255,255,0.5);font-size:12px;padding:5px 12px;cursor:pointer;font-family:inherit;}
.pa-close:hover{background:rgba(255,255,255,0.06);color:#fff;}
.pa-body{flex:1;display:flex;overflow:hidden;}
.pa-chat{flex:1;display:flex;flex-direction:column;background:#0a1525;overflow:hidden;}
.pa-chat-msgs{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
.pa-chat-msgs::-webkit-scrollbar{width:3px;}
.pa-chat-msgs::-webkit-scrollbar-thumb{background:rgba(232,126,35,0.3);border-radius:2px;}
.pa-msg-ai{display:flex;gap:10px;align-items:flex-start;}
.pa-msg-ai-bubble{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:10px 10px 10px 2px;padding:10px 14px;font-size:13px;color:rgba(255,255,255,0.85);line-height:1.6;max-width:85%;}
.pa-msg-user{display:flex;justify-content:flex-end;}
.pa-msg-user-bubble{background:#1E345A;border-radius:10px 10px 2px 10px;padding:10px 14px;font-size:13px;color:#fff;line-height:1.6;max-width:85%;}
.pa-msg-avatar{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;}
.pa-input-bar{padding:8px 10px;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:0;flex-shrink:0;background:#0a1525;}
.pa-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-left:none;border-right:none;padding:9px 12px;font-size:13px;color:#fff;font-family:inherit;outline:none;resize:none;}
.pa-input::placeholder{color:rgba(255,255,255,0.3);}
.pa-input:focus{border-color:rgba(232,126,35,0.4);}
.pa-send{width:36px;height:36px;border-radius:0 9px 9px 0;background:var(--orange);border:none;color:#fff;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.pa-send:hover{background:#d06e1a;}
.pa-send-left{width:36px;height:36px;border-radius:9px 0 0 9px;background:var(--bg3);border:1px solid var(--border);border-right:none;color:var(--muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pa-typing-dots{display:flex;gap:4px;padding:10px 14px;}
.pa-typing-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.3);animation:pa-dot-bounce 1.2s infinite;}
.pa-typing-dots span:nth-child(2){animation-delay:0.2s;}
.pa-typing-dots span:nth-child(3){animation-delay:0.4s;}
@keyframes pa-dot-bounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-6px);}}
.pa-planner{width:340px;border-left:1px solid rgba(255,255,255,0.06);overflow-y:auto;padding:0 0 12px;flex-shrink:0;}
.pa-planner::-webkit-scrollbar{width:3px;}
.pa-planner::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px;}
.pa-today-bar{padding:10px 14px 8px;border-bottom:0.5px solid rgba(255,255,255,0.06);margin-bottom:4px;}
.pa-today-date{font-size:13px;font-weight:700;color:#fff;}
.pa-today-sub{font-size:10px;color:rgba(255,255,255,0.35);margin-top:2px;}
.pa-pl-section{padding:10px 14px 8px;}
.pa-pl-label{font-size:10px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-weight:900;display:flex;justify-content:space-between;align-items:center;}
.pa-pl-empty{font-size:11px;color:rgba(255,255,255,0.25);font-style:italic;padding:4px 0;}
.pa-pl-divider{height:0.5px;background:rgba(255,255,255,0.06);margin:4px 14px 0;}
.pa-pl-add-btn{font-size:9px;font-weight:700;color:#E87E23;background:rgba(232,126,35,0.08);border:0.5px solid rgba(232,126,35,0.25);border-radius:4px;padding:2px 7px;cursor:pointer;font-family:inherit;}
.pa-pl-add-btn:hover{background:rgba(232,126,35,0.15);}
.pa-mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px;}
.pa-cal-nav{background:transparent;border:0.5px solid rgba(255,255,255,0.15);border-radius:4px;color:rgba(255,255,255,0.5);font-size:14px;padding:1px 6px;cursor:pointer;line-height:1;}
.pa-cal-nav:hover{background:rgba(255,255,255,0.07);color:#fff;}
.pa-cal-day-header{font-size:8px;color:rgba(255,255,255,0.3);text-align:center;padding:2px 0;font-weight:700;}
.pa-cal-day{font-size:10px;color:rgba(255,255,255,0.5);text-align:center;padding:4px 2px;border-radius:4px;cursor:pointer;position:relative;line-height:1;}
.pa-cal-day:hover{background:rgba(255,255,255,0.07);}
.pa-cal-day.today{background:#E87E23;color:#fff;font-weight:700;}
.pa-cal-day.has-event::after{content:'';position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:#E87E23;}
.pa-cal-day.today.has-event::after{background:#fff;}
.pa-cal-day.other-month{color:rgba(255,255,255,0.18);}
.pa-event-card{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:0.5px solid rgba(255,255,255,0.06);}
.pa-event-check{width:14px;height:14px;flex-shrink:0;margin-top:3px;accent-color:#E87E23;cursor:pointer;}
.pa-event-info{flex:1;min-width:0;}
.pa-event-title{font-size:11px;color:#fff;font-weight:600;line-height:1.3;}
.pa-event-time{font-size:9px;color:#E87E23;margin-top:2px;}
.pa-event-del{font-size:10px;color:rgba(255,255,255,0.2);background:none;border:none;cursor:pointer;flex-shrink:0;padding:0;}
.pa-event-del:hover{color:#E24B4A;}
.pa-note-card{border-radius:7px;padding:8px 10px;margin-bottom:6px;border-left:3px solid;position:relative;transition:opacity 0.35s;}
.pa-note-top{display:flex;align-items:flex-start;gap:7px;}
.pa-note-check{width:14px;height:14px;flex-shrink:0;margin-top:2px;accent-color:#E87E23;cursor:pointer;}
.pa-note-content{flex:1;min-width:0;}
.pa-note-title{font-size:11px;font-weight:700;color:#fff;line-height:1.3;}
.pa-note-body{font-size:10px;color:rgba(255,255,255,0.5);margin-top:2px;line-height:1.4;}
.pa-note-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.pa-note-del{font-size:10px;color:rgba(255,255,255,0.25);background:none;border:none;cursor:pointer;padding:0;}
.pa-note-del:hover{color:#E24B4A;}
.pa-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:6px 12px;background:rgba(255,255,255,0.02);border-bottom:1px solid rgba(255,255,255,0.05);}
.pa-toolbar-btn{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.45);border-radius:6px;padding:4px 10px;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:0.5px;}
.pa-toolbar-btn:hover{color:#fff;background:rgba(255,255,255,0.09);}
/* r53.22: Human DM unread pulse on Messages button */
@keyframes hdm-pulse{0%,100%{border-color:rgba(232,126,35,0.4);background:rgba(232,126,35,0.08);color:#E87E23;}50%{border-color:rgba(232,126,35,0.9);background:rgba(232,126,35,0.25);color:#fff;}}
.hdm-unread{animation:hdm-pulse 1.4s ease-in-out infinite;}
