@font-face{font-family:Newsreader;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/newsreader-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary-900: #132a22;--color-primary-800: #1b4332;--color-primary-700: #2d6a4f;--color-primary-600: #357a5b;--color-primary-500: #40916c;--color-primary-200: #b7e4c7;--color-primary-100: #d8f3dc;--color-primary-50: #f0f9f4;--color-bg-warm: #faf8f5;--color-bg-linen: #f4efe8;--color-surface: #ffffff;--color-surface-subtle: #f8f6f2;--color-border: #e6e0d5;--color-border-subtle: #efeae2;--color-text-main: #18221f;--color-text-secondary: #53635e;--color-text-muted: #65726c;--color-text-inverse: #ffffff;--color-income: #15803d;--color-income-bg: #dcfce7;--color-expense: #c2410c;--color-expense-bg: #ffedd5;--color-warning: #b45309;--color-warning-bg: #fef3c7;--color-danger: #b91c1c;--color-danger-bg: #fee2e2;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Newsreader", Georgia, Cambria, serif;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(19, 42, 34, .04);--shadow-sm: 0 2px 6px -1px rgba(19, 42, 34, .06), 0 1px 3px rgba(19, 42, 34, .04);--shadow-md: 0 8px 20px -3px rgba(19, 42, 34, .07), 0 2px 6px -1px rgba(19, 42, 34, .03);--shadow-lg: 0 16px 36px -6px rgba(19, 42, 34, .09), 0 4px 12px -2px rgba(19, 42, 34, .04);--sidebar-width: 260px;--mobile-nav-height: 72px;--bp-mobile: 768px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:88px}html,body,#root{min-height:100%}body{font-family:var(--font-sans);background-color:var(--color-bg-warm);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p a,.kpi-note a,.auth-alt a,.form-note a{color:var(--color-primary-800);font-weight:600;text-decoration:underline;text-underline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.6}img{max-width:100%;display:block}input,select,textarea{font:inherit;color:inherit}code{font-size:.92em;background:var(--color-bg-linen);padding:1px 5px;border-radius:4px}:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.serif{font-family:var(--font-serif)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.spacer{flex:1}.skip-link{position:absolute;left:12px;top:-48px;z-index:200;background:var(--color-primary-900);color:var(--color-text-inverse);padding:10px 14px;border-radius:var(--radius-md);font-weight:600}.skip-link:focus{top:12px}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-danger-ghost,.btn-inverse{min-height:44px;padding:10px 18px;border-radius:var(--radius-md);font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease;white-space:nowrap}.btn-primary{background-color:var(--color-primary-800);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-900);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-subtle);border-color:var(--color-text-muted)}.btn-ghost{color:var(--color-text-secondary);padding:8px 14px;font-weight:600}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-linen);color:var(--color-text-main)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-danger-ghost{color:var(--color-danger);padding:8px 14px}.btn-danger-ghost:hover:not(:disabled){background-color:var(--color-danger-bg)}.btn-inverse{background:var(--color-surface);color:var(--color-primary-900)}.btn-inverse:hover{background:var(--color-primary-50)}.btn-sm{min-height:36px;padding:6px 12px;font-size:13px}.btn-lg{padding:12px 22px;font-size:15px}.btn-xl{padding:14px 28px;font-size:16px;min-height:52px}.btn-block{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.icon-btn{width:40px;height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--color-bg-linen);color:var(--color-text-main)}.icon-btn svg{width:18px;height:18px}@media(pointer:coarse){.btn-sm{min-height:44px}.icon-btn{width:44px;height:44px}}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;white-space:nowrap}.badge-auto{background-color:var(--color-primary-100);color:var(--color-primary-800)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background-color:var(--color-bg-linen);color:var(--color-text-secondary)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xs)}.card-title{font-size:16px;font-weight:700;color:var(--color-primary-900)}.card-sub{font-size:13px;color:var(--color-text-muted)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card-foot{margin-top:14px}.brand-logo{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--color-primary-900);letter-spacing:-.02em}.brand-logo-sm{font-size:18px}.brand-mark{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--color-primary-700),var(--color-primary-900))}.brand-mark img{width:100%;height:100%;object-fit:cover}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--color-primary-900);letter-spacing:-.01em;line-height:1.2}.page-subtitle{color:var(--color-text-secondary);font-size:14px;margin-top:2px}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.field input,.field select,.field textarea,.filter-controls select,.data-table select{font-weight:500;font-size:15px;color:var(--color-text-main);padding:10px 12px;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary-600);outline:2px solid var(--color-primary-100);outline-offset:0}[aria-invalid=true]{border-color:var(--color-danger)!important}.field-error{color:var(--color-danger);font-size:12px;font-weight:600}.field-hint{color:var(--color-text-muted);font-size:12px;font-weight:500}.optional{font-weight:500;color:var(--color-text-muted)}.form-note{font-size:13px;font-weight:600;padding:10px 14px;border-radius:var(--radius-md);margin:4px 0 12px}.form-note-error{background:var(--color-danger-bg);color:var(--color-danger)}.form-note-success{background:var(--color-income-bg);color:var(--color-income)}.form-note-warning{background:var(--color-warning-bg);color:var(--color-warning)}.amount-input{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:0 12px;min-height:44px}.amount-input:focus-within{border-color:var(--color-primary-600);outline:2px solid var(--color-primary-100)}.amount-input span{color:var(--color-text-muted);font-weight:700}.amount-input input{border:none!important;outline:none!important;padding:10px 0!important;min-height:0!important;font-weight:700!important;width:100%;background:transparent}.amount-input-lg{min-height:56px}.amount-input-lg input,.amount-input-lg span{font-size:24px!important;color:var(--color-primary-900)}.amount-input:has(input[aria-invalid=true]){border-color:var(--color-danger)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 20px;background:var(--color-bg-warm);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state p{color:var(--color-text-secondary);max-width:420px;font-size:14px}.empty-title{font-weight:700;font-size:16px;color:var(--color-primary-900)}.empty-compact{padding:20px;gap:6px}.empty-compact .empty-title{font-size:14px}.empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.error-box{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-danger-bg);color:var(--color-danger);font-size:14px;font-weight:600;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;flex-wrap:wrap}.skeleton{display:block;background:linear-gradient(90deg,var(--color-bg-linen),var(--color-surface-subtle),var(--color-bg-linen));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}.loading-block{display:flex;flex-direction:column;gap:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}html{scroll-behavior:auto}*{transition:none!important}}.soon-card{display:flex;flex-direction:column;gap:6px;background:var(--color-surface-subtle);border-style:dashed}.soon-head{display:flex;justify-content:space-between;align-items:center}.soon-emoji{font-size:22px}.soon-title{font-weight:700;font-size:15px;color:var(--color-text-main)}.soon-card p{font-size:13px;color:var(--color-text-secondary)}.modal{border:none;border-radius:var(--radius-xl);padding:0;margin:auto;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);background:var(--color-surface);color:var(--color-text-main)}.modal-sm{width:min(420px,calc(100vw - 24px))}.modal::backdrop{background:#132a2273}.modal-body{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--color-primary-900)}.confirm p{font-size:14px;color:var(--color-text-secondary);margin-bottom:16px}@media(max-width:768px){.modal{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh}.modal-body{padding:20px 20px calc(20px + env(safe-area-inset-bottom))}}.table-wrap{overflow-x:auto;margin-top:16px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;padding:10px 12px;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right;white-space:nowrap;font-weight:700}.data-table select{min-height:38px;padding:6px 8px;font-size:13px;min-width:160px}.data-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary-800)}.data-table .badge{margin-left:6px}.row-error td{background:var(--color-danger-bg)}.row-dup td{background:var(--color-warning-bg)}.cell-strong{font-weight:600}.amt-expense{color:var(--color-expense)}.amt-income{color:var(--color-income)}.amt-neutral{color:var(--color-text-secondary)}.trend-good{color:var(--color-income)}.trend-bad{color:var(--color-danger)}.trend-neutral{color:var(--color-text-secondary)}.app-container{display:flex;min-height:100vh;background:linear-gradient(90deg,var(--color-surface) var(--sidebar-width),var(--color-border) var(--sidebar-width),var(--color-border) calc(var(--sidebar-width) + 1px),transparent calc(var(--sidebar-width) + 1px))}.app-sidebar{width:var(--sidebar-width);flex-shrink:0;background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:24px 16px;display:flex;flex-direction:column;gap:32px;position:sticky;top:0;height:100vh}.app-main{flex:1;min-width:0;padding:32px 40px 48px;outline:none}.page{max-width:1140px;margin:0 auto;display:flex;flex-direction:column;gap:0}.page>.card,.page>section,.page>.kpi-row,.page>.summary-pills,.page>.report-grid,.page>.io-grid,.page>.budget-card{margin-bottom:24px}.nav-list{list-style:none;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);min-height:44px;font-size:14px;font-weight:600;color:var(--color-text-secondary);transition:all .15s ease}.nav-item:hover{background-color:var(--color-bg-linen);color:var(--color-text-main)}.nav-item.active{background-color:var(--color-primary-50);color:var(--color-primary-800)}.nav-item svg{width:18px;height:18px;flex-shrink:0}.sidebar-foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px}.user-chip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-md)}.user-chip:hover{background:var(--color-bg-linen)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-100);color:var(--color-primary-800);display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--color-border);flex-shrink:0}.user-name{display:block;font-size:13px;font-weight:700}.user-plan{display:block;font-size:11px;color:var(--color-text-muted)}.mobile-nav-bar,.show-mobile,.show-sm{display:none}.show-mobile-flex{display:none!important}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted);font-weight:600}@media(max-width:768px){.app-container{flex-direction:column;background:none}.app-sidebar{display:none}.app-main{padding:16px 20px calc(var(--mobile-nav-height) + 32px)}.show-desktop,.hide-sm{display:none!important}.show-mobile,.show-sm{display:block}.show-mobile-flex{display:flex!important}.mobile-nav-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background-color:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);justify-content:space-around;align-items:center;padding:6px 8px calc(10px + env(safe-area-inset-bottom))}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:60px;min-height:48px;font-size:11px;font-weight:600;color:var(--color-text-muted)}.mobile-nav-item.active{color:var(--color-primary-800)}.mobile-nav-item svg{width:22px;height:22px}.mobile-fab-wrap{display:flex;min-width:60px;justify-content:center}.mobile-fab-add{margin-top:-26px;width:52px;height:52px;border-radius:50%;background-color:var(--color-primary-800);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #1b433259}.mobile-fab-add svg{width:24px;height:24px}.page-title{font-size:22px}.page-head{margin-bottom:16px}.page>.card,.page>section,.page>.kpi-row,.page>.summary-pills,.page>.report-grid,.page>.io-grid,.page>.budget-card{margin-bottom:16px}}.public-shell{min-height:100vh;display:flex;flex-direction:column}.public-header{display:flex;align-items:center;justify-content:space-between;padding:20px 40px}.public-nav{display:flex;gap:8px}.public-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 20px 48px}.notfound{min-height:100vh}.auth-wrap{width:100%;display:flex;justify-content:center}.auth-card{width:100%;max-width:420px;padding:32px;box-shadow:var(--shadow-md);border-radius:var(--radius-xl)}.auth-card>img{margin-bottom:8px}.auth-card form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.auth-alt{margin-top:18px;font-size:14px;color:var(--color-text-secondary);text-align:center}@media(max-width:768px){.public-header{padding:16px 20px}.auth-card{padding:24px 20px}}.account-card .acc-head{display:flex;align-items:center;gap:14px}.account-card .acc-head .avatar{width:48px;height:48px;font-size:18px}.account-card .acc-id{display:flex;flex-direction:column;gap:2px;min-width:0}.account-card .acc-name{font-size:16px;font-weight:700;color:var(--color-text-main);overflow-wrap:anywhere}.account-card .acc-line{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--color-text-main)}.account-card .acc-email{min-width:0;overflow-wrap:anywhere}.account-card .acc-verify{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.account-card .acc-meta{font-size:13px;color:var(--color-text-muted)}.account-card .badge svg{width:12px;height:12px}.account-card>.form-note{margin:14px 0 0}.acc-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 2px;color:var(--color-primary-800);font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:2px}.acc-link:disabled{color:var(--color-text-muted);text-decoration:none;opacity:1}.acc-link.inline{display:inline;min-height:0;padding:0;font-size:inherit}@media(pointer:coarse){.acc-link:not(.inline){min-height:44px}}.account-card .set-list{list-style:none;margin-top:18px;border-top:1px solid var(--color-border-subtle)}.account-card .set-item{border-bottom:1px solid var(--color-border-subtle)}.account-card .set-row{display:flex;align-items:center;gap:14px;min-height:66px;padding:11px 0}.account-card .set-ic{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-warm);border:1px solid var(--color-border);color:var(--color-primary-800)}.account-card .set-ic svg{width:18px;height:18px}.account-card .set-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.account-card .set-title{font-size:14px;font-weight:700;color:var(--color-text-main);line-height:1.5}.account-card .set-sub{font-size:13px;color:var(--color-text-secondary)}.account-card .set-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.account-card .set-actions svg{width:16px;height:16px}.account-card .set-toggle svg{width:14px;height:14px;transition:transform .15s ease}.account-card .set-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.account-card .set-body{padding:0 0 18px 50px;display:flex;flex-direction:column;gap:14px}.account-card .set-body .form-note,.account-card .set-body .error-box{margin:0}.account-card .set-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.account-card .set-foot .field-hint{font-size:13px}.account-card .pw-form{display:flex;flex-direction:column;gap:14px}.account-card .pw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.account-card .session-list{list-style:none;display:flex;flex-direction:column;gap:8px;outline:none}.account-card .session{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;min-height:60px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-warm)}.account-card .session.current{background:var(--color-primary-50);border-color:var(--color-primary-200)}.account-card .session-ic{display:inline-flex;color:var(--color-text-secondary);flex-shrink:0}.account-card .session-ic svg{width:20px;height:20px}.account-card .session-text{flex:1;min-width:0;display:flex;flex-direction:column}.account-card .session-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-card .session-name .badge{padding:2px 8px;font-size:11px}.account-card .session-meta{font-size:12px;color:var(--color-text-secondary)}.account-card .confirm-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-card .confirm-inline>span{font-size:13px;font-weight:600;color:var(--color-text-main)}.account-card .danger-sep{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-danger);margin-top:16px}.account-card .set-item.danger{border-bottom:none}.account-card .set-item.danger .set-row{padding-top:6px}.account-card .set-item.danger .set-ic{color:var(--color-danger);background:var(--color-danger-bg);border-color:transparent}.account-card .set-item.danger .set-title{color:var(--color-danger)}.delete-account .del-list{margin:-6px 0 14px;padding-left:20px;font-size:14px;color:var(--color-text-main);display:flex;flex-direction:column;gap:2px}.delete-account .del-list li::marker{color:var(--color-danger)}.delete-account .phrase{font-weight:700;color:var(--color-danger);letter-spacing:.02em}.delete-account .tx-form{gap:14px}.delete-account .input-ok{position:relative}.delete-account .input-ok input{padding-right:40px}.delete-account .input-ok svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-income);pointer-events:none}.delete-account p.field-hint{font-size:13px;margin:0 0 14px;color:var(--color-text-muted)}.delete-account .form-note{margin:0;font-size:13px}.delete-account .form-note-error{color:var(--color-danger)}.delete-account .form-actions svg{width:16px;height:16px}.deleted-card h1{outline:none}.deleted-card .lead{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin-top:10px}.deleted-card .field-hint{display:block;margin-top:12px;font-size:12px}.deleted-card .btn-block{margin-top:22px}@media(max-width:768px){.account-card .acc-head{align-items:flex-start}.account-card .acc-email{flex-basis:100%}.account-card .set-row{gap:12px;align-items:flex-start}.account-card .set-row .set-ic{margin-top:2px}.account-card .set-row.wrap{flex-wrap:wrap}.account-card .set-row.wrap .set-actions{width:100%;padding-left:48px;justify-content:flex-start}.account-card .set-row.wrap .set-actions>*{flex:1 1 100%}.account-card .set-body{padding-left:0}.account-card .pw-grid{grid-template-columns:1fr}.account-card .set-foot{flex-direction:column-reverse;align-items:stretch}.account-card .set-foot>.btn-secondary{width:100%}.account-card .set-foot .form-actions>*,.account-card .confirm-inline>button{flex:1}.account-card .confirm-inline>span{flex-basis:100%}}.landing{background:var(--color-bg-warm)}.landing-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 80px;background:var(--color-bg-warm);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.landing-nav{display:flex;gap:32px;list-style:none;font-size:15px;font-weight:600;color:var(--color-text-secondary)}.landing-nav a{padding:8px 0}.landing-nav a:hover{color:var(--color-primary-800)}.landing-actions{display:flex;gap:12px;align-items:center}.hero-section{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;padding:56px 80px 72px;max-width:1320px;margin:0 auto}.hero-badge{margin-bottom:18px;padding:6px 14px;font-size:13px}.hero-title{font-size:48px;line-height:1.14;font-weight:500;color:var(--color-primary-900);margin-bottom:20px;letter-spacing:-.02em}.hero-subtitle{font-size:18px;color:var(--color-text-secondary);line-height:1.6;max-width:520px;margin-bottom:32px}.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.hero-foot{margin-top:22px;font-size:13px;color:var(--color-text-muted)}.hero-stage{position:relative;height:560px;display:flex;align-items:flex-end;justify-content:center}.stage-glow{position:absolute;inset:40px 0 0;border-radius:48px;background:radial-gradient(circle at 40% 55%,var(--color-primary-100),transparent 70%);opacity:.9}.hero-mascot{position:relative;z-index:2;height:420px!important;width:auto!important;margin-right:-64px;margin-bottom:-6px;filter:drop-shadow(0 12px 18px rgba(19,42,34,.1))}.phone{position:relative;z-index:1;width:272px;height:540px;background:var(--color-primary-900);border-radius:42px;padding:10px;box-shadow:var(--shadow-lg)}.phone-notch{position:absolute;top:18px;left:50%;transform:translate(-50%);width:80px;height:20px;background:var(--color-primary-900);border-radius:12px;z-index:3}.phone-screen{text-align:left;background:var(--color-bg-warm);height:100%;border-radius:33px;padding:44px 16px 16px;overflow:hidden}.ps-row{display:flex;justify-content:space-between;align-items:center}.ps-month{font-size:11px;font-weight:700;color:var(--color-text-muted)}.ps-badge{font-size:10px;padding:3px 8px}.ps-label{font-size:11px;color:var(--color-text-muted);font-weight:600;margin-top:14px}.ps-total{font-size:26px;font-weight:700;color:var(--color-primary-900)}.ps-trend{font-size:11px;color:var(--color-income);font-weight:600}.ps-safe{margin:14px 0 8px;padding:10px 12px;background:var(--color-primary-50);border-radius:12px;font-size:10px;color:var(--color-text-muted);font-weight:700}.ps-safe strong{display:block;font-size:16px;color:var(--color-primary-800)}.ps-sub{font-size:11px;font-weight:700;color:var(--color-text-secondary);margin:10px 0 6px}.tx-mini{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:8px 10px;margin-bottom:6px}.tx-mini b{display:block;font-size:12px}.tx-mini b,.tx-mini small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-mini small{display:block;font-size:10px;color:var(--color-text-muted)}.tx-mini div{flex:1;min-width:0}.tx-mini em{font-style:normal;font-size:12px;font-weight:700;color:var(--color-expense);white-space:nowrap}.float-card{position:absolute;z-index:3;left:8px;top:120px;display:flex;gap:10px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow-md);color:var(--color-income);font-size:18px}.float-card b{display:block;font-size:13px;color:var(--color-primary-900)}.float-card small{font-size:11px;color:var(--color-text-muted)}.section{padding:80px;max-width:1200px;margin:0 auto}.section-narrow{max-width:1000px}.section-pad-sm{padding-top:72px;padding-bottom:72px}.center{text-align:center}.section-head{text-align:center;margin-bottom:48px}.section-head h2,.section-title{font-size:38px;font-weight:500;color:var(--color-primary-900);margin-bottom:12px;line-height:1.2}.section-head p,.section-lead{font-size:17px;color:var(--color-text-secondary);line-height:1.6}.section-lead{max-width:680px;margin:0 auto 40px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.feature-card h3,.trust-grid h3{font-size:18px;font-weight:700;margin-bottom:8px}.feature-card .badge{margin-bottom:12px}.feature-card p,.trust-grid p{font-size:14px;color:var(--color-text-secondary);line-height:1.6}.feature-emoji{font-size:28px;margin-bottom:12px}.pill-tag{display:inline-block;padding:6px 14px;background:var(--color-primary-100);color:var(--color-primary-800);border-radius:var(--radius-full);font-size:13px;font-weight:700;margin-bottom:16px}.band-white{background:var(--color-surface);padding:80px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.band-linen{background:var(--color-bg-linen);border-bottom:1px solid var(--color-border)}.split{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split-title{font-size:40px;font-weight:500;color:var(--color-primary-900);line-height:1.2;margin-bottom:20px}.split-text{font-size:16px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:24px}.check-list{list-style:none;display:flex;flex-direction:column;gap:16px}.check-list li{position:relative;padding-left:26px;font-size:15px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary-800);font-weight:700}.control-card{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md)}.cc-label{font-size:14px;font-weight:700;color:var(--color-text-secondary);margin-bottom:8px}.cc-total{font-size:34px;font-weight:700;color:var(--color-primary-900)}.cc-trend{font-size:14px;color:var(--color-income);font-weight:600;margin-bottom:24px}.cc-inner{background:var(--color-surface);padding:20px;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:16px}.cc-sub{font-size:12px;color:var(--color-text-muted);font-weight:600}.cc-safe{font-size:24px;font-weight:700;color:var(--color-primary-800);margin:4px 0}.cc-safe span{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.cc-note{font-size:12px;color:var(--color-text-muted)}.cc-split{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--color-text-secondary);flex-wrap:wrap}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}.trust-grid h3{font-size:16px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;max-width:1000px;margin:0 auto}.price-card{padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.price-card.featured{border:2px solid var(--color-primary-800)}.price-name{font-size:16px;font-weight:700}.price-card.featured .price-name{color:var(--color-primary-800)}.price-amount{font-size:32px;font-weight:700}.price-amount span{font-size:14px;font-weight:400;color:var(--color-text-muted)}.price-card p{font-size:13px;color:var(--color-text-secondary);flex:1}.faq{max-width:1020px;margin:0 auto;padding:80px;display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:start}.faq-title{font-size:32px;font-weight:500;color:var(--color-primary-900);margin-bottom:16px}.faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:10px}.faq summary{font-weight:700;font-size:15px;cursor:pointer;min-height:24px}.faq details p{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin-top:8px}.cta-band{margin:24px 80px 80px;background:var(--color-primary-900);border-radius:var(--radius-xl);color:var(--color-text-inverse);display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;padding:32px 48px}.cta-band img{height:230px!important;width:auto!important;margin:-56px 0 -32px}.cta-band h2{font-size:36px;font-weight:500;line-height:1.2;margin-bottom:10px}.cta-band p{color:var(--color-primary-200);font-size:16px;margin-bottom:22px}.landing-footer{background:var(--color-primary-900);color:var(--color-primary-100);padding:40px 80px;font-size:14px}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-name{font-size:18px;font-weight:700;color:var(--color-text-inverse)}.footer-copy{color:var(--color-primary-200)}.footer-links{display:flex;gap:24px}.footer-links a{padding:8px 0}.footer-links a:hover{color:var(--color-text-inverse)}@media(max-width:1100px){.landing-header{padding:16px 32px}.landing-nav{gap:20px}.hero-section,.section,.band-white{padding-left:32px;padding-right:32px}.feature-grid{grid-template-columns:repeat(2,1fr)}.cta-band{margin-left:32px;margin-right:32px}.faq{padding-left:32px;padding-right:32px}}@media(max-width:768px){.landing-header{padding:14px 20px}.landing-nav{display:none}.hero-section{grid-template-columns:1fr;padding:28px 20px 0;text-align:center;gap:8px}.hero-badge{margin-bottom:12px}.hero-title{font-size:34px;margin-bottom:12px}.hero-subtitle{font-size:15px;margin:0 auto 20px}.hero-cta{flex-direction:column;align-items:stretch;gap:10px}.hero-cta .btn-xl{width:100%;padding:13px;font-size:15px}.hero-stage{height:330px;margin-top:12px}.stage-glow{inset:20px 0 0;border-radius:28px}.hero-mascot{height:240px!important;margin-right:-34px;margin-bottom:-4px}.phone{width:176px;height:310px;border-radius:28px;padding:7px}.phone-notch{display:none}.phone-screen{border-radius:22px;padding:22px 10px 10px}.ps-total{font-size:18px}.ps-label,.ps-sub{margin-top:6px}.ps-safe{margin:8px 0 4px;padding:6px 8px;font-size:9px}.ps-safe strong{font-size:13px}.tx-mini{padding:5px 7px;gap:6px;margin-bottom:4px;border-radius:9px}.tx-mini b{font-size:10px}.tx-mini small{display:none}.tx-mini em{font-size:10px}.tx-mini:nth-of-type(3){display:none}.float-card{top:20px;left:6px;padding:6px 10px;font-size:12px}.float-card small{display:none}.float-card b{font-size:11px}.section{padding:48px 20px}.section-head{margin-bottom:28px}.section-head h2,.section-title{font-size:28px}.section-head p,.section-lead{font-size:15px;margin-bottom:24px}.feature-grid,.trust-grid,.price-grid{grid-template-columns:1fr;gap:14px}.band-white{padding:48px 20px}.split{grid-template-columns:1fr;gap:32px}.split-title{font-size:28px}.control-card{padding:20px}.faq{grid-template-columns:1fr;padding:48px 20px;gap:12px}.faq-mascot{width:88px!important}.faq-title{font-size:26px}.cta-band{margin:16px 20px 40px;grid-template-columns:84px 1fr;gap:14px;padding:20px;border-radius:20px}.cta-band img{height:auto!important;width:84px!important;margin:0}.cta-band h2{font-size:20px}.cta-band p{font-size:13px;margin-bottom:12px}.cta-band .btn-xl{padding:10px 16px;font-size:14px;min-height:44px}.landing-footer{padding:28px 20px calc(28px + env(safe-area-inset-bottom))}.footer-links{gap:16px;flex-wrap:wrap}}.onboarding-page{min-height:100vh}.onboarding-top{padding:24px 80px;display:flex;justify-content:space-between;align-items:center}.onboarding-wrap{max-width:680px;margin:24px auto 60px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:48px;box-shadow:var(--shadow-md)}.stepper{list-style:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;position:relative}.stepper:before{content:"";position:absolute;top:14px;left:20px;right:20px;height:2px;background:var(--color-border);z-index:1}.step-node{position:relative;z-index:2;background:var(--color-surface);display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 6px}.step-circle{width:30px;height:30px;border-radius:50%;background:var(--color-bg-linen);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--color-surface)}.step-node.active .step-circle{background:var(--color-primary-800);color:var(--color-text-inverse)}.step-node.done .step-circle{background:var(--color-primary-100);color:var(--color-primary-800)}.step-label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.step-node.active .step-label{color:var(--color-primary-900)}.step-head{text-align:center;margin-bottom:24px}.step-head .badge{margin-bottom:12px}.step-head h1{font-size:32px;font-weight:500;color:var(--color-primary-900);margin-bottom:10px;line-height:1.2}.step-head p{font-size:15px;color:var(--color-text-secondary);line-height:1.6}.onb-box{border:1px solid var(--color-border);background:var(--color-bg-warm);border-radius:var(--radius-lg);padding:24px;margin:0 0 20px;display:flex;flex-direction:column;gap:16px}.onb-extra{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:12px;align-items:end}.onb-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}.onb-actions-center{justify-content:center}.onb-done{display:flex;flex-direction:column;align-items:center;gap:8px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{min-height:40px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;font-weight:600;color:var(--color-text-secondary)}.chip.active,.chip:hover{border-color:var(--color-primary-700);color:var(--color-primary-800);background:var(--color-primary-50)}@media(max-width:768px){.onboarding-top{padding:16px 20px}.onboarding-wrap{margin:0 12px 32px;padding:24px 18px}.step-label{font-size:11px}.step-head h1{font-size:24px}.onb-box{padding:16px}.onb-extra{grid-template-columns:1fr}.onb-actions .btn-primary,.onb-actions-center .btn-secondary{flex:1}}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.dash-hello{display:flex;align-items:center;gap:14px}.dash-date{font-size:13px;color:var(--color-text-muted);font-weight:600}.dash-title{font-size:28px;color:var(--color-primary-900);font-weight:600;line-height:1.2}.dash-actions{display:flex;gap:12px;align-items:center}.kpi-row{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.kpi-card{padding:26px;display:flex;flex-direction:column;gap:6px}.kpi-safe{background:linear-gradient(to bottom,var(--color-surface),var(--color-bg-warm))}.kpi-split{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.kpi-label{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.kpi-value{font-size:38px;font-weight:700;color:var(--color-primary-900);margin:6px 0;line-height:1.15}.kpi-value-md{font-size:32px}.kpi-green{color:var(--color-primary-800)}.kpi-muted{color:var(--color-text-secondary);font-size:24px}.kpi-value.kpi-over{color:var(--color-danger)}.kpi-nowrap{white-space:nowrap}.kpi-pending{margin-top:2px}.kpi-unit{font-size:16px;font-weight:500;color:var(--color-text-secondary)}.kpi-trend{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.kpi-aside{text-align:right;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--color-text-muted);flex-shrink:0}.kpi-aside strong{font-size:16px;color:var(--color-text-main)}.kpi-income{margin-top:8px;color:var(--color-income);font-weight:600}.kpi-note{font-size:13px;color:var(--color-text-secondary);line-height:1.5}.chart-card{border-radius:var(--radius-xl);padding:24px 28px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toggle{display:flex;gap:6px}.bars{display:flex;flex-direction:column}.bars-compact{margin-inline:-10px}.bar-tip-row{position:relative;height:40px}.bars-with-top .bar-tip-row{height:84px}.bars-compact.bars-with-top .bar-tip-row{height:74px}.bar-tip{position:absolute;left:0;bottom:8px;width:240px;max-width:100%;padding:7px 10px;border-radius:var(--radius-sm);background:var(--color-primary-900);color:var(--color-text-inverse);font-size:12px;line-height:1.35;box-shadow:var(--shadow-md);pointer-events:none;will-change:transform;transition:transform .08s ease-out}.bar-tip:after{content:"";position:absolute;top:100%;left:clamp(10px,var(--caret-x, 50%),calc(100% - 10px));transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-primary-900)}.bar-tip-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:600;white-space:nowrap}.bar-tip-head strong{font-size:13px}.bar-tip-list{list-style:none;margin-top:3px;display:flex;flex-direction:column;gap:1px;color:var(--color-primary-100)}.bar-tip-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.bar-tip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-tip-empty{margin-top:3px;color:var(--color-primary-200)}.bars-compact .bar-tip{width:216px;padding:6px 8px;font-size:11px}.bars-compact .bar-tip-head strong{font-size:12px}.bar-group{position:relative;display:flex;align-items:flex-end;gap:14px;padding-top:4px;border-bottom:1px solid var(--color-border);touch-action:pan-y;user-select:none;-webkit-user-select:none}.bars-compact .bar-group{gap:0;border-bottom:none}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;min-width:0}.bar-hit{flex:1;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:6px 6px 0 0;-webkit-tap-highlight-color:transparent}.bars-compact .bar-hit:focus-visible{outline-offset:-2px}.bar-pill{display:block;width:100%;max-width:38px;background:var(--color-primary-100);border-radius:6px 6px 0 0;transition:height .3s ease,background .2s ease;min-height:2px}.bars-compact .bar-pill{max-width:none;width:calc(100% - 4px);border-radius:4px 4px 0 0}@media(hover:hover){.bar-col:hover .bar-pill{background:var(--color-primary-600)}}.bar-col.selected .bar-pill{background:var(--color-primary-600)}.bar-col.today .bar-pill{background:var(--color-primary-800)}.bar-col.peak .bar-pill{background:var(--color-warning)}.bar-day{font-size:12px;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.bars-compact .bar-day{font-size:10px}.bar-col.today .bar-day{color:var(--color-primary-900);font-weight:700}.bar-col.selected .bar-day{color:var(--color-primary-900);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.cat-bars{list-style:none;display:flex;flex-direction:column;gap:14px}.cat-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px;flex-wrap:wrap}.cat-bar-head>span:last-child{color:var(--color-text-secondary)}.cat-bar-track{height:10px;background:var(--color-bg-linen);border-radius:var(--radius-full);overflow:hidden}.cat-bar-track span{display:block;height:100%;background:var(--color-primary-600);border-radius:var(--radius-full)}.tx-list{display:flex;flex-direction:column;gap:8px}.tx-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .15s ease;min-height:64px}button.tx-row:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-xs)}.tx-list-warm .tx-row{background:var(--color-bg-warm);padding:12px 16px}.tx-main{display:flex;gap:14px;align-items:center;min-width:0}.tx-icon{width:42px;height:42px;border-radius:10px;background:var(--color-bg-warm);display:inline-flex;align-items:center;justify-content:center;font-size:19px;border:1px solid var(--color-border);flex-shrink:0}.tx-list-warm .tx-icon{background:var(--color-surface)}.tx-text{display:flex;flex-direction:column;min-width:0}.tx-title{font-size:15px;font-weight:700;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-meta{font-size:13px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-notes{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.tx-amount{font-size:16px;font-weight:700;white-space:nowrap}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}.search-input{flex:1;min-width:220px;max-width:400px;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);min-height:44px}.search-input:focus-within{border-color:var(--color-primary-600);outline:2px solid var(--color-primary-100)}.search-input input{border:none;outline:none;background:transparent;font-size:14px;flex:1;min-width:0;color:var(--color-text-main);padding:10px 0}.filter-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-basis:100%}.filter-controls select{width:auto;font-size:13px;font-weight:600;padding:8px 12px}.month-nav{display:inline-flex;align-items:center;gap:2px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:44px}.month-nav .icon-btn{width:36px;height:40px}.month-nav-label{font-size:13px;font-weight:700;min-width:116px;text-align:center}.period-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.period-presets{display:flex;gap:6px}.period-presets .chip{white-space:nowrap}.period-custom{display:flex;gap:8px;flex-wrap:wrap}.period-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.period-date input{min-height:44px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:13px;font-weight:600;color:var(--color-text-main)}.period-date input:focus{border-color:var(--color-primary-600);outline:2px solid var(--color-primary-100);outline-offset:0}.summary-pills{display:flex;gap:16px}.pill-card{flex:1;padding:14px 20px;display:flex;flex-direction:column;gap:2px}.pill-card strong,.stat-card strong{font-size:22px;font-weight:700;color:var(--color-primary-900)}.pill-card strong.amt-expense,.stat-card strong.amt-expense{color:var(--color-expense)}.pill-card strong.amt-income,.stat-card strong.amt-income{color:var(--color-income)}.pill-label{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tx-groups.is-loading,.summary-pills.is-loading{opacity:.55}.date-group-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;margin:18px 0 8px;border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap}.tx-groups section:first-child .date-group-header{margin-top:0}.date-title{font-size:14px;font-weight:700;color:var(--color-primary-900)}.date-total{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.load-more{margin-top:16px}.tx-form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--color-bg-linen);padding:4px;border-radius:var(--radius-md)}.seg{min-height:40px;border-radius:9px;font-weight:700;font-size:14px;color:var(--color-text-secondary)}.seg.active{background:var(--color-surface);box-shadow:var(--shadow-sm)}.seg-expense.active{color:var(--color-expense)}.seg-income.active{color:var(--color-income)}.seg-transfer.active{color:var(--color-primary-800)}.field-suggest{margin-left:6px;padding:1px 8px;border-radius:var(--radius-full);background:var(--color-primary-50);color:var(--color-primary-700);font-size:11px;font-weight:600}.catat-tabs{display:flex;gap:10px;margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:12px;overflow-x:auto}.catat-tab-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:var(--radius-md);font-weight:700;font-size:14px;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap}.catat-tab-btn.active{background:var(--color-primary-800);color:var(--color-text-inverse);border-color:var(--color-primary-800)}a.catat-tab-btn:hover{border-color:var(--color-text-muted)}.catat-tab-btn.disabled{color:var(--color-text-muted);background:var(--color-surface-subtle);border-style:dashed}.catat-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}.method-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm)}.method-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.method-head .badge{margin-bottom:6px}.method-head h2{font-size:18px;font-weight:700;color:var(--color-primary-900)}.method-icon{width:44px;height:44px;border-radius:50%;background:var(--color-primary-50);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.soon-stack{display:flex;flex-direction:column;gap:14px}.budget-card{padding:24px;display:flex;flex-direction:column;gap:14px}.budget-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.budget-line{font-size:14px;color:var(--color-text-secondary)}.budget-line .budget-over{color:var(--color-danger);font-weight:600}.budget-line strong{white-space:nowrap}.budget-inherit{display:flex;width:fit-content;margin-top:6px}.progress{height:12px;background:var(--color-bg-linen);border-radius:var(--radius-full);overflow:hidden}.progress span{display:block;height:100%;background:var(--color-primary-700);border-radius:var(--radius-full);transition:width .4s ease}.progress-warn span{background:var(--color-warning)}.progress-over span{background:var(--color-danger)}.budget-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-stats div{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;font-size:12px;color:var(--color-text-muted);font-weight:600}.budget-stats strong{font-size:16px;color:var(--color-text-main)}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{display:flex;flex-direction:column;gap:4px}.insight-card{background:var(--color-primary-50);border-color:var(--color-primary-200);margin-bottom:20px}.insight-title{font-size:14px;font-weight:700;color:var(--color-primary-900)}.insight-card p{font-size:14px;color:var(--color-text-main);margin-top:4px}.io-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.io-card{padding:28px;display:flex;flex-direction:column;gap:14px;border-radius:var(--radius-xl)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:140px;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-warm);color:var(--color-primary-800);font-weight:700;font-size:14px;cursor:pointer;text-align:center;padding:16px}.dropzone:hover,.dropzone:focus-within{border-color:var(--color-primary-600);background:var(--color-primary-50)}.dropzone.busy{opacity:.7;cursor:progress}.dz-hint{font-size:12px;color:var(--color-text-muted);font-weight:500}.radio-list{border:none;display:flex;flex-direction:column;gap:8px}.radio-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer}.radio-item.active{border-color:var(--color-primary-700);background:var(--color-primary-50)}.radio-item input{accent-color:var(--color-primary-800);width:18px;height:18px}.date-order{border:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;min-width:0}.date-order legend{float:left;width:100%;font-size:13px;font-weight:700;color:var(--color-text-secondary);margin-bottom:6px}.date-order .radio-item{flex:1 1 140px;min-width:0}.date-order[disabled] .radio-item{cursor:progress;opacity:.7}.date-order-busy{font-size:13px;color:var(--color-text-secondary)}.preview-card .form-actions{margin-top:16px}.dropzone.dragging{border-style:solid;border-color:var(--color-primary-600);background:var(--color-primary-50)}.dropzone.disabled{cursor:not-allowed;opacity:.6}.imp-note-action{margin-left:6px;vertical-align:middle}.imp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.imp-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:44px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer}.imp-tab:hover{border-color:var(--color-text-muted)}.imp-tab.active{border-color:var(--color-primary-700);background:var(--color-primary-50);box-shadow:inset 0 -3px 0 var(--color-primary-700)}.imp-tab-label{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.imp-tab-count{font-size:16px;font-weight:700;color:var(--color-primary-900)}.imp-tab-sum{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.data-table select.imp-type{min-width:0;width:auto;font-weight:700}.imp-date,.imp-sum-full,.imp-sum-short{white-space:nowrap}.imp-sum-short{display:none}.imp-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px}.imp-pager-info{font-size:13px;color:var(--color-text-secondary)}@media(max-width:768px){.imp-tabs{gap:6px}.imp-tab{padding:8px 10px}.imp-tab-count{font-size:14px}.imp-tab-sum{font-size:12px;white-space:normal;overflow:visible}.imp-sum-full{display:none}.imp-sum-short{display:inline}.imp-table thead{display:none}.imp-table,.imp-table tbody{display:block}.imp-table tr{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.4fr);grid-template-areas:"check date amount" "check desc desc" "check type cat";align-items:center;gap:6px 8px;padding:10px 12px 12px 4px;border-bottom:1px solid var(--color-border-subtle)}.imp-table tr:last-child{border-bottom:none}.imp-table tr.row-dup{background:var(--color-warning-bg)}.imp-table tr.row-error{background:var(--color-danger-bg)}.imp-table td{display:block;padding:0;border:none;min-width:0}.imp-table td:nth-child(1){grid-area:check;align-self:start}.imp-table td:nth-child(2){grid-area:date;font-size:12px;color:var(--color-text-secondary)}.imp-table td:nth-child(3){grid-area:desc;overflow-wrap:anywhere}.imp-table td:nth-child(4){grid-area:type}.imp-table td:nth-child(5){grid-area:cat}.imp-table td:nth-child(6){grid-area:amount}.imp-table select,.data-table.imp-table select.imp-type{width:100%;min-width:0}.imp-table .badge{margin:4px 6px 0 0}}.settings-section{margin-bottom:24px}.section-gap{margin-bottom:12px}.wallet-list{list-style:none;display:flex;flex-direction:column;gap:8px}.wallet-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-warm)}.wallet-item.archived{opacity:.7}.wallet-text{flex:1;display:flex;flex-direction:column;min-width:0}.wallet-bal{font-weight:700;white-space:nowrap}.wallet-actions{display:flex;align-items:center;gap:4px}.soon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-links{gap:8px;padding:8px;margin-bottom:16px}.quick-link{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--radius-md);font-weight:700;font-size:14px;color:var(--color-primary-800);background:var(--color-primary-50)}.quick-link svg{width:18px;height:18px}@media(max-width:1100px){.catat-grid,.io-grid{grid-template-columns:1fr}.soon-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.dash-top{margin-bottom:16px}.dash-title{font-size:19px;font-weight:700}.dash-date{font-size:11px}.dash-hello img{width:38px!important}.kpi-row{grid-template-columns:1fr;gap:16px}.kpi-card{padding:20px}.kpi-split{flex-direction:column;gap:10px}.kpi-aside{text-align:left}.kpi-value{font-size:32px}.kpi-value-md{font-size:24px}.kpi-label{font-size:12px}.kpi-trend{font-size:13px}.chart-card{padding:16px;border-radius:var(--radius-lg)}.chart-head{margin-bottom:8px}.chart-head .card-sub{display:none}.tx-row{padding:10px 14px;gap:10px}.tx-main{gap:10px}.tx-icon{width:36px;height:36px;font-size:17px}.tx-title{font-size:13px}.tx-meta{font-size:11px}.tx-amount{font-size:14px}.tx-side .badge{font-size:9px;padding:1px 5px}.filter-bar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.period-bar{flex-direction:column;align-items:stretch;gap:6px}.period-presets .chip{flex:1 1 auto;padding:8px 6px}.period-bar .month-nav{justify-content:space-between}.period-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.period-date{flex-direction:column;align-items:stretch;gap:2px;font-size:12px}.period-date input{width:100%;min-width:0}.filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.filter-controls select{font-size:12px;padding:8px;width:100%;text-overflow:ellipsis}.summary-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-pills .pill-card:last-child{display:none}.date-group-header{flex-wrap:nowrap;margin:14px 0 6px}.date-title{font-size:13px}.date-total{font-size:11px;text-align:right}.pill-card{padding:12px 14px}.pill-card strong{font-size:17px}.form-grid{grid-template-columns:1fr}.tx-form-actions{position:sticky;bottom:calc(var(--mobile-nav-height) - 8px + env(safe-area-inset-bottom));z-index:5;margin:0 -20px -20px;padding:12px 20px 16px;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px)}.tx-form-actions .spacer{display:none}.tx-form-actions .btn-primary{flex:1}.modal .tx-form-actions{bottom:0;margin-bottom:calc(-20px - env(safe-area-inset-bottom));padding-bottom:calc(12px + env(safe-area-inset-bottom));border-radius:0}html:has(.method-panel .tx-form-actions){scroll-padding-bottom:calc(var(--mobile-nav-height) + 84px)}.method-panel{padding:20px;border-radius:var(--radius-lg)}.catat-tabs{margin:0 -20px 16px;padding:0 20px 12px}.budget-stats,.report-grid{grid-template-columns:1fr}.budget-top img{width:56px!important}.budget-card .kpi-value{font-size:28px;white-space:nowrap}.stat-card strong{font-size:20px}.io-card{padding:20px}.soon-grid{grid-template-columns:1fr}.wallet-item{flex-wrap:wrap}.wallet-actions{width:100%;justify-content:flex-end}.page-actions{width:100%}}.export-wrap{display:inline-flex;flex-direction:column;gap:8px}.export-wrap .btn-block{width:100%}.io-card .export-wrap{display:flex}.export-error{margin:0}.check-hit{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;cursor:pointer}@media(pointer:coarse){.month-nav{gap:0}.month-nav .icon-btn{width:44px;height:44px}.month-nav-label{min-width:100px}.seg,.chip,.data-table select{min-height:44px}.check-hit{min-width:44px;min-height:44px}}.hit-44{padding-block:12px;margin-block:-12px;line-height:20px}a.hit-44{display:inline-block}.auth-card .label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.auth-card .link-sm,.auth-card .link-btn,.verify-banner .link-btn{color:var(--color-primary-800);font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:2px}.auth-card .link-btn,.verify-banner .link-btn{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding-inline:2px;line-height:20px}.auth-card .link-btn:disabled,.verify-banner .link-btn:disabled{color:var(--color-text-muted);text-decoration:none;opacity:1}.auth-alt .link-btn{font-size:14px;min-height:0;padding-inline:0}.auth-card .lead{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin-top:10px}.auth-card .lead strong{color:var(--color-text-main);overflow-wrap:anywhere}.auth-msg .btn-block{margin-top:22px}.auth-msg .field-hint{margin-top:12px;display:block}.auth-msg .form-note{margin:14px 0 0}.auth-card form>.field-hint{text-align:center}.auth-msg h1[tabindex="-1"]:focus,.auth-msg h1[tabindex="-1"]:focus-visible{outline:none}.auth-card.auth-skel{display:flex;flex-direction:column;gap:12px}.verify-banner{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 14px;margin-bottom:20px;min-height:48px;background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);font-size:14px;color:var(--color-primary-900)}.verify-banner>svg{width:18px;height:18px;flex-shrink:0;color:var(--color-primary-700)}.verify-banner-text{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.verify-banner-text>span{flex:1;min-width:0;overflow-wrap:anywhere}.verify-banner .link-btn{font-size:14px;flex-shrink:0}.verify-banner .icon-btn{width:40px;height:40px}@media(pointer:coarse){.verify-banner .icon-btn{width:44px;height:44px;margin-block:-2px}}@media(max-width:768px){.verify-banner{align-items:flex-start;padding:8px 2px 8px 12px;font-size:13px}.verify-banner>svg{margin-top:3px}.verify-banner-text{display:block}.verify-banner .link-btn{font-size:13px;min-height:0}.verify-banner .icon-btn{width:44px;height:44px;margin-block:-2px}}
