html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--bg: #f4f6f8;--surface: #ffffff;--surface-alt: #eef4f3;--surface-strong: #dde7e6;--text: #17202c;--muted: #687385;--line: #cfd8e3;--primary: #0f6b6d;--primary-strong: #0a4c4e;--accent: #e7a33e;--green: #1d8b5f;--red: #d2463d;--blue: #386fd1;--violet: #7357d8;--field-bg: #ffffff;--shadow: 0 18px 44px rgba(35, 45, 66, .1);--mat-sys-background: var(--bg);--mat-sys-error: var(--red);--mat-sys-on-background: var(--text);--mat-sys-on-primary: #ffffff;--mat-sys-on-surface: var(--text);--mat-sys-on-surface-variant: var(--muted);--mat-sys-outline: var(--line);--mat-sys-outline-variant: var(--line);--mat-sys-primary: var(--primary);--mat-sys-surface: var(--surface);--mat-sys-surface-bright: var(--surface);--mat-sys-surface-container: var(--surface);--mat-sys-surface-container-high: var(--surface-alt);--mat-sys-surface-container-highest: var(--surface-alt);--mat-sys-surface-container-low: var(--surface);--mat-sys-surface-container-lowest: var(--surface);--mat-sys-surface-dim: var(--surface-alt);--mat-sys-surface-variant: var(--surface-alt);--mat-sys-surface-tint: var(--primary);color-scheme:light}[data-theme=dark]{--bg: #101317;--surface: #191f26;--surface-alt: #21302f;--surface-strong: #2b333d;--text: #f2f5f8;--muted: #a9b4c2;--line: #35404c;--primary: #65d0c6;--primary-strong: #8ee4dc;--accent: #f0b55b;--green: #57c88e;--red: #ff6b64;--blue: #7ca7ff;--violet: #a894ff;--field-bg: #151a20;--shadow: 0 20px 56px rgba(0, 0, 0, .35);--mat-sys-background: var(--bg);--mat-sys-error: var(--red);--mat-sys-on-background: var(--text);--mat-sys-on-primary: #102021;--mat-sys-on-surface: var(--text);--mat-sys-on-surface-variant: var(--muted);--mat-sys-outline: var(--line);--mat-sys-outline-variant: var(--line);--mat-sys-primary: var(--primary);--mat-sys-surface: var(--surface);--mat-sys-surface-bright: var(--surface-strong);--mat-sys-surface-container: var(--surface);--mat-sys-surface-container-high: var(--surface-alt);--mat-sys-surface-container-highest: var(--surface-strong);--mat-sys-surface-container-low: var(--surface);--mat-sys-surface-container-lowest: var(--field-bg);--mat-sys-surface-dim: var(--bg);--mat-sys-surface-variant: var(--surface-alt);--mat-sys-surface-tint: var(--primary);color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,p{margin:0}h1{font-size:1.75rem;line-height:1.15}h2{font-size:1rem;line-height:1.3}mat-form-field{width:100%}.mat-mdc-form-field{--mdc-outlined-text-field-container-shape: 16px;--mdc-outlined-text-field-focus-outline-color: var(--primary);--mdc-outlined-text-field-hover-outline-color: var(--muted);--mdc-outlined-text-field-input-text-color: var(--text);--mdc-outlined-text-field-label-text-size: 1rem;--mdc-outlined-text-field-label-text-color: var(--muted);--mdc-outlined-text-field-outline-color: var(--line);--mat-form-field-container-text-size: .98rem;--mat-form-field-outlined-label-text-populated-size: 18px !important}.mat-mdc-form-field .mdc-text-field--outlined{background:var(--field-bg);border-radius:16px!important}.mat-mdc-form-field .mdc-notched-outline__leading{border-radius:16px 0 0 16px!important;min-width:16px}.mat-mdc-form-field .mdc-notched-outline__trailing{border-radius:0 16px 16px 0!important}.mat-mdc-form-field .mdc-notched-outline__notch{border-radius:0!important}.mat-mdc-select-value,.mat-mdc-select-arrow,.mat-mdc-input-element{color:var(--text)}.mat-mdc-form-field .mat-mdc-floating-label{font-size:18px!important;font-weight:800}.mat-mdc-form-field .mdc-floating-label--float-above{font-size:18px!important}.mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-form-field.compact-field{max-width:168px}.mat-mdc-checkbox{--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-icon-color: var(--primary);--mdc-checkbox-selected-hover-icon-color: var(--primary);--mdc-checkbox-selected-icon-color: var(--primary);--mdc-checkbox-selected-pressed-icon-color: var(--primary);--mdc-checkbox-unselected-focus-icon-color: var(--muted);--mdc-checkbox-unselected-hover-icon-color: var(--muted);--mdc-checkbox-unselected-icon-color: var(--line);--mat-checkbox-label-text-color: var(--text);min-height:56px}.cdk-overlay-container.theme-dark{--bg: #101317;--surface: #191f26;--surface-alt: #21302f;--surface-strong: #2b333d;--text: #f2f5f8;--muted: #a9b4c2;--line: #35404c;--primary: #65d0c6;--field-bg: #151a20;--mat-sys-background: var(--bg);--mat-sys-on-background: var(--text);--mat-sys-on-primary: #102021;--mat-sys-on-surface: var(--text);--mat-sys-on-surface-variant: var(--muted);--mat-sys-outline: var(--line);--mat-sys-outline-variant: var(--line);--mat-sys-primary: var(--primary);--mat-sys-surface: var(--surface);--mat-sys-surface-container: var(--surface);--mat-sys-surface-container-high: var(--surface-alt);--mat-sys-surface-container-highest: var(--surface-strong);--mat-sys-surface-container-low: var(--surface);--mat-sys-surface-container-lowest: var(--field-bg);--mat-sys-surface-variant: var(--surface-alt);color-scheme:dark}.mat-mdc-select-panel{background:var(--mat-sys-surface-container);border:1px solid var(--line);color:var(--text)}.mat-mdc-option{--mat-option-label-text-color: var(--text);--mat-option-selected-state-label-text-color: var(--primary);--mat-option-selected-state-layer-color: color-mix(in srgb, var(--primary) 14%, transparent);--mat-option-hover-state-layer-color: color-mix(in srgb, var(--primary) 10%, transparent);--mat-option-focus-state-layer-color: color-mix(in srgb, var(--primary) 12%, transparent)}button,.primary,.ghost,.danger,.fab,.text-link{align-items:center;border-radius:14px;border:0;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:52px;padding:.8rem 1rem;text-decoration:none;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}button:disabled{cursor:not-allowed;opacity:.6}.primary{background:var(--primary);color:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 22%,transparent)}.primary:hover{background:var(--primary-strong)}.ghost{background:var(--surface-alt);color:var(--primary)}.danger{background:color-mix(in srgb,var(--red) 12%,var(--surface));color:var(--red)}.small{border-radius:12px;min-height:42px;padding:.55rem .75rem;font-size:.82rem}.full{width:100%}.text-link{color:var(--primary);justify-self:center}.auth-screen{align-items:center;display:grid;min-height:100dvh;padding:1rem}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;gap:1.25rem;margin:0 auto;max-width:430px;padding:1.25rem;width:100%}.auth-panel.wide{max-width:720px}.eyebrow{color:var(--primary);font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.stack,.form-grid{display:grid;gap:1rem}.inline-form{align-items:end;display:grid;gap:.75rem;grid-template-columns:1fr auto}.panel-form{margin-bottom:1rem}.feedback{border-radius:12px;padding:.75rem}.offline-banner{background:color-mix(in srgb,var(--red) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 42%,var(--line));border-radius:14px;color:var(--red);font-weight:800;left:50%;max-width:min(560px,100vw - 24px);padding:.75rem 1rem;position:fixed;text-align:center;top:calc(10px + env(safe-area-inset-top));transform:translate(-50%);width:max-content;z-index:40}.error{background:color-mix(in srgb,var(--red) 12%,var(--surface));color:var(--red)}.success{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}.notice{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 46%,var(--line));border-radius:12px;display:grid;gap:.75rem;padding:.9rem}.app-shell{min-height:100svh;padding-bottom:calc(104px + env(safe-area-inset-bottom))}.theme-switch{background:var(--surface-alt);border:1px solid var(--line);border-radius:999px;display:flex;padding:.18rem}.theme-switch.wide{width:100%}.theme-option{background:transparent;border-radius:999px;color:var(--muted);font-size:.76rem;min-height:38px;padding:.35rem .65rem}.theme-option.active{background:var(--surface);box-shadow:0 6px 18px #141e2d1f;color:var(--primary)}.content-shell{margin:0 auto;max-width:1120px;padding:calc(1rem + env(safe-area-inset-top)) .9rem 1.25rem}.page{display:grid;gap:1.05rem}.page-title{align-items:start;display:flex;gap:1rem;justify-content:space-between}.page-action{min-width:116px}.month-picker{display:grid;min-width:min(48vw,220px)}.metric-grid,.section-grid{display:grid;gap:.9rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.panel,.balance-hero{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 28px #19283c0f;padding:1rem}.metric{display:grid;gap:.35rem;min-height:104px}.metric small,.list-row small,.empty{color:var(--muted)}.metric strong{font-size:clamp(1.05rem,4vw,1.28rem);line-height:1.2;overflow-wrap:anywhere}.metric.income{border-top:4px solid var(--green)}.metric.expense{border-top:4px solid var(--red)}.metric.card{border-top:4px solid var(--blue)}.metric.available{border-top:4px solid var(--accent)}.balance-hero{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,transparent),transparent 48%),var(--surface);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;min-height:152px}.balance-hero span,.balance-hero small{color:var(--muted);font-weight:800}.balance-hero strong{display:block;font-size:clamp(2rem,9vw,3.2rem);line-height:1.05;margin:.35rem 0;overflow-wrap:anywhere}.balance-ring{align-items:center;border-radius:50%;display:grid;height:112px;justify-items:center;padding:1rem;place-content:center;position:relative;width:112px}.balance-ring:after{background:var(--surface);border-radius:inherit;content:"";inset:11px;position:absolute}.balance-ring span,.balance-ring small{color:var(--text);position:relative;z-index:1}.balance-ring span{font-size:1.2rem;font-weight:900}.balance-ring small{color:var(--muted);font-size:.74rem}.panel{display:grid;gap:.85rem}.setting-block{display:grid;gap:.45rem}.setting-block small{color:var(--muted);font-size:.78rem;font-weight:800}.app-settings-panel{align-content:start}.filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-summary{background:var(--surface-alt);border:1px solid var(--line);border-radius:14px;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem}.expense-summary span{display:grid;gap:.25rem}.expense-summary small{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.expense-summary strong{font-size:1.15rem;line-height:1.2;overflow-wrap:anywhere}.list,.list-row{display:grid;gap:.75rem}.list-row{align-items:center;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;padding:.8rem 0}.list-row:last-child{border-bottom:0}.list-row.selectable{background:transparent;color:var(--text);min-height:58px;text-align:left;width:100%}.list-row.compact{min-height:50px;padding:.55rem 0}.session-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.session-tag{background:color-mix(in srgb,var(--primary) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:999px;color:var(--primary);font-size:.68rem;font-weight:850;line-height:1;padding:.25rem .45rem;text-transform:uppercase}.actions,.amount-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:end}.amount-actions{max-width:150px}.bar-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.chart-panel,.payment-panel{align-content:start}.chart-row{display:grid;gap:.45rem}.chart-row>div:first-child,.legend-row{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) auto}.chart-row span,.legend-row span:nth-child(2){color:var(--muted);font-weight:800}.bar-track{background:var(--surface-strong);border-radius:999px;height:11px;overflow:hidden}.bar-track span{background:linear-gradient(90deg,var(--primary),var(--blue));border-radius:inherit;display:block;height:100%;width:var(--bar-width)}.payment-chart{align-items:center;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr)}.donut{align-items:center;border-radius:50%;display:grid;height:132px;justify-items:center;padding:1rem;place-content:center;position:relative;width:132px}.donut:after{background:var(--surface);border-radius:inherit;content:"";inset:17px;position:absolute}.donut span,.donut small{position:relative;z-index:1}.donut span{font-size:1rem;font-weight:900;text-align:center}.donut small{color:var(--muted);font-size:.72rem;font-weight:800}.legend{display:grid;gap:.65rem}.legend-row{grid-template-columns:auto minmax(0,1fr) auto}.dot{border-radius:50%;height:.65rem;width:.65rem}.dot.pix{background:var(--green)}.dot.cash{background:var(--accent)}.dot.credit-card{background:var(--blue)}.chevron{color:var(--primary);font-weight:900}.fab{background:var(--accent);bottom:calc(98px + env(safe-area-inset-bottom));box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 36%,transparent);color:#1f2933;font-size:2rem;height:64px;line-height:1;padding:0;position:fixed;right:1rem;transform:translateZ(0);width:64px;z-index:25}.modal-backdrop{align-items:end;background:#080c128a;display:grid;inset:0;padding:1rem .8rem calc(1rem + env(safe-area-inset-bottom));position:fixed;z-index:40}.modal-sheet{background:var(--surface);border:1px solid var(--line);border-radius:22px 22px 16px 16px;box-shadow:var(--shadow);display:grid;gap:1rem;margin:0 auto;max-height:min(86svh,760px);max-width:720px;overflow:auto;padding:1rem;width:100%}.install-backdrop{align-items:center;padding-inline:1rem}.install-sheet{border-radius:24px;gap:1.1rem;max-width:390px;overflow:visible;padding:1.1rem}.install-mark{align-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:18px;color:var(--primary);display:grid;height:56px;justify-items:center;width:56px}.install-mark svg{fill:none;height:30px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:30px}.install-copy{display:grid;gap:.55rem}.install-copy h2{font-size:1.28rem}.install-copy p{color:var(--muted);font-size:.94rem;line-height:1.45}.install-steps{display:grid;gap:.45rem;margin:0;padding-left:1.35rem}.install-steps li{color:var(--text);font-weight:750;line-height:1.35}.install-actions{display:grid;gap:.55rem}.modal-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.modal-header h2{font-size:1.2rem}.modal-form{padding-bottom:.25rem}.icon-button{border-radius:50%;min-height:44px;padding:0;width:44px}@media(min-width:720px){.auth-panel{padding:1.5rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:480px){h1{font-size:1.5rem}.inline-form{grid-template-columns:1fr}.page-title{display:grid}.page-action{width:100%}.dashboard-title{gap:.8rem}.month-picker{min-width:100%}.theme-switch,.theme-option{flex:1}.list-row,.filter-grid,.expense-summary{grid-template-columns:1fr}.actions,.amount-actions{justify-content:start;max-width:none}.balance-hero,.payment-chart{grid-template-columns:1fr}.balance-ring,.donut{justify-self:center}}
