:root{color:#1f2933;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,pre{font:inherit}.workspace{max-width:1120px;margin:0 auto;padding:40px 24px}.intro{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.eyebrow{color:#376a63;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1,h2,p{margin-top:0}h1{max-width:760px;margin-bottom:14px;font-size:clamp(2rem,5vw,3.4rem);line-height:1}h2{margin-bottom:16px;font-size:1.1rem}.lede{color:#52616d;max-width:720px;line-height:1.6}.panel,.metricCard,.routeBanner{background:#fff;border:1px solid #d8dee4;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.panel{padding:20px}.uploadForm label{margin-bottom:10px;font-weight:700;display:block}.uploadRow{align-items:center;gap:12px;display:flex}.uploadHint{color:#647482;margin:10px 0 0;font-size:.86rem}input[type=file]{border:1px dashed #aab4bf;border-radius:8px;flex:1;min-width:0;padding:12px}button{color:#fff;cursor:pointer;background:#214e4a;border:0;border-radius:8px;min-height:44px;padding:0 18px;font-weight:700}button:disabled{cursor:wait;opacity:.65}.error{color:#9f1f18;background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;margin-top:16px;padding:12px}.results{gap:20px;margin-top:18px;display:grid}.routeBanner{grid-template-columns:1fr auto 2fr;align-items:center;gap:16px;padding:20px;display:grid}.routeBanner h2{text-transform:capitalize;margin:0;font-size:1.8rem}.routeBanner p:last-child{color:#52616d;margin:0}.confidence{color:#214e4a;background:#e8f3f1;border-radius:999px;padding:10px 14px;font-weight:800}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metricCard{min-width:0;padding:18px}.metricCard span{color:#52616d;margin-bottom:8px;font-size:.86rem;display:block}.metricCard strong{overflow-wrap:anywhere;font-size:1.45rem;display:block}.gridTwo{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.columnList{gap:10px;display:grid}.columnItem{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.columnItem div{min-width:0}.columnItem strong,.columnItem span{overflow-wrap:anywhere}.columnItem div span{color:#52616d;margin-top:3px;font-size:.84rem;display:block}.warnings{color:#7a3b00;margin:0;padding-left:18px;line-height:1.55}.planGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.planList{border:1px solid #edf0f2;border-radius:8px;padding:14px}.planList h3{margin:0 0 10px;font-size:.95rem}.planList ul{color:#354652;margin:0;padding-left:18px;line-height:1.5}.debugPanel pre{color:#e5e7eb;background:#111827;border-radius:8px;margin:12px 0 0;padding:14px;font-size:.82rem;line-height:1.45;overflow-x:auto}.debugPanel h3{margin:18px 0 8px;font-size:.95rem}.debugMeta{color:#52616d;flex-wrap:wrap;gap:10px;display:flex}.executionGrid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;display:grid}.artifactGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.artifactItem{border:1px solid #edf0f2;border-radius:8px;min-width:0;padding:12px}.artifactItem div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.artifactItem strong,.artifactItem span{overflow-wrap:anywhere}.artifactItem span{color:#52616d;font-size:.82rem}.artifactItem img{border:1px solid #edf0f2;border-radius:6px;max-width:100%;margin-top:10px;display:block}.muted{color:#647482}.tablePanel{min-width:0}.tableHint{margin-bottom:10px;font-size:.86rem}.tableWrap{border:1px solid #edf0f2;border-radius:8px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid #edf0f2;max-width:220px;padding:10px}th{color:#52616d;font-size:.82rem}.sampleTable{table-layout:fixed;width:max-content}.sampleTable th,.sampleTable td{text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:none;overflow:hidden}.sampleTable th{background:#f6f7f9;position:sticky;top:0}.sampleTable td:hover{overflow-wrap:anywhere;white-space:normal}@media (max-width:800px){.workspace{padding:24px 14px}.uploadRow,.routeBanner,.gridTwo,.planGrid,.executionGrid,.artifactGrid{grid-template-columns:1fr;align-items:stretch;display:grid}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.cards{grid-template-columns:1fr}}.reportPanel{border-left:4px solid #2f6f68;padding:28px}.reportHeader{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.reportHeader h2{text-transform:capitalize;margin-bottom:0;font-size:1.55rem}.reportHeaderBadges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.outcomeBadge{text-transform:capitalize;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}.outcomeSuccess{color:#1b5e57;background:#e6f4f1}.outcomeWarn{color:#7a4f00;background:#fff8e6}.outcomeError{color:#8b1a1a;background:#fff0f0}.reportStatusGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reportStatusGrid>div{color:#52616d;background:#f6f7f9;border:1px solid #e4e8ec;border-radius:8px;min-width:0;padding:14px}.reportStatusGrid span{color:#647482;text-transform:uppercase;margin-bottom:5px;font-size:.78rem;font-weight:700;display:block}.reportStatusGrid strong{color:#1f2933;text-transform:capitalize;margin-bottom:5px;display:block}.reportStatusGrid p{margin:0;font-size:.88rem;line-height:1.5}.revisionNotice{color:#7a4f00;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.86rem}.reportSection{border-top:1px solid #edf0f2;margin-top:24px;padding-top:22px}.reportSection h3{margin:0 0 14px;font-size:1.02rem}.execSummary{color:#1f2933;margin:0;font-size:1.04rem;line-height:1.7}.kpiGrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.kpiGrid-primary{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.kpiGrid-structural,.kpiGrid-warning{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpiCard{background:#f0f7f6;border:1px solid #c4deda;border-radius:8px;gap:6px;min-width:0;padding:14px;display:grid}.kpiCard-primary{background:#f0f7f6;border-color:#a9d1cb;padding:18px}.kpiCard-structural{background:#fafbfc;border-color:#e1e6eb}.kpiCard-warning{background:#fff9ed;border-color:#f0d49a}.kpiLabel{color:#376a63;margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.kpiCard-structural .kpiLabel{color:#647482}.kpiCard-warning .kpiLabel{color:#7a4f00}.kpiValue{overflow-wrap:anywhere;font-size:1.3rem;display:block}.kpiCard small,.rankedList small{color:#647482;font-size:.74rem;line-height:1.4;display:block}.kpiCard-primary .kpiValue{font-size:1.65rem}.kpiCard-structural .kpiValue,.kpiCard-warning .kpiValue{font-size:1.12rem}.kpiGroupTitle{color:#52616d;letter-spacing:0;text-transform:uppercase;margin:18px 0 10px;font-size:.82rem}.rankedList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rankedList li{background:#fbfcfd;border:1px solid #e5e9ed;border-radius:8px;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;padding:12px 14px;display:grid}.rankedList span{color:#fff;background:#214e4a;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:800;display:inline-flex}.rankedList p{color:#354652;margin:0 0 5px;line-height:1.6}.qualitySection{background:#fffdf8;border:1px solid #f1dfb6;border-radius:8px;margin-top:24px;padding:18px}.qualitySection h3{color:#4c3820}.qualityWarnings{color:#6d4400;margin:0 0 14px;padding-left:18px;line-height:1.55}.qualityWarnings li{margin-bottom:6px}.qualityTableWrap{background:#fff}.recommendationList,.limitationList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recommendationList li,.limitationList li{color:#354652;border-radius:8px;padding:12px 14px;line-height:1.6}.recommendationList li{background:#f4f8f7;border:1px solid #d6e6e3}.limitationList li{background:#fafbfc;border:1px solid #e5e9ed}.chartGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chartItem{background:#fff;border:1px solid #dfe5ea;border-radius:8px;min-width:0;padding:14px}.chartTitle{color:#354652;overflow-wrap:anywhere;margin-bottom:10px;font-size:.9rem;font-weight:700}.chartItem img{border:1px solid #edf0f2;border-radius:6px;max-width:100%;display:block}.chartFallback{color:#647482;background:#f6f7f9;border:1px dashed #aab4bf;border-radius:6px;align-items:center;min-height:160px;padding:16px;font-size:.88rem;line-height:1.5;display:flex}.flagBadge{text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:.75rem;font-weight:700}.flagOk{color:#1b5e57;background:#e6f4f1}.flagWarn{color:#7a4f00;background:#fff8e6}.flagError{color:#8b1a1a;background:#fff0f0}.confidenceNote{color:#647482;margin:18px 0 0;font-size:.82rem;line-height:1.6}.topConfidenceNote{border-top:1px solid #edf0f2;padding-top:14px}.retryHistory{margin-bottom:16px}.retryHistory h3{margin:0 0 10px;font-size:.95rem}.retryList{gap:8px;display:grid}.retryAttempt{background:#f6f7f9;border:1px solid #d8dee4;border-radius:8px;padding:10px 14px}.retryMeta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.retryNum{font-size:.84rem;font-weight:700}.retryReason{color:#647482;font-size:.82rem}.retryNote{color:#52616d;margin:0;font-size:.84rem}.debugHeader{align-items:center;gap:12px;margin-bottom:14px;display:flex}.debugHeader h2{margin-bottom:0}.debugToggle{color:#52616d;min-height:unset;background:0 0;border:1px solid #d8dee4;border-radius:6px;padding:4px 12px;font-size:.82rem;font-weight:600}.debugToggle:hover{background:#f6f7f9}@media (max-width:800px){.reportHeader,.reportStatusGrid,.chartGrid{grid-template-columns:1fr;display:grid}.reportHeaderBadges{justify-content:flex-start}.kpiGrid,.kpiGrid-primary,.kpiGrid-structural,.kpiGrid-warning{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.kpiGrid,.kpiGrid-primary,.kpiGrid-structural,.kpiGrid-warning{grid-template-columns:1fr}}.sampleButtons{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.sampleLabel{color:#647482;font-size:.84rem}.sampleLink{color:#214e4a;background:#f0f7f6;border:1px solid #a9d1cb;border-radius:6px;padding:5px 12px;font-size:.84rem;font-weight:600;text-decoration:none}.sampleLink:hover{background:#e0efed}.workflowProgress{background:#f8fbfb;border:1px solid #cfe3df;border-radius:8px;margin-top:16px;padding:14px}.progressHeader{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.progressHeader strong{color:#214e4a}.progressHeader span{color:#647482;font-size:.84rem}.progressSteps{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.progressSteps span{color:#376a63;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d7e8e5;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700;position:relative;overflow:hidden}.progressSteps span:after{content:"";background:#2f6f681f;animation:1.4s ease-in-out infinite progressPulse;position:absolute;inset:0}@keyframes progressPulse{0%{opacity:0}50%{opacity:1}to{opacity:0}}.exportGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.exportLink{color:#214e4a;background:#f4f8f7;border:1px solid #c4deda;border-radius:8px;gap:4px;min-width:0;padding:13px 14px;text-decoration:none;transition:background .15s;display:grid}.exportLink strong{overflow-wrap:anywhere;font-size:.9rem}.exportLink span{color:#647482;font-size:.8rem;line-height:1.4}.exportLink:hover{background:#e0efed;border-color:#8cbfb9}@media (max-width:800px){.exportGrid,.progressSteps{grid-template-columns:1fr}}
