:root{color-scheme:light;--bg:#f8faf8;--surface:#fff;--text:#253229;--muted:#607065;--green:#287b48;--soft:#eaf5ec;--border:#e0e7e2;--danger:#a43b39;--warning:#825318;--on-primary:#fff;font-family:"Inter Variable",Inter,system-ui,sans-serif;font-size:15px}
:root.dark{color-scheme:dark;--bg:#090909;--surface:#141414;--text:#f2f2f2;--muted:#aaa;--green:#e5e5e5;--soft:#252525;--border:#343434;--danger:#e9aaaa;--warning:#e8cb8c;--on-primary:#111}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:.9rem;line-height:1.55}[hidden]{display:none!important}button,input,select{font:inherit}button,input,select{border:1px solid var(--border);border-radius:7px;min-height:42px}button{padding:.55rem 1rem;background:var(--green);color:var(--on-primary);font-weight:600;cursor:pointer}button:hover:not(:disabled){filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}.outline{background:var(--surface);color:var(--text)}.quiet{background:transparent;border-color:transparent;color:var(--text);font-weight:500}input,select{padding:.55rem .75rem;background:var(--surface);color:var(--text);max-width:100%}input::placeholder{color:var(--muted)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}::selection{background:var(--soft);color:var(--text)}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.6rem;letter-spacing:-.025em;line-height:1.25}h2{font-size:1.4rem;letter-spacing:-.02em;line-height:1.3}h3{font-size:1rem}p+p{margin-top:.5rem}.muted{color:var(--muted)}.small{font-size:.8rem}.actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem max(1.25rem,calc((100vw - 1380px)/2));border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.15rem;font-weight:650;text-decoration:none}.brand svg{width:27px;height:27px}.brand span{color:var(--muted);font-size:.85rem;font-weight:500;margin-left:.3rem}.login{max-width:430px;margin:clamp(3rem,12vh,8rem) auto;padding:0 1.25rem}.login p{margin-top:1rem;color:var(--muted)}form:not(.dialog-heading){display:grid;gap:.6rem;margin-top:1.75rem}form label:not(:first-child){margin-top:.7rem}form button{margin-top:.75rem}.workspace{max-width:1380px;margin:0 auto;padding:2rem 1.25rem;display:grid;grid-template-columns:260px minmax(0,1fr);gap:2.5rem}.businesses{border-right:1px solid var(--border);padding-right:1.75rem}.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.businesses h1{font-size:1.15rem}.businesses .small{margin-top:1rem}.businesses select{width:100%;margin-top:1rem}.explanation{color:var(--muted);font-size:.8rem;margin-top:2rem}.detail{min-width:0}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-heading .muted{margin-top:.3rem}.freshness{margin:1.25rem 0 2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.freshness p:first-child{font-weight:550}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.summary{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;margin:1.25rem 0 2rem}.summary dt{color:var(--muted);font-size:.8rem}.summary dd{margin:.25rem 0 0;font-size:1.5rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.tabs{display:flex;overflow-x:auto;gap:.35rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tabs button{background:transparent;color:var(--muted);border:0;border-radius:7px 7px 0 0;white-space:nowrap;font-weight:500}.tabs button[aria-selected=true]{background:var(--soft);color:var(--green)}[role=tabpanel]>p{margin-bottom:1rem}#search{width:min(100%,380px);margin-bottom:1rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}th{font-weight:550;color:var(--muted);background:var(--bg);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--soft)}td:first-child{min-width:160px}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.empty{padding:clamp(2rem,7vh,5rem) 0;max-width:550px}.empty p{margin-top:1rem;color:var(--muted)}.empty h3{font-size:1.1rem}.error{color:var(--danger)}.notice{color:var(--green);background:var(--soft)}.page-message{max-width:1340px;margin:1rem auto 0;padding:.8rem 1.25rem;overflow-wrap:anywhere}.warning{color:var(--warning)}dialog{width:min(540px,calc(100% - 2rem));max-height:calc(100dvh - 3rem);overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:1.5rem;box-shadow:0 16px 55px #0003}dialog::backdrop{background:#0006}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-heading h2{font-size:1.2rem}.dialog-heading button{margin:0}.dialog-heading+p{margin-bottom:1.25rem}dialog>label{display:block;margin-bottom:.5rem}dialog>input{width:100%}dialog>.small{margin:.75rem 0 1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.workspace{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem}.businesses{border-right:0;border-bottom:1px solid var(--border);padding:0 0 1.25rem}.section-heading{flex-direction:row;align-items:center;justify-content:space-between}.businesses select{max-width:500px}.explanation{margin-top:.75rem;max-width:70ch}.summary{gap:1rem 2rem}.summary dd{font-size:1.3rem}.topbar{gap:.5rem}.topbar .actions{gap:0}.quiet{padding:.5rem .65rem}.freshness{margin-bottom:1.5rem}th,td{padding:.75rem}.empty{padding:1.5rem 0}#password-button{font-size:.8rem}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color 120ms ease,filter 120ms ease}}
