:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;--bg: #0f1419;--panel: #161b22;--border: #30363d;--muted: #8b949e;--text: #e6edf3;--accent: #58a6ff;--good: #3fb950;--warn: #e3a008;--bad: #f85149}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}code{background:#21262d;padding:.1em .35em;border-radius:5px;font-size:.85em}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.topbar h1{margin:0;font-size:1.3rem}.lede{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}.wrap{max-width:1100px;margin:0 auto;padding:1.5rem}.muted{color:var(--muted)}.small{font-size:.82rem}.nowrap{white-space:nowrap}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.badge{border:1px solid var(--border);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.badge.good{border-color:var(--good)}.badge.warn{border-color:var(--warn)}.badge.bad{border-color:var(--bad)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.gate{max-width:420px;margin:3rem auto}.gate h2{margin:0}.row{display:flex;gap:1rem;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.field.grow{flex:1;min-width:220px}input,select{background:#0d1117;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.55rem .7rem;font:inherit}input:focus,select:focus{outline:none;border-color:var(--accent)}.password-field{display:flex;align-items:stretch;gap:.4rem}.password-field input{flex:1;min-width:0}.password-toggle{background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);padding:0 .75rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.password-toggle:hover{color:var(--text);border-color:var(--accent)}.dropzone{border:1.5px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:#58a6ff0f}.dropzone p{margin:.25rem 0}.dropzone-small{padding:1rem}.add-docs-collapsed,.add-docs-open{margin:0 0 1.5rem}.filelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.filelist li{display:flex;align-items:center;gap:.75rem;background:#0d1117;border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.filelist li span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.primary,a.button.primary{background:var(--accent);color:#04121f;border:none;border-radius:8px;padding:.7rem 1.1rem;font-weight:700;text-decoration:none;display:inline-block}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary,a.button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.7rem 1.1rem;text-decoration:none;display:inline-block}button.est-btn{padding:.25rem .6rem;font-size:.8rem;white-space:nowrap}button.est-btn:disabled{opacity:.6;cursor:wait}button.link{background:none;border:none;color:var(--accent);padding:0;font-size:.85rem}.banner{border-radius:10px;padding:.8rem 1rem;margin:1rem 0;font-size:.9rem}.warn-banner{border:1px solid var(--warn);background:#e3a00814}.bad-banner{border:1px solid var(--bad);background:#f8514914}.running-note{margin-top:1rem}.results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.results-head h2{margin:0;text-transform:capitalize}.downloads{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.panel h3{margin:0 0 .25rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.chip{border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.chip-high{border-color:var(--warn);color:var(--warn)}.chip-alt{margin-left:.5rem;border-color:var(--accent);color:var(--accent);font-size:.72rem;padding:.1rem .5rem}.tablewrap{overflow-x:auto;margin-top:.75rem}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;position:sticky;top:0;background:var(--panel)}td.good{color:var(--good)}td.warn{color:var(--warn)}.toolbar{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.filters{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.qty{display:inline-flex;align-items:baseline;gap:.3rem}.qtyinput{width:5rem;padding:.25rem .4rem;font:inherit;text-align:right}.chip{cursor:pointer;background:transparent;color:var(--text)}.chip-active{border-color:var(--accent);color:var(--accent)}.cat-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.mini{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);width:26px;height:26px;margin-right:.25rem;line-height:1}.mini-good{border-color:var(--good);color:var(--good)}.mini-bad{border-color:var(--bad);color:var(--bad)}.row-rejected{opacity:.4;text-decoration:line-through}.history{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.estimating-page{display:flex;flex-direction:column;gap:1rem}.estimate-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem 1rem;margin-top:.5rem}.checkbox-field{flex-direction:row!important;align-items:center;gap:.5rem!important}.checkbox-field input{width:auto;padding:0}.section-toggle{font-weight:600;color:var(--text);text-transform:uppercase;font-size:.8rem;letter-spacing:.03em}.estimate-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0;padding:1rem;background:#ffffff05;border:1px solid var(--border);border-radius:10px}.estimate-totals>div{display:flex;flex-direction:column;gap:.25rem}.estimate-total-final{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:.5rem}.estimate-total-final strong{font-size:1.4rem}.history li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}@media(max-width:640px){.wrap{padding:1rem}.topbar{flex-wrap:wrap;padding:.85rem 1rem}.card,.panel{padding:1rem}}.col-legend{margin:.75rem 0 0;display:grid;gap:.6rem}.col-legend>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;align-items:start}.col-legend dt{font-weight:600}.col-legend dd{margin:0}@media(max-width:640px){.col-legend>div{grid-template-columns:1fr;gap:.15rem}}.field-help{line-height:1.35;font-size:.75rem}.section-help{margin:.35rem 0 0;max-width:70ch;line-height:1.4}.checkbox-field-wrap>.checkbox-field{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.checkbox-field-wrap>.checkbox-field input{width:auto;padding:0}.field-highlight{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px;animation:field-flash 1.2s ease-out 2}@keyframes field-flash{0%,to{outline-color:var(--accent)}50%{outline-color:transparent}}@media(prefers-reduced-motion:reduce){.field-highlight{animation:none}}.blocker-list{margin:.75rem 0 0;padding-left:1.2rem}.blocker-list>li{margin-bottom:1rem}.blocker-question{font-weight:600;margin:0 0 .15rem}.blocker-candidates{width:auto;margin-top:.4rem}.blocker-candidates td{padding:.2rem .75rem .2rem 0;border:none}.estimate-total-final .held-back{font-size:.95rem;font-style:italic;color:var(--warn-fg, #8a5a00);border-bottom:1px dotted currentColor;cursor:help}.display-prefs{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.display-prefs label{display:flex;align-items:center;gap:.3rem;margin:0}.display-prefs select{padding:.15rem .3rem;font-size:.85rem;width:auto}.display-prefs-note{max-width:16rem;line-height:1.2}@media(max-width:720px){.display-prefs-note{display:none}}.blocker-gate .blocker-list>li{padding:.75rem 0;border-bottom:1px solid var(--border, #2a2a2a)}.blocker-gate .blocker-list>li:last-child{border-bottom:none}.blocker-question{font-size:1.02rem;font-weight:600;margin-bottom:.2rem}.blocker-entry{display:flex;align-items:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.blocker-entry label{display:flex;flex-direction:column;gap:.15rem;margin:0}.blocker-entry input{width:10rem}.blocker-ack{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.9rem}.blocker-ack input{width:auto;margin:0}.waiting-for-answers{text-align:center;padding:2rem 1rem}.upload-checklist{margin:.75rem 0;padding:.6rem .8rem;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.upload-checklist summary{cursor:pointer;font-weight:600}.upload-checklist ul{margin:.5rem 0 .4rem;padding-left:1.1rem}.upload-checklist li{margin-bottom:.3rem;line-height:1.35}.chip-good{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good);border-color:var(--good)}.run-summary-headline{font-size:1.05rem;font-weight:600;margin:0 0 .5rem}.run-summary ul{margin:0;padding-left:1.1rem}.run-summary li{margin-bottom:.3rem;line-height:1.4}.summary-good{color:var(--good)}.summary-watch{color:var(--muted)}.summary-bad{color:var(--bad)}
