:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-display:2.25rem;--line-height-display:2.75rem;--font-weight-display:700;--font-size-h1:1.875rem;--line-height-h1:2.375rem;--font-weight-h1:700;--font-size-h2:1.5rem;--line-height-h2:2rem;--font-weight-h2:600;--font-size-h3:1.25rem;--line-height-h3:1.75rem;--font-weight-h3:600;--font-size-h4:1.125rem;--line-height-h4:1.625rem;--font-weight-h4:600;--font-size-body-lg:1.0625rem;--line-height-body-lg:1.625rem;--font-weight-body-lg:400;--font-size-body:1rem;--line-height-body:1.5rem;--font-weight-body:400;--font-size-body-sm:.875rem;--line-height-body-sm:1.25rem;--font-weight-body-sm:400;--font-size-caption:.75rem;--line-height-caption:1rem;--font-weight-caption:400;--font-size-label:.8125rem;--line-height-label:1.125rem;--font-weight-label:600;--font-size-button:.9375rem;--line-height-button:1.25rem;--font-weight-button:600;--font-size-input:1rem;--line-height-input:1.5rem;--font-weight-input:400;--color-brand-logo:#2aabee;--color-accent-primary:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft:#dbeafe;--color-accent-border:#bfdbfe;--color-accent-on-primary:#fff;--gradient-accent-hero:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-accent-soft:linear-gradient(135deg, var(--color-accent-soft) 0%, #fff 100%);--gradient-card-default:linear-gradient(135deg, #2b313c 0%, #353e4d 100%);--gradient-card-hero:linear-gradient(135deg, #1f4f8f 0%, #2f6cc0 100%);--gradient-card-analytics:linear-gradient(135deg, #374151 0%, #4b5563 100%);--gradient-card-success:linear-gradient(135deg, #245c3d 0%, #2f7a51 100%);--gradient-card-warning:linear-gradient(135deg, #8a5a16 0%, #a56a1f 100%);--gradient-card-danger:linear-gradient(135deg, #6f1d2a 0%, #8b2635 100%);--gradient-card-soft:linear-gradient(135deg, #1f232b 0%, #2a303a 100%);--color-text-on-card:#f8fafc;--color-text-on-card-secondary:#e2e8f0;--color-text-on-card-muted:#cbd5e1;--color-card-default:var(--gradient-card-default);--color-card-soft:var(--gradient-card-soft);--color-card-tinted:var(--gradient-card-default);--color-card-hero:var(--gradient-card-hero);--gradient-card-hero-blue:var(--gradient-card-hero);--gradient-card-hero-green:var(--gradient-card-hero);--gradient-card-hero-orange:var(--gradient-card-hero);--gradient-accent-card:var(--gradient-card-default);--gradient-success-card:var(--gradient-card-success);--gradient-warning-card:var(--gradient-card-warning);--gradient-danger-card:var(--gradient-card-danger);--gradient-info-card:var(--gradient-card-analytics);--gradient-card-blue:var(--gradient-card-default);--gradient-card-green:var(--gradient-card-success);--gradient-card-orange:var(--gradient-card-warning);--gradient-card-purple:var(--gradient-card-analytics);--gradient-card-pink:var(--gradient-card-default);--gradient-card-info:var(--gradient-card-analytics);--color-text-on-card-dark:var(--color-text-on-card);--color-brand-primary:var(--color-accent-primary);--color-brand-primary-hover:var(--color-accent-hover);--color-brand-primary-soft:var(--color-accent-soft);--color-brand-border:var(--color-accent-border);--color-brand-on-primary:var(--color-accent-on-primary);--color-bg-page:#f5f7fa;--color-bg-surface:#fff;--color-bg-surface-soft:#f8fafc;--color-bg-surface-muted:#f1f5f9;--color-bg-sidebar:#1a1d24;--color-bg-sidebar-hover:#252932;--color-bg-sidebar-active:#2d3340;--color-text-primary:#172033;--color-text-secondary:#475467;--color-text-muted:#667085;--color-text-subtle:#94a3b8;--color-text-on-dark:#f8fafc;--color-text-on-sidebar:#d8dce6;--color-text-on-sidebar-muted:#9aa3b5;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-subtle:#eef2f7;--color-overlay:#0f172a66;--color-success-bg:#ecfdf3;--color-success-text:#166534;--color-success-border:#bbf7d0;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--color-warning-border:#fde68a;--color-danger-bg:#fef2f2;--color-danger-text:#991b1b;--color-danger-border:#fecaca;--color-info-bg:#eff6ff;--color-info-text:#1e40af;--color-info-border:#bfdbfe;--color-finance-income:#059669;--color-finance-expense:#dc2626;--color-finance-saving:#2563eb;--color-finance-debt:#7c3aed;--color-food-fresh:#10b981;--color-food-soon:#f59e0b;--color-food-expired:#dc2626;--color-food-frozen:#0284c7;--color-task-low:#64748b;--color-task-medium:#d97706;--color-task-high:#ea580c;--color-task-urgent:#dc2626;--color-task-done:#059669;--color-task-waiting:#64748b;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--shadow-none:none;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a14;--shadow-md:0 4px 6px #0f172a0f, 0 2px 4px #0f172a0f;--shadow-lg:0 10px 24px #0f172a1a, 0 4px 8px #0f172a0f;--layout-sidebar-width-open:260px;--layout-sidebar-width-collapsed:52px;--layout-content-padding-desktop:32px;--layout-content-padding-desktop-wide:40px;--layout-content-padding-mobile:20px;--layout-content-padding-mobile-wide:24px;--layout-content-max-width:1440px;--layout-top-bar-height:56px;--motion-duration-hover:.15s;--motion-duration-focus:.12s;--motion-duration-modal:.22s;--motion-duration-drawer:.22s;--motion-easing-default:cubic-bezier(.4, 0, .2, 1);--color-focus-ring:var(--color-accent-primary);--color-link:var(--color-accent-primary);--color-link-hover:var(--color-accent-hover)}.theme-budget-tracker{--color-brand-logo:#2aabee;--color-accent-primary:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft:#dbeafe;--color-accent-border:#bfdbfe;--color-accent-on-primary:#fff;--gradient-accent-hero:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--color-brand-primary:var(--color-accent-primary);--color-brand-primary-hover:var(--color-accent-hover);--color-brand-primary-soft:var(--color-accent-soft);--color-brand-border:var(--color-accent-border);--color-brand-on-primary:var(--color-accent-on-primary)}.theme-food-tracker{--color-brand-logo:#25d366;--color-accent-primary:#059669;--color-accent-hover:#047857;--color-accent-soft:#d1fae5;--color-accent-border:#a7f3d0;--color-accent-on-primary:#fff;--gradient-accent-hero:linear-gradient(135deg, #10b981 0%, #059669 100%);--color-brand-primary:var(--color-accent-primary);--color-brand-primary-hover:var(--color-accent-hover);--color-brand-primary-soft:var(--color-accent-soft);--color-brand-border:var(--color-accent-border);--color-brand-on-primary:var(--color-accent-on-primary)}.theme-task-tracker{--color-brand-logo:#ff8000;--color-accent-primary:#d97706;--color-accent-hover:#b45309;--color-accent-soft:#ffedd5;--color-accent-border:#fed7aa;--color-accent-on-primary:#fff;--gradient-accent-hero:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--color-brand-primary:var(--color-accent-primary);--color-brand-primary-hover:var(--color-accent-hover);--color-brand-primary-soft:var(--color-accent-soft);--color-brand-border:var(--color-accent-border);--color-brand-on-primary:var(--color-accent-on-primary)}html{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);color:var(--color-text-primary);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}h1,.h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:var(--font-weight-h1);margin:0}h2,.h2,.top-bar-title{font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:var(--font-weight-h2);margin:0}h3,.h3{font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:var(--font-weight-h3);margin:0}h4,.h4{font-size:var(--font-size-h4);line-height:var(--line-height-h4);font-weight:var(--font-weight-h4);margin:0}p{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);margin:0}small,.small,.caption{font-size:var(--font-size-caption);line-height:var(--line-height-caption);font-weight:var(--font-weight-caption)}.muted{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-body-sm);color:var(--color-text-muted)}.error{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-body-sm);color:var(--color-danger-text)}.ok{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-body-sm);color:var(--color-success-text)}strong{font-weight:var(--font-weight-h4)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm)}pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);margin:0}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}label{font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-label);color:var(--color-text-secondary)}label span{font-size:inherit;line-height:inherit;font-weight:inherit}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:0}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-input);line-height:var(--line-height-input);font-weight:var(--font-weight-input);color:var(--color-text-primary)}input::placeholder,textarea::placeholder{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);color:var(--color-text-muted)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:0}button{font-family:var(--font-sans);font-size:var(--font-size-button);line-height:var(--line-height-button);font-weight:var(--font-weight-button)}table{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);border-collapse:collapse}th{font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-label);color:var(--color-text-secondary)}td{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-body-sm);color:var(--color-text-primary)}caption{font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--color-text-muted);caption-side:bottom}ul,ol{margin:0;padding:0}li{font-size:var(--font-size-body);line-height:var(--line-height-body)}hr{border:0;border-top:1px solid var(--color-border);margin:0}img,svg{max-width:100%;display:block}.sidebar-brand{font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:var(--font-weight-h1)}.sidebar-link{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-body-sm)}.eyebrow{font-size:var(--font-size-label);line-height:var(--line-height-label);font-weight:var(--font-weight-label);color:var(--color-accent-primary)}.login-card h1,.login-card h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:var(--font-weight-h2)}.login-card p,.login-card .muted{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm)}.settings-section h2,.settings-card h2,.modal-head h2,.modal h2,.modal-header h2{font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:var(--font-weight-h3)}.page-header h1,.page-header h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:var(--font-weight-h2)}.toast,.toast.success{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm)}.empty{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);color:var(--color-text-muted)}.badge,.expiry-status{font-size:var(--font-size-caption);line-height:var(--line-height-caption);font-weight:var(--font-weight-label)}.app-shell{align-items:stretch;min-height:100dvh;display:flex}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.main,.content{width:100%;max-width:var(--layout-content-max-width);padding:var(--layout-content-padding-desktop);flex:1}.sidebar{width:var(--layout-sidebar-width-open);background:var(--color-bg-sidebar);height:100dvh;color:var(--color-text-on-sidebar);box-shadow:var(--shadow-sm);transition:width var(--motion-duration-drawer) var(--motion-easing-default);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow:hidden}.sidebar--open{width:var(--layout-sidebar-width-open)}.sidebar--closed{width:var(--layout-sidebar-width-collapsed)}.sidebar--closed .sidebar-brand{display:none}.sidebar--closed .sidebar-head{padding-inline:var(--space-2);justify-content:center}.sidebar-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:1px solid color-mix(in srgb, var(--color-text-on-sidebar) 10%, transparent);display:flex}.sidebar-brand{align-items:center;gap:var(--space-2);font-size:var(--font-size-body);line-height:var(--line-height-h3);font-weight:var(--font-weight-h3);margin:0;display:inline-flex}.sidebar-brand-logo{border-radius:var(--radius-sm);flex-shrink:0;width:1.5rem;height:1.5rem}.sidebar-nav{gap:var(--space-1);padding:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-button);color:var(--color-text-on-sidebar);transition:background var(--motion-duration-hover) var(--motion-easing-default);text-decoration:none;display:block}.sidebar-link:hover{background:var(--color-bg-sidebar-hover);color:var(--color-text-on-sidebar)}.sidebar-link--active{background:var(--color-bg-sidebar-active);color:var(--color-accent-primary)}.sidebar-toggle{color:var(--color-text-on-sidebar-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle:hover{color:var(--color-text-on-sidebar)}.sidebar-toggle--burger{width:2rem;height:2rem;padding:0}.sidebar-burger{justify-content:center;gap:var(--space-1);flex-direction:column;width:1.125rem;display:flex}.sidebar-burger span{background:currentColor;border-radius:1px;height:2px;display:block}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-text-on-sidebar) 10%, transparent);font-size:var(--font-size-caption);color:var(--color-text-on-sidebar-muted)}.top-bar{align-items:center;gap:var(--space-3);min-height:var(--layout-top-bar-height);padding:var(--space-3) var(--space-5);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.top-bar-title{font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:var(--font-weight-h3);flex:1;margin:0}.top-bar-spacer{flex:1}.nav-user{font-size:var(--font-size-body-sm);color:var(--color-text-muted);max-width:var(--layout-sidebar-width-open);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-logout{flex-shrink:0}button,.button-like{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-button);font-weight:var(--font-weight-button);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-duration-hover) var(--motion-easing-default), border-color var(--motion-duration-hover) var(--motion-easing-default);border:1px solid #0000;font-family:inherit;display:inline-flex}button:focus-visible,.button-like:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}button{background:var(--color-accent-primary);color:var(--color-accent-on-primary);border-color:var(--color-accent-primary)}button:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.primary,.btn-primary{background:var(--color-accent-primary);color:var(--color-accent-on-primary);border-color:var(--color-accent-primary)}.btn-secondary,button.secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-surface-muted)}button.ghost,.btn-ghost{color:var(--color-accent-primary);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--color-accent-soft)}button.danger,.btn-danger{background:var(--color-danger-text);color:var(--color-bg-surface);border-color:var(--color-danger-text)}.btn-icon{padding:var(--space-2);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-small{padding:var(--space-1) var(--space-3);font-size:var(--font-size-body-sm)}.btn-icon-action{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}.button-like{background:var(--color-accent-primary);color:var(--color-accent-on-primary);border-color:var(--color-accent-primary);text-decoration:none}.button-like:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.settings-download-stack{margin-top:var(--space-3)}.settings-download-btn{width:fit-content}label{gap:var(--space-1);font-size:var(--font-size-label);font-weight:var(--font-weight-label);color:var(--color-text-primary);flex-direction:column;display:flex}input,select,textarea,.input{width:100%;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-input);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-primary) 18%, transparent);outline:none}textarea{resize:vertical;min-height:5rem}.checkbox-row,.radio-row,.checkbox-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-body-sm);display:flex}.checkbox-row input,.radio-row input{width:auto;accent-color:var(--color-accent-primary)}.toggle-switch{cursor:pointer;align-items:center;display:inline-flex}.toggle-switch-track{background:var(--color-border-strong);border-radius:var(--radius-pill);width:2.5rem;height:1.375rem;position:relative}.toggle-switch-track:after{content:"";background:var(--color-bg-surface);width:1.125rem;height:1.125rem;box-shadow:var(--shadow-sm);transition:transform var(--motion-duration-hover) var(--motion-easing-default);border-radius:50%;position:absolute;top:2px;left:2px}.panel,.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--gradient-card-default);color:var(--color-text-on-card);border:none}.card{padding:var(--space-5)}.card span,.panel span{color:var(--color-text-on-card-secondary)}.card strong,.panel strong,.card h2,.panel h2,.card h3,.panel h3{color:var(--color-text-on-card)}.card .muted,.panel .muted,.card .eyebrow,.panel .eyebrow{color:var(--color-text-on-card-muted)}.card label,.panel label{color:var(--color-text-on-card-secondary)}.card a,.panel a{color:var(--color-text-on-card);-webkit-text-decoration-color:var(--color-text-on-card-secondary);text-decoration-color:var(--color-text-on-card-secondary)}.panel .table-wrap,.panel .table-card{background:var(--gradient-card-soft);color:var(--color-text-on-card);border-color:#f8fafc2e}.panel table th,.panel table td{color:var(--color-text-on-card);border-color:#f8fafc24}.panel table th{color:var(--color-text-on-card-secondary);background:#0f172a52}.card--default,.panel--default{background:var(--gradient-card-default)}.card--soft,.panel--soft{background:var(--gradient-card-soft)}.card--hero,.panel--hero,.card--hero-blue,.panel--hero-blue,.card--hero-green,.panel--hero-green,.card--hero-orange,.panel--hero-orange{background:var(--gradient-card-hero)}.card--analytics,.panel--analytics,.card--purple,.panel--purple,.card--info,.panel--info{background:var(--gradient-card-analytics)}.card--success,.panel--success,.card--green,.panel--green{background:var(--gradient-card-success)}.card--warning,.panel--warning,.card--orange,.panel--orange{background:var(--gradient-card-warning)}.card--danger,.panel--danger{background:var(--gradient-card-danger)}.card--blue,.panel--blue,.card--tinted,.panel--tinted,.card--pink,.panel--pink{background:var(--gradient-card-default)}.settings-card,.settings-section{background:var(--gradient-card-soft)}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.table-wrap,.table-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.simple-table,table{border-collapse:collapse;width:100%;font-size:var(--font-size-body-sm)}.simple-table th,.simple-table td,table th,table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.simple-table th,table th{font-size:var(--font-size-label);font-weight:var(--font-weight-label);color:var(--color-text-secondary);background:var(--color-bg-surface-muted)}.simple-table tbody tr:hover,table tbody tr:hover{background:var(--color-bg-surface-soft)}.modal-backdrop,.modal-overlay{z-index:100;padding:var(--space-8) var(--space-4);background:var(--color-overlay);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:auto}.modal,.modal-card{background:var(--color-bg-surface);border-radius:var(--radius-lg);width:min(100%,28rem);max-width:720px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head,.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal-actions,.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-surface-soft);display:flex}.badge{padding:.125rem var(--space-2);font-size:var(--font-size-caption);font-weight:var(--font-weight-label);border-radius:var(--radius-pill);background:var(--color-info-bg);color:var(--color-info-text);border:1px solid #0000;border-color:var(--color-info-border);display:inline-block}.badge-urgent,.badge-overdue{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge-high{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge-medium{background:var(--color-accent-soft);color:var(--color-accent-primary);border-color:var(--color-accent-border)}.badge-low{background:var(--color-bg-surface-muted);color:var(--color-text-muted);border-color:var(--color-border)}.error{padding:var(--space-3) var(--space-4);font-size:var(--font-size-body-sm);color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md)}.ok,.toast.success{padding:var(--space-3) var(--space-4);color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md)}.empty{padding:var(--space-10) var(--space-6);color:var(--color-text-on-card-secondary);text-align:center;border-radius:var(--radius-lg);background:var(--gradient-card-soft);box-shadow:var(--shadow-md);border:none}.login-wrap{min-height:100dvh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card{width:min(100%,26.25rem);padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.login-divider{margin:var(--space-5) 0;border:none;border-top:1px solid var(--color-border)}.login-google,.login-dev-btn{width:100%;margin-top:var(--space-4)}.login-dev-btn{margin-top:var(--space-2)}.page-settings,.settings-page{gap:var(--space-5);max-width:28rem;display:grid}.settings-section,.settings-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.project-group{gap:var(--space-3);display:grid}.project-group h2{font-size:var(--font-size-h3);margin:0}.task-desc{margin:var(--space-1) 0 0;font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.muted{color:var(--color-text-muted);font-size:var(--font-size-body-sm)}.eyebrow{font-size:var(--font-size-label);font-weight:var(--font-weight-label);color:var(--color-accent-primary);text-transform:uppercase}.badge-date{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-status{background:var(--color-bg-surface-muted);color:var(--color-text-secondary);border-color:var(--color-border)}.badge-project{background:var(--color-accent-soft);color:var(--color-accent-primary);border-color:var(--color-accent-border)}.segmented{gap:var(--space-2);flex-wrap:wrap;display:flex}.segmented button{background:var(--color-bg-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3)}.segmented button.segmented-active,.segmented .segmented-active{background:var(--color-accent-primary);color:var(--color-accent-on-primary);border-color:var(--color-accent-primary)}.stack{gap:var(--space-4);display:grid}@media (width<=760px){.main,.content{padding:var(--layout-content-padding-mobile)}.top-bar{padding:var(--space-3) var(--space-4)}.nav-user{display:none}}:root{--app-content-max-width:var(--layout-content-max-width)}*{box-sizing:border-box}body{color:var(--color-text-primary);background:var(--color-bg-page);margin:0}a{color:var(--color-link)}.brand-link{color:inherit;text-decoration:none}.brand-link:hover{text-decoration:underline}.btn-icon-action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);width:2rem;height:2rem;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon-action:hover:not(:disabled){background:var(--color-bg-surface-muted);border-color:var(--color-border-strong)}.btn-icon-action--danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn-icon-action:disabled{opacity:.45;cursor:not-allowed}.category-actions{gap:var(--space-1);flex-wrap:wrap;flex-shrink:0;display:flex}.categories-page-grid{gap:var(--space-4);grid-template-columns:1fr;margin-top:.75rem;display:grid}@media (width>=52rem){.categories-page-grid{grid-template-columns:1fr 1fr;align-items:start}}.top-nav nav{gap:var(--space-4);display:flex}h1{font-size:var(--font-size-display);line-height:var(--line-height-display);font-weight:var(--font-weight-display);margin:0 0 var(--space-6)}.panel{padding:var(--space-4);margin-bottom:var(--space-3)}.row.gap{gap:var(--space-3);flex-wrap:wrap;margin-bottom:.75rem;display:flex}label{gap:var(--space-1);flex-direction:column;display:flex}textarea{resize:vertical}.stack{gap:var(--space-2);flex-direction:column;display:flex}.kv{margin:0;padding:0;list-style:none}.kv li{justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);display:flex}.kv li:last-child{border-bottom:none}.big{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2)}.page-planning-lists{gap:var(--space-4);flex-direction:column;display:flex}.list-item-create-form{gap:var(--space-3);grid-template-columns:minmax(12rem,2fr) minmax(11rem,1fr) auto;align-items:end;margin-bottom:.65rem;display:grid}.list-item-create-form--shopping{grid-template-columns:minmax(12rem,2fr) minmax(8rem,1fr) auto}.list-item-create-form-description{grid-column:1/-2}.list-item-summary{margin:0 0 .75rem}.list-item-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-item-card{gap:var(--space-2) .75rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.list-item-card--done{background:var(--color-bg-surface-muted)}.list-item-card--done .list-item-check-row strong,.list-item-card--done .list-item-description{color:var(--color-text-muted);text-decoration:line-through}.list-item-check-row{align-items:flex-start;gap:var(--space-2);flex-direction:row;min-width:0;margin:0}.list-item-check-row input{width:auto;margin-top:.2rem}.list-item-check-row>span{min-width:0}.list-item-description{color:var(--color-text-secondary);white-space:pre-wrap;margin-top:.15rem;display:block}.list-item-meta-row{gap:var(--space-1) .9rem;color:var(--color-text-muted);font-size:var(--font-size-body-sm);flex-wrap:wrap;grid-column:1/2;display:flex}.list-item-actions{gap:var(--space-1);grid-area:1/2/span 2/3;display:flex}.list-item-edit-form{gap:var(--space-3);grid-column:1/-1;grid-template-columns:minmax(12rem,2fr) minmax(10rem,1fr);display:grid}.list-item-edit-form label:has(textarea){grid-column:1/-1}.list-item-edit-actions{gap:var(--space-2);grid-column:1/-1;justify-content:flex-end;display:flex}.table-wrap{overflow-x:auto}.simple-table{border-collapse:collapse;width:100%;font-size:var(--font-size-body-sm)}.simple-table th,.simple-table td{border:1px solid var(--color-border);padding:var(--space-1) .4rem;text-align:left;vertical-align:top}.simple-table th{background:var(--color-bg-surface-muted)}.simple-table th.col-amount,.simple-table td.col-amount,.simple-table th.tx-list-amount,.simple-table td.tx-list-amount,.tx-list-table th.tx-list-amount,.tx-list-table td.tx-list-amount,.page-expenses-income .tx-list-table th:nth-child(2),.page-expenses-income .tx-list-table td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}.page-home,.page-expenses-income,.page-categories{width:100%}.page-transfers .page-transfers-intro{margin-top:0}.page-transfers-intro{max-width:40rem;margin:0 0 1rem}.transfer-form{max-width:28rem}.transfer-form-hint{font-size:var(--font-size-body-sm);margin:-.25rem 0 .5rem}.main:has(.page-expenses-income){max-width:calc(var(--app-content-max-width) + 200px)}:is(.main:has(.page-accounts),.main:has(.page-dashboard)){max-width:var(--app-content-max-width)}@media (width>=52rem){.page-expenses-income .home-grid-col{min-width:0}.page-expenses-income .home-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.page-expenses-income .panel-expenses-list{border-bottom:none;margin-bottom:0;padding-bottom:.5rem}.page-expenses-income .home-grid-col{gap:var(--space-3)}.tx-list-flow{gap:var(--space-1);flex-direction:column;display:flex}.tx-list-meta{font-size:var(--font-size-body-sm);margin:0}.tx-list-table-wrap{border:none;overflow:visible}.page-expenses-income .tx-list-table{table-layout:fixed;width:100%}.page-expenses-income .tx-list-date{width:8.5rem}.page-expenses-income .tx-list-category,.page-expenses-income .tx-list-table th.tx-list-category,.page-expenses-income .tx-list-table td.tx-list-category{width:9rem}.page-expenses-income .col-account{text-overflow:ellipsis;white-space:nowrap;width:7.5rem;overflow:hidden}.page-expenses-income .tx-list-amount{text-align:right;width:6.5rem}.tx-list-filter-row{background:var(--color-bg-surface-muted)}.tx-list-filter-row td{padding:var(--space-2) .35rem;vertical-align:middle;border-bottom:1px solid var(--color-border)}.tx-list-filter-date-range,.tx-list-filter-amount-range{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.tx-list-filter-range-sep{color:var(--color-text-muted);font-size:var(--font-size-caption)}.tx-list-filter-select{width:100%;min-width:0;max-width:100%;font-size:var(--font-size-label);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);padding:.3rem .4rem}.tx-list-filter-amount-input{width:100%;min-width:3.5rem;font-size:var(--font-size-label);padding:.3rem .4rem}.tx-list-filter-row .app-datetime-input{flex:5.5rem;min-width:0}.tx-list-filter-row .app-datetime-input-display{font-size:var(--font-size-caption);padding:.3rem .4rem}.tx-list-filter-clear{white-space:nowrap}.tx-list-empty-row{text-align:center;padding:var(--space-4) .5rem!important}.page-expenses-income .col-comment{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-list-table thead th{background:var(--color-bg-sidebar);color:var(--color-accent-on-primary);border-bottom:1px solid var(--color-bg-sidebar-active)}.tx-list-table tbody tr:last-child td{border-bottom:none}.tx-list-date{white-space:nowrap;font-variant-numeric:tabular-nums}.tx-list-amount{white-space:nowrap}.tx-category-cell{align-items:center;gap:.4rem;display:inline-flex}.tx-list-sentinel{height:1px;margin:0}.home-balance-row{gap:var(--space-3);flex-wrap:wrap;margin-bottom:1.25rem;display:flex}.status-quo-section{border-bottom:1px solid var(--color-border);margin-bottom:2.25rem;padding-bottom:2rem}.finance-hero,.dashboard-hero{gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-xl);background:var(--gradient-accent-hero);color:var(--color-text-on-card);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);align-items:stretch;display:grid}.finance-hero h2,.dashboard-hero h2{font-size:var(--font-size-h1);line-height:var(--line-height-h1);margin:0}.finance-hero p,.dashboard-hero p,.finance-hero .eyebrow,.dashboard-hero .eyebrow{color:var(--color-text-on-card-secondary)}.finance-hero-main,.dashboard-hero>div:first-child{gap:var(--space-3);flex-direction:column;display:flex}.finance-hero-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.finance-hero-actions .button-like{text-decoration:none}.finance-hero-actions .btn-secondary{color:var(--color-text-on-card);background:#ffffff1f;border-color:#ffffff38}.finance-hero-metrics,.dashboard-hero-metrics{gap:var(--space-3);display:grid}.finance-hero-metric,.dashboard-hero-metrics>div{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:#0f172a2e;border:1px solid #ffffff29;display:grid}.finance-hero-metric span,.dashboard-hero-metrics span{color:var(--color-text-on-card-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-label);text-transform:uppercase}.finance-hero-metric strong,.dashboard-hero-metrics strong{color:var(--color-text-on-card);font-size:var(--font-size-h3)}.finance-hero-metric--balance{border-left:4px solid var(--color-finance-saving)}.finance-hero-metric--expense{border-left:4px solid var(--color-finance-expense)}.finance-hero-metric--accounts{border-left:4px solid var(--color-finance-income)}@media (width<=48rem){.finance-hero,.dashboard-hero{padding:var(--space-5);grid-template-columns:1fr}}.status-quo-heading{font-size:var(--font-size-h4);font-weight:var(--font-weight-h2);margin:0 0 1rem}.status-quo-context{gap:var(--space-3);flex-wrap:wrap;margin:0 0 1.15rem;display:flex}.status-quo-context-loading{font-size:var(--font-size-body);margin:0}.status-quo-context-item{gap:var(--space-1);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--gradient-card-default);box-shadow:var(--shadow-sm);color:var(--color-text-on-card);border:none;flex-direction:column;flex:10rem;display:flex}.status-quo-context-item--today{background:var(--gradient-card-success)}.status-quo-context-item--days{background:var(--gradient-card-warning)}.status-quo-context-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-h2);text-transform:uppercase;color:var(--color-text-on-card-secondary)}.status-quo-context-value{font-size:clamp(1.25rem,2.8vw,1.65rem);font-weight:var(--font-weight-h1);line-height:var(--line-height-h3);color:var(--color-text-on-card)}.status-quo-context-value--number{font-variant-numeric:tabular-nums;color:var(--color-text-on-card);font-size:clamp(1.75rem,4vw,2.35rem)}.home-summary-section{margin-bottom:1.5rem}.home-summary-heading{font-size:var(--font-size-h4);font-weight:var(--font-weight-h2);margin:0 0 .85rem}.status-quo-cards{gap:var(--space-3);flex-wrap:wrap;margin-bottom:.85rem;display:flex}.status-quo-tile{min-height:6.5rem}.status-quo-tile--income{background:var(--gradient-card-success);color:var(--color-text-on-card);border:none}.status-quo-tile--expense .home-balance-label,.status-quo-tile--mandatory .home-balance-label,.status-quo-tile--remaining .home-balance-label,.status-quo-tile--income .home-balance-label,.status-quo-tile--expense .home-balance-value,.status-quo-tile--mandatory .home-balance-value,.status-quo-tile--remaining .home-balance-value,.status-quo-tile--income .home-balance-value,.status-quo-tile--expense .home-balance-currency,.status-quo-tile--mandatory .home-balance-currency,.status-quo-tile--remaining .home-balance-currency,.status-quo-tile--income .home-balance-currency{color:var(--color-text-on-card)}.status-quo-tile--expense{background:var(--gradient-card-danger);color:var(--color-text-on-card);box-shadow:var(--shadow-sm);border:none}.status-quo-tile--mandatory{background:var(--gradient-card-warning);color:var(--color-text-on-card);box-shadow:var(--shadow-sm);border:none}.status-quo-tile--remaining{background:var(--gradient-card-success);color:var(--color-text-on-card);box-shadow:var(--shadow-sm);border:none}.status-quo-deviation--under{color:var(--color-success-text)}.status-quo-deviation--over{color:var(--color-danger-text)}.home-balance-tile{background:var(--gradient-card-default);width:min(100%,14rem);max-width:14rem;color:var(--color-text-on-card);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);cursor:default;border:none;flex:0 auto}.home-balance-tile--total{background:var(--gradient-card-hero);color:var(--color-text-on-card);box-shadow:var(--shadow-sm);max-width:16rem}.home-balance-tile--total .home-balance-label,.home-balance-tile--total .home-balance-value,.home-balance-tile--total .home-balance-currency,.home-balance-tile--total .home-balance-breakdown,.home-balance-tile--total .muted{color:var(--color-text-on-card)}.home-balance-tile--total .home-balance-empty{color:var(--color-text-on-card-muted)}.home-balance-tile--has-tooltip{cursor:help}.home-balance-tile--default{background:var(--gradient-card-default)}.home-balance-tile--top-categories{background:var(--gradient-card-analytics);color:var(--color-text-on-card);min-height:8.5rem}.home-balance-tile--top-categories .home-balance-label,.home-balance-tile--top-categories .home-tile-sub,.home-balance-tile--top-categories .muted,.home-balance-tile--top-categories .home-top-category-item{color:var(--color-text-on-card-secondary)}.home-balance-tile--avg-daily{background:var(--gradient-card-warning);color:var(--color-text-on-card)}.home-tile-sub{font-size:var(--font-size-caption);opacity:.8;margin:-.15rem 0 .5rem}.home-balance-tile .home-tile-sub{color:var(--color-text-on-card-muted)}.home-top-categories{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-top-category-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);font-weight:var(--font-weight-label);display:flex}.home-top-category-item .category-swatch{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem}.home-top-category-item span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-balance-label{align-items:center;gap:var(--space-1);font-size:var(--font-size-button);opacity:.9;flex-wrap:wrap;margin:0 0 .35rem;display:flex}.home-balance-value{font-size:clamp(1.35rem,4vw,1.85rem);font-weight:var(--font-weight-h1);line-height:var(--line-height-h4);font-variant-numeric:tabular-nums;margin:0}.home-balance-currency{font-size:.65em;font-weight:var(--font-weight-h2);opacity:.95}.home-balance-breakdown{margin:var(--space-1) 0 0;font-size:var(--font-size-caption);line-height:var(--line-height-body-sm)}.home-balance-tile .muted{color:var(--color-text-muted)}.home-balance-empty{font-size:var(--font-size-button);opacity:.9;margin:0}.home-accounts-section{margin-bottom:1.25rem}.home-accounts-heading{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-h2);margin:0 0 .65rem}.home-accounts-tiles{gap:var(--space-3);flex-wrap:wrap;display:flex}.home-balance-tile--account{background:linear-gradient(135deg, var(--color-bg-sidebar-hover) 0%, var(--color-text-muted) 100%);box-shadow:var(--shadow-md)}.home-balance-tile--account-default{box-shadow:var(--shadow-md)}.home-account-badge{font-size:var(--font-size-caption);font-weight:var(--font-weight-h2);text-transform:uppercase;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-surface) 20%, transparent);line-height:var(--line-height-h3);padding:.12rem .4rem}.home-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=52rem){.home-grid{grid-template-columns:1fr 1fr;align-items:start}}.home-grid-col{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.home-action-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-button)}.modal-card{max-width:24rem;max-height:90dvh;padding:var(--space-4) var(--space-5);overflow-y:auto}.modal-head h2{font-size:var(--font-size-h4);margin:0}.checkbox-hint{width:100%;font-size:var(--font-size-label);margin-top:.15rem;display:block}.category-hidden-badge{color:var(--color-text-muted);font-style:italic}.grid-create-btn{background:var(--color-bg-surface);width:100%;color:var(--color-text-primary);border:1px dashed var(--color-border-strong);margin-bottom:.75rem}.grid-create-btn:hover{background:var(--color-bg-surface-muted);border-color:var(--color-border-strong)}.page-accounts h1{margin:0 0 1rem}.page-accounts-grid{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}@media (width>=64rem){.page-accounts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.page-accounts-col-toolbar{justify-content:flex-end;margin-bottom:.75rem;display:flex}.page-accounts-grid .panel h2{margin-bottom:.65rem}.accounts-grid--column,.currencies-grid--column{grid-template-columns:1fr}.exchange-rate-date-field{gap:var(--space-1);font-size:var(--font-size-button);flex-direction:column;margin-bottom:.35rem;display:flex}.exchange-rate-date-field input[type=date]{max-width:100%}.exchange-rate-date-hint{font-size:var(--font-size-label);margin:0 0 .75rem}.currencies-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.currency-card{background:var(--gradient-card-soft);border-radius:var(--radius-sm);color:var(--color-text-on-card);padding:var(--space-3) .9rem;border:1px solid #f8fafc2e}.currency-card h3,.currency-card p{color:var(--color-text-on-card)}.currency-card .muted{color:var(--color-text-on-card-muted)}.currency-card-code{font-size:var(--font-size-body-lg);margin:0 0 .35rem}.currency-card-name{font-size:var(--font-size-button);margin:0 0 .25rem}.currency-card-symbol{font-size:var(--font-size-label);margin:0}.page-accounts-rates-date{font-size:var(--font-size-body-sm);margin:0 0 .65rem}.exchange-rates-table-wrap{overflow-x:auto}.exchange-rates-table{border-collapse:collapse;width:100%;font-size:var(--font-size-button);background:var(--gradient-card-soft);border-radius:var(--radius-sm);color:var(--color-text-on-card);border:1px solid #f8fafc2e}.exchange-rates-table th,.exchange-rates-table td{padding:var(--space-2) .75rem;text-align:left;color:var(--color-text-on-card);border-bottom:1px solid #f8fafc24}.exchange-rates-table th{font-weight:var(--font-weight-h2);color:var(--color-text-on-card-secondary);background:#0f172a52}.exchange-rates-table strong{color:var(--color-text-on-card)}.exchange-rates-table .muted{color:var(--color-text-on-card-muted)}.exchange-rates-table tbody tr:last-child td{border-bottom:none}.exchange-rates-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.accounts-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.account-card{background:var(--gradient-card-soft);border-radius:var(--radius-sm);color:var(--color-text-on-card);padding:var(--space-3) 1rem;border:1px solid #f8fafc2e}.account-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:.65rem;display:flex}.account-card-title{font-size:var(--font-size-body-lg);color:var(--color-text-on-card);margin:0}.modal-hint{font-size:var(--font-size-label);margin:0}.account-card-meta{gap:.4rem;margin:0;display:grid}.account-card-meta>div{justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-body-sm);display:flex}.account-card-meta dt{color:var(--color-text-on-card-muted);font-weight:400}.account-card-meta dd{text-align:right;color:var(--color-text-on-card);margin:0}.account-card-balance{font-weight:var(--font-weight-h2)}.page-dashboard h1{margin:0 0 1rem}.dashboard-total{font-size:var(--font-size-button);margin:0 0 .75rem}.dashboard-filters{margin-bottom:1rem}.dashboard-filter-group{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-avg-daily-card{max-width:18rem;margin-bottom:1.15rem}.dashboard-period-filter{gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.dashboard-period-btn{font-size:var(--font-size-body-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;padding:.4rem .75rem}.dashboard-period-btn:hover{background:var(--color-bg-surface-muted)}.dashboard-period-btn--active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-accent-on-primary)}.dashboard-date-range{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard-date-range label{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-label);display:inline-flex}.dashboard-date-range input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);min-height:2.25rem;color:var(--color-text-primary);font:inherit;padding:.35rem .55rem}.dashboard-date-range input:focus{border-color:var(--color-focus-ring);outline:none}.dashboard-panel-loading{margin:var(--space-2) 0 0}.dashboard-panel-categories,.dashboard-panel-bubbles,.dashboard-panel-daily{background:var(--gradient-card-analytics);color:var(--color-text-on-card);border:none;margin-top:0}.page-dashboard .dashboard-panel-categories h2,.page-dashboard .dashboard-panel-bubbles h2,.page-dashboard .dashboard-panel-daily h2,.page-dashboard .dashboard-panel-loading,.page-dashboard .dashboard-total{color:var(--color-text-on-card)}.page-dashboard .dashboard-avg-daily-card{background:var(--gradient-card-warning);color:var(--color-text-on-card);border:none}.page-home,.page-dashboard{gap:var(--space-4);flex-direction:column;display:flex}.vibe-coding-banner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-text-on-card);background:linear-gradient(135deg,#7c3aed 0%,#ec4899 48%,#f59e0b 100%);border:1px solid #ffffff2e;flex-wrap:wrap;display:flex}.vibe-coding-banner strong{font-size:var(--font-size-h3);line-height:var(--line-height-h3)}.vibe-coding-banner span{color:var(--color-text-on-card-secondary);font-weight:var(--font-weight-label)}.dashboard-tiles-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width>=40rem){.dashboard-tiles-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.dashboard-tile{align-items:stretch;gap:var(--space-1);min-height:4.5rem;padding:var(--space-2) .55rem;background:var(--gradient-card-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);color:var(--color-text-on-card);cursor:pointer;font:inherit;text-align:left;border:1px solid #ffffff24;flex-direction:column;min-width:0;transition:box-shadow .15s,opacity .15s,transform .15s;display:flex}.dashboard-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-tile[data-selected=true]{box-shadow:0 0 0 2px var(--color-accent-on-primary), var(--shadow-md)}.dashboard-tile[data-dimmed=true]{opacity:.42}.dashboard-tile--empty{cursor:default;opacity:.55;background:#ffffff14;border-style:dashed;transform:none}.dashboard-selection-hint{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);color:var(--color-text-on-card-muted);font-size:var(--font-size-body-sm);flex-wrap:wrap;display:flex}.dashboard-selection-clear{min-height:0;color:var(--color-text-on-card);font-size:var(--font-size-caption);background:#ffffff1a;border-color:#ffffff42;padding:.25rem .55rem}.dashboard-selection-clear:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff5c}.dashboard-tile-swatch{border:1px solid #ffffff8c;border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem}.dashboard-tile-name{color:var(--color-text-on-card);font-size:var(--font-size-caption);font-weight:var(--font-weight-label);line-height:var(--line-height-body-sm);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px #0f172a47;overflow:hidden}.dashboard-tile-amount{color:var(--color-text-on-card);font-size:var(--font-size-label);font-weight:var(--font-weight-h2);font-variant-numeric:tabular-nums;text-align:right;text-shadow:0 1px 1px #0f172a47;align-self:flex-end}.dashboard-bubble-wrap{width:100%;overflow-x:auto}.dashboard-bubble-chart{width:100%;min-width:320px;max-width:100%;margin:0 auto;display:block}.page-dashboard .dashboard-bubble-wrap,.page-dashboard .daily-chart-wrap{width:100%}@media (width>=56rem){.page-dashboard .dashboard-tiles-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.dashboard-bubble-circle{opacity:.92;transition:opacity .15s}.dashboard-bubble-group:hover .dashboard-bubble-circle{opacity:1;stroke:var(--color-border);stroke-width:2px}.dashboard-bubble-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-h2);pointer-events:none}.daily-chart-wrap{width:100%;overflow-x:auto}.daily-chart{width:100%;min-width:320px;max-width:720px;display:block}.daily-chart--wide,.page-dashboard .daily-chart{max-width:100%}.daily-chart-bar{fill:var(--color-accent-primary)}.daily-chart-bar:hover{fill:var(--color-accent-hover)}.daily-chart-axis,.daily-chart-label,.daily-chart-label-weekday{font-size:var(--font-size-caption);fill:var(--color-text-muted)}.category-list--readonly .category-list-item{border-bottom:1px solid var(--color-border)}.categories-row{gap:var(--space-3);grid-template-columns:1fr;margin-bottom:1rem;display:grid}@media (width>=44rem){.categories-row{grid-template-columns:1fr 1fr;align-items:start}}.category-form{max-width:20rem}.page-categories-hint{font-size:var(--font-size-button);margin:0 0 1rem}.category-list{margin:0;padding:0;list-style:none}.category-list--saving{opacity:.65;pointer-events:none}.category-list-item{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:.4rem 0;transition:background .12s,box-shadow .12s;display:flex}.category-list-item--dragging{opacity:.45}.category-list-item--drag-over{background:var(--color-accent-soft);box-shadow:var(--shadow-xs)}.category-drag-handle{border-radius:var(--radius-sm);width:1.5rem;height:1.5rem;color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-h3);cursor:grab;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.category-drag-handle:hover{background:var(--color-border);color:var(--color-text-secondary)}.category-drag-handle:active{cursor:grabbing}.category-drag-handle:disabled{opacity:.4;cursor:not-allowed}@media (prefers-color-scheme:dark){.category-list-item--drag-over{background:color-mix(in srgb, var(--color-accent-primary) 20%, transparent);box-shadow:var(--shadow-xs)}.category-drag-handle:hover{background:color-mix(in srgb, var(--color-bg-surface) 8%, transparent);color:var(--color-text-on-sidebar-muted)}}.category-list-item:last-child{border-bottom:none}.category-list-name{align-items:center;gap:.4rem;display:flex}.category-swatch{border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem}.color-palette-fieldset{border:none;margin:0;padding:0}.color-palette-fieldset legend{font-size:var(--font-size-button);margin-bottom:.35rem;padding:0}.color-palette-grid{gap:var(--space-2);flex-wrap:wrap;max-width:16rem;display:flex}.color-palette-swatch{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;box-shadow:var(--shadow-xs);border:2px solid #0000;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s}.color-palette-swatch:hover:not(:disabled){box-shadow:var(--shadow-xs);transform:scale(1.08)}.color-palette-swatch--selected{border-color:var(--color-accent-primary);box-shadow:var(--shadow-xs)}.color-palette-swatch:disabled{opacity:.55;cursor:not-allowed}.color-palette-label{margin:var(--space-2) 0 0;font-size:var(--font-size-body-sm);min-height:1.25rem}.color-palette-empty{margin:0}@media (prefers-color-scheme:dark){.color-palette-swatch{box-shadow:var(--shadow-xs)}.color-palette-swatch--selected{border-color:var(--color-text-on-sidebar);box-shadow:var(--shadow-xs)}}.col-actions{white-space:nowrap;width:1%}.table-actions{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.page-expenses-income .col-actions{vertical-align:middle;width:4.75rem;min-width:4.75rem;max-width:4.75rem;padding:.2rem .25rem}.page-expenses-income .table-actions{gap:var(--space-1);flex-wrap:nowrap;justify-content:center}.virtual-tx-table{gap:var(--space-1);flex-direction:column;min-height:0;display:flex}.virtual-tx-meta{font-size:var(--font-size-body-sm);margin:0}.virtual-tx-scroll{overscroll-behavior:contain;max-height:min(60vh,520px);overflow:auto}.virtual-tx-scroll thead th{z-index:1;background:var(--color-bg-surface);box-shadow:var(--shadow-xs);position:sticky;top:0}.virtual-tx-spacer td{line-height:0}@media (prefers-color-scheme:dark){.virtual-tx-scroll thead th{background:var(--color-bg-sidebar);box-shadow:var(--shadow-xs)}}.page-expenses-income .table-actions .btn-small{flex-shrink:0}.ops-grid{gap:var(--space-4);grid-template-columns:1fr;margin-bottom:1rem;display:grid}@media (width>=44rem){.ops-grid{grid-template-columns:1fr 1fr;align-items:start}}.ops-col{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.ops-flash{font-size:var(--font-size-button);margin:0}.dashboard-block{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.75rem}.dashboard-heading{font-size:var(--font-size-h4);margin:0 0 .65rem}.compact-table{font-size:var(--font-size-label)}.compact-table th,.compact-table td{padding:var(--space-1) var(--space-1)}.login-wrap{background:var(--color-bg-surface-muted)}.login-card h1{margin-top:0}.page-ai-chat h1{margin:0 0 .5rem}.page-ai-chat-intro{max-width:42rem;margin:0 0 1rem}.ai-chat-panel{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:0;max-width:48rem;min-height:24rem;display:flex;overflow:hidden}.ai-chat-messages{min-height:16rem;max-height:min(55vh,28rem);padding:var(--space-4);gap:var(--space-3);background:var(--color-bg-surface-muted);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-chat-empty{text-align:center;font-size:var(--font-size-button);margin:auto}.ai-chat-bubble{max-width:92%;padding:var(--space-3) .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.ai-chat-bubble p{margin:var(--space-1) 0 0;white-space:pre-wrap;line-height:var(--line-height-body)}.ai-chat-bubble-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-h2);text-transform:uppercase;color:var(--color-text-muted)}.ai-chat-bubble--user{background:var(--color-accent-soft);border-color:var(--color-info-border);align-self:flex-end}.ai-chat-bubble--assistant{background:var(--color-bg-surface);align-self:flex-start}.ai-chat-bubble--loading{opacity:.85}.ai-chat-compose{gap:var(--space-2);padding:var(--space-3) 1rem 1rem;border-top:1px solid var(--color-border);background:var(--color-bg-surface);flex-direction:column;display:flex}.ai-chat-input-label{gap:var(--space-1);font-size:var(--font-size-button);flex-direction:column;display:flex}.ai-chat-input-label textarea{resize:vertical;min-height:4.5rem}.ai-chat-compose-actions{justify-content:flex-end;display:flex}.page-settings h1{margin:0 0 1rem}.settings-section{max-width:36rem}.page-settings .settings-section+.settings-section{margin-top:1rem}.settings-section--stack .settings-row-label{margin-bottom:.35rem}.settings-download-block{align-items:center;gap:var(--space-3) 1rem;flex-wrap:wrap;margin-top:.75rem;display:flex}.settings-download-meta{font-size:var(--font-size-button);margin:0}.settings-download-status{margin:var(--space-3) 0 0}.settings-download-date{margin:var(--space-1) 0 0;font-size:var(--font-size-body-sm)}.settings-download-btn{text-decoration:none}.settings-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.settings-row-label{font-size:var(--font-size-body-lg);margin:0 0 .35rem}.settings-row-hint{font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0}.toggle-switch{cursor:pointer;flex-shrink:0;width:2.75rem;height:1.5rem;display:inline-flex;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch-track{border-radius:var(--radius-pill);background:var(--color-border);width:100%;height:100%;transition:background .15s;display:block}.toggle-switch-track:after{content:"";background:var(--color-bg-surface);width:1.25rem;height:1.25rem;box-shadow:var(--shadow-xs);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-switch-track{background:var(--color-accent-primary)}.toggle-switch input:checked+.toggle-switch-track:after{transform:translate(1.25rem)}.toggle-switch input:focus-visible+.toggle-switch-track{outline:2px solid var(--color-focus-ring);outline-offset:2px}.page-goals .goal-card-list{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.page-goals .goal-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.goal-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) 1.1rem;background:var(--color-bg-surface-muted)}.goal-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:.65rem;display:flex}.goal-card-title{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-sm);margin:0}.goal-card-actions{gap:var(--space-1);flex-shrink:0;display:flex}.goal-progress-bar{border-radius:var(--radius-pill);background:var(--color-border);height:.5rem;margin-bottom:.35rem;overflow:hidden}.goal-progress-bar-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--color-accent-primary), var(--color-success-text));height:100%;transition:width .2s}.goal-progress-label{font-size:var(--font-size-body-sm);color:var(--color-text-secondary);margin:0 0 .75rem}.goal-card-meta{gap:var(--space-3) 1rem;grid-template-columns:1fr 1fr;margin:0;display:grid}.goal-card-meta dt{font-size:var(--font-size-caption);text-transform:uppercase;color:var(--color-text-muted);margin:0}.goal-card-meta dd{font-size:var(--font-size-button);margin:.15rem 0 0}.goal-status{font-size:var(--font-size-label);font-weight:var(--font-weight-h2);border-radius:var(--radius-sm);padding:.12rem .45rem;display:inline-block}.goal-status--active{color:var(--color-info-text);background:color-mix(in srgb, var(--color-info-text) 12%, transparent)}.goal-status--done{color:var(--color-success-text);background:color-mix(in srgb, var(--color-success-text) 14%, transparent)}.app-datetime-input{width:100%;display:block;position:relative}.app-datetime-input-display{padding:var(--space-2) 2rem .45rem .5rem;pointer-events:none;font:inherit;color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.app-datetime-input-display--placeholder{color:var(--color-text-muted)}.app-datetime-input-native{color:#0000;caret-color:#0000;background:0 0;width:100%;position:relative}.app-datetime-input-native::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.app-datetime-input-native::-webkit-datetime-edit{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-fields-wrapper{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-text{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-month-field{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-day-field{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-year-field{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-hour-field{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-minute-field{opacity:0}.app-datetime-input-native::-webkit-datetime-edit-ampm-field{opacity:0}.app-datetime-input-native:disabled{opacity:1;cursor:not-allowed}.app-datetime-input:has(.app-datetime-input-native:disabled) .app-datetime-input-display{color:var(--color-text-muted)}.page-mortgage-intro{max-width:42rem;margin-top:0}.mortgage-sections{gap:1.25rem}.credit-list{gap:var(--space-1);flex-direction:column;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.credit-list-item{justify-content:space-between;align-items:center;gap:var(--space-1) .75rem;width:100%;padding:var(--space-2) .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface-muted);color:var(--color-text-primary);cursor:pointer;text-align:left;flex-wrap:wrap;display:flex}.credit-list-item:hover{background:var(--color-accent-soft);border-color:var(--color-info-border)}.credit-list-item--active{border-color:var(--color-accent-primary);background:color-mix(in srgb, var(--color-accent-primary) 8%, transparent)}.credit-list-item-name{font-weight:var(--font-weight-h2)}.credit-add-btn{margin-top:.25rem}.mortgage-settings-form{max-width:52rem}.mortgage-settings-grid{gap:var(--space-2);grid-template-columns:1fr;margin-bottom:.5rem;display:grid}@media (width>=48rem){.mortgage-settings-grid{grid-template-columns:1fr 1fr}}.mortgage-settings-model{margin-bottom:.5rem}.mortgage-prepay-warning{margin:0 0 .75rem}.mortgage-form{max-width:28rem}.mortgage-settings-form.mortgage-form{max-width:52rem}.mortgage-hint{font-size:var(--font-size-body-sm);margin:0 0 .75rem}.mortgage-import-panel h2{margin-right:auto}.mortgage-panel-actions{justify-content:flex-end;margin:-.25rem 0 .5rem;display:flex}.mortgage-panel-hide{color:var(--color-text-primary);border-color:var(--color-border);background:0 0}.mortgage-show-import{margin-bottom:.75rem}.mortgage-file-input .button-like{padding:var(--space-2) 1rem;border-radius:var(--radius-sm);background:var(--color-accent-primary);color:var(--color-accent-on-primary);cursor:pointer;font-size:var(--font-size-button);display:inline-block}.mortgage-stats-grid{gap:var(--space-3) 1.25rem;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));margin:0;display:grid}.mortgage-stats-grid dt{font-size:var(--font-size-caption);color:var(--color-text-primary);margin-bottom:.15rem}.page-mortgage .simple-table th{color:var(--color-text-primary);background:var(--color-bg-surface-muted)}.mortgage-stats-grid dd{font-weight:var(--font-weight-h2);font-variant-numeric:tabular-nums;margin:0}.mortgage-toolbar{gap:var(--space-4);flex-wrap:wrap;margin-bottom:.75rem;display:flex}.mortgage-forecast-tabs{gap:var(--space-2);flex-wrap:wrap;margin-bottom:.75rem;display:flex}.mortgage-tab{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);cursor:pointer;font-size:var(--font-size-body-sm);padding:.4rem .75rem}.mortgage-tab--active{border-color:var(--color-accent-primary);background:color-mix(in srgb, var(--color-accent-primary) 8%, transparent)}.mortgage-strategy-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) 1rem}.mortgage-radio{align-items:center;gap:var(--space-2);margin:var(--space-1) 0;display:flex}.mortgage-prepay-result{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1rem}.mortgage-subheading{margin:var(--space-4) 0 .5rem;font-size:var(--font-size-button)}.main:has(.page-mortgage){max-width:var(--app-content-max-width)}@media (prefers-color-scheme:dark){.mortgage-stats-grid dt{color:var(--color-text-primary)}.page-mortgage .simple-table th{color:var(--color-text-primary);background:var(--color-bg-surface-muted)}.mortgage-tab{background:var(--color-bg-sidebar);border-color:var(--color-border-strong);color:var(--color-text-on-sidebar)}.mortgage-strategy-fieldset{border-color:var(--color-border-strong)}.mortgage-prepay-result{border-top-color:color-mix(in srgb, var(--color-bg-surface) 12%, transparent)}}.app-datetime-input-native:focus{border-color:var(--color-focus-ring);outline:none}.top-bar-menu,.sidebar-backdrop{display:none}@media (width<=48rem){.app-shell--mobile .sidebar-backdrop{z-index:40;background:var(--color-overlay);cursor:pointer;border:none;padding:0;display:block;position:fixed;inset:0}.app-shell--mobile .sidebar.sidebar--mobile{z-index:45;width:min(var(--layout-sidebar-width-open), 86vw);max-width:86vw;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-shell--mobile .sidebar.sidebar--mobile.sidebar--open{transform:translate(0)}.app-shell--mobile .sidebar.sidebar--mobile.sidebar--closed{width:min(var(--layout-sidebar-width-open), 86vw)}.app-shell--mobile .sidebar.sidebar--mobile .sidebar-brand{display:block}.app-shell--mobile .sidebar.sidebar--mobile .sidebar-head{justify-content:space-between;padding-left:1rem;padding-right:1rem}.app-shell--mobile .app-body{width:100%;min-width:0}.app-shell--mobile .top-bar-menu{width:2.25rem;height:2.25rem;color:var(--color-text-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell--mobile .top-bar{padding:var(--space-2) .75rem;gap:var(--space-2)}.app-shell--mobile .top-bar-title{font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-shell--mobile .top-bar-spacer,.app-shell--mobile .nav-user{display:none}.app-shell--mobile .btn-logout{padding:var(--space-1) .55rem;font-size:var(--font-size-label);flex-shrink:0}.app-shell--mobile .main{padding:var(--space-3) .85rem 1.25rem;max-width:none}.page-planning-lists>.page-list-items+.page-list-items,.page-dashboard>.dashboard-avg-daily-card,.page-dashboard>.dashboard-panel-bubbles,.page-dashboard>.dashboard-panel-categories,.page-dashboard>.dashboard-panel-daily{margin-top:var(--space-4)}.dashboard-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-expenses-income .tx-list-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.page-expenses-income .tx-list-date,.page-expenses-income .tx-list-category,.page-expenses-income .col-account,.page-expenses-income .tx-list-amount,.page-expenses-income .col-actions{width:auto;min-width:0;max-width:none}.page-expenses-income .col-account,.page-expenses-income .col-comment{display:none}.page-expenses-income .table-actions{flex-wrap:wrap}.page-expenses-income .tx-list-table{table-layout:auto;min-width:18rem}.settings-row{gap:var(--space-3);flex-direction:column}.goal-card-meta{grid-template-columns:1fr}.page-accounts-col-toolbar{justify-content:stretch}.page-accounts-col-toolbar .button-like,.page-accounts-col-toolbar button{width:100%}.list-item-create-form,.list-item-create-form--shopping,.list-item-edit-form,.list-item-card{grid-template-columns:1fr}.list-item-create-form-description,.list-item-actions,.list-item-meta-row{grid-column:auto}.list-item-actions{grid-row:auto;justify-content:flex-end}.modal-overlay{padding:var(--space-3);align-items:flex-end}.modal-card{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-width:none;max-height:92dvh}.mortgage-toolbar{flex-direction:column;align-items:stretch}.mortgage-toolbar label{width:100%}.mortgage-forecast-tabs{gap:var(--space-1)}.mortgage-tab{text-align:center;padding:var(--space-2) .35rem;font-size:var(--font-size-label);flex:calc(50% - .35rem)}.home-balance-row{flex-direction:column;align-items:stretch}.home-balance-tile{width:100%;max-width:none}.ops-grid{grid-template-columns:1fr}.ai-chat-panel{min-height:calc(100dvh - 8rem)}.login-card{width:100%;max-width:none;margin:0}}@media (width<=26rem){.dashboard-tiles-grid{grid-template-columns:1fr}.dashboard-period-filter,.dashboard-filter-group,.dashboard-date-range,.dashboard-date-range label{flex-direction:column;align-items:stretch}.dashboard-period-btn{text-align:center;width:100%}}
