:root{font-family:Inter,system-ui,sans-serif;color-scheme:light;--ink: #092f29;--brand: #087b5d;--brand-dark: #075040;--mint: #91e8b7;--background: #edf6f1;--surface: #fff;--soft: #e1f5e9;--border: #cadfd2;--muted: #637c70;background:var(--background);color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0%,#dff4e8 0,transparent 38%),var(--background)}button,input,select{font:inherit}button{color:var(--ink)}.app{max-width:1080px;margin:auto;padding:24px 24px 48px}.app-footer{display:flex;align-items:center;justify-content:center;width:100%;margin:32px auto 0;padding:16px 8px;border-top:1px solid var(--border);color:var(--muted);text-align:center;font-size:12px}.financial-space-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:18px 0 12px;padding:5px;border:1px solid var(--border);border-radius:17px;background:#ffffffb8}.financial-space-switch button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.financial-space-switch button>span{display:grid;gap:1px}.financial-space-switch button small{font-size:10px}.financial-space-switch button.is-active{background:var(--brand-dark);color:#fff;box-shadow:0 5px 14px #07504033}.privacy-chip{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--brand-dark);font-size:12px;font-weight:800}.personal-toolbar{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--border);border-radius:16px;background:#ffffffd1}.personal-toolbar label{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.personal-toolbar label>span{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.personal-toolbar input,.personal-toolbar select{width:100%;min-width:0;padding:9px 10px;border:0;border-radius:10px;background:var(--background);color:var(--ink);font-weight:700}.personal-toolbar button{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-weight:700;cursor:pointer}.personal-nav{display:flex;gap:7px;margin:12px 0 0;overflow-x:auto;scrollbar-width:none}.personal-nav::-webkit-scrollbar{display:none}.personal-nav button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:max-content;flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffb8;color:var(--muted);font-weight:800;cursor:pointer}.personal-nav button.is-active{border-color:var(--brand);background:var(--soft);color:var(--brand-dark)}.personal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.personal-kpis article{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:17px;border:1px solid rgba(7,80,64,.09);border-radius:17px;background:var(--surface);box-shadow:0 7px 24px #0740320d}.personal-kpis article>span{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:11px;background:var(--soft);color:var(--brand)}.personal-kpis article.is-expense>span,.entry-kind-expense{background:#fff0ec;color:#b34c38}.personal-kpis article.is-income>span,.entry-kind-income{background:#e4f8eb;color:#087b5d}.personal-kpis article.is-negative>span{background:#fff0ec;color:#b34c38}.personal-kpis article>div{display:grid;gap:3px;min-width:0}.personal-kpis small,.personal-kpis em{color:var(--muted);font-size:11px;font-style:normal}.personal-kpis strong{font-size:clamp(17px,2.3vw,23px);overflow-wrap:anywhere}.personal-quick-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.personal-quick-actions button{display:flex;align-items:center;gap:7px;padding:11px 14px;border:0;border-radius:12px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.personal-quick-actions button:first-child{background:var(--brand)}.personal-quick-actions button:disabled{opacity:.5;cursor:default}.personal-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}.personal-budget-summary{display:grid;align-content:center;gap:15px}.personal-budget-summary h2{margin:5px 0}.personal-budget-summary p,.personal-consolidated p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.personal-budget-summary progress{width:100%;height:11px;accent-color:var(--brand)}.personal-consolidated{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);align-items:center;gap:24px}.personal-consolidated h2{margin:4px 0 6px}.personal-consolidated>div:last-child{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 14px;padding:15px;border-radius:14px;background:var(--soft)}.personal-consolidated>div:last-child i{grid-column:1/-1;color:var(--muted);font-style:normal;text-align:center}.personal-consolidated>div:last-child strong{text-align:right}.entry-kind-income,.entry-kind-expense{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:11px}.personal-entry-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.personal-entry-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.personal-entry-row>b{white-space:nowrap}.personal-month-close{grid-template-columns:minmax(0,1fr) auto;align-items:center}.personal-month-close h2{margin:5px 0}.personal-month-close p{margin:0;color:var(--muted)}.personal-month-close>button{padding:11px 15px;border:0;border-radius:11px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.personal-entries-panel{overflow:hidden}.personal-expense .expense-main{min-width:0}.personal-expense .expense-main>div{min-width:0}.personal-expense .expense-main small{overflow-wrap:anywhere}.personal-history-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:12px;padding:10px;border:0;border-radius:11px}.personal-history{margin-top:8px;padding:4px 14px;border-radius:14px;background:var(--background)}.personal-history .row span{min-width:0;overflow-wrap:anywhere}.personal-inline-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.personal-inline-history-heading button{padding:7px 9px;border:0;border-radius:9px;background:var(--brand-dark);color:#fff;font-size:12px;font-weight:800;cursor:pointer}.personal-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.personal-planning-grid>.panel{min-width:0}.personal-category-form{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px}.personal-category-form button,.personal-recurrence-form button{padding:10px 14px;border:0;border-radius:11px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.personal-goals,.personal-recurrences{grid-column:1/-1}.personal-goals>.relative-goal-card{margin-bottom:22px}.personal-goals .goal-row:last-child{border-bottom:0}.personal-goals .relative-goal-form{grid-template-columns:minmax(0,360px)}.house-goal-panel{display:grid;gap:18px}.house-goal-panel>div:first-child h2{margin:0 0 4px}.house-goal-panel .relative-goal-form{grid-template-columns:minmax(0,360px)}.active-goal{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #a9dbc0;border-radius:14px;background:#e4f8eb;color:var(--brand-dark)}.active-goal>span{display:flex;align-items:center;gap:10px;min-width:0}.active-goal>span>span{display:grid;gap:2px;min-width:0}.active-goal small{color:var(--muted);font-size:10px;letter-spacing:.08em}.active-goal b{text-align:right;font-size:12px}.category-variation-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.category-variation-heading h2{margin:0 0 4px}.category-variation-total{display:grid;justify-items:end;gap:2px;flex:none;padding:11px 13px;border-radius:13px;background:var(--background);text-align:right}.category-variation-total small,.category-variation-total span{color:var(--muted);font-size:11px}.category-variation-total strong{font-size:19px}.category-variation-total.is-down strong,.category-variation-delta.is-down{color:#087b5d}.category-variation-total.is-up strong,.category-variation-delta.is-up{color:#b34c38}.category-variation-list{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:16px}.category-variation-list>.panel-note{padding:18px}.category-variation-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,auto) minmax(105px,auto);align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border);background:#fbfdfc}.category-variation-row:last-child{border-bottom:0}.category-variation-name{display:flex;align-items:center;gap:10px;min-width:0}.category-variation-name>span{display:grid;gap:3px;min-width:0}.category-variation-name small,.category-variation-values small,.category-variation-delta small{color:var(--muted);font-size:11px}.category-variation-values{display:grid;grid-template-columns:minmax(95px,1fr) auto minmax(95px,1fr);align-items:center;gap:8px}.category-variation-values>span{display:grid;gap:2px}.category-variation-values>span:last-child{text-align:right}.category-variation-values svg{color:var(--muted)}.category-variation-delta{display:grid;justify-items:end;gap:2px;text-align:right}.personal-recurrence-form{display:grid;grid-template-columns:120px minmax(150px,1.5fr) minmax(120px,1fr) minmax(140px,1fr) 80px auto;gap:8px;margin:15px 0 10px}.personal-recurrence-form>*,.personal-category-form>*{min-width:0}.personal-recurrences .row{gap:10px}.personal-recurrences .row>span{flex:1;min-width:0;overflow-wrap:anywhere}.personal-recurrences .row>b{white-space:nowrap}.personal-recurrences .row>button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:#fff0ec;color:#b34c38;cursor:pointer}.personal-privacy{overflow:hidden}.personal-privacy-heading{display:flex;align-items:flex-start;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--border)}.personal-privacy-heading>span{width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:13px;background:var(--soft);color:var(--brand)}.personal-privacy-heading h2{margin:4px 0 6px}.personal-privacy-heading p{max-width:700px;margin:0;color:var(--muted);line-height:1.5}.personal-member{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.personal-member>span{display:flex;align-items:center;gap:10px}.personal-member i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--brand-dark);color:#fff;font-style:normal}.personal-member select{max-width:210px}.personal-no-members{display:flex;align-items:center;gap:11px;margin-top:16px;padding:15px;border-radius:14px;background:var(--background);color:var(--muted)}.personal-no-members span{display:grid;gap:3px}.personal-no-members strong{color:var(--ink)}.personal-entry-modal{max-width:680px}.entry-kind-toggle{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:13px;background:var(--background)}.entry-kind-toggle button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.entry-kind-toggle button.is-active{background:var(--surface);color:var(--brand-dark);box-shadow:0 2px 8px #07403217}.personal-notes{grid-column:1/-1}.personal-report{display:grid;gap:14px;margin-top:14px}.personal-report>*{margin-top:0}.personal-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.personal-report-heading h2{margin:5px 0 7px}.personal-report-heading p{max-width:680px;margin:0;color:var(--muted);line-height:1.5}.personal-report-filters{border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #0740320a}.personal-report-kpis>div>span{display:flex;align-items:center;gap:6px}.personal-report-legend{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.personal-report-legend span{display:flex;align-items:center;gap:5px}.personal-report-legend i{width:9px;height:9px;border-radius:50%}.personal-report-legend i.is-income{background:#087b5d}.personal-report-legend i.is-expense{background:#c35a46}.personal-report-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.personal-report-line.is-income{stroke:#087b5d}.personal-report-line.is-expense{stroke:#c35a46}.annual-line-chart circle.personal-report-point{fill:#fff;stroke-width:3;vector-effect:non-scaling-stroke}.annual-line-chart circle.personal-report-point.is-income{stroke:#087b5d}.annual-line-chart circle.personal-report-point.is-expense{stroke:#c35a46}.personal-month-summary{min-width:0}.personal-report-table{margin-top:16px;overflow-x:auto}.personal-report-table>div{display:grid;grid-template-columns:minmax(70px,.7fr) repeat(3,minmax(110px,1fr));gap:12px;min-width:500px;padding:10px 4px;border-bottom:1px solid var(--border);text-align:right}.personal-report-table>div>:first-child{text-align:left;text-transform:capitalize}.personal-report-table .is-heading{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.personal-report-table strong.is-negative{color:#b34c38}.personal-report-details{margin-top:0}.personal-report-details>div{padding:0 18px 12px}.is-income-text{color:#087b5d}.is-expense-text{color:#b34c38}.personal-report-history{overflow:hidden}.personal-history-controls{display:flex;align-items:center;gap:7px}.personal-history-controls input{padding:9px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.personal-history-controls .refresh-button{padding:9px}.personal-history-list{display:grid;gap:8px;margin-top:16px}.personal-history-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px;border:1px solid var(--border);border-radius:13px;background:#fbfdfc}.personal-history-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--brand)}.personal-history-list article>div{display:grid;gap:3px;min-width:0}.personal-history-list article span,.personal-history-list article small{overflow-wrap:anywhere}.personal-history-list article small{color:var(--muted)}.app-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:5px;margin:18px 0 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.app-nav button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:12px;background:transparent;color:#4d665d;cursor:pointer;font-weight:700}.app-nav button.is-active{background:var(--soft);color:var(--brand-dark);box-shadow:0 2px 8px #07403217}.app-nav button:focus-visible,.quick-add:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.context-bar{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid var(--border);border-radius:16px;background:#fffc}.context-bar label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.context-bar label>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.context-bar input,.context-bar select{min-width:0;border:0;padding:9px 10px;background:transparent;font-weight:700}.quick-add:disabled{opacity:.55;cursor:default}.expense-list-actions{display:flex;align-items:center;gap:8px}.expense-filter-bar{display:grid;grid-template-columns:minmax(230px,1.6fr) repeat(3,minmax(140px,1fr));gap:8px;margin-top:18px}.expense-filter-bar select,.expense-search{min-width:0;border:1px solid var(--border);border-radius:12px;background:#fbfdfc}.expense-filter-bar select{padding:10px}.expense-search{display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted)}.expense-search input{min-width:0;width:100%;padding:10px 0;border:0;outline:0;background:transparent}.expense-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;color:var(--muted);font-size:12px}.expense-filter-summary button{display:flex;align-items:center;gap:4px;padding:5px 7px;border:0;background:transparent;color:var(--brand);font-weight:800;cursor:pointer}.expense-filter-empty{display:grid;justify-items:center;gap:7px;padding:35px 15px;color:var(--muted);text-align:center}.expense-filter-empty strong{color:var(--ink)}.expense-filter-empty button{margin-top:4px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--brand);font-weight:800;cursor:pointer}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--muted)}h1{margin:4px 0 18px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-title{display:flex;align-items:center;gap:12px;min-width:0}.brand-title>div{min-width:0}.brand-title h1{margin-bottom:0}.brand-mark{position:relative;display:block;width:48px;height:48px;flex:none;overflow:hidden;border-radius:13px;background:var(--surface);box-shadow:0 5px 15px #07403229}.brand-mark img{position:absolute;width:108px;height:108px;max-width:none;left:-30px;top:-9px}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.icon-button,.profile-menu summary{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.icon-button:disabled{opacity:.55}.profile-menu{position:relative}.profile-menu summary{list-style:none}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu>div{position:absolute;z-index:25;top:48px;right:0;display:grid;min-width:180px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 14px 35px #07403229}.profile-menu button{display:flex;align-items:center;gap:8px;padding:10px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.profile-menu button:hover{background:var(--soft)}.profile-menu-info{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:9px 10px 11px;border-bottom:1px solid var(--border);color:var(--brand-dark)}.profile-menu-info>svg{flex:none;margin-top:2px}.profile-menu-info>span{display:grid;gap:3px;min-width:0}.profile-menu-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-info small{display:flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.local-mode-note{align-self:center;color:var(--muted);font-size:13px}.refresh-button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);cursor:pointer}.refresh-button:hover,.secondary:hover,.annual-report-toolbar button:hover{background:var(--soft)}.refresh-button:disabled{opacity:.6;cursor:wait}.hero,.panel{background:var(--surface);border:1px solid rgba(7,80,64,.08);border-radius:22px;padding:22px;margin-top:14px;box-shadow:0 8px 30px #0740320f}.hero{display:flex;flex-direction:column;gap:6px;border:0;color:#fff;background:linear-gradient(135deg,#0c6f57,#075040 64%,#092f29)}.hero small{color:#d4f8e2}.hero strong{font-size:42px}.hero-month-comparison{font-weight:700}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;border-top:1px solid rgba(255,255,255,.3);margin-top:12px;padding-top:14px}.hero-grid div{display:flex;flex-direction:column}.hero-more{align-self:flex-start;margin-top:2px;padding:5px 0;border:0;background:transparent;color:#d4f8e2;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.hero-settlement{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:8px;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:#ffffff1a;color:#fff;text-align:left;cursor:pointer}.hero-settlement:hover{background:#ffffff29}.hero-settlement span{min-width:0;overflow-wrap:anywhere}.hero-settlement svg{flex:none}.hero-status{align-self:flex-start;padding:4px 8px;border-radius:999px;background:#ffffff24;color:#d4f8e2;font-size:12px}.month-command{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}.next-action{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:16px 18px;border:1px solid #b9ddca;border-radius:18px;background:linear-gradient(120deg,#f8fffb,#dcf4e6);color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 7px 24px #0740320f}.next-action.is-urgent{border-color:#efd39b;background:linear-gradient(120deg,#fffdf7,#fff1d1)}.next-action-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--brand-dark);color:#fff}.next-action.is-urgent .next-action-icon{background:#a56a05}.next-action>span:nth-child(2){display:grid;gap:2px;min-width:0}.next-action small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em}.next-action strong{font-size:17px}.next-action em{color:var(--muted);font-size:13px;font-style:normal}.month-progress-card,.month-timeline-card{min-width:0;padding:20px;border:1px solid rgba(7,80,64,.09);border-radius:20px;background:var(--surface);box-shadow:0 8px 30px #0740320f}.month-progress-heading,.month-timeline-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.month-progress-heading h2,.month-timeline-heading h2{margin:3px 0 0;font-size:21px}.month-progress-heading>strong{padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--brand-dark);font-size:12px;white-space:nowrap}.month-progress{display:flex;height:14px;margin:20px 0 14px;overflow:hidden;border-radius:999px;background:#e7eeea}.month-progress>i{display:block;height:100%;transition:width .45s ease}.month-progress .is-paid,.month-progress-legend .is-paid{background:#087b5d}.month-progress .is-pending,.month-progress-legend .is-pending{background:#e0a82e}.month-progress .is-projected,.month-progress-legend .is-projected{background:repeating-linear-gradient(135deg,#9cb9aa 0 5px,#d5e2db 5px 10px)}.month-progress-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-progress-legend>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;min-width:0}.month-progress-legend>span>i{width:9px;height:9px;border-radius:50%}.month-progress-legend small{color:var(--muted)}.month-progress-legend strong{grid-column:1/-1;font-size:13px;overflow-wrap:anywhere}.month-timeline-heading svg{color:var(--brand)}.month-timeline{display:flex;gap:10px;margin-top:15px;padding:2px 2px 9px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.timeline-item{position:relative;display:grid;grid-template-columns:auto 10px auto minmax(100px,1fr);align-items:start;gap:8px;min-width:250px;padding:12px;border:1px solid var(--border);border-radius:15px;background:#fbfdfc;color:var(--ink);text-align:left;cursor:pointer;scroll-snap-align:start}.timeline-item.is-paid{border-color:#bddfcd}.timeline-item.is-overdue{border-color:#edb9b3;background:#fff8f7}.timeline-item.is-projected{border-style:dashed}.timeline-day{display:grid;justify-items:center;min-width:38px}.timeline-day small{color:var(--muted);font-size:9px;text-transform:uppercase}.timeline-day strong{font-size:20px}.timeline-dot{width:9px;height:9px;margin-top:17px;border:2px solid #fff;border-radius:50%;background:#e0a82e;box-shadow:0 0 0 2px #e0a82e}.timeline-item.is-paid .timeline-dot{background:var(--brand);box-shadow:0 0 0 2px var(--brand)}.timeline-item.is-overdue .timeline-dot{background:#b64b43;box-shadow:0 0 0 2px #b64b43}.timeline-item.is-projected .timeline-dot{background:#91a99c;box-shadow:0 0 0 2px #91a99c}.timeline-content{display:grid;gap:4px;min-width:0}.timeline-content>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-content>small{color:var(--muted);font-size:11px}.person-chip{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:3px 7px 3px 3px;border-radius:999px;font-size:10px;font-weight:800}.person-chip i{width:19px;height:19px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-size:8px;font-style:normal}.person-chip.is-tone-one{background:#f1eafa;color:#65418c}.person-chip.is-tone-one i{background:#8056aa}.person-chip.is-tone-two{background:#dff3eb;color:#075b48}.person-chip.is-tone-two i{background:#087b5d}.person-chip.is-tone-three{background:#edf0ee;color:#52675d}.person-chip.is-tone-three i{background:#637c70}.category-glyph{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:#edf2ef;color:#52675d}.category-glyph.is-energy{background:#fff3bf;color:#976900}.category-glyph.is-gas{background:#ffebe1;color:#b24b24}.category-glyph.is-internet{background:#e6efff;color:#315f9c}.category-glyph.is-shopping{background:#f2eafb;color:#744a99}.category-glyph.is-food{background:#fff0df;color:#a15817}.category-glyph.is-housing{background:#e2f3ec;color:#08664f}.category-glyph.is-transport{background:#e7eff5;color:#37657b}.category-glyph.is-health{background:#ffe7e7;color:#a63b43}.category-glyph.is-leisure{background:#efe9ff;color:#6449a0}.category-glyph.is-education{background:#e8edff;color:#435ba2}.category-glyph.is-pet{background:#f7eadf;color:#87562d}.timeline-item>.category-glyph{width:30px;height:30px;margin-top:7px;border-radius:9px}.primary{width:100%;margin:14px 0 0;border:0;border-radius:14px;padding:14px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;font-weight:800;display:flex;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 6px 16px #07504033}.primary:hover{filter:brightness(1.08)}.page-primary-action{display:flex;justify-content:flex-end;margin-top:12px}.page-primary-action .quick-add{width:auto;min-width:168px;margin:0;padding:12px 18px}input,select{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--mint);outline-offset:2px}.sort-control{display:flex;align-items:center;gap:12px;margin:12px 0}.sort-control label{white-space:nowrap;font-weight:600}.sort-control select{width:auto;min-width:220px;background:var(--surface)}.section-tabs{display:flex;gap:6px;margin:14px 0 2px;padding:5px;overflow-x:auto;border-radius:14px;background:#dfeee6}.section-tabs button{flex:1;min-width:max-content;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.section-tabs button.is-active{background:var(--surface);color:var(--brand-dark);box-shadow:0 2px 8px #07403214}.management-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.management-menu button{display:grid;gap:4px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface);text-align:left;cursor:pointer}.management-menu button:hover,.management-menu button.is-active{border-color:var(--brand);background:var(--soft)}.management-menu small{color:var(--muted)}.expense-sort-button{width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.row,.expense{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.expense-main{display:flex;align-items:flex-start;gap:11px;min-width:0}.expense-main>div{min-width:0}.expense small{display:block;color:var(--muted);margin-top:4px}.existing-category-alert{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:max-content;max-width:100%;margin-top:8px;padding:6px 8px;border:1px solid #ebcf8c;border-radius:9px;background:#fff8df;color:#805900;font-size:11px}.existing-category-alert>svg{flex:none}.existing-category-alert>small{margin:0;color:#805900;font-size:10px;font-weight:800}.existing-category-alert button{padding:4px 7px;border:0;border-radius:7px;background:#9a6908;color:#fff;font-size:10px;font-weight:900;cursor:pointer}.existing-category-alert.is-locked{border-color:#d7ddd9;background:#f3f5f4;color:var(--muted)}.existing-category-alert.is-locked>small{color:var(--muted)}.projected-badge{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff1bf;color:#715600;font-size:10px;line-height:1.4;vertical-align:middle}.paid-badge,.pending-badge{display:inline-flex;align-items:center;gap:3px;margin-left:7px;padding:2px 6px;border-radius:999px;font-size:10px;line-height:1.4;vertical-align:middle}.paid-badge{background:#d9f4e4;color:#086046}.pending-badge{background:#fff0c7;color:#865900}.expense.is-paid{background:#f8fbf9}.expense.is-paid>div:first-child{opacity:.72}.balance-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 4px;padding:14px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(135deg,var(--soft),#f7fbf8)}.balance-action>div{display:grid;gap:4px}.balance-action>div>span{display:flex;align-items:center;gap:8px;color:var(--brand-dark)}.balance-action small{color:var(--muted)}.balance-action button{flex:none;padding:10px 13px;border:0;border-radius:11px;background:var(--brand-dark);color:#fff;cursor:pointer;font-weight:800}.balance-action button:disabled{opacity:.55;cursor:default}.balance-result{margin:10px 0;padding:11px 12px;border-radius:12px;background:var(--soft);color:var(--brand-dark);font-weight:700}.balancing-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#04231dad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.balancing-card{width:min(100%,520px);padding:28px;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:linear-gradient(145deg,#fff,#effaf3);box-shadow:0 24px 70px #0000004d;text-align:center;animation:balance-card-in .35s ease-out both}.balancing-card h2{margin:6px 0 7px;color:var(--brand-dark);font-size:clamp(24px,6vw,34px)}.balancing-card>p{margin:0 auto;max-width:390px;color:var(--muted)}.balancing-card>small{display:block;margin-top:10px;color:var(--muted)}.balancing-scene{display:grid;grid-template-columns:78px minmax(150px,1fr) 78px;align-items:center;gap:10px;margin:28px 0 24px}.balancing-person{display:grid;justify-items:center;gap:7px;font-size:13px}.balancing-person>span{width:54px;height:54px;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:var(--brand-dark);color:#fff;box-shadow:0 7px 18px #07504038;font-size:20px;font-weight:900}.balancing-flow{position:relative;height:76px;display:grid;place-items:center;color:var(--brand)}.balancing-line{position:absolute;left:0;right:0;top:50%;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--brand),var(--mint));transform:translateY(-50%)}.balancing-flow>svg{position:relative;z-index:2;padding:5px;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 5px 16px #07504033;animation:balance-scale 1s ease-in-out infinite alternate}.moving-expense{position:absolute;z-index:3;left:0;top:7px;width:34px;height:24px;display:grid;place-items:center;border:1px solid #a9d9bd;border-radius:6px;background:#fff;color:var(--brand-dark);box-shadow:0 4px 10px #07504029;font-size:10px;font-style:normal;font-weight:900;animation:move-expense 1.35s ease-in-out infinite}.moving-expense-two{top:45px;animation-delay:-.45s;animation-direction:alternate-reverse}.moving-expense-three{top:26px;animation-delay:-.9s}.balancing-progress{height:7px;overflow:hidden;border-radius:999px;background:#d8ebe0}.balancing-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--brand));animation:balance-progress 1.1s ease-in-out infinite alternate}.action-card{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.action-visual{min-height:112px;display:grid;place-items:center;margin:20px 0;border-radius:18px;background:#e1f5e994}.action-visual .balancing-scene{width:100%;margin:16px 0}.action-symbol{width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand);box-shadow:0 9px 24px #07504029;animation:action-symbol-float 1.4s ease-in-out infinite alternate}.action-delete .action-symbol{color:#a33a36;background:#fff5f4}.action-close .action-symbol{color:#8a6810;background:#fff9e8}.action-reopen .action-symbol{color:#176c87;background:#effaff}.action-visual.is-working .action-symbol svg{animation:action-symbol-work .85s ease-in-out infinite}.action-delete .action-visual.is-working .action-symbol svg{animation-name:action-delete-work}.action-summary{display:grid;gap:7px;max-height:210px;margin:16px 0 4px;overflow-y:auto;text-align:left}.action-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;border-radius:10px;background:var(--soft);color:var(--brand-dark);font-size:13px}.action-summary svg{margin-top:1px}.action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.action-buttons:has(>:only-child){grid-template-columns:1fr}.action-buttons button{min-height:44px;margin:0;border-radius:12px;font-weight:800;cursor:pointer}.action-confirm{border:0;background:var(--brand-dark);color:#fff}.action-delete .action-confirm{background:#983b37}.action-create .action-confirm{background:var(--brand)}.action-create .action-visual{background:radial-gradient(circle at center,#e5f8ed,#f7fcf9 68%)}.launch-success{position:relative;width:110px;height:110px;display:grid;place-items:center}.launch-success>i{position:absolute;inset:7px;border:2px solid var(--mint);border-radius:50%;animation:launch-ring 1.3s ease-out infinite}.launch-success>span{width:78px;height:78px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 12px 28px #07504040;animation:launch-receipt .6s cubic-bezier(.2,.8,.2,1) both}.launch-check{position:absolute;right:2px;bottom:8px;padding:4px;border-radius:50%;background:#fff;color:var(--brand);box-shadow:0 4px 12px #07504033;animation:launch-check .45s .35s cubic-bezier(.2,1.5,.4,1) both}.action-card .balancing-progress{margin-top:12px}@keyframes action-symbol-float{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}@keyframes action-symbol-work{0%{transform:rotate(-16deg)}to{transform:rotate(344deg)}}@keyframes action-delete-work{0%,to{transform:rotate(-7deg) scale(.95)}50%{transform:rotate(7deg) scale(1.06)}}@keyframes launch-ring{0%{opacity:.8;transform:scale(.75)}to{opacity:0;transform:scale(1.28)}}@keyframes launch-receipt{0%{opacity:0;transform:translateY(18px) scale(.8) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes launch-check{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes balance-card-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes move-expense{0%{left:0;transform:rotate(-7deg) scale(.88);opacity:.25}45%,55%{opacity:1}to{left:calc(100% - 34px);transform:rotate(7deg) scale(1);opacity:.25}}@keyframes balance-scale{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes balance-progress{0%{transform:translate(-10%)}to{transform:translate(150%)}}.expense-right{display:flex;align-items:center;gap:8px}.expense-right button{border:0;background:transparent;color:var(--brand-dark);cursor:pointer}.expense-right .payment-toggle{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap;transition:background .2s ease,border-color .2s ease,transform .2s ease}.expense-right .payment-toggle.is-paid{border-color:#a9dbc0;background:#dff5e8;color:#075d45}.expense-right .payment-toggle.is-pending{border-color:#ebcf8c;background:#fff3cf;color:#855900}.expense-right .payment-toggle:hover{transform:translateY(-1px)}.expense-right .payment-toggle svg{display:block;flex:none}.home-recent-row{align-items:center;gap:10px}.home-recent-row>span:nth-child(2){min-width:0;flex:1}.category-select{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.category-select .category-glyph{width:44px;height:44px;border:1px solid rgba(7,80,64,.08)}.budget-form{display:grid;grid-template-columns:1fr auto;gap:8px}.budget-form button{border:0;border-radius:12px;padding:0 16px}.category-form{display:grid;grid-template-columns:1fr auto;gap:8px}.category-form button{border:0;border-radius:12px;padding:0 16px}.budget-form button,.category-form button,.recurrence-form button,.recurrence-card .panel-heading button,.panel>button{background:var(--brand-dark);color:#fff;cursor:pointer;font-weight:700}.budget-form button:hover,.category-form button:hover,.recurrence-form button:hover,.recurrence-card .panel-heading button:hover,.panel>button:hover{background:var(--brand)}.goal-row{padding:12px 0;border-bottom:1px solid var(--border)}.goals-list{display:grid;gap:12px}.goals-list .goal-row{padding:18px;border:0;border-radius:16px;background:var(--surface)}.goal-row .row{border:0;padding:0 0 8px;gap:12px}.goal-row progress{width:100%;height:10px;accent-color:var(--brand)}.goal-row small,.panel .row small{display:block;color:var(--muted);margin:5px 0 9px}.relative-goal-card{display:grid;gap:14px;padding:18px;border:1px solid #b9ddca;border-radius:16px;background:linear-gradient(135deg,#f3fbf6,#e7f6ed)}.relative-goal-card h3{margin:3px 0 4px}.relative-goal-card p{margin:0;color:var(--muted)}.relative-goal-form{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px}.relative-goal-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.percent-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--border);border-radius:12px;background:#fff}.percent-input input{border:0;background:transparent}.percent-input b{padding-right:12px;color:var(--brand-dark)}.relative-goal-result{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:12px}.relative-goal-result>span{display:grid;gap:3px}.relative-goal-result small{color:var(--muted)}.relative-goal-result button{padding:11px 13px;border:0;border-radius:11px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.relative-goal-result button:disabled{opacity:.55;cursor:default}.goal-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:2px 0 12px;padding:10px;border:1px solid #b9ddca;border-radius:12px;background:var(--soft)}.goal-suggestion>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--brand);color:#fff}.goal-suggestion>div{min-width:0}.goal-suggestion small{margin:2px 0 0;line-height:1.35}.goal-suggestion button{padding:8px 10px;border:0;border-radius:9px;background:var(--brand-dark);color:#fff;font-size:12px;font-weight:800;cursor:pointer}.goal-suggestion button:disabled{opacity:.55;cursor:default}@media(max-width:680px){.relative-goal-form{grid-template-columns:1fr}.relative-goal-result{grid-template-columns:1fr auto 1fr}.relative-goal-result button{grid-column:1/-1}.goal-suggestion{grid-template-columns:auto minmax(0,1fr)}.goal-suggestion button{grid-column:1/-1;padding:10px}.category-variation-heading{align-items:stretch;flex-direction:column}.category-variation-total{justify-items:start;text-align:left}.category-variation-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.category-variation-values{grid-column:1/-1;grid-row:2}.category-variation-delta{grid-column:2;grid-row:1}.active-goal{align-items:flex-start;flex-direction:column}.active-goal b{text-align:left}}.recurrence-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.recurrence-form button{grid-column:1/-1;border:0;border-radius:12px;padding:12px}.recurrence-dashboard-content{display:grid;align-content:start;gap:16px}.recurrence-dashboard-content>p{margin:0}.recurrence-card{background:var(--surface);border-radius:16px;padding:18px}.recurrence-card h3{margin:0 0 14px}.recurrence-card .panel-heading{align-items:center;gap:12px}.recurrence-card .panel-heading button{border:0;border-radius:12px;padding:10px 12px;cursor:pointer}.recurrence-card .panel-heading button:disabled{opacity:.55;cursor:default}.recurrence-card .row{display:flex;align-items:center;gap:10px}.recurrence-card .row span{min-width:0;flex:1;overflow-wrap:anywhere}.recurrence-card .row b{white-space:nowrap}.panel .row{gap:10px;align-items:center}.panel .row span{min-width:0;overflow-wrap:anywhere}.panel-note{color:var(--muted);margin-top:-6px}.category-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.category-list span{background:var(--background);border-radius:999px;padding:6px 10px;font-size:13px}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px;margin-top:12px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#0006;display:grid;align-items:end;padding:0 10px}.modal{width:100%;max-width:680px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:0 auto;background:var(--surface);border-radius:24px 24px 0 0;padding:18px 20px 0;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.modal-header h2{margin:0 0 12px}.modal-header button{width:44px;height:44px;border:0;border-radius:50%;background:var(--background);font-size:28px;display:grid;place-items:center;cursor:pointer}.modal form{display:grid;gap:9px;min-height:0;overflow-y:auto;padding:0 2px calc(18px + env(safe-area-inset-bottom))}.expense-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px!important}.expense-form .field{display:grid;align-content:start;gap:6px}.expense-form .field label{font-size:13px;font-weight:750}.expense-details,.installment-preview,.expense-form>.primary,.expense-form>.secondary{grid-column:1/-1}.category-suggestion{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid #b9ddca;border-radius:14px;background:linear-gradient(135deg,#f3fbf6,#e7f6ed)}.category-suggestion>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--brand);color:#fff}.category-suggestion>div:nth-child(2){display:grid;gap:3px;min-width:0}.category-suggestion small{color:var(--muted);overflow-wrap:anywhere}.category-suggestion-actions{display:flex;align-items:center;gap:6px}.category-suggestion-actions button{padding:8px 10px;border:0;border-radius:9px;background:var(--brand-dark);color:#fff;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.category-suggestion-actions button:last-child{background:transparent;color:var(--muted)}.expense-details{margin-top:4px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#f8fbf9}.expense-details summary{cursor:pointer;color:var(--brand-dark);font-weight:800}.expense-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:14px}.custom-split{grid-column:1/-1;display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--surface)}.custom-split>div:first-child{display:flex;justify-content:space-between;gap:10px}.custom-split small{color:var(--muted)}.participant-list{display:flex;flex-wrap:wrap;gap:7px}.participant-list span{display:flex;align-items:center;gap:5px;padding:7px 8px 7px 11px;border-radius:999px;background:var(--soft);font-weight:700}.participant-list button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#0750401a;cursor:pointer}.participant-add{display:grid;grid-template-columns:1fr auto;gap:8px}.participant-add button{border:0;border-radius:12px;padding:0 14px;background:var(--brand-dark);color:#fff;font-weight:700;cursor:pointer}.expense-details>.panel-note{display:block;margin:12px 0 0}.installment-preview{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--soft)}.installment-preview small{color:var(--muted);text-align:right}.login-panel{max-width:420px;margin:4vh auto 0;border-top:5px solid var(--brand)}.login-logo{display:block;width:min(100%,240px);height:auto;margin:0 auto 10px}.login-panel h1{text-align:center;color:var(--brand-dark)}.login-panel form{display:grid;gap:10px}.remember-option{display:flex;align-items:center;gap:8px;cursor:pointer}.remember-option input{width:auto;margin:0}.account-success{color:var(--brand)}.update-notice{position:fixed;z-index:40;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(92vw,520px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 12px 30px #00000040}.update-notice>div{display:flex;gap:8px}.update-notice button{padding:9px 11px;border:0;border-radius:9px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700}.update-notice button:last-child{background:#1c5949;color:#fff}.update-notice button:disabled{opacity:.6;cursor:wait}.password-modal{width:100%;max-width:460px;margin:0 auto}.password-modal form{display:grid;gap:9px}.secondary{border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--surface);cursor:pointer}.month-close{display:grid;gap:16px;margin-top:14px;padding:22px;border:1px solid rgba(7,80,64,.09);border-radius:20px;background:var(--surface);box-shadow:0 8px 30px #0740320f}.month-close-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.month-close-heading h2{margin:4px 0}.month-close-heading p{margin:0;color:var(--muted)}.month-close-heading>svg{flex:none;color:var(--brand)}.month-close-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.month-close-checklist>button,.month-close-checklist>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:14px;background:#fbfdfc;color:var(--ink);text-align:left}.month-close-checklist>button{cursor:pointer}.month-close-checklist>button>span,.month-close-checklist>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--brand)}.month-close-checklist .has-attention>span{background:#fff0c7;color:#986400}.month-close-checklist>button>div,.month-close-checklist>div>div{display:grid;gap:3px;min-width:0}.month-close-checklist small{color:var(--muted);overflow-wrap:anywhere}.month-close-checklist>button>svg{color:var(--muted)}.month-close-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.month-close-actions small{margin-right:auto;color:var(--muted)}.month-close-actions button{border:0;border-radius:11px;padding:11px 14px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.month-close-actions button:disabled{opacity:.55;cursor:default}.month-close.is-closed{border-color:#b9ddca;background:linear-gradient(135deg,#fff,#edf9f2)}.payer-chart{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.pie-chart{width:180px;aspect-ratio:1;border-radius:50%;flex:none}.payer-legend{flex:1;min-width:220px}.payer-legend-row{display:flex;align-items:center;gap:8px;padding:8px 0}.payer-legend-row b{margin-left:auto;white-space:nowrap}.payer-swatch{width:12px;height:12px;border-radius:3px;flex:none}.settlement{background:var(--soft);border-radius:12px;padding:12px;margin:16px 0 0}.settlement small{display:block;margin-top:4px;color:#4d665d}.settlement-dashboard{margin-top:14px;overflow:hidden;border:1px solid rgba(7,80,64,.1);border-radius:22px;background:var(--surface);box-shadow:0 8px 30px #0740320f}.settlement-dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px;color:#fff;background:linear-gradient(125deg,#092f29,#087b5d)}.settlement-dashboard-header .eyebrow{color:#bcebd0}.settlement-dashboard-header h2{margin:5px 0 4px;font-size:30px}.settlement-dashboard-header p{margin:0;color:#d7f5e3}.settlement-header-actions{display:flex;align-items:flex-end;gap:18px}.settlement-period-toggle{display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#ffffff1a}.settlement-period-toggle button{padding:7px 11px;border:0;border-radius:8px;background:transparent;color:#d7f5e3;font-size:13px;font-weight:800;cursor:pointer}.settlement-period-toggle button.is-active{background:var(--surface);color:var(--brand-dark)}.settlement-total{display:grid;justify-items:end;gap:3px;text-align:right}.settlement-total span,.settlement-total small{color:#d7f5e3}.settlement-total strong{font-size:clamp(26px,4vw,38px)}.settlement-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.payer-contributions,.transfer-plan{min-width:0;padding:24px 26px 26px}.transfer-plan{border-left:1px solid var(--border);background:#f8fbf9}.payer-contributions h3,.transfer-plan h3{margin:0 0 18px}.payer-contribution{display:grid;gap:7px;margin-top:15px}.payer-contribution>div{display:flex;justify-content:space-between;gap:12px}.payer-contribution>div span{display:flex;align-items:center;gap:8px;min-width:0}.payer-contribution>div span i{width:10px;height:10px;flex:none;border-radius:50%}.analysis-avatar{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-size:10px;font-style:normal;font-weight:900;box-shadow:0 3px 9px #07403224}.analysis-avatar.is-tone-one{background:#8056aa}.analysis-avatar.is-tone-two{background:#087b5d}.analysis-avatar.is-tone-three{background:#637c70}.payer-contribution>div span i.analysis-avatar{width:30px;height:30px}.payer-contribution strong{white-space:nowrap}.payer-track{display:block;height:8px;overflow:hidden;border-radius:999px;background:#dceae2}.payer-track i{display:block;height:100%;min-width:3px;border-radius:999px}.transfer-card{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:10px;padding:14px;border:1px solid #dceae2;border-radius:15px;background:var(--surface)}.transfer-person{display:grid;min-width:0}.transfer-person small{color:var(--muted)}.transfer-person strong{overflow-wrap:anywhere}.transfer-person-to{text-align:right}.transfer-arrow{display:grid;justify-items:center;color:var(--brand)}.transfer-arrow b{white-space:nowrap;font-size:14px}.settlement-balanced{display:flex;align-items:center;gap:12px;padding:18px;border-radius:15px;background:var(--soft)}.settlement-balanced>span{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--brand);color:#fff;font-weight:900}.settlement-balanced div{display:grid;gap:3px}.settlement-balanced small{color:var(--muted)}.analytics-clean-dashboard{margin-top:14px;overflow:hidden;border:1px solid rgba(7,80,64,.1);border-radius:22px;background:#f7faf8;box-shadow:0 8px 30px #0740320f}.analytics-clean-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.analytics-clean-header h2{margin:5px 0 3px;font-size:clamp(24px,4vw,32px)}.analytics-clean-header p{margin:0;color:var(--muted)}.analytics-header-actions{display:flex;align-items:center;gap:12px}.analytics-period-toggle{display:flex;gap:3px;padding:4px;border-radius:11px;background:var(--background)}.analytics-period-toggle button{padding:8px 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.analytics-period-toggle button.is-active{background:var(--surface);color:var(--brand-dark);box-shadow:0 2px 8px #07403217}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-bottom:1px solid var(--border);background:var(--border)}.analytics-kpis article{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:18px;background:var(--surface)}.analytics-kpis article>div{display:grid;gap:3px;min-width:0}.analytics-kpis small,.analytics-kpis em{color:var(--muted);font-size:11px;font-style:normal}.analytics-kpis strong{overflow-wrap:anywhere;font-size:clamp(17px,2vw,23px)}.analytics-kpi-icon{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:11px}.analytics-kpi-icon.is-total{background:#e8f0ec;color:var(--brand-dark)}.analytics-kpi-icon.is-paid{background:#dcf4e6;color:#087b5d}.analytics-kpi-icon.is-pending{background:#fff0c7;color:#986400}.analytics-kpi-icon.is-balance{background:#eee8f7;color:#725094}.analytics-clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.analytics-card{min-width:0;padding:19px;border:1px solid rgba(7,80,64,.08);border-radius:17px;background:var(--surface)}.analytics-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-card-heading small,.analytics-insights small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.11em}.analytics-card-heading h3{margin:4px 0 0;font-size:18px}.analytics-card-heading>span{color:var(--brand-dark);font-weight:900}.analytics-card-heading button{display:flex;align-items:center;gap:4px;padding:5px;border:0;background:transparent;color:var(--brand);font-size:12px;font-weight:800;cursor:pointer}.analytics-month-chart{display:grid;grid-template-columns:repeat(12,minmax(26px,1fr));align-items:end;gap:5px;height:154px;margin-top:17px;overflow-x:auto}.analytics-month-chart>div{display:grid;grid-template-rows:116px auto;align-items:end;justify-items:center;gap:7px;height:100%}.analytics-month-chart>div>span{width:100%;height:116px;display:flex;align-items:flex-end;justify-content:center;border-radius:7px;background:#edf3f0;overflow:hidden}.analytics-month-chart i{display:block;width:100%;border-radius:7px 7px 3px 3px;background:#9fcdb8;transition:height .4s ease}.analytics-month-chart .is-current i{background:var(--brand)}.analytics-month-chart .is-current small{color:var(--brand-dark);font-weight:900}.analytics-month-chart small{color:var(--muted);font-size:9px;text-transform:capitalize}.analytics-ranking{display:grid;gap:12px;margin-top:18px}.analytics-ranking>div{display:flex;align-items:center;gap:10px;min-width:0}.analytics-ranking .category-glyph{width:32px;height:32px;border-radius:10px}.analytics-ranking>div>span{display:grid;gap:6px;min-width:0;flex:1}.analytics-ranking>div>span>span{display:flex;justify-content:space-between;gap:10px;font-size:12px}.analytics-ranking strong{white-space:nowrap}.analytics-ranking>div>span>i{height:6px;overflow:hidden;border-radius:999px;background:#e7efeb}.analytics-ranking>div>span>i>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),#78c6a2)}.analytics-payer-list{margin-top:5px}.analytics-transfer-card .transfer-card{margin-top:16px}.analytics-insights{display:flex;align-items:flex-start;gap:12px;margin:0 16px 16px;padding:16px 18px;border:1px solid #d9e8df;border-radius:15px;background:#f1f8f4}.analytics-insights>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--brand);color:#fff}.analytics-insights>div{display:grid;gap:3px}.analytics-insights strong{font-size:14px}.analytics-insights p{margin:0;color:var(--muted);font-size:13px}.analytics-report-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}.analytics-report-actions button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.analytics-report-actions button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--brand)}.analytics-report-actions button>div{display:grid;gap:2px}.analytics-report-actions small{color:var(--muted)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading h2{margin-bottom:8px}.panel-heading .panel-note{margin:0}.home-activity{padding-top:10px}.home-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:6px;padding:4px;border-radius:13px;background:var(--background)}.home-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.home-tabs button.is-active{background:var(--surface);color:var(--brand-dark);box-shadow:0 2px 8px #07403214}.home-tabs small{min-width:22px;padding:2px 6px;border-radius:999px;background:#dcece4;font-size:11px}.home-link{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:8px;padding:10px;border:0;background:transparent;color:var(--brand);font-weight:800;cursor:pointer}.home-category-list{display:grid;gap:4px;padding-top:5px}.home-category-list button{display:grid;gap:8px;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer}.home-category-list button>span{display:flex;justify-content:space-between;gap:12px}.home-category-list strong{white-space:nowrap}.home-category-list i{height:6px;overflow:hidden;border-radius:999px;background:#dceae2}.home-category-list i span{display:block;height:100%;border-radius:999px;background:var(--brand)}.home-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:18px 20px;border:1px dashed #a9cbb9;border-radius:16px;background:#ffffff8c}.home-empty div{display:grid;gap:3px}.home-empty span{color:var(--muted);font-size:14px}.home-empty button{flex:none;padding:10px 13px;border:0;border-radius:11px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.category-dashboard-backdrop{position:fixed;inset:0;z-index:30;background:#0740329e}.category-dashboard{width:min(100%,980px);height:100vh;height:100dvh;margin:auto;background:var(--background);display:flex;flex-direction:column;box-shadow:0 0 60px #07403240}.category-dashboard-header{background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));border-bottom:1px solid #d8e8dc;flex:none}.category-dashboard-header h2{margin:5px 0 0;font-size:clamp(22px,4vw,32px)}.category-dashboard-header button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--background);display:grid;place-items:center;cursor:pointer}.category-dashboard-content{overflow-y:auto;padding:20px max(20px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.manual-content{display:grid;align-content:start;gap:14px;line-height:1.55}.manual-content>p{margin:0}.manual-index{display:flex;flex-wrap:wrap;gap:8px}.manual-index a{padding:8px 11px;border-radius:999px;background:var(--surface);color:var(--brand);text-decoration:none;font-size:14px;font-weight:600}.manual-index a:focus-visible{outline:3px solid var(--brand)}.manual-section{padding:20px;border-radius:16px;background:var(--surface);scroll-margin-top:16px}.manual-section h3{margin:0 0 12px}.manual-section p:last-child,.manual-section ul:last-child,.manual-section ol:last-child{margin-bottom:0}.manual-section li{margin-bottom:8px}.category-dashboard-total{background:linear-gradient(135deg,var(--brand-dark),var(--ink));color:#fff;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:5px}.category-dashboard-total strong{font-size:clamp(30px,6vw,44px)}.category-dashboard-total small{color:var(--border)}.category-dashboard-list{display:grid;gap:10px;margin-top:16px}.category-dashboard-item{width:100%;border:2px solid transparent;border-radius:16px;background:var(--surface);padding:16px;text-align:left;cursor:pointer;display:grid;gap:9px}.category-dashboard-item.is-selected{border-color:var(--brand)}.category-dashboard-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-dashboard-item-top>span{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}.category-dashboard-item-top strong{white-space:nowrap}.category-dashboard-item-top .category-glyph{width:34px;height:34px;border-radius:10px}.category-color{width:12px;height:12px;border-radius:3px;flex:none}.category-bar-track{display:block;width:100%;height:11px;border-radius:999px;background:#d8e8dc;overflow:hidden}.category-bar-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),#69b795)}.category-dashboard-item small{color:var(--muted)}.category-details{background:var(--surface);border-radius:16px;padding:18px;margin-top:16px}.category-details h3{margin:0 0 6px}.category-details .row{gap:12px}.category-details .row span{min-width:0;overflow-wrap:anywhere}.category-details .row small{display:block;color:var(--muted);margin-top:4px}.category-details .row b{white-space:nowrap}.annual-report-content{display:grid;align-content:start;gap:16px}.annual-report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;padding:16px;border-radius:16px;background:var(--surface)}.annual-report-filters label{display:grid;gap:6px;font-weight:600;font-size:14px}.annual-report-toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.annual-report-toolbar button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);cursor:pointer}.annual-report-toolbar button:disabled{opacity:.55;cursor:default}.annual-report-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.annual-report-hero>div{display:grid;gap:5px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--ink)}.annual-report-hero>div:first-child{border-color:transparent;background:linear-gradient(135deg,var(--brand-dark),var(--ink));color:#fff}.annual-report-hero strong{font-size:clamp(22px,4vw,34px);overflow-wrap:anywhere}.annual-report-hero small{color:var(--muted)}.annual-report-hero>div:first-child small{color:var(--border)}.annual-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.annual-report-card{padding:18px;border-radius:16px;background:var(--surface)}.annual-report-card h3{margin:0 0 14px}.annual-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.annual-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.annual-chart-heading small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.11em}.annual-chart-heading h3{margin:4px 0 0}.annual-chart-heading>strong{color:var(--brand-dark);white-space:nowrap}.annual-line-chart-card{grid-column:1/-1}.annual-line-chart{display:grid;grid-template-columns:76px minmax(480px,1fr);gap:10px;min-width:0;margin-top:16px;padding-bottom:4px;overflow-x:auto}.annual-y-axis{display:grid;grid-template-rows:auto 180px;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}.annual-y-axis>strong{color:var(--ink);font-size:10px;text-align:right}.annual-y-axis>div{display:flex;height:180px;padding:14px 0 9px;flex-direction:column;justify-content:space-between;align-items:flex-end}.annual-line-plot{min-width:480px;padding-top:17px}.annual-line-chart svg{display:block;width:100%;height:180px;overflow:visible}.annual-line-chart .annual-grid-line{stroke:#dce9e2;stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.annual-line-chart .annual-line-area{fill:url(#annual-line-fill)}.annual-line-chart .annual-line-path{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.annual-line-chart circle{fill:#fff;stroke:var(--brand);stroke-width:3;vector-effect:non-scaling-stroke}.annual-line-chart text{fill:var(--brand-dark);font-size:11px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.annual-line-labels{display:flex;justify-content:space-between;padding:2px 18px 0 14px;color:var(--muted);font-size:10px}.annual-line-labels span{min-width:20px;text-align:center}.annual-x-axis-title{margin-top:6px;color:var(--ink);font-size:10px;font-weight:800;text-align:center}.annual-donut-layout{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;margin-top:18px}.annual-donut{width:150px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%}.annual-donut:before{content:"";grid-area:1/1;width:64%;aspect-ratio:1;border-radius:50%;background:var(--surface)}.annual-donut>span{z-index:1;grid-area:1/1;display:grid;justify-items:center}.annual-donut strong{font-size:24px}.annual-donut small{color:var(--muted)}.annual-donut-legend{display:grid;gap:10px;min-width:0}.annual-donut-legend>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px}.annual-donut-legend i{width:9px;height:9px;border-radius:50%}.annual-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annual-donut-legend b{white-space:nowrap}.annual-horizontal-bars{display:grid;gap:14px;margin-top:17px;max-height:310px;padding-right:4px;overflow:auto}.annual-horizontal-bars>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 12px}.annual-horizontal-bars>div>span{min-width:0;overflow-wrap:anywhere;font-size:13px}.annual-horizontal-bars>div>b{white-space:nowrap;font-size:12px}.annual-horizontal-bars>div>i{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#e6efea}.annual-horizontal-bars>div>i>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),#78c6a2)}.annual-horizontal-bars .report-category-label .category-glyph{width:28px;height:28px;border-radius:9px}.annual-details{padding:0;overflow:hidden}.annual-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;cursor:pointer;list-style:none}.annual-details>summary::-webkit-details-marker{display:none}.annual-details>summary>span:first-child{display:grid;gap:3px}.annual-details>summary small{color:var(--muted);font-weight:400}.annual-details>summary>span:last-child{color:var(--brand);font-size:12px;font-weight:800}.annual-details[open]>summary{border-bottom:1px solid var(--border)}.annual-details .annual-payer-section{margin:0 18px}.report-category-label,.report-payer-label{display:flex;align-items:center;gap:8px;min-width:0}.report-category-label .category-glyph{width:32px;height:32px;border-radius:10px}.report-payer-label .analysis-avatar{width:28px;height:28px}.report-breakdown{margin:12px 0}.report-breakdown>div{display:flex;justify-content:space-between;gap:10px}.report-breakdown span{overflow-wrap:anywhere}.report-breakdown b{white-space:nowrap}.report-breakdown progress{width:100%;height:9px;accent-color:var(--brand)}.annual-payer-section{padding:14px 0;border-top:1px solid #d8e8dc}.annual-payer-section h4{margin:0 0 8px}.annual-detail{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #f4faf6}.annual-detail>div{min-width:0;flex:1}.annual-detail small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.annual-detail b{white-space:nowrap}.annual-empty{padding:16px;border-radius:16px;background:var(--surface)}.projection-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(100px,auto));gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #d8e8dc}.projection-row>:not(:first-child){text-align:right}.projection-row>:first-child{overflow-wrap:anywhere}.projection-row .report-category-label{text-align:left}.projection-heading{color:var(--muted);font-size:13px;font-weight:700}.projection-total{border-bottom:0;font-weight:700}.projection-options p{color:var(--muted)}.projection-options h4{margin:18px 0 10px}.projection-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.projection-checks label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #d8e8dc;border-radius:10px;cursor:pointer}.projection-checks .category-glyph{width:30px;height:30px;border-radius:9px}.projection-checks input{width:auto;margin:0;accent-color:var(--brand)}.analytics-category-row{align-items:center;gap:10px}.analytics-category-row>span{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.analytics-category-row>span>span{display:block;min-width:0}.analytics-category-row>b{white-space:nowrap}.payer-legend-row .analysis-avatar{width:32px;height:32px}.month-plan-content{display:grid;align-content:start;gap:16px}.month-plan-period{display:grid;gap:10px}.month-plan-period>label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:800}.month-plan-period>label input{width:105px}.month-plan-calendar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.month-plan-calendar button{display:grid;justify-items:center;gap:2px;min-width:0;padding:9px 5px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;text-transform:capitalize}.month-plan-calendar button small{color:var(--muted);font-size:10px}.month-plan-calendar button.is-selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.month-plan-calendar button.is-closed{opacity:.48;filter:saturate(.35)}.month-plan-calendar button.is-closed.is-selected{opacity:.72}.month-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-radius:18px;background:linear-gradient(135deg,var(--brand-dark),var(--ink));color:#fff}.month-plan-toolbar label{display:grid;gap:6px;font-size:13px;font-weight:700}.month-plan-toolbar input{color:var(--ink);background:#fff}.month-plan-toolbar>div{display:grid;justify-items:end;gap:3px;text-align:right}.month-plan-toolbar>div:first-child{justify-items:start;text-align:left}.month-plan-toolbar strong{font-size:clamp(28px,5vw,40px)}.month-plan-toolbar small,.month-plan-toolbar span{color:#d4f8e2}.month-plan-intro{margin:0;color:var(--muted);line-height:1.5}.month-plan-closed{padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:var(--background);color:var(--muted)}.month-plan-list{display:grid;gap:8px}.month-plan-list.is-readonly{opacity:.68}.month-plan-row{display:grid;grid-template-columns:auto minmax(0,1fr) 145px auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.month-plan-row.is-excluded{opacity:.5}.month-plan-row>input[type=checkbox]{width:auto;accent-color:var(--brand)}.month-plan-row>div{display:grid;gap:3px;min-width:0}.month-plan-row>div strong{overflow-wrap:anywhere}.month-plan-row small{color:var(--muted)}.month-plan-row>button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--background);color:var(--brand-dark);cursor:pointer}.month-plan-add{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) minmax(150px,1fr) auto;gap:8px;padding:16px;border-radius:16px;background:var(--surface)}.month-plan-add button,.month-plan-save button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;padding:10px 14px;background:var(--brand-dark);color:#fff;font-weight:800;cursor:pointer}.month-plan-save{position:sticky;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:15px;background:#fffffff5;box-shadow:0 -5px 20px #07403214}.month-plan-save span{color:var(--muted)}.month-plan-save button:disabled{opacity:.55}@media(max-width:480px){.projection-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(82px,auto));gap:6px;font-size:13px}}@media(max-width:480px){.category-dashboard-header{padding-top:calc(16px + env(safe-area-inset-top))}.category-dashboard-item-top{align-items:flex-start}.category-dashboard-item-top strong{font-size:14px}}@media(max-width:480px){.recurrence-form{grid-template-columns:1fr}.panel .row{flex-wrap:wrap}}@media(max-width:480px){.recurrence-card .panel-heading{align-items:stretch;flex-direction:column}.recurrence-card .row{flex-wrap:wrap}}@media(max-width:480px){.sort-control{align-items:stretch;flex-direction:column}.sort-control select{width:100%}}@media(max-width:600px){.panel-heading:has(.expense-sort-button){align-items:center}}@media(max-width:600px){.update-notice{bottom:calc(92px + env(safe-area-inset-bottom))}.app-header{align-items:center}.brand-mark{width:42px;height:42px}.brand-title{gap:9px}.brand-title h1{font-size:clamp(20px,6vw,26px)}.header-actions{flex-wrap:nowrap;margin-left:auto}.local-mode-note{display:none}.app{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.app-nav{position:fixed;z-index:15;bottom:0;left:0;right:0;display:grid;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:0 -6px 22px #07403214}.app-nav button{flex-direction:column;gap:3px;min-height:54px;font-size:11px}.app-nav button.is-active{background:var(--soft);color:var(--brand);box-shadow:none}.quick-add{position:fixed;z-index:16;right:18px;bottom:calc(82px + env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;margin:0;border-radius:50%;box-shadow:0 8px 24px #0740324d}.page-primary-action{margin:0}.page-primary-action .quick-add{width:56px;min-width:0;padding:0}.quick-add span{display:none}.expense-list-actions .refresh-button{font-size:0;gap:0}.expense-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-search{grid-column:1/-1}.expense-filter-bar select:last-child{grid-column:1/-1}.month-close{padding:18px}.month-close-checklist{grid-template-columns:1fr}.month-close-actions{align-items:stretch;flex-direction:column}.month-close-actions button{width:100%}.balance-action{align-items:stretch;flex-direction:column}.balance-action button{width:100%;min-height:44px}.balancing-card{padding:24px 18px;border-radius:20px}.balancing-scene{grid-template-columns:64px minmax(110px,1fr) 64px;gap:5px}.balancing-person>span{width:48px;height:48px}.expense{align-items:stretch;flex-direction:column;gap:10px}.expense-right{display:grid;grid-template-columns:1fr auto auto}.expense-right>b{grid-column:1/-1}.expense-right .payment-toggle{justify-content:center;min-height:40px}.month-command{grid-template-columns:1fr}.financial-space-switch button{padding:9px 8px}.financial-space-switch button small{display:none}.personal-consolidated{grid-template-columns:1fr}.personal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-toolbar{align-items:stretch;flex-direction:column}.personal-toolbar label{flex:auto}.personal-toolbar button{justify-content:center}.personal-planning-grid,.personal-category-form,.personal-recurrence-form{grid-template-columns:1fr}.personal-goals,.personal-recurrences{grid-column:auto}.personal-month-close{grid-template-columns:1fr}.personal-month-close>button{width:100%}.personal-quick-actions{display:grid;grid-template-columns:1fr 1fr}.personal-quick-actions button{justify-content:center}.next-action{padding:14px}.next-action em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-progress-card,.month-timeline-card{padding:17px}.month-progress-legend strong{font-size:12px}}@media(max-width:520px){.context-bar{align-items:stretch;flex-direction:column}.context-bar label{width:100%}.context-bar label>span{width:52px}}@media(max-width:520px){.personal-kpis,.personal-overview-grid{grid-template-columns:1fr}.personal-entry-row{grid-template-columns:auto minmax(0,1fr)}.personal-entry-row>b{grid-column:2}.personal-member{align-items:stretch;flex-direction:column}.personal-member select{width:100%;max-width:none}.personal-nav button{flex:none}.personal-inline-history-heading{align-items:flex-start;flex-direction:column}.personal-inline-history-heading button{width:100%}}@media(max-width:680px){.management-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-form,.expense-details-grid{grid-template-columns:1fr}.installment-preview{align-items:flex-start;flex-direction:column}.installment-preview small{text-align:left}}@media(max-width:680px){.category-suggestion{grid-template-columns:auto minmax(0,1fr)}.category-suggestion-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.category-suggestion-actions button{white-space:normal}}@media(max-width:520px){.home-empty{align-items:stretch;flex-direction:column}.home-empty button{width:100%}}@media(max-width:720px){.settlement-dashboard-header{align-items:stretch;flex-direction:column;gap:18px}.settlement-header-actions{align-items:flex-start;justify-content:space-between;gap:12px}.settlement-total{justify-items:end;text-align:right}.settlement-visual-grid{grid-template-columns:1fr}.transfer-plan{border-top:1px solid var(--border);border-left:0}}@media(max-width:420px){.settlement-header-actions{align-items:stretch;flex-direction:column}.settlement-period-toggle button{flex:1}.settlement-total{justify-items:start;text-align:left}}@media(min-width:900px){.hero{padding:28px}.hero strong{font-size:48px}.panel{padding:24px 26px}}@media(max-width:600px){.annual-report-hero,.annual-report-grid,.annual-charts-grid{grid-template-columns:1fr}.annual-detail{align-items:flex-start}.annual-donut-layout{grid-template-columns:112px minmax(0,1fr);gap:14px}.annual-donut{width:112px}.annual-donut strong{font-size:20px}.annual-chart-heading{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.month-plan-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.month-plan-row{grid-template-columns:auto minmax(0,1fr) auto}.month-plan-row>input:not([type=checkbox]){grid-column:2/4}.month-plan-add{grid-template-columns:1fr}.month-plan-toolbar{align-items:stretch;flex-direction:column}.month-plan-toolbar>div{justify-items:start;text-align:left}.month-plan-save{align-items:stretch;flex-direction:column}}@media(max-width:900px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.analytics-clean-grid{grid-template-columns:1fr}}@media(max-width:600px){.analytics-clean-header{align-items:flex-start;flex-direction:column;padding:20px}.analytics-header-actions,.analytics-period-toggle{width:100%}.analytics-period-toggle button{flex:1}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-kpis article{display:grid;gap:8px;padding:14px}.analytics-kpis strong{font-size:17px}.analytics-clean-grid{padding:12px;gap:10px}.analytics-card{padding:16px}.analytics-month-chart{grid-template-columns:repeat(12,28px);padding-bottom:3px}.analytics-insights{margin:0 12px 12px}.analytics-report-actions{grid-template-columns:1fr;padding:0 12px 12px}.personal-report-heading{flex-direction:column}.personal-report-heading .annual-report-toolbar{width:100%}.personal-report-heading .annual-report-toolbar button{flex:1;justify-content:center}.personal-report-history .panel-heading{align-items:stretch;flex-direction:column}.personal-history-controls input{flex:1;min-width:0}.personal-report-legend{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.balancing-card,.balancing-flow>svg,.moving-expense,.balancing-progress i,.action-symbol,.action-symbol svg,.launch-success>i,.launch-success>span,.launch-check{animation-duration:.01ms;animation-iteration-count:1}}
