:root{color-scheme:light;--paper: #f4f0e6;--sheet: #fffdf7;--ink: #142c3c;--muted: #465c68;--blue: #135ea8;--blue-deep: #0b477f;--rule: #b8c8cf;--soft-rule: #dbe2e3;--success: #1f6c4a;--warning: #8a5207;--danger: #a33131;--stamp: #d45233;--shadow: 0 16px 50px rgb(20 44 60 / 12%);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}:root[data-theme=dark]{color-scheme:dark;--paper: #101d29;--sheet: #172838;--ink: #f6f2e8;--muted: #b7c7cf;--blue: #66b4ff;--blue-deep: #98ceff;--rule: #526777;--soft-rule: #304555;--success: #74d6a5;--warning: #ffca70;--danger: #ff9d98;--stamp: #ff9478;--shadow: 0 16px 50px rgb(0 0 0 / 28%)}@media (prefers-color-scheme: dark){:root[data-theme=system]{color-scheme:dark;--paper: #101d29;--sheet: #172838;--ink: #f6f2e8;--muted: #b7c7cf;--blue: #66b4ff;--blue-deep: #98ceff;--rule: #526777;--soft-rule: #304555;--success: #74d6a5;--warning: #ffca70;--danger: #ff9d98;--stamp: #ff9478;--shadow: 0 16px 50px rgb(0 0 0 / 28%)}}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--paper)}body{margin:0;min-height:100vh;min-height:100dvh;font-size:16px;line-height:1.5;background-color:var(--paper);background-image:linear-gradient(rgb(19 94 168 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(19 94 168 / 7%) 1px,transparent 1px);background-size:24px 24px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue-deep);text-underline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h2{margin-bottom:8px;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.08;letter-spacing:-.035em}h3{margin-bottom:8px;font-size:1.25rem;line-height:1.2}h4{margin-bottom:5px;font-size:1.075rem;line-height:1.25}.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}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:12px 16px;background:var(--ink);color:var(--sheet)}.skip-link:focus{top:16px}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 5px var(--sheet)}.boot-status{margin:30vh auto;max-width:300px;padding:24px;border:1px solid var(--rule);background:var(--sheet);text-align:center}#app{display:grid;grid-template:auto 1fr auto / 252px minmax(0,1fr);min-height:100dvh}.app-header{grid-column:1;grid-row:1;position:relative;padding:28px 24px 22px;background:var(--sheet);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.brand-mark{width:44px;height:44px;position:relative;margin-bottom:22px;border:2px solid var(--blue);background:linear-gradient(90deg,transparent 49%,var(--blue) 50%,transparent 52%),linear-gradient(transparent 49%,var(--blue) 50%,transparent 52%)}.brand-mark:before{content:"";position:absolute;width:21px;height:16px;left:9px;top:14px;border:2px solid var(--blue);border-top:0}.brand-mark:after{content:"";position:absolute;left:7px;top:8px;width:25px;height:25px;border-top:2px solid var(--blue);border-left:2px solid var(--blue);transform:rotate(45deg)}.eyebrow,.sheet-label{margin-bottom:8px;font:700 .75rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}.brand-copy h1{margin:0;font-size:1.45rem;line-height:1.05;letter-spacing:-.03em}.brand-copy h1 span{color:var(--blue-deep)}.local-state{display:flex;align-items:center;gap:10px;margin-top:25px;padding-top:17px;border-top:1px dashed var(--rule)}.local-state span:last-child{display:grid}.local-state strong{font-size:.75rem}.local-state small{color:var(--muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent)}.app-nav{grid-column:1;grid-row:2;padding:18px 12px;background:color-mix(in srgb,var(--sheet) 94%,transparent);border-right:1px solid var(--rule)}.nav-button{width:100%;min-height:48px;display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 0 6px;border:1px solid transparent;border-radius:4px;color:var(--muted);background:transparent;text-align:left}.nav-button:hover{color:var(--ink);background:color-mix(in srgb,var(--blue) 7%,transparent)}.nav-button.active{color:var(--blue-deep);border-color:var(--rule);background:var(--sheet);box-shadow:3px 0 0 var(--blue) inset;font-weight:700}.nav-button span{flex:1}.nav-button b{display:grid;min-width:24px;height:24px;padding:0 5px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--blue) 12%,transparent);font:700 .72rem ui-monospace,SFMono-Regular,Consolas,monospace}.icon{width:20px;height:20px;flex:0 0 auto}main{grid-column:2;grid-row:1 / span 2;min-width:0;padding:clamp(28px,5vw,64px);padding-top:max(36px,env(safe-area-inset-top))}.page-heading{max-width:1180px;min-height:106px;display:flex;justify-content:space-between;align-items:end;gap:24px;margin:0 auto 36px;padding-bottom:24px;border-bottom:2px solid var(--ink);position:relative}.page-heading:after{content:"";position:absolute;width:9px;height:9px;right:0;bottom:-6px;border:1px solid var(--ink);background:var(--paper);transform:rotate(45deg)}.page-heading>div{max-width:650px}.page-heading p:last-child{margin:0;color:var(--muted);font-size:1.05rem}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border:1px solid var(--blue-deep);border-radius:4px;text-decoration:none;font-weight:750;line-height:1.2}.button.primary{color:#fff;background:#135ea8;border-color:#135ea8;box-shadow:3px 3px color-mix(in srgb,var(--blue-deep) 35%,transparent)}.button.primary:hover{background:#0b477f}.button.secondary{color:var(--blue-deep);background:var(--sheet)}.button.secondary:hover{background:color-mix(in srgb,var(--blue) 8%,var(--sheet))}.button.danger{color:#fff;background:#a33131;border-color:#a33131}.button:disabled{cursor:not-allowed;opacity:.48}.summary-grid{max-width:1180px;display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto 28px;border:1px solid var(--rule);background:var(--sheet)}.summary-grid div{min-height:112px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--rule)}.summary-grid div:last-child{border:0}.summary-grid span{color:var(--muted);font-size:.86rem}.summary-grid strong{font:700 1.8rem ui-monospace,SFMono-Regular,Consolas,monospace}.ledger-section,.report-preview,.upgrade-sheet{max-width:1180px;margin:0 auto;background:var(--sheet);border:1px solid var(--rule);box-shadow:var(--shadow)}.ledger-tools{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--rule)}.ledger-tools h3,.ledger-tools p{margin-bottom:0}.filters{display:flex;gap:10px}.search-field{min-width:min(320px,42vw);position:relative}.search-field .icon{position:absolute;left:13px;top:13px;color:var(--muted)}.search-field input{padding-left:42px}input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--sheet)}input:hover,select:hover,textarea:hover{border-color:var(--blue)}textarea{resize:vertical}.record-row{display:grid;grid-template-columns:46px minmax(0,1fr) 150px 92px;min-height:150px;border-bottom:1px solid var(--soft-rule)}.record-row:last-child{border-bottom:0}.record-index{padding:21px 8px;border-right:1px solid var(--soft-rule);color:var(--blue-deep);font:700 .72rem ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center}.record-main{padding:20px 22px}.record-main>p{margin-bottom:5px;color:var(--muted)}.record-main .system-name{color:var(--blue-deep);font:700 .75rem ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}.record-notes{max-width:72ch}.record-evidence{margin-top:12px}.evidence-link{min-height:44px;max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border:1px dashed var(--rule);background:transparent;color:var(--blue-deep);text-align:left}.evidence-link span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-link small{color:var(--muted);font:.65rem ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--muted);font-size:.86rem}.record-due{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:18px;border-left:1px solid var(--soft-rule)}.record-due strong{font:700 .8rem ui-monospace,SFMono-Regular,Consolas,monospace}.due{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.78rem;font-weight:750}.due .icon{width:16px}.due.overdue{color:var(--danger)}.due.soon{color:var(--warning)}.due.scheduled{color:var(--success)}.record-actions{display:flex;justify-content:center;align-items:center;gap:9px;border-left:1px solid var(--soft-rule)}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--rule);border-radius:3px;color:var(--blue-deep);background:var(--sheet);font-size:1.5rem}.icon-button:hover{border-color:var(--blue)}.danger-button{color:var(--danger)}.no-results,.simple-empty{padding:56px 24px;text-align:center;color:var(--muted)}.text-button{min-height:44px;border:0;color:var(--blue-deep);background:transparent;text-decoration:underline;text-underline-offset:4px}.empty-state{max-width:1180px;display:grid;grid-template-columns:minmax(290px,.8fr) minmax(400px,1.2fr);min-height:460px;margin:0 auto;overflow:hidden;border:1px solid var(--rule);background:var(--sheet);box-shadow:var(--shadow)}.empty-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,64px)}.empty-copy h3{max-width:12ch;font-size:clamp(1.6rem,3vw,2.35rem);letter-spacing:-.03em}.empty-copy>p:not(.sheet-label){color:var(--muted)}.empty-copy .button{margin-top:8px}.empty-copy .fine-print{margin:12px 0 0;font-size:.8rem}.empty-state picture,.empty-state img{width:100%;height:100%;object-fit:cover}.notice{max-width:1180px;margin:0 auto 24px;padding:16px 18px;border-left:4px solid var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--sheet));color:var(--muted)}.notice strong{color:var(--ink)}.report-title{padding:20px 24px;border-bottom:1px solid var(--rule)}.report-title>*{margin-bottom:0}.report-preview article{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:16px;min-height:96px;padding:18px 24px;border-bottom:1px solid var(--soft-rule)}.report-preview article:last-child{border:0}.report-preview article>span{color:var(--blue-deep);font:700 .78rem ui-monospace,SFMono-Regular,Consolas,monospace}.report-preview article h4,.report-preview article p{margin:0}.report-preview article p,.report-preview time{color:var(--muted);font-size:.86rem}.simple-empty{max-width:1180px;margin:0 auto;border:1px solid var(--rule);background:var(--sheet)}.backup-layout{max-width:1180px;display:grid;grid-template-columns:1.35fr .65fr;gap:24px;margin:0 auto}.backup-actions{border:1px solid var(--rule);background:var(--sheet);box-shadow:var(--shadow)}.backup-actions article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;border-bottom:1px solid var(--soft-rule)}.backup-actions article:last-child{border:0}.backup-actions h3,.backup-actions p{margin-bottom:4px}.backup-actions p{max-width:55ch;color:var(--muted)}.step{align-self:start;color:var(--blue-deep);font:700 .8rem ui-monospace,SFMono-Regular,Consolas,monospace}.file-button{position:relative;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.home-settings{align-self:start;padding:24px;border:1px solid var(--rule);background:var(--sheet)}.home-settings label,.form-grid label,.restore-license label{display:grid;gap:6px;margin:0 0 16px;font-weight:700}.home-settings label span,.form-grid label>span,.restore-license label span{color:var(--muted);font-size:.8rem;font-weight:400}.upgrade-sheet{padding:clamp(24px,5vw,56px)}.price-block{display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:24px;border-bottom:2px solid var(--ink)}.price-block p{grid-column:1;margin:0;color:var(--muted)}.price-block strong{grid-column:1;font-size:3.5rem;line-height:1;letter-spacing:-.06em}.price-block span{grid-column:2;grid-row:1 / span 2;padding:8px 12px;border:1px solid var(--stamp);color:var(--stamp);font:700 .8rem ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;transform:rotate(-2deg)}.tier-comparison{display:grid;grid-template-columns:1fr 1fr;margin:32px 0;border:1px solid var(--rule)}.tier-comparison>div{padding:24px}.tier-comparison>div+div{border-left:1px solid var(--rule)}.tier-comparison ul{display:grid;gap:13px;padding:0;margin:20px 0 0;list-style:none}.tier-comparison li{display:flex;gap:9px;align-items:flex-start}.tier-comparison li .icon{color:var(--success)}.plus-tier{background:color-mix(in srgb,var(--blue) 7%,var(--sheet))}.purchase-actions{display:flex;align-items:center;gap:18px}.purchase-actions p{max-width:55ch;margin:0;color:var(--muted);font-size:.86rem}.restore-license{margin-top:28px;padding-top:20px;border-top:1px dashed var(--rule)}.restore-license summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--blue-deep);font-weight:700}.restore-license form{display:flex;gap:12px;align-items:end;max-width:640px;padding-top:12px}.restore-license label{flex:1;margin:0}.license-success{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--success);background:color-mix(in srgb,var(--success) 9%,var(--sheet))}.license-success .icon{color:var(--success)}.license-success p{margin:2px 0 0;color:var(--muted)}.license-notice{margin-top:20px;color:var(--warning)}.legal-copy{margin:28px 0 0;color:var(--muted);font-size:.8rem}dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--ink);border-radius:6px;background:var(--sheet);color:var(--ink);box-shadow:0 30px 100px #00000059}dialog::backdrop{background:#071621ad;backdrop-filter:blur(2px)}.record-dialog form,.confirm-dialog{padding:clamp(20px,5vw,36px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:18px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--rule)}.dialog-header h2,.dialog-header p{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full-width{grid-column:1 / -1}.money-input{position:relative}.money-input>span{position:absolute;top:13px;left:12px}.money-input input{padding-left:28px}.attachment-field{padding:15px;border:1px dashed var(--rule);background:color-mix(in srgb,var(--blue) 4%,var(--sheet))}.attachment-field input{padding:8px}.attachment-field small{color:var(--muted);font-weight:400}.form-error{min-height:24px;margin:0;color:var(--danger)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.confirm-dialog{max-width:580px}.confirm-dialog>p:not(.sheet-label){color:var(--muted)}footer{grid-column:1 / -1;grid-row:3;min-height:86px;display:flex;align-items:center;gap:22px;padding:18px 28px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--sheet);color:var(--muted);font-size:.78rem}footer p{margin:0}footer nav{display:flex;gap:15px}footer .generated-note{margin-left:auto}.toast-region{position:fixed;z-index:20;right:20px;bottom:20px;bottom:max(20px,env(safe-area-inset-bottom))}.toast{max-width:420px;min-height:54px;display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid var(--blue);border-left:5px solid var(--blue);background:var(--sheet);box-shadow:var(--shadow)}.toast .icon{color:var(--success)}.toast button{min-height:40px;margin-left:auto;border:0;color:var(--blue-deep);background:transparent;font-weight:700;text-decoration:underline}.fatal-error{max-width:700px;margin:10vh auto;border:1px solid var(--rule);background:var(--sheet)}@media (max-width: 840px){#app{display:block}.app-header{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:max(16px,env(safe-area-inset-top)) 18px 14px;border-right:0}.brand-mark{width:38px;height:38px;margin:0}.brand-mark:before{left:7px;top:12px}.brand-mark:after{left:6px;top:7px;width:21px;height:21px}.brand-copy .eyebrow{display:none}.brand-copy h1{font-size:1.05rem;line-height:1.1}.brand-copy h1 br{display:none}.brand-copy h1 span:before{content:" "}.local-state{margin:0;padding:0;border:0}.local-state strong{display:none}.app-nav{display:flex;overflow-x:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--rule)}.nav-button{min-width:max-content;margin:0 4px 0 0;padding:8px 10px}.nav-button.active{box-shadow:0 -3px 0 var(--blue) inset}main{padding:28px 16px 48px}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid div:nth-child(2){border-right:0}.summary-grid div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.record-row{grid-template-columns:38px minmax(0,1fr) 92px}.record-due{grid-column:2;padding:0 18px 18px;border:0}.record-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}.empty-state{grid-template-columns:1fr}.empty-state picture{min-height:300px}.backup-layout{grid-template-columns:1fr}footer{flex-wrap:wrap}footer .generated-note{width:100%;margin-left:0}}@media (max-width: 560px){.local-state small{font-size:.68rem}.page-heading{display:block;margin-bottom:24px}.page-heading .button{width:100%;margin-top:20px}.ledger-tools{align-items:stretch;flex-direction:column}.filters{flex-direction:column}.search-field{min-width:0}.record-row{grid-template-columns:34px minmax(0,1fr)}.record-due{grid-column:2}.record-actions{grid-column:2;grid-row:auto;flex-direction:row;justify-content:flex-start;padding:0 18px 18px;border:0}.evidence-link{display:grid;grid-template-columns:auto 1fr}.evidence-link small{grid-column:2}.empty-state{min-height:0}.empty-state picture{min-height:250px}.report-preview article{grid-template-columns:34px 1fr}.report-preview time{grid-column:2}.backup-actions article{grid-template-columns:32px minmax(0,1fr)}.backup-actions .button{grid-column:2;width:100%}.tier-comparison{grid-template-columns:1fr}.tier-comparison>div+div{border-left:0;border-top:1px solid var(--rule)}.purchase-actions,.restore-license form{align-items:stretch;flex-direction:column}.purchase-actions .button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full-width{grid-column:1}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}footer{display:grid}.toast-region{left:12px;right:12px;bottom:12px}}@media (prefers-reduced-motion: no-preference){dialog[open]{animation:dialog-in .18s ease-out}.toast{animation:toast-in .18s ease-out}.button,.nav-button,.icon-button{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .12s ease}.button:active,.icon-button:active{transform:translateY(1px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}}@media print{.app-header,.app-nav,footer,.button,.record-actions,.filters{display:none!important}#app{display:block}main{padding:0}body{background:#fff}}
