*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0D1B2A;--panel:#14263A;--card:#1A3050;--card2:#1F3A5F;--hover:#243F66;--border:#2A4A6A;--border2:#345A7A;--amber:#F59E0B;--amber-dim:rgba(245,158,11,.12);--amber-glow:rgba(245,158,11,.25);--teal:#0EA5E9;--teal-dim:rgba(14,165,233,.1);--green:#10B981;--green-dim:rgba(16,185,129,.1);--red:#EF4444;--red-dim:rgba(239,68,68,.1);--purple:#8B5CF6;--purple-dim:rgba(139,92,246,.1);--t1:#F1F5F9;--t2:#94A3B8;--t3:#4A6A8A;--t4:#2A4A6A;--font:-apple-system,"Inter","Segoe UI",sans-serif;--mono:"SF Mono","Fira Code","Consolas",monospace}body{font-family:var(--font);background:var(--navy);color:var(--t1);min-height:100vh;font-size:13px;line-height:1.5;overflow-x:hidden}.hdr{background:var(--panel);border-bottom:1px solid var(--border);height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:200}.hdr-left{display:flex;align-items:center;gap:14px}.logo{display:flex;align-items:center;gap:8px}.logo-mark{width:32px;height:32px;background:var(--amber);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--navy);letter-spacing:-1px;flex-shrink:0}.logo-text{font-size:15px;font-weight:700;letter-spacing:-.3px}.logo-sub{font-size:11px;color:var(--t3);margin-top:1px}.hdr-badge{background:var(--amber-dim);border:1px solid var(--amber);color:var(--amber);font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.8px;text-transform:uppercase}.hdr-right{display:flex;align-items:center;gap:10px}.hdr-client{font-size:12px;color:var(--t2);display:flex;align-items:center;gap:6px}.hdr-client span{color:var(--t1);font-weight:600}#client-name-display{cursor:pointer;border-bottom:1px dashed var(--t3);padding-bottom:1px}.screen{display:none;min-height:calc(100vh - 58px)}.screen.active{display:block}.upload-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 58px);padding:40px 24px;text-align:center}.upload-hero{margin-bottom:40px}.upload-hero h1{font-size:28px;font-weight:800;letter-spacing:-.8px;margin-bottom:10px;line-height:1.2}.upload-hero h1 em{font-style:normal;color:var(--amber)}.upload-hero p{font-size:14px;color:var(--t2);max-width:480px;margin:0 auto;line-height:1.7}.upload-zone{border:2px dashed var(--border2);border-radius:12px;padding:48px 60px;cursor:pointer;transition:all .2s;background:var(--panel);max-width:520px;width:100%;margin-bottom:20px}.upload-zone:hover,.upload-zone.drag{border-color:var(--amber);background:var(--amber-dim)}.upload-icon{font-size:40px;margin-bottom:14px}.upload-label{font-size:14px;font-weight:600;color:var(--t1);margin-bottom:6px}.upload-sub{font-size:12px;color:var(--t3)}.upload-or{font-size:12px;color:var(--t3);margin:12px 0}.btn-primary{background:var(--amber);color:var(--navy);border:none;border-radius:8px;padding:10px 22px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font);transition:opacity .15s;letter-spacing:.2px}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:default}.btn-ghost{background:transparent;color:var(--t2);border:1px solid var(--border2);border-radius:8px;padding:9px 20px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.btn-ghost:hover{border-color:var(--t2);color:var(--t1)}.upload-hint{font-size:11px;color:var(--t3);max-width:420px;line-height:1.6}.upload-hint a{color:var(--amber);text-decoration:none;cursor:pointer}.upload-hint a:hover{text-decoration:underline}.sample-cols{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.col-tag{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:3px 9px;font-size:10px;color:var(--t2);font-family:var(--mono)}.col-tag.req{border-color:var(--amber);color:var(--amber)}.client-input-row{display:flex;gap:10px;align-items:center;max-width:520px;width:100%;margin-bottom:16px}.client-input{flex:1;background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:9px 14px;font-size:13px;color:var(--t1);font-family:var(--font)}.client-input:focus{outline:none;border-color:var(--amber)}.client-input::placeholder{color:var(--t3)}.analysis-screen{padding:0}.progress-bar-wrap{background:var(--panel);border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;gap:16px}.progress-label{font-size:12px;color:var(--t2);white-space:nowrap}.progress-track{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--amber);border-radius:2px;transition:width .4s ease}.progress-count{font-size:11px;color:var(--t3);font-family:var(--mono);white-space:nowrap}.dash-screen{padding:0}.dash-nav{background:var(--panel);border-bottom:1px solid var(--border);padding:0 28px;display:flex;align-items:center;justify-content:space-between}.dash-tabs{display:flex}.dash-tab{padding:15px 20px;font-size:12px;font-weight:600;color:var(--t3);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;font-family:var(--font);display:flex;align-items:center;gap:7px;letter-spacing:.2px}.dash-tab:hover{color:var(--t2)}.dash-tab.active{color:var(--amber);border-bottom-color:var(--amber)}.dash-actions{display:flex;gap:8px;align-items:center}.stats-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid var(--border)}.stat-cell{padding:16px 20px;border-right:1px solid var(--border)}.stat-cell:last-child{border-right:none}.stat-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--t3);margin-bottom:5px}.stat-val{font-size:20px;font-weight:800;line-height:1;letter-spacing:-.5px}.stat-sub{font-size:10px;color:var(--t3);margin-top:3px}.ac{color:var(--amber)}.gc{color:var(--green)}.tc{color:var(--teal)}.rc{color:var(--red)}.pc{color:var(--purple)}.view-panel{display:none;padding:24px 28px}.view-panel.active{display:block}.matrix-wrap{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.matrix-canvas-wrap{position:relative;width:100%;padding-top:56%;background:var(--navy)}#matrix-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.matrix-legend{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border);background:var(--panel)}.legend-items{display:flex;gap:20px}.legend-item{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--t2)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-note{font-size:10px;color:var(--t3)}.tbl-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.tbl-search{background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:8px 14px;font-size:12px;color:var(--t1);font-family:var(--font);width:260px}.tbl-search:focus{outline:none;border-color:var(--amber)}.tbl-search::placeholder{color:var(--t3)}.filter-group{display:flex;gap:6px}.filter-btn{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:11px;color:var(--t2);cursor:pointer;transition:all .15s;font-family:var(--font)}.filter-btn:hover{border-color:var(--border2);color:var(--t1)}.filter-btn.active{border-color:var(--amber);color:var(--amber);background:var(--amber-dim)}.uc-table{width:100%;border-collapse:collapse}.uc-table th{text-align:left;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.8px;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.uc-table th:hover{color:var(--t2)}.uc-table th.sorted{color:var(--amber)}.uc-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--t2);vertical-align:top}.uc-table tr:last-child td{border-bottom:none}.uc-table tbody tr{cursor:pointer;transition:background .1s}.uc-table tbody tr:hover td{background:var(--hover)}.uc-table tbody tr.expanded td{background:var(--card);border-bottom:none}.uc-name{font-weight:600;color:var(--t1);margin-bottom:2px;font-size:13px}.uc-dept{font-size:10px;color:var(--t3)}.size-pill{display:inline-block;font-size:10px;font-weight:700;padding:3px 9px;border-radius:4px;letter-spacing:.4px;text-transform:uppercase}.sz-xs{background:var(--green-dim);color:var(--green);border:1px solid rgba(16,185,129,.3)}.sz-s{background:var(--teal-dim);color:var(--teal);border:1px solid rgba(14,165,233,.3)}.sz-m{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(245,158,11,.3)}.sz-l{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.3)}.sz-xl{background:var(--purple-dim);color:var(--purple);border:1px solid rgba(139,92,246,.3)}.score-bar-wrap{display:flex;align-items:center;gap:8px}.score-bar{height:5px;border-radius:3px;background:var(--border);width:60px;overflow:hidden;flex-shrink:0}.score-fill{height:100%;border-radius:3px}.score-num{font-size:11px;font-family:var(--mono);color:var(--t2);min-width:24px}.priority-badge{display:inline-block;font-size:9px;font-weight:700;padding:2px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.p1{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(245,158,11,.3)}.p2{background:var(--green-dim);color:var(--green);border:1px solid rgba(16,185,129,.3)}.p3{background:var(--teal-dim);color:var(--teal);border:1px solid rgba(14,165,233,.3)}.p4{background:var(--border);color:var(--t3);border:1px solid var(--border)}.expand-row{background:var(--card)!important}.expand-content{padding:14px 16px;background:var(--card);border-bottom:1px solid var(--border)}.expand-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:12px}.expand-block .elbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3);margin-bottom:5px}.expand-block .eval{font-size:12px;color:var(--t1);line-height:1.6}.ai-rationale{background:var(--navy);border:1px solid var(--border);border-radius:6px;padding:12px;font-size:11px;color:var(--t2);line-height:1.7;border-left:3px solid var(--amber)}.exec-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:20px}.exec-title{font-size:22px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}.exec-sub{font-size:13px;color:var(--t2)}.exec-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.exec-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px}.ec-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3);margin-bottom:12px}.ec-items{display:flex;flex-direction:column;gap:8px}.ec-item{display:flex;gap:12px;align-items:flex-start}.ec-rank{font-size:11px;font-weight:700;color:var(--amber);font-family:var(--mono);min-width:20px}.ec-name{font-size:12px;font-weight:600;color:var(--t1);margin-bottom:2px}.ec-meta{font-size:10px;color:var(--t3)}.narrative-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:16px}.narrative-text{font-size:13px;color:var(--t2);line-height:1.8}.narrative-text strong{color:var(--t1);font-weight:600}.empty-state{text-align:center;padding:60px 20px;color:var(--t3)}.empty-icon{font-size:36px;margin-bottom:12px;opacity:.5}.empty-text{font-size:13px}.toast{position:fixed;bottom:24px;right:24px;background:var(--card2);border:1px solid var(--border2);border-radius:8px;padding:12px 18px;font-size:12px;color:var(--t1);display:flex;align-items:center;gap:10px;z-index:999;transform:translateY(80px);opacity:0;transition:all .3s}.toast.show{transform:translateY(0);opacity:1}.toast-icon{font-size:14px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;align-items:center;justify-content:center;display:none}.modal-bg.open{display:flex}.modal{background:var(--panel);border:1px solid var(--border2);border-radius:12px;padding:28px;max-width:440px;width:90%}.modal h3{font-size:16px;font-weight:700;margin-bottom:8px}.modal p{font-size:13px;color:var(--t2);line-height:1.6;margin-bottom:16px}.modal-input{width:100%;background:var(--navy);border:1px solid var(--border2);border-radius:7px;padding:9px 14px;font-size:13px;color:var(--t1);font-family:var(--font);margin-bottom:14px}.modal-input:focus{outline:none;border-color:var(--amber)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
