@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap");.budget-row{display:flex;justify-content:space-between;align-items:center;margin:18px 0 0;padding:17px 19px;background:var(--ink);color:#fff}.budget-row span{display:block;font-size:13px;font-weight:600}.budget-row small{display:block;margin-top:4px;color:#c4d2ce;font-size:10px}.budget-row strong{font:600 25px Playfair Display}.budget-row strong.positive{color:#a7d3c1}.budget-row strong.negative{color:#ff9e86}.shell,body{background:#f3f0e9}.module-hero{background:transparent;border-bottom:0}.module-grid{align-items:start}.module-grid>section{background:transparent;padding:0;border:0;box-shadow:none}.module-card{box-shadow:none}.time-filters{display:inline-flex;padding:4px;margin:16px 0 12px;background:#e9e4da;border-radius:2px;gap:2px}.time-filters a{border:0;background:transparent;padding:8px 12px}.time-filters a.selected{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(24,59,53,.08)}.table{max-height:680px;border-top:1px solid var(--line)}.row-head{background:#ebe7de;padding:11px 10px}.row{padding:17px 10px}.row:hover{background:rgba(255,255,255,.48)}.row-action{gap:10px}.delete-entry{border:0;border-bottom:1px solid #d7a99d;padding:3px 1px;opacity:.72}.delete-entry:hover{background:transparent;color:#802f20;opacity:1}.tax-card.module-card{border:0;border-top:4px solid var(--coral);box-shadow:0 12px 30px rgba(24,59,53,.05)}.entry-form{background:transparent}.obligations.module-card{box-shadow:none;border-left:0;border-right:0;border-bottom:0}.profile-notes{background:#f3f0e9;border-left:3px solid var(--coral)}.source-links a{padding-bottom:2px}.period{line-height:1.55}@media(max-width:800px){.time-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.time-filters a{text-align:center}.row{grid-template-columns:10px 1fr}.row-action{grid-column:2;justify-content:space-between}.row-action .row-money{text-align:left}.module-grid>section{padding:0}}.row-action{display:flex;align-items:center;justify-content:flex-end;gap:12px}.delete-form{margin:0}.delete-form input{display:none}.delete-entry{border:1px solid #d7a99d;background:transparent;color:#a24432;padding:6px 8px;font-size:10px;cursor:pointer}.delete-entry:hover{background:#a24432;color:white}.row-action .row-money{min-width:190px}.time-filters{display:flex;gap:7px;padding:15px 0 7px;flex-wrap:wrap}.time-filters a{border:1px solid var(--line);padding:7px 11px;color:var(--muted);font-size:11px;text-decoration:none;background:#fff}.time-filters a.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.profile-notes{margin-top:25px;padding:22px;background:#f6f3ec}.profile-notes h3{font:600 19px Playfair Display;color:var(--ink);margin:0 0 12px}.profile-notes p{font-size:12px;color:var(--muted);margin:7px 0}.source-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.source-links a{font-size:10px;color:var(--ink);border-bottom:1px solid var(--coral);text-decoration:none}.city-lock{display:block;color:#9a472f;background:#fae7df;padding:8px 10px;font-size:10px;margin-top:-7px}.table{max-height:720px;overflow:auto}.shell{background:linear-gradient(180deg,#f6f3ec,#f0ede5);min-height:100vh}.module-card{border:1px solid var(--line);box-shadow:0 12px 35px rgba(34,48,43,.045)}.module-grid>section{background:#faf8f3;padding:28px}.module-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 20%,rgba(232,105,77,.1),transparent 27%)}header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(243,240,233,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}header form{margin:0}.logout{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 14px;cursor:pointer;font-size:12px}.vertical{display:block}.vertical label{margin:9px 0}.auth-switch{font-size:12px;color:var(--muted);text-align:center;margin-top:18px}.auth-switch a{color:var(--coral);font-weight:600}.password-hint{display:block;color:var(--muted);font-size:10px;margin:-7px 0 12px}.shop-window{position:absolute;width:390px;height:310px;border:22px solid #dfd6c3;right:8%;bottom:10%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}.shop-window:before{content:"";position:absolute;top:-75px;left:-22px;width:390px;height:55px;background:repeating-linear-gradient(90deg,var(--coral) 0 48px,#f0e8d8 48px 96px);transform:skewX(-8deg)}.shop-window span{border:2px solid #f0e8d8;padding:12px 25px;letter-spacing:.2em;transform:rotate(-4deg)}html{scroll-behavior:smooth;scroll-padding-top:90px}.row-head{display:grid;grid-template-columns:1fr auto;padding:10px 5px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.row-money{text-align:right}.row-money small{max-width:220px}.obligations{margin:10px 7vw 70px;padding:38px;background:#fff;border-top:4px solid var(--ink)}.obligation-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:25px}.obligation-title h2{font:600 32px Playfair Display;color:var(--ink);margin:6px 0}.obligation-title>p{max-width:430px;color:var(--muted);font-size:12px;line-height:1.5}.obligation-head,.obligation-row{display:grid;grid-template-columns:1.35fr 2fr 1fr .85fr;grid-gap:20px;gap:20px;align-items:center}.obligation-head{padding:11px 14px;background:var(--ink);color:white;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.obligation-row{padding:16px 14px;border-bottom:1px solid #e9e5dd;font-size:13px}.obligation-row span{color:var(--muted)}.obligation-row strong{text-align:right;color:var(--ink)}.obligation-row i{font-style:normal;font-size:10px;text-align:center;padding:6px;border-radius:20px;background:#e5f0eb;color:#27604f}.obligation-row i.needs{background:#fae7df;color:#9a472f}.tax-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:18px}@media(max-width:800px){.obligation-title{display:block}.obligation-head{display:none}.obligation-row{grid-template-columns:1fr auto;gap:8px}.obligation-row span{grid-column:1/-1}.obligations{margin:10px 4vw 40px;padding:22px}.row-money small{max-width:140px}}:root{--paper:#f3f0e9;--ink:#183b35;--coral:#e8694d;--line:#d9d4ca;--muted:#72766f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#1f2926;font-family:DM Sans,sans-serif}button,input,select{font:inherit}.brand{font-weight:600;letter-spacing:.08em}.brand span{color:var(--coral)}header{height:72px;align-items:center;border-bottom:1px solid var(--line);padding:0 5vw;gap:7vw}header,nav{display:flex}nav{gap:30px;flex:1 1}nav a{font-size:14px;color:var(--muted)}nav .active{color:var(--ink);font-weight:600}.avatar{border:1px solid var(--ink);border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:12px}.shell{max-width:1500px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:end;padding:65px 7vw 45px}.eyebrow{color:var(--coral);letter-spacing:.16em;font-size:11px;font-weight:600}.hero h1,.login h1{font:600 55px/1.02 Playfair Display,serif;color:var(--ink);margin:12px 0}.hero em{font-weight:600}.period{text-align:right;color:var(--ink);font-family:Playfair Display,serif}.period small{font-family:DM Sans;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:0 7vw;border:1px solid var(--line)}.metrics article{padding:25px 30px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics small,.metrics span{display:block;color:var(--muted);font-size:12px}.metrics strong{font:600 31px Playfair Display;display:block;margin:10px 0;color:var(--ink)}.metrics .ink{background:var(--ink)}.metrics .ink span,.metrics .ink strong{color:white}.columns{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:45px;gap:45px;padding:55px 7vw}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px}.entry-form h2,.section-head h2,.tax-card h2{font:600 27px Playfair Display;color:var(--ink);margin:5px 0}.section-head span{font-size:12px;color:var(--muted)}.row{display:grid;grid-template-columns:15px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:16px 5px;border-bottom:1px solid var(--line)}.row b{font-size:14px}.row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.row strong{font-size:14px}.positive{color:#387765}.dot{width:7px;height:7px;background:var(--coral);border-radius:50%}.dot.green{background:#65a78d}.empty{padding:50px;text-align:center;color:var(--muted)}.tax-card{background:#fff;padding:28px;border-top:4px solid var(--coral)}.tax-card h2{font-size:39px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.tax-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee;font-size:13px}.fine,.warning{font-size:10px;color:var(--muted);line-height:1.5;margin-top:18px}.entry-form{border:1px solid var(--line);padding:25px;margin-top:25px}.form-title{display:flex;justify-content:space-between;align-items:center}.form-title span{font-size:10px;color:var(--muted)}label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin:12px 0}input,select{display:block;width:100%;border:1px solid var(--line);background:#faf9f5;padding:10px;margin-top:5px;color:#26312e}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.checks{display:flex;gap:15px}.checks label{display:flex;align-items:center;font-weight:400}.checks input{width:auto;margin:0 5px}.entry-form button,.login button{border:0;background:var(--coral);color:white;padding:12px 18px;width:100%;font-weight:600;cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-card{padding:9vh 10vw;display:flex;flex-direction:column;justify-content:center}.login-card form{margin-top:20px}.login-art{background:var(--ink);position:relative;overflow:hidden;padding:10vh 6vw;color:white}.quote{font:600 38px/1.2 Playfair Display;position:relative;z-index:2}.plate{position:absolute;width:480px;height:480px;border:80px solid #eee5d4;border-radius:50%;right:-80px;bottom:-90px;box-shadow:inset 0 0 0 2px #baa}.error{color:#a52b23;font-size:12px}@media(max-width:800px){nav{display:none}.hero h1{font-size:42px}.columns,.metrics{grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--line)}.columns{gap:25px}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:8vh 8vw}}