:root{--accent:#fdae27;--accent-strong:#de8500;--accent-soft:#fdae2724;--ink:#17202b;--muted:#626b76;--page:#f5f6f8;--panel:#fff;--surface:#f2f4f7;--surface-strong:#e5e7eb;--line:#d0d5dd;--line-soft:#e5e7eb;--white:#fff;--link:#235f9f;--danger:#9f1d20;--success:#13795b;--warning:#916400}.app-shell{background:var(--page);min-height:100vh;color:var(--ink);grid-template-rows:auto minmax(0,1fr);display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand svg{color:var(--accent);flex:none}.brand h1{margin:0;font-size:20px;line-height:1.1}.brand p{color:var(--muted);margin:3px 0 0;font-size:13px}.workspace{grid-template-rows:auto auto auto auto;align-content:start;gap:18px;width:min(1600px,100% - 36px);min-height:0;margin:18px auto 56px;display:grid}.input-panel,.verdict-panel,.results-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;overflow:hidden}.input-panel{padding:18px}.panel-heading,.panel-actions,.results-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-heading{margin-bottom:12px}.panel-heading h2,.results-heading h2,.verdict-main h2{margin:0;font-size:15px;line-height:1.2}.verdict-main h2{font-size:17px}.check-form{grid-template-columns:minmax(280px,1fr) minmax(240px,.62fr);gap:12px;display:grid}.field{gap:6px;min-width:0;display:grid}.field span,.metric span,.notes-grid h3{color:#4f5964;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.2}input,textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:6px}input{min-height:38px;padding:0 10px}.input-with-icon{border:1px solid var(--line);background:var(--white);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:0 10px;display:grid}.input-with-icon svg{color:var(--muted)}.input-with-icon input{border-color:#0000;min-width:0;padding:0}input::placeholder{color:#89919d}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,.input-with-icon:focus-within{outline-offset:2px;outline:3px solid #fdae2759}.input-with-icon input:focus-visible{outline:0}.panel-actions{grid-column:1/-1;margin-top:2px}.progress-track{background:var(--surface);height:3px;margin:14px -18px -18px;overflow:hidden}.progress-track div{background:var(--accent);height:100%}.progress-track.indeterminate div{width:38%;animation:1.15s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.action-row,.toolbar-actions{align-items:center;gap:10px;display:flex}.status-line{min-height:24px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;line-height:1.4;display:flex}.note{background:var(--accent-soft);color:#6f4b00;border:1px solid #fdae2761;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.error-note{color:var(--danger);background:#9f1d2014;border-color:#9f1d2047}button{font:inherit;cursor:pointer;border:0;border-radius:7px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.45}.primary-button,.secondary-button,.icon-button{justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-flex}.primary-button{background:var(--ink);color:var(--white);padding:0 14px}.primary-button:not(:disabled):hover{background:#263242}.secondary-button,.icon-button{background:var(--surface-strong);color:var(--ink)}.secondary-button{padding:0 13px}.icon-button{width:38px;padding:0}.secondary-button:not(:disabled):hover,.icon-button:not(:disabled):hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent)}.verdict-panel{display:grid}.verdict-main{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.verdict-main.good{color:#0f513f;background:#13795b14}.verdict-main.warn{color:#6f4b00;background:#fdae2724}.verdict-main.bad{color:#7f171a;background:#9f1d2014}.verdict-main.neutral{color:var(--muted)}.verdict-main p,.results-heading p,.notes-grid p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.4}.verdict-main.good p,.verdict-main.warn p,.verdict-main.bad p{color:inherit}.verdict-grid{border-bottom:1px solid var(--line);grid-template-columns:1.25fr 1fr 1fr;display:grid}.metric{border-right:1px solid var(--line-soft);gap:6px;min-width:0;padding:13px 14px;display:grid}.metric:last-child{border-right:0}.metric strong{overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.35}.notes-grid{background:var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.notes-grid>div{background:var(--panel);min-width:0;padding:14px}.notes-grid h3{margin:0 0 8px}.notes-grid ul{color:var(--ink);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.4;display:grid}.results-toolbar{border-bottom:1px solid var(--line);background:var(--panel);padding:14px 16px}.results-heading{gap:3px;display:grid}.table-wrap{background:var(--white);min-height:0;overflow:auto visible}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1380px}thead th{z-index:2;background:var(--surface);position:sticky;top:0}th,td{border-bottom:1px solid var(--line-soft);vertical-align:top;white-space:normal;word-break:break-word;padding:11px 12px;line-height:1.4}th{color:#4f5964;text-align:left;text-transform:uppercase;font-size:12px;font-weight:700}td{font-size:13px}td.empty{color:var(--muted);text-align:center;padding:42px 12px}.col-num{width:56px}.col-group{width:104px}.col-variant{width:130px}.col-url{width:260px}.col-chain{width:120px}.col-final{width:280px}.col-status,.col-hops,.col-result{width:92px}.col-notes{width:250px}th:first-child,td:first-child{z-index:3;background:var(--white);box-shadow:1px 0 0 var(--line-soft);position:sticky;left:0}thead th:first-child{z-index:4;background:var(--surface)}a.url{color:var(--link);text-decoration:none}a.url:hover{text-decoration:underline}.chain-button{max-width:100%;color:var(--link);text-align:left;background:0 0;border-radius:4px;align-items:center;padding:0;font-size:13px;font-weight:400;line-height:1.4;display:inline-flex}.chain-button span{min-width:0;text-decoration:none}.chain-button:hover span{text-decoration:underline}.result-pill{text-transform:capitalize;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.result-pill.ok{color:var(--success);background:#13795b1a}.result-pill.review{color:var(--warning);background:#fdae2729}.result-pill.error{color:var(--danger);background:#9f1d2014}.result-pill.pending{background:var(--surface-strong);color:var(--muted)}.placeholder-row td{color:var(--muted)}.knowledge-panel{gap:8px;margin-top:8px;padding:0 16px;display:grid}.knowledge-heading{align-items:center;gap:7px;display:flex}.knowledge-heading svg{color:var(--accent-strong);flex:none}.knowledge-panel h2{margin:0;font-size:13px;line-height:1.2}.knowledge-panel ul{color:var(--muted);gap:6px;margin:0;padding-left:22px;font-size:13px;line-height:1.45;display:grid}.drawer-backdrop{z-index:40;pointer-events:none;opacity:0;background:#17202b6b;border:0;border-radius:0;transition:opacity .18s;position:fixed;inset:0}.drawer-backdrop.open{pointer-events:auto;opacity:1}.chain-drawer{z-index:50;border-left:1px solid var(--line);background:var(--panel);flex-direction:column;width:min(560px,100%);transition:right .2s;display:flex;position:fixed;top:0;bottom:0;right:-560px;box-shadow:-20px 0 55px #17202b33}.chain-drawer.open{right:0}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:70px;padding:14px 16px;display:flex}.drawer-header h2{margin:0;font-size:16px;line-height:1.2}.drawer-header p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.35}.drawer-body{min-height:0;padding:16px;overflow:auto}.drawer-summary{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:4px;margin-bottom:16px;padding:11px 12px;display:grid}.drawer-summary span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.2}.drawer-summary strong{font-size:14px;line-height:1.35}.chain-steps{gap:12px;display:grid}.chain-step{grid-template-columns:30px minmax(0,1fr);gap:10px;display:grid}.step-marker{background:var(--accent-soft);color:#6f4b00;border:1px solid #fdae2780;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.step-content{border:1px solid var(--line);background:var(--white);border-radius:8px;gap:7px;min-width:0;padding:12px;display:grid}.status-badge{border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.redirect{color:var(--warning);background:#fdae2729}.status-badge.final{color:var(--success);background:#13795b1a}.step-reason{color:var(--ink);font-size:13px;font-weight:700;line-height:1.35}.step-url{background:var(--surface);min-width:0;color:var(--link);overflow-wrap:anywhere;border-radius:6px;padding:8px;font-size:12px;line-height:1.45}.step-arrow{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700;line-height:1}.step-cache{color:var(--muted);font-size:12px;line-height:1.4}@media (width<=980px){.check-form,.verdict-grid,.notes-grid{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line-soft)}.metric:last-child{border-bottom:0}}@media (width<=760px){.topbar{align-items:stretch;padding:14px}.workspace{gap:12px;width:calc(100% - 24px);margin-top:12px}.input-panel{padding:14px}.progress-track{margin:14px -14px -14px}.panel-heading,.panel-actions,.results-toolbar{flex-direction:column;align-items:stretch}.action-row,.toolbar-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.primary-button,.secondary-button,.icon-button{width:100%}.chain-drawer{width:100%;right:-100%}}:root{color:#18202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,textarea{font:inherit}
