/* HelmVex Portal - ProSolSys-inspired visual layer
   Design-only override. Functional selectors and transcript rendering remain unchanged. */
:root{
  --hv-navy:#0c2a43;--hv-navy-deep:#071827;--hv-blue:#4154f1;--hv-teal:#19a7a5;
  --hv-orange:#ff8200;--hv-bg:#f5f7ff;--hv-surface:#fff;--hv-heading:#012970;
  --hv-text:#2d3a4e;--hv-muted:#667085;--hv-border:#dbe3ff;--hv-border-light:#ebefff;
  --hv-success:#21a66c;--hv-warning:#ec9f05;--hv-danger:#e74c63;
  --hv-shadow:0 8px 20px -14px rgb(1 41 112 / .22),0 4px 10px -8px rgb(65 84 241 / .15);
  --hv-radius:6px;--hv-sidebar:280px;--hv-header:72px;
}
*{box-sizing:border-box}
html{background:var(--hv-bg)}
body{margin:0;background:var(--hv-bg);color:var(--hv-text);font-family:"Nunito Sans","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}
button,input,select{font:inherit}
.app{display:grid;grid-template-columns:var(--hv-sidebar) minmax(0,1fr);min-height:100vh;background:var(--hv-bg)}
.side{position:sticky;top:0;height:100vh;overflow-y:auto;padding:20px 16px;background:linear-gradient(180deg,#0c2a43 0%,#071827 100%);border-right:0;box-shadow:4px 0 20px rgb(7 24 39 / .12);z-index:30}
.logo{display:flex;min-height:56px;align-items:center;padding:4px 9px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.logo img{width:210px;max-width:100%;max-height:48px;object-fit:contain;object-position:left center}
.label{margin:24px 12px 8px;color:#8fa9bc;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
.nav{position:relative;display:flex;align-items:center;width:100%;min-height:44px;padding:10px 14px;margin:4px 0;text-align:left;color:#cfdae3;background:transparent;border:1px solid transparent;border-radius:var(--hv-radius);cursor:pointer;font-weight:650;transition:.18s ease}
.nav:before{content:"";width:3px;height:22px;margin-right:11px;border-radius:4px;background:transparent;transition:.18s ease}
.nav:hover{color:#fff;background:rgba(255,255,255,.075);transform:translateX(2px)}
.nav.active{color:#fff;background:linear-gradient(90deg,rgba(65,84,241,.34),rgba(25,167,165,.16));border-color:rgba(121,153,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.nav.active:before{background:#62dbd7;box-shadow:0 0 10px rgba(98,219,215,.55)}
main{min-width:0;padding:26px 30px 38px}
.top{min-height:var(--hv-header);display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-26px -30px 24px;padding:16px 30px;background:#fff;border-bottom:1px solid var(--hv-border-light);box-shadow:0 2px 12px rgb(1 41 112 / .055)}
.top h1{margin:0;color:var(--hv-heading);font-family:Poppins,"Segoe UI",sans-serif;font-size:22px;line-height:1.25;font-weight:700}
.top .muted{margin-top:3px;font-size:13px}
.muted{color:var(--hv-muted)}
.status,.banner{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff3d8;color:#8a5a00;border:1px solid #f3d795;font-size:12px;font-weight:750}
.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.status.good{background:#dcf8ea;color:#167a50;border-color:#a9e8cb}.status.bad{background:#ffe3e8;color:#b52d45;border-color:#f5b7c2}
.banner{display:flex;margin:0 0 18px;border-radius:var(--hv-radius);padding:11px 14px;background:#fff3d8;color:#7f5708;border-color:#f2d18b}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.card,.panel,.phase2-panel{background:var(--hv-surface);border:1px solid var(--hv-border-light);border-radius:var(--hv-radius);box-shadow:var(--hv-shadow)}
.card{position:relative;padding:19px 20px;overflow:hidden}.card:after{content:"";position:absolute;right:-24px;top:-30px;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,rgba(65,84,241,.12),rgba(25,167,165,.08))}
.metric{position:relative;z-index:1;margin-top:7px;color:var(--hv-heading);font-size:30px;font-weight:750;line-height:1.1}
.panel{margin-top:18px;padding:22px}.panel h2,.panel h3,.phase2-panel h3{color:var(--hv-heading);font-family:Poppins,"Segoe UI",sans-serif}.panel h2{margin:0 0 4px;font-size:19px}.ph{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--hv-border-light)}
.tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.btn{border:1px solid transparent;border-radius:4px;padding:9px 14px;min-height:38px;cursor:pointer;font-weight:700;background:var(--hv-blue);color:#fff;box-shadow:0 3px 8px rgb(65 84 241 / .18);transition:.16s ease}
.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn:focus-visible,.nav:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(65,84,241,.23);outline-offset:2px}
.btn.sec{background:#fff;color:#344054;border-color:#cfd8ef;box-shadow:none}.btn.sec:hover{background:#f7f9ff;border-color:#aebce4}.btn.warn{background:var(--hv-orange);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
#view{min-width:0;overflow-x:auto}
table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;background:#fff;border:1px solid var(--hv-border-light);border-radius:var(--hv-radius);overflow:hidden}
th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--hv-border-light);color:var(--hv-text);vertical-align:middle}th{position:sticky;top:0;z-index:2;background:#f1f4ff;color:#344054;font-size:11px;text-transform:uppercase;letter-spacing:.45px;font-weight:800;border-bottom-color:#d5def8}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8faff;color:var(--hv-text)}
.link{color:var(--hv-blue);cursor:pointer;font-weight:750}.empty{padding:38px 20px;text-align:center;color:var(--hv-muted);background:#fafbff;border:1px dashed #ced8f4;border-radius:var(--hv-radius);margin-top:15px}.hidden{display:none!important}
.modal{position:fixed;inset:0;z-index:100;background:rgba(7,24,39,.64);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.box{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;color:var(--hv-text);border:1px solid var(--hv-border);border-radius:8px;padding:24px;box-shadow:0 24px 70px rgb(7 24 39 / .3)}.box h2{margin-top:0;color:var(--hv-heading)}
.field{margin:14px 0}.field label{display:block;margin-bottom:6px;color:#475467;font-size:12px;font-weight:750}.field input,.field select,.report-tools input,.report-tools select,.phase2-filters input,.phase2-filters select,#p2Search{width:100%;min-height:40px;padding:9px 11px;border-radius:4px;border:1px solid #cfd8ef;background:#fff;color:var(--hv-text);box-shadow:inset 0 1px 2px rgb(16 24 40 / .03)}.field input:focus,.field select:focus,.report-tools input:focus,.report-tools select:focus,.phase2-filters input:focus,.phase2-filters select:focus,#p2Search:focus{border-color:#7182ee}.msg{margin-top:12px;color:var(--hv-muted)}
.detail-grid{gap:12px}.detail-item,.timeline-event,.transcript-event,.report-card,.phase2-card{background:#fff!important;border-color:var(--hv-border-light)!important;border-radius:var(--hv-radius)!important;box-shadow:0 2px 8px rgb(1 41 112 / .045)}.detail-item strong,.timeline-title,.transcript-speaker{color:var(--hv-heading)!important}.detail-item span,.timeline-description,.transcript-content{color:var(--hv-text)!important}.privacy-note,.timeline-source,.transcript-meta,.sync-note{color:var(--hv-muted)!important}
.timeline:before,.transcript-timeline:before{background:rgba(65,84,241,.25)!important}.timeline-event:before,.transcript-event:before{background:var(--hv-teal)!important;box-shadow:0 0 0 4px var(--hv-bg)!important}.transcript-event.bot:before{background:var(--hv-blue)!important}.timeline-time,.transcript-time{color:var(--hv-teal)!important}.transcript-event.bot .transcript-time{color:var(--hv-blue)!important}
.report-grid,.phase2-grid{gap:14px}.report-card b,.phase2-card b{color:var(--hv-heading)}.report-tools,.phase2-filters{gap:10px}.phase2-bars{gap:16px}.phase2-panel{padding:18px}.phase2-bar{background:#e8edfb!important}.phase2-bar i{background:linear-gradient(90deg,var(--hv-blue),var(--hv-teal))!important}.call-row:hover td,.transcript-list-row:hover td,.phase2-search-result:hover td{background:#f1f5ff!important;color:var(--hv-text)!important}
.pager{color:var(--hv-muted)}
.hv-menu-toggle{display:none;border:0;background:transparent;color:var(--hv-heading);font-size:24px;line-height:1;padding:5px 8px;cursor:pointer}
.hv-overlay{display:none;position:fixed;inset:0;background:rgba(7,24,39,.46);z-index:25}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid,.phase2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;width:min(300px,88vw);transform:translateX(-105%);transition:transform .22s ease}.app.hv-menu-open .side{transform:translateX(0)}.app.hv-menu-open .hv-overlay{display:block}.hv-menu-toggle{display:inline-flex}.top{padding-left:20px}.top>div:first-child{display:flex;align-items:center;gap:10px}.top>div:first-child>div{display:none}}
@media(max-width:600px){main{padding:18px}.top{margin:-18px -18px 18px;padding:13px 16px}.metrics{grid-template-columns:1fr}.panel{padding:16px}.ph{align-items:flex-start;flex-direction:column}.report-tools,.phase2-filters,.phase2-bars{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.tools .btn{flex:1 1 auto}.top h1{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V2: permanent dark theme and ProSolSys-exact sidebar language */
:root{color-scheme:dark;--hv-bg:#081426;--hv-surface:#0f2038;--hv-heading:#eaf2ff;--hv-text:#c7d5e8;--hv-muted:#88a5cf;--hv-border:#203858;--hv-border-light:#192f4d;--hv-blue:#3f7ff2;--hv-teal:#44d1cf;--hv-shadow:0 14px 30px -18px rgba(0,0,0,.7)}
html,body,.app{background:var(--hv-bg);color:var(--hv-text)}
.app{grid-template-columns:280px minmax(0,1fr)}
.side{width:280px;padding:0;background:#0c1a34;box-shadow:22px 0 46px -28px rgba(2,8,28,.84);border-right:1px solid #203858}
.logo{height:76px;padding:14px 18px;border-bottom:1px solid #203858;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.logo img{width:205px;max-height:44px;object-position:left center}
.side>.label,.side>.nav{margin-left:12px;margin-right:12px;width:calc(100% - 24px)}
.label{display:flex;align-items:center;gap:9px;margin-top:14px;margin-bottom:6px;padding:0 10px;color:#88a5cf;font-size:10px;font-weight:800;letter-spacing:.1em}
.label:after{content:"";flex:1;height:1px;background:rgba(136,165,207,.22)}
.nav{display:flex;align-items:center;gap:9px;min-height:40px;margin-top:2px;margin-bottom:3px;padding:9px 10px 9px 12px;border:0;border-left:2px solid transparent;border-radius:4px;color:#bfd2ee;background:transparent;font-size:12.5px;font-weight:700;line-height:1.2;box-shadow:none;transform:none}
.nav:before{display:none}.nav .hv-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;color:#88a5cf;font-size:16px;line-height:1}.nav .hv-nav-text{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav .hv-nav-meta{height:16px;padding:0 6px;display:inline-flex;align-items:center;border-radius:4px;color:#88a5cf;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.nav:hover{border-left-color:rgba(63,127,242,.64);background:rgba(63,127,242,.10);color:#f3f7ff;transform:none}.nav:hover .hv-nav-icon{color:#8db7ff}
.nav.active{border-left-color:#3f7ff2;background:rgba(63,127,242,.16);color:#f4f8ff;box-shadow:none}.nav.active .hv-nav-icon,.nav.active .hv-nav-meta{color:#75a7ff}
main{background:var(--hv-bg)}
.top{background:#0d1d34;border-bottom-color:#203858;box-shadow:0 4px 18px rgba(0,0,0,.2)}
.top h1,.panel h2,.panel h3,.phase2-panel h3,.metric,.detail-item strong,.timeline-title,.transcript-speaker{color:var(--hv-heading)!important}
.muted,.msg,.privacy-note,.timeline-source,.transcript-meta,.sync-note{color:var(--hv-muted)!important}
.card,.panel,.phase2-panel,.detail-item,.timeline-event,.transcript-event,.report-card,.phase2-card{background:#0f2038!important;border-color:#203858!important;box-shadow:var(--hv-shadow)}
.card:after{background:linear-gradient(135deg,rgba(63,127,242,.15),rgba(68,209,207,.07))}
.ph{border-bottom-color:#203858}
.btn.sec{background:#132943;color:#d8e6f8;border-color:#2a476b}.btn.sec:hover{background:#193451;border-color:#3d6492}
#view{color:var(--hv-text)}
table{background:#0e1e35;border-color:#203858}th{background:#142a48;color:#dce8f8;border-bottom-color:#2b4669}th,td{color:var(--hv-text);border-bottom-color:#1f3654}tbody tr:hover td,.call-row:hover td,.transcript-list-row:hover td,.phase2-search-result:hover td{background:#152c49!important;color:#e9f2ff!important}
.empty,.transcript-empty{background:#0b1a2f!important;border-color:#2a4264!important;color:#88a5cf!important}
.box{background:#0f2038;color:var(--hv-text);border-color:#2a476b}.field label{color:#a9bdd7}.field input,.field select,.report-tools input,.report-tools select,.phase2-filters input,.phase2-filters select,#p2Search{background:#09182b;color:#dbe8f8;border-color:#2a476b}.field input:focus,.field select:focus,.report-tools input:focus,.report-tools select:focus,.phase2-filters input:focus,.phase2-filters select:focus,#p2Search:focus{border-color:#4f8df5}
.detail-item span,.timeline-description,.transcript-content{color:#c7d5e8!important}.timeline-event:before,.transcript-event:before{box-shadow:0 0 0 4px #081426!important}.phase2-bar{background:#1b3556!important}.status.good{background:#102f2a;color:#62d9a7;border-color:#245849}.status.bad{background:#361c2a;color:#ff9cac;border-color:#663044}.status{background:#332813;color:#ffc978;border-color:#655024}.banner{background:#332813;color:#ffd38f;border-color:#655024}
.hv-menu-toggle{color:#dce8f8}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#09162a}::-webkit-scrollbar-thumb{background:#2a466a;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#365a86}
@media(max-width:900px){.app{grid-template-columns:1fr}.side{width:min(300px,88vw)}}
