@font-face{font-family:Orbit Serif;src:url('./libre-baskerville-latin-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Orbit Sans;src:url('./montserrat-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#2d2d2d;--green:#28755a;--berry:#a80054;--muted:#726b65;--line:#e8e0d8;--bg:#faf7f2;--amber:#8b5a24;--serif:'Orbit Serif',Georgia,serif;--sans:'Orbit Sans',-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button,select,summary{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b96389;outline-offset:4px}
button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;font-weight:550;min-height:44px}
button:disabled{cursor:wait;opacity:.6}
.shell{max-width:800px;margin:auto;padding:32px 28px 48px}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:42px;height:42px;border-radius:13px;display:block}
.brand-name{font-family:var(--serif);font-size:27px;line-height:1.2;letter-spacing:-1px}
.brand small{display:block;margin-top:4px;font-size:8px;letter-spacing:2.2px;font-weight:600;color:var(--muted)}
.figurella-brand{display:block;width:106px;height:auto;object-fit:contain}
.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--berry);font-weight:650;line-height:1.7}
h1{font:400 clamp(29px,7.3vw,38px)/1.25 var(--serif);letter-spacing:-1.4px;margin:12px 0 25px}
h2{font:400 22px/1.3 var(--serif);letter-spacing:-.5px;margin:0}
h3{font-size:13px;line-height:1.5;margin:0;font-weight:600}
small{font-size:11px}
.muted{color:var(--muted)}
.controls{margin-bottom:23px}
.location-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px;font-weight:600}
select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 16px;font-size:13px;box-shadow:0 2px 4px #33271802}
.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tabs button{border:0;border-radius:0;background:transparent;padding:11px 14px 14px;color:var(--muted);border-bottom:2px solid transparent;font-size:12px;font-weight:550}
.tabs .active{color:var(--berry);border-color:var(--berry)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-width:21px;font-size:9px;line-height:1.4;background:#f2eee8;border-radius:999px;padding:3px 6px;color:var(--muted);margin-left:5px;font-variant-numeric:tabular-nums}
.pill.amber{background:#f6eadd;color:var(--amber)}
.block{background:#fff;border:1px solid var(--line);border-radius:19px;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 24px #4c332505}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:23px 23px 0}
.period{display:flex;gap:1px;background:#f5f1eb;border-radius:8px;padding:3px}
.period button{font-size:9px;border:0;background:transparent;min-height:29px;padding:6px 8px;border-radius:6px;color:var(--muted);font-weight:500}
.period .active{background:white;color:var(--berry);box-shadow:0 1px 4px #4c332512;font-weight:600}
.counts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 23px 0}
.metric+.metric{border-left:1px solid var(--line);padding-left:24px}
.num{font:400 44px/1.15 var(--serif);letter-spacing:-1.5px;font-variant-numeric:lining-nums tabular-nums}
.metric+.metric .num{color:var(--green)}
.metric label{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:8px;font-weight:500}
.card-note{padding:18px 23px 22px;color:var(--muted);font-size:10px;line-height:1.9}
.card-note strong{display:inline-block;background:#fbf0e5;color:var(--amber);padding:2px 8px;border-radius:5px;font-weight:600;margin-bottom:5px}
.fold{border-top:1px solid var(--line)}
.fold>summary{padding:15px 23px;font-size:11px;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;min-height:52px}
.fold>summary .subtle{margin-left:auto;margin-right:8px}
.fold>summary:after{content:'';width:7px;height:7px;border-right:1.5px solid #8f8279;border-bottom:1.5px solid #8f8279;transform:rotate(45deg);margin-top:-4px;flex:none}
.fold[open]>summary:after{transform:rotate(225deg);margin-top:4px}
summary::-webkit-details-marker{display:none}
.table-head{display:grid;grid-template-columns:minmax(0,1fr) 102px;padding:10px 23px;background:#f8f5f0;font-size:9px;color:var(--muted)}
.person{border-top:1px solid #eee8e1}
.person>summary{display:grid;grid-template-columns:minmax(0,1fr) 102px;align-items:center;gap:12px;list-style:none;padding:17px 23px}
.person summary small{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.6}
.status{justify-self:end;font-size:9px;color:var(--green);background:#eff5f0;padding:4px 7px;border-radius:5px;font-weight:550;line-height:1.6;text-align:right}
.status.warn{color:var(--amber);background:#fbf0e5}
.status.gray{color:var(--muted);background:#f4f1ec}
.detail{background:#fcfaf7;padding:20px 23px;border-top:1px solid var(--line);font-size:12px;line-height:1.75}
.detail p{margin:0 0 14px}
.detail button{font-size:11px}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.comparison>div{overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:13px;border-radius:10px}
.comparison b{display:block;font-size:10px;margin-bottom:6px;font-weight:650}
.note{font-size:10px;line-height:1.8;color:var(--muted);margin:22px 3px}
.notice{background:#fff4e8;border:1px solid #eedac1;padding:15px;border-radius:12px;font-size:11px;line-height:1.7;margin:14px 0;color:#855b25}
.empty{text-align:center;padding:35px;color:var(--muted);font-size:12px}
.search{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;margin-bottom:8px;min-height:48px;font-size:13px}
.problem-head{display:flex;justify-content:space-between;align-items:center;margin:23px 3px 14px}
.problem-head h2{font-size:20px}
.loading{padding:55px 0;text-align:center;color:var(--muted);font-size:12px}
footer{border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted);line-height:1.9;margin-top:30px}
.subtle{font-size:9px;color:var(--muted)}
.diagnostic{margin:16px 0}
.diagnostic ul{margin:8px 0 16px;padding-left:18px}
.diagnostic li{margin:6px 0}
.candidate{border:1px solid var(--line);background:#fff;border-radius:11px;margin:14px 0;overflow:hidden}
.candidate-head{padding:13px;background:#f5f1eb;font-size:11px;line-height:1.75}
.field-row{padding:13px;border-top:1px solid var(--line)}
.field-row.problem{background:#fff4e4;border-left:3px solid #bb8b54;padding-left:10px}
.field-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:10px}
.field-state{font-size:9px;color:var(--green);text-align:right}
.field-row.problem .field-state{color:#8b5a24;font-weight:600}
.field-values{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:11px;overflow-wrap:anywhere}
.field-values small{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}
.issue-summary{color:#93672f!important}
.diagnostic .next{background:#f3efe7;padding:14px;border-radius:10px;margin-top:15px}
@media(max-width:480px){.shell{padding:24px 20px 35px}header{margin-bottom:27px;padding-bottom:22px}.brand img{width:36px;height:36px;border-radius:11px}.brand-name{font-size:24px}h1{letter-spacing:-1.15px}.card-head{padding:20px 19px 0}.counts{margin:22px 19px 0;gap:14px}.num{font-size:39px}.metric+.metric{padding-left:18px}.card-note{padding:16px 19px 19px}.fold>summary,.person>summary{padding-left:19px;padding-right:19px}.table-head{padding-left:19px;padding-right:19px}.detail{padding:18px 16px}.comparison{grid-template-columns:1fr}.card-head>.subtle{max-width:100px;text-align:right;line-height:1.5}.person>summary{grid-template-columns:minmax(0,1fr) 93px;gap:9px}}
@media(prefers-reduced-motion:no-preference){button,.status{transition:background .16s,color .16s}button:hover{background:#f5f0e9}.person>summary:hover{background:#fdfaf6}}

.review-confirm{display:flex;gap:10px;align-items:flex-start;margin:16px 0;line-height:1.5}.review-confirm input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--berry)}.review-action button{margin:4px 0 12px;background:var(--berry);color:white;border:0;border-radius:10px;padding:13px 16px;font:inherit;cursor:pointer;min-height:44px}.review-action button:disabled{opacity:.45;cursor:default}.review-result{color:var(--berry)}
