:root{--build: 2;--bg: #f6f0e3;--bg-soft: #efe7d6;--surface: rgba(250, 246, 238, .86);--surface-strong: #fbf7ef;--surface-tint: rgba(244, 236, 219, .94);--line: rgba(154, 138, 103, .18);--text: #433729;--muted: #776954;--yellow: #e3c65c;--yellow-soft: #f4e6a7;--yellow-deep: #c9a044;--green: #8fa883;--green-soft: #d9e4d0;--green-deep: #678060;--cream: #fffdf7;--danger-bg: rgba(222, 170, 170, .38);--danger-text: #7e4d4d;--shadow: 0 20px 50px rgba(122, 104, 68, .12);--shadow-soft: 0 12px 28px rgba(122, 104, 68, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;color:var(--text);background:radial-gradient(circle at 12% 14%,rgba(227,198,92,.18),transparent 18%),radial-gradient(circle at 80% 18%,rgba(217,228,208,.56),transparent 18%),radial-gradient(circle at 80% 78%,rgba(255,249,236,.9),transparent 20%),linear-gradient(180deg,#f8f3e8,#eee5d6 55%,#f4eee0)}body.is-action-sheet-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:linear-gradient(180deg,#fcf8effa,#f1e9d8fa),radial-gradient(circle at top right,rgba(227,198,92,.16),transparent 42%);background-repeat:no-repeat;background-position:center,center,right 16px center;background-size:100% 100%,100% 100%,10px 10px;border:1px solid rgba(154,138,103,.24);color:var(--text);box-shadow:inset 0 1px #fffcf5b8,0 8px 18px #7a684414;padding-right:42px;background-image:linear-gradient(180deg,#fcf8effa,#f1e9d8fa),radial-gradient(circle at top right,rgba(227,198,92,.16),transparent 42%),linear-gradient(45deg,transparent 50%,var(--green-deep) 50%),linear-gradient(135deg,var(--green-deep) 50%,transparent 50%);background-position:center,center,calc(100% - 21px) calc(50% - 2px),calc(100% - 15px) calc(50% - 2px);background-size:100% 100%,100% 100%,7px 7px,7px 7px}select option{background:var(--surface-strong);color:var(--text)}select:focus-visible{outline:2px solid rgba(201,160,68,.36);outline-offset:2px}.page-shell{width:min(1240px,100%);margin:0 auto;padding:24px 16px 48px}.legal-footer{margin-top:40px;padding:12px 4px 0}.legal-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px}.legal-footer-link{font-size:.8rem;color:#776954d1}.legal-footer-link:hover,.legal-footer-link:focus-visible{color:var(--muted);text-decoration:underline}.topbar{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:8px 4px 28px;position:relative}.topbar-actions{display:flex;gap:12px;justify-content:flex-end;flex:1;padding-right:72px}.topbar-guest-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.topbar-auth-button{min-width:112px}.topbar-menu{display:none;position:relative}.topbar-menu-button{list-style:none;min-height:42px;padding:0 15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fffcf5f0,#f1e8d6eb);border:1px solid rgba(154,138,103,.16);box-shadow:inset 0 1px #fffcf5d6,0 8px 18px #7a684414;color:var(--text);font-weight:700;cursor:pointer}.topbar-menu-button::-webkit-details-marker{display:none}.topbar-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(280px,calc(100vw - 32px));padding:16px;border-radius:24px;background:radial-gradient(circle at top right,rgba(244,230,167,.24),transparent 34%),linear-gradient(180deg,#fffcf5fa,#f1e8d6fa);border:1px solid rgba(154,138,103,.16);box-shadow:0 20px 40px #7a684429;z-index:20}.topbar-menu-nav{display:grid;gap:10px}.topbar-menu-link{min-height:44px;padding:0 14px;border-radius:16px;display:flex;align-items:center;background:#fffbf3e0;border:1px solid rgba(154,138,103,.12);color:var(--text);font-weight:600}.topbar-menu-link.is-current{background:radial-gradient(circle at top left,rgba(244,230,167,.3),transparent 40%),linear-gradient(135deg,#fffbf3fa,#e2ecdaf5);border-color:#8fa88338;color:#4f6148}.topbar-menu-account{margin-top:6px}.topbar h1,.hero h2,.section-head h3,.expense-section-head h3{margin:0}.topbar h1,.hero h2,.expense-section-head h3{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:600;letter-spacing:.04em}.topbar h1{font-size:clamp(2rem,3.5vw,3.1rem)}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.topnav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.topnav a,.topnav-button{min-height:42px;padding:0 15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fffcf5f0,#f1e8d6eb);border:1px solid rgba(154,138,103,.16);box-shadow:inset 0 1px #fffcf5d6,0 8px 18px #7a684414}.topnav-link{color:var(--text);font-weight:600}.topnav-link.is-current{background:radial-gradient(circle at top left,rgba(244,230,167,.34),transparent 40%),linear-gradient(135deg,#fffbf3fa,#e2ecdaf5);border-color:#8fa88342;color:#4f6148;box-shadow:inset 0 1px #fffcf5eb,0 10px 20px #7a68441a}.topnav-form{margin:0}.topnav-button{color:inherit;cursor:pointer}.topnav-auth-link{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px!important;font-weight:700}.topnav-auth-link.is-register{background:linear-gradient(135deg,var(--yellow) 0%,var(--yellow-deep) 100%);color:#59441d;border-color:#c9a04442;box-shadow:inset 0 1px #fffbf1b3,0 12px 24px #c9a0442e}.topnav-auth-link.is-login{background:linear-gradient(135deg,#f9f5ecf5,#ece5d4eb);border-color:#8fa88338;color:var(--text)}.account-icon-link{position:absolute;top:8px;right:4px;width:52px;height:52px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(135deg,#fbf7eff5,#f0e7d4f5);border:1px solid rgba(154,138,103,.2);box-shadow:inset 0 1px #fffcf5d6,0 10px 20px #7a68441f}.account-icon-avatar{position:relative;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#e3c65cf5,#8fa883e6);box-shadow:0 0 0 5px #e3c65c1f}.account-icon-avatar:before{content:"";position:absolute;left:50%;top:2px;width:10px;height:10px;transform:translate(-50%);border-radius:50%;background:#fffcf5f5}.account-icon-avatar:after{content:"";position:absolute;left:50%;bottom:2px;width:16px;height:8px;transform:translate(-50%);border-radius:999px 999px 7px 7px;background:#fffcf5f5}.account-icon-ring{position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(201,160,68,.36);pointer-events:none}.dashboard{display:grid;gap:20px}.auth-page,.profile-setup-page{display:grid;place-items:center;min-height:calc(100vh - 140px)}.account-page,.legal-page{display:grid;place-items:start center;padding-top:8px}.account-card{width:min(760px,100%);padding:28px;display:grid;gap:20px}.account-support-form{display:grid;gap:14px}.account-support-form label{display:grid;gap:8px;font-weight:600}.account-support-form input,.account-support-form textarea,.account-support-form .custom-select-trigger{width:100%;border-radius:18px;border:1px solid rgba(201,160,68,.18);background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5);color:var(--text);box-shadow:inset 0 1px #ffffffc7,0 6px 16px #7a684414}.account-support-form input,.account-support-form textarea{padding:12px 14px}.account-support-form input,.account-support-form .custom-select-trigger{min-height:52px}.account-support-form textarea{min-height:180px;resize:vertical}.account-support-reference{margin:-4px 0 0;color:#5b4720;font-weight:700}.account-plan-section{display:grid;gap:14px}.account-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-plan-card{display:grid;gap:6px;padding:16px 18px;border-radius:20px;background:#fffbf3bd;border:1px solid rgba(154,138,103,.14)}.account-plan-card span,.account-plan-card small{color:var(--muted)}.account-plan-card.is-current{background:radial-gradient(circle at top left,rgba(244,230,167,.32),transparent 42%),linear-gradient(135deg,#fffbf3f5,#e2ecdaeb);border-color:#8fa8833d}.admin-page{display:grid;gap:20px;padding-top:8px}.admin-hero,.admin-inquiry-card{width:min(960px,100%);justify-self:center;display:grid;gap:16px;padding:28px}.admin-metric-grid{width:min(960px,100%);justify-self:center;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-metric-card{display:grid;gap:6px;padding:20px 22px}.admin-metric-card span,.admin-empty{color:var(--muted)}.admin-metric-card strong{font-size:clamp(1.5rem,2.8vw,2rem)}.admin-inquiry-list{display:grid;gap:14px}.admin-inquiry-item{display:grid;gap:10px;padding:18px 20px;border-radius:22px;background:#fffbf3c7;border:1px solid rgba(154,138,103,.14)}.admin-inquiry-item h4,.admin-inquiry-item p{margin:0}.admin-inquiry-item p{line-height:1.75;white-space:pre-wrap}.admin-inquiry-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.legal-card{width:min(860px,100%);padding:28px;display:grid;gap:24px}.legal-status{display:grid;gap:8px;padding:14px 16px;border-radius:18px;background:#fffbf3c2;border:1px solid rgba(154,138,103,.16)}.legal-status p{margin:0;color:var(--muted);line-height:1.7}.legal-status-badge{width:fit-content;min-height:30px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;background:linear-gradient(135deg,#f4e6a7f0,#fff8e4fa);border:1px solid rgba(201,160,68,.22);color:#5b4720;font-size:.82rem;letter-spacing:.04em}.legal-head{display:flex;justify-content:space-between;align-items:start;gap:18px}.legal-head h2,.legal-section h3,.legal-section p{margin:0}.legal-updated{color:var(--muted);font-size:.88rem}.legal-intro{margin:0}.legal-sections{display:grid;gap:18px}.legal-callout{display:grid;gap:12px;border-radius:22px;padding:18px 20px}.legal-callout h3,.legal-checklist{margin:0}.legal-callout-owner{background:#fff5dcd1;border:1px solid rgba(201,160,68,.24)}.legal-callout-note{background:#f5f9f2d1;border:1px solid rgba(143,168,131,.2)}.legal-checklist{padding-left:1.2rem;display:grid;gap:8px;color:var(--muted)}.legal-section{display:grid;gap:10px;border-top:1px solid rgba(154,138,103,.14);padding-top:18px}.legal-section h3{line-height:1.5}.legal-section p{line-height:1.8;color:var(--text)}.legal-actions{display:flex;justify-content:flex-start}.account-lead{margin:0}.account-list{margin:0;display:grid;gap:14px}.account-row{display:grid;gap:6px;padding:16px 18px;border-radius:20px;background:#fffbf3bd;border:1px solid rgba(154,138,103,.14)}.account-row dt{color:var(--muted);font-size:.92rem}.account-row dd{margin:0;font-weight:700;word-break:break-word}.account-actions{display:flex;gap:12px;flex-wrap:wrap}.account-logout-form{margin:0}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.auth-card{padding:28px;display:grid;gap:18px}.profile-setup-card{width:min(760px,100%);padding:28px;display:grid;gap:18px}.auth-card-sub{background:radial-gradient(circle at top right,rgba(143,168,131,.12),transparent 28%),linear-gradient(135deg,#fbf7efeb,#f1e8d6eb)}.auth-form{display:grid;gap:14px}.profile-setup-form{display:grid;gap:16px}.auth-form label,.profile-setup-form label{display:grid;gap:8px;font-weight:600}.auth-form input{width:100%;min-height:52px;padding:0 14px;border-radius:18px;border:1px solid rgba(201,160,68,.18);background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5);color:var(--text);box-shadow:inset 0 1px #ffffffc7,0 6px 16px #7a684414}.profile-setup-form input,.profile-setup-form select,.profile-setup-form .custom-select-trigger{width:100%;min-height:52px;border-radius:18px;border:1px solid rgba(201,160,68,.18);background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5);color:var(--text);box-shadow:inset 0 1px #ffffffc7,0 6px 16px #7a684414}.profile-setup-form input,.profile-setup-form select{padding:0 14px}.profile-setup-form .custom-select-trigger{padding:0 42px 0 14px}.profile-setup-date-picker{position:relative}.profile-setup-date-picker .entry-date-display{min-height:52px;border-radius:18px}.profile-birthdate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-choice-group{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:0;border:0}.profile-choice-group legend{width:100%;margin-bottom:8px;font-weight:600}.choice-pill{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border-radius:999px;border:1px solid rgba(154,138,103,.16);background:#fffbf3c7;cursor:pointer}.choice-pill input{position:absolute;opacity:0;pointer-events:none}.choice-pill span{font-weight:600}.profile-setup-lead{margin:0}.auth-lead{max-width:none;margin:0}.auth-submit{width:100%}.landing-page{display:grid;gap:28px;padding-inline:2px}.landing-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.landing-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:linear-gradient(135deg,#f4e6a7f0,#fff8e4fa);border:1px solid rgba(201,160,68,.22);box-shadow:inset 0 1px #fffcf5d6;font-size:.86rem;font-weight:700;color:#5b4720}.landing-badge.is-soft{background:linear-gradient(135deg,#e2ecdaeb,#faf6eef5);border-color:#8fa88333;color:#52674b}.landing-hero{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.92fr);gap:26px;padding:34px;background:radial-gradient(circle at top left,rgba(227,198,92,.24),transparent 26%),radial-gradient(circle at 80% 20%,rgba(143,168,131,.18),transparent 22%),linear-gradient(135deg,#fbf7eff5,#efe7d4fa)}.landing-hero-copy{display:grid;gap:14px;min-width:0}.landing-lead{max-width:17em;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.6}.landing-supporting-copy{max-width:60ch;margin:0;color:var(--muted);line-height:1.85;font-size:1rem}.landing-auth-panel{display:grid;gap:16px;align-content:start;min-width:0}.landing-highlight-panel{display:grid;gap:14px;padding:24px;border-radius:28px;border:1px solid rgba(154,138,103,.18);background:radial-gradient(circle at top right,rgba(255,235,178,.42),transparent 34%),linear-gradient(160deg,#fffcf5fa,#f2e9d6f5);box-shadow:0 18px 34px #9a8a671a}.landing-highlight-panel{margin-top:6px}.landing-highlight-panel h3{margin:0}.landing-highlight-panel p{margin:0;color:var(--muted);line-height:1.75}.landing-check-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.landing-check-list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;color:var(--text);font-weight:600}.landing-check-list li:before{content:"";width:18px;height:18px;margin-top:2px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fffbf3f2,#fffbf31a 38%),linear-gradient(135deg,#e3c65cf0,#8fa883e0);box-shadow:0 6px 14px #7a68441f}.landing-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}.landing-signal-card{display:grid;gap:8px;padding:18px;border-radius:22px;background:#fffbf3cc;border:1px solid rgba(154,138,103,.14);box-shadow:inset 0 1px #ffffffb3}.landing-signal-card strong{font-size:1rem}.landing-signal-card span{color:var(--muted);line-height:1.7}.landing-main-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-primary-button{min-width:220px}.landing-screen-stage{display:grid;gap:16px}.landing-screen-viewer{display:grid;place-items:center;padding:12px;border-radius:28px;background:#fffcf5f5;border:1px solid rgba(154,138,103,.16);box-shadow:0 24px 42px #5b472024}.landing-screen-image{width:100%;max-width:100%;max-height:540px;height:auto;object-fit:contain;object-position:center top;display:block;border-radius:18px}.landing-screen-caption{display:grid;gap:8px}.landing-screen-caption strong,.landing-screen-caption p{margin:0}.landing-screen-caption p{color:var(--muted);line-height:1.75}.landing-screen-switcher{display:flex;flex-wrap:wrap;gap:10px}.landing-screen-tab{text-align:center;font:inherit;border:1px solid rgba(154,138,103,.12);background:#fffbf3d1;border-radius:999px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.landing-screen-tab span,.landing-screen-tab strong{margin:0}.landing-screen-tab span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.landing-screen-tab:hover,.landing-screen-tab:focus-visible{transform:translateY(-1px);border-color:#c9a0443d}.landing-screen-tab.is-active{background:radial-gradient(circle at top right,rgba(227,198,92,.18),transparent 34%),linear-gradient(145deg,#fffcf5fa,#edf4e7f5);border-color:#8fa88342;box-shadow:inset 0 1px #fffcf5d6}.landing-section-head{display:grid;gap:10px;align-content:start}.landing-section-head h3,.landing-section-head p{margin:0}.landing-section-card{display:grid;gap:24px;padding:30px}.landing-auth-stack{display:grid;gap:14px}.landing-auth-shortcuts{display:flex;flex-wrap:wrap;gap:10px}.landing-inline-form{padding:18px;border-radius:22px;background:#fffbf3db;border:1px solid rgba(154,138,103,.14);box-shadow:inset 0 1px #ffffffc2}.landing-inline-form-muted{background:#f8f4ece6}.landing-form-title{font-size:1rem;letter-spacing:.02em}.landing-form-copy{margin:0;color:var(--muted);line-height:1.7}.landing-step-list{display:grid;gap:14px}.landing-step-item{border-radius:22px;border:1px solid rgba(154,138,103,.14);background:#fffbf3cc;box-shadow:inset 0 1px #ffffffbd;overflow:hidden}.landing-step-item[open]{background:radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 34%),linear-gradient(145deg,#fffcf5fa,#f0f6e9f0);border-color:#8fa88333}.landing-step-summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-step-summary::-webkit-details-marker{display:none}.landing-step-summary:after{content:"+";flex:0 0 auto;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:#e3c65c2e;color:#7a7d43;font-size:1.1rem;line-height:1}.landing-step-item[open] .landing-step-summary:after{content:"-"}.landing-step-summary-copy{display:grid;gap:8px}.landing-step-summary-copy h3,.landing-feature-card h3{margin:0}.landing-step-answer,.landing-feature-card p{color:var(--muted);line-height:1.75}.landing-step-answer{margin:0;padding:0 24px 22px}.landing-step-label{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#7a7d43}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.landing-feature-card{padding:24px;display:grid;gap:18px}.landing-faq-list{display:grid;gap:14px}.landing-faq-item{border-radius:22px;border:1px solid rgba(154,138,103,.14);background:#fffbf3cc;box-shadow:inset 0 1px #ffffffbd;overflow:hidden}.landing-faq-item[open]{background:radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 34%),linear-gradient(145deg,#fffcf5fa,#f0f6e9f0);border-color:#8fa88333}.landing-faq-summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;line-height:1.6}.landing-faq-summary::-webkit-details-marker{display:none}.landing-faq-summary:after{content:"+";flex:0 0 auto;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:#e3c65c2e;color:#7a7d43;font-size:1.1rem;line-height:1}.landing-faq-item[open] .landing-faq-summary:after{content:"-"}.landing-faq-answer{margin:0;padding:0 24px 22px;color:var(--muted);line-height:1.8}.landing-auth-dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px 16px;background:#43372961;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-auth-dialog{width:min(520px,100%);padding:28px;display:grid;gap:18px}.landing-auth-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.landing-auth-dialog-head h3{margin:0}.landing-auth-dialog-close,.landing-auth-tab{font:inherit;border:none;cursor:pointer}.landing-auth-dialog-close{width:40px;height:40px;border-radius:999px;background:#fffbf3eb;border:1px solid rgba(154,138,103,.14);color:var(--text)}.landing-auth-dialog-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-auth-tab{min-height:44px;padding:0 14px;border-radius:999px;background:#f8f4eceb;color:var(--muted);font-weight:700}.landing-auth-tab.is-active{background:linear-gradient(135deg,#f4e6a7f5,#e2ecdaf5);color:#4f6148;box-shadow:inset 0 1px #fffcf5d6}.content-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{display:grid;gap:20px}.card{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,250,241,.9),transparent)}.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:24px;padding:30px;background:radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 28%),linear-gradient(135deg,#fbf7efeb,#f1e8d6eb)}.hero-copy{min-width:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero h2{font-size:clamp(1.1rem,2.2vw,2.8rem);line-height:.96;max-width:none;white-space:nowrap}.lead{max-width:60ch;color:var(--muted);line-height:1.8}.hero-panel{display:grid;gap:12px;align-content:start;justify-self:stretch;min-width:0;padding:22px;border-radius:24px;background:linear-gradient(180deg,#f8f2e7f5,#eee6d4fa),linear-gradient(135deg,#8fa88324,#e3c65c1a);border:1px solid rgba(154,138,103,.18)}.hero-side-stack{display:grid;gap:14px;align-content:start;min-width:0}.user-badge{font-size:1.3rem}.bars{display:grid;gap:12px}.info-row{display:grid;gap:4px;padding:14px 16px;border-radius:18px;background:#fffbf3b8;border:1px solid rgba(154,138,103,.14)}.chart-card,.plan-card{padding:24px;display:grid;gap:18px}.plan-text{margin:0;color:var(--muted);line-height:1.8}.guide-toggle-button{justify-self:start;max-width:100%;min-height:46px;padding:0 18px;border:1px solid rgba(143,168,131,.24);border-radius:999px;background:linear-gradient(135deg,#f9f5ecfa,#eee6d4f5);color:var(--text);cursor:pointer;font-weight:700;box-shadow:inset 0 1px #fffcf5b8,0 10px 20px #7a684414}.guide-toggle-button[aria-expanded=true]{border-color:#c9a04447;background:linear-gradient(135deg,#f4e6a78a,#f9f5ecfa)}.guide-popover{display:grid;gap:10px;max-width:100%;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#fbf7effa,#f2e9d6fa);border:1px solid rgba(154,138,103,.16);box-shadow:0 18px 34px #7a684424;overflow-wrap:anywhere}.guide-popover[hidden]{display:none!important}.budget-summary-card{display:grid;gap:14px;padding:18px;border-radius:22px;background:radial-gradient(circle at top right,rgba(227,198,92,.28),transparent 34%),linear-gradient(145deg,#fff9ecfa,#f1e8d6fa);border:1px solid rgba(201,160,68,.24);box-shadow:inset 0 1px #fffdf7e6,0 16px 30px #c9a04424}.budget-summary-head{display:grid;gap:4px}.budget-summary-head .eyebrow{margin-bottom:0}.budget-summary-head strong{font-size:1.05rem}.budget-summary-grid{display:grid;gap:10px}.budget-summary-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:#fffcf5d6;border:1px solid rgba(154,138,103,.14)}.budget-summary-item span{color:var(--muted);font-size:.92rem}.budget-summary-item strong{font-size:1.02rem;white-space:nowrap}.budget-summary-item-total{background:linear-gradient(135deg,#f4e6a7d1,#dbe8d2c7);border-color:#c9a0444d;box-shadow:inset 0 1px #fffdf7e6,0 10px 22px #c9a0441f}.budget-summary-item-total strong{font-size:1.16rem}.panel-list{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid transparent;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--yellow) 0%,var(--yellow-deep) 100%);color:#59441d;box-shadow:0 12px 24px #c9a04438}.button.secondary{background:#f9f5ecf5;border-color:#8fa88347;color:var(--text)}.button.danger{background:var(--danger-bg);color:var(--danger-text);border-color:#a0686829}.button:disabled{cursor:not-allowed;opacity:.56}.feedback{padding:16px 20px}.feedback.error{background:#eacccc85}.feedback.success{background:#d6e3ce99}.category-tabs{display:flex;gap:12px;flex-wrap:wrap}.entry-page{padding-bottom:160px}.entry-tools{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.monthly-toggle-button{min-width:140px}.monthly-panel{padding:24px;display:grid;gap:20px;overflow:visible}.monthly-panel.is-hidden{display:none}.monthly-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.monthly-panel-head h3{margin:0 0 8px}.monthly-panel-head p{margin:0;color:var(--muted)}.monthly-apply-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.monthly-apply-month-label{display:flex;flex-direction:column;gap:8px;min-width:180px}.monthly-apply-month-label>span{font-size:.85rem;color:var(--muted);font-weight:500}.monthly-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);gap:18px}.entry-import-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.25fr);gap:18px}.monthly-list,.monthly-form{border-radius:24px;padding:18px;background:#fffbf3b8;border:1px solid var(--line);overflow:visible}.monthly-list{display:grid;gap:12px}.monthly-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(154,138,103,.14)}.monthly-item:last-child{border-bottom:0}.monthly-item-copy,.monthly-item-meta,.monthly-form{display:grid;gap:8px}.monthly-item-copy span{color:var(--muted)}.monthly-item-meta{justify-items:end}.compact-button{min-height:38px;padding:0 14px}.entry-import-form,.entry-import-preview,.entry-import-errors,.entry-import-summary,.entry-import-file-field,.entry-import-format,.entry-import-actions,.entry-import-error-row{display:grid;gap:12px}.entry-import-file-field>span,.entry-import-format>span,.entry-import-summary-card>span,.entry-import-error-row>span{color:var(--muted)}.entry-import-file-field input[type=file]{width:100%}.entry-import-format code{display:block;overflow-wrap:anywhere;border-radius:14px;padding:12px 14px;background:#ffffffd1;border:1px solid rgba(154,138,103,.2)}.entry-import-actions,.entry-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-import-summary-card,.entry-import-error-row{border-radius:18px;padding:14px 16px;background:#ffffffc7;border:1px solid rgba(154,138,103,.16)}.entry-import-summary-card strong{font-size:1.3rem}.entry-import-error-row p{margin:0}@media(max-width:900px){.monthly-layout,.entry-import-layout,.entry-import-actions,.entry-import-summary{grid-template-columns:1fr}.legal-head{display:grid}}.monthly-form label{display:grid;gap:8px}.monthly-form input,.entry-date-field input{width:100%;min-height:48px;padding:0 14px;border-radius:16px;border:1px solid rgba(201,160,68,.18);background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5);color:var(--text);box-shadow:inset 0 1px #ffffffc7,0 6px 16px #7a684414;appearance:none;-webkit-appearance:none}.monthly-form .custom-select-trigger{min-height:48px;border-radius:16px}.entry-date-field{display:grid;gap:8px}.entry-date-field .monthly-select-wrap{position:relative;border-radius:20px;padding:3px;background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5),radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 34%);border:1px solid rgba(201,160,68,.18);box-shadow:inset 0 1px #ffffffd1,0 10px 24px #7a68441a}.entry-date-display{min-height:56px;width:100%;padding:0 44px 0 16px;border:0;border-radius:17px;background:linear-gradient(135deg,#fffdf7fa,#f8f2e7f5);box-shadow:inset 0 1px #ffffffd6,0 4px 12px #7a684414;font-weight:700;letter-spacing:.02em;color:var(--text);text-align:left;cursor:pointer}.entry-date-field .monthly-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:2px solid rgba(89,68,29,.68);border-bottom:2px solid rgba(89,68,29,.68);transform:translateY(-65%) rotate(45deg);pointer-events:none}.entry-calendar-popover{position:absolute;display:grid;gap:0;left:0;bottom:calc(100% + 10px);width:min(320px,calc(100vw - 40px));padding:16px;border-radius:24px;border:1px solid rgba(201,160,68,.22);background:none;background-color:#f7efdf;box-shadow:0 22px 44px #7a684433;z-index:35}.entry-calendar-popover.is-below{bottom:auto;top:calc(100% + 10px)}.entry-edit-date-picker .entry-calendar-popover{position:static;width:100%;margin-top:10px;left:auto;transform:none}.entry-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;background-color:#f7efdf}.entry-calendar-head strong{font-size:1rem}.entry-calendar-nav{width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,160,68,.2);background:linear-gradient(135deg,#fffdf7fa,#f4ecdbf5);color:var(--text);cursor:pointer}.entry-calendar-weekdays,.entry-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.entry-calendar-weekdays{margin-bottom:8px;color:var(--muted);font-size:.85rem;text-align:center;padding:8px 10px;border-radius:16px;background:none;background-color:#fbf6ea}.entry-calendar-day,.entry-calendar-blank{min-height:38px}.entry-calendar-day{border:0;border-radius:14px;background:none;background-color:#fffdf7;color:var(--text);cursor:pointer;box-shadow:inset 0 0 0 1px #c9a04414}.entry-calendar-day.is-today{box-shadow:inset 0 0 0 1px #8fa8835c,0 0 0 2px #8fa88314}.entry-calendar-day.is-selected{background:none;background-color:#efe2a8;box-shadow:0 10px 20px #c9a04429}.entry-calendar-day:hover{transform:translateY(-1px);background:none;background-color:#fffaf0}.entry-calendar-blank{display:block;border-radius:14px;background:none;background-color:#fbf6ea}.monthly-select-wrap{position:relative}.monthly-select-wrap.is-open{z-index:60}.monthly-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:2px solid rgba(89,68,29,.68);border-bottom:2px solid rgba(89,68,29,.68);transform:translateY(-65%) rotate(45deg);pointer-events:none}.entry-select-shell{position:relative;border-radius:20px;padding:3px;background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5),radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 34%);border:1px solid rgba(201,160,68,.18);box-shadow:inset 0 1px #ffffffd1,0 10px 24px #7a68441a}.entry-select-shell:before{content:none}.entry-select-shell select{min-height:54px;padding-left:16px;padding-right:44px;border:0;border-radius:17px;background:linear-gradient(135deg,#fffdf7fa,#f8f2e7f5);box-shadow:inset 0 1px #ffffffd6,0 4px 12px #7a684414;font-weight:600}.entry-select-shell select:focus{outline:none;box-shadow:inset 0 1px #ffffffe6,0 0 0 2px #8fa8832e,0 8px 18px #7a68441f}.custom-select{position:relative}.custom-select.is-open{z-index:60}.custom-select-native{position:absolute;inset:0;opacity:0;pointer-events:none}.custom-select-trigger{width:100%;min-height:54px;padding:0 44px 0 18px;border:1px solid rgba(201,160,68,.18);border-radius:20px;background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5),radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 34%);color:var(--text);text-align:left;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #7a68441a;cursor:pointer;position:relative}.custom-select-trigger:after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid rgba(89,68,29,.68);border-bottom:2px solid rgba(89,68,29,.68);transform:translateY(-65%) rotate(45deg);pointer-events:none}.custom-select-trigger-text{display:block;font-weight:700}.custom-select-panel{position:absolute;box-sizing:border-box;left:0;right:0;top:calc(100% + 10px);max-height:280px;overflow-y:auto;padding:10px;border-radius:22px;border:1px solid rgba(201,160,68,.22);background:#f7efdf;box-shadow:0 22px 44px #7a684433;z-index:1000;display:grid;gap:8px}.custom-select-panel[hidden]{display:none!important}.custom-select-option{width:100%;padding:12px 14px;border:1px solid rgba(154,138,103,.12);border-radius:16px;background:#fffdf7d1;color:var(--text);display:flex;align-items:center;justify-content:flex-start;text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.custom-select-option-text{display:block;width:100%;color:var(--text);font-size:1rem;font-weight:700;line-height:1.45;-webkit-text-fill-color:var(--text)}.custom-select-option:hover{transform:translateY(-1px);background:linear-gradient(135deg,#fffdf7,#f4ecdbfa)}.custom-select-option.is-selected{background:linear-gradient(135deg,#f4e6a7f5,#dbe8d2eb);box-shadow:0 10px 20px #c9a04424}.entry-layout{display:grid;gap:16px}.entry-records{padding:24px;display:grid;gap:18px;overflow:visible}.entry-records-head h3{margin:0}.entry-filter-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}.entry-filter-form label{display:grid;gap:8px}.entry-filter-form input,.entry-edit-form input{width:100%;min-height:48px;padding:0 14px;border-radius:16px;border:1px solid rgba(201,160,68,.18);background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5);color:var(--text);box-shadow:inset 0 1px #ffffffc7,0 6px 16px #7a684414;appearance:none;-webkit-appearance:none}.entry-filter-form .custom-select-trigger,.entry-edit-form .custom-select-trigger{min-height:48px;border-radius:16px}.entry-filter-actions{display:flex;gap:10px;flex-wrap:wrap}.filter-date-picker{position:relative;width:100%;border-radius:20px;padding:3px;background:linear-gradient(135deg,#fffcf5fa,#f3ebd8f5),radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 34%);border:1px solid rgba(201,160,68,.18);box-shadow:inset 0 1px #ffffffd1,0 10px 24px #7a68441a}.filter-date-picker .entry-date-display{min-height:48px;padding-left:44px;font-weight:600}.filter-date-picker:before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);border-radius:6px;background:linear-gradient(180deg,#e3c65c47,#8fa8833d);box-shadow:inset 0 0 0 2px #fffdf7e6,0 4px 8px #7a684414;pointer-events:none;opacity:.9}.filter-date-picker .entry-calendar-popover{bottom:auto;top:calc(100% + 10px)}.entry-table-wrap{overflow-x:auto;border-radius:22px;border:1px solid rgba(154,138,103,.14);background:#fffbf3bd}.entry-table{width:100%;border-collapse:collapse}.entry-table th,.entry-table td{padding:16px 18px;text-align:left;border-bottom:1px solid rgba(154,138,103,.12);white-space:nowrap}.entry-table thead th{color:var(--muted);font-size:.92rem;background:#f8f2e7b8}.entry-table tbody tr:hover{background:#fffdf7b8}.entry-table-empty{text-align:center!important;color:var(--muted)}.entry-history-section{margin-top:0}@media(max-width:600px){.entry-table-wrap{border-radius:0;border:none;background:none;overflow-x:visible}.entry-table{display:block}.entry-table thead{display:none}.entry-table tbody{display:grid;gap:8px}.entry-table tr{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 12px;padding:12px 16px;border-radius:16px;background:#fffbf3d1;border:1px solid rgba(154,138,103,.14);border-bottom:1px solid rgba(154,138,103,.14)!important}.entry-table td{display:block;padding:0;border:none;white-space:normal}.entry-table td:nth-child(1){grid-column:1;grid-row:1;font-size:.82rem;color:var(--muted)}.entry-table td:nth-child(2){grid-column:1;grid-row:2;font-weight:600;font-size:.96rem}.entry-table td:nth-child(3){grid-column:2;grid-row:1 / 3;display:flex;align-items:center;font-weight:700;font-size:1rem;justify-content:flex-end}.entry-table td:nth-child(4){grid-column:1 / -1;grid-row:3;margin-top:8px;padding-top:8px;border-top:1px solid rgba(154,138,103,.1)}.entry-table-empty td{padding:16px}}.simple-chip-grid{display:flex;flex-wrap:wrap}.entry-category-stack{display:grid;gap:16px}.entry-category-group{padding:18px;border:1px solid rgba(227,198,92,.18);border-radius:26px;background:linear-gradient(180deg,#fffbf3e0,#f4ecdbb8),radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 32%);display:grid;gap:14px}.entry-category-group-head{display:flex;align-items:center;justify-content:space-between}.entry-parent-card{display:grid;gap:12px;padding:14px;border-radius:22px;background:#fffdf7b8;border:1px solid rgba(154,138,103,.12)}.entry-parent-shell{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#faf4e8f5,#f3ebd8eb)}.entry-parent-shell.is-branch{border:1px dashed rgba(154,138,103,.28);background:linear-gradient(135deg,#f7f2e8f5,#eee7d8eb),repeating-linear-gradient(-45deg,#e3c65c0a,#e3c65c0a 10px,#8fa8830a 10px 20px)}.entry-parent-shell small{display:block;margin-top:4px;color:var(--muted)}.entry-parent-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--yellow),var(--green));box-shadow:0 0 0 4px #e3c65c1f}.entry-option-grid{display:flex;flex-wrap:wrap;gap:12px}.entry-option-chip{min-height:48px;justify-content:center}.entry-option-chip.is-selected{transform:translateY(-1px) scale(1.02)}.entry-amount-field{display:grid;gap:8px}.entry-quick-editor{position:fixed;left:max(16px,calc((100vw - 1240px)/2 + 16px));right:max(16px,calc((100vw - 1240px)/2 + 16px));bottom:16px;z-index:25;display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.4fr) auto;gap:16px;align-items:center;padding:18px;border-radius:28px;border:1px solid rgba(201,160,68,.26);background:linear-gradient(135deg,#fffcf5fa,#f4ecdbfa),radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 30%);box-shadow:0 20px 46px #7a684438}.entry-quick-editor[hidden]{display:none!important}.entry-quick-editor-copy strong{font-size:1rem;line-height:1.5}.entry-quick-editor-fields{display:grid;gap:10px}.entry-quick-editor-note{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.entry-quick-editor-actions{display:flex;gap:10px;align-items:center}.entry-amount-input-wrap{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fffdf7f5}.entry-amount-input-wrap input{width:100%;border:0;outline:0;background:transparent;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--text)}.entry-amount-input-wrap strong{color:var(--muted)}.amount-preset-grid{margin-top:0;gap:10px;padding-left:0}.amount-preset-grid .category-chip:before,.amount-preset-grid .category-chip:after{display:none}.amount-preset-chip,.clear-chip{min-height:42px}.entry-submit-button{width:auto;min-width:124px;min-height:56px;margin-top:0}.category-page{padding-bottom:360px}.category-quick-editor{position:fixed;left:max(16px,calc((100vw - 1240px)/2 + 16px));right:max(16px,calc((100vw - 1240px)/2 + 16px));bottom:16px;z-index:25;display:grid;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:14px;padding:18px;border-radius:28px;border:1px solid rgba(201,160,68,.26);background:linear-gradient(135deg,#fffcf5fa,#f4ecdbfa),radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 30%);box-shadow:0 20px 46px #7a684438;overflow-x:visible}.category-quick-editor[hidden]{display:none!important}.category-quick-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.category-quick-editor-copy{display:grid;gap:4px}.category-quick-editor-copy p{margin:0}.category-quick-editor-copy strong{font-size:1rem;line-height:1.5}.category-quick-editor-mode-bar{display:flex;flex-wrap:wrap;gap:10px}.category-mode-button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fffaf1f5;color:var(--muted);font-weight:700}.category-mode-button.is-active{border-color:#c9a0444d;background:linear-gradient(135deg,#f6e9adf0,#e8f0dee6);color:var(--text);box-shadow:0 10px 20px #c9a04424}.category-editor-form{display:grid;gap:10px}.category-editor-form[hidden]{display:none!important}.category-editor-form .dialog-field{margin-bottom:0}.category-editor-actions{display:grid;gap:10px}.category-editor-actions .button,.category-editor-submit{width:100%;min-height:52px}.category-delete-message{margin:0;padding:16px 18px;border-radius:18px;background:#fff8f5eb;border:1px solid rgba(160,104,104,.16);color:var(--danger-text);font-weight:600}.entry-history-list{display:none}.entry-category-parent p{margin:0;color:var(--muted)}.tab-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;color:inherit;font:inherit;text-decoration:none;cursor:pointer;appearance:none;border-radius:999px;border:1px solid var(--line);background:#f9f5ece0;box-shadow:inset 0 1px #fffbf4d9}.tab-pill span{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:#e3c65c29;color:#7b5e20;font-size:.85rem}.tab-pill.active{background:linear-gradient(135deg,#f4e6a79e,#f9f5ecf5);border-color:#c9a04447}.selection-bar{position:sticky;top:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(135deg,#fffcf5f5,#f4ecdbfa);box-shadow:0 18px 34px #7a684429}.selection-bar[data-visible=false]{opacity:.94}.selection-bar-copy{display:grid;gap:4px}.selection-bar-copy strong{font-size:1.15rem}.selection-bar-copy span{color:var(--muted)}.selection-bar-actions{display:flex;gap:10px;flex-wrap:wrap}.category-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}.form-card{padding:24px;position:sticky;top:104px}.category-form{display:grid;gap:16px;margin-top:24px}.category-form label{display:grid;gap:8px;font-weight:600}.category-form input,.category-form select{width:100%;min-height:50px;padding:0 14px;border-radius:16px;border:1px solid var(--line);background:#fcf8eff5;color:var(--text)}.submit-button{margin-top:8px}.form-guide{margin-top:22px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#f9f5eceb,#f1e8d6e0);border:1px solid rgba(154,138,103,.14)}.guide-title{margin:0 0 10px;font-weight:700}.form-guide ul{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--muted)}.category-display{min-width:0}.category-display-wide{width:100%}.expense-sections{display:grid;gap:28px}.expense-section{position:relative;display:grid;gap:14px;padding:0 0 8px;isolation:isolate}.expense-section:before{content:"";position:absolute;inset:-14px -18px -10px;border-radius:30px;border:1px solid rgba(227,198,92,.2);background:linear-gradient(180deg,#fffbf3e0,#f4ecdbc7),radial-gradient(circle at top right,rgba(227,198,92,.12),transparent 34%),radial-gradient(circle at bottom left,rgba(143,168,131,.12),transparent 30%);box-shadow:0 20px 36px #7a684414,0 0 0 1px #fffcf58a inset;z-index:-2}.expense-section:after{content:"";position:absolute;left:-4px;top:22px;bottom:22px;width:6px;border-radius:999px;background:linear-gradient(180deg,#e3c65c8c,#8fa88373);box-shadow:0 0 0 6px #e3c65c14;z-index:-1}.expense-group-node,.category-group-node{width:100%;display:flex;align-items:center;gap:16px;padding:18px 22px;border:1.5px solid rgba(227,198,92,.24);border-radius:22px;background:linear-gradient(135deg,#fffcf5fa,#f4ecdbf0);color:var(--text);text-align:left;cursor:pointer;box-shadow:0 10px 24px #7a68441a,0 0 0 1px #ffffff94 inset;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease;cursor:grab}.expense-group-node:hover,.category-group-node:hover{transform:translateY(-3px);border-color:#e3c65c61;box-shadow:0 14px 28px #7a684424,0 0 0 1px #ffffffb8 inset}.expense-group-node-copy{display:grid;gap:3px}.expense-group-node-copy .eyebrow{margin-bottom:0}.expense-group-node-copy strong{font-size:1.2rem}.expense-group-node-dot{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-deep));box-shadow:0 0 0 4px #8fa8832e,0 4px 12px #67806033}.expense-section-head{display:grid;gap:2px;padding:0 2px}.expense-section-head h3{font-size:clamp(1.5rem,2vw,2rem)}.category-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.category-group-card,.simple-section{position:relative;padding:28px;border-radius:20px;background:linear-gradient(135deg,#fffcf5f5,#f4ecdbf0,#ebe3d0eb);border:2px solid;border-color:#e3c65c47;box-shadow:0 0 0 1px #fff9 inset,0 8px 28px #7a68441f,0 0 40px #e3c65c14;transition:all .28s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.category-group-card:before{content:"";position:absolute;left:42px;top:76px;bottom:28px;width:3px;background:linear-gradient(180deg,#e3c65c7a,#8fa8836b,#e3c65c52);border-radius:2px}.category-group-card:hover{transform:translateY(-6px);border-color:#e3c65c6b;box-shadow:0 0 0 1px #fffc inset,0 16px 40px #7a684429,0 0 60px #e3c65c1f}.category-group-title{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid rgba(227,198,92,.2)}.group-dot{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));box-shadow:0 0 0 4px #e3c65c33,0 4px 12px #c9a04447;animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px #e3c65c33,0 4px 12px #c9a04447}50%{box-shadow:0 0 0 8px #e3c65c1a,0 4px 16px #c9a0445c}}.category-group-title strong,.category-group-node strong{font-size:1.08rem;color:var(--text);letter-spacing:.02em}.category-chip-flow{display:flex;flex-wrap:wrap;gap:16px;padding-left:42px;position:relative}.category-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border:1.5px solid transparent;border-radius:18px;background:linear-gradient(135deg,#fffdf8fa,#f8f2e7f5);color:var(--text);box-shadow:0 2px 8px #7a684414,0 0 0 1px #e3c65c24 inset;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;font-weight:600;cursor:grab}.category-chip>span:last-child{text-align:center}.category-chip:before{content:"";position:absolute;left:-22px;top:50%;width:16px;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,#e3c65c7a,#8fa8836b);border-radius:1px;transition:width .2s ease,opacity .2s ease}.category-chip:after{content:"";position:absolute;left:-22px;top:50%;width:2px;height:2px;transform:translate(-8px,-50%);background:linear-gradient(135deg,#e3c65c8f,#8fa8837a);border-radius:50%;box-shadow:0 0 0 4px #e3c65c1f}.category-chip:hover{transform:translateY(-3px) scale(1.02);border-color:#e3c65c52;box-shadow:0 8px 18px #7a684424,0 0 0 1px #e3c65c3d inset;background:linear-gradient(135deg,#fffdf8,#f4ecdbfa)}.category-chip:focus-visible{outline:2px solid rgba(201,160,68,.42);outline-offset:2px}.chip-check{display:none}.category-chip.is-selected{border-color:#e3c65c7a;background:linear-gradient(135deg,#f4e6a7eb,#dbe8d2e0);color:#4d3d23;box-shadow:0 10px 28px #c9a04433,0 0 0 1px #e3c65c52 inset;transform:translateY(-2px) scale(1.04)}.category-chip.is-selected .chip-check{display:none}.category-root-panel,.category-panel-head{display:flex;align-items:stretch;gap:12px}.category-root-panel{margin-bottom:18px}.category-stack{display:grid;gap:18px}.category-chip-shell.is-dragging,.category-group-card.is-dragging,.expense-section.is-dragging{z-index:10}.category-chip-shell.is-dragging .category-chip,.category-group-card.is-dragging,.expense-section.is-dragging .expense-group-node{box-shadow:0 18px 34px #7a684433,0 0 0 1px #e3c65c3d inset}.expense-group-node,.category-group-node,.category-chip{cursor:default}.category-chip-shell,.category-group-card,.expense-section{cursor:grab}.category-chip-shell:active,.category-group-card:active,.expense-section:active{cursor:grabbing}.category-chip-button{padding-right:0}.category-chip-button{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 14px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.category-chip-button>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-chip-button>span:last-child{color:var(--muted);font-size:.88rem;line-height:1.4;white-space:nowrap;flex-shrink:0}.category-drag-handle{flex-shrink:0;align-self:center;width:44px;min-height:44px;display:inline-grid;place-items:center;gap:4px;border:1px solid rgba(201,160,68,.24);border-radius:16px;background:linear-gradient(135deg,#fffcf5fa,#f2e9d6f5);box-shadow:inset 0 1px #ffffffd1;touch-action:none;cursor:grab}.category-drag-handle span{display:block;width:16px;height:2px;border-radius:999px;background:#59441db8}.category-drag-handle:active{cursor:grabbing}.category-root-node{min-height:72px}.category-group-card .category-chip-flow{margin-top:18px}.simple-section{display:grid;gap:24px}.simple-chip-grid{display:flex;flex-wrap:wrap;gap:16px}.simple-chip:before{display:none}.simple-chip:after{display:none}.income-chip{background:linear-gradient(135deg,#fffdf5fa,#f5ecd2f5);border-color:#e3c65c24}.income-chip:hover{border-color:#e3c65c4d;background:linear-gradient(135deg,#fffdf5,#f4ecdbfa)}.income-chip.is-selected{border-color:#e3c65c7a;background:linear-gradient(135deg,#f4e6a7eb,#dbe8d2e0)}.saving-chip{background:linear-gradient(135deg,#f5fdf3fa,#ebf4e4f5);border-color:#8fa88324}.saving-chip:hover{border-color:#8fa8834d;background:linear-gradient(135deg,#f5fdf3,#ebf4e4fa)}.saving-chip.is-selected{border-color:#8fa8837a;background:linear-gradient(135deg,#d9e4d0eb,#cfdfc2e0)}.category-chip.is-context-target{border-color:#c9a04470;background:linear-gradient(135deg,#f8efc6fa,#efe8d4f5);box-shadow:0 12px 28px #c9a04429,0 0 0 1px #e3c65c47 inset;transform:translateY(-2px) scale(1.03)}.category-chip.is-context-target .chip-check{display:none}.expense-group-node.is-context-target,.category-group-node.is-context-target{border-color:#c9a0446b;background:linear-gradient(135deg,#f6e9adf0,#e8f0dee6);box-shadow:0 16px 28px #c9a04424,0 0 0 1px #e3c65c42 inset}.reorder-item.is-dragging{opacity:.42}.reorder-container{min-width:0}.empty-inline,.empty-card{color:var(--muted)}.empty-card{display:grid;place-items:center;min-height:160px}.context-menu{position:fixed;z-index:30;min-width:220px;padding:12px;border-radius:22px;border:1px solid rgba(154,138,103,.18);background:linear-gradient(180deg,#fcf8f0fa,#f1e9d8fa),radial-gradient(circle at top right,rgba(227,198,92,.14),transparent 42%);box-shadow:0 24px 44px #7a684433,0 0 0 1px #fffcf58f inset}.context-menu-title{padding:4px 10px 10px;color:var(--muted);font-size:.88rem;letter-spacing:.02em}.context-menu-budget{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 2px 12px;padding:12px 14px;border-radius:16px;background:#fffbf3d1;border:1px solid rgba(201,160,68,.16)}.context-menu-budget-label{color:var(--muted);font-size:.88rem}.context-menu-budget strong{font-size:1rem;white-space:nowrap}.context-menu-budget[hidden]{display:none!important}.context-menu-actions{display:grid;gap:8px}.context-menu-button{width:100%;min-height:46px;padding:0 16px;border:1px solid rgba(160,104,104,.16);border-radius:16px;background:linear-gradient(135deg,#ead0d0e0,#f5e6def5);color:var(--danger-text);text-align:left;cursor:pointer;font-weight:700;box-shadow:inset 0 1px #fff7f4b8,0 8px 18px #a068681f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.context-menu-button-add{border-color:#6780602e;background:linear-gradient(135deg,#ddebd6eb,#f1f7ebfa);color:var(--green-deep);box-shadow:inset 0 1px #fcfff9b8,0 8px 18px #6780601a}.context-menu-button-edit{border-color:#6e7e9a2e;background:linear-gradient(135deg,#d9e1efeb,#f1f5fcfa);color:#2f4b68;box-shadow:inset 0 1px #f8fbffc2,0 8px 18px #6e7e9a1f}.context-menu-button:hover{transform:translateY(-1px);border-color:#a0686842;box-shadow:inset 0 1px #fff7f4cc,0 12px 22px #a0686829}.context-menu-button-add:hover{border-color:#67806042;box-shadow:inset 0 1px #fcfff9cc,0 12px 22px #67806024}.context-menu-button-edit:hover{border-color:#6e7e9a47;box-shadow:inset 0 1px #f8fbffd1,0 12px 22px #6e7e9a29}.context-menu-button:focus-visible{outline:2px solid rgba(201,160,68,.36);outline-offset:2px}.confirm-dialog{border:0;padding:0;background:transparent;overflow:visible}.confirm-dialog::backdrop{background:#43372942;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog-card{width:min(460px,calc(100vw - 24px));padding:26px;border-radius:28px;border:1px solid rgba(154,138,103,.14);background:linear-gradient(180deg,#fbf7effa,#f2e9d6fa);box-shadow:0 24px 48px #7a684438;overflow:visible}.confirm-dialog-card h3{margin:0 0 12px}.confirm-dialog-card p{margin-top:0;color:var(--muted)}.dialog-field{display:grid;gap:8px;margin-bottom:18px;font-weight:600}.dialog-field[hidden]{display:none!important}.dialog-field input,.dialog-field select{width:100%;min-height:50px;padding:0 14px;border-radius:16px;border:1px solid var(--line);background:#fcf8eff5;color:var(--text)}.saving-goal-chip{align-items:flex-start;gap:6px}.saving-goal-chip-meta{font-size:.78rem;color:var(--muted);white-space:normal}.saving-goal-chip.has-goal{border-color:#8fa88352;box-shadow:0 10px 22px #6780601f,0 0 0 1px #8fa88333 inset}.saving-goal-dialog-card{width:min(560px,calc(100vw - 24px))}.saving-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.saving-goal-bonus{margin:8px 0 18px;padding:16px;border-radius:20px;background:#f8fcf5e6;border:1px solid rgba(143,168,131,.18)}.saving-goal-bonus p{margin-bottom:12px}.saving-goal-bonus-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.saving-goal-bonus-head p{margin:0}.saving-goal-bonus-add,.saving-goal-bonus-remove{min-height:44px}.saving-goal-bonus-list{display:grid;gap:12px}.saving-goal-bonus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0 12px;align-items:end}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.action-sheet-backdrop{position:fixed;inset:0;z-index:45;background:#43372942;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.action-sheet-backdrop[hidden]{display:none!important}.action-sheet{position:fixed;inset:auto 0 0;z-index:50;display:flex;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.action-sheet[hidden]{display:none!important}.action-sheet-card{width:min(680px,100%);max-height:min(84vh,760px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:calc(26px + env(safe-area-inset-bottom));box-shadow:0 18px 28px #7a684424,0 34px 70px #7a68443d;touch-action:pan-y}.action-sheet-card .confirm-dialog-actions{display:grid;grid-template-columns:1fr}.action-sheet-card .confirm-dialog-actions .button{width:100%;min-height:52px}.action-sheet-handle{width:52px;height:6px;margin:0 auto 18px;border-radius:999px;background:#9a8a6752}@media(max-width:1100px){.category-layout{grid-template-columns:1fr}.form-card{position:static}.category-group-grid,.entry-layout,.monthly-layout{grid-template-columns:1fr}.entry-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.saving-goal-grid,.saving-goal-bonus-grid{grid-template-columns:1fr}.action-sheet{padding-left:0;padding-right:0;padding-bottom:0}.action-sheet-card{width:100%;max-height:min(88vh,100dvh - 12px);border-bottom-left-radius:0;border-bottom-right-radius:0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}}@media(max-width:960px){.hero,.auth-shell,.content-grid-compact{grid-template-columns:1fr}.hero h2{font-size:clamp(1.2rem,5vw,2.2rem);white-space:normal}.selection-bar{top:8px;grid-template-columns:1fr}}@media(max-width:720px){.page-shell{width:min(100% - 20px,1240px);padding-top:16px}.topbar{display:flex;align-items:center;gap:12px;padding:4px 0 18px}.topbar-actions{width:auto;display:flex;align-items:center;justify-content:flex-end;padding-right:0;flex:0 0 auto}.topbar .eyebrow{display:none}.topbar h1{font-size:clamp(1.4rem,7vw,2rem)}.topnav,.account-icon-link{display:none}.topbar-menu{display:block}.category-tabs{display:grid;grid-template-columns:1fr}.monthly-panel{padding:20px}.monthly-panel-head{display:grid}.entry-quick-editor{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;gap:12px;padding:14px}.entry-calendar-popover{left:0;right:auto;transform:none;width:min(320px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.entry-submit-button{width:100%}.entry-quick-editor-actions{display:grid}.category-page{padding-bottom:440px}.category-quick-editor{left:10px;right:10px;bottom:10px;max-height:calc(100dvh - 20px);padding:14px}.category-quick-editor-head,.category-quick-editor-mode-bar,.category-editor-actions{display:grid}.entry-records{padding:20px}.entry-filter-form{grid-template-columns:1fr}.selection-bar{display:grid}.selection-bar-actions{display:grid;grid-template-columns:1fr}.category-group-card,.simple-section,.hero,.form-card,.selection-bar{padding:20px}.category-group-card:before{left:28px}.expense-section:before{inset:-10px -8px -6px;border-radius:24px}.expense-section:after{left:-2px;top:18px;bottom:18px}.category-chip-flow{padding-left:28px}.category-chip:before{left:-18px;width:14px}}.product-home,.household-page{gap:24px}.product-home-hero{background:radial-gradient(circle at top right,rgba(143,168,131,.14),transparent 28%),radial-gradient(circle at bottom left,rgba(227,198,92,.12),transparent 24%),linear-gradient(135deg,#fbf7eff0,#efe7d4f0)}.lifeplan-page{display:grid;gap:20px;min-width:0}.lifeplan-sheet-backdrop{position:fixed;inset:0;z-index:20;background:#40342533;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lifeplan-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;background:radial-gradient(circle at top left,rgba(227,198,92,.18),transparent 24%),radial-gradient(circle at bottom right,rgba(143,168,131,.18),transparent 26%),linear-gradient(145deg,#fbf7eff5,#e8f0f8f0)}.lifeplan-hero-copy,.lifeplan-hero-side,.lifeplan-panel{display:grid;gap:16px;min-width:0}.lifeplan-hero{padding:26px}.lifeplan-hero-points{display:grid;gap:12px}.lifeplan-hero-point,.lifeplan-summary-card,.lifeplan-selected-card,.lifeplan-event-card,.lifeplan-empty-state{border:1px solid rgba(154,138,103,.14);background:#fffbf3c2;box-shadow:inset 0 1px #ffffffbd,0 14px 30px #7a684414}.lifeplan-hero-point{display:grid;gap:6px;padding:16px 18px;border-radius:22px}.lifeplan-hero-point strong,.lifeplan-summary-card strong,.lifeplan-selected-card h3,.lifeplan-event-card h4{margin:0;overflow-wrap:anywhere;word-break:break-word}.lifeplan-hero-point span,.lifeplan-summary-card span,.lifeplan-selected-note,.lifeplan-chart-note,.lifeplan-event-meta span,.lifeplan-empty-state span{color:var(--muted);line-height:1.7;overflow-wrap:anywhere;word-break:break-word}.lifeplan-summary-card{display:grid;gap:8px;padding:18px 20px;border-radius:24px}.lifeplan-summary-card strong{font-size:clamp(1.4rem,3.8vw,2rem)}.lifeplan-timeline-card,.lifeplan-panel{overflow:hidden}.lifeplan-panel{padding:24px;min-width:0}.lifeplan-event-list,.lifeplan-forecast-box,.lifeplan-section-head{min-width:0}.lifeplan-panel h3,.lifeplan-panel h4,.lifeplan-panel p,.lifeplan-hero h2,.lifeplan-hero p{overflow-wrap:anywhere;word-break:break-word}.lifeplan-timeline-shell{display:grid;gap:4px;min-width:0}.lifeplan-timeline-title-card{margin-bottom:0}.lifeplan-timeline-actions{margin-top:10px}.lifeplan-section-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}.lifeplan-section-head h3{margin:4px 0 0}.lifeplan-overview-graph-shell{overflow-x:auto;margin:0;padding:2px 0 0;scrollbar-width:none;cursor:grab;touch-action:pan-x;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;box-sizing:border-box}.lifeplan-overview-graph-shell::-webkit-scrollbar{display:none}.lifeplan-overview-graph{position:relative;min-height:310px}.lifeplan-overview-axis{position:absolute;left:0;right:0;bottom:34px;height:3px;border-radius:999px;background:linear-gradient(90deg,#e3c65c59,#e3c65cb8,#8fa88373)}.lifeplan-overview-age{position:absolute;bottom:0;transform:translate(-50%);border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:var(--muted)}.lifeplan-overview-dot{width:14px;height:14px;border-radius:50%;background:#fffbf3fa;border:4px solid rgba(227,198,92,.62);box-shadow:0 8px 18px #7a68441f}.lifeplan-overview-label{font-size:.72rem;font-weight:700}.lifeplan-overview-age.is-active .lifeplan-overview-dot{background:linear-gradient(135deg,#ffecacfa,#f4f9ecfa);box-shadow:0 14px 24px #c9a04429,0 0 0 6px #e3c65c1f}.lifeplan-overview-age.is-active .lifeplan-overview-label{color:var(--text)}.lifeplan-overview-card{position:absolute;width:116px;min-height:64px;padding:12px 12px 10px;border-radius:18px;border:1px solid rgba(255,255,255,.85);text-align:left;box-shadow:0 12px 24px #7a68441f;transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}.lifeplan-overview-card strong,.lifeplan-overview-card span{display:block}.lifeplan-overview-card strong{font-size:.84rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.lifeplan-overview-card span{margin-top:4px;color:#433729b8;font-size:.72rem}.lifeplan-overview-card.is-selected,.lifeplan-overview-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #7a684429,0 0 0 4px #e3c65c1f}.lifeplan-overview-link{position:absolute;width:1px;transform:translate(-50%);background:linear-gradient(180deg,#d8b44db8,#d8b44d1f)}.lifeplan-overview-link.is-active{background:linear-gradient(180deg,#d8b44deb,#d8b44d33)}.lifeplan-age-rail-shell{position:relative;margin:0;padding:0;min-width:0}.lifeplan-age-rail-viewport{overflow-x:auto;overflow-y:hidden;cursor:grab;touch-action:pan-x;max-width:100%;min-width:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lifeplan-age-rail-viewport::-webkit-scrollbar{display:none}.lifeplan-age-rail{display:flex;gap:10px;align-items:flex-start;padding:0 0 12px}.lifeplan-age-rail-spacer{flex:0 0 auto;height:1px}.lifeplan-chart-scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-x}.lifeplan-chart-scroll::-webkit-scrollbar{display:none}.lifeplan-forecast-section{display:grid;gap:4px}.lifeplan-forecast-chart-frame{padding:0;background:transparent;border-radius:0;box-shadow:none}.lifeplan-age-rail::-webkit-scrollbar{display:none}.lifeplan-age-marker{width:96px;min-width:96px;padding:8px 6px 0;border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:var(--muted);position:relative;z-index:1}.lifeplan-age-number{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fffbf3d1;border:1px solid rgba(154,138,103,.14);font-size:1.3rem;font-weight:700;box-shadow:0 10px 22px #7a684414;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.lifeplan-age-label{font-size:.88rem;font-weight:700}.lifeplan-age-pins{min-height:18px;display:flex;align-items:center;justify-content:center;gap:5px}.lifeplan-age-pin{width:8px;height:8px;border-radius:50%;background:#80a8d2e0}.lifeplan-age-pin.is-hidden{opacity:0}.lifeplan-age-pin-more{font-size:.74rem;font-weight:700;color:var(--muted)}.lifeplan-age-marker.is-active .lifeplan-age-number{background:linear-gradient(135deg,#ffecacfa,#fff7e6fa);box-shadow:0 16px 28px #c9a04429,0 0 0 6px #e3c65c1f;transform:translateY(-2px) scale(1.05);color:#5b4720}.lifeplan-age-marker.is-active .lifeplan-age-label{color:var(--text)}.lifeplan-age-marker.is-active .lifeplan-age-pin{background:var(--yellow-deep);box-shadow:0 0 0 4px #e3c65c24}.lifeplan-selected-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:24px;margin-top:12px}.lifeplan-selected-amount{text-align:right}.lifeplan-selected-amount span{display:block;font-size:.85rem;color:var(--muted)}.lifeplan-selected-amount strong{font-size:1.1rem}.lifeplan-main-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:20px}.lifeplan-event-list{display:grid;gap:14px}.lifeplan-event-card,.lifeplan-empty-state{border-radius:26px;padding:18px}.lifeplan-event-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.lifeplan-category-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,#e2ecdae6,#f8f3e8f5);color:#546a4c;font-size:.84rem;font-weight:700}.lifeplan-category-chip.is-housing,.lifeplan-event-card.is-housing,.lifeplan-overview-card.is-housing{background:linear-gradient(135deg,#d6efd9f5,#fffbf3fa)}.lifeplan-category-chip.is-marriage,.lifeplan-event-card.is-marriage,.lifeplan-overview-card.is-marriage{background:linear-gradient(135deg,#f8dce0f5,#fffbf3fa)}.lifeplan-category-chip.is-childcare,.lifeplan-event-card.is-childcare,.lifeplan-overview-card.is-childcare{background:linear-gradient(135deg,#f8e0ecf5,#fffbf3fa)}.lifeplan-category-chip.is-education,.lifeplan-event-card.is-education,.lifeplan-overview-card.is-education{background:linear-gradient(135deg,#fbebc4f5,#fffbf3fa)}.lifeplan-category-chip.is-career,.lifeplan-event-card.is-career,.lifeplan-overview-card.is-career{background:linear-gradient(135deg,#d6e8f8f5,#fffbf3fa)}.lifeplan-category-chip.is-mobility,.lifeplan-event-card.is-mobility,.lifeplan-overview-card.is-mobility{background:linear-gradient(135deg,#d6f1f4f5,#fffbf3fa)}.lifeplan-category-chip.is-healthcare,.lifeplan-event-card.is-healthcare,.lifeplan-overview-card.is-healthcare{background:linear-gradient(135deg,#e6e0f8f5,#fffbf3fa)}.lifeplan-category-chip.is-leisure,.lifeplan-event-card.is-leisure,.lifeplan-overview-card.is-leisure{background:linear-gradient(135deg,#fae5cff5,#fffbf3fa)}.lifeplan-category-chip.is-major-other,.lifeplan-event-card.is-major-other,.lifeplan-overview-card.is-major-other{background:linear-gradient(135deg,#eae5dff5,#fffbf3fa)}.lifeplan-event-main p,.lifeplan-event-meta{margin:0}.lifeplan-event-meta{display:grid;gap:6px;margin-top:14px}.lifeplan-event-age{color:var(--muted)}.lifeplan-event-amount{font-size:1.18rem;letter-spacing:.01em;color:var(--text)}.lifeplan-event-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.lifeplan-empty-state{display:grid;gap:8px}.lifeplan-chart-summary{display:grid;gap:4px;text-align:right}.lifeplan-chart-summary span{font-size:.84rem;color:var(--muted)}.lifeplan-chart-summary strong{font-size:1.2rem}.lifeplan-chart-note{margin:14px 0 0;font-size:.92rem}.lifeplan-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;color:var(--muted);font-size:.86rem}.lifeplan-chart-legend span{display:inline-flex;align-items:center;gap:8px}.lifeplan-forecast-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.lifeplan-forecast-stat{padding:12px 14px;border-radius:18px;border:1px solid rgba(154,138,103,.12);background:#fffbf3b8}.lifeplan-forecast-stat span{display:block;color:var(--muted);font-size:.78rem}.lifeplan-forecast-stat strong{display:block;margin-top:6px;font-size:.96rem}.lifeplan-chart-legend i{display:inline-block;width:14px;height:14px;border-radius:4px}.lifeplan-chart-legend .is-annual{background:linear-gradient(180deg,#e68a75eb,#d1654deb)}.lifeplan-chart-legend .is-cumulative{background:linear-gradient(180deg,#70a8deeb,#527ec9eb)}.lifeplan-chart{display:grid;gap:12px;min-width:0;padding:10px 8px 8px;border-radius:24px;background:linear-gradient(180deg,#ffffff94,#ecf3f9d6),repeating-linear-gradient(to top,rgba(154,138,103,.08) 0,rgba(154,138,103,.08) 1px,transparent 1px,transparent 52px)}.lifeplan-forecast-box{display:grid;gap:16px;min-width:0;padding:24px}.lifeplan-forecast-box-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.lifeplan-forecast-box-head h2{margin:4px 0 0;overflow-wrap:anywhere}.lifeplan-forecast-box-total{min-width:176px;padding:14px 18px;border-radius:999px;background:#e8f4e2b8;text-align:right}.lifeplan-forecast-box-total p{margin:0;color:var(--muted);font-size:.76rem}.lifeplan-forecast-box-total strong{display:block;margin-top:4px;font-size:1.35rem}.lifeplan-recharts-frame{position:relative;min-height:260px;overflow:hidden;background:transparent;border:0;box-shadow:none}.lifeplan-recharts-current-age{pointer-events:none;position:absolute;inset:10px auto 8px;z-index:2;display:flex;flex-direction:column;align-items:center}.lifeplan-recharts-current-age span{padding:2px 8px;border-radius:999px;background:#e8f4fff5;color:#4e79a6;font-size:.68rem;font-weight:700;box-shadow:0 8px 18px #71a8ef2e}.lifeplan-recharts-current-age i{display:block;margin-top:4px;width:2px;height:204px;border-radius:999px;background:#71a8efe0;box-shadow:0 0 0 2px #ffffff7a}.lifeplan-recharts-skeleton{min-height:260px;border-radius:20px;background:linear-gradient(135deg,#e7f1fab8,#fffbf3e0)}.lifeplan-chart-age-actions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 2px 0}.lifeplan-chart-age-pill{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(154,138,103,.14);background:#fffbf3d6;color:var(--muted);font-weight:700}.lifeplan-chart-age-pill.is-active{background:linear-gradient(135deg,#f4e6a7f5,#dbe8d2eb);border-color:#c9a04442;color:var(--text);box-shadow:0 10px 18px #c9a0441f}.lifeplan-overview-graph-shell.is-dragging,.lifeplan-age-rail-shell.is-dragging,.lifeplan-age-rail-viewport.is-dragging,.lifeplan-chart-scroll.is-dragging{cursor:grabbing}.lifeplan-sheet-card{max-width:560px;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(78vh,820px);overflow-y:auto;border-radius:28px;z-index:25;padding:24px;box-shadow:0 28px 48px #7a684438,0 0 0 1px #ffffffa3 inset}.lifeplan-sheet-card.is-open{display:block}.lifeplan-sheet-handle{width:52px;height:6px;border-radius:999px;background:#9a8a6742;margin:0 auto 14px}.lifeplan-sheet-card textarea{width:100%;padding:14px 16px;border-radius:18px;border:1px solid rgba(154,138,103,.18);background:#ffffffd1;font:inherit;resize:vertical}.lifeplan-sheet-form{display:grid;gap:10px}.lifeplan-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lifeplan-sheet-copy{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.7}.lifeplan-sheet-form label{display:grid;gap:8px;min-width:0}.lifeplan-sheet-form label>span{color:var(--text);font-size:.92rem;font-weight:700}.lifeplan-sheet-input,.lifeplan-sheet-textarea{width:100%;border:1px solid rgba(154,138,103,.18);border-radius:18px;background:#ffffffd1;color:var(--text);font:inherit;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #7a684414}.lifeplan-sheet-input{min-height:52px;padding:0 16px}.lifeplan-sheet-select .custom-select-panel{z-index:45}.lifeplan-sheet-amount-wrap{min-height:58px}.lifeplan-sheet-amount-input{min-width:0}.lifeplan-floating-button{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:18;min-width:88px;border-radius:999px;box-shadow:0 18px 34px #c9a0442e}.feature-grid,.household-summary-grid,.household-breakdown-grid{display:grid;gap:20px}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.household-section-card,.household-stat-card{padding:24px}.feature-card{display:grid;gap:18px}.feature-card h3,.household-stat-card strong{margin:0}.feature-points{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--muted)}.feature-card-household{background:radial-gradient(circle at top right,rgba(227,198,92,.18),transparent 28%),linear-gradient(135deg,#fffcf5fa,#f3ebd8f5)}.feature-card-lifeplan{background:radial-gradient(circle at top right,rgba(143,168,131,.18),transparent 26%),radial-gradient(circle at bottom left,rgba(137,171,216,.18),transparent 24%),linear-gradient(135deg,#f8fbf6fa,#e5eee7f5)}.feature-card-disabled{background:linear-gradient(135deg,#f9f5ecf5,#ece5d4eb)}.is-disabled-button{opacity:.72}.household-panel{gap:10px}.household-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.household-stat-card{display:grid;gap:10px;min-height:156px}.household-stat-card strong{font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.1}.income-card{background:linear-gradient(135deg,#fffbe9f5,#f7efcff0)}.expense-card{background:linear-gradient(135deg,#fff4f0fa,#f6e1d9f0)}.saving-card{background:linear-gradient(135deg,#f2fbeffa,#e1efd8f0)}.balance-card{background:linear-gradient(135deg,#f6f4eefa,#e7e1d2f0)}.household-report-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr)}.household-visual-grid{grid-template-columns:minmax(0,1fr)}.lifeplan-timeline-actions{justify-content:flex-end;margin:14px 0 0}@media(max-width:720px){.lifeplan-hero{padding:22px 18px}.lifeplan-panel{padding:20px 18px}.lifeplan-overview-graph-shell{padding-inline:max(16px,calc(50% - 28px));scroll-padding-inline:max(16px,calc(50% - 28px))}.lifeplan-age-rail{padding-inline:max(16px,calc(50% - 48px));gap:8px}.lifeplan-age-marker{width:88px;min-width:88px}.lifeplan-age-number{width:54px;height:54px;font-size:1.16rem}.lifeplan-forecast-box-head{grid-template-columns:minmax(0,1fr)}.lifeplan-forecast-box-total{min-width:0;text-align:left}}.household-visual-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.household-visual-stack>*{min-width:0}.report-view-tabs{margin-bottom:8px}.report-view-tabs .tab-pill{min-width:112px;justify-content:center;font-weight:700}.household-filter-card{display:grid;gap:16px;margin-bottom:20px;padding:24px;overflow:visible;z-index:20;isolation:isolate}.household-filter-head{display:grid;gap:4px}.household-filter-head .eyebrow{line-height:1.35}.household-filter-head h3{margin:0}.household-filter-form{display:grid;grid-template-columns:minmax(0,320px) auto;gap:12px;align-items:end}.household-filter-form label{display:grid;gap:8px;min-width:min(100%,240px)}.household-filter-form span{color:var(--muted);font-size:.92rem}.household-filter-form .custom-select{min-width:100%}.fiscal-mode-tabs .tab-pill{min-width:120px;justify-content:center}.household-period-mode{display:grid;gap:10px}.household-period-label{color:var(--muted);font-size:.92rem;font-weight:700}.household-panel-meta{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:#fffbf3cc;border:1px solid rgba(154,138,103,.12)}.household-panel-meta span{color:var(--muted);font-size:.9rem}.household-panel-meta strong{line-height:1.5;word-break:break-word}.chart-note{margin:0;color:var(--muted);line-height:1.7}.analysis-card{width:100%;min-width:0}.analysis-rail{width:100%;padding:8px 0 4px}.composition-react,.composition-react-root{width:100%}.composition-react-stage{position:relative;padding-top:44px}.composition-react-popover{position:absolute;top:0;transform:translate(-50%);display:grid;gap:3px;min-width:128px;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,#fffcf5fa,#f3ebd8f5);border:1px solid rgba(154,138,103,.16);box-shadow:inset 0 1px #fffdf7e6,0 14px 28px #9a8a671f;color:var(--muted);font-size:.84rem;pointer-events:none;z-index:1}.composition-react-popover-label{color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.composition-react-popover strong{color:var(--text);font-size:1rem;line-height:1.1}.composition-react-popover small{font-size:.8rem;color:var(--muted)}.composition-react-popover:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:#fffbf3f5;border-right:1px solid rgba(154,138,103,.14);border-bottom:1px solid rgba(154,138,103,.14);transform:translate(-50%) rotate(45deg)}.budget-level-tabs .tab-pill{min-width:116px;justify-content:center}.budget-alert-list,.budget-overrun-list{display:grid;gap:16px}.budget-alert-card{display:grid;gap:14px;padding:18px;border-radius:22px;background:#fffbf3b8;border:1px solid rgba(154,138,103,.14)}.budget-alert-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.budget-alert-copy{display:grid;gap:4px}.budget-alert-copy span,.budget-alert-month span{color:var(--muted);font-size:.9rem}.budget-alert-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-alert-month{display:grid;gap:4px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#fff4f0e0,#f6e1d9c7);border:1px solid rgba(217,123,109,.14)}.budget-alert-over{color:var(--danger-text);font-weight:700}.budget-overrun-card{gap:16px}.budget-overrun-toggle{list-style:none;cursor:pointer}.budget-overrun-toggle::-webkit-details-marker{display:none}.budget-overrun-rank{color:var(--yellow-deep);font-weight:700;letter-spacing:.08em}.budget-overrun-summary{display:grid;gap:4px;justify-items:end;text-align:right}.budget-overrun-summary span{color:var(--muted);font-size:.9rem}.budget-overrun-toggle-label{display:inline-flex;align-items:center;gap:6px;font-weight:700}.budget-overrun-toggle-label:after{content:"▼";font-size:.7rem;transition:transform .18s ease}.budget-overrun-card[open] .budget-overrun-toggle-label:after{transform:rotate(180deg)}.budget-overrun-card[open] .budget-overrun-toggle-label{color:var(--text)}.budget-overrun-months{display:flex;flex-wrap:wrap;gap:10px}.budget-overrun-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#fff4f0e0,#f6e1d9c7);border:1px solid rgba(217,123,109,.14);color:var(--danger-text);font-size:.9rem;font-weight:700}.budget-progress-list{display:grid;gap:16px}[data-level-panel-group][hidden]{display:none!important}.budget-progress-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(0,1.5fr) minmax(140px,.7fr);gap:16px;align-items:center;padding:16px 18px;border-radius:22px;background:#fffbf3b8;border:1px solid rgba(154,138,103,.14)}.budget-progress-copy{display:grid;gap:4px}.budget-progress-copy span,.budget-progress-meta span{color:var(--muted);font-size:.9rem}.budget-progress-track{position:relative;height:18px;border-radius:999px;overflow:hidden;background:#9a8a671f}.budget-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8fa883e0,#c9a044eb)}.budget-progress-fill.is-over{background:linear-gradient(90deg,#d97b6de0,#ebaa7eeb)}.budget-progress-meta{display:grid;gap:4px;justify-items:end}.trend-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;min-height:240px}.trend-chart.twelve-columns{grid-template-columns:repeat(12,minmax(0,1fr))}.trend-chart-item{display:grid;gap:8px;justify-items:center}.trend-chart-bars{width:100%;min-height:180px;display:flex;align-items:end;justify-content:center;gap:6px;padding:16px 10px 10px;border-radius:22px;background:linear-gradient(180deg,#fffcf5f5,#f3ebd8d1),repeating-linear-gradient(to top,rgba(154,138,103,.08),rgba(154,138,103,.08) 1px,transparent 1px,transparent 36px);border:1px solid rgba(154,138,103,.14)}.trend-chart-bar{width:100%;max-width:18px;min-height:4px;border-radius:999px 999px 8px 8px;display:block}.trend-chart-item strong{font-size:.82rem;text-align:center;line-height:1.4}.chart-value{color:var(--muted);font-size:.8rem;text-align:center;line-height:1.4}.dual-axis-legend{margin-top:4px}.dual-axis-chart-card{display:grid;gap:12px;padding:20px 18px 16px;border-radius:28px;background:radial-gradient(circle at top left,rgba(255,236,189,.7),transparent 34%),radial-gradient(circle at top right,rgba(195,224,194,.58),transparent 32%),linear-gradient(180deg,#fffcf5fa,#f5eddbeb);border:1px solid rgba(154,138,103,.12);box-shadow:0 18px 40px #9a8a6714}.dual-axis-plot{position:relative;min-height:300px;padding:18px 10px 0;border-radius:24px;background:linear-gradient(180deg,#fffef9d1,#fff8e87a),repeating-linear-gradient(to top,rgba(154,138,103,.07),rgba(154,138,103,.07) 1px,transparent 1px,transparent 34px);overflow:hidden}.dual-axis-axis-badge{position:absolute;top:10px;z-index:1;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--muted);background:#fffbf3e0;border:1px solid rgba(154,138,103,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dual-axis-axis-badge.left{left:10px}.dual-axis-axis-badge.right{right:10px}.dual-axis-svg{width:100%;height:300px;overflow:visible}.dual-axis-grid-line{stroke:#9a8a6724;stroke-width:.8;stroke-dasharray:2 4}.dual-axis-area{stroke:none}.dual-axis-area.income-area{fill:#e3c65c2e}.dual-axis-area.cumulative-area{fill:#8fa88324}.dual-axis-line{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 10px rgba(154,138,103,.12))}.dual-axis-line.income-line{stroke:#d8ab47}.dual-axis-line.cumulative-line{stroke:#7d996f}.dual-axis-dot{stroke:#fffaf0f2;stroke-width:1.2;filter:drop-shadow(0 4px 8px rgba(154,138,103,.14))}.dual-axis-dot.income-dot{fill:#d8ab47}.dual-axis-dot.cumulative-dot{fill:#7d996f}.dual-axis-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;color:var(--muted);font-size:.78rem;text-align:center}.dual-axis-months span{padding:4px 0 0}.dual-axis-months .is-future{opacity:.35}.dual-axis-tooltips,.dual-axis-summary,.dual-axis-header{display:none}.recharts-income-card{padding:8px 0 0}.recharts-income-bleed{width:100%}.recharts-income-root{width:100%;min-width:0;min-height:320px}.recharts-income-frame{min-height:320px;padding:14px 14px 10px;border-radius:28px;background:radial-gradient(circle at top left,rgba(255,229,166,.46),transparent 28%),radial-gradient(circle at top right,rgba(182,212,175,.34),transparent 26%),linear-gradient(180deg,#fffcf5fa,#f6efdff5);border:1px solid rgba(154,138,103,.12);box-shadow:0 18px 38px #9a8a6714}.recharts-income-canvas{width:100%;min-width:0}.recharts-income-inline-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 10px}.recharts-income-inline-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;font-weight:700}.recharts-income-inline-legend i{width:12px;height:12px;border-radius:999px;display:inline-block}.household-visual-grid>.recharts-income-bleed{margin-top:-6px}.recharts-saving-bleed{width:100%;margin-top:-6px}.recharts-saving-root{width:100%;min-width:0;min-height:340px}.recharts-saving-frame{min-height:340px;padding:14px 14px 10px;border-radius:28px;background:radial-gradient(circle at top left,rgba(217,228,208,.42),transparent 28%),radial-gradient(circle at top right,rgba(244,230,167,.28),transparent 24%),linear-gradient(180deg,#fffcf5fa,#f4eee2f5);border:1px solid rgba(154,138,103,.12);box-shadow:0 18px 38px #9a8a6714}.recharts-saving-frame.is-empty{display:grid;align-items:center}.recharts-saving-canvas{width:100%;min-width:0}.recharts-saving-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.recharts-saving-inline-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}.recharts-saving-inline-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;font-weight:700}.recharts-saving-inline-legend span.is-muted{opacity:.45}.recharts-saving-inline-legend i{width:12px;height:12px;border-radius:999px;display:inline-block}.recharts-saving-toggle{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(154,138,103,.16);background:#fffbf3d1;color:var(--text);cursor:pointer;font-weight:700;box-shadow:inset 0 1px #fffcf5d1}.recharts-saving-toggle.is-active{border-color:#8fa8834d;background:linear-gradient(135deg,#d9e4d0d1,#fffbf3eb)}.recharts-saving-root .recharts-cartesian-grid-horizontal line{stroke:#9a8a672e}.recharts-saving-root .recharts-reference-area-rect{rx:22px}.recharts-saving-tick{fill:var(--muted);font-size:.76rem;font-weight:700}.recharts-saving-tick.is-future{opacity:.34}.recharts-saving-tooltip{display:grid;gap:6px;min-width:156px;padding:12px 14px;border-radius:18px;background:#fffbf3f5;border:1px solid rgba(154,138,103,.14);box-shadow:0 10px 24px #9a8a671a}.recharts-saving-tooltip strong{color:var(--text);font-size:.9rem}.recharts-saving-tooltip span,.recharts-saving-tooltip small{color:var(--muted);font-size:.82rem}.recharts-saving-tooltip span{display:inline-flex;align-items:center;gap:8px}.recharts-saving-tooltip i{width:10px;height:10px;border-radius:999px;display:inline-block}.recharts-income-root .recharts-cartesian-grid-horizontal line{stroke:#9a8a672e}.recharts-income-root .recharts-reference-area-rect{rx:22px}.recharts-income-tick,.recharts-income-root .recharts-yAxis .recharts-cartesian-axis-tick-value{fill:var(--muted);font-size:.76rem;font-weight:700}.recharts-income-tick.is-future{opacity:.34}.recharts-income-axis.right .recharts-cartesian-axis-tick-value{fill:#678060eb}.recharts-income-axis.left .recharts-cartesian-axis-tick-value{fill:#c9a044f5}.recharts-income-tooltip{display:grid;gap:4px;min-width:148px;padding:12px 14px;border-radius:18px;background:#fffbf3f5;border:1px solid rgba(154,138,103,.14);box-shadow:0 10px 24px #9a8a671a}.recharts-income-tooltip strong{color:var(--text);font-size:.9rem}.recharts-income-tooltip span,.recharts-income-tooltip small{color:var(--muted);font-size:.82rem}.recharts-income-tooltip .income{color:#947221fa}.recharts-income-tooltip .saving{color:#597452fa}.household-legend{display:flex;flex-wrap:wrap;gap:12px}.household-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}.household-legend i{width:14px;height:14px;border-radius:999px;display:inline-block}.balance-chart-list{display:grid;gap:14px}.cumulative-income-list{max-height:560px;overflow:auto;padding-right:4px}.balance-chart-row{display:grid;grid-template-columns:minmax(74px,92px) minmax(0,1fr) auto;gap:12px;align-items:center}.balance-chart-row strong,.balance-chart-row span{font-size:.9rem}.balance-track{position:relative;height:14px;border-radius:999px;background:#9a8a671f;overflow:hidden}.balance-bar{display:block;height:100%;border-radius:999px}.balance-bar.is-positive{background:linear-gradient(90deg,#8fa883e0,#c9a044d6)}.balance-bar.is-negative{background:linear-gradient(90deg,#d97b6de0,#ebaa7eeb)}.composition-bar{display:flex;width:100%;height:30px;overflow:hidden;border-radius:999px;background:#9a8a671a}.composition-segment{display:block;height:100%;min-width:0}.composition-segment-button{position:relative;display:grid;place-items:center;border:0;padding:0;cursor:pointer;color:#fffdf7;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}.composition-segment-button:hover,.composition-segment-button:focus-visible,.composition-segment-button.is-active{filter:brightness(1.03);box-shadow:inset 0 0 0 1px #fffdf73d}.composition-segment-button:focus-visible{outline:2px solid rgba(89,68,29,.28);outline-offset:2px}.composition-segment-value{padding:0 6px;font-size:clamp(.64rem,1.8vw,.84rem);font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap;text-shadow:0 1px 2px rgba(67,55,41,.22);pointer-events:none}.balance-fill{background:linear-gradient(90deg,#c9a044eb,#e3c65cf5)}.composition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.composition-card{display:grid;gap:4px;padding:14px;border-radius:18px;background:#fffbf3bd;border:1px solid rgba(154,138,103,.12)}.composition-card span,.composition-card small{color:var(--muted)}.composition-card strong{font-size:1.2rem}.report-timeline,.breakdown-list{display:grid;gap:14px}.report-timeline-row{display:grid;gap:12px;padding:16px 18px;border-radius:20px;background:#fffbf3b8;border:1px solid rgba(154,138,103,.14)}.report-timeline-copy{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.report-timeline-copy span,.breakdown-copy span{color:var(--muted)}.report-timeline-values{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-timeline-values div{padding:12px 14px;border-radius:16px;background:#fffdf7e6;border:1px solid rgba(154,138,103,.12)}.report-timeline-values dt{color:var(--muted);font-size:.9rem}.report-timeline-values dd{margin:6px 0 0;font-weight:700}.breakdown-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,1fr) auto;gap:12px;align-items:center}.breakdown-copy{display:grid;gap:4px}.breakdown-bar{height:12px;border-radius:999px;background:#9a8a671f;overflow:hidden}.breakdown-bar-fill{display:block;height:100%;border-radius:999px}.expense-fill{background:linear-gradient(90deg,#d97b6de0,#ebaa7eeb)}.income-fill{background:linear-gradient(90deg,#e3c65ce6,#c9a044f0)}.saving-fill{background:linear-gradient(90deg,#8fa883e0,#678060f0)}.breakdown-amount{font-weight:700;white-space:nowrap}@media(max-width:1100px){.lifeplan-hero,.lifeplan-main-grid,.landing-signal-grid,.landing-feature-grid,.feature-grid,.household-summary-grid,.household-breakdown-grid,.household-report-grid,.household-visual-grid{grid-template-columns:1fr 1fr}.landing-hero,.feature-grid{grid-template-columns:1fr}}@media(max-width:720px){.lifeplan-hero,.lifeplan-main-grid{grid-template-columns:1fr!important}.lifeplan-hero-points{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lifeplan-hero-points .lifeplan-hero-point:last-child{grid-column:1 / -1}.lifeplan-overview-graph-shell{margin:0;padding:4px max(16px,calc(50% - 28px)) 10px;scroll-padding-inline:max(16px,calc(50% - 28px))}.lifeplan-overview-graph{min-height:292px}.lifeplan-overview-card{width:96px;min-height:56px;padding:10px 10px 8px}.lifeplan-section-head,.lifeplan-selected-card{grid-template-columns:1fr;display:grid}.lifeplan-chart{overflow-x:auto}.lifeplan-forecast-stats,.lifeplan-sheet-grid{grid-template-columns:1fr}.lifeplan-panel,.lifeplan-selected-card{padding:18px}.lifeplan-sheet-card.is-open{position:fixed;left:12px;right:12px;top:auto;bottom:calc(14px + env(safe-area-inset-bottom));width:auto;transform:none;z-index:24;max-width:none;max-height:78vh;overflow-y:auto;border-radius:28px;box-shadow:0 28px 48px #7a684438,0 0 0 1px #ffffffa3 inset}.landing-hero,.landing-signal-grid,.landing-feature-grid,.feature-grid,.household-summary-grid,.household-breakdown-grid,.household-visual-grid,.household-report-grid,.report-timeline-values,.breakdown-row{grid-template-columns:1fr}.report-timeline-copy{display:grid}.landing-hero,.landing-section-card{padding:24px}.landing-badge-row{gap:8px}.landing-badge{font-size:.78rem}.landing-main-actions .button,.landing-primary-button,.landing-auth-shortcuts .button,.topbar-guest-actions .button{width:100%;min-width:0}.landing-auth-panel,.landing-auth-stack{gap:12px}.landing-step-grid-five{grid-template-columns:1fr}.landing-screen-switcher{gap:8px}.landing-screen-tab{width:100%}.landing-screen-image{max-height:420px}.topbar-actions,.topbar-guest-actions{width:100%;padding-right:0}.topbar .topbar-actions,.topbar .topbar-guest-actions{width:auto;flex-shrink:0}.topbar .topbar-auth-button{width:auto;min-width:0;padding:0 10px;font-size:.82rem;min-height:40px}.landing-auth-dialog{padding:22px}.household-filter-form{grid-template-columns:1fr}.household-filter-form label{min-width:100%}.trend-chart,.trend-chart.twelve-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.dual-axis-plot{min-height:220px;padding-inline:0}.dual-axis-svg{height:220px}.dual-axis-axis-badge{display:none}.recharts-income-root{min-height:252px}.household-visual-grid>.recharts-income-bleed{margin-top:-10px}.recharts-saving-bleed{margin-top:-10px}.recharts-saving-root{min-height:260px}.recharts-saving-frame{min-height:260px;padding:10px 8px 4px;border-radius:22px}.recharts-saving-inline-legend{gap:10px}.recharts-saving-inline-legend span{font-size:.82rem}.recharts-saving-toolbar{align-items:start;margin-bottom:8px}.recharts-saving-toggle{min-height:34px;padding:0 12px;font-size:.8rem}.recharts-saving-tick{font-size:.68rem}.recharts-saving-tooltip{min-width:136px;padding:10px 12px}.recharts-income-frame{min-height:252px;padding:8px 8px 2px;border-radius:22px}.recharts-income-canvas{width:100%}.recharts-income-inline-legend{gap:10px;margin-bottom:8px}.recharts-income-inline-legend span{font-size:.82rem}.recharts-income-root .recharts-yAxis .recharts-cartesian-axis-tick-value{font-size:.68rem}.recharts-income-tooltip{min-width:132px;padding:10px 12px}.composition-grid{grid-template-columns:1fr}.composition-react-stage{padding-top:52px}.composition-react-popover{min-width:112px;padding:10px 12px;font-size:.78rem}.composition-react-popover-label{font-size:.7rem}.composition-react-popover strong{font-size:.9rem}.composition-segment-value{padding:0 4px;font-size:clamp(.56rem,2.4vw,.72rem)}.balance-chart-row,.budget-progress-row,.budget-alert-months{grid-template-columns:1fr}.budget-progress-meta{justify-items:start}.budget-overrun-summary{justify-items:start;text-align:left}}
