:root{color-scheme:light;--ink: #292321;--muted: #827a70;--paper: #fffdf8;--canvas: #f7f3eb;--line: #e8dfd2;--red: #c72c25;--red-dark: #9f211c;--yellow: #f3c94f;--yellow-light: #ffedb0;--green: #376b54;--shadow: 0 16px 38px rgba(94, 44, 29, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 87% 2%,rgba(243,201,79,.16),transparent 28rem),var(--canvas);font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}.topbar{min-height:76px;padding:0 max(5.5vw,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--red);color:#fffdf8;border-bottom:4px solid var(--yellow)}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:var(--red-dark);background:var(--yellow);font-family:Georgia,serif;font-size:28px;font-weight:700;border-radius:50%}.brand-kicker,.brand strong{display:block}.brand-kicker{color:#ffffffb8;font-size:9px;font-weight:700;letter-spacing:1px}.brand strong{margin-top:1px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:600}.top-actions{display:flex;align-items:center;gap:22px}.test-link{color:inherit;font-size:12px;font-weight:700;text-decoration:none}.test-link:hover{text-decoration:underline;text-underline-offset:4px}.button{border:0;cursor:pointer;font-weight:700;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #19705c;outline-offset:2px}.button-outline{padding:9px 13px;border:1px solid rgba(255,255,255,.5);border-radius:4px;color:#fff;background:transparent}.button-outline:hover{background:#ffffff1f}main:not(.test-main){max-width:1200px;margin:0 auto;padding:0 28px}.intro{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:42px 0 31px}.eyebrow{margin:0 0 8px;color:var(--red);font-size:10px;font-weight:800;letter-spacing:1.25px}h1,h2,p{margin-top:0}.intro h1,.test-intro h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:43px;font-weight:500;line-height:1.08}.intro h1 span{color:var(--red);font-style:italic}.intro-note{margin:0 3px 4px 0;color:#6f655c;line-height:1.8}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{min-width:0;padding:0 22px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{padding-right:0;border:0}.metric-label{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.9px}.metric strong{display:block;margin:5px 0 1px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}.metric-today strong{color:var(--red)}.metric-foot{display:block;color:var(--muted);font-size:11px}.work-area{display:grid;grid-template-columns:minmax(255px,.75fr) minmax(0,1.6fr);align-items:start;gap:42px;padding:31px 0 42px}.entry-panel{padding:24px;background:#fff4cf;border:1px solid #efdfa9;border-radius:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading .eyebrow{margin-bottom:2px}.section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.heading-mark{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:var(--red);border-radius:50%;font-size:22px;line-height:1}#expense-form{margin-top:23px}#expense-form label{display:block;margin:0 0 6px;color:#544943;font-size:11px;font-weight:700}#expense-form input,#expense-form select,.filters input,.filters select{width:100%;min-height:42px;padding:0 11px;color:var(--ink);background:var(--paper);border:1px solid #ded5c9;border-radius:3px}#expense-form input::placeholder,.filters input::placeholder{color:#a59a8f}#expense-form>input,#expense-form>.form-row{margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row>div{min-width:0}.amount-input{position:relative}.amount-input>span{position:absolute;z-index:1;top:9px;left:11px;color:var(--muted)}.amount-input input{padding-left:25px!important}.form-error{min-height:19px;margin:-4px 0 6px;color:var(--red-dark);font-size:11px}.submit-button{width:100%;min-height:45px;color:#fff;background:var(--red);border-radius:3px}.submit-button:hover{background:var(--red-dark)}.submit-button span{margin-right:5px;font-size:17px;vertical-align:-1px}.privacy-note{margin:16px 0 0;color:#82765e;font-size:10px}.privacy-note span{margin-right:5px;color:var(--green);font-size:9px}.right-column{min-width:0}.week-panel{padding-bottom:24px;border-bottom:1px solid var(--line)}.compact-heading h2{font-size:21px}.chart-unit{color:var(--muted);font-size:10px;font-weight:700}.chart{height:142px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;margin-top:17px}.chart-column{height:100%;min-width:0;display:grid;grid-template-rows:18px 1fr 18px;justify-items:center;align-items:end}.bar-value{max-width:100%;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.bar-track{width:min(30px,72%);height:100%;display:flex;align-items:end;overflow:hidden;background:#eee8dd;border-radius:3px 3px 0 0}.bar-fill{width:100%;min-height:3px;background:#df8d35;border-radius:3px 3px 0 0;transition:height .25s ease}.bar-fill.is-today{background:var(--red)}.bar-label{align-self:end;color:var(--muted);font-size:10px}.ledger-panel{padding-top:24px}.ledger-heading{margin-bottom:15px}.entry-count{color:var(--muted);font-size:11px}.filters{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(120px,1fr) minmax(130px,.95fr);gap:8px;margin-bottom:4px}.filters input,.filters select{min-height:36px;padding:0 9px;background:#fffdf8a6;font-size:11px}.search-field{position:relative}.search-field>span:not(.sr-only){position:absolute;top:5px;left:9px;color:var(--muted);font-size:18px}.search-field input{padding-left:29px}.ledger-list{min-height:5px}.expense-row{min-height:62px;display:grid;grid-template-columns:10px minmax(0,1fr) auto 30px;align-items:center;gap:12px;border-bottom:1px solid var(--line);animation:row-in .22s ease both}.category-marker{width:8px;height:8px;background:var(--red);border-radius:50%}.marker-books,.marker-clothing{background:#d18836}.marker-shoes{background:#477b65}.marker-personal{background:#8d6c9a}.expense-copy{min-width:0}.expense-copy strong,.expense-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-copy strong{font-size:12px}.expense-copy span{margin-top:2px;color:var(--muted);font-size:10px}.expense-amount{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.delete-button{width:30px;height:30px;color:#8b8075;background:transparent;border:0;border-radius:3px;cursor:pointer;font-size:20px}.delete-button:hover{color:#fff;background:var(--red)}.empty-state{padding:30px 12px 25px;color:var(--muted);text-align:center}.empty-icon{color:#d5bd79;font-family:Georgia,serif;font-size:30px}.empty-state p{margin:3px 0 0;font-size:11px}.empty-state .empty-title{color:var(--ink);font-family:Georgia,serif;font-size:17px}.no-results{margin:20px 0;color:var(--muted);font-size:12px;text-align:center}[hidden]{display:none!important}footer{display:flex;justify-content:space-between;padding:14px 0 22px;color:var(--muted);border-top:1px solid var(--line);font-size:9px}footer span:first-child{font-weight:800;letter-spacing:.8px}.toast{position:fixed;z-index:10;right:24px;bottom:22px;max-width:min(350px,calc(100vw - 32px));padding:12px 17px;color:#fff;background:#292321;border-left:4px solid var(--yellow);border-radius:3px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.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}.test-page{min-height:100vh}.test-main{max-width:850px;margin:0 auto;padding:55px 28px}.test-intro{padding-bottom:28px;border-bottom:1px solid var(--line)}.test-intro h1{font-size:38px}.test-intro>p:not(.eyebrow){max-width:590px;margin:14px 0 0;color:var(--muted)}.test-summary{display:inline-block;margin-top:22px;padding:9px 14px;color:#6a5011;background:var(--yellow-light);border-left:4px solid var(--yellow);font-weight:800}.summary-pass{color:#25553e;background:#e6f1e9;border-color:#5b946e}.summary-fail{color:var(--red-dark);background:#fae7e5;border-color:var(--red)}.test-results{margin-top:26px}.test-results-head,.test-result{display:grid;grid-template-columns:1fr 64px;align-items:center;gap:16px}.test-results-head{padding:8px 11px;color:var(--muted);border-bottom:1px solid var(--line);font-size:9px;font-weight:800;letter-spacing:.8px}.test-results-head span:last-child,.test-result strong{text-align:right}.test-results ol{margin:0;padding:0;list-style:none}.test-result{min-height:46px;padding:8px 11px;border-bottom:1px solid var(--line);font-size:12px}.test-result strong{font-size:10px;letter-spacing:.5px}.test-pass strong{color:var(--green)}.test-fail{color:var(--red-dark);background:#fff3f1}.test-how{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.test-how h2{margin:0 0 9px;font-family:Georgia,serif;font-size:20px;font-weight:500}.test-how p{margin:5px 0;color:var(--muted);font-size:12px}.test-how code{color:var(--red-dark);font-size:11px}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.topbar{padding-right:24px;padding-left:24px}main:not(.test-main){padding:0 24px}.work-area{grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:26px}.entry-panel{padding:20px}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.search-field{grid-column:1 / -1}}@media(max-width:620px){.topbar{min-height:68px;padding:0 17px;gap:10px}.brand{gap:8px}.brand-mark{width:35px;height:35px;font-size:24px}.brand-kicker{font-size:8px}.brand strong{font-size:14px}.top-actions{gap:12px}.top-actions .test-link{font-size:11px;white-space:nowrap}.button-outline{padding:8px;font-size:11px;white-space:nowrap}main:not(.test-main){padding:0 17px}.intro{align-items:start;flex-direction:column;gap:13px;padding:31px 0 23px}.intro h1{font-size:36px}.intro-note{font-size:12px;line-height:1.6}.overview{grid-template-columns:1fr 1fr;row-gap:17px;padding:16px 0}.metric{padding:0 12px}.metric:nth-child(2){border-right:0}.metric:nth-child(3){padding-left:0}.metric:nth-child(3),.metric:nth-child(4){padding-top:13px;border-top:1px solid var(--line)}.metric strong{font-size:22px}.metric-foot{font-size:10px}.work-area{grid-template-columns:1fr;gap:29px;padding:23px 0 30px}.entry-panel{padding:19px}.right-column{display:contents}.week-panel{order:2}.ledger-panel{order:3}.chart{height:126px;gap:5px}.bar-value{font-size:8px}.filters{grid-template-columns:1fr 1fr}footer{font-size:8px}.test-main{padding:37px 18px}.test-intro h1{font-size:32px}.test-result{font-size:11px}}@media(max-width:370px){.topbar{padding-right:11px;padding-left:11px}.top-actions{gap:8px}.button-outline span{display:none}main:not(.test-main){padding-right:13px;padding-left:13px}.entry-panel{padding:16px}}
