.auth-entry{--auth-background: #f9f9f9;--auth-header: #f4f5f6;--auth-surface: #ffffff;--auth-border: #e3e5e8;--auth-text: #25282d;--auth-muted: #6b7280;--auth-blue: #006fff;--auth-blue-hover: #005fe0;--auth-blue-soft: #edf4ff;--auth-error: #c83b42;min-height:100vh;min-height:100svh;display:grid;grid-template-rows:50px 1fr auto;background:var(--auth-background);color:var(--auth-text);color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.5}.auth-entry *,.auth-entry *:before,.auth-entry *:after{box-sizing:border-box}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 16px;background:var(--auth-header);border-bottom:1px solid var(--auth-border)}.auth-brand{display:flex;align-items:center;gap:11px;min-width:0;font-size:19px;color:var(--auth-muted);font-weight:400;white-space:nowrap}.auth-brand img{display:block;width:23px;height:23px;border-radius:3px}.auth-header-context{margin-left:5px;padding-left:16px;border-left:1px solid var(--auth-border);color:var(--auth-muted);font-size:12px}.auth-status{display:inline-flex;align-items:center;gap:6px;color:var(--auth-muted);font-size:11px;white-space:nowrap}.auth-workspace{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:36px 24px 36px 76px}.auth-rail{position:absolute;inset:0 auto 0 0;display:flex;flex-direction:column;align-items:center;gap:12px;width:56px;padding-top:18px;border-right:1px solid var(--auth-border);background:var(--auth-surface)}.auth-rail-item{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;color:#b0b5bd}.auth-rail-current{color:var(--auth-blue);background:var(--auth-blue-soft)}.auth-panel{width:100%;max-width:400px;padding:26px 26px 18px;background:var(--auth-surface);border:1px solid var(--auth-border);border-radius:8px;box-shadow:none}.auth-panel-heading{display:flex;align-items:center;gap:9px}.auth-panel-heading>svg{flex-shrink:0;color:var(--auth-muted)}.auth-panel-heading h1{margin:0;color:var(--auth-text);font-size:17px;font-weight:500;letter-spacing:-.2px;line-height:1.45}.auth-description{margin:8px 0 24px;color:var(--auth-muted);font-size:12px;line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--auth-text);font-size:12px;font-weight:400}.auth-entry .auth-input{display:block;width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid var(--auth-border);border-radius:6px;outline:none;background:var(--auth-surface);color:var(--auth-text);font:inherit;font-size:13px;font-weight:400;box-shadow:none;transition:border-color .15s}.auth-entry .auth-input:focus{border-color:var(--auth-blue)!important;outline:1px solid var(--auth-blue);outline-offset:0;box-shadow:none}.auth-input::placeholder{color:#acb0b7;opacity:1}.auth-input:disabled{opacity:.6}.auth-field-hint{margin-top:-2px;color:var(--auth-muted);font-size:11px}.auth-pin-wrap{position:relative;display:block}.auth-entry .auth-pin-input{padding-right:40px;letter-spacing:5px;font-variant-numeric:tabular-nums}.auth-pin-toggle{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:35px;height:34px;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:var(--auth-muted);cursor:pointer}.auth-pin-toggle:hover{background:var(--auth-background);color:var(--auth-text)}.auth-members{overflow:hidden;border:1px solid var(--auth-border);border-radius:6px}.auth-members summary{display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 10px;color:var(--auth-text);font-size:12px;list-style:none;cursor:pointer}.auth-members summary::-webkit-details-marker{display:none}.auth-members summary:after{width:6px;height:6px;margin-left:4px;border-right:1px solid var(--auth-muted);border-bottom:1px solid var(--auth-muted);content:"";transform:rotate(45deg) translateY(-2px)}.auth-members[open] summary:after{transform:rotate(225deg) translate(-1px,-1px)}.auth-members summary>svg{flex-shrink:0;color:var(--auth-muted)}.auth-member-count{margin-left:auto;color:var(--auth-muted);font-size:11px}.auth-member-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 10px;border-top:1px solid var(--auth-border)}.auth-member-inputs .auth-field:last-child{grid-column:1 / -1}.auth-error{margin:-3px 0 0;color:var(--auth-error);font-size:12px;line-height:1.5}.auth-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:6px;font:inherit;font-size:12px;font-weight:400;line-height:1.5;cursor:pointer;box-shadow:none;transition:background .15s,border-color .15s}.auth-button>svg{flex-shrink:0}.auth-button-primary{color:#fff;background:var(--auth-blue);border-color:var(--auth-blue)}.auth-button-primary:hover{background:var(--auth-blue-hover);border-color:var(--auth-blue-hover)}.auth-button-secondary{color:var(--auth-text);background:var(--auth-surface);border-color:var(--auth-border)}.auth-button-secondary:hover{background:var(--auth-background);border-color:#c9cdd3}.auth-button-text{min-height:34px;padding:7px 8px;background:transparent;color:var(--auth-muted)}.auth-button-text:hover{background:var(--auth-background);color:var(--auth-blue)}.auth-button:disabled,.auth-pin-toggle:disabled{opacity:.55;cursor:not-allowed}.auth-entry button:focus-visible,.auth-entry summary:focus-visible{outline:2px solid var(--auth-blue);outline-offset:3px}.auth-pin-note{display:flex;align-items:flex-start;gap:7px;margin:12px 0 20px;color:var(--auth-muted);font-size:11px;line-height:1.6}.auth-pin-note>svg{flex-shrink:0;margin-top:2px}.auth-other-actions{display:flex;flex-direction:column;gap:5px;padding-top:17px;border-top:1px solid var(--auth-border)}.auth-entry-footer{display:flex;justify-content:center;align-items:center;gap:16px;min-height:38px;padding:10px 20px 10px 72px;border-top:1px solid var(--auth-border);color:var(--auth-muted);font-size:10px}.auth-entry-footer>span+span{padding-left:16px;border-left:1px solid var(--auth-border)}.auth-loading{animation:auth-rotate .9s linear infinite}@keyframes auth-rotate{to{transform:rotate(360deg)}}:root[data-theme=dark] .auth-entry{--auth-background: var(--bg, #141619);--auth-header: var(--surface, #1c1f23);--auth-surface: var(--surface, #1c1f23);--auth-border: var(--border, #30343a);--auth-text: var(--text, #e8eaed);--auth-muted: var(--muted, #9299a3);--auth-blue-soft: #006fff18;--auth-error: #f07d83;color-scheme:dark}@media(max-width:700px){.auth-entry{grid-template-rows:calc(50px + env(safe-area-inset-top,0px)) 1fr auto;font-size:14px}.auth-header{gap:10px;padding:env(safe-area-inset-top,0px) calc(16px + env(safe-area-inset-right,0px)) 0 calc(16px + env(safe-area-inset-left,0px))}.auth-header-context{display:none}.auth-status{font-size:11px}.auth-rail{display:none}.auth-workspace{padding:24px calc(16px + env(safe-area-inset-right,0px)) 24px calc(16px + env(safe-area-inset-left,0px))}.auth-panel{padding:24px 20px 16px}.auth-panel-heading h1{font-size:18px}.auth-description{font-size:14px}.auth-field{font-size:13px}.auth-entry .auth-input{height:46px;font-size:16px}.auth-entry .auth-pin-input{padding-right:50px}.auth-pin-toggle{width:44px;height:44px}.auth-button{min-height:46px;font-size:14px}.auth-button-text{min-height:44px;font-size:13px}.auth-members summary{min-height:44px;font-size:13px}.auth-member-inputs{grid-template-columns:1fr;gap:14px;padding:14px 12px}.auth-field-hint,.auth-pin-note,.auth-member-count{font-size:12px}.auth-error{font-size:13px}.auth-entry-footer{padding:12px calc(16px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));font-size:11px}}@media(max-width:360px){.auth-panel{padding-right:16px;padding-left:16px}.auth-member-inputs{grid-template-columns:1fr}.auth-member-count{font-size:12px}}@media(prefers-reduced-motion:reduce){.auth-entry button,.auth-entry input{transition:none}.auth-loading{animation:none}}@media(max-width:700px){.modal-backdrop.mobile-sheet-backdrop{inset:auto 0;top:var(--dialog-viewport-top, 0px);height:var(--dialog-viewport-height, 100dvh);align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 0 0;overflow:hidden;background:#111b2b62}.mobile-sheet-backdrop .modal,.mobile-sheet-backdrop .modal.modal-wide{width:100%;max-width:560px;max-height:calc(var(--dialog-viewport-height, 100dvh) - max(12px,env(safe-area-inset-top)));border-radius:20px 20px 0 0;border-bottom:0;box-shadow:0 -8px 36px #17223920;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding:88px 0 104px}.mobile-sheet-backdrop .modal-head{position:sticky;top:0;z-index:4;min-height:76px;padding:22px 16px 10px;gap:12px;background:var(--surface)}.mobile-sheet-backdrop .modal-head:before{content:"";position:absolute;top:9px;left:50%;width:36px;height:4px;transform:translate(-50%);border-radius:8px;background:var(--border);pointer-events:none}.mobile-sheet-backdrop .modal-head h2{font-size:17px;line-height:1.35;min-width:0}.mobile-sheet-backdrop .modal .icon-button{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:12px}.mobile-sheet-backdrop .modal .field{font-size:13px;line-height:1.5;gap:7px}.mobile-sheet-backdrop .modal input,.mobile-sheet-backdrop .modal select,.mobile-sheet-backdrop .modal textarea{min-height:46px;font-size:16px}.mobile-sheet-backdrop .modal .input{padding:11px 12px;border-radius:10px;min-width:0;max-width:100%}.mobile-sheet-backdrop .modal-fields{padding:18px 16px 0;gap:18px}.mobile-sheet-backdrop .modal-fields p{font-size:13px;line-height:1.6}.mobile-sheet-backdrop .modal-footer{position:sticky;bottom:0;z-index:3;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin-top:22px;background:var(--surface);box-shadow:0 -4px 12px #17223905}.mobile-sheet-backdrop .modal-footer .button{flex:1;min-width:0;min-height:46px;padding:11px 12px;border-radius:11px;font-size:14px;line-height:1.35;white-space:normal;text-align:center}.mobile-sheet-backdrop .transaction-tabs{margin:18px 16px 0;padding:4px;border-radius:11px;gap:2px}.mobile-sheet-backdrop .transaction-tabs button{min-width:0;min-height:46px;padding:9px 5px;border-radius:8px;gap:4px;font-size:12px;line-height:1.4}.mobile-sheet-backdrop .transaction-tabs button svg{width:15px;height:15px}.mobile-sheet-backdrop .amount-field{margin:24px 16px 22px;font-size:13px}.mobile-sheet-backdrop .amount-field>div{padding-bottom:10px;gap:10px}.mobile-sheet-backdrop .amount-field span{font-size:22px}.mobile-sheet-backdrop .modal .amount-field input{min-height:50px;font-size:clamp(24px,7.5vw,30px);letter-spacing:-.7px;font-variant-numeric:tabular-nums}.mobile-sheet-backdrop .form-grid{grid-template-columns:minmax(0,1fr);padding:0 16px;gap:18px}.mobile-sheet-backdrop .form-error{margin:16px 16px 0;padding:12px;border-radius:10px;font-size:13px}.mobile-sheet-backdrop .restore-file,.mobile-sheet-backdrop .import-summary,.mobile-sheet-backdrop .import-preview{border-radius:10px}.mobile-sheet-backdrop .restore-file strong,.mobile-sheet-backdrop .import-summary strong,.mobile-sheet-backdrop .import-preview>div{font-size:13px}.mobile-sheet-backdrop .restore-file span,.mobile-sheet-backdrop .import-summary span{font-size:12px}}@media(max-width:700px){.settings-layout{display:flex;flex-direction:column;gap:16px;min-width:0}.settings-layout>.panel,.settings-layout .settings-right{width:100%;min-width:0}.settings-layout .settings-right{gap:16px}.settings-layout .panel-head{align-items:flex-start;gap:12px;padding:18px 16px 16px}.settings-layout .panel-title{font-size:16px;line-height:1.4}.settings-layout .panel-subtitle{margin-top:6px;font-size:13px;line-height:1.5}.settings-layout .panel-head .badge{flex-shrink:0;padding:4px 8px;font-size:12px}.settings-layout .settings-form{padding:0 16px 18px}.settings-layout .field{min-width:0;gap:7px;font-size:14px;line-height:1.4}.settings-layout .input{min-width:0;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.4}.settings-layout .family-edit-list{margin:18px 0 20px}.settings-layout .family-edit-row{align-items:center;gap:12px;margin-top:16px}.settings-layout .family-edit-row .avatar{flex-shrink:0;width:34px;height:34px;margin-top:25px;font-size:14px}.settings-layout .settings-form-footer{display:grid;gap:10px}.settings-layout .settings-form-footer>.button{grid-row:1;width:100%}.settings-layout .settings-form-footer>span{grid-row:2;font-size:13px;line-height:1.5}.settings-layout .settings-form-footer>span:empty{display:none}.settings-layout .button{min-height:44px;padding:11px 14px;font-size:14px;line-height:1.4}.settings-layout .settings-action-row{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px}.settings-layout .data-action-icon{width:32px;height:32px;border-radius:6px;background:var(--header, #f4f5f6)}.settings-layout .data-action strong,.settings-layout .csv-actions strong{font-size:14px;line-height:1.4}.settings-layout .data-action p,.settings-layout .csv-actions p{margin-top:6px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.settings-layout .settings-action-row>.button{position:static;align-self:center;min-width:60px;margin:0;padding:8px 0 8px 6px;border-color:transparent;background:transparent;color:var(--blue, #006fff);font-size:12px}.settings-layout .settings-action-row>.button:after{position:absolute;inset:0;z-index:1;content:""}.settings-layout .settings-action-row:active{background:var(--header, #f4f5f6)}.settings-layout .settings-action-row:focus-within{outline:2px solid var(--blue, #006fff);outline-offset:-2px}.settings-layout .csv-actions{padding:16px}.settings-layout .csv-actions .button-row{display:grid;grid-template-columns:1fr;gap:0;margin-top:14px;border-top:1px solid var(--border)}.settings-layout .csv-actions .settings-csv-action{justify-content:space-between;width:100%;min-height:48px;padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left}.settings-layout .settings-csv-action>svg{order:1;color:var(--blue, #006fff)}.settings-layout .csv-help{margin-top:8px}.settings-layout .csv-help summary{display:flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5;list-style:none}.settings-layout .csv-help summary::-webkit-details-marker{display:none}.settings-layout .csv-help summary:after{flex-shrink:0;width:6px;height:6px;margin-left:auto;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);content:"";transform:rotate(45deg) translateY(-2px)}.settings-layout .csv-help[open] summary:after{transform:rotate(225deg) translate(-1px,-1px)}.settings-layout .csv-help p{padding:12px;background:var(--header, #f4f5f6);font-size:13px}.settings-layout .local-info{gap:9px;padding:0 16px 18px}.settings-layout .local-info p{font-size:13px;line-height:1.6}.settings-layout .local-info .status-dot{flex-shrink:0;margin-top:6px}.settings-layout .install-button{width:calc(100% - 32px);margin:0 16px 18px;white-space:normal}.settings-layout .accounts-settings .panel-head{flex-direction:column;gap:14px}.settings-layout .accounts-settings .panel-head>.button{width:100%}.settings-layout .account-settings-grid{grid-template-columns:1fr;gap:0;padding:0}.settings-layout .account-edit-card{display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:center;gap:5px 12px;width:100%;min-height:80px;padding:16px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;text-align:left}.settings-layout .account-edit-card .account-icon{grid-column:1;grid-row:1 / 3;width:34px;height:34px;border-radius:7px}.settings-layout .account-edit-card>div{grid-column:2;grid-row:1;min-width:0}.settings-layout .account-edit-card strong{font-size:14px;line-height:1.4}.settings-layout .account-edit-card div span{margin-top:4px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.settings-layout .account-edit-card b{grid-column:2;grid-row:2;width:auto;padding-left:0;font-size:15px;font-weight:500;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.settings-layout .account-edit-card small{display:none}.settings-layout .account-edit-card:after{grid-column:3;grid-row:1 / 3;justify-self:center;width:7px;height:7px;border-top:1px solid var(--muted);border-right:1px solid var(--muted);content:"";transform:rotate(45deg)}.settings-layout .account-edit-card:active{background:var(--header, #f4f5f6)}}.cloud-panel{margin-bottom:16px}.cloud-content{padding:0 16px 16px;display:grid;gap:14px}.cloud-content p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.cloud-status{display:flex;align-items:flex-start;gap:10px;background:var(--bg);border-radius:6px;padding:12px;color:var(--muted)}.cloud-status-synced>svg{color:var(--green)}.cloud-status-conflict>svg,.cloud-status-error>svg{color:#d95060}.cloud-status strong{display:block;color:var(--text);font-weight:500;font-size:13px}.cloud-status span{display:block;font-size:11px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.cloud-actions{display:flex;flex-wrap:wrap;gap:8px}.cloud-privacy{display:flex;align-items:flex-start;gap:7px}.cloud-privacy svg{margin-top:2px}@media(max-width:700px){.cloud-panel{border-radius:10px;margin-bottom:20px}.cloud-panel .panel-head{padding:18px 16px}.cloud-panel .panel-title{font-size:16px}.cloud-content{gap:16px;padding-bottom:18px}.cloud-content p,.cloud-status span{font-size:13px}.cloud-status strong{font-size:14px}.cloud-actions{display:grid;grid-template-columns:1fr}.cloud-content .button{min-height:46px;white-space:normal;width:100%;border-radius:9px}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}.budget-view,.reports-view{min-width:0;font-variant-numeric:tabular-nums}.budget-view .panel,.reports-view .panel{border:1px solid var(--border);border-radius:6px;box-shadow:none;background:var(--surface);overflow:hidden}.finance-page-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.finance-page-intro h1{font-size:18px;font-weight:500;line-height:1.35;margin:0}.finance-page-intro p{font-size:12px;line-height:1.5;margin:4px 0 0}.budget-view .panel-head,.reports-view .panel-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:12px 16px;gap:12px;border-bottom:1px solid var(--border)}.budget-view .panel-title,.reports-view .panel-title{font-size:13px;font-weight:500;line-height:1.5;margin:0}.budget-view .badge,.reports-view .badge{padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--muted);font-size:10px;font-weight:400;white-space:nowrap}.budget-view .progress-track,.reports-view .progress-track{height:3px;border-radius:2px;background:var(--border);overflow:hidden}.budget-view .progress-fill,.reports-view .progress-fill{height:100%;background:var(--blue);border-radius:inherit}.budget-view .progress-fill.danger{background:#d94a5b}.finance-stat-strip{display:grid;gap:0;margin-bottom:12px}.budget-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-metric{display:flex;flex-direction:column;gap:7px;min-width:0;padding:15px 18px;border-right:1px solid var(--border)}.finance-metric:last-child{border-right:0}.finance-metric-label{font-size:11px;line-height:1.4;color:var(--muted)}.finance-metric-value{font-size:20px;font-weight:500;line-height:1.25;letter-spacing:-.3px;color:var(--text);overflow-wrap:anywhere}.finance-metric-detail{font-size:10px;line-height:1.5;color:var(--muted)}.budget-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}.budget-notice>svg{color:var(--blue);flex-shrink:0}.budget-notice>span{flex:1}.budget-notice .button{padding:4px 7px;min-height:28px}.budget-notice .icon-button{width:28px;height:28px}.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:12px}.budget-column-head,.budget-row,.budget-total-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) 170px;column-gap:20px;padding-left:16px;padding-right:16px}.budget-column-head{padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;background:color-mix(in srgb,var(--text) 2%,var(--surface))}.budget-column-head>span:last-child{text-align:right}.budget-row{align-items:center;padding-top:12px;padding-bottom:12px;min-height:65px;border-bottom:1px solid var(--border)}.budget-row:hover{background:color-mix(in srgb,var(--text) 1.5%,var(--surface))}.budget-category-info,.budget-usage{min-width:0}.budget-category-title{display:flex;align-items:center;gap:8px;font-size:12px}.budget-category-title strong{font-weight:500;overflow-wrap:anywhere}.category-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.budget-status{display:block;margin:5px 0 0 15px;font-size:10px;line-height:1.4}.budget-spend-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--text);margin-bottom:8px}.budget-spend-label>span:last-child{flex-shrink:0;color:var(--muted);font-size:10px}.budget-category-amount{display:flex;flex-direction:column;align-items:flex-end;min-width:0;gap:3px}.budget-edit-button{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:4px 0;min-height:25px;max-width:100%;background:transparent;border:0;color:var(--text);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.budget-edit-button>span{overflow-wrap:anywhere;text-align:right}.budget-edit-button svg{flex-shrink:0;color:var(--muted);opacity:.65}.budget-edit-button:hover svg{color:var(--blue);opacity:1}.budget-edit-button.muted{color:var(--blue);font-weight:400}.budget-edit-button:focus-visible,.budget-income-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}.budget-remaining{font-size:10px;line-height:1.4;text-align:right;overflow-wrap:anywhere}.budget-amount-form{display:flex;flex-wrap:wrap;justify-content:flex-end;width:100%;gap:5px}.budget-amount-form .input{width:100%;min-width:0;height:31px;text-align:right;font-size:12px}.budget-edit-actions{display:flex;gap:3px}.budget-edit-actions .icon-button{width:28px;height:28px}.budget-total-row{padding-top:12px;padding-bottom:12px;font-size:12px}.budget-total-row strong{font-weight:500}.budget-total-row>:last-child{text-align:right}.budget-aside{min-width:0}.budget-income-section{padding:14px 16px 10px}.finance-setting-label{display:block;font-size:11px;color:var(--muted)}.budget-income-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;background:transparent;border:0;padding:8px 0 2px;color:var(--text);font:inherit;cursor:pointer;text-align:left}.budget-income-button strong{font-size:18px;font-weight:500;letter-spacing:-.3px;overflow-wrap:anywhere}.budget-income-button svg{color:var(--muted);flex-shrink:0}.budget-allocation-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:11px}.budget-allocation-line strong{text-align:right;font-weight:500}.budget-income-form{display:grid;gap:8px;margin-top:10px}.budget-income-actions{display:flex;gap:5px}.budget-health-section{padding:14px 16px;border-top:1px solid var(--border)}.budget-health-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.budget-health-label h3,.budget-health-label strong{margin:0;font-size:12px;font-weight:500}.budget-health-section>p{font-size:11px;line-height:1.65;margin:10px 0 0}.budget-policy{padding:14px 16px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:9px;font-size:11px}.budget-policy>span{color:var(--muted)}.budget-policy strong{font-weight:500}.budget-policy p{grid-column:1 / -1;line-height:1.65;margin:0}.finance-segmented{display:inline-flex;align-items:center;gap:1px;padding:2px;border:1px solid var(--border);border-radius:4px;background:color-mix(in srgb,var(--text) 3%,var(--surface))}.finance-segmented button{height:25px;padding:0 10px;border:0;border-radius:2px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px}.finance-segmented button:hover{color:var(--text)}.finance-segmented button.active{background:var(--surface);color:var(--blue)}.reports-flow-panel{margin-bottom:12px}.reports-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 0;font-size:11px}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--muted)}.chart-legend>span{display:flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:6px;height:6px;border-radius:50%}.chart-wrap{padding:7px 13px 0;overflow:hidden}.cashflow-chart{display:block;width:100%;height:auto;max-height:245px}.chart-axis-label{fill:var(--muted);font-size:10px;font-family:inherit}.reports-chart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:11px}.reports-chart-footer small{font-size:inherit;white-space:nowrap}.reports-chart-footer strong{text-align:right;font-weight:500}.reports-chart-empty{min-height:218px}.reports-view .empty-state h3,.budget-view .empty-state h3{font-size:13px;font-weight:500}.reports-view .empty-state p,.budget-view .empty-state p{font-size:12px}.reports-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.reports-category-summary{display:flex;align-items:center;gap:16px;padding:14px 16px}.reports-donut{position:relative;width:88px;flex-shrink:0}.reports-donut svg{display:block;width:100%}.reports-donut>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;pointer-events:none}.reports-donut strong{font-size:16px;font-weight:500}.reports-donut span{font-size:9px}.reports-category-total{display:flex;flex-direction:column;min-width:0;gap:7px}.reports-category-total>span{font-size:11px}.reports-category-total>strong{font-size:19px;font-weight:500;letter-spacing:-.2px;overflow-wrap:anywhere}.category-legend-head{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:10px;padding:10px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;background:color-mix(in srgb,var(--text) 2%,var(--surface))}.category-legend-head>:last-child{text-align:right}.category-legend{padding:0 16px 5px}.category-legend-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto 40px;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.category-legend-row:last-child{border-bottom:0}.category-legend-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.category-legend-row>strong{font-size:11px;font-weight:500;white-space:nowrap}.category-legend-row>.muted{text-align:right;font-size:11px}.reports-scope-note{font-size:11px;margin:0;padding:12px 16px 0}.member-spending-list{padding:0 16px}.member-spending-row{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.member-spending-row:last-child{border-bottom:0}.member-avatar{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;font-size:10px;font-weight:500}.member-spending-info{flex:1;min-width:0}.member-spending-title{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}.member-spending-title>strong{font-weight:500}.member-spending-title>strong:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-spending-title>strong:last-child{white-space:nowrap;font-size:11px}.member-spending-info>.muted{display:block;font-size:10px;margin-top:5px}.member-spending-row.active .member-spending-title>strong:first-child{color:var(--blue)}.reports-member-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:11px}.reports-member-total strong{font-weight:500}.text-danger{color:#d94960!important}.text-blue{color:var(--blue)}.field-error{font-size:11px;color:#d94960;margin:0;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.budget-layout{grid-template-columns:minmax(0,1fr) 250px}.budget-column-head,.budget-row,.budget-total-row{grid-template-columns:minmax(100px,1fr) minmax(115px,1fr) 145px;column-gap:14px}.finance-metric{padding:14px 15px}.finance-metric-value{font-size:19px}}@media(max-width:950px){.budget-layout{grid-template-columns:1fr}}@media(max-width:760px){.reports-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-stat-grid .finance-metric:nth-child(2){border-right:0}.reports-stat-grid .finance-metric:nth-child(n+3){border-top:1px solid var(--border)}.reports-secondary-grid{grid-template-columns:1fr}}@media(max-width:640px){.finance-page-intro{align-items:flex-start;margin-bottom:10px}.finance-page-intro h1{font-size:16px}.finance-page-intro p{font-size:11px}.finance-page-intro .button{font-size:11px;gap:5px;padding:6px 9px;white-space:nowrap}.budget-stat-grid{grid-template-columns:1fr}.budget-stat-grid .finance-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--border);padding:12px 14px}.budget-stat-grid .finance-metric:last-child{border-bottom:0}.budget-stat-grid .finance-metric-value{font-size:16px;text-align:right}.budget-stat-grid .finance-metric-detail{display:none}.budget-view .panel-head,.reports-view .panel-head{padding:11px 14px}.budget-column-head,.budget-row,.budget-total-row{grid-template-columns:minmax(0,1fr) 138px;gap:7px 14px;padding-left:14px;padding-right:14px}.budget-column-head>span:nth-child(2),.budget-total-row>span{display:none}.budget-row{padding-top:10px;padding-bottom:10px}.budget-category-info{grid-column:1;grid-row:1}.budget-usage{grid-column:1;grid-row:2}.budget-category-amount{grid-column:2;grid-row:1 / span 2;align-self:center}.budget-category-title{font-size:12px}.budget-status{margin-left:0}.budget-spend-label{font-size:10px;gap:6px;margin-bottom:5px}.budget-spend-label>span:first-child{overflow-wrap:anywhere}.budget-spend-label>span:last-child{font-size:9px}.budget-edit-button{min-height:34px;font-size:11px;gap:6px}.budget-edit-actions .icon-button{width:36px;height:36px}.budget-amount-form .input,.budget-income-form .input{min-height:36px;font-size:16px}.budget-remaining{font-size:9px}.budget-notice{flex-wrap:wrap;font-size:11px}.budget-income-section,.budget-health-section,.budget-policy,.budget-allocation-line{padding-left:14px;padding-right:14px}.reports-stat-grid .finance-metric{padding:13px 14px}.reports-stat-grid .finance-metric-value{font-size:17px}.reports-stat-grid .finance-metric-detail{font-size:10px}.reports-flow-panel .panel-head{flex-wrap:wrap;gap:8px}.finance-segmented{max-width:100%}.finance-segmented button{padding:0 8px;min-height:28px}.reports-chart-meta{padding:12px 14px 0;flex-wrap:wrap;gap:8px;font-size:10px}.chart-legend{gap:10px;font-size:10px}.chart-wrap{padding:8px 4px 0}.cashflow-chart{min-height:150px}.cashflow-chart .chart-axis-label{font-size:18px}.reports-chart-footer,.reports-member-total{padding:11px 14px;font-size:10px}.reports-category-summary{padding:12px 14px;gap:12px}.reports-category-total>strong{font-size:18px}.category-legend-head{padding-left:14px;padding-right:14px;font-size:10px;gap:8px;grid-template-columns:minmax(0,1fr) auto 30px}.category-legend{padding-left:14px;padding-right:14px}.category-legend-row{grid-template-columns:7px minmax(0,1fr) auto 30px;gap:8px;font-size:11px}.category-legend-row>strong,.category-legend-row>.muted{font-size:10px}.reports-scope-note,.member-spending-list{padding-left:14px;padding-right:14px}.member-spending-title{font-size:11px}.member-spending-title>strong:last-child{font-size:10px}}@media(max-width:360px){.budget-column-head,.budget-row,.budget-total-row{grid-template-columns:minmax(0,1fr) 118px;column-gap:10px}.finance-page-intro .button{padding-left:7px;padding-right:7px}.finance-page-intro .button svg{display:none}.reports-stat-grid .finance-metric-value{font-size:15px}.reports-stat-grid .finance-metric{padding-left:11px;padding-right:11px}}@media(max-width:700px){.budget-view .panel,.reports-view .panel{border-left:0;border-right:0;border-radius:0}.budget-view .finance-page-intro,.reports-view .finance-page-intro{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px 14px;margin-bottom:0}.budget-view .finance-page-intro>div,.reports-view .finance-page-intro>div{flex:1 1 140px;min-width:0}.budget-view .finance-page-intro p,.reports-view .finance-page-intro p{font-size:13px;line-height:1.5}.budget-view .finance-page-intro .button{flex:0 0 auto;min-height:44px;max-width:100%;padding:10px 12px;gap:7px;color:var(--blue);background:var(--blue-soft, #edf4ff);border-color:transparent;border-radius:6px;font-size:13px;white-space:nowrap}.budget-view .finance-page-intro .button svg{display:block}.budget-view .panel-head,.reports-view .panel-head{min-height:56px;padding:15px 16px}.budget-view .panel-title,.reports-view .panel-title{font-size:14px}.budget-view .badge,.reports-view .badge{font-size:12px}.budget-view .progress-track,.reports-view .progress-track{height:5px;border-radius:3px}.budget-view .budget-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-view .budget-stat-grid .finance-metric,.reports-view .reports-stat-grid .finance-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;border-right:1px solid var(--border);border-bottom:0;min-width:0}.budget-view .finance-metric-label,.reports-view .finance-metric-label{font-size:13px}.budget-view .finance-metric-detail,.reports-view .finance-metric-detail{display:block;font-size:12px;line-height:1.5}.budget-view .finance-metric-value,.reports-view .finance-metric-value{font-size:20px;text-align:left;line-height:1.35;letter-spacing:-.4px}.budget-view .budget-stat-grid .finance-metric:first-child{grid-column:1 / -1;padding-top:22px;padding-bottom:20px;border-right:0;border-bottom:1px solid var(--border)}.budget-view .budget-stat-grid .finance-metric:first-child .finance-metric-value{font-size:clamp(28px,8vw,36px)}.budget-view .budget-stat-grid .finance-metric:last-child{border-right:0}.budget-view .budget-layout{gap:12px;grid-template-columns:1fr}.budget-view .budget-column-head,.budget-view .budget-row,.budget-view .budget-total-row{grid-template-columns:minmax(0,1fr) 138px;column-gap:12px;padding-left:16px;padding-right:16px}.budget-view .budget-column-head{padding-top:12px;padding-bottom:12px;font-size:12px}.budget-view .budget-column-head>span:nth-child(2),.budget-view .budget-total-row>span{display:none}.budget-view .budget-row{min-height:96px;row-gap:12px;padding-top:14px;padding-bottom:14px}.budget-view .budget-category-info{grid-column:1;grid-row:1}.budget-view .budget-category-amount{grid-column:2;grid-row:1;gap:2px}.budget-view .budget-usage{grid-column:1 / -1;grid-row:2}.budget-view .budget-category-title{gap:9px;font-size:14px}.budget-view .category-dot{width:9px;height:9px}.budget-view .budget-status{margin-left:0;margin-top:7px;font-size:12px}.budget-view .budget-spend-label{margin-bottom:7px;gap:8px;font-size:12px}.budget-view .budget-spend-label>span:last-child{font-size:12px}.budget-view .budget-edit-button{min-height:44px;padding:8px 0;font-size:14px;gap:7px}.budget-view .budget-edit-button svg{width:14px;height:14px;opacity:1}.budget-view .budget-remaining{font-size:12px;line-height:1.45}.budget-view .budget-row.editing .budget-category-info{grid-column:1 / -1}.budget-view .budget-row.editing .budget-category-amount{grid-column:1 / -1;grid-row:3;align-items:stretch}.budget-view .budget-row.editing .budget-amount-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.budget-view .budget-amount-form .input,.budget-view .budget-income-form .input{height:48px;min-height:48px;font-size:16px;padding:10px 12px;border-radius:6px}.budget-view .budget-edit-actions{gap:8px}.budget-view .budget-edit-actions .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:6px}.budget-view .budget-edit-actions .icon-button:first-child{color:#fff;background:var(--blue)}.budget-view .budget-edit-actions .icon-button svg{width:18px;height:18px}.budget-view .budget-amount-form .field-error{grid-column:1 / -1}.budget-view .field-error{font-size:13px}.budget-view .budget-total-row{padding-top:16px;padding-bottom:16px;font-size:14px}.budget-view .budget-notice{flex-wrap:wrap;padding:8px 12px;margin:0 12px 12px;font-size:13px;line-height:1.5}.budget-view .budget-notice>span{flex:1 1 180px}.budget-view .budget-notice .button,.budget-view .budget-notice .icon-button{min-height:44px}.budget-view .budget-notice .icon-button{min-width:44px;width:44px;height:44px}.budget-view .budget-notice .button{padding:10px;font-size:13px}.budget-view .budget-income-section,.budget-view .budget-health-section,.budget-view .budget-policy{padding:16px}.budget-view .finance-setting-label{font-size:13px}.budget-view .budget-income-button{min-height:52px;padding-top:10px;padding-bottom:6px}.budget-view .budget-income-button strong{font-size:24px}.budget-view .budget-income-button svg{width:16px;height:16px}.budget-view .budget-allocation-line{min-height:50px;padding:14px 16px;font-size:13px}.budget-view .budget-allocation-line strong{font-size:14px;overflow-wrap:anywhere}.budget-view .budget-income-form{gap:10px}.budget-view .budget-income-actions{gap:8px}.budget-view .budget-income-actions .button{min-height:44px;min-width:88px;font-size:14px}.budget-view .budget-health-label h3,.budget-view .budget-health-label strong{font-size:14px}.budget-view .budget-health-section>p,.budget-view .budget-policy{font-size:13px}.reports-view .reports-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-view .reports-stat-grid .finance-metric:first-child{border-right:1px solid var(--border)}.reports-view .reports-stat-grid .finance-metric:nth-child(2){border-right:0}.reports-view .reports-stat-grid .finance-metric:nth-child(3){order:-1;grid-column:1 / -1;padding:22px 16px 20px;border-top:0;border-right:0;border-bottom:1px solid var(--border)}.reports-view .reports-stat-grid .finance-metric:nth-child(3) .finance-metric-value{font-size:clamp(28px,8vw,36px)}.reports-view .reports-stat-grid .finance-metric:nth-child(4){grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px 16px;border-right:0;border-top:1px solid var(--border)}.reports-view .reports-stat-grid .finance-metric:nth-child(4) .finance-metric-detail{grid-column:1;grid-row:2}.reports-view .reports-stat-grid .finance-metric:nth-child(4) .finance-metric-value{grid-column:2;grid-row:1 / span 2;font-size:24px;text-align:right}.reports-view .reports-flow-panel .panel-head{display:grid;grid-template-columns:1fr;gap:12px;padding:16px}.reports-view .finance-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:2px;border-radius:7px}.reports-view .finance-segmented button{min-height:44px;height:44px;padding:0 6px;font-size:13px;border-radius:5px;white-space:nowrap}.reports-view .reports-chart-meta{flex-wrap:wrap;padding:12px 16px 0;gap:10px;font-size:12px}.reports-view .chart-legend{gap:14px;font-size:12px}.reports-view .chart-legend i{width:7px;height:7px}.reports-view .chart-wrap{padding:10px 4px 2px}.reports-view .cashflow-chart{width:100%;height:auto;min-height:210px;max-height:330px}.reports-view .cashflow-chart .chart-axis-label{font-size:14px}.reports-view .reports-chart-footer{align-items:center;padding:14px 16px;font-size:13px;line-height:1.5}.reports-view .reports-chart-footer>span{flex:1;min-width:0}.reports-view .reports-chart-footer strong{max-width:45%;font-size:14px;overflow-wrap:anywhere}.reports-view .reports-secondary-grid{grid-template-columns:1fr;gap:12px}.reports-view .reports-category-summary{padding:18px 16px;gap:16px}.reports-view .reports-donut{width:104px}.reports-view .reports-donut strong{font-size:20px}.reports-view .reports-donut span{font-size:12px}.reports-view .reports-category-total>span{font-size:13px}.reports-view .reports-category-total>strong{font-size:24px}.reports-view .category-legend-head{display:none}.reports-view .category-legend{padding:0 16px}.reports-view .category-legend-row{grid-template-columns:8px minmax(0,1fr) auto;gap:5px 10px;min-height:64px;padding:14px 0;font-size:14px}.reports-view .category-legend-row>.category-dot{grid-column:1;grid-row:1 / span 2;width:8px;height:8px}.reports-view .category-legend-row>span:nth-child(2){grid-column:2;grid-row:1 / span 2}.reports-view .category-legend-row>strong{grid-column:3;grid-row:1;font-size:13px;white-space:normal;text-align:right;overflow-wrap:anywhere}.reports-view .category-legend-row>.muted{grid-column:3;grid-row:2;font-size:12px}.reports-view .category-legend-row>.muted:after{content:" dari total"}.reports-view .reports-scope-note{padding:14px 16px 0;font-size:13px;line-height:1.5}.reports-view .member-spending-list{padding:0 16px}.reports-view .member-spending-row{gap:12px;min-height:82px;padding:16px 0}.reports-view .member-avatar{width:36px;height:36px;font-size:12px}.reports-view .member-spending-title{gap:10px;margin-bottom:9px;font-size:14px}.reports-view .member-spending-title>strong:first-child{overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}.reports-view .member-spending-title>strong:last-child{max-width:55%;white-space:normal;text-align:right;overflow-wrap:anywhere;font-size:13px}.reports-view .member-spending-info>.muted{margin-top:7px;font-size:12px}.reports-view .reports-member-total{padding:16px;font-size:13px}.reports-view .reports-member-total strong{font-size:14px;text-align:right;overflow-wrap:anywhere}.reports-view .empty-state h3,.budget-view .empty-state h3{font-size:15px}.reports-view .empty-state p,.budget-view .empty-state p{font-size:13px;line-height:1.6}}@media(max-width:360px){.budget-view .budget-stat-grid .finance-metric:not(:first-child) .finance-metric-value,.reports-view .reports-stat-grid .finance-metric:nth-child(-n+2) .finance-metric-value{font-size:18px}.reports-view .reports-category-total>strong{font-size:22px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f9f9fa;--surface: #fff;--header: #f4f5f6;--text: #30353b;--muted: #6b7280;--border: #e5e7ea;--blue: #006fff;--blue-soft: #f0f6ff;--green: #32a17b;--shadow: none;--input-bg: #fff}:root[data-theme=dark]{color-scheme:dark;--bg: #14171c;--surface: #1c2027;--header: #20242b;--text: #e1e4e9;--muted: #919aa8;--border: #30363f;--blue: #5d9eff;--blue-soft: #23344e;--green: #58be96;--input-bg: #222730}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,border-color .15s,color .15s}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue)!important;box-shadow:0 0 0 2px #006fff14}h1,h2,h3,p{margin-top:0}svg{flex-shrink:0}button svg{pointer-events:none}.muted{color:var(--muted)}.positive{color:var(--green)!important}.text-danger{color:#d95060}.spin{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.badge,.chip{display:inline-flex;align-items:center;gap:6px;border-radius:4px;background:var(--bg);color:var(--muted);font-size:11px;padding:4px 7px;white-space:nowrap}.chip{border:1px solid var(--border);background:var(--surface);padding:6px 10px}.status-dot{display:inline-block;width:6px;height:6px;background:#47b38d;border-radius:50%;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:4px;min-height:32px;padding:7px 12px;font-size:12px;font-weight:400;white-space:nowrap;line-height:1.35}.button.primary{color:#fff;background:#006fff;border-color:#006fff}.button.primary:hover{background:#0062e2;border-color:#0062e2}.button.secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.button.secondary:hover{background:var(--bg);border-color:#b9c2ce}.button.ghost{min-height:28px;padding:5px 0;background:transparent;color:var(--blue);font-size:12px}.button.ghost:hover{color:#005aca}.button.danger{background:#d95060;color:#fff}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;flex-shrink:0;background:transparent;color:var(--muted);border:0;border-radius:4px}.icon-button:hover{background:var(--header);color:var(--blue)}.avatar{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:4px;font-size:10px;font-weight:500}.eyebrow{display:none}.panel{border:1px solid var(--border);border-radius:6px;background:var(--surface);min-width:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;min-height:49px}.panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin:0;line-height:1.5}.panel-title>svg{color:#808893}.panel-subtitle{color:var(--muted);font-size:11px;line-height:1.5;margin:3px 0 0}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.page-intro h1{display:none}.page-intro p{font-size:12px;line-height:1.5;margin:0}.progress-track{height:4px;background:var(--header);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#006fff;border-radius:2px}.empty-state{padding:32px 16px;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--muted)}.empty-state h3{color:var(--text);font-size:14px;font-weight:500;margin:0}.empty-state p{font-size:12px;line-height:1.6;max-width:300px;margin:0}.empty-state .button{margin-top:6px}.empty-state.compact{min-height:280px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}.section-heading h2{font-size:13px;font-weight:500;margin:0}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:400;min-width:0}.input{background:var(--input-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:9px 10px;font-size:13px;width:100%;min-height:36px}.input::placeholder{color:#a4aab2}.button-row{display:flex;align-items:center;gap:8px}.full-width{grid-column:1/-1}.app-shell{min-height:100dvh}.topbar{height:50px;position:fixed;inset:0 0 auto;z-index:35;background:var(--header);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:20px}.app-brand{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:19px;font-weight:400;min-width:170px}.app-brand img{width:23px;height:23px;border-radius:3px}.header-workspace{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;background:var(--surface);padding:6px 12px;border-radius:20px}.header-workspace>span:first-of-type{color:var(--text)}.header-divider{color:#c5c9ce;margin:0 3px}.topbar-actions{display:flex;align-items:center;gap:8px}.save-state{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-right:8px}.topbar-separator{width:1px;height:18px;background:var(--border);margin:0 3px}.profile-select{display:flex;align-items:center;position:relative;gap:6px}.profile-select .avatar{width:24px;height:24px;font-size:9px}.profile-select select{appearance:none;background:transparent;border:0;font-size:12px;color:var(--text);max-width:120px;padding:6px 17px 6px 0;cursor:pointer;box-shadow:none}.profile-select>svg{position:absolute;right:0;pointer-events:none;color:var(--muted)}.sidebar{width:56px;position:fixed;inset:50px auto 0 0;z-index:30;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:10px 5px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-item{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:#727983;border:0;border-radius:4px;background:transparent}.nav-item.active{color:var(--blue)}.nav-item:hover{background:var(--bg);color:var(--blue)}.nav-item.active:before{content:"";position:absolute;width:2px;height:23px;left:-5px;border-radius:1px;background:var(--blue)}.nav-tooltip{position:absolute;left:51px;top:9px;padding:6px 9px;border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;font-size:12px;border-radius:4px;box-shadow:0 2px 8px #0000000a;opacity:0;pointer-events:none;transform:translate(-3px);transition:opacity .12s,transform .12s}.nav-item:hover .nav-tooltip,.nav-item:focus-visible .nav-tooltip{opacity:1;transform:none}.sidebar-bottom{margin-top:auto}.rail-status{display:flex;justify-content:center;padding:15px}.app-main{margin-left:56px;padding-top:50px}.content{margin:auto;padding:0 16px;max-width:1920px}.content-toolbar{display:flex;align-items:center;gap:16px;min-height:68px;padding:14px 0}.toolbar-title{display:flex;align-items:center;gap:8px;color:var(--muted);margin-right:auto;min-width:0}.toolbar-title h1{margin:0;color:var(--text);font-weight:500;font-size:16px;white-space:nowrap}.content-actions{display:flex;align-items:center;gap:16px}.period-control{display:flex;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:4px;height:32px}.period-control .icon-button{width:26px;height:30px}.month-picker{display:flex;align-items:center;gap:8px;position:relative;min-width:126px;font-size:12px;justify-content:center;padding:0 7px;cursor:pointer}.month-picker>svg{display:none}.month-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.month-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.member-filter{display:flex;align-items:center;gap:6px;color:var(--muted)}.member-filter select{appearance:none;border:0;background:transparent;color:var(--muted);font-size:12px;max-width:160px;padding:8px 18px 8px 0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23808893'%3E%3Cpath d='m3 5 3 3 3-3'/%3E%3C/svg%3E");background-position:right center;background-repeat:no-repeat}.demo-banner,.update-banner,.save-error-banner{padding:7px 16px;min-height:34px;background:var(--surface);color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;border-bottom:1px solid var(--border)}.demo-banner>span{display:flex;align-items:center;gap:7px}.demo-banner>span>svg{color:var(--blue)}.demo-banner strong{color:var(--text);font-weight:500}.demo-banner button{border:0;background:transparent;color:var(--blue);font-size:12px;display:flex;align-items:center;gap:7px;padding:0}.save-error-banner{background:#fff0f2;color:#be3e51}.content-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;padding:20px 0}.content-footer>span:first-child{display:flex;align-items:center;gap:6px}.overview-workspace{display:grid;grid-template-columns:252px minmax(0,1fr) 280px;align-items:start;gap:16px}.overview-inspector,.overview-center,.overview-budget{min-width:0;display:grid;gap:16px}.account-panel{border-color:#7dacff}.account-panel .panel-head{border-bottom:1px solid var(--border)}.balance-summary{display:grid;gap:8px;padding:20px 16px}.balance-summary>span{color:var(--muted);font-size:12px}.balance-summary strong{font-size:24px;font-weight:500;letter-spacing:-.7px;line-height:1.3}.balance-summary small{font-size:10px;color:var(--muted)}.account-list{border-top:1px solid var(--border)}.account-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.account-item:hover{background:var(--bg)}.account-icon{width:34px;height:34px;display:grid;place-items:center;background:var(--header);color:#7e858f;border-radius:4px;flex-shrink:0}.account-item>span:last-of-type{flex:1;min-width:0}.account-item strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.account-item small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.account-item b{font-size:13px;font-weight:400;display:block;width:100%;padding-left:44px}.account-panel-note{display:flex;align-items:center;gap:7px;padding:12px 16px;font-size:10px;color:var(--muted)}.overview-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:6px;background:var(--surface);overflow:hidden}.stat-card{display:flex;flex-direction:column;gap:9px;padding:16px;min-width:0;border-right:1px solid var(--border)}.stat-card:last-child{border:0}.stat-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.stat-label{color:var(--muted);font-size:11px}.stat-value{font-size:clamp(15px,1.55vw,24px);font-weight:500;letter-spacing:-.55px;white-space:nowrap}.stat-foot{color:var(--muted);font-size:10px;line-height:1.5}.stat-icon{display:flex;color:var(--muted)}.stat-icon.green{color:#32a17b}.stat-icon.orange{color:#e29a43}.stat-icon.blue{color:var(--blue)}.segmented{display:flex;background:var(--header);padding:3px;border:1px solid transparent;border-radius:5px}.segmented button{font-size:11px;color:var(--muted);padding:6px 9px;background:transparent;border:0;border-radius:3px}.segmented button.active{background:var(--surface);color:var(--blue)}.trend-panel .panel-head{align-items:flex-start}.trend-amount{display:flex;align-items:center;justify-content:space-between;margin:2px 16px 0;gap:8px}.trend-amount>strong{font-size:23px;font-weight:500;letter-spacing:-.6px}.trend-amount>span{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.legend-dot{width:5px;height:5px;border-radius:50%;background:#006fff}.trend-chart{display:block;width:100%;height:230px;padding:4px 10px 0}.chart-empty{min-height:230px}.chart-axis-label{font-size:11px;fill:var(--muted);font-family:inherit}.trend-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:12px 16px;gap:10px;font-size:10px;color:var(--muted)}.trend-footer>span:first-child{display:flex;align-items:center;gap:6px}.trend-footer strong{color:var(--text);font-weight:400;margin-left:6px}.mini-budget .panel-head{border-bottom:1px solid var(--border)}.mini-budget-total{padding:18px 16px 16px;border-bottom:1px solid var(--border)}.mini-budget-total>span{color:var(--muted);font-size:11px;display:block;margin-bottom:8px}.mini-budget-total strong{font-size:24px;font-weight:500;letter-spacing:-.6px;display:block}.budget-total-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin:15px 0 8px}.mini-budget-list{padding:0 16px}.mini-budget-list>div{padding:14px 0;border-bottom:1px solid var(--border)}.mini-budget-list>div:last-child{border:0}.budget-row-title{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:9px}.budget-category-icon{color:var(--muted);display:flex}.budget-row-title b{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.mini-budget-list small{display:block;color:var(--text);font-size:10px;margin-top:7px}.mini-budget-list small>span{color:var(--muted)}.panel-bottom-link{width:100%;border:0;border-top:1px solid var(--border);padding:12px 16px;background:transparent;color:var(--blue);font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}.panel-bottom-link:hover{background:var(--bg)}.family-panel .panel-head{border-bottom:1px solid var(--border)}.family-list{padding:0 16px}.family-list>div{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--border)}.family-list>div:last-child{border:0}.family-list .avatar{width:27px;height:27px;font-size:9px}.family-list>div>div{flex:1;min-width:0}.family-list strong{display:block;font-weight:400;font-size:12px;overflow-wrap:anywhere}.family-list>div>div>span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.family-list b{font-size:11px;font-weight:400;white-space:nowrap}.workspace-caption{display:flex;gap:8px;align-items:flex-start;color:var(--muted);padding:2px 5px;font-size:11px}.workspace-caption small{display:block;font-size:10px;margin-top:5px}.transaction-list-head,.transaction-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 110px 26px;gap:10px;align-items:center;padding:10px 16px}.transaction-list-head{color:var(--muted);font-size:10px;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.transaction-list-head>span:nth-child(3){text-align:right}.transaction-row{padding-top:13px;padding-bottom:13px;border-bottom:1px solid var(--border);min-width:0}.transaction-row:hover{background:var(--bg)}.transaction-row:last-child{border:0}.transaction-main{display:flex;align-items:center;gap:9px;border:0;background:transparent;text-align:left;padding:0;min-width:0;color:var(--text)}.transaction-icon{width:31px;height:31px;border-radius:4px;display:grid;place-items:center;flex-shrink:0}.transaction-icon svg{width:16px;height:16px}.transaction-main>span:last-child{min-width:0}.transaction-main strong{font-size:12px;font-weight:400;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.transaction-main small{font-size:10px;display:flex;align-items:center;gap:5px;color:var(--muted);margin-top:5px;line-height:1.4}.transaction-main small i{width:2px;height:2px;background:#bcc2ca;border-radius:50%}.transaction-owner>span{display:flex;align-items:center;gap:5px;font-size:11px;overflow:hidden;text-overflow:ellipsis}.transaction-owner i{width:4px;height:4px;border-radius:50%;flex-shrink:0}.transaction-owner small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.transaction-value{font-size:12px;font-weight:500;text-align:right;white-space:nowrap}.transaction-value.transfer{color:var(--muted)}.row-actions{display:flex;align-items:center;justify-content:flex-end}.row-actions .icon-button{width:26px;height:28px}.delete-action:hover{color:#d95060}.transaction-filters{display:flex;gap:10px;padding:14px 16px;align-items:center}.search-input{display:flex;align-items:center;gap:8px;background:var(--header);border:1px solid transparent;border-radius:4px;color:var(--muted);padding:0 10px;flex:1;min-width:0}.search-input:focus-within{border-color:var(--blue)}.search-input input{width:100%;height:34px;font-size:12px;border:0;background:transparent;color:var(--text);box-shadow:none}.search-input input::placeholder{color:var(--muted)}.filter-select{width:auto;min-height:34px;font-size:12px;padding:7px 9px;max-width:180px}.transaction-pagination{padding:13px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.transaction-filters+.transaction-list .transaction-row,.transaction-filters+.transaction-list .transaction-list-head{grid-template-columns:minmax(0,1fr) 160px 160px 60px}.modal-backdrop{position:fixed;inset:0;background:#222a3650;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.modal{background:var(--surface);width:480px;max-width:100%;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #1b25331a;max-height:calc(100dvh - 48px);overflow-y:auto}.modal-wide{width:680px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:15px;font-weight:500;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);margin-top:20px;background:var(--bg);position:sticky;bottom:0}.modal-fields{padding:20px 20px 0;display:flex;flex-direction:column;gap:16px}.modal-fields p{font-size:12px;line-height:1.6;margin:0}.transaction-tabs{display:flex;gap:3px;background:var(--header);padding:3px;border-radius:4px;margin:20px 20px 0}.transaction-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;border:0;background:transparent;color:var(--muted);border-radius:3px;padding:9px 5px;font-size:12px}.transaction-tabs .selected{background:var(--surface);color:var(--blue)}.amount-field{display:block;font-size:12px;color:var(--muted);margin:22px 20px}.amount-field>div{display:flex;align-items:center;gap:10px;margin-top:8px;border-bottom:1px solid var(--border);padding-bottom:10px}.amount-field span{font-size:22px;color:var(--muted)}.amount-field input{border:0;background:transparent;font-size:30px;font-weight:500;letter-spacing:-.8px;color:var(--text);width:100%;min-width:0;box-shadow:none}.amount-field input::placeholder{color:#b4bac3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 20px}.form-error{font-size:12px;line-height:1.5;color:#ba3850;background:#fff0f2;padding:10px 12px;border-radius:4px;margin:15px 20px 0}.restore-file,.import-summary{display:flex;align-items:center;gap:12px;background:var(--bg);padding:14px;border-radius:4px;color:var(--blue)}.restore-file div,.import-summary div{min-width:0}.restore-file strong,.import-summary strong{font-size:12px;display:block;color:var(--text);overflow-wrap:anywhere;font-weight:500}.restore-file span,.import-summary span{font-size:11px;color:var(--muted);display:block;margin-top:5px}.import-preview{border:1px solid var(--border);border-radius:4px}.import-preview>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--border);font-size:12px}.import-preview>div:last-child{border:0}.import-preview small{display:block;color:var(--muted);margin-top:4px}.pin-input{letter-spacing:8px;font-size:17px!important}.toast{position:fixed;bottom:24px;left:calc(50% + 28px);transform:translate(-50%);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 20px #1b25331a;border-radius:6px;font-size:12px;line-height:1.5;padding:10px 12px 10px 16px;z-index:80;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 40px)}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}.settings-form{padding:4px 16px 16px}.family-edit-list{margin:16px 0 20px}.family-edit-row{display:flex;align-items:center;gap:12px;margin-top:14px}.family-edit-row .field{flex:1}.family-edit-row .avatar{margin-top:20px}.settings-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}.settings-form-footer>span{font-size:11px}.settings-right{display:grid;gap:16px}.data-action{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--border)}.data-action-icon{width:30px;height:30px;flex-shrink:0;background:var(--header);color:var(--muted);border-radius:4px;display:grid;place-items:center}.data-action>div{flex:1;min-width:0}.data-action strong,.csv-actions strong{font-size:12px;font-weight:500}.data-action p,.csv-actions p{font-size:11px;color:var(--muted);line-height:1.6;margin:4px 0 0}.csv-actions{padding:14px 16px;border-top:1px solid var(--border)}.csv-actions .button-row{margin-top:12px}.csv-help{color:var(--muted);margin-top:14px}.csv-help summary{font-size:11px;cursor:pointer}.csv-help p{padding:9px 10px;background:var(--bg);border-radius:4px}.local-info{display:flex;align-items:flex-start;gap:8px;padding:0 16px 16px}.local-info .status-dot{margin-top:5px}.local-info p{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.accounts-settings{grid-column:1/-1}.account-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 16px 16px}.account-edit-card{position:relative;border:1px solid var(--border);background:var(--surface);padding:14px;text-align:left;border-radius:4px;color:var(--text);display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.account-edit-card>div{flex:1;min-width:0}.account-edit-card strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.account-edit-card div span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.account-edit-card b{display:block;width:100%;font-size:20px;font-weight:500;letter-spacing:-.5px}.account-edit-card small{position:absolute;bottom:16px;right:14px;color:var(--blue);font-size:10px}.account-edit-card:hover{border-color:var(--blue)}.install-button{margin:0 16px 16px}.loading-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);text-align:center;padding:24px}.loading-screen img{width:35px;height:35px}.loading-screen h1{font-size:20px;color:var(--text);margin:0}.loading-screen p{max-width:460px;line-height:1.7}@media(max-width:1250px){.overview-workspace{grid-template-columns:232px minmax(0,1fr)}.overview-budget{grid-column:2}.overview-inspector{grid-row:1 / 3}.mini-budget-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.mini-budget-total strong{font-size:23px}.header-workspace{display:none}.stat-value{font-size:20px}}@media(max-width:960px){.content-toolbar{flex-wrap:wrap}.overview-workspace{grid-template-columns:minmax(0,1fr)}.overview-center{display:contents}.overview-stat-grid{order:0}.trend-panel{order:1}.overview-budget{grid-column:auto;order:2}.recent-transactions{order:3}.overview-inspector{grid-row:auto;order:4;grid-template-columns:1fr 1fr}.settings-layout{grid-template-columns:1fr}.toolbar-title{display:flex;width:100%}.period-control{margin-right:auto}.content-actions{gap:12px}.stat-value{font-size:24px}}@media(max-width:600px){.topbar{padding:0 12px;gap:8px}.app-brand{min-width:0;font-size:18px;gap:8px}.app-brand img{width:22px;height:22px}.topbar-actions{gap:2px}.topbar-separator,.save-state{display:none}.profile-select{margin-left:5px}.profile-select select{max-width:66px;font-size:11px;padding-right:15px}.profile-select .avatar{display:none}.sidebar{inset:50px 0 auto;height:46px;width:100%;border-right:0;border-bottom:1px solid var(--border);padding:0 8px}.sidebar nav{flex-direction:row;gap:4px}.nav-item{width:46px;height:45px}.nav-item.active:before{width:20px;height:2px;left:13px;top:auto;bottom:0}.nav-tooltip,.sidebar-bottom{display:none}.app-main{margin-left:0;padding-top:96px}.content{padding:0 12px}.content-toolbar{position:relative;flex-wrap:wrap;gap:9px;padding:14px 0;min-height:105px}.toolbar-title{display:flex;width:100%}.toolbar-title>svg{display:none}.toolbar-title h1{font-size:15px}.period-control{height:34px;margin-right:auto}.period-control .icon-button{width:24px;height:32px}.month-picker{font-size:11px;min-width:104px;padding:0 3px}.content-actions{gap:8px}.member-filter{display:flex;position:absolute;right:0;top:10px;gap:5px}.member-filter>svg{width:13px}.member-filter select{font-size:11px;max-width:136px;padding-right:16px}.button{min-height:36px}.add-button{min-height:34px;font-size:11px;padding:7px 9px;gap:4px}.add-button svg{width:14px}.demo-banner{font-size:11px;padding:8px 12px}.demo-banner>span>span,.demo-banner>span>svg{display:none}.demo-banner button{font-size:11px}.update-banner,.save-error-banner{flex-wrap:wrap;padding:10px 12px}.overview-workspace,.overview-budget,.overview-inspector{gap:12px}.overview-inspector{grid-template-columns:1fr}.stat-card{padding:12px 10px;gap:8px}.stat-top{gap:4px}.stat-icon{display:none}.stat-label{font-size:10px}.stat-value{font-size:clamp(12px,3.6vw,17px);letter-spacing:-.5px}.stat-foot{font-size:9px}.panel-head{padding:12px 14px}.panel-title{font-size:12px}.panel-subtitle{font-size:10px}.trend-panel .panel-head{gap:8px}.segmented button{font-size:10px;padding:6px}.trend-amount{margin:3px 14px 0}.trend-amount>strong{font-size:22px}.trend-amount>span{display:none}.trend-chart{height:185px;padding:0 4px}.chart-axis-label{font-size:13px}.trend-footer{padding:11px 14px;font-size:9px;gap:6px}.mini-budget-list{column-gap:18px;padding:0 14px}.budget-row-title{font-size:11px;gap:5px}.budget-row-title b{font-size:10px}.budget-category-icon svg{width:13px}.mini-budget-list small{font-size:9px;line-height:1.6}.mini-budget-list small>span{display:block}.workspace-caption{display:none}.account-item{flex-wrap:nowrap}.account-item b{width:auto;padding-left:0;margin-left:auto;font-size:12px}.page-intro{gap:10px;align-items:flex-start;margin-bottom:12px}.page-intro:has(.button-row){flex-direction:column}.page-intro p{font-size:11px}.transaction-list-head{display:none}.transaction-row,.transaction-filters+.transaction-list .transaction-row{grid-template-columns:minmax(0,1fr) auto 26px;padding:13px 14px;gap:6px}.transaction-filters+.transaction-list .transaction-row{grid-template-columns:minmax(0,1fr) auto 58px}.transaction-owner{display:none}.transaction-main strong{font-size:12px}.transaction-main small{font-size:10px;flex-wrap:wrap;gap:3px}.transaction-icon{display:none}.transaction-value{font-size:11px}.transaction-filters{flex-wrap:wrap;gap:8px;padding:12px 14px}.search-input{flex-basis:100%}.filter-select{flex:1;max-width:none;width:45%;font-size:12px}.transaction-pagination{font-size:10px;padding:12px 14px}.content-footer{flex-direction:column;align-items:flex-start;font-size:9px;padding:18px 0;gap:7px}.modal-backdrop{padding:12px}.modal{width:100%;max-height:calc(100dvh - 24px)}.modal-head{padding:12px 16px}.modal-fields{padding:16px 16px 0}.modal-footer{padding:12px 16px}.transaction-tabs{margin:16px 16px 0}.transaction-tabs button{font-size:11px}.amount-field{margin:20px 16px}.form-grid{padding:0 16px;gap:14px}.field{font-size:12px}.form-error{margin-left:16px;margin-right:16px}.toast{left:50%;bottom:16px;width:max-content;max-width:calc(100vw - 24px)}.data-action{flex-wrap:wrap;gap:10px}.data-action>.button{margin-left:40px}.account-settings-grid{grid-template-columns:1fr}.account-edit-card{padding:14px}.account-edit-card b{padding-left:44px}.settings-form-footer{flex-wrap:wrap}}@media(max-width:360px){.app-brand{font-size:16px}.content-toolbar{gap:8px}.period-control{width:155px}.month-picker{min-width:105px;font-size:10px}.add-button{padding:7px;font-size:10px}.form-grid{grid-template-columns:1fr}}@media(pointer:coarse){.input,.search-input input,.modal input,.modal select{font-size:16px;min-height:42px}.modal .icon-button,.row-actions .icon-button{min-height:40px}.modal .button,.modal .transaction-tabs button{min-height:42px}.transaction-filters .input{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation-duration:.01ms!important}}.mobile-workspace,.mobile-more,.mobile-finance-hero,.mobile-quick-actions,.nav-short,.add-label-mobile,.mobile-budget-toggle,.transaction-mobile-meta,.transaction-main .transaction-mobile-meta{display:none}@media(max-width:700px){.app-shell{--mobile-header-height: calc(60px + env(safe-area-inset-top)) ;--mobile-nav-height: calc(64px + env(safe-area-inset-bottom)) ;background:var(--surface)}.app-shell .topbar{height:var(--mobile-header-height);padding:env(safe-area-inset-top) 12px 0;gap:8px;background:var(--surface)}.app-shell .app-brand{display:grid;place-items:center;width:44px;height:44px;min-width:44px}.app-brand>span,.app-shell .header-workspace,.app-shell .topbar .save-state,.app-shell .theme-button,.app-shell .lock-button,.app-shell .topbar-separator{display:none}.app-shell .app-brand img{width:28px;height:28px}.mobile-workspace{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;min-height:44px;border:0;background:transparent;color:var(--text);font-size:14px;font-weight:500}.mobile-workspace span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .topbar-actions{gap:0}.app-shell .profile-select{width:44px;height:44px;margin:0;justify-content:center}.app-shell .profile-select .avatar{display:grid;width:32px;height:32px;border-radius:50%;font-size:12px}.app-shell .profile-select select{position:absolute;inset:0;width:44px;height:44px;max-width:none;opacity:0;font-size:16px;padding:0}.app-shell .profile-select:focus-within .avatar{outline:2px solid var(--blue);outline-offset:3px}.app-shell .profile-select>svg{display:none}.app-shell .mobile-more{display:inline-flex;width:44px;height:44px}.app-shell .sidebar{inset:auto 0 0;width:100%;height:var(--mobile-nav-height);padding:4px 6px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--border);background:var(--surface)}.app-shell .sidebar nav{height:100%;flex-direction:row;gap:0}.app-shell .sidebar .nav-item{flex:1;width:auto;min-width:0;height:56px;flex-direction:column;gap:5px;border-radius:8px;font-size:11px}.app-shell .sidebar .nav-item svg{width:22px;height:22px}.app-shell .nav-item.active:before,.app-shell .nav-tooltip,.app-shell .sidebar-bottom{display:none}.app-shell .nav-short{display:block}.app-shell .nav-item.active{background:#006fff08}.app-shell .app-main{margin-left:0;padding-top:var(--mobile-header-height);padding-bottom:var(--mobile-nav-height)}.app-shell .content{padding:0 16px}.app-shell .content-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title add" "period filter";gap:12px 8px;min-height:0;padding:16px 0 20px}.app-shell .toolbar-title{grid-area:title;width:auto;margin:0}.app-shell .toolbar-title>svg{display:none}.app-shell .toolbar-title h1{font-size:21px;white-space:normal;line-height:1.3;letter-spacing:-.4px}.app-shell .content-actions{display:contents}.app-shell .period-control{grid-area:period;margin:0;width:max-content;height:44px;border-radius:8px}.app-shell .period-control .icon-button{width:44px;height:44px}.app-shell .month-picker{min-width:106px;height:42px;padding:0 4px;font-size:13px}.app-shell .month-picker input{font-size:16px}.app-shell .member-filter{grid-area:filter;position:static;width:auto;min-width:0;max-width:148px;height:44px;padding:0 8px;border-radius:8px;gap:6px}.app-shell .member-filter>svg{display:none}.app-shell .member-filter select{font-size:16px;min-width:0;width:100%;height:44px;max-width:132px}.app-shell .add-button{grid-area:add;width:auto;min-height:44px;border-radius:9px;padding:10px 13px;font-size:14px}.app-shell .add-label-desktop{display:none}.app-shell .add-label-mobile{display:inline}.app-shell .button{min-height:44px;font-size:13px}.app-shell .icon-button{width:44px;height:44px}.app-shell .page-intro p{font-size:13px;line-height:1.6}.app-shell .demo-banner{padding:8px 16px;gap:6px;font-size:11px;align-items:center}.app-shell .demo-banner>span>span{display:none}.app-shell .demo-banner button{min-height:36px;font-size:11px}.app-shell .overview-workspace{display:flex;flex-direction:column;align-items:stretch;gap:0}.app-shell .overview-center{display:contents}.mobile-finance-hero{display:flex;flex-direction:column;align-items:center;padding:12px 0 22px;order:0;text-align:center}.mobile-finance-hero>span{font-size:13px;color:var(--muted)}.mobile-finance-hero>strong{font-size:clamp(30px,8.7vw,40px);font-weight:500;letter-spacing:-1.4px;line-height:1.3;margin:8px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}.mobile-finance-hero>small{font-size:12px;color:var(--muted)}.mobile-net{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.mobile-net b{font-weight:500}.app-shell .overview-stat-grid{order:1;grid-template-columns:1fr 1fr;gap:0;border-radius:10px;overflow:hidden;background:var(--bg);border:1px solid var(--border)}.app-shell .overview-stat-grid .stat-card{padding:14px 12px;border:0;border-radius:0;background:transparent}.app-shell .overview-stat-grid .stat-card:first-child{border-right:1px solid var(--border)}.app-shell .overview-stat-grid .stat-card:nth-child(3){display:none}.app-shell .stat-top{margin-bottom:7px}.app-shell .stat-label{font-size:12px}.app-shell .stat-icon{display:flex}.app-shell .stat-icon svg{width:14px;height:14px}.app-shell .stat-value{font-size:clamp(17px,4.8vw,22px);letter-spacing:-.5px;margin-top:0}.app-shell .stat-foot{font-size:11px;margin-top:5px}.mobile-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:22px 0;order:2}.mobile-quick-actions button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 2px;border:0;background:transparent;color:var(--text);font-size:11px;min-height:76px}.mobile-quick-actions button>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #006fff20;border-radius:14px;background:#006fff09;color:var(--blue)}.mobile-quick-actions button:hover>span{background:#006fff18}.app-shell .overview-budget{order:3;margin-bottom:24px}.app-shell .mini-budget{border-radius:10px}.app-shell .mini-budget .panel-head{padding:8px 12px 8px 16px;min-height:58px}.app-shell .panel-title{font-size:15px}.app-shell .panel-subtitle{font-size:12px}.app-shell .mini-budget-total{padding:16px}.app-shell .mini-budget-total>span{font-size:12px}.app-shell .mini-budget-total strong{font-size:28px;letter-spacing:-.8px}.app-shell .budget-total-meta{font-size:12px}.app-shell .progress-track{height:5px}.mobile-budget-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;padding:12px 16px;border:0;background:transparent;color:var(--blue);font-size:13px}.app-shell .mini-budget-list{display:none;grid-template-columns:1fr}.app-shell .mini-budget.expanded .mini-budget-list{display:grid}.mini-budget.expanded .mobile-budget-toggle svg{transform:rotate(180deg)}.app-shell .mini-budget:not(.expanded) .panel-bottom-link{display:none}.app-shell .budget-row-title{font-size:14px}.app-shell .budget-row-title b,.app-shell .mini-budget-list small{font-size:12px}.app-shell .workspace-caption{display:none}.app-shell .trend-panel{order:4;margin-bottom:24px;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;margin-left:-16px;margin-right:-16px}.app-shell .trend-panel .panel-head{padding:16px;flex-wrap:wrap;align-items:center}.app-shell .segmented{padding:3px;border-radius:8px}.app-shell .segmented button{min-height:44px;padding:8px 12px;font-size:12px;border-radius:6px}.app-shell .trend-amount{margin:0 16px}.app-shell .trend-amount>strong{font-size:28px}.app-shell .trend-amount>span{font-size:12px}.app-shell .trend-chart{height:auto;aspect-ratio:360 / 228;padding:0 8px}.app-shell .trend-chart .chart-axis-label{font-size:12px}.app-shell .trend-footer{font-size:12px;line-height:1.5;flex-wrap:wrap}.app-shell .recent-transactions{order:5;border:0;border-top:1px solid var(--border);border-radius:0;margin:0 -16px 24px}.app-shell .recent-transactions .panel-head{min-height:60px;padding:8px 16px}.app-shell .recent-transactions .panel-title{font-size:14px}.app-shell .recent-transactions .panel-title>svg{display:none}.app-shell .overview-inspector{display:flex;flex-direction:column;order:6;gap:24px}.app-shell .account-panel{border-color:var(--border);box-shadow:none;border-radius:10px}.app-shell .account-panel .balance-summary{display:none}.app-shell .account-panel .panel-head{padding:8px 12px 8px 16px}.app-shell .account-item{min-height:68px}.app-shell .account-item strong{font-size:14px}.app-shell .account-item small,.app-shell .account-panel-note{font-size:12px}.app-shell .account-item b{font-size:13px}.app-shell .family-panel{border-radius:10px}.app-shell .family-list>div{min-height:66px}.app-shell .family-list .avatar{width:32px;height:32px;border-radius:50%;font-size:11px}.app-shell .family-list strong{font-size:14px}.app-shell .family-list>div>div>span{font-size:12px}.app-shell .family-list b{font-size:13px}.app-shell .panel-bottom-link{min-height:48px;font-size:13px}.app-shell .transaction-list-head,.app-shell .transaction-owner{display:none}.app-shell .transaction-row,.app-shell .transaction-filters+.transaction-list .transaction-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 8px;padding:12px 16px}.app-shell .transaction-main{grid-column:1;grid-row:1 / 3;min-height:64px;align-items:flex-start;gap:10px}.app-shell .transaction-icon{display:grid;width:32px;height:32px;border-radius:9px;margin-top:3px}.app-shell .transaction-main>span:last-child{min-width:0}.app-shell .transaction-main strong{font-size:14px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.app-shell .transaction-main small{font-size:12px;line-height:1.45;white-space:normal;flex-wrap:wrap}.app-shell .transaction-mobile-meta{display:block;font-size:11px;margin-top:4px}.app-shell .transaction-value{grid-column:2;grid-row:1;font-size:13px;line-height:1.5;align-self:start;margin-top:2px}.app-shell .row-actions{grid-column:2;grid-row:2;justify-content:flex-end;align-self:end;gap:0;opacity:1}.app-shell .row-actions .icon-button{width:44px;height:44px}.app-shell .row-actions .delete-action{display:inline-flex}.app-shell .transaction-filters{flex-wrap:wrap;gap:10px;padding:16px}.app-shell .transaction-filters .search-input{flex-basis:100%;max-width:none;min-width:0;min-height:46px;border-radius:8px}.app-shell .transaction-filters input,.app-shell .transaction-filters select{font-size:16px;min-height:44px}.app-shell .transaction-filters .filter-select{flex:1;width:0;min-width:0;border-radius:8px}.app-shell .transactions-panel{border-radius:10px}.app-shell .page-intro{flex-wrap:wrap}.app-shell .page-intro .button-row{width:100%}.app-shell .page-intro .button-row .button{flex:1}.app-shell .content-footer{margin-top:24px;padding:16px 0 24px;font-size:11px;line-height:1.5;flex-wrap:wrap}.app-shell .toast{bottom:calc(var(--mobile-nav-height) + 12px);font-size:13px}.mobile-options{padding:4px 16px calc(20px + env(safe-area-inset-bottom))}.mobile-options button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:15px;text-align:left}.mobile-options button>span{flex:1}.mobile-options button>svg{color:var(--muted)}.app-shell .empty-state p{font-size:13px}.app-shell .empty-state.compact{min-height:200px}}@media(max-width:360px){.app-shell .content{padding:0 12px}.app-shell .content-toolbar{column-gap:6px}.app-shell .toolbar-title h1{font-size:19px}.app-shell .month-picker{min-width:101px;font-size:12px}.app-shell .period-control .icon-button{width:44px}.app-shell .member-filter{padding:0 5px;max-width:128px}.app-shell .member-filter select{font-size:16px}.app-shell .stat-card{padding:12px 10px}.app-shell .stat-icon{display:none}.app-shell .transaction-row{padding-left:12px;padding-right:12px}.app-shell .transaction-filters+.transaction-list .transaction-row{padding-left:12px;padding-right:12px}.app-shell .transaction-main{gap:7px}.app-shell .transaction-value{font-size:12px}.app-shell .trend-panel,.app-shell .recent-transactions{margin-left:-12px;margin-right:-12px}}
