:root{--bg:#faf9f7;--surface:#ffffff;--ink:#221f1c;--muted:#6f6862;--line:#ebe7e1;--line-strong:#ddd6cc;--accent:#8a5a3c;--accent-ink:#ffffff;--ok:#3d7a44;--warn:#9a6200;--error:#a13a2c;--radius:10px;--font:"Avenir Next","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;font-size:16px;line-height:1.5}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}.page-dek{margin:0 0 1.75rem;color:var(--muted);font-size:1rem}h2{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin:2.25rem 0 .75rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}p{margin:.5rem 0 1rem}.page{max-width:72rem;margin:0 auto;padding:1rem 1rem 3rem}.site-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;border-bottom:1px solid var(--line);padding:.5rem 0 .75rem;margin-bottom:1.5rem}.brand{font-weight:700;letter-spacing:-.01em;color:var(--ink)}.site-nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.nav-link{color:var(--muted);padding-bottom:.2rem}.nav-link:hover{color:var(--ink);text-decoration:none}.nav-link[aria-current=page]{color:var(--ink);font-weight:600;border-bottom:2px solid var(--accent)}.signout-form{margin-left:auto}.btn,button{font:inherit;font-size:.9rem;padding:.45rem .9rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);cursor:pointer}.btn:hover,button:hover{filter:brightness(.94)}.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line)}input,select{font:inherit;font-size:.9rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{font-size:.85rem;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:.75rem;gap:.75rem;margin:0 0 1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.card-value{margin:.2rem 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-sub{margin:.3rem 0 0;font-size:.78rem;line-height:1.4;color:var(--muted)}.cards-grid.secondary{gap:.6rem}.cards-grid.secondary .card{background:transparent;padding:.7rem .85rem}.cards-grid.secondary .card-value{font-size:1.2rem;font-weight:600}.funnel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;grid-gap:.5rem;gap:.5rem;margin:0 0 1.5rem}.funnel .card{padding:1.1rem 1.15rem}.funnel-value{margin:.25rem 0 0;font-size:2.4rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.funnel-value.is-headline{color:var(--accent)}.funnel-arrow{align-self:center;text-align:center;color:var(--muted);font-size:.78rem;padding:0 .1rem;min-width:3.4rem}.funnel-arrow strong{display:block;color:var(--ink);font-size:1.05rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.funnel{grid-template-columns:1fr;gap:.4rem}.funnel-arrow{padding:.25rem 0}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table.data-table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.875rem}table.data-table td,table.data-table th{padding:.45rem .65rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.data-table thead th{background:var(--bg);font-weight:600;white-space:nowrap}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table .num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.filters{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:1.75rem}.filters-summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;padding:.6rem .9rem}.filters-summary::-webkit-details-marker{display:none}.filters-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.filters-range{font-weight:600;color:var(--ink)}.filters-presets{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.85rem}.filters-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem}.filters-toggle:after{content:"▸";font-size:.65rem}.filters[open] .filters-toggle:after{content:"▾"}.filters-body{padding:.85rem .9rem 1rem;border-top:1px solid var(--line)}.filter-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:0}.filter-form label{display:flex;flex-direction:column;gap:.25rem}.muted{color:var(--muted)}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}.status-error{color:var(--error)}.section-note{font-size:.85rem;color:var(--muted);margin:-.25rem 0 .75rem}.upload-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.upload-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;max-width:22rem}.upload-card h2{margin-top:0}.upload-card button{display:block;margin-top:.75rem}.table-section{margin-bottom:2rem}.auth-page{max-width:24rem;margin:4rem auto;padding:0 1rem}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.auth-card input{display:block;width:100%;margin:.4rem 0 1rem}.auth-sub,.auth-title{text-align:center}.auth-sub{margin-top:-.5rem}.btn-block{width:100%}