:root{color:#edf3ff;--bg:#0b1220;--bg-elevated:#121c2d;--panel:#182235;--panel-border:#29473a;--panel-soft:#101a2a;--text:#edf3ff;--muted:#a8b7ce;--muted-strong:#d6e0f7;--primary:#55d68e;--primary-strong:#78e9a7;--primary-text:#07150e;--success:#5ad49f;--warning:#f5c66b;--danger:#ee7f8a;--shadow:0 14px 28px #020a0740;background:#0b1220;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0}button,select,input{font:inherit}button{cursor:pointer}a{color:var(--primary-strong)}.app-shell{max-width:1100px;margin:0 auto;padding:28px 20px 80px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.brand{width:172px;line-height:0;display:block}.brand-group{align-items:center;gap:14px;display:flex}.brand img{width:100%;height:auto;display:block}.eyebrow{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.hero{gap:20px;margin-bottom:18px;display:grid}.hero-copy{border-left:3px solid var(--primary);max-width:700px;padding:8px 0 8px 18px}h1{letter-spacing:0;color:#f1f8f4;max-width:680px;margin:10px 0 8px;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.08}.hero-subtitle{color:#bcefd0;margin:0;font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.45}.hero-note{color:#94b7a4;margin:8px 0 0;font-size:.88rem;line-height:1.5}.contact-section{text-align:center;background:#183427f2;border:1px solid #55d68ecc;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:32px;padding:28px 20px;display:flex}.contact-section h2{color:#f1f8f4;margin:0;font-size:1.35rem}.contact-section a{color:var(--primary-strong)}.workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}.workflow-step{border:1px solid var(--panel-border);opacity:.7;background:#121c2dcc;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.workflow-step.active{opacity:1;background:#183427f2;border-color:#55d68ecc}.workflow-step.complete{opacity:1;border-color:#5ad49f4d}.step-badge{width:28px;height:28px;color:var(--primary-strong);background:#8ab0ff1f;border:1px solid #8ab0ff52;border-radius:999px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.workflow-step strong{color:#dcefe4;margin-bottom:4px;font-size:.95rem;display:block}.workflow-step small{color:#91b3a0;line-height:1.45}.view-nav{border:1px solid var(--panel-border);background:#121c2db3;border-radius:12px;gap:8px;padding:6px;display:inline-flex}.view-nav button{color:var(--muted-strong);background:0 0;border:0;border-radius:9px;padding:10px 14px;font-weight:600}.view-nav button.active{background:var(--primary);color:var(--primary-text);box-shadow:inset 0 1px #ffffff40,0 0 0 2px #55d68e33}.upload-card,.dataset-ready,.results,.empty-state-panel{border:1px solid var(--panel-border);box-shadow:var(--shadow);background:linear-gradient(#182235fa,#131d2bfa);border-radius:18px;margin:20px 0}.upload-card{padding:22px}.upload-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.upload-card h2,.results h2{letter-spacing:-.04em;color:#e9f6ee;margin:0;font-size:clamp(1.5rem,2vw,2rem)}.upload-card p{color:var(--muted);margin:6px 0 0;line-height:1.5}.tiny-badge{color:var(--primary-strong);letter-spacing:.08em;text-transform:uppercase;background:#8ab0ff1f;border:1px solid #8ab0ff47;border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.drop-zone{text-align:center;cursor:pointer;background:#0b1220cc;border:1.5px dashed #55d68e80;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:180px;padding:24px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.drop-zone:hover,.drop-zone:focus-visible{border-color:#55d68ef2;outline:none;box-shadow:0 0 0 3px #55d68e24}.drop-zone.ready{background:#131f2fe6;border-style:solid}.upload-icon{width:46px;height:46px;color:var(--primary-strong);background:#8ab0ff1f;border-radius:14px;place-items:center;margin-bottom:4px;font-size:1.8rem;display:inline-grid}.drop-zone strong{letter-spacing:-.03em;font-size:1.05rem}.drop-zone span{color:var(--muted)}.ready-text{font-weight:700;color:var(--success)!important}.field-summary{margin-top:18px}.field-summary h3{color:var(--muted-strong);margin:0 0 12px;font-size:.95rem}.field-summary ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.field-summary li{border:1px solid var(--panel-border);background:#0b12206b;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.check{width:22px;height:22px;color:var(--success);background:#5ad49f1f;border-radius:50%;place-items:center;font-size:.8rem;font-weight:900;display:inline-grid}.field-summary strong{font-size:.96rem;display:block}.field-summary small{color:var(--muted);margin-top:4px;display:block}.mini-example{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.mini-example>div{border:1px solid var(--panel-border);background:#0b12208a;border-radius:12px;padding:12px}.mini-example span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.76rem;display:block}.mini-example em{color:var(--muted-strong);font-style:normal;font-weight:600;line-height:1.45;display:block}.ready-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.ready-meta span{color:var(--success);background:#5ad49f14;border:1px solid #5ad49f33;border-radius:999px;align-items:center;padding:7px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.validated-upload{padding:18px 22px}.validated-upload .drop-zone{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;min-height:104px;padding:14px 18px}.validated-upload .upload-icon{width:36px;height:36px;margin:0;font-size:1.35rem}.validated-upload .field-summary{margin-top:12px}.validated-upload .field-summary h3{display:none}.validated-upload .field-summary ul{grid-template-columns:repeat(2,minmax(0,1fr))}.muted-note{color:var(--muted);margin:16px 0 0}.page-error,.error{color:#ffc4cc}.loading{color:var(--primary-strong)}.empty-state-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.mini-card{border:1px solid var(--panel-border);background:#0b12208f;border-radius:14px;padding:14px 16px}.mini-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;display:block}.mini-card strong{font-size:1rem;line-height:1.5}.dataset-ready{justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.configure-heading{min-width:205px}.configure-heading h2{margin:2px 0 5px;font-size:1.15rem}.configure-heading p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.section-kicker{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.dataset-meta{flex-direction:column;gap:6px;min-width:180px;display:flex}.dataset-meta strong{color:#dff5e7;font-size:1rem}.dataset-meta span{color:var(--muted)}.dataset-form{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dataset-ready label{color:#b7d9c5;flex-direction:column;gap:6px;font-size:.82rem;display:flex}.dataset-ready input{background:var(--panel-soft);color:var(--text);border:1px solid var(--panel-border);border-radius:10px;padding:10px 12px}.dataset-actions{align-items:center;gap:10px;display:flex}button{background:var(--primary);color:var(--primary-text);border:0;border-radius:10px;padding:12px 16px;font-weight:700;transition:filter .2s,transform .2s}button:hover{filter:brightness(1.02)}button:disabled{opacity:.65;cursor:wait}button.secondary-button{color:var(--text);background:#294337d9}.results{padding:22px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 16px;display:grid}.summary-card{border:1px solid var(--panel-border);background:#0b12208f;border-radius:14px;flex-direction:column;justify-content:center;gap:8px;min-height:86px;padding:14px 16px;display:flex}.summary-card span{color:#93b8a1;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.summary-card strong{letter-spacing:-.04em;color:#ecf8f0;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.1}.summary-card small{color:var(--muted);font-size:.74rem}.summary-card.pass{border-color:#5ad49f4d}.summary-card.review{border-color:#f5c66b59}.summary-card.fail{border-color:#ee7f8a52}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-heading h2{margin:0}.results-health{border-left:3px solid var(--warning);background:#f5c66b14;align-items:baseline;gap:8px;margin:16px 0 0;padding:13px 15px;display:flex}.dataset-actions>button:first-child,.compare-button{box-shadow:0 0 0 2px #55d68e29}.results-health strong{color:var(--muted-strong)}.results-health span{color:var(--muted);line-height:1.5}.status-filter-bar{flex-wrap:wrap;gap:8px;margin:6px 0 16px;display:flex}.status-filter-bar button{border:1px solid var(--panel-border);color:var(--muted-strong);background:#0b122073;padding:8px 11px;font-size:.78rem}.status-filter-bar button.selected{border-color:var(--primary);color:var(--text);background:#55d68e26}.status-filter-bar button span{color:var(--muted);margin-left:4px}.table-wrap{width:100%;overflow-x:auto}.comparison-filter{color:var(--muted-strong);align-items:center;gap:10px;margin:12px 0 8px;font-weight:600;display:inline-flex}.comparison-filter select{min-width:150px}.results table{border-collapse:collapse;table-layout:fixed;width:100%}.results thead th,.results tbody td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--panel-border);padding:14px 12px}.results thead th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.results tbody tr{cursor:pointer;transition:background .18s,transform .18s}.results tbody tr:hover,.results tbody tr:focus-visible{background:#8ab0ff0f;outline:none}.clickable-row{position:relative}.clickable-row:after{content:"View details";color:var(--primary-strong);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;background:#8ab0ff1f;border:1px solid #8ab0ff47;border-radius:999px;padding:4px 8px;font-size:.62rem;transition:opacity .18s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.clickable-row:hover:after,.clickable-row:focus-visible:after{opacity:1}.results tbody td{color:var(--muted-strong);word-break:break-word}.results th:first-child,.results td:first-child{width:8%}.results th:nth-child(2),.results td:nth-child(2){width:22%}.results th:nth-child(3),.results td:nth-child(3){width:14%}.results th:nth-child(4),.results td:nth-child(4){width:16%}.results th:nth-child(5),.results td:nth-child(5){width:40%}.badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:76px;padding:6px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.badge-pass{color:#8df0c0;background:#5ad49f24;border-color:#5ad49f4d}.badge-review{color:#f9d78d;background:#f5c66b24;border-color:#f5c66b59}.badge-fail{color:#ff9aa3;background:#ee7f8a1f;border-color:#ee7f8a52}.comparison-table{table-layout:fixed;border-collapse:collapse;width:100%}.comparison-table th,.comparison-table td{vertical-align:top;text-align:left;border-bottom:1px solid var(--panel-border);word-break:break-word;padding:12px}.comparison-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.comparison-table .col-id{width:8%}.comparison-table .col-change{width:20%}.comparison-table .col-status{width:16%}.comparison-table .col-reason{white-space:normal;width:40%;line-height:1.5}.comparison-table td .badge,.results td .badge{margin-top:2px;display:inline-flex}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040a13b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.detail-panel{background:linear-gradient(#182235fc,#0f1723fc);border:1px solid #8ab0ff47;border-radius:20px;width:min(760px,min(100%,100vw - 32px));max-height:80vh;padding:24px 24px 18px;position:relative;overflow:auto;box-shadow:0 30px 70px #02060fb3}.detail-panel:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#8ab0ff14,#0000 42%);position:absolute;inset:0}.detail-panel>*{z-index:1;position:relative}.detail-panel h2{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(1.5rem,2vw,1.9rem)}.detail-panel p{margin:0 0 18px}.detail-row{border-top:1px solid #8ab0ff24;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.detail-row dt{color:var(--muted);font-weight:600}.detail-row dd{color:var(--muted-strong);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.6}.close-button{width:34px;height:34px;color:var(--muted-strong);background:#8ab0ff14;border:1px solid #8ab0ff3d;border-radius:10px;place-items:center;padding:0;font-size:1.2rem;line-height:1;display:grid;position:absolute;top:12px;right:12px}.confirm-panel{width:min(520px,100vw - 32px)}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start}.brand-group{justify-content:space-between;width:100%}.workflow,.empty-state-panel,.dataset-form,.mini-example,.summary-grid{grid-template-columns:1fr}.dataset-ready{flex-direction:column;align-items:stretch}.dataset-actions{width:100%}.dataset-actions button{flex:1}.configure-heading{min-width:0}.results-health{flex-direction:column;align-items:flex-start;gap:3px}}@media (width<=560px){.app-shell{padding-left:14px;padding-right:14px}.view-nav{width:100%}.view-nav button{flex:1}.upload-card{padding:18px 16px}.drop-zone{min-height:150px}}
