:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#102033;background:#edf3f7;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(38,93,148,.18),transparent 28%),radial-gradient(circle at bottom right,rgba(114,151,110,.18),transparent 24%),linear-gradient(180deg,#f7fbfd,#e5edf4)}button,input{font:inherit}button{font-weight:700}#root{min-height:100vh}.page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.shell,.workspace{width:min(100%,1120px)}.shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:28px;align-items:center}.hero-copy h1,.page-header h1,.loading-card h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}.hero-copy{padding:18px 12px}.panel{background:#fffffff0;border:1px solid rgba(19,34,56,.08);border-radius:8px;padding:28px 24px;box-shadow:0 20px 50px #1322381f}.auth-card,.loading-card{width:min(100%,420px)}.wide-card{width:min(100%,720px)}.eyebrow{margin:0 0 8px;font-size:.85rem;font-weight:700;text-transform:uppercase;color:#24547f}.intro{margin:12px 0 24px;color:#4e6178}.stack-form{display:grid;gap:18px}.field{display:grid;gap:8px}.field span{font-size:.95rem;font-weight:600}.field input{width:100%;border:1px solid #bfd0df;border-radius:8px;padding:12px 14px;background:#fbfdff;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus{outline:none;border-color:#2f5f8f;box-shadow:0 0 0 4px #2f5f8f24}.actions{display:flex;gap:12px}.actions button,.ghost-button,.segmented button{min-height:44px;border-radius:8px;padding:0 14px;cursor:pointer}.actions button{border:none;color:#fff;background:#17466f}.ghost-button{border:1px solid #bfd0df;background:#f8fbfd;color:#17466f}.actions button:disabled,.ghost-button:disabled{cursor:wait;opacity:.72}.status{position:fixed;right:20px;bottom:20px;z-index:10;min-width:260px;max-width:420px;padding:12px 14px;border-radius:8px;font-weight:600;box-shadow:0 14px 30px #1020332e}.status.success{background:#e8f7ef;color:#1d6a3f}.status.error{background:#fdeeee;color:#9a2f2f}.status.info{background:#edf4fa;color:#1d5278}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.segmented button{border:1px solid #bfd0df;background:#f6fafc;color:#35536f}.segmented button.active{background:#17466f;border-color:#17466f;color:#fff}.workspace{display:grid;gap:22px}.page-header,.panel-header,.header-actions,.finding-topline,.bar-label,.timeline-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-header{align-items:flex-start}.page-header h1{font-size:2.4rem}.chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#edf4fa;color:#1d5278;font-size:.82rem;font-weight:700;text-transform:uppercase}.upload-dropzone{display:grid;gap:8px;padding:18px;border:1px dashed #98aec0;border-radius:8px;background:#fbfdff}.upload-dropzone input{width:100%}.upload-dropzone small,.muted{color:#5e7084}.status-grid,.chart-grid,.results-layout{display:grid;gap:18px}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{min-height:118px}.stat-card span{display:block;color:#617487;font-size:.9rem;margin-bottom:12px}.stat-card strong{font-size:1.6rem}.progress-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.progress-state{min-height:46px;display:grid;place-items:center;border-radius:8px;background:#edf4fa;color:#44627d;font-weight:700}.progress-state.active{background:#d7e8f7;color:#17466f}.progress-state.done{background:#e7f4eb;color:#1b6c40}.finding-list,.timeline-list,.bar-list{display:grid;gap:12px}.finding-card,.timeline-item{border:1px solid #dde6ee;border-radius:8px;padding:14px;background:#fbfdff}.finding-card h3,.timeline-item p{margin:8px 0 0}.severity-high{border-color:#9a2f2f47}.severity-medium{border-color:#ae7d2447}.bar-track{width:100%;min-height:10px;border-radius:999px;background:#e7edf3;overflow:hidden}.findings-view{display:grid;gap:16px}.severity-section{border:1px solid #dde6ee;border-radius:10px;padding:12px 14px;background:#fbfdff}.severity-section.severity-high{border-color:#9a2f2f52}.severity-section.severity-medium{border-color:#ae7d2452}.severity-section.severity-low{border-color:#466ea047}.severity-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.finding-group-list{display:grid;gap:8px}.finding-group{border:1px solid #e2e8ef;border-radius:8px;background:#fff;overflow:hidden}.finding-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.finding-group-header:hover{background:#f4f7fb}.finding-group-meta{display:flex;flex-direction:column;gap:2px}.finding-group-meta .muted{font-size:.85em}.caret{font-size:1.2em;font-weight:600;color:#5b6b7d}.finding-instance-list{display:grid;gap:8px;padding:0 14px 12px;border-top:1px solid #eef2f6}.finding-instance{padding:8px 0 0}.finding-instance p{margin:0 0 4px}.finding-instance-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85em;color:#5b6b7d}.timeline-gantt{display:grid;gap:12px}.timeline-axis{display:flex;justify-content:space-between;font-size:.8em;color:#5b6b7d}.timeline-rows{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:minmax(160px,220px) 1fr;align-items:center;gap:12px}.timeline-label{display:flex;flex-direction:column;gap:2px}.timeline-label .muted{font-size:.8em}.timeline-track{position:relative;height:18px;background:#eef2f6;border-radius:999px;overflow:hidden}.timeline-bar{position:absolute;top:0;bottom:0;border-radius:999px;background:#4a7bd1}.timeline-bar.severity-high{background:#c54848}.timeline-bar.severity-medium{background:#d39433}.timeline-bar.severity-low{background:#4a7bd1}.ie-list{display:grid;gap:10px}.ie-row{display:grid;gap:4px}.ie-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.ie-meta .muted{font-size:.85em}.convo-list{display:grid;gap:8px}.convo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #e2e8ef;border-radius:6px;background:#fff}.convo-pair{display:flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.convo-arrow{color:#5b6b7d}.convo-meta{display:flex;flex-direction:column;align-items:flex-end;font-size:.85em;color:#5b6b7d}.convo-meta strong{color:#1f2937;font-size:1em}.ai-analysis-panel .panel-header{align-items:flex-start}.ai-analysis-panel .panel-header h2{margin-bottom:4px}.ai-analysis-panel .panel-header p{margin:0}.ai-report{display:grid;gap:16px;margin-top:16px}.ai-section{border:1px solid #e2e8ef;border-radius:8px;padding:14px;background:#fbfdff}.ai-section h3{margin:0 0 8px}.ai-section p{margin:0}.ai-section ul{margin:0;padding-left:20px}.ai-section li+li{margin-top:8px}.ai-meta{margin:0;font-size:.85em}.status-inline{border-radius:8px;padding:10px 12px;font-weight:600}.status-inline.error{background:#fdeeee;color:#9a2f2f}.bar-fill{min-height:10px;border-radius:999px;background:linear-gradient(90deg,#1e537d,#5688b1)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #e1e8ef;vertical-align:top}th{color:#476178;font-size:.88rem}td{font-size:.92rem}.user-email-line{margin:4px 0 0;font-size:.85rem;color:#5e7084}.history-list{display:grid;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #e2e8ef;border-radius:8px;background:#fff}.history-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.history-filename{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.history-date{font-size:.82rem;color:#5e7084}.history-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.history-note{font-size:.85em}.history-empty{display:grid;gap:14px;padding:12px 0 4px}.chip.status-chip-completed{background:#e8f7ef;color:#1d6a3f}.chip.status-chip-failed{background:#fdeeee;color:#9a2f2f}.chip.status-chip-processing{background:#d7e8f7;color:#17466f}.chip.status-chip-pending{background:#f0f4f8;color:#5e7084}.recharts-custom-tooltip{background:#fffffff7;border:1px solid rgba(19,34,56,.1);border-radius:6px;padding:8px 12px;font-size:12px;line-height:1.5;box-shadow:0 4px 12px #1020331f}.recharts-custom-tooltip strong{display:block;color:#102033;margin-bottom:2px}.recharts-custom-tooltip p{margin:0;color:#4e6178}@media(max-width:520px){.actions{flex-direction:column}.status{left:20px;min-width:auto}.history-filename{max-width:200px}.history-item{flex-direction:column;align-items:flex-start}}@media(max-width:900px){.shell,.results-layout,.chart-grid,.status-grid{grid-template-columns:1fr}.page-header,.header-actions{flex-direction:column;align-items:flex-start}}
