:root{--font-sans:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--font-mono:"Cascadia Mono", ui-monospace, Consolas, monospace;--color-brand:#e85e08;--color-primary:#e85e08;--color-primary-hover:#cf5207;--color-primary-text:#111;--color-primary-ink:#b84a06;--color-primary-tint:#fff1e8;--color-primary-tint-strong:#ffe0cc;--color-black:#111;--color-bg:#f7f7f7;--color-surface:#fff;--color-surface-2:#f2f2f2;--color-border:#e2e2e2;--color-text:#111;--color-muted:#5c5c5c;--color-nav-bg:#111;--color-nav-text:#d6d6d6;--color-nav-active:#fff;--color-danger:#b42318;--color-danger-bg:#fdecea;--color-warn-bg:#fff6db;--color-warn-text:#7a5200;--color-ok-bg:#e7f6ee;--color-ok-text:#1a7f4b;--radius:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--shadow:0 1px 2px #0000000d, 0 1px 3px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);margin:0;font-size:15px;line-height:1.5}h1,h2{margin:0 0 var(--space-1);line-height:1.25}h2{font-size:1.35rem}p{margin:0}.muted{color:var(--color-muted)}.mono{font-family:var(--font-mono);font-size:.85em}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.shell{min-height:100vh}.topbar{padding:var(--space-3) var(--space-6);background:var(--color-nav-bg);color:var(--color-nav-text);border-top:3px solid var(--color-brand);justify-content:space-between;align-items:center;display:flex}.topbar .muted,.topbar .btn--ghost{color:var(--color-nav-text)}.topbar .btn--ghost:hover{color:var(--color-nav-active);background:#ffffff0f}.brand{letter-spacing:.2px;color:var(--color-nav-active);font-size:1.15rem;font-weight:700;text-decoration:none}.brand-rest{color:var(--color-brand)}a{color:var(--color-primary-ink)}a:hover{color:var(--color-black)}.content{max-width:1400px;padding:var(--space-8) var(--space-6);margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-6)}.login{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.login__card{gap:var(--space-4);border-top:4px solid var(--color-brand);flex-direction:column;width:min(380px,100%);display:flex}.login__card .brand{color:var(--color-text);font-size:1.6rem}label{gap:var(--space-1);flex-direction:column;font-weight:500;display:flex}input{font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);border-radius:6px}input:focus-visible,.btn:focus-visible,.dropzone:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{font:inherit;cursor:pointer;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;font-weight:500;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--ghost{background:0 0;border-color:#0000}.error{color:var(--color-danger)}.notice{background:var(--color-warn-bg);color:var(--color-warn-text);padding:var(--space-2) var(--space-3);border-radius:6px}.feedback{align-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--color-muted);display:flex}.feedback--error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius);padding:var(--space-3) var(--space-4);flex-direction:column;align-items:flex-start}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{padding:2px var(--space-3);border-radius:999px;font-size:.85rem;font-weight:600}.badge--warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge--ok{background:var(--color-ok-bg);color:var(--color-ok-text)}.dropzone{align-items:center;gap:var(--space-1);padding:var(--space-8);border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;flex-direction:column;display:flex}.dropzone:hover,.dropzone--active{border-color:var(--color-primary);background:var(--color-primary-tint)}.filelist{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.filelist li{gap:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;display:grid}.progress{background:var(--color-border);border-radius:999px;height:10px;overflow:hidden}.progress__bar{background:var(--color-primary);height:100%;transition:width .4s}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow-x:auto}.review{border-collapse:collapse;width:100%;font-size:.9rem}.review th,.review td{border-bottom:1px solid var(--color-border);padding:var(--space-1) var(--space-2);text-align:left;white-space:nowrap}.review th{background:var(--color-surface);color:var(--color-muted);font-weight:600;position:sticky;top:0}.cell{min-width:140px;position:relative}.cell input{width:100%;padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000}.cell input:hover{border-color:var(--color-border)}.cell--review{background:var(--color-warn-bg)}.review td.conf{white-space:normal;min-width:340px;color:var(--color-muted);font-size:.78rem}.cell--edited{background:var(--color-primary-tint)}.cell--edited input{font-weight:600}.cell input:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.cell--review input{color:var(--color-warn-text)}.cell__ok{background:var(--color-ok-bg);color:var(--color-ok-text);cursor:pointer;border:none;border-radius:4px;font-size:.8rem;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.check{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:400}
