:root{--background:#f4f7fb;--surface:#fff;--surface-soft:#f5f7fb;--surface-strong:#edf2f7;--surface-overlay:#fffffff0;--text:#1f2a44;--strong:#14213a;--secondary:#627087;--muted:#8d99ab;--primary:#2f80ed;--primary-dark:#256edb;--primary-soft:#eaf3ff;--primary-border:#b9d7fb;--success:#2ebe7b;--success-soft:#e8f8f0;--success-text:#16704a;--warning:#f5a623;--warning-soft:#fff3d9;--warning-text:#86560c;--danger:#f04452;--danger-soft:#ffe9ec;--danger-text:#a32936;--border:#e9edf3;--track:#edf1f6;--input-border:#dfe5ed;--card-shadow:0 3px 14px #1f2a440e;--floating-shadow:0 12px 32px #1f2a441f;--nav-background:#fffffff2}html[data-theme=dark]{--background:#0d1424;--surface:#151f32;--surface-soft:#1a263b;--surface-strong:#223049;--surface-overlay:#151f32f2;--text:#dbe4f3;--strong:#f4f7fd;--secondary:#aab7ca;--muted:#7f8da3;--primary:#63a6ff;--primary-dark:#8dbdff;--primary-soft:#172f52;--primary-border:#315d91;--success:#42d493;--success-soft:#12382a;--success-text:#72dca9;--warning:#f7b955;--warning-soft:#3b2d16;--warning-text:#ffd07a;--danger:#ff6976;--danger-soft:#3c1d28;--danger-text:#ff9ca6;--border:#26354d;--track:#233149;--input-border:#34445f;--card-shadow:0 5px 18px #0003;--floating-shadow:0 14px 38px #00000057;--nav-background:#0f1624f5}*{box-sizing:border-box}html{background:var(--background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 92% -10%, #2f80ed1a, transparent 420px), var(--background);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:Heebo,Assistant,Arial,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 36%, transparent);outline-offset:2px}.app-shell{max-width:520px;min-height:100dvh;padding:0 16px calc(112px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.app-header{min-height:72px;padding-top:env(safe-area-inset-top);align-items:center;gap:11px;display:flex}.brand-mark,.source-icon,.soft-icon,.empty-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:14px;flex:none;place-items:center;display:grid}.brand-mark{background:color-mix(in srgb, var(--surface) 86%, var(--primary-soft));border:1px solid color-mix(in srgb, var(--primary) 12%, var(--border));overflow:hidden}.brand-mark img{width:33px;height:33px;display:block}.app-header-copy{gap:1px;min-width:0;display:grid}.app-header strong{color:var(--strong);font-size:17px}.app-header span{color:var(--secondary);font-size:12px}.theme-control{z-index:25;margin-inline-start:auto;position:relative}.theme-toggle-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--primary);box-shadow:var(--card-shadow);cursor:pointer;border-radius:15px;place-items:center;display:grid}.theme-toggle-button:active{transform:scale(.96)}.theme-menu{top:50px;width:184px;box-shadow:var(--floating-shadow);gap:3px;padding:8px;display:grid;position:absolute;inset-inline-end:0}.theme-menu>strong{color:var(--secondary);padding:7px 9px 5px;font-size:11px}.theme-menu>button{min-height:43px;color:var(--secondary);text-align:right;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:24px minmax(0,1fr) 9px;align-items:center;gap:6px;padding:0 10px;display:grid}.theme-menu>button.selected{background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.theme-menu>button i{background:var(--primary);border-radius:50%;width:7px;height:7px}.month-selector{background:color-mix(in srgb, var(--surface) 62%, transparent);border-radius:17px;grid-template-columns:48px 1fr 48px;align-items:center;height:54px;margin-bottom:14px;padding:0 4px;display:grid}.month-selector strong{text-align:center;color:var(--strong);font-size:17px}.month-selector button{width:44px;height:44px;color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:14px;place-items:center;display:grid}.month-selector button:active{background:var(--primary-soft);color:var(--primary)}.screen-content{gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:22px}.status-banner{border:1px solid color-mix(in srgb, currentColor 12%, transparent);border-radius:19px;align-items:center;gap:11px;min-height:66px;padding:12px 14px;display:flex}.status-banner>div{gap:2px;display:grid}.status-banner strong{font-size:14px}.status-banner span{color:var(--secondary);font-size:12px}.status-banner.partial{background:var(--warning-soft);color:var(--warning-text)}.status-banner.complete{background:var(--success-soft);color:var(--success-text)}.status-banner.missing{background:var(--surface-strong);color:var(--secondary)}.hero-card{background:linear-gradient(145deg, var(--surface) 35%, color-mix(in srgb, var(--primary-soft) 34%, var(--surface)));padding:23px 20px 19px;position:relative;overflow:hidden}.hero-card:after{content:"";background:var(--primary-soft);opacity:.75;border-radius:50%;width:120px;height:120px;position:absolute;top:-64px;left:-44px}.eyebrow{color:var(--secondary);font-size:14px;font-weight:600;display:block}.hero-amount{text-align:right;color:var(--strong);letter-spacing:-1.5px;font-variant-numeric:tabular-nums;direction:ltr;margin:4px 0 14px;font-size:clamp(38px,11vw,44px);font-weight:700}.hero-amount.negative{color:var(--strong)}.hero-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.hero-track span{border-radius:inherit;background:var(--success);min-width:2px;height:100%;display:block}.metric-row{grid-template-columns:1fr 1px 1fr;gap:16px;margin-top:18px;display:grid}.metric-row>div:not(.metric-divider){gap:3px;display:grid}.metric-row span{color:var(--secondary);font-size:12px}.metric-row strong{text-align:right;color:var(--strong);font-variant-numeric:tabular-nums;direction:ltr;font-size:20px}.metric-row strong.income{color:var(--success-text)}.metric-divider{background:var(--border)}.insight-card{grid-template-columns:42px 1fr 22px;align-items:center;gap:12px;padding:14px;display:grid}.insight-card>div:nth-child(2){gap:3px;display:grid}.insight-card strong{color:var(--strong);font-size:14px}.insight-card span{color:var(--secondary);font-size:12px}.insight-card>svg{color:var(--muted)}.section-block{gap:12px;display:grid}.section-block h2,.section-heading h2{color:var(--strong);margin:0;font-size:20px;line-height:1.3}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-heading>span{color:var(--secondary);font-size:13px}.category-list{padding:5px 16px}.category-row{border:0;border-bottom:1px solid var(--border);width:100%;min-height:70px;color:inherit;text-align:right;cursor:pointer;background:0 0;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:0;display:grid}.category-row:active{background:var(--surface-soft)}.category-row:last-child{border-bottom:0}.category-dot{background:#3b82f6;border-radius:50%;width:10px;height:10px}.category-copy{gap:8px;display:grid}.category-copy strong{font-size:14px}.category-bar{background:var(--track);border-radius:999px;height:7px;overflow:hidden}.category-bar span{background:var(--primary);border-radius:inherit;height:100%;display:block}.category-value{justify-items:end;gap:2px;display:grid}.category-value strong{font-variant-numeric:tabular-nums;direction:ltr;font-size:14px}.category-value span{color:var(--muted);font-size:11px}.attention-list{padding:2px 14px}.attention-row{border:0;border-bottom:1px solid var(--border);width:100%;min-height:72px;color:inherit;text-align:right;background:0 0;grid-template-columns:40px 1fr;align-items:center;gap:11px;padding:0;display:grid}.attention-row.actionable{cursor:pointer;grid-template-columns:40px minmax(0,1fr) 20px}.attention-row.actionable>svg{color:var(--muted)}.attention-row:last-child{border-bottom:0}.attention-row>div:nth-child(2){gap:3px;display:grid}.attention-row strong{font-size:14px}.attention-row span{color:var(--secondary);font-size:12px;line-height:1.45}.warning-icon,.success-icon,.file-ok{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.warning-icon{color:var(--warning-text);background:var(--warning-soft)}.success-icon,.file-ok{color:var(--success-text);background:var(--success-soft)}.attention-screen,.attention-detail-section{gap:13px;display:grid}.attention-guide{background:var(--primary-soft);min-height:68px;color:var(--primary-dark);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.attention-guide>div{gap:2px;display:grid}.attention-guide strong{font-size:13px}.attention-guide span{color:var(--secondary);font-size:10px;line-height:1.45}.attention-detail-card,.review-detail-card{gap:11px;padding:14px;display:grid}.attention-detail-title{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:9px;display:grid}.attention-detail-title>div:nth-child(2){gap:3px;min-width:0;display:grid}.attention-detail-title strong{font-size:14px}.attention-detail-title span{color:var(--secondary);font-size:10px;line-height:1.4}.attention-detail-title>b{color:var(--strong);text-align:right;direction:ltr;grid-column:1/-1;font-size:21px}.attention-reason{background:var(--warning-soft);color:var(--warning-text);border-radius:13px;margin:0;padding:10px;font-size:12px;line-height:1.55}.settlement-candidates{border:1px solid var(--border);border-radius:13px;overflow:hidden}.settlement-candidates summary{min-height:45px;color:var(--primary-dark);cursor:pointer;align-items:center;padding:0 11px;font-size:11px;font-weight:700;display:flex}.settlement-candidates>div{padding:0 10px 8px;display:grid}.settlement-candidates>div button{border:0;border-top:1px solid var(--border);min-height:58px;color:inherit;text-align:right;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px 2px;display:flex}.settlement-candidates>div span{gap:2px;min-width:0;display:grid}.settlement-candidates>div strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.settlement-candidates>div small{color:var(--secondary);font-size:10px}.settlement-candidates>div b{color:var(--strong);white-space:nowrap;direction:ltr;font-size:11px}.settlement-candidates>p{color:var(--secondary);margin:0;padding:0 11px 11px;font-size:10px;line-height:1.5}.quiet-action{background:var(--surface-strong);min-height:42px;color:var(--secondary);cursor:pointer;border:0;border-radius:12px;font-size:11px;font-weight:700}.review-detail-card>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.review-detail-card>div:first-child strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.review-detail-card>div:first-child b{color:var(--strong);white-space:nowrap;direction:ltr;font-size:13px}.review-detail-card>span,.review-detail-card>small{color:var(--secondary);font-size:10px}.review-detail-reason{background:var(--warning-soft);color:var(--warning-text);border-radius:12px;align-items:flex-start;gap:7px;padding:9px;font-size:11px;line-height:1.45;display:flex}.review-detail-reason svg{flex:none}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.source-card{align-items:center;gap:10px;min-height:80px;padding:13px;display:flex}.source-card .source-icon{border-radius:12px;width:38px;height:38px}.source-card>div:last-child{gap:3px;min-width:0;display:grid}.source-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.source-card span{color:var(--secondary);font-size:11px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:370px;padding:32px 24px;display:flex}.empty-state h2{color:var(--strong);margin:18px 0 8px;font-size:21px}.empty-state p{max-width:320px;color:var(--secondary);margin:0 0 22px;font-size:14px;line-height:1.65}.primary-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:0 22px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #2f80ed33}.primary-button:active{background:var(--primary-dark);transform:translateY(1px)}.primary-button:disabled{opacity:.62;cursor:default;transform:none}.intro-copy{padding:2px 2px 0}.intro-copy h1{color:var(--strong);margin:0 0 4px;font-size:28px;line-height:1.25}.intro-copy p{color:var(--secondary);margin:0;font-size:14px}.import-history-entry{width:100%;min-height:68px;color:inherit;text-align:right;cursor:pointer;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:12px;display:grid}.import-history-entry>svg:first-child{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:13px;padding:10px}.import-history-entry>svg:last-child{color:var(--muted)}.import-history-entry>div{gap:2px;display:grid}.import-history-entry strong{color:var(--strong);font-size:14px}.import-history-entry span{color:var(--secondary);font-size:11px}.backup-entry>svg:first-child{background:var(--success-soft);color:var(--success-text)}.pwa-install-card{border:1px solid #2f80ed1f;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:13px;display:grid}.pwa-install-card.installed{border-color:#27ae602e}.pwa-install-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:14px;place-items:center;display:grid}.pwa-install-card.installed .pwa-install-icon{background:var(--success-soft);color:var(--success-text)}.pwa-install-copy{gap:3px;min-width:0;display:grid}.pwa-install-copy strong{color:var(--strong);font-size:14px}.pwa-install-copy span{color:var(--secondary);font-size:11px;line-height:1.45}.pwa-install-card>button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:13px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:42px;font-weight:700;display:flex}.upload-card{border:1.5px dashed var(--primary-border);min-height:164px;color:var(--primary);cursor:pointer;background:color-mix(in srgb, var(--primary-soft) 22%, var(--surface));flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.upload-card input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-card strong{color:var(--strong);font-size:17px}.upload-card span{color:var(--muted);direction:ltr;font-size:12px}.upload-card.busy{cursor:default}.privacy-note{background:var(--primary-soft);color:var(--primary-dark);border-radius:16px;grid-template-columns:28px 1fr;gap:10px;padding:14px;display:grid}.privacy-note>div{gap:3px;display:grid}.privacy-note strong{font-size:13px}.privacy-note span{color:var(--secondary);font-size:12px;line-height:1.45}.data-management{gap:13px;padding:15px;display:grid}.data-management>div{gap:4px;display:grid}.data-management strong{color:var(--strong);font-size:14px}.data-management span{color:var(--secondary);font-size:12px;line-height:1.5}.danger-button{border:1px solid color-mix(in srgb, var(--danger) 38%, transparent);background:var(--danger-soft);min-height:46px;color:var(--danger-text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.danger-button:disabled{opacity:.6;cursor:default}.error-note{background:var(--danger-soft);min-height:54px;color:var(--danger-text);border-radius:14px;align-items:center;gap:9px;padding:12px;font-size:13px;display:flex}.report-section,.report-list{gap:12px;display:grid}.report-card{gap:14px;padding:15px;display:grid}.report-top{grid-template-columns:38px 1fr;align-items:center;gap:10px;display:grid}.report-top>div:last-child{gap:2px;display:grid}.report-top strong{font-size:15px}.report-top span{color:var(--secondary);font-size:11px}.report-stats{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:14px;padding-top:12px;display:grid}.report-stats>div{gap:3px;display:grid}.report-stats>div:last-child{text-align:left}.report-stats span{color:var(--muted);font-size:11px}.report-stats strong{direction:ltr;font-size:13px}.billing-line{background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;min-height:38px;padding:9px 11px;font-size:12px;display:flex}.billing-line strong{font-variant-numeric:tabular-nums;direction:ltr}.multi-month{background:var(--warning-soft);color:var(--warning-text);border-radius:12px;align-items:flex-start;gap:8px;padding:10px;font-size:12px;line-height:1.45;display:flex}.multi-month svg{flex:none;margin-top:1px}.review-line{color:var(--warning-text);font-size:12px}.sticky-action{width:100%;margin-top:2px}.import-history-screen{gap:13px;display:grid}.import-history-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.import-history-summary>div{align-content:center;gap:3px;min-height:76px;padding:13px;display:grid}.import-history-summary span{color:var(--secondary);font-size:10px}.import-history-summary strong{color:var(--strong);font-size:21px}.latest-import-note{background:var(--primary-soft);min-height:42px;color:var(--primary-dark);border-radius:13px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;display:flex}.monthly-coverage-section{gap:9px;display:grid}.monthly-coverage-section .section-heading h2{font-size:17px}.monthly-coverage-section .section-heading span{font-size:11px}.coverage-legend{justify-content:space-between;align-items:center;gap:6px;min-height:52px;padding:9px 10px;display:flex}.coverage-legend span{min-width:0;color:var(--secondary);white-space:nowrap;align-items:center;gap:3px;font-size:10px;font-weight:700;display:inline-flex}.coverage-legend span.complete{color:var(--success-text)}.coverage-legend span.partial{color:var(--warning-text)}.coverage-source-note{color:var(--secondary);margin:0;padding:0 4px;font-size:11px;line-height:1.55}.monthly-coverage-list{padding:0 12px}.monthly-coverage-row{border-bottom:1px solid var(--border);gap:7px;min-height:72px;padding:9px 0;display:grid}.monthly-coverage-row:last-child{border-bottom:0}.monthly-coverage-row>strong{color:var(--strong);font-size:12px}.monthly-coverage-row>div{flex-wrap:wrap;gap:6px;display:flex}.source-coverage-chip{border-radius:999px;align-items:center;gap:4px;min-height:30px;padding:0 8px;font-size:10px;font-weight:650;display:inline-flex}.source-coverage-chip.complete{background:var(--success-soft);color:var(--success-text)}.source-coverage-chip.partial{background:var(--warning-soft);color:var(--warning-text)}.source-coverage-chip.missing{background:var(--surface-strong);color:var(--secondary)}.import-history-list{gap:10px;display:grid}.import-history-card{gap:11px;padding:13px;display:grid}.import-history-top{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.file-history-icon{background:var(--success-soft);width:38px;height:38px;color:var(--success-text);border-radius:12px;place-items:center;display:grid}.import-history-top>div:nth-child(2){gap:2px;min-width:0;display:grid}.import-history-top strong{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.import-history-top span{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.coverage-badge{white-space:nowrap;border-radius:999px;place-items:center;min-height:28px;padding:0 8px;font-size:10px;display:grid}.coverage-badge.complete{background:var(--success-soft);color:var(--success-text)}.coverage-badge.partial{background:var(--warning-soft);color:var(--warning-text)}.coverage-badge.missing{background:var(--surface-strong);color:var(--secondary)}.generated-report-label{color:var(--secondary);font-size:10px}.history-date-range{background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:9px 10px;display:flex}.history-date-range span{color:var(--secondary);font-size:10px}.history-date-range strong{color:var(--strong);direction:ltr;font-size:11px}.history-stat-grid{background:var(--border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.history-stat-grid>div{background:var(--surface);align-content:center;place-items:center;gap:2px;min-height:52px;display:grid}.history-stat-grid span{color:var(--muted);font-size:10px}.history-stat-grid strong{color:var(--strong);font-size:14px}.history-cycle-line{background:var(--primary-soft);min-height:38px;color:var(--primary-dark);border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.history-info-note,.history-warning-note{border-radius:11px;align-items:flex-start;gap:7px;min-height:40px;padding:8px 9px;font-size:10px;line-height:1.45;display:flex}.history-info-note{background:var(--success-soft);color:var(--success-text)}.history-warning-note{background:var(--warning-soft);color:var(--warning-text)}.history-info-note svg,.history-warning-note svg{flex:none;margin-top:1px}.coverage-explanation{color:var(--secondary);font-size:11px;line-height:1.5}.backup-screen{gap:14px;display:grid}.backup-overview{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:13px;display:grid}.backup-main-icon{background:var(--success-soft);width:44px;height:44px;color:var(--success-text);border-radius:14px;place-items:center;display:grid}.backup-overview>div:last-child{gap:3px;min-width:0;display:grid}.backup-overview strong{color:var(--strong);font-size:14px}.backup-overview span{color:var(--secondary);font-size:10px}.backup-success-note{background:var(--success-soft);min-height:48px;color:var(--success-text);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.backup-action-card{gap:12px;padding:15px;display:grid}.backup-section-title{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;display:grid}.backup-section-title>svg{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:12px;padding:9px}.backup-section-title>div{gap:2px;display:grid}.backup-section-title h2{color:var(--strong);margin:0;font-size:17px}.backup-section-title p{color:var(--secondary);margin:0;font-size:10px;line-height:1.4}.password-field{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:48px;display:grid;overflow:hidden}.password-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.password-field input{min-width:0;height:46px;color:var(--strong);font:inherit;background:0 0;border:0;outline:0;padding:0 12px;font-size:12px}.password-field button{width:44px;height:44px;color:var(--secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.password-field>svg{color:var(--muted);justify-self:center}.backup-warning{background:var(--warning-soft);min-height:48px;color:var(--warning-text);border-radius:13px;align-items:flex-start;gap:7px;padding:9px 10px;font-size:11px;line-height:1.45;display:flex}.backup-warning svg{flex:none;margin-top:1px}.full-width{width:100%}.backup-file-picker{border:1.5px dashed var(--primary-border);background:color-mix(in srgb, var(--primary-soft) 25%, var(--surface));min-height:50px;color:var(--primary-dark);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.backup-file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.backup-file-picker span{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.backup-file-summary{background:var(--surface-soft);border-radius:13px;gap:2px;min-height:50px;padding:9px 10px;display:grid}.backup-file-summary span{color:var(--secondary);font-size:10px}.backup-file-summary strong{color:var(--strong);font-size:11px}.secondary-action-button{border:1px solid var(--primary-border);background:var(--primary-soft);width:100%;min-height:46px;color:var(--primary-dark);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.secondary-action-button:disabled{opacity:.6;cursor:default}.restore-preview{gap:11px;padding-top:2px;display:grid}.restore-preview-title{background:var(--success-soft);min-height:54px;color:var(--success-text);border-radius:14px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;padding:10px;display:grid}.restore-preview-title>div{gap:2px;display:grid}.restore-preview-title strong{font-size:12px}.restore-preview-title span{font-size:10px}.restore-mode-picker{gap:8px;display:grid}.restore-mode-picker label{border:1px solid var(--border);cursor:pointer;border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:62px;padding:10px;display:grid}.restore-mode-picker label.selected{border-color:var(--primary);background:var(--primary-soft)}.restore-mode-picker label.selected.danger{border-color:var(--danger);background:var(--danger-soft)}.restore-mode-picker input{width:18px;height:18px;accent-color:var(--primary)}.restore-mode-picker span{gap:2px;display:grid}.restore-mode-picker strong{color:var(--strong);font-size:12px}.restore-mode-picker small{color:var(--secondary);font-size:10px;line-height:1.4}.replace-action{background:#b52f3e;box-shadow:0 8px 18px #b52f3e2e}.backup-original-files-note{color:var(--muted);text-align:center;margin:0;font-size:10px;line-height:1.45}.transaction-section{gap:13px;display:grid}.transaction-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.transaction-title-row .section-heading{flex:1}.transaction-tools{grid-template-columns:1.2fr 1fr;gap:9px;display:grid}.manage-categories-button{border:1px solid var(--primary-border);background:var(--primary-soft);min-height:44px;color:var(--primary-dark);cursor:pointer;border-radius:14px;flex:none;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.transaction-tools .manage-categories-button{justify-content:center}.review-center-button{border:1px solid color-mix(in srgb, var(--warning) 48%, transparent);background:var(--warning-soft);min-height:44px;color:var(--warning-text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.review-center-button span{background:var(--surface);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:10px;display:grid}.filter-group{gap:8px;padding:10px 11px 7px;display:grid;overflow:hidden}.filter-label{color:var(--secondary);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.source-filters{scrollbar-width:none;scroll-snap-type:x proximity;gap:7px;padding:1px 1px 4px;display:flex;overflow-x:auto}.source-filters::-webkit-scrollbar{display:none}.source-filters button{border:1px solid var(--border);background:var(--surface-soft);min-height:39px;color:var(--secondary);cursor:pointer;scroll-snap-align:start;border-radius:999px;flex:none;padding:0 13px;font-size:12px;font-weight:650}.source-filters button span{color:var(--muted);margin-inline-start:4px;font-size:11px}.source-filters button.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 14%, transparent)}.source-filters button.selected span{color:var(--primary)}.category-filters button{align-items:center;gap:5px;display:inline-flex}.category-filters .filter-dot{border-radius:50%;flex:none;width:8px;height:8px}.unclassified-filter{border:1px solid var(--warning);background:var(--warning-soft);width:fit-content;min-height:44px;color:var(--warning-text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.unclassified-filter.selected{background:color-mix(in srgb, var(--warning-soft) 70%, var(--warning));border-color:var(--warning)}.classification-hint{background:var(--primary-soft);min-height:44px;color:var(--primary-dark);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.transaction-list{padding:0 14px;overflow:hidden}.transaction-row{border:0;border-bottom:1px solid var(--border);width:100%;min-height:90px;color:inherit;text-align:right;cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.transaction-row:active{background:var(--surface-soft)}.transaction-row:last-child{border-bottom:0}.transaction-row.not-editable{cursor:default}.transaction-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:13px;place-items:center;display:grid}.transaction-icon.income{background:var(--success-soft);color:var(--success-text)}.transaction-icon.transfer{background:var(--warning-soft);color:var(--warning-text)}.transaction-copy{gap:4px;min-width:0;display:grid}.transaction-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.transaction-copy span{color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.transaction-source{background:var(--surface-strong);width:fit-content;min-height:23px;color:var(--secondary);border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:650;display:inline-flex}.transaction-amount{color:var(--strong);font-variant-numeric:tabular-nums;direction:ltr;font-size:13px}.transaction-amount.income{color:var(--success-text)}.transaction-amount.transfer{color:var(--secondary)}.filtered-empty{min-height:130px;color:var(--secondary);text-align:center;place-items:center;font-size:13px;display:grid}.sheet-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050a147a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.category-sheet{width:min(100%,520px);max-height:92dvh;padding:10px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:26px 26px 0 0;gap:16px;display:grid;overflow-y:auto;box-shadow:0 -12px 36px #1f2a4429}.sheet-handle{background:var(--surface-strong);border-radius:999px;width:42px;height:5px;margin:0 auto 2px}.sheet-header{grid-template-columns:1fr 44px;align-items:center;gap:10px;display:grid}.sheet-header>div{gap:2px;display:grid}.sheet-header h2{color:var(--strong);margin:0;font-size:21px}.sheet-header span{color:var(--secondary);font-size:11px}.sheet-header button{background:var(--surface-strong);width:44px;height:44px;color:var(--secondary);cursor:pointer;border:0;border-radius:14px;place-items:center;display:grid}.sheet-transaction{background:var(--surface-soft);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:12px;display:grid}.sheet-transaction>div{gap:3px;min-width:0;display:grid}.sheet-transaction>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.sheet-transaction span{color:var(--secondary);font-size:11px}.sheet-transaction>strong{direction:ltr;font-size:14px}.category-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.category-picker button{--picker-color:var(--primary);border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;display:flex}.category-picker button>span{background:var(--picker-color);border-radius:50%;flex:none;width:9px;height:9px}.category-picker button.selected{border-color:var(--picker-color);background:var(--surface-soft)}.category-picker button.selected>svg{color:var(--picker-color);flex:none}.subcategory-section{gap:9px;display:grid}.subcategory-section>strong{color:var(--strong);font-size:13px}.subcategory-picker{flex-wrap:wrap;gap:8px;display:flex}.subcategory-picker button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--secondary);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.subcategory-picker button.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.learn-merchant{background:var(--primary-soft);cursor:pointer;border-radius:16px;grid-template-columns:22px 1fr;align-items:center;gap:10px;min-height:62px;padding:11px 12px;display:grid}.learn-merchant input{width:20px;height:20px;accent-color:var(--primary)}.learn-merchant>span{gap:2px;display:grid}.learn-merchant strong{color:var(--strong);font-size:13px}.learn-merchant small{color:var(--secondary);font-size:10px;line-height:1.4}.sheet-save{width:100%}.category-management-screen{gap:14px;display:grid}.management-header{grid-template-columns:46px 1fr;align-items:center;gap:10px;min-height:58px;display:grid}.management-header>button{background:var(--surface);width:44px;height:44px;color:var(--secondary);box-shadow:var(--card-shadow);cursor:pointer;border:0;border-radius:14px;place-items:center;display:grid}.management-header>div{gap:2px;display:grid}.management-header h1{color:var(--strong);margin:0;font-size:24px;line-height:1.2}.management-header p{color:var(--secondary);margin:0;font-size:12px}.add-category-button{width:100%}.category-management-list{padding:0 13px}.category-management-row{border-bottom:1px solid var(--border);grid-template-columns:12px minmax(0,1fr) 40px 40px;align-items:center;gap:8px;min-height:78px;display:grid}.category-management-row:last-child{border-bottom:0}.category-management-row.disabled{opacity:.52}.managed-category-color{border-radius:999px;width:11px;height:44px}.category-management-row>div{gap:3px;min-width:0;display:grid}.category-management-row strong{color:var(--strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.category-management-row span:not(.managed-category-color){color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.icon-button{background:var(--surface-strong);width:38px;height:38px;color:var(--secondary);cursor:pointer;border:0;border-radius:12px;place-items:center;display:grid}.category-editor{gap:14px}.form-field{gap:6px;display:grid}.form-field>span,.category-form-group legend{color:var(--strong);font-size:12px;font-weight:700}.form-field input,.subcategory-editor-list input{border:1px solid var(--input-border);background:var(--surface);width:100%;min-height:46px;color:var(--strong);border-radius:13px;outline:0;padding:0 12px}.form-field input:focus,.subcategory-editor-list input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.category-form-group{border:0;gap:8px;margin:0;padding:0;display:grid}.category-form-group legend{margin-bottom:7px;padding:0}.color-picker{flex-wrap:wrap;gap:9px;display:flex}.color-picker button{color:#fff;cursor:pointer;border:3px solid #0000;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid;box-shadow:inset 0 0 0 1px #17233b14}.color-picker button.selected{border-color:var(--strong)}.expense-type-picker{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.expense-type-picker button{border:1px solid var(--border);background:var(--surface);min-height:43px;color:var(--secondary);cursor:pointer;border-radius:13px;font-size:13px;font-weight:700}.expense-type-picker button.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.subcategory-editor-list{gap:8px;display:grid}.subcategory-editor-list>div{grid-template-columns:minmax(0,1fr) 44px;gap:7px;display:grid}.subcategory-editor-list>div button{background:var(--danger-soft);color:var(--danger-text);cursor:pointer;border:0;border-radius:12px;place-items:center;display:grid}.subcategory-editor-list>div button:disabled{opacity:.35;cursor:default}.add-subcategory{border:1px dashed var(--primary-border);background:color-mix(in srgb, var(--primary-soft) 25%, var(--surface));min-height:42px;color:var(--primary-dark);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.form-error{background:var(--danger-soft);min-height:42px;color:var(--danger-text);border-radius:12px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;display:flex}.classification-center,.merchant-rules-screen{gap:14px;display:grid}.classification-mode-tabs{background:var(--surface-strong);border-radius:17px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid}.classification-mode-tabs button{min-height:52px;color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:13px;align-content:center;place-items:center;gap:2px;padding:5px 3px;font-size:11px;font-weight:700;display:grid}.classification-mode-tabs button span{background:var(--surface);min-width:22px;height:19px;color:var(--secondary);border-radius:999px;place-items:center;padding:0 5px;font-size:10px;display:grid}.classification-mode-tabs button.selected{background:var(--surface);color:var(--primary-dark);box-shadow:0 2px 8px #1f2a4414}.classification-mode-tabs button.selected span{background:var(--primary-soft);color:var(--primary)}.review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.review-summary-grid>div{align-content:center;gap:4px;min-height:82px;padding:13px;display:grid}.review-summary-grid span{color:var(--secondary);font-size:11px}.review-summary-grid strong{color:var(--strong);text-align:right;direction:ltr;font-size:21px}.rules-entry{width:100%;min-height:68px;color:inherit;text-align:right;cursor:pointer;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:12px;display:grid}.rules-entry>svg:first-child{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:13px;padding:10px}.rules-entry>svg:last-child{color:var(--muted)}.rules-entry>div{gap:2px;display:grid}.rules-entry strong{color:var(--strong);font-size:14px}.rules-entry span{color:var(--secondary);font-size:11px}.bulk-toolbar{z-index:8;min-height:58px;box-shadow:var(--floating-shadow);justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;display:flex;position:sticky;top:6px}.bulk-toolbar label{min-height:40px;color:var(--strong);cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.bulk-toolbar input,.review-check input{width:20px;height:20px;accent-color:var(--primary)}.bulk-toolbar button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.bulk-toolbar button:disabled{opacity:.4;cursor:default}.review-list{gap:9px;display:grid}.review-transaction{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;display:grid}.review-transaction.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.review-check{cursor:pointer;place-items:center;min-height:38px;display:grid}.review-transaction-main{gap:3px;min-width:0;display:grid}.review-transaction-main strong{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.review-transaction-main span{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.review-amount{color:var(--strong);white-space:nowrap;direction:ltr;font-size:12px}.current-classification{background:var(--surface-soft);min-height:45px;color:var(--primary-dark);border-radius:13px;grid-column:1/-1;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:8px 10px;display:grid}.current-classification>span{gap:1px;display:grid}.current-classification strong{font-size:11px}.current-classification small{color:var(--secondary);font-size:10px}.suggestion-button{border:1px solid color-mix(in srgb, var(--success) 30%, transparent);background:var(--success-soft);min-height:50px;color:var(--success-text);text-align:right;cursor:pointer;border-radius:13px;grid-column:1/-1;grid-template-columns:24px 1fr;align-items:center;gap:7px;padding:8px 10px;display:grid}.suggestion-button>span{gap:1px;display:grid}.suggestion-button strong{font-size:11px}.suggestion-button small{color:var(--secondary);font-size:10px}.review-classify-button{border:1px solid var(--primary-border);background:var(--primary-soft);min-height:42px;color:var(--primary-dark);cursor:pointer;border-radius:13px;grid-column:1/-1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.classification-empty{min-height:280px}.merchant-rule-list{padding:0 12px}.merchant-rule-row{border-bottom:1px solid var(--border);grid-template-columns:38px minmax(0,1fr) 38px 38px;align-items:center;gap:7px;min-height:78px;display:grid}.merchant-rule-row:last-child{border-bottom:0}.rule-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.merchant-rule-row>div:nth-child(2){gap:3px;min-width:0;display:grid}.merchant-rule-row strong{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.merchant-rule-row span{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.danger-icon-button{background:var(--danger-soft);color:var(--danger-text)}.dashboard-goal-card{gap:11px;padding:15px;display:grid}.goal-card-title{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.goal-card-title>div:nth-child(2){gap:1px;display:grid}.goal-card-title span{color:var(--secondary);font-size:10px}.goal-card-title strong{color:var(--strong);font-size:14px}.goal-card-title b{color:var(--success-text);font-size:15px}.goal-progress-track{background:var(--track);border-radius:999px;height:9px;overflow:hidden}.goal-progress-track>span{border-radius:inherit;background:var(--success);height:100%;display:block}.goal-progress-values{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.goal-progress-values strong{color:var(--strong);direction:ltr;font-size:15px}.goal-progress-values span{color:var(--secondary);font-size:11px}.goals-screen{gap:16px;display:grid}.savings-goal-card{gap:16px;padding:16px;display:grid}.savings-goal-header{grid-template-columns:44px minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.goal-main-icon{background:var(--success-soft);width:44px;height:44px;color:var(--success-text);border-radius:14px;place-items:center;display:grid}.savings-goal-header>div:nth-child(2){gap:2px;display:grid}.savings-goal-header span{color:var(--secondary);font-size:10px}.savings-goal-header strong{color:var(--strong);font-size:15px}.savings-goal-amount{align-items:baseline;gap:8px;display:flex}.savings-goal-amount strong{color:var(--strong);direction:ltr;font-size:29px}.savings-goal-amount span{color:var(--secondary);font-size:12px}.monthly-goal-status{border-radius:14px;gap:2px;min-height:56px;padding:10px 12px;display:grid}.monthly-goal-status.on-track{background:var(--success-soft);color:var(--success-text)}.monthly-goal-status.behind{background:var(--warning-soft);color:var(--warning-text)}.monthly-goal-status span{font-size:10px}.monthly-goal-status strong{font-size:12px}.goal-empty-card{text-align:center;align-content:center;justify-items:center;gap:11px;min-height:180px;padding:20px;display:grid}.goal-empty-card>div:nth-child(2){gap:3px;display:grid}.goal-empty-card strong{color:var(--strong);font-size:16px}.goal-empty-card span{color:var(--secondary);font-size:12px}.goal-empty-card .primary-button{min-height:46px}.goal-number-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.goal-editor-sheet input[type=number],.goal-editor-sheet input[type=month],.budget-editor-sheet input[type=number]{text-align:right;direction:ltr}.budget-section{gap:11px;display:grid}.budget-section .section-heading button{border:1px solid var(--primary-border);background:var(--primary-soft);min-height:40px;color:var(--primary-dark);cursor:pointer;border-radius:12px;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.budget-list{padding:0 12px}.budget-row{border-bottom:1px solid var(--border);grid-template-columns:10px minmax(0,1fr) auto 36px 36px;align-items:center;gap:7px;min-height:92px;display:grid}.budget-row:last-child{border-bottom:0}.budget-row>div:nth-child(2){gap:5px;min-width:0;display:grid}.budget-row>div:nth-child(2)>strong{color:var(--strong);font-size:13px}.budget-progress{background:var(--track);border-radius:999px;height:7px;overflow:hidden}.budget-progress span{border-radius:inherit;height:100%;display:block}.budget-row small{color:var(--secondary);font-size:10px}.budget-row small.over{color:var(--warning-text)}.budget-values{justify-items:end;gap:2px;min-width:62px;display:grid}.budget-values strong{color:var(--strong);direction:ltr;font-size:12px}.budget-values span{color:var(--muted);white-space:nowrap;font-size:10px}.budget-row .icon-button{width:34px;height:34px}.budget-empty{text-align:center;place-items:center;gap:9px;min-height:112px;padding:16px;display:grid}.budget-empty span{color:var(--secondary);font-size:12px}.budget-empty button{background:var(--primary-soft);min-height:40px;color:var(--primary-dark);cursor:pointer;border:0;border-radius:12px;padding:0 13px;font-size:11px;font-weight:700}.compact-category-picker{max-height:250px;overflow-y:auto}.budget-selected-category{background:var(--surface-soft);border-radius:14px;align-items:center;gap:9px;min-height:56px;padding:11px;display:flex}.budget-selected-category span{border-radius:999px;width:12px;height:36px}.budget-selected-category strong{color:var(--strong);font-size:14px}.trend-card{gap:17px;padding:16px;display:grid}.trend-row{grid-template-columns:50px 1fr 76px;align-items:center;gap:10px;font-size:12px;display:grid}.trend-row>div{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.trend-row i{background:var(--primary);border-radius:inherit;height:100%;display:block}.trend-row strong{text-align:left;direction:ltr;font-size:12px}.goals-empty{margin-top:28px}.loading-state{min-height:300px;color:var(--secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:30;top:calc(16px + env(safe-area-inset-top));color:#fff;width:min(100% - 32px,450px);min-height:54px;box-shadow:var(--floating-shadow);background:#173e30;border-radius:16px;align-items:center;gap:9px;padding:12px 15px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.pwa-status-banner,.pwa-update-banner{z-index:45;width:min(100% - 28px,492px);min-height:48px;box-shadow:var(--floating-shadow);border-radius:15px;padding:10px 14px;font-size:12px;position:fixed;left:50%;transform:translate(-50%)}.pwa-status-banner{bottom:calc(84px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#293142;place-items:center;display:grid}.pwa-update-banner{top:calc(12px + env(safe-area-inset-top));color:#fff;background:#173e30;justify-content:space-between;align-items:center;gap:12px;display:flex}.pwa-update-banner button{color:#173e30;white-space:nowrap;cursor:pointer;background:#fff;border:0;border-radius:10px;min-height:34px;padding:0 12px;font-weight:700}.bottom-nav{z-index:20;width:min(100%,520px);min-height:calc(76px + env(safe-area-inset-bottom));padding:8px 10px env(safe-area-inset-bottom);background:var(--nav-background);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);align-items:start;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -7px 28px #1f2a441a}.bottom-nav button{min-height:60px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.bottom-nav button>span{border-radius:12px;place-items:center;width:38px;height:31px;display:grid}.bottom-nav small{font-size:11px}.bottom-nav button.active{color:var(--primary);font-weight:700}.bottom-nav button.active:not(.add-action)>span{background:var(--primary-soft)}.bottom-nav .add-action>span{background:var(--primary);color:#fff;width:54px;height:54px;box-shadow:0 9px 22px color-mix(in srgb, var(--primary) 34%, transparent);border-radius:19px;margin-top:-27px}.bottom-nav .add-action small{margin-top:1px}html[data-theme=dark] .hero-card:after{opacity:.34}html[data-theme=dark] .color-picker button{box-shadow:inset 0 0 0 1px #ffffff1f}html[data-theme=dark] .toast,html[data-theme=dark] .pwa-update-banner{color:#0c3928;background:#d9f7e8}html[data-theme=dark] .pwa-update-banner button{color:#e8fff4;background:#0c3928}@media (min-width:640px){.app-shell{background:var(--background)}.source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
