:root{color-scheme:dark;--ink-950: #090d18;--ink-900: #101727;--ink-800: #1a2438;--paper: #fff2d2;--paper-deep: #f4dca6;--text: #f7f3e8;--muted: #aab6c9;--paper-ink: #211b17;--paper-muted: #615442;--amber: #ffb84a;--mint: #63e6be;--warning: #ffd166;--danger: #ff7a85;--blue: #7dd3fc;--display: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace;--body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--body);color:var(--text);background:var(--ink-950);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background-color:var(--ink-950);background-image:linear-gradient(rgba(125,211,252,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.025) 1px,transparent 1px);background-size:24px 24px;color:var(--text);font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--blue);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}::selection{color:var(--ink-950);background:var(--mint)}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;transform:translateY(-150%);color:var(--ink-950);background:var(--amber);font-weight:800}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-header,.legal-header{width:min(1160px,calc(100% - 40px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #26344d}.brand{display:inline-flex;min-height:44px;align-items:center;gap:12px;color:var(--text);font-family:var(--display);font-size:.82rem;font-weight:800;letter-spacing:.11em;text-decoration:none}.brand-mark{position:relative;width:30px;height:28px;display:block;border:4px solid var(--amber);border-top:0;margin-top:7px}.brand-mark:before{content:"";position:absolute;width:20px;height:20px;top:-10px;left:1px;border-left:4px solid var(--amber);border-top:4px solid var(--amber);transform:rotate(45deg)}.brand-mark i{position:absolute;width:6px;height:10px;bottom:0;left:8px;background:var(--mint)}.header-state{display:flex;align-items:center;gap:16px}.connection{display:inline-flex;align-items:center;min-height:44px;gap:8px;color:var(--muted);font-family:var(--display);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.connection i,.status i{display:inline-block;width:8px;height:8px;background:var(--mint);box-shadow:0 0 0 3px #63e6be1f}.connection.is-offline i{background:var(--warning);box-shadow:0 0 0 3px #ffd1661f}main{width:min(1160px,calc(100% - 40px));margin:0 auto}.intro{padding:72px 0 56px;display:flex;align-items:end;justify-content:space-between;gap:32px}.eyebrow{margin:0 0 12px;color:var(--mint);font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.04em}h1{max-width:760px;margin-bottom:20px;font-size:clamp(2.65rem,7vw,5.9rem);font-weight:800;text-transform:uppercase}h1 span{color:var(--amber)}h2{font-size:clamp(1.65rem,4vw,2.5rem)}h3{font-size:1.12rem}.lede{max-width:660px;margin:0;color:var(--muted);font-size:1.12rem;line-height:1.65}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 18px;border:2px solid transparent;border-radius:2px;cursor:pointer;font-family:var(--display);font-size:.85rem;font-weight:800;letter-spacing:.02em;text-decoration:none;transition:transform .16s ease,background-color .16s ease,color .16s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button:disabled{cursor:wait;opacity:.65}.button-primary{color:#171109;background:var(--amber);box-shadow:5px 5px #6f4b16}.button-primary:hover{background:#ffc76e}.button-ghost{border-color:#4a5c79;color:var(--text);background:var(--ink-800)}.button-ghost:hover{border-color:var(--amber)}.button-danger{border-color:var(--danger);color:var(--danger);background:transparent}.button-ink{min-height:44px;color:var(--paper);background:var(--paper-ink)}.button-small{min-height:40px;padding:8px 13px;font-size:.75rem}.button-full{width:100%}.icon-button{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #4a5c79;border-radius:2px;color:var(--text);background:transparent;cursor:pointer;font:1.6rem/1 var(--display)}.icon-button:hover{color:var(--amber);border-color:var(--amber)}.icon-on-paper{color:var(--paper-ink);border-color:#8d7753}.text-button{min-height:44px;padding:0 3px;border:0;color:var(--amber);background:transparent;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.loading{min-height:300px;padding:80px 0;color:var(--muted);font-family:var(--display)}.empty-state{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:520px;overflow:hidden;border:1px solid #24324b;background:#0c1322}.empty-state:before,.archive:before{content:"";position:absolute;width:8px;height:8px;top:16px;left:16px;background:var(--mint);box-shadow:16px 0 0 var(--amber),32px 0 #364a6a}.hero-art{align-self:end}.hero-art img{width:100%;height:auto;display:block;image-rendering:pixelated}.empty-copy{padding:72px 40px 48px 16px;align-self:center}.empty-copy h2{margin-bottom:18px;text-transform:uppercase}.empty-copy>p:not(.eyebrow){color:var(--muted)}.empty-copy ol{padding:0;margin:32px 0;list-style:none}.empty-copy li{display:flex;align-items:center;min-height:48px;gap:14px;border-top:1px dashed #34425b;color:var(--text)}.empty-copy li:last-child{border-bottom:1px dashed #34425b}.empty-copy li span{color:var(--amber);font-family:var(--display);font-size:.76rem}.archive-overview{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #27354e;border-bottom:0}.archive-overview>div{min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:16px 24px;border-right:1px solid #27354e;background:var(--ink-900)}.archive-overview>div:last-child{border:0}.archive-overview span{color:var(--muted);font:700 .68rem/1.2 var(--display);letter-spacing:.09em}.archive-overview strong{font:800 2rem/1 var(--display);color:var(--paper);font-variant-numeric:tabular-nums}.archive{position:relative;padding:48px 32px 40px;border:1px solid #27354e;background:#0c1322}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;padding-left:32px}.archive-heading h2{margin:0;text-transform:uppercase}.archive-heading>p{margin:0;color:var(--muted);font:.76rem var(--display)}.toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:24px}.search{min-height:50px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid #3a4964;background:var(--ink-900)}.search>span{color:var(--amber);font:1.7rem var(--display)}.search input{width:100%;height:46px;border:0;outline:0;color:var(--text);background:transparent}.search:focus-within{outline:3px solid var(--amber);outline-offset:2px}.filter select{min-width:190px;height:50px;padding:0 38px 0 14px;border:1px solid #3a4964;border-radius:0;color:var(--text);background:var(--ink-900)}.receipt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:0;list-style:none}.receipt-card{position:relative;min-width:0;overflow:hidden;color:var(--paper-ink);background:var(--paper);box-shadow:7px 7px #29334a;animation:settle .22s ease both}.receipt-card:after{content:"";position:absolute;right:0;bottom:64px;left:0;height:4px;background:repeating-linear-gradient(90deg,transparent 0 8px,var(--ink-950) 8px 12px);opacity:.28}.receipt-card>img,.receipt-pattern{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;background:#17213a}.receipt-pattern{display:grid;place-items:center;background-color:#18233a;background-image:linear-gradient(45deg,#20304b 25%,transparent 25%),linear-gradient(-45deg,#20304b 25%,transparent 25%);background-size:16px 16px}.receipt-pattern span{display:grid;width:72px;height:72px;place-items:center;border:5px solid var(--amber);color:var(--mint);font:900 1.5rem var(--display);box-shadow:6px 6px #090d18}.receipt-body{padding:20px 20px 18px}.receipt-meta{display:flex;justify-content:space-between;gap:10px;color:var(--paper-muted);font:700 .67rem var(--display);letter-spacing:.04em;text-transform:uppercase}.receipt-meta span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-body h3{min-height:2.35em;margin:14px 0 7px;font-size:1.24rem}.contractor{min-height:24px;margin-bottom:22px;color:var(--paper-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.receipt-bottom strong{font:800 .95rem var(--display);font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;gap:8px;font:800 .65rem var(--display);letter-spacing:.02em;text-transform:uppercase}.status i{width:7px;height:7px;box-shadow:none}.status-good i{background:#168b69}.status-warning i{background:#a16b00}.status-danger i{background:#c33546}.status-neutral i{background:#59697e}.receipt-actions{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px dashed #8d7753}.no-results,.error-state{padding:64px 24px;text-align:center;border:1px dashed #42516a}.error-state{margin-bottom:60px}dialog{width:min(760px,calc(100% - 24px));max-height:min(90vh,900px);padding:0;overflow:auto;border:1px solid #586985;border-radius:2px;color:var(--text);background:var(--ink-900);box-shadow:10px 10px #00000073}dialog::backdrop{background:#03060dd4;backdrop-filter:blur(3px)}dialog[open]{animation:dialog-in .18s ease both}.sheet>form,.sheet>.dialog-head,.sheet>p,.sheet>section,.sheet>.price,.sheet>ul,.sheet>a,.sheet>.restore-license{margin-right:28px;margin-left:28px}.sheet>form{margin:0;padding:28px}.sheet-compact{width:min(570px,calc(100% - 24px));padding:28px 0}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-head h2{margin:0;text-transform:uppercase}.form-note{margin-bottom:22px;color:var(--muted);font-size:.86rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--text);font-size:.88rem;font-weight:700}.field-wide{grid-column:1/-1}.field small{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #51627f;border-radius:0;color:var(--text);background:var(--ink-800)}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8794aa;opacity:1}.money-input{display:grid;grid-template-columns:92px 1fr}.money-input select{border-right:0}.file-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;width:fit-content;border:1px dashed #60718f;color:var(--blue);background:var(--ink-800);cursor:pointer;font:700 .82rem var(--display)}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.file-button span{min-height:46px;display:flex;align-items:center;padding:10px 16px}.file-button:focus-within{outline:3px solid var(--amber);outline-offset:3px}.photo-preview{display:flex;flex-wrap:wrap;gap:12px}.photo-preview figure{position:relative;margin:0}.photo-preview img{width:112px;height:84px;display:block;object-fit:cover;border:1px solid #60718f}.photo-preview button{position:absolute;top:-8px;right:-8px;width:32px;height:32px;border:2px solid var(--ink-950);color:var(--ink-950);background:var(--danger);cursor:pointer;font-weight:900}.field-help{min-height:1.4em;margin:2px 0 0;color:var(--warning);font-size:.84rem}.form-error{margin-bottom:18px;padding:12px;border-left:4px solid var(--danger);color:var(--text);background:#3a1722}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #34435d}.backup-block,.restore-license{margin-top:24px;padding-top:24px;border-top:1px dashed #465772}.backup-block h3,.restore-license h3{margin-bottom:6px}.backup-block p,.sheet-compact>p,.restore-license p{color:var(--muted)}.premium-label{width:fit-content;margin-bottom:8px;padding:3px 7px;color:var(--ink-950);background:var(--mint);font:900 .62rem var(--display);letter-spacing:.07em}.price{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.price strong{color:var(--amber);font:900 2.5rem var(--display)}.price span{color:var(--muted)}.tick-list{padding:0;list-style:none}.tick-list li{position:relative;padding:8px 0 8px 28px;border-bottom:1px dashed #35445e}.tick-list li:before{content:"■";position:absolute;left:0;color:var(--mint)}.restore-license form{display:flex;align-items:end;gap:10px}.restore-license .field{flex:1}.fine-print{font-size:.78rem}.sheet-detail{width:min(820px,calc(100% - 24px));color:var(--paper-ink);background:var(--paper)}.sheet-detail .dialog-head{padding:28px 28px 0}.sheet-detail .dialog-head .eyebrow{color:#15765b}.sheet-detail .icon-button{color:var(--paper-ink);border-color:#8d7753}.sheet-detail .button-danger{color:#831425;border-color:#a8283a;background:#fffaf0}.detail-status{margin:0 28px 20px}.receipt-data{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #bca57a;border-left:1px solid #bca57a}.receipt-data div{min-height:100px;padding:18px 28px;border-right:1px solid #bca57a;border-bottom:1px solid #bca57a}.receipt-data dt{margin-bottom:7px;color:var(--paper-muted);font:800 .66rem var(--display);letter-spacing:.06em;text-transform:uppercase}.receipt-data dd{margin:0;font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}.detail-notes,.detail-photos{padding:26px 28px 0}.detail-notes p{white-space:normal;overflow-wrap:anywhere}.detail-photos>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-photos figure{margin:0}.detail-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.detail-photos figcaption{color:var(--paper-muted);font:.68rem var(--display)}.full-receipt .dialog-actions{margin:28px;border-color:#bca57a}.print-head,.print-foot{display:none}.toast{position:fixed;z-index:50;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));max-width:min(420px,calc(100% - 40px));padding:14px 16px;border:1px solid var(--mint);color:var(--text);background:#13251f;box-shadow:6px 6px #03060d;font-size:.9rem}.toast button{min-height:36px;margin-left:12px;border:0;color:var(--ink-950);background:var(--mint);font-weight:800;cursor:pointer}footer{width:min(1160px,calc(100% - 40px));margin:64px auto 0;padding:28px 0 calc(32px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:8px 32px;border-top:1px solid #27354e;color:var(--muted);font-size:.84rem}footer p{margin:0}footer nav{display:flex;gap:20px}.credit{grid-column:1/-1;font:.65rem var(--display);text-transform:uppercase;letter-spacing:.06em}.legal-page{background-color:var(--ink-950)}.legal{max-width:760px;margin:0 auto;padding:80px 0 100px}.legal h1{font-size:clamp(2.5rem,8vw,5rem)}.legal h2{margin-top:48px;font-size:1.45rem;color:var(--amber)}.legal p:not(.eyebrow){max-width:68ch;color:var(--muted)}.legal .button{margin-top:32px}@keyframes settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.receipt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{grid-template-columns:1fr}.hero-art{max-height:480px;overflow:hidden}.empty-copy{padding:32px}}@media(max-width:620px){.site-header,.legal-header,main,footer{width:min(100% - 24px,1160px)}.site-header{min-height:64px}.brand{font-size:.72rem}.brand-mark{transform:scale(.85);transform-origin:left center}.connection span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header-state{gap:8px}.connection{min-width:20px}.button-small{min-height:44px}.intro{padding:48px 0 36px;display:block}.intro h1{font-size:clamp(2.55rem,15vw,4.2rem)}.intro .button{margin-top:28px}.empty-state{min-height:0}.hero-art{max-height:none}.empty-copy{padding:28px 20px 32px}.archive-overview{grid-template-columns:1fr 1fr}.archive-overview>div{min-height:88px;padding:14px;border-bottom:1px solid #27354e}.archive-overview>div:nth-child(2){border-right:0}.archive-overview>div:nth-child(n+3){border-bottom:0}.archive{padding:48px 12px 24px}.archive-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px;padding-left:32px}.toolbar{grid-template-columns:1fr}.filter select{width:100%}.receipt-grid,.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.sheet>form{padding:20px 16px}.sheet-compact{padding:20px 0}.sheet>.dialog-head,.sheet>p,.sheet>section,.sheet>.price,.sheet>ul,.sheet>a,.sheet>.restore-license{margin-right:16px;margin-left:16px}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions .button{width:100%}.restore-license form{align-items:stretch;flex-direction:column}.receipt-data{grid-template-columns:1fr}.receipt-data div{min-height:84px}.detail-photos>div{grid-template-columns:1fr}.full-receipt .dialog-actions{margin:24px 16px}footer{grid-template-columns:1fr}footer nav{margin-top:8px}.credit{grid-column:auto;margin-top:12px}.legal{padding-top:56px}.legal h1{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{@page{size:auto;margin:14mm}body.print-receipt{background:#fff!important;color:#111!important}body.print-receipt>*:not(#detail-dialog){display:none!important}body.print-receipt #detail-dialog{position:static;width:100%;max-height:none;display:block;overflow:visible;border:0;color:#111;background:#fff;box-shadow:none}body.print-receipt .no-print{display:none!important}body.print-receipt .print-head{display:block;margin-bottom:24px;padding-bottom:16px;border-bottom:4px solid #111}body.print-receipt .print-head p{margin:0;font:800 12px var(--display);letter-spacing:.15em}body.print-receipt .print-head h2{margin:7px 0;font-size:28px}body.print-receipt .print-head span{font:10px var(--display)}body.print-receipt .detail-status{margin-left:0}body.print-receipt .receipt-data{border-color:#777}body.print-receipt .receipt-data div{border-color:#777;break-inside:avoid}body.print-receipt .detail-notes,body.print-receipt .detail-photos{padding-right:0;padding-left:0}body.print-receipt .detail-photos figure{break-inside:avoid}body.print-receipt .print-foot{display:block;margin-top:28px;color:#444;font-size:10px}}
