:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183d35;background:#f5f6f0;--green:#173e37;--muted:#748078;--line:#e3e7dd;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button,a,input,select{touch-action:manipulation}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid #87b998;outline-offset:3px}header{max-width:1280px;margin:auto;padding:25px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none;letter-spacing:1.8px;font-size:12px;font-weight:750}.brand-mark{background:var(--green);color:#d8eaa8;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;font-size:25px}.header-note{color:var(--muted);font-size:12px}main{max-width:1280px;margin:auto;padding:0 40px}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 35px;gap:25px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:750;color:#7c8b75;margin:0 0 13px}h1{font-size:clamp(34px,4.5vw,54px);letter-spacing:-2.2px;line-height:1.05;margin:0;font-weight:650}.subtitle{color:var(--muted);font-size:13px;line-height:1.7;margin:17px 0 0}.intro-stamp{display:flex;align-items:center;gap:18px;color:#72876b;padding-right:30px}.intro-stamp>span{font-size:60px;font-weight:300;transform:rotate(-12deg);color:#8da779}.intro-stamp p{font-size:11px;line-height:1.8}.panel{border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 4px 17px #264c3210}.period-panel{display:flex;gap:12px;align-items:flex-end;padding:19px 22px}.month-choice{flex:1;max-width:360px}.month-choice label{font-size:9px;letter-spacing:1.5px;margin:0 0 7px;color:#74816c}.month-choice select{background:#f7f9f3;font-size:15px}.transfer-actions{margin-left:auto;display:flex;gap:8px}.button{background:white;border:1px solid #dce3d7;color:var(--green);border-radius:9px;min-height:44px;padding:10px 15px;font-size:12px;font-weight:550;white-space:nowrap}.quiet{background:#f7f9f2}.primary{background:var(--green);color:white;border-color:var(--green)}.summary{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:18px;margin:22px 0}.summary-card{padding:24px 25px;border:1px solid var(--line);background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:10px;overflow:hidden;position:relative}.summary-card p{font-size:9px;letter-spacing:1.5px;font-weight:650;margin:0;color:#7a8874}.summary-card strong{font-size:27px;letter-spacing:-.8px;line-height:1.2;overflow-wrap:anywhere}.summary-card span{font-size:11px;color:var(--muted);line-height:1.5}.summary-card.total{background:var(--green);color:white;border-color:var(--green)}.summary-card.total p,.summary-card.total span{color:#c2d4c0}.summary-card.total strong{color:#e0edb6;font-size:34px}.summary-card.total:after{content:'↗';font-size:100px;color:#ffffff08;position:absolute;right:15px;top:14px;pointer-events:none}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}.entry{padding:24px}.panel-title{display:flex;gap:10px;align-items:center}.step{width:27px;height:27px;background:#eff5e7;border-radius:50%;display:grid;place-items:center;font-size:21px}h2{font-size:19px;letter-spacing:-.4px;margin:0;font-weight:650}.muted{font-size:11px;color:var(--muted);line-height:1.7}.entry>.muted{margin:12px 0 22px}label{display:block;font-size:12px;font-weight:600;margin:19px 0 8px}input,select{width:100%;background:#fbfcf8;color:var(--green);border:1px solid #dce3d7;border-radius:9px;padding:12px;font-size:14px;min-height:46px;min-width:0}input::placeholder{color:#95a08f}input[type=date],input[type=month]{appearance:none;-webkit-appearance:none}small{font-size:10px;color:var(--muted);display:block;margin-top:7px;line-height:1.5}.category-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;margin-bottom:8px}.category-heading label{margin:0}.text-button{border:0;background:transparent;color:#5e7855;font-size:11px;min-height:38px;padding:6px 0}.category-heading .text-button{font-size:10px;min-height:28px}.amount-field{display:flex;align-items:center;border:1px solid #dce3d7;background:#fbfcf8;border-radius:9px;padding-left:13px}.amount-field>span{color:#92a086;font-size:17px}.amount-field input{border:0;background:transparent;font-variant-numeric:tabular-nums}.save{width:100%;margin-top:13px;min-height:49px}.cancel{width:100%;margin-top:8px;border:0;color:var(--muted)}.error{font-size:11px;line-height:1.6;color:#af4b35;min-height:0}.device-note{padding-top:20px;border-top:1px solid var(--line);margin-top:23px;color:var(--muted);font-size:10px;line-height:1.8}.right-column{min-width:0;display:grid;gap:20px}.chart-panel{padding:24px}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-heading .eyebrow{font-size:8px;margin-bottom:8px}.pill{font-size:9px;color:#79916b;border:1px solid #e0e8d8;padding:6px 9px;border-radius:30px;white-space:nowrap}.chart-empty{padding:24px 0 12px;margin:0}.chart-row{margin-top:20px}.chart-row-head{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;margin-bottom:8px}.chart-row-head strong{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}.chart-row-head span:last-child{font-size:9px;color:var(--muted);margin-left:7px}.chart-row svg{display:block;width:100%;height:8px;border-radius:5px}.ledger{overflow:hidden}.ledger-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 24px 13px;gap:10px}.ledger-heading .eyebrow{font-size:8px;margin-bottom:8px}.ledger-heading .muted{margin:7px 0 0}.filters{padding:0 24px 18px;display:flex;gap:10px}.filters input{font-size:12px;flex:1}.filters select{font-size:11px;width:170px}.empty{text-align:center;border-top:1px solid var(--line);padding:40px 20px}.empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#f4f8ec;color:#8ca675;font-size:25px;margin:0 auto 16px}.empty h3{font-size:15px;font-weight:600;margin:0 0 9px}.empty p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#f5f7ef;text-align:left;text-transform:uppercase;font-size:8px;letter-spacing:1px;font-weight:550;color:#7c8874;padding:13px 12px;border-block:1px solid var(--line)}td{padding:17px 12px;border-bottom:1px solid #edf0e7;vertical-align:top;line-height:1.6}th:first-child,td:first-child{padding-left:24px}td.date{font-size:10px;white-space:nowrap;color:#7e887b}td.desc{overflow-wrap:anywhere;min-width:115px}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.badge{font-size:9px;background:#eef4e5;color:#65804e;padding:5px 8px;border-radius:5px;display:inline-block;overflow-wrap:anywhere;max-width:130px}.row-actions{display:flex}.icon-button{border:0;background:transparent;min-height:36px;min-width:31px;font-size:16px;color:#7c8e73;border-radius:6px}.icon-button:hover{background:#f2f6ea}.table-footer{padding:15px 24px;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:9px;color:var(--muted)}.table-footer strong{font-size:12px;color:var(--green)}.backup-note{display:flex;align-items:center;gap:17px;background:#eef2e6;border:1px solid #e1e7d7;border-radius:13px;padding:21px 24px;margin-top:25px}.backup-note>span{font-size:23px;color:#789063}.backup-note strong{font-size:11px;font-weight:600}.backup-note p{font-size:10px;color:var(--muted);line-height:1.7;margin:6px 0 0}.backup-note>.text-button{margin-left:auto;white-space:nowrap}footer{display:flex;justify-content:space-between;padding:28px 0 33px;color:#8d9984;font-size:9px;gap:20px}footer span:first-child{font-weight:650;letter-spacing:1.4px}dialog{width:calc(100% - 32px);max-width:440px;border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--green);box-shadow:0 20px 70px #0e291f25}dialog::backdrop{background:#193d3270}dialog>p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.danger{background:#ac4839;color:white;border-color:#ac4839}.export-option{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:1px solid var(--line);background:#fbfcf8;color:var(--green);border-radius:10px;padding:16px;margin-top:12px}.export-option strong{font-size:13px}.export-option span{font-size:11px;color:var(--muted)}.toast{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:14px 20px;line-height:1.5;font-size:12px;border-radius:11px;max-width:calc(100% - 24px);width:max-content;z-index:5;box-shadow:0 5px 25px #0002}.toast button{border:0;background:none;color:#dfedb4;margin-left:15px;text-decoration:underline;min-height:30px}.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}[hidden]{display:none!important}button:disabled{opacity:.45;cursor:default}
@media(max-width:1000px){header{padding:23px 25px}main{padding:0 25px}.workspace{grid-template-columns:290px minmax(0,1fr);gap:18px}.entry,.chart-panel{padding:21px}.summary-card{padding:22px 20px}.filters{flex-wrap:wrap}.filters select{width:100%}.intro-stamp{padding:0}.intro-stamp p{display:none}.summary-card strong{font-size:23px}.row-actions{flex-direction:column}.backup-note{flex-wrap:wrap}.backup-note>.text-button{margin-left:39px}}@media(max-width:760px){header{padding:19px 20px}.header-note{display:none}main{padding:0 18px}.intro{padding:30px 0 25px}.intro .eyebrow{font-size:7px;letter-spacing:1.25px}h1{font-size:36px;letter-spacing:-1.6px}.subtitle{font-size:11px;max-width:260px}.intro-stamp{display:none}.period-panel{padding:17px;flex-wrap:wrap;gap:10px}.month-choice{max-width:none;flex:1;min-width:160px}.month-choice select{font-size:16px}.transfer-actions{width:100%;margin:3px 0 0}.transfer-actions button{flex:1}.period-panel>.button{padding:10px;font-size:11px}.summary{grid-template-columns:1fr 1fr;gap:11px;margin:16px 0}.summary-card{padding:20px 16px;gap:9px;border-radius:13px}.summary-card.total{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 20px}.summary-card.total p{width:100%}.summary-card.total strong{font-size:35px}.summary-card.total span{margin-left:auto}.summary-card p{font-size:8px;letter-spacing:1px}.summary-card strong{font-size:21px}.summary-card span{font-size:10px}.workspace{grid-template-columns:1fr;gap:20px}.entry{padding:23px}.entry>.muted{margin-bottom:22px}input,select{font-size:16px}.category-heading .text-button{font-size:11px;min-height:38px}.chart-panel{padding:23px}.chart-heading h2{font-size:20px}.ledger-heading{padding-inline:20px}.filters{padding-inline:20px;flex-wrap:nowrap}.filters input{min-width:0}.filters select{width:135px;max-width:45%}.table-wrap table{min-width:580px}.row-actions{flex-direction:row}.backup-note{padding:18px;gap:12px}.backup-note>div{flex:1}.backup-note>.text-button{margin:0 0 0 35px;white-space:normal;text-align:left}.backup-note strong{font-size:11px}.backup-note p{font-size:10px}footer{font-size:8px;padding-bottom:max(28px,env(safe-area-inset-bottom))}.dialog-actions .button{font-size:12px}.chart-row{margin-top:18px}}
.table-wrap{position:relative;max-width:100%}.workspace>*{min-width:0}
