:root{--navy:#1f3a5f;--navy-press:#172c49;--navy-tint:#eef2f7;--ink:#0f172a;--slate:#475569;--border:#e2e8f0;--surface:#fff;--bg:#f8fafc;--success:#15803d;--success-tint:#ecfdf3;--warning:#b45309;--warning-tint:#fff7ed;--danger:#b91c1c;--danger-tint:#fef2f2;--f13:.8125rem;--f15:.9375rem;--f17:1.0625rem;--f22:1.375rem;--f28:1.75rem;--r:12px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--bg);color:var(--ink);font:400 var(--f15)/1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{color:var(--ink);margin:0;font-weight:600}h2{font-size:var(--f17);margin-bottom:8px;line-height:1.3}h3{font-size:var(--f15);margin:16px 0 8px}p{margin:8px 0}.tnum,.num,input,td{font-variant-numeric:tabular-nums}.muted{color:var(--slate)}.small,.fine{font-size:var(--f13);color:var(--slate);line-height:1.45}.fine{margin:8px 0;display:block}.center{text-align:center}.wrap{overflow-wrap:anywhere}.mono,.hash{font-family:var(--mono);font-size:var(--f13);overflow-wrap:anywhere;word-break:break-all;color:var(--ink)}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}:focus{outline:none}:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:8px}#app{min-height:100vh}.topbar{z-index:4;min-height:calc(44px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--border);background:#f8fafcf5;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.wordmark{font-weight:600;font-size:var(--f15);color:var(--navy);align-items:center;gap:8px;display:flex}.navback{min-width:44px;min-height:44px;color:var(--navy);font:400 var(--f17) var(--font);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin-left:-6px;padding:0 8px 0 0;display:flex}.navback svg{width:24px;height:24px}.devicepill{min-height:44px;color:var(--slate);font:400 var(--f13) var(--font);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;display:flex}.devicepill svg{width:16px;height:16px;color:var(--success)}.largetitle{max-width:760px;padding:16px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));margin:0 auto}.largetitle h1{font-size:var(--f28);letter-spacing:-.01em;line-height:1.2}.largetitle p{color:var(--slate);margin:4px 0 0}main{max-width:760px;padding:8px max(16px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:16px;padding:16px}.card.flush{padding:0;overflow:hidden}.section-title{font-size:var(--f13);text-transform:uppercase;letter-spacing:.04em;color:var(--slate);justify-content:space-between;align-items:baseline;margin:24px 4px 8px;font-weight:600;display:flex}.section-title .count{text-transform:none;letter-spacing:0;font-weight:400}.summary .s-label,.s-label{font-size:var(--f13);color:var(--slate);font-weight:600}.s-total{font-size:var(--f28);color:var(--navy);margin:4px 0 8px;font-weight:600}.metrics{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0;display:grid}.metrics.three{grid-template-columns:repeat(3,1fr)}.metrics.four{grid-template-columns:repeat(2,1fr)}@media (min-width:560px){.metrics.four{grid-template-columns:repeat(4,1fr)}}.metric{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;padding:8px 12px}.m-label{font-size:var(--f13);color:var(--slate);display:block}.m-value{font-size:var(--f17);overflow-wrap:anywhere;font-weight:600;display:block}.m-value.warn,.warn-text{color:var(--warning)}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--navy);font:600 var(--f15) var(--font);cursor:pointer;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:auto;padding:10px 16px;display:inline-flex}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:active{background:var(--navy-press)}.btn.secondary{background:var(--surface);color:var(--navy);border-color:#cbd5e1}.btn.plain{background:0 0;border-color:#0000}.btn.danger{background:var(--surface);color:var(--danger);border-color:#fca5a5}.btn.small{min-height:44px;font-size:var(--f13);padding:8px 12px}.btn:disabled{opacity:.45;cursor:not-allowed}.card>.btn.primary,.card>.btn.danger,.card>.btn.secondary,main>.btn.primary{width:100%;margin-top:16px}.row-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.row-actions>.btn{flex:140px}.stack{gap:8px;margin-top:16px;display:grid}.link{min-height:44px;color:var(--navy);font:600 inherit var(--font);font-size:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0 2px;text-decoration:underline}.banner{border:1px solid var(--border);font-size:var(--f13);background:var(--surface);border-left-width:4px;border-radius:8px;margin:0 0 16px;padding:8px 12px;line-height:1.45}.card .banner{margin:12px 0}.banner.warn{border-color:#fed7aa;border-left-color:var(--warning);background:var(--warning-tint)}.banner.danger{border-color:#fecaca;border-left-color:var(--danger);background:var(--danger-tint)}.banner.ok{border-color:#bbf7d0;border-left-color:var(--success);background:var(--success-tint)}.chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{min-height:24px;font-size:var(--f13);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.chip.ok{color:var(--success);background:var(--success-tint);border-color:#bbf7d0}.chip.warn{color:var(--warning);background:var(--warning-tint);border-color:#fed7aa}.chip.neutral{color:var(--slate);border-color:var(--border);background:#f1f5f9}.chip.outline{color:var(--navy);background:var(--surface);border-color:#cbd5e1}.chip.danger{color:var(--danger);background:var(--danger-tint);border-color:#fecaca;margin-bottom:8px}.group{margin-bottom:16px}.g-head{justify-content:space-between;align-items:flex-end;gap:8px;padding:0 4px 8px;display:flex}.g-head h3{font-size:var(--f15);margin:0}.g-sub{font-size:var(--f13);color:var(--slate)}.g-amt{font-weight:600}.tag{font-size:var(--f13);color:var(--slate);margin-right:4px;font-weight:600;display:inline-block}.tag.work{color:var(--navy)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.card.flush>.list,.list.card{border:0;border-radius:0;margin:0}.list.card.flush{border:1px solid var(--border);border-radius:var(--r)}.charge{text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.charge:last-child{border-bottom:0}.charge:active{background:var(--bg)}.c-main{flex-direction:column;gap:2px;min-width:0;display:flex}.c-loc{overflow-wrap:anywhere;font-weight:600}.c-meta,.c-src{font-size:var(--f13);color:var(--slate);overflow-wrap:anywhere}.c-reason{font-size:var(--f13);color:var(--warning);overflow-wrap:anywhere}.c-amt{text-align:right;white-space:nowrap;font-weight:600}.segmented{scrollbar-width:none;background:#eef2f6;border-radius:10px;gap:4px;margin:0 0 16px;padding:4px;display:flex;overflow-x:auto}.segmented button{min-height:44px;color:var(--slate);font:600 var(--f13) var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1 0 auto;padding:0 12px}.segmented button.on{background:var(--surface);color:var(--navy);box-shadow:0 0 0 1px var(--border)}.charge-head{text-align:left}.ch-amt{font-size:var(--f28);color:var(--navy);font-weight:600}.ch-loc{font-size:var(--f17);overflow-wrap:anywhere;margin-top:4px;font-weight:600}.kv{margin:0}.kv>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 16px;display:flex}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--slate);flex:none}.kv dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.kv.inset>div{padding:8px 0}.kv>div.block{display:block}.kv>div.block dd{text-align:left;margin-top:4px}.source-line{overflow-wrap:anywhere;margin:0 0 8px;font-weight:600}.reasons{margin:0;padding-left:20px}.reasons li{color:var(--warning);margin:4px 0}.log{margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.log li:last-child{border-bottom:0}label{font-size:var(--f13);color:var(--ink);margin:16px 0 6px;font-weight:600;display:block}input,select,textarea{background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:400 var(--f17) var(--font);border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;display:block}input[type=file]{font-size:var(--f15);padding:8px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--navy);outline-offset:1px}fieldset{border:0;margin:0;padding:0}legend{font-size:var(--f13);margin-bottom:4px;font-weight:600}label.check{min-height:44px;font-size:var(--f15);align-items:center;gap:12px;margin:0;font-weight:400;display:flex}label.check input{width:22px;height:22px;min-height:0;accent-color:var(--navy);margin:0}.split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.split label{margin-top:16px}.mapping label{margin-top:12px}.calhead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calhead h2{margin:0}.iconbtn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--navy);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.week,.calendar{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week span{text-align:center;font-size:var(--f13);color:var(--slate);padding:4px 0}.calendar button{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);font:600 var(--f15) var(--font);cursor:pointer;border-radius:10px;position:relative}.calendar button.selected{background:var(--navy);border-color:var(--navy);color:#fff}.calendar button i{background:var(--slate);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:6px;left:50%}.calendar button.selected i{background:#fff}.scrolltable{border:1px solid var(--border);border-radius:8px;margin:12px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--f13)}th{background:var(--bg);color:var(--slate);text-align:left;font-weight:600}th,td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px}tbody tr:nth-child(2n) td{background:#fbfcfe}.num{text-align:right;white-space:nowrap}.setrow{background:var(--surface);border:0;border-bottom:1px solid var(--border);text-align:left;width:100%;min-height:56px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:12px;padding:8px 16px;display:flex}.setrow:last-child{border-bottom:0}.setrow .si{background:var(--navy-tint);width:32px;height:32px;color:var(--navy);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.setrow .st{flex-direction:column;flex:1;min-width:0;display:flex}.setrow .st .fine{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.setrow>svg:last-child{color:#94a3b8}.snap{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.snap:last-child{border-bottom:0}.snap .fine{margin:2px 0 0}.ready h2{margin-top:4px}.logo-preview{border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:center;padding:12px;display:flex}.logo-preview img{max-width:100%;max-height:80px}.prose ul{margin:8px 0;padding-left:20px}.prose li{margin:8px 0}.empty{text-align:center}.welcome{padding:24px 0 16px}.welcome h1{font-size:var(--f28);margin-top:16px}.logo-tile{background:var(--navy);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.logo-tile svg{width:34px;height:34px}.lead{font-size:var(--f17);color:var(--slate)}.features{margin:16px 0;padding:0;list-style:none}.features li{border-bottom:1px solid var(--border);flex-direction:column;padding:12px 0;display:flex}.features li span{color:var(--slate);font-size:var(--f15)}.privacy-callout{align-items:flex-start;gap:12px;margin-top:16px;display:flex}.privacy-callout>svg{color:var(--success);margin-top:2px}.privacy-callout p{color:var(--slate);font-size:var(--f15);margin:4px 0}.tabbar{z-index:5;border-top:1px solid var(--border);padding:4px max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));background:#fffffffa;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:#64748b;max-width:140px;min-height:49px;font:600 .6875rem var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 0;display:flex;position:relative}.tabbar button svg{width:24px;height:24px}.tabbar button[aria-current=page]{color:var(--navy)}.tabbar .dot{background:var(--warning);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:calc(50% + 8px)}#notice{left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:10;background:var(--ink);color:#fff;max-width:560px;font-size:var(--f15);border-radius:10px;margin:0 auto;padding:12px 16px;display:none;position:fixed}.startup{text-align:center;color:var(--slate);padding:48px 24px}.fatal{padding:48px 24px}body.privacy-cover #app{filter:blur(24px)}body.privacy-cover:after{content:"Toll Proof";z-index:100;background:var(--navy);color:#fff;font:600 var(--f22) var(--font);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.split>div,.metrics>div{min-width:0}input,select,textarea{min-width:0;max-width:100%}input[type=date],input[type=time]{appearance:none;min-height:44px}html,body{overflow-x:hidden}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn.block{width:100%;margin-top:8px;text-decoration:none;display:flex}.banner.update{margin:8px max(16px,env(safe-area-inset-left)) 0;justify-content:space-between;align-items:center;gap:12px;display:flex}select:disabled{opacity:.7}.btn.danger-text{color:var(--danger)}
