@font-face{font-family:"Baloo Chettan 2";src:url(/fonts/BalooChettan2-Variable.ttf) format("truetype");font-style:normal;font-weight:400 800;font-display:swap}:root{font-family:"Baloo Chettan 2",sans-serif;color:#252922;background:#f5f5f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#f5f5f2;--surface:#fff;--surface-soft:#fafaf8;--text:#252922;--muted:#858982;--line:#eceee8;--line-strong:#e1e4dc;--green:#315d48;--green-soft:#e9f1eb;--shadow:0 8px 28px rgba(35,45,34,.045)}:root[data-theme=dark],.auth-page[data-theme=dark]{color-scheme:dark;--bg:#171916;--surface:#20231f;--surface-soft:#242722;--text:#eeeee8;--muted:#a1a49a;--line:#30342d;--line-strong:#3a3f37;--green:#a7d1b5;--green-soft:#2b3c30;--shadow:0 10px 34px rgba(0,0,0,.18)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);transition:background .22s ease,color .22s ease}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;background:var(--bg)}.sidebar{width:248px;flex:none;min-height:100vh;background:var(--surface);border-right:1px solid var(--line);padding:27px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;transition:transform .24s ease,background .22s ease}.brand{display:flex;align-items:center;gap:10px;padding:0 12px;margin-bottom:45px}.brand-mark{width:35px;height:35px;border-radius:12px;background:#365c49;color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px #315d4825}.brand-mark span{font:800 27.6px "Baloo Chettan 2",sans-serif;letter-spacing:-2px;transform:translate(-1px,-1px)}.brand strong{display:block;font:800 20.4px "Baloo Chettan 2",sans-serif;letter-spacing:-.7px}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:1px;letter-spacing:.2px}.side-label{padding:0 13px;margin:0 0 11px;color:#a5a89f;font-size:10.8px;font-weight:700;letter-spacing:1.4px}.second-label{margin-top:32px}.nav-list{display:grid;gap:4px}.nav-item{border:0;background:none;color:#73786f;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 13px;border-radius:10px;font-size:14.4px;font-weight:500;transition:all .18s}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:var(--green-soft);color:var(--green);font-weight:700}.nav-item span{flex:1}.nav-item b{min-width:19px;height:19px;border-radius:7px;background:#e9d9bd;color:#74501f;display:grid;place-items:center;font-size:12px}.sidebar-spacer{flex:1}.privacy-card{margin:0 1px 15px;padding:12px 11px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;display:flex;gap:9px;color:var(--green);align-items:center}.privacy-card strong,.privacy-card span{display:block}.privacy-card strong{font-size:12px;color:var(--text)}.privacy-card span{font-size:10.8px;color:var(--muted);margin-top:3px}.profile{background:none;border:0;border-top:1px solid var(--line);padding:15px 3px 0;display:flex;align-items:center;gap:9px;text-align:left;color:var(--text)}.avatar,.top-avatar{width:31px;height:31px;border-radius:50%;background:#e4e7df;color:#59705f;display:grid;place-items:center;font-size:13.2px;font-weight:700;flex:none}.profile-copy{overflow:hidden;flex:1}.profile-copy strong,.profile-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy strong{font-size:12px}.profile-copy span{color:var(--muted);font-size:10.8px;margin-top:3px}.profile-out{color:var(--muted)}.main-content{width:calc(100% - 248px);min-height:100vh;margin-left:248px;display:flex;flex-direction:column}.topbar{height:66px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.4vw,70px);position:sticky;top:0;z-index:10}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:13.2px;color:var(--muted)}.breadcrumb .slash{color:#c9ccc5}.breadcrumb strong{font-size:13.2px;color:var(--text);font-weight:600}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{position:relative;width:34px;height:34px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;transition:.18s}.icon-button:hover{background:var(--surface);border-color:var(--line);color:var(--text)}.notification-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:#d68767;right:6px;top:6px;border:1px solid var(--bg)}.top-avatar{border:0;cursor:pointer}.mobile-menu,.scrim{display:none}.demo-banner{display:flex;align-items:center;gap:9px;padding:9px clamp(24px,4.4vw,70px);font-size:12px;color:#715921;background:#fbf3df;border-bottom:1px solid #efe5cb}.demo-banner svg{flex:none}.demo-banner button{margin-left:auto;border:0;background:none;color:#705625;font-size:12px;font-weight:700}.demo-banner button span{margin-left:5px}.notice{margin:15px clamp(24px,4.4vw,70px) 0;padding:11px 13px;border:1px solid #d8e5d8;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:13.2px;display:flex;justify-content:space-between;align-items:center}.notice button{border:0;background:none;color:inherit;display:grid;place-items:center}.page-body{width:min(100%,1210px);margin:0 auto;padding:42px clamp(24px,4.4vw,70px) 32px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.eyebrow{color:#92988c;font-size:10.8px;font-weight:700;letter-spacing:1.35px}.page-heading h1{margin:8px 0 6px;font:700 34.8px "Baloo Chettan 2",sans-serif;letter-spacing:-1.2px}.page-heading p{margin:0;color:var(--muted);font-size:14.4px}.heading-actions{display:flex;align-items:center;gap:9px}.month-picker{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--muted);height:37px}.month-picker input{width:130px;border:0;outline:0;background:none;color:var(--text);font-size:12px;font-weight:600}.month-picker svg:last-child{display:none}.year-picker input{width:72px;text-align:center;font-variant-numeric:tabular-nums}.primary-button{min-height:37px;border:1px solid #315d48;border-radius:10px;padding:0 13px;background:#315d48;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;box-shadow:0 3px 8px #315d4817;transition:transform .16s,background .16s}.primary-button:hover{transform:translateY(-1px);background:#284d3b}.primary-button:disabled{opacity:.52;cursor:not-allowed;transform:none}.primary-button span{margin-left:6px}.review-strip{width:100%;margin:0 0 16px;padding:13px 15px;border:1px solid #eddfc7;border-radius:12px;background:color-mix(in srgb,#fbf4e7 82%,var(--surface));display:flex;align-items:center;gap:12px;text-align:left;color:var(--text)}.review-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f1e7d4;color:#97743b}.review-strip strong,.review-strip small{display:block}.review-strip strong{font-size:13.2px}.review-strip small{margin-top:3px;color:var(--muted);font-size:12px}.review-link{margin-left:auto;color:#866a35;font-size:12px;font-weight:700}.review-link span{margin-left:5px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.metric-card{min-height:130px;padding:15px 16px 13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:500}.metric-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center}.metric-icon.green{background:#e8f1ea;color:#548264}.metric-icon.peach{background:#fbede5;color:#ba8061}.metric-icon.blue{background:#e9eff5;color:#6c8eaa}.metric-icon.purple{background:#eeecf5;color:#8172a4}.metric-value{margin:14px 0 5px;font:700 25.2px "Baloo Chettan 2",sans-serif;letter-spacing:-.8px}.metric-hint{color:#9a9d95;font-size:10.8px}.budget-metric .metric-value{margin:7px 0 9px}.progress-track{height:5px;border-radius:5px;background:var(--line);overflow:hidden}.progress-fill{height:100%;border-radius:5px;background:#83aa8e;transition:width .3s}.progress-fill.over{background:#d78969}.budget-metric .metric-hint{margin-top:8px}.content-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(250px,.92fr);gap:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.recent-panel,.categories-panel{min-height:310px;padding:17px 17px 13px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-heading h2{margin:0;font:700 15.6px "Baloo Chettan 2",sans-serif;letter-spacing:-.15px}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.text-button{padding:4px 0;border:0;background:none;color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}.text-button span{margin-left:5px}.small-more{width:28px;height:28px}.transaction-list{width:100%}.recent-panel .transaction-list{margin-top:13px}.transaction-row{min-height:62px;padding:10px 2px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.transaction-row:last-child{border-bottom:0}.transaction-symbol{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;font-size:19.2px}.transaction-main{min-width:0;flex:1}.transaction-title{display:flex;align-items:center;gap:7px;overflow:hidden;color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.transaction-sub{margin-top:4px;color:var(--muted);font-size:10.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-sub span{margin:0 3px;color:#c4c7bf}.source-chip{padding:2px 5px;border-radius:5px;background:var(--surface-soft);color:#92968c;font-size:8.4px;font-weight:600}.source-chip.wallet{background:#eef2ed;color:#63806a}.source-chip.invoice{background:#eef0f6;color:#777e9c}.transaction-amount{flex:none;font-size:12px;font-weight:700;white-space:nowrap}.transaction-amount.expense{color:#42463f}.transaction-amount.income{color:#538064}.dark .transaction-amount.expense{color:var(--text)}.category-bars{margin-top:24px;display:grid;gap:17px}.category-bar-row{display:grid;gap:7px}.bar-label{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10.8px}.category-dot{width:7px;height:7px;border-radius:3px}.bar-label strong{margin-left:auto;font-size:10.8px;font-weight:600}.bar-track{height:4px;background:var(--line);border-radius:5px;overflow:hidden}.bar-track div{height:100%;border-radius:5px}.category-footer{width:100%;margin-top:18px;padding:11px 0 1px;border:0;border-top:1px solid var(--line);background:none;color:var(--muted);display:flex;align-items:center;gap:7px;text-align:left;font-size:10.8px}.category-footer span{margin-left:auto;color:var(--green);font-size:15.6px}.footer{display:flex;align-items:center;justify-content:space-between;padding:15px clamp(24px,4.4vw,70px);border-top:1px solid var(--line);color:#a0a39c;font-size:10.8px}.footer span:last-child{display:flex;align-items:center;gap:5px}.demo-banner,.demo-banner button{color:#715921}.table-panel{padding:13px 16px 6px}.table-toolbar{display:flex;gap:9px;margin-bottom:6px}.search-box{min-height:35px;flex:1;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted)}.search-box input{width:100%;border:0;outline:0;background:none;color:var(--text);font-size:12px}.table-toolbar select,.transaction-row select,.rule-form select,.transaction-modal select{border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);padding:8px 10px;font-size:12px;outline:0}.table-panel .transaction-row{min-height:67px}.pending-row{background:color-mix(in srgb,#fbf4e7 54%,transparent);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:9px;border-bottom-color:transparent}.row-actions{flex:none;display:flex;align-items:center;gap:6px}.transaction-row select{max-width:142px;padding:7px 8px}.confirm-button{display:flex;align-items:center;gap:4px;border:0;border-radius:8px;padding:7px 9px;background:var(--green-soft);color:var(--green);font-size:10.8px;font-weight:700}.delete-button{width:30px;height:30px;color:#aaa}.delete-button:hover{color:#bd6e6e}.data-note{margin-top:14px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10.8px}.empty-state{min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-align:center}.empty-state div{width:38px;height:38px;border-radius:13px;background:var(--surface-soft);display:grid;place-items:center;color:#a0aa9b}.planning-panel{padding:18px}.planning-header,.planning-row{display:grid;grid-template-columns:1.2fr 1fr .85fr 1fr;align-items:center;gap:16px}.planning-header{padding:13px 2px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10.8px;font-weight:600}.planning-row{min-height:56px;border-bottom:1px solid var(--line);font-size:12px}.planning-row:last-child{border-bottom:0}.planning-cat{display:flex;align-items:center;gap:8px;font-weight:600}.planning-cat i{width:8px;height:8px;border-radius:3px}.budget-editor{display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.budget-editor input{min-width:0;width:75px;border:0;outline:0;background:none;color:var(--text);font-size:12px}.budget-editor input::placeholder{color:var(--text);opacity:.9}.save-budget{opacity:0;border:0;background:none;color:var(--green);font-size:9.6px;font-weight:700;transition:opacity .15s}.budget-editor:focus-within .save-budget,.budget-editor:hover .save-budget{opacity:1}.actual-cell{color:var(--text);font-weight:600}.planning-progress{display:flex;align-items:center;gap:7px}.planning-progress .progress-track{flex:1}.planning-progress small{width:40px;color:var(--muted);font-size:9.6px;text-align:right}.category-page-grid{grid-template-columns:.9fr 1.5fr;align-items:start}.category-page-grid .panel{padding:17px}.category-pills{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px}.category-pill{min-width:0;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:9px}.category-pill>span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:14.4px}.category-pill strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10.8px;font-weight:600}.rule-form{display:grid;grid-template-columns:1fr .8fr;gap:10px;margin-top:18px}.rule-form label,.transaction-modal label,.auth-card label{display:grid;gap:6px;color:var(--muted);font-size:10.8px;font-weight:600}.rule-form input,.transaction-modal input,.auth-card input{height:37px;min-width:0;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);padding:0 10px;font-size:12px;outline:none}.rule-form input:focus,.rule-form select:focus,.transaction-modal input:focus,.transaction-modal select:focus,.auth-card input:focus{border-color:#9bb39e;box-shadow:0 0 0 3px #7ca18017}.rule-form select{min-height:37px}.rule-form .primary-button{grid-column:1/-1;justify-self:start}.rule-explainer{margin-top:14px;padding:11px;border-radius:9px;background:var(--green-soft);color:var(--green);display:flex;align-items:flex-start;gap:8px;font-size:10.8px;line-height:1.55}.rule-explainer svg{flex:none;margin-top:1px}.rules-list{margin-top:12px}.rule-row{min-height:38px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10.8px}.rule-row:last-child{border-bottom:0}.rule-row strong,.rule-match{color:var(--text);font-weight:600}.demo-only{margin-left:auto;font-size:9.6px}.rules-empty{padding:14px 0;color:var(--muted);font-size:10.8px;line-height:1.5}.android-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.android-hero{padding:24px;overflow:hidden;position:relative;background:linear-gradient(145deg,var(--surface) 65%,var(--green-soft))}.android-orb{width:54px;height:54px;margin-bottom:20px;display:grid;place-items:center;border-radius:18px;background:var(--green-soft);color:var(--green)}.android-hero h2{margin:9px 0 11px;font:700 24px/1.38 "Baloo Chettan 2",sans-serif;letter-spacing:-.6px}.android-hero p{max-width:380px;margin:0 0 17px;color:var(--muted);font-size:12px;line-height:1.7}.android-actions{display:flex;flex-wrap:wrap;gap:9px}.android-actions .primary-button{text-decoration:none}.android-hero small{display:block;margin-top:10px;color:var(--muted);font-size:9.6px}.steps-panel{padding:20px}.steps-list{display:grid;gap:17px;margin-top:22px}.step-row{display:flex;gap:12px}.step-row>span{flex:none;width:27px;height:27px;border-radius:9px;background:var(--surface-soft);display:grid;place-items:center;color:var(--green);font-size:10.8px;font-weight:700}.step-row strong{font-size:12px}.step-row p{margin:4px 0 0;color:var(--muted);font-size:10.8px;line-height:1.5}.privacy-callout{margin-top:21px;padding:10px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:flex-start;gap:8px;color:var(--green);font-size:10.8px;line-height:1.55}.privacy-callout svg{flex:none}.settings-panel{padding:0 19px}.setting-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child strong,.setting-row>div:first-child span{display:block}.setting-row strong{font-size:13.2px}.setting-row>div:first-child span{margin-top:5px;color:var(--muted);font-size:10.8px}.theme-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;gap:2px}.theme-toggle button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:6px 9px;display:flex;align-items:center;gap:5px;font-size:10.8px}.theme-toggle button.selected{background:var(--surface-soft);color:var(--text);box-shadow:0 1px 3px #00000010}.status-pill{padding:5px 8px;border-radius:7px;background:#f5eee4;color:#94703b;font-size:9.6px;font-weight:700}.status-pill.ok{background:var(--green-soft);color:var(--green)}.setting-shield{color:var(--green)}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#12151075;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px}.transaction-modal{width:min(100%,460px);max-height:min(92vh,710px);overflow:auto;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 24px 80px #0004;display:grid;gap:13px}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1px}.modal-heading h2{margin:5px 0 0;font:700 20.4px "Baloo Chettan 2",sans-serif;letter-spacing:-.4px}.type-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:9px;background:var(--surface-soft)}.type-switch button{padding:8px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.type-switch button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000000e}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suggestion{margin-top:-6px;display:flex;align-items:center;gap:5px;color:var(--green);font-size:10.8px}.optional{font-weight:400;color:#aaa}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.secondary-button{min-height:37px;border:1px solid var(--line-strong);border-radius:9px;padding:0 13px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600}.auth-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;padding:24px clamp(24px,6vw,90px)}.auth-top{display:flex;align-items:center;justify-content:space-between}.auth-top .brand{margin:0;padding:0}.auth-card{width:min(100%,392px);margin:auto;transform:translateY(-10px)}.auth-icon{width:47px;height:47px;display:grid;place-items:center;margin-bottom:25px;border-radius:15px;background:var(--green-soft);color:var(--green)}.auth-card h1{margin:10px 0 9px;font:700 32.4px/1.24 "Baloo Chettan 2",sans-serif;letter-spacing:-1px}.auth-card>p{margin:0 0 23px;color:var(--muted);font-size:13.2px;line-height:1.6}.auth-card form{display:grid;gap:13px}.auth-card input{height:42px;font-size:13.2px}.auth-submit{width:100%;min-height:42px;margin-top:5px;justify-content:center;font-size:12px}.auth-submit span{margin-left:auto}.auth-mode{border:0;background:none;color:var(--green);font-size:10.8px;font-weight:600;padding:5px}.auth-benefits{display:grid;gap:11px;margin:23px 0;color:var(--text);font-size:12px}.auth-benefits span{display:flex;align-items:center;gap:8px}.auth-benefits svg{color:var(--green)}.auth-setup{margin-top:14px;color:var(--muted);font-size:10.8px;line-height:1.5;text-align:center}.auth-notice{color:#a84a42;font-size:12px}.auth-security{margin-top:23px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:10.8px}.auth-bottom{padding:14px 0 0;text-align:center;color:#a1a49c;font-size:10.8px}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.recent-panel,.categories-panel{min-height:auto}.category-bars{grid-template-columns:1fr 1fr;column-gap:24px}.category-footer{margin-top:12px}}@media(max-width:760px){.sidebar{transform:translate(-100%);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:12px 0 30px #0002}.scrim{display:block;position:fixed;inset:0;z-index:19;border:0;background:#10130f70}.main-content{width:100%;margin-left:0}.mobile-menu{display:grid}.topbar{height:58px;padding:0 16px;gap:10px}.breadcrumb{margin-right:auto}.breadcrumb>span:first-child,.breadcrumb .slash{display:none}.top-actions{gap:4px}.page-body{padding:26px 16px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading h1{font-size:30px}.page-heading p{max-width:350px;line-height:1.5}.heading-actions{width:100%}.heading-actions .month-picker{flex:1}.heading-actions .month-picker input{flex:1;width:0}.primary-button{white-space:nowrap}.demo-banner{padding:9px 15px;align-items:flex-start;line-height:1.5}.demo-banner button{white-space:nowrap}.notice{margin:12px 16px 0}.metric-grid{gap:8px}.metric-card{padding:12px;min-height:116px}.metric-value{font-size:21.6px}.metric-top{font-size:10.8px}.metric-icon{width:26px;height:26px}.content-grid{gap:10px}.recent-panel,.categories-panel{padding:14px}.footer{padding:14px 16px}.footer span:first-child{max-width:55%}.table-panel{padding:10px}.transaction-row{gap:8px}.table-panel .transaction-row{flex-wrap:wrap}.table-panel .transaction-main{min-width:calc(100% - 104px)}.row-actions{width:100%;margin-left:42px;justify-content:flex-start}.transaction-row select{flex:1;max-width:unset}.transaction-amount{font-size:10.8px}.planning-panel{padding:13px;overflow-x:auto}.planning-header,.planning-row{min-width:600px}.category-page-grid,.android-layout{grid-template-columns:1fr}.category-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-form{grid-template-columns:1fr}.rule-form .primary-button{grid-column:1}.android-hero{padding:19px}.setting-row{min-height:82px}.setting-row>div:first-child span{max-width:220px;line-height:1.45}.auth-page{padding:20px}.auth-card{transform:translateY(-2px)}.auth-card h1{font-size:28.8px}}@media(max-width:420px){.metric-grid{grid-template-columns:1fr 1fr}.metric-value{font-size:19.2px}.heading-actions .primary-button{padding:0 9px;font-size:10.8px}.month-picker{gap:5px;padding:8px}.category-bars{grid-template-columns:1fr}.demo-banner{flex-wrap:wrap}.demo-banner button{margin-left:24px}.review-strip{padding:10px}.review-strip small{max-width:210px;line-height:1.4}.review-link{font-size:10.8px}}.brand-mark{overflow:hidden;padding:0;background:none;box-shadow:none;border-radius:10px}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}.charts-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(400px,1.5fr);gap:14px;margin-top:14px}.chart-panel{min-height:235px;padding:17px;overflow:hidden}.chart-period{color:var(--text);font:700 15.6px "Baloo Chettan 2",sans-serif;letter-spacing:-.2px}.donut-layout{min-height:163px;display:flex;align-items:center;justify-content:center;gap:23px;padding:12px 0 0}.donut{width:148px;height:148px;flex:none;display:grid;place-items:center;border-radius:50%;position:relative}.donut:before{content:"";position:absolute;inset:19px;border-radius:50%;background:var(--surface)}.donut-center{position:relative;z-index:1;display:grid;text-align:center;gap:3px}.donut-center strong{font-size:22.8px;font-weight:700}.donut-center span{font-size:9.6px;color:var(--muted)}.donut-legend{flex:1;min-width:0;display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:7px minmax(40px,1fr) auto;gap:7px;align-items:center;font-size:10.8px}.legend-row>span:first-child{width:7px;height:7px;border-radius:3px}.legend-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.legend-row strong{font-size:10.8px;font-weight:600}.chart-legend{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:9.6px;white-space:nowrap}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{display:block;width:7px;height:7px;border-radius:3px}.plan-key{background:#d7ddcf}.actual-key{background:#659476}.monthly-chart-scroll{margin-top:15px;overflow-x:auto;scrollbar-width:thin}.monthly-chart{min-width:540px;height:142px;padding:8px 7px 0;display:flex;align-items:stretch;justify-content:space-between;background:repeating-linear-gradient(to bottom,transparent 0,transparent 34px,var(--line) 35px,var(--line) 36px);border-bottom:1px solid var(--line-strong)}.month-column{flex:1;min-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;border-radius:8px 8px 0 0}.month-column.selected{background:color-mix(in srgb,var(--green-soft) 45%,transparent)}.month-bars{height:118px;display:flex;align-items:flex-end;gap:3px}.month-bar{width:9px;max-height:115px;border-radius:4px 4px 1px 1px;transition:height .2s ease}.month-bar.planned{background:#d7ddcf}.month-bar.actual{background:#659476}.month-column small{padding-bottom:6px;color:var(--muted);font-size:9.6px;text-transform:capitalize}.chart-axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:9.6px}.import-button{min-height:35px;display:flex;align-items:center;gap:6px;padding:0 10px;white-space:nowrap;font-size:10.8px}.add-category-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:14px}.add-category-form input{grid-column:1/-1;height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:0 9px;font-size:10.8px;outline:none}.add-category-form select{min-height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:0 8px;font-size:10.8px}.add-category-form .primary-button{min-height:34px;padding:0 8px;font-size:9.6px}.add-category-form .primary-button svg{width:13px}.comparison-scroll{margin-top:15px;overflow:auto;max-height:58vh}.comparison-table{min-width:900px;width:100%;border-collapse:separate;border-spacing:0;font-size:10.8px}.comparison-table th,.comparison-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.comparison-table thead th{position:sticky;top:0;z-index:2;background:var(--surface);color:var(--muted);font-size:9.6px;font-weight:600;text-transform:capitalize}.comparison-table thead th:first-child,.comparison-table tbody th{position:sticky;left:0;z-index:3;background:var(--surface);text-align:left}.comparison-table thead th:first-child{z-index:4}.comparison-table tbody tr:hover{background:var(--surface-soft)}.report-category{display:flex;align-items:center;gap:7px;font-size:10.8px;font-weight:600}.report-category i,.report-selection i{width:7px;height:7px;border-radius:3px;flex:none}.comparison-cell{border:0;border-radius:6px;padding:5px 7px;background:transparent;color:var(--text);font-size:10.8px}.comparison-cell:hover,.comparison-cell.selected{background:var(--green-soft);color:var(--green);font-weight:700}.comparison-cell.zero{color:#b9bcb5}.annual-total{color:var(--text);font-weight:700}.report-panel{padding:17px}.report-detail{margin-top:14px;padding:17px}.report-selection{display:flex;align-items:center;gap:7px}.report-selection h2{margin:0}.manual-controls-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(400px,1.22fr);gap:14px;align-items:start}.control-form-panel{padding:18px}.control-form{display:grid;gap:12px;margin-top:17px}.control-form label,.classification-select-label{display:grid;gap:6px;color:var(--muted);font-size:10.8px;font-weight:600}.control-form input,.control-form select,.classification-select-label select{height:36px;min-width:0;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);padding:0 9px;font-size:12px;outline:none}.control-form input:focus,.control-form select:focus,.classification-select-label select:focus{border-color:#9bb39e;box-shadow:0 0 0 3px #7ca18017}.control-form .form-two{display:grid;grid-template-columns:1fr .75fr;gap:9px}.control-form .primary-button{justify-self:start}.control-isolation{margin-top:15px;padding:10px;border-radius:9px;background:var(--surface-soft);color:var(--muted);display:flex;align-items:flex-start;gap:7px;font-size:9.6px;line-height:1.5}.control-isolation svg{flex:none;color:var(--green)}.controls-list{display:grid;gap:12px}.control-card{padding:16px}.control-card-head{display:flex;align-items:center;gap:10px}.control-type-icon{width:35px;height:35px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.control-title{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.control-title h2{margin:0;font-size:13.2px}.control-title strong{font-size:14.4px;white-space:nowrap}.control-kind{display:block;margin-top:4px;color:var(--muted);font-size:9.6px}.control-progress{margin:14px 0 7px}.control-progress-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--muted);font-size:9.6px}.control-progress .progress-track{height:5px}.control-note{margin:9px 0;color:var(--muted);font-size:9.6px}.installment-list{margin-top:10px;max-height:420px;overflow:auto}.installment-row{min-height:42px;padding:5px 3px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.installment-row:last-child{border-bottom:0}.installment-number{width:22px;height:22px;border-radius:7px;background:var(--surface-soft);display:grid;place-items:center;color:var(--muted);font-size:9.6px}.installment-date{flex:1;color:var(--muted);font-size:9.6px}.installment-row>strong{font-size:10.8px}.installment-status{min-width:83px;min-height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--muted);font-size:9.6px}.installment-status.paid{border-color:transparent;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;gap:4px}.empty-controls{min-height:230px}.empty-controls .empty-state small{max-width:280px;line-height:1.5}.classification-backdrop{position:fixed;inset:0;z-index:80;background:#131610a8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}.classification-dialog{width:min(100%,450px);padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 28px 100px #0005}.classification-icon{width:42px;height:42px;margin-bottom:19px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.classification-dialog h2{margin:8px 0;font:700 25.2px/1.3 "Baloo Chettan 2",sans-serif;letter-spacing:-.6px}.classification-dialog>p{margin:0 0 17px;color:var(--muted);font-size:12px;line-height:1.6}.classification-transaction{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.classification-transaction strong,.classification-transaction span{display:block}.classification-transaction strong{font-size:12px}.classification-transaction span{margin-top:4px;color:var(--muted);font-size:9.6px}.classification-transaction b{white-space:nowrap;font-size:13.2px}.classification-select-label select{height:41px}.classification-submit{width:100%;height:41px;margin-top:13px}.classification-footer{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:13px;color:var(--muted);font-size:9.6px;text-align:center}.classification-footer svg{flex:none}.monthly-chart{position:relative}.planned-line-chart{position:absolute;z-index:2;top:8px;left:7px;width:calc(100% - 14px);height:118px;overflow:visible;pointer-events:none}.planned-line-chart polyline{fill:none;stroke:#9eaa99;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.planned-line-chart circle{fill:var(--surface);stroke:#82917d;stroke-width:2;vector-effect:non-scaling-stroke}.chart-legend .plan-key{width:12px;height:0;border-top:2px solid #9eaa99;border-radius:0}.edit-button{width:30px;height:30px;color:#889287}.edit-button:hover{color:var(--green)}.rule-edit-pattern,.rule-edit-category{min-width:0;height:33px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:0 8px;font:inherit}.rule-edit-pattern{flex:1}.rule-edit-category{flex:0 1 135px}.rule-action{width:30px;height:30px;flex:none;color:var(--green)}.rule-action:hover{background:var(--green-soft)}.rule-delete{color:#aa7771}.rule-row.editing{gap:6px}.rule-row.editing>span{flex:none}.monthly-chart{height:184px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,var(--line) 40px,var(--line) 41px)}.planned-line-chart,.month-bars{height:160px}.month-bar{width:14px;max-height:157px}@media(min-width:761px){.monthly-chart{min-width:0}.monthly-chart-scroll{overflow-x:hidden}}@media(max-width:1300px){.charts-grid{grid-template-columns:minmax(0,1fr)}.chart-panel{min-height:260px}}@media(max-width:760px){.monthly-chart{min-width:620px}.monthly-chart-scroll{overflow-x:auto}}@media(min-width:761px){.side-label{font-size:12px}.nav-item{font-size:15.6px}.brand small,.privacy-card strong,.profile-copy strong{font-size:13.2px}.privacy-card span,.profile-copy span{font-size:12px}.breadcrumb,.breadcrumb strong{font-size:14.4px}.demo-banner,.demo-banner button{font-size:13.2px}.notice{font-size:14.4px}.eyebrow{font-size:12px}.page-heading p{font-size:15.6px}.month-picker input,.primary-button,.metric-top{font-size:13.2px}.metric-hint{font-size:12px}.panel-heading h2{font-size:16.8px}.panel-heading p,.text-button,.transaction-title{font-size:13.2px}.transaction-sub{font-size:12px}.transaction-amount{font-size:13.2px}.bar-label,.bar-label strong,.category-footer,.chart-legend{font-size:12px}.donut-center span,.legend-row,.legend-row strong,.month-column small,.chart-axis{font-size:10.8px}.table-toolbar select,.transaction-row select,.search-box input,.comparison-table,.comparison-cell{font-size:13.2px}.comparison-table thead th{font-size:10.8px}.report-category{font-size:12px}.planning-header,.planning-row{font-size:13.2px}.control-form label,.classification-select-label{font-size:12px}.control-form input,.control-form select,.classification-select-label select{font-size:13.2px}.control-title h2{font-size:14.4px}.control-title strong{font-size:15.6px}.control-kind,.control-progress-top,.control-note,.installment-date{font-size:10.8px}.installment-row>strong{font-size:12px}.classification-dialog>p{font-size:13.2px}.classification-transaction strong{font-size:13.2px}.classification-transaction span,.classification-footer{font-size:10.8px}}@media(max-width:1100px){.charts-grid{grid-template-columns:1fr}.chart-panel{min-height:220px}.manual-controls-grid{grid-template-columns:1fr}}@media(max-width:760px){.donut-layout{justify-content:flex-start}.donut{width:130px;height:130px}.donut-legend{max-width:260px}.chart-panel{padding:14px}.comparison-scroll{max-height:55vh}.report-panel,.report-detail{padding:13px}.manual-controls-grid{gap:10px}.control-form-panel,.control-card{padding:14px}.classification-dialog{padding:20px}}.auth-redesign{background:radial-gradient(ellipse at 18% 40%,#dbe8d780,transparent 53%),var(--bg);padding:28px 5.5vw 20px}.auth-wordmark{color:var(--text);text-decoration:none;font:750 43px/1 "Baloo Chettan 2",sans-serif;letter-spacing:-2px}.auth-wordmark span{font:12px sans-serif;vertical-align:top;margin-left:5px;letter-spacing:0}.auth-top-right{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:12px}.auth-layout{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(35px,7vw,110px);align-items:center;padding:50px 0}.auth-kicker{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}.auth-kicker>span{width:7px;height:7px;background:#6c966d;border-radius:50%}.auth-mascot{height:260px;position:relative;display:flex;align-items:center;padding-left:36px;margin:20px 0 16px}.auth-mascot>img{width:215px;height:215px;border-radius:48px;transform:rotate(-6deg);box-shadow:0 24px 42px #243c2526;z-index:1}.auth-orbit{position:absolute;width:300px;height:245px;left:-5px;border:1px solid #7a9b7040;border-radius:50%;transform:rotate(-23deg)}.auth-orbit:after{content:"";position:absolute;inset:18px -16px;border:1px solid #7a9b7025;border-radius:50%}.auth-mascot-note{position:absolute;left:185px;bottom:20px;z-index:2;display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:30px;padding:12px 16px;box-shadow:0 8px 20px #18351e0c;font-size:12px;white-space:nowrap}.auth-mascot-note svg{color:var(--green)}.auth-story h1{font:650 clamp(36px,3.9vw,52px)/1.12 "Baloo Chettan 2",sans-serif;letter-spacing:-1.8px;margin:22px 0 16px}.auth-story h1 em{font-style:normal;color:var(--green)}.auth-story>p{font-size:14px;line-height:1.8;color:var(--muted)}.auth-story-features{display:flex;gap:17px;margin-top:27px}.auth-story-features>span{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.auth-story-features svg{color:var(--green)}.auth-redesign .auth-card{width:100%;margin:0;transform:none;background:var(--surface);padding:36px;border:1px solid var(--line);border-radius:26px;box-shadow:0 22px 70px #253a2210}.auth-card-heading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1.5px}.auth-welcome-icon{width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--green)}.auth-card h2{font:650 29px/1.2 "Baloo Chettan 2",sans-serif;letter-spacing:-.7px;margin:24px 0 9px}.auth-redesign .auth-card>p{font-size:13px;margin-bottom:25px}.auth-redesign .auth-card label{font-size:12px;gap:8px;color:var(--text)}.auth-redesign .auth-card input{width:100%;height:48px;border-radius:11px;background:var(--bg);font-size:13px;padding:0 14px}.auth-password{position:relative}.auth-password input{padding-right:72px!important}.auth-password button{position:absolute;right:11px;top:0;height:48px;background:none;border:0;color:var(--muted);font-size:11px}.auth-forgot{justify-self:end;border:0;background:none;color:var(--green);padding:0;font-size:12px}.auth-redesign .auth-submit{min-height:49px;border-radius:11px;background:#345d43;color:#fff;display:flex;justify-content:space-between;padding:0 17px;font-size:13px;box-shadow:0 5px 12px #345d4318}.auth-redesign .auth-submit:hover{background:#284c35}.auth-redesign .auth-mode{font-size:12px;margin-top:5px}.auth-redesign .auth-security{font-size:11px;gap:10px;line-height:1.5;padding-top:22px;margin-top:22px}.auth-security strong{font-weight:500;color:var(--text)}.auth-preview-link{display:block;margin:18px auto 0;border:0;background:none;color:var(--muted);font-size:11px}.auth-recovery-help{color:var(--muted);font-size:11px;line-height:1.5}.auth-redesign .auth-bottom{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:18px}.auth-redesign[data-theme=dark]{background:radial-gradient(ellipse at 15% 40%,#344b3040,transparent 55%),var(--bg)}@media(max-width:850px){.auth-layout{gap:30px;grid-template-columns:1fr 1fr}.auth-story-features{flex-direction:column;gap:10px}.auth-redesign .auth-card{padding:25px}.auth-mascot-note{left:105px;font-size:10px}.auth-story h1{font-size:37px}}@media(max-width:620px){.auth-redesign{padding:22px}.auth-top-right>span{display:none}.auth-layout{grid-template-columns:1fr;padding:26px 0;gap:26px;width:min(420px,100%)}.auth-story{text-align:center}.auth-kicker{justify-content:center;font-size:8px;letter-spacing:1.2px}.auth-mascot{height:170px;justify-content:center;padding:0;margin:12px 0}.auth-mascot>img{height:145px;width:145px;border-radius:32px}.auth-orbit{width:210px;height:155px;left:50%;margin-left:-105px}.auth-mascot-note{left:50%;bottom:-2px;padding:8px 12px}.auth-story h1{font-size:35px;margin:22px 0 8px}.auth-story>p{font-size:12px}.auth-story-features{display:none}.auth-redesign .auth-card{padding:26px}.auth-card h2{font-size:27px;margin-top:19px}.auth-redesign .auth-bottom{justify-content:center}.auth-bottom>span:last-child{display:none}}.auth-redesign{--bg:#E8DCC7;--surface:#dcd2bc;--surface-soft:#D4B895;--text:#303c2d;--muted:#58644e;--line:#606c3830;--line-strong:#606c3860;--green:#606C38;--green-soft:#8B9D8340;background:#e8dcc7;position:relative;isolation:isolate}.auth-redesign:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23606C38' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.auth-redesign[data-theme=dark]{--bg:#303b2b;--surface:#3c4835;--text:#E8DCC7;--muted:#c5c5a5;--line:#8B9D8350;--line-strong:#8B9D83;--green:#D4B895;--green-soft:#8B9D8340;background:#303b2b}.auth-redesign,.auth-redesign .auth-wordmark,.auth-redesign h1,.auth-redesign h2{font-family:"Baloo Chettan 2",sans-serif}.auth-redesign .auth-wordmark{font-weight:700;letter-spacing:-2px}.auth-story h1{line-height:1.16;font-weight:500;letter-spacing:-2px;font-size:clamp(38px,4.4vw,60px)}.auth-story h1 em{font-style:italic}.auth-redesign .auth-card{border-radius:28px;background:var(--surface);box-shadow:0 22px 70px #303c2d15;padding:40px}.auth-redesign .auth-card h2{font-size:30px;font-weight:500}.auth-card-heading{font-size:12px;letter-spacing:0;font-weight:500}.auth-redesign .auth-welcome-icon{border-radius:16px}.auth-redesign .auth-card input{border-radius:16px;background:var(--bg)}.auth-redesign .auth-submit{border-radius:16px;background:#606c38;color:#e8dcc7;transition:background .35s ease,transform .35s ease}.auth-redesign .auth-submit:hover{background:#4b572b;transform:translateY(-1px)}.auth-mascot{height:285px;margin-top:0}.auth-mascot>img{width:255px;height:255px;border-radius:32px;transform:none;box-shadow:0 24px 45px #303c2d25;animation:julius-breathe 7s ease-in-out infinite}.auth-orbit{width:330px;height:265px;border-color:#606c3850}.auth-orbit:after{border-color:#606c3830}.auth-story-features{gap:15px}.auth-top-right{font-size:12px}.auth-redesign .auth-notice{color:var(--text);padding:12px;background:var(--green-soft);border-radius:16px;line-height:1.5}.auth-redesign .auth-card input:focus{outline:2px solid var(--green);outline-offset:2px}.auth-redesign button:focus-visible{outline:2px solid var(--green);outline-offset:4px}@keyframes julius-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.auth-mascot>img{animation:none}.auth-redesign .auth-submit{transition:none}}@media(max-width:850px){.auth-redesign .auth-card{padding:28px}.auth-mascot>img{width:220px;height:220px}.auth-orbit{width:275px;height:245px}.auth-story h1{font-size:43px}}@media(max-width:620px){.auth-mascot{height:180px}.auth-mascot>img{height:160px;width:160px}.auth-orbit{width:220px;height:175px;margin-left:-110px}.auth-story h1{font-size:38px;letter-spacing:-1.3px}.auth-redesign .auth-card{padding:26px}.auth-redesign .auth-card h2{font-size:28px}}.android-download{color:var(--green);font-weight:600;text-decoration:none}.android-download:hover{text-decoration:underline}:root{--bg:#E8DCC7;--surface:#DED2BB;--surface-soft:#D4B895;--text:#303C2D;--muted:#58644E;--line:#606C3830;--line-strong:#606C3860;--green:#606C38;--green-soft:#8B9D8340;--shadow:0 16px 40px #303C2D10}:root[data-theme=dark]{--bg:#303B2B;--surface:#3C4835;--surface-soft:#46543C;--text:#E8DCC7;--muted:#C5C5A5;--line:#8B9D8350;--line-strong:#8B9D83;--green:#D4B895;--green-soft:#8B9D8340;--shadow:0 16px 42px #17211830}.app-shell{position:relative;isolation:isolate}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23606C38' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.sidebar{width:268px;padding:30px 18px 20px;background:var(--surface);border-color:var(--line)}.main-content{width:calc(100% - 268px);margin-left:268px}.sidebar .brand{gap:13px;padding:2px 12px 19px;margin-bottom:24px;border-bottom:1px solid var(--line)}.sidebar .brand-mark{width:46px;height:46px;border-radius:15px;flex:none;box-shadow:0 8px 20px #17211824}.sidebar .brand-mark img{border-radius:15px}.sidebar .brand strong{font-size:26px;line-height:1;letter-spacing:-1px}.sidebar .brand small{font-size:11px;letter-spacing:.3px}.side-label,.eyebrow{color:var(--muted)}.side-label{padding-left:15px;font-size:10px;letter-spacing:1.5px}.nav-list{gap:5px}.nav-item{min-height:43px;padding:10px 14px;border-radius:15px;color:var(--muted);font-size:13px}.nav-item svg{flex:none}.nav-item:hover{background:var(--green-soft);color:var(--text)}.nav-item.active{background:var(--green-soft);color:var(--text);box-shadow:inset 3px 0 var(--green)}.nav-item.active svg{color:var(--green)}.nav-item b,.status-pill{background:var(--surface-soft);color:var(--text)}.privacy-card{padding:15px;border-radius:18px;background:var(--green-soft);border-color:var(--line)}.privacy-card strong,.profile-copy strong{color:var(--text)}.avatar,.top-avatar{background:var(--green-soft);color:var(--text)}.profile{padding-top:17px}.topbar{height:72px;background:color-mix(in srgb,var(--bg) 90%,transparent);border-color:var(--line)}.breadcrumb .slash{color:var(--muted)}.topbar .icon-button,.top-avatar{width:38px;height:38px;border-radius:13px}.topbar .icon-button:hover,.top-avatar:hover{background:var(--green-soft);color:var(--text)}.page-body{padding-top:48px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:39px;line-height:1.15;font-weight:600;letter-spacing:-1.3px}.page-heading p{font-size:14px;line-height:1.55}.primary-button{min-height:42px;padding:0 16px;border-color:#606c38;border-radius:14px;background:#606c38;color:#e8dcc7;box-shadow:0 6px 15px #1721181a}.primary-button:hover{background:#4b572b}.icon-button,.text-button,.category-footer,.auth-mode{color:var(--green)}.month-picker,.search-box,.budget-editor,.theme-toggle{border-color:var(--line-strong);border-radius:14px;background:var(--surface)}.panel,.metric-card{border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.metric-grid,.content-grid,.charts-grid,.manual-controls-grid{gap:16px}.metric-card{min-height:148px;padding:19px}.metric-grid .metric-card:first-child{background:color-mix(in srgb,var(--surface) 72%,var(--green-soft))}.metric-value{font-size:30px;line-height:1.1;margin-top:21px;color:var(--text)}.metric-top,.metric-hint,.panel-heading p{color:var(--muted)}.metric-icon,.transaction-symbol,.review-icon,.control-type-icon,.step-row>span,.empty-state div{border-radius:13px;background:var(--green-soft);color:var(--green)}.metric-icon.green,.metric-icon.peach,.metric-icon.blue,.metric-icon.purple{background:var(--green-soft);color:var(--green)}.panel-heading h2,.chart-period{font-size:18px}.recent-panel,.categories-panel,.chart-panel,.report-panel,.report-detail,.planning-panel,.control-form-panel,.control-card{padding:22px}.transaction-row{min-height:68px}.transaction-amount.expense,.transaction-amount.income{color:var(--text)}.transaction-amount.income{color:var(--green)}.transaction-sub span,.source-chip{color:var(--muted)}.source-chip,.source-chip.wallet,.source-chip.invoice{background:var(--green-soft);color:var(--text);border-radius:8px}.review-strip,.pending-row{border-color:var(--line);background:var(--green-soft);border-radius:16px}.review-icon,.review-link{color:var(--green)}.demo-banner{color:var(--text);background:var(--green-soft);border-color:var(--line)}.demo-banner button,.demo-banner svg{color:var(--green)}.notice,.rule-explainer,.privacy-callout,.control-isolation{border-color:var(--line);background:var(--green-soft);color:var(--text);border-radius:15px}.table-panel,.settings-panel,.steps-panel,.category-page-grid .panel{padding:20px}.table-toolbar select,.transaction-row select,.rule-form select,.transaction-modal select,.control-form select,.classification-select-label select,.add-category-form select,.rule-form input,.transaction-modal input,.control-form input,.add-category-form input,.rule-edit-pattern,.rule-edit-category{border-radius:13px;background:var(--bg);color:var(--text)}.rule-form input:focus,.transaction-modal input:focus,.control-form input:focus,.add-category-form input:focus,.search-box:focus-within,.budget-editor:focus-within{outline:2px solid var(--green);outline-offset:2px;box-shadow:none}.category-pill{min-height:42px;border-radius:13px;background:var(--bg)}.category-pill>span{border-radius:10px}.theme-toggle button,.type-switch button,.installment-status,.status-pill{border-radius:11px}.theme-toggle button.selected,.type-switch button.selected{background:var(--green-soft);color:var(--text)}.comparison-table thead th,.comparison-table tbody th{background:var(--surface)}.comparison-cell.zero{color:var(--muted)}.report-panel+.report-panel{margin-top:16px}.comparison-table tfoot th,.comparison-table tfoot td,.comparison-subtotal th,.comparison-subtotal td,.comparison-balance th,.comparison-balance td{border-top:2px solid var(--line-strong);font-weight:700;color:var(--text);background:color-mix(in srgb,var(--green-soft) 42%,var(--surface))}.comparison-table tfoot th,.comparison-balance th{position:sticky;left:0;z-index:1;text-align:left}.comparison-section th{position:relative!important;left:auto!important;z-index:1!important;padding:10px 12px!important;background:var(--green-soft)!important;color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.7px;text-align:left!important}.summary-income{color:var(--green);font-weight:650}.planning-subtotal{border-top:2px solid var(--line-strong);background:color-mix(in srgb,var(--green-soft) 42%,var(--surface))}.planning-subtotal>strong:nth-child(2),.planning-subtotal>strong:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.month-bar.planned,.plan-key{background:#8b9d83}.month-bar.actual,.actual-key{background:#d4b895}.planned-line-chart polyline{stroke:#8b9d83}.footer{color:var(--muted);border-color:var(--line)}.transaction-modal,.classification-dialog{border-radius:24px;background:var(--surface)}.classification-icon{background:var(--green-soft)}.app-shell :is(button,input,select):focus-visible{outline:2px solid var(--green);outline-offset:3px}.app-shell input::placeholder{color:var(--muted);opacity:.82}@media(max-width:760px){.sidebar{width:min(290px,84vw)}.main-content{width:100%;margin-left:0}.topbar{height:62px;padding:0 17px}.page-body{padding:28px 17px 32px}.page-heading h1{font-size:34px}.metric-grid,.content-grid,.charts-grid,.manual-controls-grid{gap:12px}.metric-card{min-height:129px;padding:15px}.metric-value{font-size:23px;margin-top:17px}.recent-panel,.categories-panel,.chart-panel,.report-panel,.report-detail,.planning-panel,.control-form-panel,.control-card{padding:17px}.table-panel,.settings-panel,.steps-panel,.category-page-grid .panel{padding:16px}}
