:root{--ink:#191919;--muted:#737373;--cream:#f5f5f4;--paper:#fff;--line:#dededb;--green:#242424;--green-2:#4d4d4d;--mint:#ededeb;--amber:#777;--danger:#a74343;--shadow:0 18px 55px rgba(0,0,0,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,system-ui,-apple-system,sans-serif}.app-shell{min-height:100vh}.topbar{height:82px;padding:0 max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,245,244,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark,.report-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:white;font-size:21px;font-weight:800}.brand span:last-child{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:16px}.brand small{font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.08em}.icon-button,.close-button{width:44px;height:44px;border:1px solid var(--line);background:white;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink)}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7}.close-button{font-size:27px}main{width:min(100% - 40px,760px);margin:0 auto;padding:64px 0 100px}.view{display:none}.view.active{display:block;animation:rise .35s ease}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero{margin-bottom:38px}.hero.compact{margin-top:25px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--green-2);margin:0 0 10px}.hero h1{font-size:clamp(32px,6vw,52px);line-height:1.08;letter-spacing:-.045em;margin:0 0 14px;max-width:650px}.hero>p:last-child{color:var(--muted);font-size:16px;line-height:1.6;margin:0;max-width:600px}.surface,.expense-card,.report-paper{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.035)}.location-surface{padding:24px;margin-bottom:45px}.currency-label{margin-top:18px}label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}label span{color:var(--amber)}label small{font-weight:500;color:var(--muted)}input,select,textarea{font:inherit;color:var(--ink);width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;outline:none;transition:.2s}input,select{height:54px;padding:0 15px}textarea{padding:15px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#777;box-shadow:0 0 0 3px rgba(0,0,0,.06);background:#fff}.input-wrap{position:relative}.input-wrap svg{position:absolute;left:16px;top:16px;width:21px;fill:none;stroke:var(--green-2);stroke-width:1.8}.input-wrap input{padding-left:48px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.section-heading h2{font-size:22px;margin:0;letter-spacing:-.02em}.count-badge{min-width:32px;height:32px;padding:0 10px;border-radius:16px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:13px;font-weight:800}.expense-list{display:grid;gap:14px}.expense-card{padding:20px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.expense-number{font-size:12px;font-weight:800;color:var(--green-2);text-transform:uppercase;letter-spacing:.08em}.remove-expense{border:0;background:#f6eded;color:var(--danger);width:29px;height:29px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.money-input{position:relative}.money-input input{padding-right:52px}.money-input b{position:absolute;right:15px;top:17px;color:var(--muted);font-size:13px}.add-button{margin:14px 0 24px;width:100%;height:55px;border:1px dashed #999;border-radius:10px;background:#fafafa;color:var(--ink);font:700 14px Manrope;cursor:pointer}.add-button span{font-size:21px;vertical-align:-1px;margin-right:5px}.live-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.live-total strong{color:var(--ink);font-size:22px}.primary-button,.secondary-button{border:0;border-radius:9px;height:58px;padding:0 22px;font:700 14px Manrope;cursor:pointer}.primary-button{width:100%;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:none}.primary-button:hover{background:#000}.primary-button span{font-size:20px}.secondary-button{background:var(--mint);color:var(--green)}.back-button{background:none;border:0;padding:0;color:var(--green-2);font:700 13px Manrope;cursor:pointer}.income-card{padding:28px;display:grid;gap:5px}.income-card label:not(:first-child){margin-top:17px}.income-card .primary-button{margin-top:22px}.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50;backdrop-filter:blur(3px)}.settings-drawer{position:fixed;top:0;right:0;z-index:60;width:min(440px,100%);height:100dvh;padding:32px;background:var(--cream);transform:translateX(105%);transition:transform .3s ease;overflow:auto;box-shadow:-15px 0 50px rgba(0,0,0,.12)}.settings-drawer.open{transform:none}.drawer-header{display:flex;align-items:center;justify-content:space-between}.drawer-header h2{font-size:30px;margin:0}.drawer-copy{font-size:14px;color:var(--muted);line-height:1.6;margin:24px 0}.type-form{display:flex;gap:8px}.type-form button{border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:700;padding:0 17px}.type-list{display:grid;gap:8px;margin-top:24px}.type-item{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:white;border:1px solid var(--line);border-radius:9px;font-size:14px;font-weight:600}.type-item button{border:0;background:none;color:var(--danger);cursor:pointer;font-size:18px}.report-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.report-paper{padding:46px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:30px;border-bottom:2px solid var(--green)}.report-header h1{font-size:34px;letter-spacing:-.04em;margin:0}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.report-meta div{display:flex;flex-direction:column;gap:5px}.report-meta span,.report-income span,.report-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.report-income{background:#f2f2f1;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:22px;display:grid;gap:5px;margin:25px 0 32px}.report-income span{color:var(--muted)}.report-income strong{font-size:30px}.report-income small{color:var(--muted)}.report-paper h2{font-size:18px;margin:0 0 12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:11px 8px;border-bottom:1px solid var(--line)}td{padding:13px 8px;border-bottom:1px solid var(--line)}th:last-child,td:last-child{text-align:right;white-space:nowrap}.report-summary{margin:25px 0 8px auto;width:min(100%,350px);display:grid}.report-summary>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.balance-row{border-top:2px solid var(--green);margin-top:4px}.balance-row strong{font-size:23px;color:var(--green)}.report-view>.primary-button{margin-top:20px}.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,25px);background:var(--ink);color:white;padding:12px 18px;border-radius:9px;font-size:13px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.topbar{justify-content:flex-end}
@media(max-width:600px){.topbar{height:72px;padding:0 20px}.brand small{display:none}main{width:min(100% - 28px,760px);padding:40px 0 70px}.hero{margin-bottom:28px}.hero h1{font-size:36px}.location-surface{padding:18px;margin-bottom:36px}.expense-card{padding:17px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.settings-drawer{padding:26px 20px}.report-paper{padding:25px 18px;border-radius:15px}.report-header h1{font-size:27px}.report-meta{grid-template-columns:1fr}.report-actions{gap:12px}.secondary-button{height:46px;padding:0 14px}.report-view{margin-left:-3px;margin-right:-3px}}
@media print{body{background:white}.no-print,.topbar,.report-view>.primary-button,.settings-drawer,.drawer-overlay,.toast{display:none!important}main{width:100%;padding:0}.view{display:none!important}#reportView{display:block!important}.report-paper{border:0;box-shadow:none;padding:0}.report-income{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-header{margin-top:0}}
