:root{--ink:#1a1a1e;--dim:#66666e;--line:#d8d8dd;--bg:#f3f3f5;--card:#fff;--accent:#1f4e8c;--accent-ink:#fff;--green:#176b31;--green-bg:#e6f5e9;--amber:#9e6605;--amber-bg:#fdf2da;--red:#b31c1c;--red-bg:#fdecec;--grey:#5a5a61;--grey-bg:#eeeef1}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}main{max-width:1100px;margin:0 auto;padding:24px 20px 80px}h1{letter-spacing:-.2px;margin:0 0 12px;font-size:22px}h2{letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin:0 0 8px;font-size:13px}a{color:var(--accent)}.dim{color:var(--dim)}.err{color:var(--red)}.warn{color:var(--amber);font-size:12.5px}.hint{color:var(--dim);font-size:12.5px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:9px 16px;font:600 13px/1 inherit}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--card);color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}input,select{font:inherit;border:1px solid var(--line);background:var(--card);border-radius:4px;width:100%;padding:7px 9px}label{font-size:12.5px;font-weight:600;display:block}label.check{align-items:center;gap:8px;margin:4px 0;font-size:13px;font-weight:400;display:flex}label.check input{width:auto}fieldset{border:1px solid var(--line);border-radius:4px;grid-column:1/-1;margin:0;padding:8px 12px}legend{padding:0 4px;font-size:12.5px;font-weight:600}header.top{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}header.top .brand{color:var(--ink);letter-spacing:-.2px;font-weight:700;text-decoration:none}header.top nav{align-items:center;gap:18px;display:flex}header.top nav a{color:var(--ink);text-decoration:none}header.top nav a.on{font-weight:600}header.top .who{font-size:12.5px}.login{text-align:center;padding-top:12vh}.login p{max-width:36em;margin:8px auto 20px}.panes{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}@media (width<=800px){.panes{grid-template-columns:1fr}}.pane{background:var(--card);border:1px solid var(--line);border-radius:6px;min-height:200px;padding:16px 18px}.pane.drag{border-color:var(--accent);background:#eef3fa}.pane .hint{margin:0 0 10px}.files{margin:12px 0 0;padding:0;list-style:none}.files li{border-top:1px solid var(--line);padding:8px 0;font-size:13px}.files .name{font-weight:600}.files li.error .name{color:var(--red)}.name{max-width:480px;margin:8px 0 12px}.bar{background:#e3e3e8;border-radius:5px;height:10px;overflow:hidden}.bar i{background:var(--accent);height:100%;transition:width .6s;display:block}.bar.small{height:5px;margin:6px 0}.progress{background:var(--card);border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:16px 18px}.progress .row{margin-top:8px;font-weight:600}.stages{color:var(--dim);margin:8px 0 0;padding:0;font-size:13px;list-style:none}.advanced{margin:12px 0}.advanced .grid{background:var(--card);border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:10px;padding:14px 18px;display:grid}@media (width<=800px){.advanced .grid{grid-template-columns:1fr}}.runrow{align-items:center;gap:14px;margin:16px 0;display:flex}table.sheets,table.runs{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}table.sheets th,table.runs th{text-align:left;letter-spacing:.6px;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line);padding:0 8px 5px;font-size:10.5px}table.sheets td,table.runs td{vertical-align:top;border-bottom:1px solid #eee;padding:7px 8px}table td.act{text-align:right;white-space:nowrap}table td.cost{white-space:nowrap}.results{background:var(--card);border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:16px 18px}.results .actions{gap:10px;display:flex}.tally .v{border-radius:3px;margin-right:6px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.v.matched{color:var(--green);background:var(--green-bg)}.v.partial{color:var(--amber);background:var(--amber-bg)}.v.not_found{color:var(--red);background:var(--red-bg)}.v.not_applicable{color:var(--grey);background:var(--grey-bg)}.status{text-transform:uppercase;border-radius:3px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status.done{color:var(--green);background:var(--green-bg)}.status.running,.status.queued{color:var(--accent);background:#e6eef9}.status.partial{color:var(--amber);background:var(--amber-bg)}.status.failed,.status.cancelled{color:var(--red);background:var(--red-bg)}
