:root{--bg:#0f1724;--panel:#0b1220;--panel-soft:#111b2c;--panel-elev:#132038;--muted:#9aa6b2;--accent:#4f46e5;--accent-2:#00a4a6;--danger:#ff7a7a;--success:#5be38f;--text:#e6eef6}*{box-sizing:border-box}body,html,#root{height:100%;margin:0;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif}body{background:linear-gradient(180deg,#071226,#071a2a);color:var(--text)}.app-root{display:flex;min-height:100vh}.sidebar{width:310px;max-height:100vh;overflow:auto;background:var(--panel);padding:18px 14px;display:flex;flex-direction:column;gap:14px;border-right:1px solid rgba(255,255,255,.06)}.brand-wrap{padding:8px 10px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand{font-weight:800;font-size:22px;letter-spacing:.3px;color:#dfe8ff}.brand-subtitle{font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}.section-title{text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--muted);padding:2px 10px}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-item{display:block;padding:10px 12px;border-radius:8px;color:var(--muted);margin:6px 0;text-decoration:none}.nav-item.active{background:#4f46e51f;color:var(--text)}.app-main{flex:1;padding:28px}.page h1{margin:0 0 12px}.subtitle{color:var(--muted);margin-top:0}.chat-form textarea{width:100%;min-height:120px;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.04);background:transparent;color:var(--text);resize:vertical}.actions{margin-top:8px}button{background:var(--accent);border:none;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{background:#ffffff08;border:1px solid rgba(255,255,255,.15);color:var(--text);padding:9px 11px;border-radius:8px;font-family:inherit}input::placeholder,textarea::placeholder{color:#8ea0b8}.chat-result{margin-top:18px}.reply{background:#ffffff08;padding:12px;border-radius:8px}.error{color:#ffb4b4}.case-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-panel,.case-details-panel{background:var(--panel);padding:16px;border-radius:8px}.case-panel form{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.case-panel input,.case-panel textarea{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.04);border-radius:6px;background:transparent;color:var(--text);font-family:inherit}.case-list{margin-top:20px}.case-list ul{list-style:none;padding:0;margin:0}.case-list li{margin:6px 0}.case-list button{width:100%;text-align:left;background:transparent;border:1px solid rgba(255,255,255,.04);color:var(--muted);padding:8px 12px;border-radius:6px}.case-list button:hover{background:#4f46e514;color:var(--text)}.case-list button.active{background:#4f46e51f;color:var(--text);border-color:var(--accent)}.case-summary{background:#ffffff05;padding:12px;border-radius:6px;margin-bottom:16px}.case-summary p{margin:8px 0}.case-section{margin-top:16px}.case-section h3{margin:0 0 8px;font-size:14px}.case-section ul{list-style:none;padding:0;margin:0}.case-section li{padding:8px 12px;margin:4px 0;background:#ffffff05;border-radius:6px;font-size:14px}.case-actions{margin:16px 0}.case-actions form{display:flex;flex-direction:column;gap:8px}.case-actions select{padding:8px 12px;border:1px solid rgba(255,255,255,.04);border-radius:6px;background:transparent;color:var(--text);font-family:inherit}.status{padding:10px 12px;border-radius:6px;margin:10px 0;font-size:14px}.status.error{background:#ffb4b41a;color:#ffb4b4}.status.success{background:#64c8641a;color:#8ceb8c}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}.metric-card{background:var(--panel-elev)}.metric-value{font-size:30px;font-weight:700;margin:6px 0}.module-status-list{display:flex;flex-direction:column;gap:10px}.module-status-item{background:#ffffff08;border:1px solid rgba(255,255,255,.07);padding:10px;border-radius:10px;display:grid;gap:5px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;width:max-content}.pill.live{background:#5be38f33;color:#93f5b8}.pill.todo{background:#ffc26633;color:#ffd391}.hidden-input{display:none}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px}.page-header p{color:var(--muted);margin-top:8px}.image-investigation-page{display:flex;flex-direction:column;gap:16px}.upload-panel{display:flex;flex-direction:column;gap:12px}.dropzone{border:2px dashed rgba(255,255,255,.2);border-radius:12px;padding:28px;text-align:center;cursor:pointer;transition:all .2s ease;background:#ffffff03}.dropzone.dragging{border-color:var(--accent-2);background:#00a4a614}.dropzone h3{margin:0 0 8px}.dropzone p{margin:0;color:var(--muted)}.upload-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-muted{background:#2a3344}.progress-wrap{position:relative;background:#1c2536;border-radius:999px;height:12px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .15s linear}.progress-wrap span{display:block;margin-top:8px;color:var(--muted);font-size:12px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.preview-grid figure{margin:0;background:var(--panel-soft);border-radius:10px;padding:8px}.preview-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}.preview-grid figcaption{margin-top:6px;font-size:12px;color:var(--muted)}.report-list{display:flex;flex-direction:column;gap:14px}.report-card{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}.report-header h3{margin:0}.report-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-grid .wide{grid-column:1 / -1}.panel h4{margin:0 0 8px}.panel p{margin:4px 0;word-break:break-word}.panel pre{white-space:pre-wrap;max-height:220px;overflow:auto;background:#ffffff05;border-radius:8px;padding:8px}.text-conversation-page .upload-panel{display:flex;flex-direction:column;gap:12px}.upload-grid{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.selected-files{display:flex;flex-wrap:wrap;gap:8px}.file-chip{display:flex;flex-direction:column;gap:2px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:8px 10px;border-radius:10px;min-width:180px}.file-chip span,.muted{color:var(--muted);font-size:12px}.chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timeline-list,.sentiment-list{display:flex;flex-direction:column;gap:8px}.timeline-item,.sentiment-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:10px;display:flex;flex-direction:column;gap:4px}.timeline-item span,.sentiment-item span{color:var(--muted);font-size:12px}.merged-conversation{max-height:360px}@media (max-width: 720px){.upload-grid,.chip-grid{grid-template-columns:1fr}}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#4f46e533;border:1px solid rgba(79,70,229,.4);padding:4px 8px;border-radius:999px;font-size:12px}.color-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.color-chip{width:28px;height:28px;border-radius:50%;display:inline-block;border:2px solid rgba(255,255,255,.35)}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-actions input,.inline-actions select{flex:1;min-width:170px;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#101b2b;color:var(--text)}.ai-report ul{margin:8px 0 0;padding-left:18px}.toast-stack{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:999}.toast{min-width:260px;max-width:420px;padding:10px 12px;border-radius:10px;background:#1e293b;border:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.toast.success{border-color:#5be38fb3}.toast.error{border-color:#ff7a7ab3}.toast button{padding:2px 6px;background:transparent;border:1px solid rgba(255,255,255,.2)}.workspace-page{display:flex;flex-direction:column;gap:14px}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.workspace-header h1{margin:0 0 6px}.search-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.finding-card{background:linear-gradient(145deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}.finding-card h3{margin:0 0 8px;font-size:15px}.finding-card p{margin:4px 0;color:#d5deea}.finding-card strong{font-size:24px}.finding-card ul{margin:0;padding-left:18px;color:#b8c6d8}.assistant-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.assistant-thread{display:flex;flex-direction:column;gap:10px;margin-top:12px}.assistant-message{border-radius:12px;padding:12px;border:1px solid rgba(255,255,255,.08)}.assistant-message h4{margin:0 0 6px}.assistant-message.user{background:#00a4a614;border-color:#00a4a659}.assistant-message.assistant{background:#4f46e51f;border-color:#4f46e559}.assistant-message small{color:var(--muted)}.confidence-row{display:flex;align-items:center;gap:8px;margin:8px 0}.pill.high{background:#5be38f38;color:#98f0b9}.pill.medium{background:#ffc26633;color:#ffd391}.pill.low{background:#ff7a7a33;color:#ffb7b7}.timeline-item.clickable{cursor:pointer;transition:all .15s ease}.timeline-item.clickable:hover{border-color:#4f46e573;transform:translateY(-1px)}.evidence-card a{color:#a8bcff;text-decoration:none}.graph-surface{width:100%;height:460px;background:radial-gradient(circle at 20% 20%,rgba(0,164,166,.12),transparent 35%),radial-gradient(circle at 80% 60%,rgba(79,70,229,.14),transparent 40%),#0a1323;border:1px solid rgba(255,255,255,.08);border-radius:12px}.graph-edge{stroke:#adb8c980;stroke-width:1.5}.graph-node{fill:#4f46e5;stroke:#b9c4ff;stroke-width:2;cursor:grab}.graph-node:active{cursor:grabbing}.graph-label{fill:#d2def0;font-size:11px}.reveal-up{animation:revealUp .26s ease both}@keyframes revealUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.investigation-card{background:linear-gradient(160deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.investigation-card header{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.investigation-card h3{margin:0}.card-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card-list{margin:6px 0 0;padding-left:18px;color:#b8c6d8}.entity-badge{display:inline-flex;align-items:center;background:#00a4a624;border:1px solid rgba(0,164,166,.36);color:#b4f7f8;padding:4px 9px;border-radius:999px;text-decoration:none;font-size:12px}.expand summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;list-style:none}.expand summary::-webkit-details-marker{display:none}.expand .expand-body{margin-top:12px}.table-wrap{display:flex;flex-direction:column;gap:10px}.table-search{max-width:380px}.table-scroll{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:10px}.data-table{width:100%;border-collapse:collapse;min-width:680px;background:#ffffff03}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top}.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#9cb0c8;background:#ffffff08}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.kpi-card{background:var(--panel-soft);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px}.kpi-card h4{margin:0;font-size:12px;color:#9cb0c8;text-transform:uppercase;letter-spacing:.05em}.kpi-card p{margin:6px 0 0;font-size:24px;font-weight:700}@media (max-width: 980px){.app-root{flex-direction:column}.sidebar{width:100%;max-height:none;flex-direction:column;align-items:stretch;gap:8px}.sidebar nav{display:flex;flex-wrap:wrap;gap:8px}.nav-item{margin:0;white-space:nowrap}.app-main{padding:16px}.dashboard-grid,.report-grid,.assistant-form,.card-meta-grid{grid-template-columns:1fr}}
