.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;border:.5px solid transparent;position:relative;overflow:hidden;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 .5px #ffffff1a}.badge--default{background:var(--surface-2);color:var(--text-secondary);border-color:#ffffff1a}.badge--success{background:var(--success-bg);color:var(--success);border-color:#4ade8047}.badge--danger{background:var(--danger-bg);color:var(--danger);border-color:#f8717147}.badge--warning{background:var(--warning-bg);color:var(--warning);border-color:#fbbf2447}.badge--info{background:var(--info-bg);color:var(--info);border-color:#60a5fa47}.badge--owner{background:#4ade8029;color:#86efac;border-color:#4ade805c}.badge--co_owner{background:#60a5fa29;color:#93c5fd;border-color:#60a5fa5c}.badge--member{background:#fbbf2429;color:var(--brand-amber-300);border-color:#fbbf245c}.badge--guest{background:#94a3b829;color:#cbd5e1;border-color:#94a3b852}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:500;font-family:var(--font-body);border:.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--duration-instant) var(--ease-smooth);white-space:nowrap;line-height:var(--leading-none);position:relative;overflow:hidden;user-select:none;-webkit-tap-highlight-color:transparent;backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:6px 14px;font-size:var(--text-sm);min-height:32px;border-radius:6px}.btn--md{padding:10px 22px;font-size:var(--text-base);min-height:40px}.btn--lg{padding:14px 32px;font-size:var(--text-md);min-height:48px;border-radius:var(--radius-md)}.btn--full{width:100%}.btn--primary{background:linear-gradient(180deg,rgba(74,222,128,.22),transparent 70%),#ffffff0f;color:#86efac;font-weight:600;border-color:color-mix(in oklab,#4ade80 40%,rgba(255,255,255,.1));box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003,0 4px 14px #4ade802e}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg,rgba(74,222,128,.3),transparent 70%),#ffffff14;color:#bbf7d0}.btn--secondary{background:linear-gradient(180deg,rgba(251,191,36,.2),transparent 70%),#ffffff0f;color:var(--brand-amber-300);border-color:color-mix(in oklab,var(--rim-amber-cool) 40%,rgba(255,255,255,.1));box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003,0 4px 14px #fbbf2426}.btn--secondary:hover:not(:disabled){background:linear-gradient(180deg,rgba(251,191,36,.28),transparent 70%),#ffffff14;color:#fde68a}.btn--ghost{background:#ffffff0d;color:var(--text-primary);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff12,0 1px 2px #00000026}.btn--ghost:hover:not(:disabled){background:#ffffff17;border-color:#ffffff29}.btn--danger{background:linear-gradient(180deg,rgba(248,113,113,.18),transparent 70%),#ffffff0d;color:#fca5a5;border-color:color-mix(in oklab,#f87171 40%,rgba(255,255,255,.1));box-shadow:inset 0 1px #ffffff14,0 1px 2px #0003,0 4px 12px #f8717126}.btn--danger:hover:not(:disabled){background:linear-gradient(180deg,rgba(248,113,113,.26),transparent 70%),#ffffff12;color:#fecaca}.btn--glass{background:linear-gradient(135deg,color-mix(in oklab,var(--rim-prism-warm) 18%,transparent) 0%,transparent 50%,color-mix(in oklab,var(--rim-prism-cool) 18%,transparent) 100%),linear-gradient(180deg,#ffffff24,#ffffff0a);color:var(--btn-glass-text);backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0000001a,0 1px 2px #0003,0 8px 24px #00000040}.btn-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.glass-card--showcase{background:linear-gradient(135deg,color-mix(in oklab,var(--rim-prism-warm) 18%,transparent) 0%,transparent 50%,color-mix(in oklab,var(--rim-prism-cool) 18%,transparent) 100%),linear-gradient(180deg,#ffffff1a,#ffffff0a);border-color:#ffffff2e;backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg)}.glass-card--income{background:linear-gradient(135deg,rgba(74,222,128,.18) 0%,transparent 60%),var(--glass);border-color:color-mix(in oklab,var(--brand-emerald-400) 30%,var(--border))}.glass-card--expense{background:linear-gradient(135deg,rgba(244,114,182,.18) 0%,transparent 60%),var(--glass);border-color:color-mix(in oklab,var(--rim-rose-cool) 30%,var(--border))}.datepicker-wrapper{position:relative}.datepicker-input{display:block;width:100%;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:14px;text-align:left;transition:all var(--transition-fast);outline:none;cursor:pointer;user-select:none}.datepicker-input:focus,.datepicker-input--active{background:var(--surface-3);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.datepicker-input--error{border-color:var(--danger)}.datepicker-input--placeholder{color:var(--text-dim)}.datepicker-dropdown--portal{position:absolute;z-index:9999}.datepicker-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;min-width:300px;background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-secondary);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:.5px solid var(--border-hover);border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff14,var(--shadow-xl);padding:16px;animation:datepicker-fade-in .15s ease}@keyframes datepicker-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.datepicker-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:16px;transition:all .15s}.datepicker-nav-btn:hover{background:var(--accent-muted);color:var(--accent)}.datepicker-title{display:flex;align-items:center;gap:4px}.datepicker-title-btn{border:none;background:transparent;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .15s}.datepicker-title-btn:hover{background:var(--accent-muted);color:var(--accent)}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.datepicker-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;padding:4px 0}.datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-day{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s;margin:0 auto}.datepicker-day:hover{background:var(--accent-muted);color:var(--text-primary)}.datepicker-day:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.datepicker-day--today{border:1px solid var(--accent);color:var(--accent)}.datepicker-day--selected{background:linear-gradient(180deg,rgba(74,222,128,.22),transparent 70%),#ffffff0f!important;color:#86efac!important;border:.5px solid color-mix(in oklab,#4ade80 40%,rgba(255,255,255,.1))!important;font-weight:700;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003,0 0 12px #4ade8033}.datepicker-day--outside{color:var(--text-dim);opacity:.4}.datepicker-day--outside:hover{opacity:.7}.datepicker-months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.datepicker-month-btn{padding:10px 8px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s}.datepicker-month-btn:hover{background:var(--accent-muted);color:var(--text-primary)}.datepicker-month-btn--selected{background:var(--accent)!important;color:var(--bg-primary)!important;font-weight:700}.datepicker-month-btn--current{border:1px solid var(--accent);color:var(--accent)}.datepicker-years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.datepicker-year-btn{padding:10px 8px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s}.datepicker-year-btn:hover{background:var(--accent-muted);color:var(--text-primary)}.datepicker-year-btn--selected{background:var(--accent)!important;color:var(--bg-primary)!important;font-weight:700}.datepicker-year-btn--current{border:1px solid var(--accent);color:var(--accent)}.datepicker-footer{display:flex;justify-content:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.datepicker-today-btn{border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:4px 12px;border-radius:var(--radius-sm);transition:all .15s}.datepicker-today-btn:hover{background:var(--accent-muted)}@media(max-width:768px){.datepicker-dropdown{position:fixed;inset:auto 0 0;min-width:unset;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 16px env(safe-area-inset-bottom,16px);animation:datepicker-slide-up .2s ease;background:#0f1e14cc}.datepicker-day{width:40px;height:40px;font-size:14px}.datepicker-nav-btn{width:44px;height:44px}}@keyframes datepicker-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.input-wrap{position:relative;border-radius:var(--radius-sm);--rim-warm: var(--rim-emerald-warm);--rim-cool: var(--rim-emerald-cool);--rim-duration: var(--rim-speed-input)}.input-wrap:focus-within:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;--rim-tint: color-mix(in oklab, var(--rim-warm), var(--rim-cool) calc(var(--rim-mix) * 100%));background:conic-gradient(from var(--rim-angle, 0deg),transparent 0deg,transparent 70deg,color-mix(in oklab,var(--rim-tint) 55%,transparent) 85deg,color-mix(in oklab,var(--rim-tint) 95%,white) 100deg,color-mix(in oklab,var(--rim-tint) 55%,transparent) 115deg,transparent 130deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rim-travel var(--rim-duration) linear infinite,rim-mix var(--rim-duration) ease-in-out infinite;z-index:2}.input{width:100%;box-sizing:border-box;padding:10px 14px;background:#ffffff0d;border:.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);outline:none;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:inset 0 1px #ffffff12,0 1px 2px #0000001a;transition:var(--transition-fast)}.input::placeholder{color:var(--text-dim)}.input:hover:not(:focus):not(:disabled){background:#ffffff14;border-color:#ffffff29}.input:focus{background:#ffffff1a;border-color:#4ade808c;box-shadow:inset 0 1px #ffffff1a,0 0 0 3px #4ade802e,0 0 16px #4ade8026}.input:disabled{opacity:.5;cursor:not-allowed;background:#ffffff08}.input--error{border-color:var(--danger)}.input--error:focus{border-color:var(--danger);box-shadow:inset 0 1px #ffffff1a,0 0 0 3px #f8717126}.input-wrap:has(.input--error):focus-within{--rim-warm: var(--rim-red-warm);--rim-cool: var(--rim-red-cool)}textarea.input{min-height:80px;resize:vertical}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23b6c4d3' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;background-color:#ffffff0d;cursor:pointer;color-scheme:dark}select.input option{background:var(--bg-secondary);color:var(--text-primary);padding:8px 12px}select.input option:checked{background:var(--accent-muted);color:var(--text-primary)}select.input:focus{background-color:#ffffff1a;border-color:#4ade808c;box-shadow:inset 0 1px #ffffff1a,0 0 0 3px #4ade802e,0 0 16px #4ade8026}.input-label{display:block;font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-wide);color:var(--text-secondary);margin-bottom:var(--space-1)}.form-label__required{color:var(--danger);margin-left:3px;font-weight:600}input[type=number].input,input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number].input::-webkit-outer-spin-button,input[type=number].input::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=date].input{color-scheme:dark}input[type=date].input::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(3) hue-rotate(100deg);cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-5);animation:overlay-in var(--duration-normal) var(--ease-smooth)}.modal{background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-secondary);border:.5px solid var(--border-hover);border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff14,var(--shadow-xl);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);width:100%;max-height:90vh;overflow-y:auto;animation:modal-enter var(--duration-normal) var(--ease-spring);outline:none}.modal--sm{max-width:400px}.modal--md{max-width:560px}.modal--lg{max-width:720px}.modal--xl{max-width:960px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:.5px solid var(--border)}.modal-title{font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--surface-2);color:var(--text-primary)}.modal-close:focus-visible{outline:none;box-shadow:var(--focus-ring-raised)}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:.5px solid var(--border)}@media(max-width:480px){.modal-overlay{padding:var(--space-3);align-items:flex-end}.modal{max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header{padding:var(--space-4) var(--space-4) var(--space-3)}.modal-body{padding:var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4)}}@media(max-resolution:1.99dppx){.modal{border-width:1px}.modal-header{border-bottom-width:1px}.modal-footer{border-top-width:1px}}.spinner-container{display:flex;align-items:center;justify-content:center}.spinner{animation:spin .8s linear infinite}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:min(400px,calc(100vw - 32px))}.toast{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-secondary);border-radius:var(--radius-sm);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:.5px solid var(--border);box-shadow:inset 0 1px #ffffff14,var(--shadow-lg);cursor:pointer;pointer-events:auto;animation:toast-slide-in var(--duration-normal) var(--ease-spring);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.toast-progress{position:absolute;bottom:0;left:0;height:2px;border-radius:0 0 0 var(--radius-sm);animation:toast-countdown var(--toast-duration, 3s) linear forwards}.toast--success{border-color:#4ade804d}.toast--success:before,.toast--success .toast-progress{background:var(--success)}.toast--success .toast-icon{color:var(--success)}.toast--danger{border-color:#f871714d}.toast--danger:before,.toast--danger .toast-progress{background:var(--danger)}.toast--danger .toast-icon{color:var(--danger)}.toast--warning{border-color:#fbbf244d}.toast--warning:before,.toast--warning .toast-progress{background:var(--warning)}.toast--warning .toast-icon{color:var(--warning)}.toast--info{border-color:#60a5fa4d}.toast--info:before,.toast--info .toast-progress{background:var(--info)}.toast--info .toast-icon{color:var(--info)}.toast-icon{font-size:18px;font-weight:700;flex-shrink:0;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.toast-message{flex:1}.toast-action{flex-shrink:0;padding:4px 10px;background:var(--surface-2);border:.5px solid var(--border-hover);border-radius:var(--radius-xs);color:var(--accent);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.toast-action:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.toast-action:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.toast--exit{animation:toast-slide-out var(--duration-fast) var(--ease-smooth) forwards}.toast-container .toast:nth-child(n+2){margin-top:0}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:768px){.toast-container{top:auto;bottom:calc(var(--bottom-nav-height, 60px) + 12px);right:var(--space-3);left:var(--space-3);max-width:none}.toast{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-bar-wrapper{width:100%}.progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.progress-bar-label{font-size:var(--text-xs);color:var(--text-muted)}.progress-bar-pct{font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.progress-bar{width:100%;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.progress-bar--sm{height:4px}.progress-bar--md{height:8px}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow);min-width:2px}.progress-bar-fill--accent{background:var(--accent)}.progress-bar-fill--success{background:var(--success)}.progress-bar-fill--danger{background:var(--danger)}.progress-bar-fill--warning{background:var(--warning)}.progress-bar-fill--income{background:var(--income)}.progress-bar-fill--expense{background:var(--expense)}.status-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:.5px solid transparent;font-size:12px;font-weight:500;font-family:inherit;line-height:1;white-space:nowrap;background:transparent;position:relative;overflow:hidden;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 .5px #ffffff1a;transition:background .18s var(--ease-standard),border-color .18s var(--ease-standard),transform .18s var(--ease-standard)}.status-badge__icon{display:inline-flex;align-items:center;flex-shrink:0}.status-badge__label{display:inline-flex;align-items:center}.status-badge__dismiss{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin-left:2px;border:none;border-radius:999px;background:#ffffff14;color:inherit;cursor:pointer;transition:background .16s var(--ease-standard)}.status-badge__dismiss:hover{background:#ffffff2e}.status-badge__dismiss:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.status-badge--interactive{cursor:pointer}.status-badge--interactive:hover{transform:translateY(-.5px)}.status-badge--interactive:active{transform:translateY(0)}.status-badge--interactive:focus-visible{outline:none;box-shadow:var(--focus-ring)}.status-badge--info{background:#60a5fa1a;border-color:#60a5fa40;color:var(--info)}.status-badge--info.status-badge--interactive:hover{background:#60a5fa2e;border-color:#60a5fa66}.status-badge--warning{background:#fbbf241a;border-color:#fbbf2440;color:var(--warning)}.status-badge--warning.status-badge--interactive:hover{background:#fbbf242e;border-color:#fbbf2466}.status-badge--danger{background:#f871711a;border-color:#f871714d;color:var(--danger)}.status-badge--danger.status-badge--interactive:hover{background:#f871712e;border-color:#f8717173}.status-badge--success{background:#4ade801a;border-color:#4ade8040;color:var(--success)}.status-badge--success.status-badge--interactive:hover{background:#4ade802e;border-color:#4ade8066}.status-badge--accent{background:var(--accent-soft);border-color:var(--accent-muted);color:var(--accent)}.status-badge--accent.status-badge--interactive:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}@media(max-width:768px){.status-badge--interactive{min-height:44px;height:auto;padding:6px 12px}.status-badge__dismiss{width:24px;height:24px}}.status-badge-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}@media(max-width:900px){.page-header-right{flex-wrap:wrap}.status-badge-group{width:100%;order:-1;margin-bottom:4px}}:root{--bg-primary: #0d121a;--bg-secondary: #131925;--bg-tertiary: #1a2030;--surface-1: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .07);--surface-3: rgba(255, 255, 255, .1);--surface-4: rgba(255, 255, 255, .14);--glass: rgba(255, 255, 255, .06);--glass-strong: rgba(255, 255, 255, .1);--glass-blur-sm: blur(12px) saturate(1.2);--glass-blur-md: blur(28px) saturate(1.5);--glass-blur-lg: blur(32px) saturate(1.9);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .07);--glass-border: .5px solid rgba(255, 255, 255, .1);--rim-warm: #f472b6;--rim-cool: #60a5fa;--rim-duration: 15s;--rim-emerald-warm: var(--brand-mint-300);--rim-emerald-cool: var(--brand-emerald-400);--rim-amber-warm: var(--brand-amber-300);--rim-amber-cool: #fbbf24;--rim-rose-warm: var(--brand-rose-300);--rim-rose-cool: #f472b6;--rim-red-warm: #fca5a5;--rim-red-cool: #f87171;--rim-blue-warm: #bfdbfe;--rim-blue-cool: #60a5fa;--rim-violet-warm: #ddd6fe;--rim-violet-cool: #a78bfa;--rim-neutral-warm: #f5f7fb;--rim-neutral-cool: #b6c4d3;--rim-prism-warm: #f472b6;--rim-prism-cool: #60a5fa;--rim-speed-input: 6s;--rim-speed-button: 12s;--rim-speed-badge: 15s;--btn-glass-text: #ffffff;--gradient-hero: linear-gradient(135deg, rgba(74, 222, 128, .1) 0%, rgba(96, 165, 250, .05) 50%, transparent 100%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .025) 0%, transparent 100%);--gradient-sidebar: var(--bg-secondary);--brand-forest-950: #0d1f17;--brand-forest-800: #14532d;--brand-emerald-500: #22c55e;--brand-emerald-400: #4ade80;--brand-mint-300: #86efac;--brand-mint-100: #dcfce7;--brand-teal-300: #5eead4;--brand-sky-300: #7dd3fc;--brand-lilac-300: #c4b5fd;--brand-amber-300: #fcd34d;--brand-rose-300: #fda4af;--brand-stone-400: #a8a29e;--accent: var(--brand-emerald-400);--accent-hover: var(--brand-emerald-500);--accent-soft: rgba(74, 222, 128, .1);--accent-muted: rgba(74, 222, 128, .18);--accent-glow: rgba(74, 222, 128, .35);--theme-emerald: var(--brand-emerald-400);--theme-blue: #60a5fa;--theme-violet: #a78bfa;--theme-amber: #fbbf24;--theme-rose: var(--brand-rose-300);--text-primary: #f5f7fb;--text-secondary: #b6c4d3;--text-muted: rgba(245, 247, 251, .7);--text-dim: rgba(245, 247, 251, .55);--text-disabled: rgba(245, 247, 251, .3);--success: var(--brand-emerald-400);--success-bg: rgba(74, 222, 128, .12);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .12);--income: var(--brand-emerald-400);--income-bg: rgba(74, 222, 128, .12);--expense: #f87171;--expense-bg: rgba(248, 113, 113, .12);--gold: #f59e0b;--gold-bg: rgba(245, 158, 11, .12);--cat-1: var(--brand-emerald-400);--cat-2: #60a5fa;--cat-3: #a78bfa;--cat-4: var(--brand-rose-300);--cat-5: var(--brand-amber-300);--cat-6: #f87171;--cat-7: var(--brand-teal-300);--cat-8: #818cf8;--cat-9: #fb7185;--cat-10: var(--brand-sky-300);--cat-11: var(--brand-lilac-300);--cat-12: #a3e635;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .14);--border-accent: rgba(74, 222, 128, .3);--hairline: rgba(255, 255, 255, .06);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3), 0 4px 8px rgba(0, 0, 0, .15);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .4), 0 8px 16px rgba(0, 0, 0, .2);--shadow-card: 0 1px 3px rgba(0, 0, 0, .12), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-glass: var(--glass-highlight), 0 1px 2px rgba(0, 0, 0, .15), 0 8px 32px rgba(0, 0, 0, .12);--shadow-glow: 0 0 24px rgba(74, 222, 128, .15), 0 0 8px rgba(74, 222, 128, .08);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-12: 80px;--space-16: 128px;--ease-standard: cubic-bezier(.32, .72, 0, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-decelerated: cubic-bezier(0, 0, .58, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--transition-fast: var(--duration-fast) var(--ease-smooth);--transition-normal: var(--duration-normal) var(--ease-standard);--transition-slow: var(--duration-slow) var(--ease-standard);--transition-spring: var(--duration-normal) var(--ease-spring);--ring-width: 3px;--ring-offset: 2px;--ring-color: color-mix(in srgb, var(--accent) 45%, transparent);--focus-ring: 0 0 0 var(--ring-offset) var(--bg-primary), 0 0 0 calc(var(--ring-offset) + var(--ring-width)) var(--ring-color);--focus-ring-raised: 0 0 0 var(--ring-offset) var(--bg-tertiary), 0 0 0 calc(var(--ring-offset) + var(--ring-width)) var(--ring-color);--focus-ring-inset: inset 0 0 0 var(--ring-width) var(--ring-color);--sidebar-width: 240px;--sidebar-collapsed: 0px;--bottom-nav-height: 0px;--font-sf: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", system-ui, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-display: var(--font-sf);--font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Fira Code", monospace;--text-xs: clamp(10px, .625rem + .1vw, 11px);--text-sm: clamp(11px, .6875rem + .1vw, 12px);--text-base: clamp(13px, .8125rem + .1vw, 14px);--text-md: clamp(14px, .875rem + .1vw, 15px);--text-lg: clamp(16px, 1rem + .15vw, 18px);--text-xl: clamp(20px, 1.25rem + .2vw, 24px);--text-2xl: clamp(28px, 1.75rem + .3vw, 34px);--text-3xl: clamp(36px, 2.25rem + .4vw, 44px);--text-4xl: clamp(48px, 3rem + .5vw, 60px);--text-5xl: clamp(60px, 3.75rem + .6vw, 76px);--tracking-tight: -.02em;--tracking-tighter: -.03em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .06em;--tracking-widest: .1em;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--z-base: 1;--z-dropdown: 50;--z-sticky: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400;--bp-xs: 375px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}@property --rim-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --rim-mix{syntax: "<number>"; inherits: false; initial-value: 0;}@keyframes rim-travel{0%{--rim-angle: 0deg}to{--rim-angle: 360deg}}@keyframes rim-mix{0%,to{--rim-mix: 0}50%{--rim-mix: 1}}.glass{background:var(--glass);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-glass)}.glass-strong{background:var(--glass-strong);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:.5px solid rgba(255,255,255,.14);border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff12,0 2px 8px #0003,0 12px 48px #00000029}.has-rim{position:relative;overflow:hidden}.has-rim:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;--rim-tint: color-mix(in oklab, var(--rim-warm), var(--rim-cool) calc(var(--rim-mix) * 100%));background:conic-gradient(from var(--rim-angle, 0deg),transparent 0deg,transparent 75deg,color-mix(in oklab,var(--rim-tint) 50%,transparent) 90deg,color-mix(in oklab,var(--rim-tint) 90%,white) 100deg,color-mix(in oklab,var(--rim-tint) 50%,transparent) 110deg,transparent 125deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rim-travel var(--rim-duration, 12s) linear infinite,rim-mix var(--rim-duration, 12s) ease-in-out infinite;z-index:0}.has-rim>*{position:relative;z-index:1}.rim--emerald{--rim-warm: var(--rim-emerald-warm);--rim-cool: var(--rim-emerald-cool)}.rim--amber{--rim-warm: var(--rim-amber-warm);--rim-cool: var(--rim-amber-cool)}.rim--rose{--rim-warm: var(--rim-rose-warm);--rim-cool: var(--rim-rose-cool)}.rim--red{--rim-warm: var(--rim-red-warm);--rim-cool: var(--rim-red-cool)}.rim--blue{--rim-warm: var(--rim-blue-warm);--rim-cool: var(--rim-blue-cool)}.rim--violet{--rim-warm: var(--rim-violet-warm);--rim-cool: var(--rim-violet-cool)}.rim--neutral{--rim-warm: var(--rim-neutral-warm);--rim-cool: var(--rim-neutral-cool)}.rim--prism{--rim-warm: var(--rim-prism-warm);--rim-cool: var(--rim-prism-cool)}.rim--fast{--rim-duration: var(--rim-speed-input)}.rim--medium{--rim-duration: var(--rim-speed-button)}.rim--slow{--rim-duration: var(--rim-speed-badge)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(13px,.8125rem + .15vw,15px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100dvh;overflow-x:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}*:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:inherit}@media(prefers-reduced-motion:reduce){.has-rim:before{animation:none!important;background:linear-gradient(180deg,color-mix(in oklab,var(--rim-warm, #ffffff) 40%,transparent),color-mix(in oklab,var(--rim-cool, #ffffff) 25%,transparent))!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root[data-rim=off] .has-rim:before{animation:none!important;background:linear-gradient(180deg,color-mix(in oklab,var(--rim-warm, #ffffff) 40%,transparent),color-mix(in oklab,var(--rim-cool, #ffffff) 25%,transparent))!important}@media(prefers-contrast:more){.text-success{text-decoration:underline}.text-danger{font-style:italic}}@media(forced-colors:active){:focus-visible{outline:2px solid CanvasText;outline-offset:2px}button,[role=button],input[type=checkbox],input[type=radio]{forced-color-adjust:none;border:1px solid ButtonText}svg{forced-color-adjust:auto}.skip-link{forced-color-adjust:none;background:Canvas;color:CanvasText;border:2px solid CanvasText}}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}input,select,textarea,button{font-family:var(--font-body)}::selection{background:var(--accent-muted);color:var(--text-primary)}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-subtle{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px var(--accent-muted)}}@keyframes number-in{0%{opacity:0;transform:translateY(-8px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes page-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes toolbar-enter{0%{opacity:0;transform:scale(.9) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-enter{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-countdown{0%{width:100%}to{width:0%}}.glass-card{background:var(--surface-1);background-image:var(--gradient-card);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:background var(--transition-fast),box-shadow var(--transition-normal),border-color var(--transition-fast),transform var(--duration-slow) var(--ease-emphasized)}.glass-card:hover{background:var(--surface-2);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.glass-card--no-hover:hover{background:var(--surface-1);border-color:var(--border);box-shadow:var(--shadow-card)}.glass-card--elevated{background:var(--surface-2);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.glass-card--liquid{position:relative;background:#ffffff0d;backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0000001f,0 4px 24px #0000004d;overflow:hidden;transition:transform .4s cubic-bezier(.175,.885,.32,2.2),box-shadow .3s ease,background .3s ease}.glass-card--liquid:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(74,222,128,.06) 0%,transparent 40%,rgba(74,222,128,.03) 100%);border-radius:inherit;pointer-events:none}.glass-card--liquid:hover{transform:translateY(-2px);background:#ffffff12;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000014,0 8px 32px #00000059,0 0 24px #4ade800f}.glass-card--liquid.glass-card--no-hover:hover{transform:none;background:#ffffff0d;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0000001f,0 4px 24px #0000004d}.app-layout{display:flex;min-height:100vh;position:relative;isolation:isolate}.app-layout:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(1200px 600px at 80% -10%,rgba(74,222,128,.06),transparent 60%),radial-gradient(1000px 400px at -10% 110%,rgba(96,165,250,.04),transparent 60%)}.app-sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--gradient-sidebar);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border-right:.5px solid var(--border);display:flex;flex-direction:column;transition:width var(--duration-slow) var(--ease-emphasized);position:fixed;top:0;left:0;z-index:var(--z-sticky);overflow:hidden}.app-sidebar.collapsed{width:64px}.sidebar-header{padding:var(--space-4) var(--space-3);border-bottom:.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:64px}.sidebar-brand{display:flex;align-items:center;gap:12px;overflow:hidden}.sidebar-brand--button{background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%}.sidebar-brand-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.sidebar-brand-icon img{width:100%;height:100%;object-fit:contain;display:block}.sidebar-brand-text{overflow:hidden}.sidebar-brand h2{font-size:18px;font-weight:700;color:var(--accent);white-space:nowrap}.sidebar-brand p{font-size:11px;color:var(--text-muted);white-space:nowrap}.collapsed .sidebar-brand-text{display:none}.sidebar-collapse-btn{width:28px;height:28px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--surface-2);color:var(--accent)}.sidebar-collapse-btn:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.collapsed .sidebar-collapse-btn{margin:0 auto}@media(max-width:768px){.sidebar-collapse-btn{min-width:44px;min-height:44px}}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:2px}.collapsed .sidebar-nav{padding:16px 8px;align-items:center}.sidebar-section-title{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding:8px 12px 4px;min-height:20px}.sidebar-link{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-base);font-weight:500;transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;white-space:nowrap}.sidebar-link:hover{background:var(--surface-2);color:var(--text-primary)}.sidebar-link:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.sidebar-link.active{background:linear-gradient(180deg,rgba(74,222,128,.12),transparent 70%),var(--accent-soft);color:#86efac;border:.5px solid color-mix(in oklab,#4ade80 25%,var(--border))}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-link-text{transition:opacity var(--transition-fast)}.sidebar-notif-badge{background:var(--warning);color:#000;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;margin-left:auto}.collapsed .sidebar-notif-badge{position:absolute;top:4px;right:4px;min-width:14px;height:14px;font-size:8px;padding:0 3px}.collapsed .sidebar-link{justify-content:center;padding:10px;width:44px}.collapsed .sidebar-link-text{display:none}.sidebar-footer{margin-top:auto;padding:var(--space-3);border-top:.5px solid var(--border)}.sidebar-family-avatars{display:flex;padding:var(--space-1) var(--space-3) var(--space-2);align-items:center}.sidebar-family-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--cat-1),var(--cat-2));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#0a1a10;border:2px solid var(--bg-secondary);flex-shrink:0;box-shadow:inset 0 .5px #ffffff4d}.sidebar-family-avatar--active{border-color:var(--accent)}.sidebar-family-count{font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-2)}.sidebar-user-row{display:flex;align-items:stretch;gap:4px}.sidebar-user-row>.sidebar-user{flex:1;min-width:0}.sidebar-user-settings-btn{display:flex;align-items:center;justify-content:center;width:36px;flex-shrink:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sidebar-user-settings-btn:hover{background:var(--surface-2);border-color:var(--border-hover);color:var(--text-primary)}.sidebar-user-settings-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:var(--space-2) var(--space-3);white-space:nowrap;overflow:hidden}button.sidebar-user{background:transparent;color:inherit;font:inherit;text-align:left;width:100%}.sidebar-user--clickable{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar-user--clickable:hover{background:var(--surface-2);border-color:var(--border-hover)}.sidebar-logout-btn{margin-top:var(--space-1)}.collapsed .sidebar-user{justify-content:center;padding:8px}.sidebar-user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--cat-1),var(--cat-2));border:.5px solid rgba(255,255,255,.2);box-shadow:inset 0 .5px #ffffff4d;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#0a1a10;flex-shrink:0}.sidebar-user-info{overflow:hidden}.collapsed .sidebar-user-info{display:none}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text-primary)}.sidebar-user-role{font-size:11px;color:var(--text-muted)}.app-main{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);min-height:100vh;max-width:calc(100vw - var(--sidebar-width));overflow-x:hidden}.app-main.expanded{margin-left:64px;max-width:calc(100vw - 64px)}.page-transition{animation:page-enter var(--duration-normal) var(--ease-emphasized)}.page-container{padding:var(--space-6) var(--space-7);max-width:1400px;padding-bottom:var(--space-10)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-top:8px}.page-header-left h1{font-size:24px;font-weight:700}.page-header-left p{font-size:13px;color:var(--text-muted);margin-top:2px}.page-header-right{display:flex;align-items:center;gap:12px}.dashboard-date{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.section-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:16px;margin-top:8px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.summary-cards--compact{grid-template-columns:1fr 1fr}.summary-cards--three{grid-template-columns:1fr 1fr 1fr}.summary-cards--two{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.summary-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;display:flex;align-items:center}.summary-card-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.summary-card-value--sm{font-size:20px}.summary-card-icon{vertical-align:middle;margin-right:var(--space-1)}.summary-card-icon--success{color:var(--success)}.summary-card-icon--danger{color:var(--danger)}.summary-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.summary-card-plan{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.summary-card-badge-row{display:flex;align-items:center;gap:8px;margin-top:4px}.summary-card-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.summary-card-badge--positive{color:var(--success);background:#4ade801a}.summary-card-badge--negative{color:var(--danger);background:#f871711a}.alert-card{padding:var(--space-3) var(--space-4);border-left:3px solid var(--warning);background:var(--warning-bg)}.alert-card--danger{border-left-color:var(--danger);background:var(--danger-bg)}.conversion-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--info-bg);border:1px solid rgba(96,165,250,.2);border-radius:var(--radius-sm);font-size:var(--text-sm)}.conversion-preview-arrow{color:var(--text-muted)}.conversion-preview-result{font-weight:600;color:var(--accent)}.conversion-preview-rate{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted)}.health-score-wrapper{display:flex;justify-content:center;margin:var(--space-2) 0}.doughnut-wrapper{max-width:280px;margin:0 auto}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.chart-card-title{font-size:16px;font-weight:600;margin-bottom:4px}.chart-card-subtitle{font-size:12px;color:var(--text-muted);margin-bottom:16px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.data-table tr:hover td{background:#ffffff05}.tx-row-interactive{cursor:pointer;transition:background var(--transition-fast)}.tx-row-interactive:hover td{background:var(--surface-2)}.filter-badge{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:var(--space-1)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .col-shrink{width:1%;white-space:nowrap}.data-table .positive{color:var(--success)}.data-table .negative{color:var(--danger)}.budget-table td,.budget-table th{padding:6px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}.budget-table th{padding:8px 10px;border-bottom:1px solid var(--border);text-align:center}.budget-table thead{position:sticky;top:0;z-index:10;background:var(--bg-secondary)}.budget-table td:last-child,.budget-table th:last-child{border-right:none}.budget-table td.num,.budget-table th.num{font-variant-numeric:tabular-nums}.budget-table tr:hover td{background:#ffffff08}.tabs{display:flex;gap:8px;padding:0;background:none;border-radius:var(--radius-md);border:none;margin-bottom:24px;overflow-x:auto}.tab{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);box-shadow:inset 0 1px #ffffff0d;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.tab:hover{color:var(--text-secondary);background:#ffffff14;border-color:#ffffff26}.tab.active{color:var(--accent);background:#4ade801a;border-color:#4ade8040;font-weight:600;box-shadow:inset 0 1px #4ade8014,0 2px 8px #00000026}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.form-error{font-size:12px;color:var(--danger)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state-text{font-size:14px}.bottom-nav,.sidebar-overlay{display:none}.form-narrow{max-width:400px}.btn-personalization{border-color:#a855f766;color:var(--text-secondary);background:#a855f714}.form-message{padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--text-base)}.form-message--danger{color:var(--danger);background:var(--danger-bg)}.form-message--success{color:var(--success);background:var(--success-bg)}.form-section-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:12px}.color-picker-grid{display:flex;gap:10px;flex-wrap:wrap}.color-swatch{width:44px;height:44px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.color-swatch--active{border-color:#fff}.screen-options{display:flex;gap:10px}.screen-option{padding:8px 20px;border-radius:var(--radius-sm);border:2px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;transition:var(--transition-fast)}.screen-option--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn-circle-info{background:none;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:14px;margin-top:-2px;transition:border-color .2s,color .2s}.btn-circle-info:hover{border-color:#ffffff4d;color:var(--text-primary)}.btn-role-toggle{border-color:#60a5fa66;color:var(--info);background:#60a5fa14}.btn-role-toggle--active{color:#fff;background:#60a5fa40}.input--compact{width:auto;padding:4px 28px 4px 8px;font-size:12px;font-weight:600}.btn-remove-member{background:none;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:4px 10px;color:#ef4444;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}.btn-remove-member:hover{background:#ef44441a;border-color:#ef444480}@media(max-width:1279px){.page-container{padding:24px}}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-cards--compact{grid-template-columns:1fr 1fr}.summary-cards--three{grid-template-columns:1fr 1fr 1fr}}@media(max-width:768px){:root{--bottom-nav-height: 60px}.app-sidebar{width:280px;transform:translate(-100%);z-index:300;transition:transform var(--transition-normal)}.app-sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:299}.sidebar-overlay.visible{display:block;animation:fadeIn .15s ease}.app-main{margin-left:0;max-width:100vw;padding-bottom:var(--bottom-nav-height)}.app-main.expanded{margin-left:0;max-width:100vw}.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header-left h1{font-size:20px}.summary-cards,.summary-cards--compact,.summary-cards--three,.summary-cards--two{grid-template-columns:1fr}.recurring-card{flex-direction:column;align-items:flex-start;gap:12px}.recurring-card-right{width:100%;justify-content:space-between}.dashboard-hero-value{font-size:28px}.dashboard-hero{padding:24px 16px 20px}.budget-grid--with-sidebar{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-secondary);border-top:var(--glass-border);z-index:200;justify-content:space-around;align-items:center;padding:4px 0 env(safe-area-inset-bottom,0);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border:none;background:none;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:color var(--transition-fast);min-width:64px;min-height:44px;justify-content:center;border-radius:var(--radius-sm);text-decoration:none}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item svg{width:22px;height:22px}.clock-widget,.clock-inline{display:none}.grid-2col{grid-template-columns:1fr}.table-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.modal--sm{max-width:min(95vw,400px)}.modal--md{max-width:min(95vw,560px)}.modal--lg{max-width:min(95vw,720px)}.modal--xl{max-width:min(95vw,960px)}.modal-overlay{padding:12px;align-items:flex-end}.modal{max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-body{padding:16px}.modal-header{padding:16px 16px 12px}}@media(max-width:480px){.page-container{padding:12px}.page-header-left h1{font-size:18px}.page-header-right{width:100%;flex-wrap:wrap}.summary-card-value{font-size:22px}.summary-card-value--sm{font-size:18px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.filter-grid{grid-template-columns:1fr}.month-display{min-width:120px;font-size:14px;padding:6px 10px}.nav-btn{width:44px;height:44px}.glass-card{padding:16px}}@media(max-width:375px){.page-container{padding:10px}.summary-card-value{font-size:20px}.glass-card{padding:12px;border-radius:var(--radius-md)}.bottom-nav-item{min-width:52px;padding:6px 8px}}@media(orientation:landscape)and (max-height:500px){.bottom-nav{height:48px;padding:2px 0}.bottom-nav-item{flex-direction:row;gap:6px;font-size:11px}.bottom-nav-item svg{width:18px;height:18px}:root{--bottom-nav-height: 48px}}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip{position:absolute;z-index:9999;pointer-events:none;background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-secondary);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border:.5px solid var(--border-hover);border-radius:var(--radius-sm);padding:6px 12px;font-size:var(--text-sm);color:var(--text-primary);max-width:250px;white-space:normal;line-height:var(--leading-snug);box-shadow:inset 0 .5px #ffffff12,var(--shadow-md);animation:tooltip-in .15s ease}.tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.fab{position:fixed;bottom:calc(var(--bottom-nav-height) + 16px);right:16px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--bg-primary);font-size:24px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 16px #4ade804d;z-index:199;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.fab.has-rim{position:fixed}.fab:active{transform:scale(.95)}.fab--secondary{bottom:calc(var(--bottom-nav-height) + 16px + 56px + 12px);width:48px;height:48px;background:var(--glass-strong, rgba(40, 40, 48, .92));color:var(--accent);box-shadow:0 2px 8px #0000004d,inset 0 0 0 .5px #4ade8066}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dropdown-wrapper{position:relative;display:inline-flex}.dropdown-trigger{display:inline-flex;align-items:center;gap:inherit;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer}.dropdown-trigger:not(.btn){padding:0;margin:0}.dropdown-trigger:focus{outline:none}.dropdown-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:6px}.dropdown-menu{position:absolute;top:calc(100% + 4px);z-index:1000;min-width:200px;background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-secondary);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:.5px solid var(--border-hover);border-radius:var(--radius-md);padding:4px;box-shadow:inset 0 1px #ffffff14,var(--shadow-lg);animation:tooltip-in .12s ease}.dropdown-menu--right{right:0}.dropdown-menu--left{left:0}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:none;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);text-align:left;font-family:var(--font-body)}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.dropdown-item--danger{color:var(--danger)}@media(max-width:768px){.dropdown-item{min-height:44px;padding:12px}}.dropdown-item--danger:hover{background:var(--danger-bg)}.dropdown-item-icon{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.dropdown-item--danger .dropdown-item-icon{color:var(--danger)}.dropdown-divider{height:1px;background:var(--hairline);margin:4px 8px}.switch-wrapper{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch-wrapper--disabled{opacity:.5;cursor:not-allowed}.switch-track{position:relative;border:.5px solid var(--border);border-radius:var(--radius-full);background:var(--surface-3);cursor:pointer;padding:0;transition:background var(--transition-normal),border-color var(--transition-normal)}.switch-track:focus-visible{outline:none;box-shadow:var(--focus-ring)}.switch-track--md{width:44px;height:24px}.switch-track--sm{width:36px;height:20px}.switch-track--on{background:var(--accent);border-color:var(--accent)}.switch-thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s ease}.switch-track--md .switch-thumb{width:20px;height:20px}.switch-track--sm .switch-thumb{width:16px;height:16px}.switch-track--on .switch-thumb{transform:translateY(-50%) translate(20px)}.switch-track--sm.switch-track--on .switch-thumb{transform:translateY(-50%) translate(16px)}.switch-label{font-size:13px;color:var(--text-secondary);user-select:none}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:.5px solid transparent;font-size:13px;line-height:1.4;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:inset 0 .5px #ffffff12}.alert--info{background:var(--info-bg);border-color:#60a5fa4d;color:var(--text-primary)}.alert--warning{background:var(--warning-bg);border-color:#fbbf244d;color:var(--text-primary)}.alert--danger{background:var(--danger-bg);border-color:#f871714d;color:var(--text-primary)}.alert--success{background:var(--success-bg);border-color:#4ade804d;color:var(--text-primary)}.alert-icon{flex-shrink:0;display:flex;align-items:center;margin-top:1px}.alert--info .alert-icon{color:var(--info)}.alert--warning .alert-icon{color:var(--warning)}.alert--danger .alert-icon{color:var(--danger)}.alert--success .alert-icon{color:var(--success)}.alert-content{flex:1}.alert-dismiss{flex-shrink:0;display:flex;align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;margin-left:auto;border-radius:var(--radius-xs);transition:color var(--transition-fast),background var(--transition-fast)}.alert-dismiss:hover{color:var(--text-primary);background:var(--surface-2)}.alert-dismiss:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.empty-state{text-align:center;padding:var(--space-9) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty-state-icon{color:var(--text-muted)}.empty-state__action{margin-top:var(--space-2)}.budget-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:64px 32px;margin-top:24px;border-radius:var(--radius-lg, 16px)}.budget-empty-state__icon{font-size:56px;opacity:.7;line-height:1;margin-bottom:4px}.budget-empty-state__title{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.budget-empty-state__text{margin:0;font-size:14px;color:var(--text-secondary);max-width:440px;line-height:1.5}.budget-empty-state__hint{margin:0;font-size:13px;color:var(--text-muted)}.budget-empty-state__actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-primary)}.empty-state-description{font-size:var(--text-base);color:var(--text-muted);max-width:320px;line-height:var(--leading-normal)}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background:var(--glass);color:var(--text-primary)}.tx-tags-inline{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.tx-tag-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:500;background:var(--glass);border:1px solid rgba(255,255,255,.08);color:var(--text-muted);white-space:nowrap}.getting-started-card{padding:20px;margin-bottom:16px}.getting-started-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.checklist-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);width:100%;background:transparent;border:none;font-family:inherit;text-align:left}.checklist-item:hover{background:var(--glass)}.checklist-item--done{color:var(--text-muted);text-decoration:line-through}.checklist-item-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}.checklist-item--done .checklist-item-icon{background:var(--success);border-color:var(--success);color:#fff}.accessible-chart{margin:0;display:block;min-width:0;width:100%;height:100%}.widget-clickable-body{width:100%;background:transparent;border:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.budget-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}@media(max-width:1024px){.budget-summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.budget-summary-cards{grid-template-columns:1fr}}.budget-summary-card{padding:16px 18px;position:relative;overflow:hidden}button.budget-summary-card,.budget-summary-card--clickable{background:inherit;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);width:100%}button.budget-summary-card:hover,.budget-summary-card--clickable:hover{background:color-mix(in srgb,var(--danger) 4%,var(--bg-secondary));transform:translateY(-1px)}button.budget-summary-card .summary-card-arrow,.budget-summary-card--clickable .summary-card-arrow{opacity:0;transition:opacity var(--transition-fast)}button.budget-summary-card:hover .summary-card-arrow,.budget-summary-card--clickable:hover .summary-card-arrow{opacity:1}.budget-summary-card__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.budget-summary-card__value{font-size:22px;font-weight:700;margin-bottom:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--text-primary)}.budget-summary-card__value--positive{color:var(--success)}.budget-summary-card__value--negative{color:var(--danger)}.budget-summary-card__delta{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.summary-card-cta{background:none;border:none;padding:2px 6px;margin:-2px -6px;border-radius:4px;color:var(--accent);font:inherit;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.summary-card-cta:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-hover, var(--accent))}.budget-section{overflow:hidden;margin-bottom:16px}.budget-section__header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#ffffff05;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.budget-section__title{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.budget-section--income .budget-section__title{color:var(--success)}.budget-section--expense .budget-section__title{color:var(--danger)}.budget-section--check .budget-section__title{color:var(--info)}.budget-section__icon{font-size:10px;opacity:.9}.budget-section__totals{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}.budget-section__total{display:inline-flex;align-items:baseline;gap:6px}.budget-section__total-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.budget-section__total-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.budget-section--income .budget-section__total-value--fact{color:var(--success)}.budget-section--expense .budget-section__total-value--fact{color:var(--danger)}.budget-section--check .budget-section__total-value--fact{color:var(--info)}.budget-section__body{padding:6px}.category-card{border-radius:var(--radius-sm, 10px);background:#ffffff04;margin-bottom:6px;overflow:hidden;transition:background .18s var(--ease-standard, ease),box-shadow .18s var(--ease-standard, ease)}.category-card:hover{background:#ffffff09}.category-card--overspent{background:#f871710f;border-left:3px solid var(--danger)}.category-card--overspent:hover{background:#f8717114}.category-card--expanded{background:#ffffff06}.category-row{display:grid;grid-template-columns:20px minmax(120px,1fr) auto 12px minmax(120px,160px) minmax(110px,auto);align-items:center;gap:12px;padding:12px 14px;cursor:pointer;user-select:none;width:100%;text-align:left;background:transparent;border:none;color:inherit;font:inherit}.category-row:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.category-row__chevron{color:var(--text-dim);display:inline-flex;align-items:center;transition:transform .15s var(--ease-standard, ease)}.category-row__chevron--open{transform:rotate(90deg)}.category-row__name{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-card--overspent .category-row__name{color:var(--danger)}.category-row__members{display:flex;align-items:center}.category-row__progress{width:100%}.category-row__amounts{text-align:right;font-size:13px;min-width:100px;font-variant-numeric:tabular-nums}.category-card__fact{font-weight:600;font-size:14px;color:var(--text-primary)}.category-card__fact--positive{color:var(--success)}.category-card__fact--over{color:var(--danger)}.category-card__fact--zero{color:var(--text-dim);font-weight:500}.category-card__plan{font-size:11px;color:var(--text-dim);margin-top:2px}.member-avatar-stack{display:inline-flex;align-items:center;min-height:22px}.member-avatar-stack--empty{min-width:22px}.member-avatar-stack .member-avatar{margin-left:-6px;box-sizing:border-box}.member-avatar-stack .member-avatar:first-child{margin-left:0}.member-avatar--more{width:22px;height:22px;border-radius:50%;background:#ffffff1a;border:2px solid var(--bg-primary, #0b1014);color:var(--text-primary);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-left:-6px;flex-shrink:0}.category-items{padding:4px 14px 10px 48px;border-top:1px solid var(--border);animation:category-items-fade .22s var(--ease-standard, ease)}@keyframes category-items-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.category-item{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) minmax(60px,100px) minmax(110px,auto);gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.03);transition:background .14s ease}.category-item:hover{background:#ffffff05}.category-item--clickable{cursor:pointer}.category-item--clickable:hover{background:#ffffff0a}.category-item--clickable:focus-visible{outline:none;box-shadow:var(--focus-ring-inset);border-radius:6px}.category-item__actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;padding:4px;background:var(--surface-4, rgba(20, 20, 24, .92));border:1px solid var(--border-hover, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 6px 16px rgba(0, 0, 0, .4));opacity:0;pointer-events:none;transition:opacity .14s ease;z-index:2}.category-item:hover .category-item__actions,.category-item__actions:focus-within{opacity:1;pointer-events:auto}.category-item__action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast, .14s ease),color var(--transition-fast, .14s ease)}.category-item__action-btn:hover{background:var(--surface-3, rgba(255, 255, 255, .06));color:var(--text-primary)}.category-item__action-btn--danger:hover{background:var(--danger-bg, rgba(248, 113, 113, .12));color:var(--danger)}.category-item:last-child{border-bottom:none}.category-item--add{cursor:text;color:var(--text-dim);grid-template-columns:1fr}.category-item--add:hover{background:none}.category-item__add-label{display:flex;align-items:center;gap:8px;color:var(--text-dim);cursor:text}.category-item__add-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font:inherit;font-size:13px;padding:4px 2px;border-bottom:1px dashed transparent;transition:border-color var(--transition-fast)}.category-item__add-input::placeholder{color:var(--text-dim)}.category-item__add-input:focus-visible{border-bottom-color:var(--accent)}.category-item__info{display:flex;align-items:center;gap:10px;min-width:0}.category-item__name{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-item__progress{width:100%}.category-item__amounts{text-align:right;font-size:12px;display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.category-item__fact{font-weight:500;color:var(--text-primary)}.category-item__fact--positive{color:var(--success)}.category-item__fact--over{color:var(--danger)}.category-item__fact--zero{color:var(--text-dim)}.category-item__plan{font-size:10px;color:var(--text-dim)}.side-card{padding:16px}.side-card__title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.side-card__empty{font-size:12px;color:var(--text-dim);padding:8px 0;text-align:center}.member-spend-list{display:flex;flex-direction:column;gap:4px}.member-spend-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.03)}.member-spend-row:last-child{border-bottom:none}.member-spend-row__name{font-size:13px;color:var(--text-primary)}.member-spend-row__amount{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.member-spend-row__amount--top{color:var(--danger)}.member-spend-row__bar{grid-column:2 / 4;height:3px;background:#ffffff0d;border-radius:2px;margin-top:4px;overflow:hidden}.member-spend-row__bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .52s var(--ease-standard, ease)}.member-spend-row__bar-fill--top{background:var(--danger)}@media(max-width:720px){.category-row{grid-template-columns:20px minmax(100px,1fr) minmax(100px,120px) minmax(90px,auto);gap:10px}.category-row__members{display:none}.category-items{padding-left:34px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;z-index:var(--z-tooltip);padding:10px 16px;background:var(--accent);color:var(--bg-primary);font-weight:600;font-size:var(--text-sm);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;transition:top var(--transition-fast)}.skip-link:focus,.skip-link:focus-visible{top:0;outline:2px solid var(--bg-primary);outline-offset:-2px}main:focus{outline:none}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.w-full{width:100%}.p-0{padding:0}.p-4{padding:4px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-24{padding:24px}.px-4{padding-left:4px;padding-right:4px}.px-12{padding-left:12px;padding-right:12px}.py-0{padding-top:0;padding-bottom:0}.py-3{padding-top:3px;padding-bottom:3px}.py-4{padding-top:4px;padding-bottom:4px}.py-6{padding-top:6px;padding-bottom:6px}.py-8{padding-top:8px;padding-bottom:8px}.pt-8{padding-top:8px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.ml-8{margin-left:8px}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.text-3xl{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.tabular-nums{font-variant-numeric:tabular-nums}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.financial-value{font-family:var(--font-mono),var(--font-body);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.animate-stagger-in{animation:stagger-in var(--duration-slow) var(--ease-emphasized) both}.animate-stagger-in--1{animation-delay:80ms}.animate-stagger-in--2{animation-delay:.16s}.animate-stagger-in--3{animation-delay:.2s}.animate-stagger-in--4{animation-delay:.28s}.animate-stagger-in--5{animation-delay:.36s}.animate-stagger-in--6{animation-delay:.44s}.animate-stagger-in--7{animation-delay:.52s}.dashboard-fade{opacity:.3;transition:opacity .15s ease}.dashboard-fade--active{opacity:1}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-underline-dashed{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:help}.plan-cell{display:inline-flex;align-items:center;gap:var(--space-1);border:1px dashed transparent;padding:2px 0 2px 8px;border-radius:4px;background:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;cursor:default;transition:background var(--transition-fast),border-color var(--transition-fast)}.plan-cell--editable{cursor:pointer}.plan-cell--editable:hover{background:var(--surface-2);border-color:var(--border)}.plan-cell--editable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.plan-cell-icon{opacity:0;color:var(--text-muted);transition:opacity var(--transition-fast);flex-shrink:0}.plan-cell--editable:hover .plan-cell-icon{opacity:1}.plan-cell-input{width:110px;padding:4px 0 4px 8px;font-size:var(--text-sm);text-align:right;animation:number-in var(--duration-fast) var(--ease-emphasized)}.plan-cell--saved{box-shadow:0 0 0 1px var(--success)}.plan-cell--error{box-shadow:0 0 0 1px var(--danger)}.plan-cell-td{position:relative}.plan-cell-wrap{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;width:100%}.plan-cell--table{min-width:80px;justify-content:flex-end}.plan-cell--card{border:none;padding:0;color:var(--text-dim);font-size:12px;text-align:right;min-width:auto}.plan-cell--card.plan-cell--editable{border-bottom:1px dashed transparent;padding:0 2px;border-radius:2px}.plan-cell--card.plan-cell--editable:hover{background:none;border-bottom-color:var(--accent);color:var(--text-secondary)}.plan-cell--viewonly{cursor:pointer;border:1px dashed transparent;padding:2px 0 2px 8px;border-radius:4px;background:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;min-width:80px;transition:background var(--transition-fast),border-color var(--transition-fast)}.plan-cell--viewonly:hover{background:var(--surface-2)}.plan-cell-input--card{width:90px;padding:2px 6px;font-size:12px;text-align:right}.a11y-indicator{margin-right:4px;font-size:.85em;opacity:.7}.inline-icon{display:inline-block;vertical-align:middle;margin-right:4px;flex-shrink:0}.border-t{border-top:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.border-dashed{border:1px dashed var(--border)}.border-t-2{border-top:2px solid var(--border)}.bg-glass{background:var(--glass)}.bg-glass-strong{background:var(--glass-strong)}.bg-transparent{background:transparent}.bg-secondary{background:var(--bg-secondary)}.bg-none{background:none}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-full{border-radius:50%}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor-pointer{cursor:pointer}.transition-fast{transition:all var(--transition-fast)}.align-middle{vertical-align:middle}.section-label{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-widest);line-height:var(--leading-none)}.btn-ghost-action{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;transition:color var(--transition-fast);min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.btn-ghost-action:hover{color:var(--accent)}.btn-ghost-action--danger:hover{color:var(--danger)}@media(max-width:768px){.btn-ghost-action{min-width:44px;min-height:44px;font-size:14px}}.btn-dashed{background:#ffffff0a;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;padding:4px 12px;backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);box-shadow:inset 0 1px #ffffff0d;transition:all .3s ease}.btn-dashed:hover{background:#ffffff14;border-color:#ffffff40;box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000026}.btn-dashed--success{color:var(--success)}.btn-dashed--danger{color:var(--danger)}.btn-dashed--accent{color:var(--accent)}.btn-dashed--full{width:100%;padding:6px 12px;font-size:11px}.btn-verification{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:.5px solid;border-radius:10px;font-size:13px;font-weight:500;letter-spacing:-.01em;transition:all .18s var(--ease-standard, ease-out);border-left-width:3px}.btn-verification:hover{transform:translateY(-.5px)}.btn-verification__label{font-weight:500}.btn-verification__value{font-variant-numeric:tabular-nums;font-weight:600}.btn-verification__info{opacity:.7;margin-left:2px}.btn-verification--ok{background:#4ade8014;border-color:#4ade8040;border-left-color:var(--success);color:var(--success);cursor:default}.btn-verification--ok:hover{background:#4ade801a}.btn-verification--warn{background:#f8717114;border-color:#f8717140;border-left-color:var(--danger);color:var(--danger);cursor:pointer}.btn-verification--warn:hover{background:#f871711f;border-color:#f8717159}.toggle-group{display:flex;gap:8px;background:none;border-radius:var(--radius-sm);padding:0}.toggle-group--fit{width:fit-content}.toggle-btn{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text-muted);font-weight:400;cursor:pointer;font-size:13px;backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);box-shadow:inset 0 1px #ffffff0f;transition:all .3s ease}.toggle-btn:hover{background:#ffffff14;border-color:#ffffff2e}.toggle-btn.active{background:#ffffff1a;border-color:#fff3;font-weight:600;color:var(--text-primary);box-shadow:inset 0 1px #ffffff1a,0 2px 8px #00000026}.toggle-btn--budget{padding:8px 20px;min-width:160px;height:36px}.segmented-control{display:inline-flex;background:#ffffff0a;border:.5px solid rgba(255,255,255,.06);border-radius:12px;padding:3px;gap:2px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.segmented-control__btn{padding:8px 18px;border:none;background:none;color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:-.01em;cursor:pointer;border-radius:9px;transition:all .22s var(--ease-standard, ease-out);white-space:nowrap}.segmented-control__btn:hover{color:var(--text-secondary)}.segmented-control__btn--compact{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.segmented-control__btn--active{background:#ffffff14;color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #00000026,inset 0 .5px #ffffff14}.budget-content{opacity:1;transition:opacity .15s ease}.budget-content--loading{opacity:.3}.budget-type-header td{background:#ffffff0a;padding:10px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--border)}.budget-category-row{cursor:pointer;transition:background .15s ease}.budget-category-row:hover td,.budget-category-row:hover th{background:#ffffff08!important}.budget-category-row td,.budget-category-row th{font-weight:600;font-size:13px}.budget-category-name{padding-left:32px!important;color:var(--text-secondary);position:relative}.budget-category-toggle{display:block;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%}.budget-category-toggle__chevron{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-muted)}.budget-category-toggle:focus{outline:none}.budget-category-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}.yearly-category-toggle{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.yearly-category-toggle:focus{outline:none}.yearly-category-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}.budget-category-row--collapsed td{opacity:.85}.budget-item-row td{font-weight:400;font-size:13px}.budget-item-row:hover td{background:#ffffff08}.budget-item-row--clickable{cursor:pointer}.budget-item-row--clickable:hover td{background:#ffffff0a}.budget-item-row--clickable:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.budget-item-name{padding-left:32px!important;position:relative}.budget-item-name__title{display:inline}.budget-item-name__actions{display:inline-flex;gap:2px;margin-right:10px;vertical-align:middle;opacity:0;transition:opacity .14s ease}.budget-item-row:hover .budget-item-name__actions,.budget-item-name__actions:focus-within{opacity:1}.budget-row-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast, .14s ease),color var(--transition-fast, .14s ease)}.budget-row-action:hover{background:var(--surface-3, rgba(255, 255, 255, .06));color:var(--text-primary)}.budget-row-action--danger:hover{background:var(--danger-bg, rgba(248, 113, 113, .12));color:var(--danger)}@media(max-width:768px){.budget-row-action{min-width:44px;min-height:44px}}.budget-balance-row{border-top:1px solid var(--border)}.budget-balance-row td{background:var(--surface-2)}.budget-prev-balance-row{border-top:1px solid var(--border)}.budget-prev-balance-row td{background:var(--surface-1)}.budget-overspend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--danger);margin-left:4px;vertical-align:middle}.budget-card--visible-overflow{overflow:visible}.budget-statya-th{display:flex;align-items:center;gap:8px}.budget-bulk-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);flex-shrink:0}.budget-bulk-toggle:hover{background:var(--surface-2);border-color:var(--border-hover);color:var(--text-primary)}.budget-bulk-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.budget-table-stack{display:flex;flex-direction:column;border-radius:inherit;overflow:hidden}.budget-col-num{width:18%}.budget-table--desktop{min-width:600px;table-layout:fixed}.budget-table--footer-static{width:100%;table-layout:fixed;border-collapse:collapse;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.budget-table--footer-static td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.budget-table--footer-static tr:last-child td{border-bottom:none}.budget-scroll-wrapper{max-height:calc(100dvh - 220px);overflow-y:auto;overflow-x:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;scrollbar-gutter:stable}.budget-scroll-wrapper::-webkit-scrollbar{width:8px;height:8px}.budget-scroll-wrapper::-webkit-scrollbar-track{background:transparent}.budget-scroll-wrapper::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.budget-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff47;background-clip:padding-box}.budget-scroll-wrapper::-webkit-scrollbar-corner{background:transparent}.budget-scroll-wrapper{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.budget-thead-sticky{position:sticky;top:0;z-index:10;background:var(--bg-secondary)}.budget-balance-row--final td{border-bottom:none;padding-bottom:12px;background:var(--surface-3)}.budget-item-row--empty td{padding:8px 32px}.budget-cell--overspend{background:#f8717114;border-radius:4px}.budget-mobile{display:flex;flex-direction:column;gap:8px}.budget-mobile-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:12px 4px 4px}.budget-mobile-card{padding:12px!important;margin-bottom:0}.budget-mobile-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;width:100%;background:transparent;border:none;padding:0;color:inherit;font:inherit;text-align:left}.budget-mobile-card-name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.budget-mobile-card-diff{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.budget-mobile-items{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.budget-mobile-item{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;font-size:12px;align-items:center;padding:2px 0}.budget-mobile-item span:not(:first-child){text-align:right;min-width:56px}.budget-mobile-item--header{font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;padding-bottom:4px}.budget-mobile-item--total{border-top:1px solid var(--border);padding-top:6px;margin-top:2px}.budget-mobile-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.budget-mobile-summary{padding:12px!important;margin-top:4px}.budget-mobile-summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.budget-mobile-summary-row+.budget-mobile-summary-row{border-top:1px solid var(--border)}.budget-grid{display:grid;gap:16px;align-items:start}.budget-grid--with-sidebar{grid-template-columns:1fr 300px}.budget-grid--full{grid-template-columns:1fr}.sidebar-table{width:100%;font-size:12px;border-collapse:collapse}.sidebar-table th{padding:4px 0;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.sidebar-table td{border-bottom:1px solid rgba(255,255,255,.04)}.sidebar-table tr:last-child td{border-bottom:none}.sidebar-account-row--clickable{cursor:pointer;transition:background .14s ease}.sidebar-account-row--clickable:hover td,.sidebar-account-row--clickable:focus-visible td{background:#ffffff08}.sidebar-account-row--clickable:focus-visible{outline:none;box-shadow:var(--focus-ring-inset);border-radius:4px}.credit-limit-hint{margin-top:1px;font-size:10px;color:var(--text-muted);opacity:.8;font-variant-numeric:tabular-nums}.credit-limit-hint--over{color:var(--danger);opacity:1;font-weight:500}.sidebar-rate-table{width:100%;font-size:13px}.result-block{padding:12px;background:var(--glass);border-radius:var(--radius-sm)}.danger-block{padding:12px;background:rgba(var(--danger-rgb, 255, 59, 48),.1);border-radius:var(--radius-sm);border-left:3px solid var(--danger)}.avatar-circle{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent);flex-shrink:0}.nav-btn{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);width:36px;height:36px;display:flex;align-items:center;justify-content:center;backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);background:#ffffff0f;box-shadow:inset 0 1px #ffffff14;transition:all .3s ease}.nav-btn:hover{background:#ffffff1a;border-color:#fff3;box-shadow:inset 0 1px #ffffff1f,0 2px 8px #0003}.month-display{font-weight:600;min-width:160px;text-align:center;font-size:16px;padding:6px 16px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);background:#ffffff0f;box-shadow:inset 0 1px #ffffff14}.grid{display:grid}.grid-gap-8{gap:8px}.grid-gap-16{gap:16px}.grid-2col{grid-template-columns:1fr 1fr}.card-toggle-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.card-toggle-btn:hover{background:var(--glass-strong)}.card-expand{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.card-expand--compact{padding-top:8px}.tx-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}.tx-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);background:var(--glass)}.account-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:16px}.pagination-info{padding:6px 12px;color:var(--text-muted);font-size:13px}.deleted-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:8px 0;display:flex;align-items:center;gap:6px}.filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end}.line-through{text-decoration:line-through}.whitespace-nowrap{white-space:nowrap}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.rates-table{width:100%;font-size:13px;border-collapse:collapse}.rates-table th{text-align:left;padding:4px 6px;font-size:11px;color:var(--text-muted);font-weight:600}.rates-table th.date-col{text-align:right;font-size:10px;color:var(--accent);font-weight:500;white-space:nowrap}.rates-table th.today-col{text-align:right;font-size:10px;color:var(--text-secondary);font-weight:600}.rates-table td{padding:6px}.rates-table tr{border-bottom:1px solid rgba(255,255,255,.04)}html,body{font-family:var(--font-sf);font-feature-settings:"cv02" on,"cv03" on,"cv04" on,"cv11" on,"ss01" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.money,.num,[class*=amount],[class*=balance],[class*=total],.budget-amount,.widget-value,.progress-label{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}h1,h2,h3,h4{font-family:var(--font-sf);letter-spacing:-.02em;font-weight:600}h1{letter-spacing:-.03em}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}.hairline-bottom{border-bottom:1px solid var(--hairline)}.hairline-top{border-top:1px solid var(--hairline)}@media(min-resolution:2dppx){.hairline-bottom{border-bottom-width:.5px}.hairline-top{border-top-width:.5px}}button,.btn,a{-webkit-tap-highlight-color:transparent}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible,a.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.sidebar-link:focus-visible,.sidebar-brand--button:focus-visible,.sidebar-user:focus-visible,.sidebar-user--clickable:focus-visible,.sidebar-collapse-btn:focus-visible,.sidebar-logout-btn:focus-visible,.toggle-btn:focus-visible,.segmented-control__btn:focus-visible,.tab:focus-visible,.settings-nav-tab:focus-visible,.view-mode-btn:focus-visible,.budget-scope-btn:focus-visible,.yearly-mode-toggle:focus-visible,.member-chip:focus-visible,.filter-chip:focus-visible,.budget-chip:focus-visible,.tag:focus-visible,.color-swatch:focus-visible,.icon-btn:focus-visible,.btn-icon:focus-visible,.btn-icon-sm:focus-visible,.tag-input-chip-remove:focus-visible,.budget-mobile-card-header:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toggle-btn:focus-visible,.segmented-control__btn:focus-visible,.tab:focus-visible,.settings-nav-tab:focus-visible,.view-mode-btn:focus-visible,.budget-scope-btn:focus-visible,.yearly-mode-toggle:focus-visible{border-radius:6px}.member-chip:focus-visible,.filter-chip:focus-visible,.budget-chip:focus-visible,.tag:focus-visible{border-radius:999px}.color-swatch:focus-visible{border-radius:50%}.budget-mobile-card-header:focus-visible{border-radius:var(--radius-sm)}.widget-lock-btn:focus-visible,.widget-close-btn:focus-visible,.dropdown-item:focus-visible,.modal :focus-visible,[role=dialog] :focus-visible,.account-drawer :focus-visible,.notif-drawer :focus-visible,.widget-library :focus-visible{outline:none;box-shadow:var(--focus-ring-raised)}.tx-row-interactive:focus-visible,.yearly-cell--clickable:focus-visible,.budget-category-row:focus-visible{outline:none;box-shadow:var(--focus-ring-inset)}.goal-card:focus-visible,.widget-clickable-body:focus-visible,.budget-summary-card--clickable:focus-visible{outline:none;box-shadow:var(--focus-ring-inset),var(--shadow-md)}.admin-layout{min-height:100dvh;display:grid;grid-template-rows:56px 1fr;background:var(--bg-primary)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5, 20px);background:var(--bg-secondary, #131925);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:10}.admin-topbar__brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}.admin-topbar__brand strong{font-size:var(--text-lg, 18px);color:var(--accent, #4ade80)}.admin-topbar__brand span{font-size:var(--text-sm, 13px);color:var(--text-muted, rgba(245, 247, 251, .7));letter-spacing:.04em;text-transform:uppercase}.admin-topbar__right{display:flex;align-items:center;gap:var(--space-3, 12px)}.admin-topbar__nav{display:flex;align-items:center;gap:var(--space-2, 8px);margin-left:auto;margin-right:var(--space-4, 16px)}.admin-topbar__nav-link{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;color:var(--text-muted, rgba(245, 247, 251, .7));transition:all .15s ease}.admin-topbar__nav-link:hover{color:var(--text-primary, #f5f7fb);background:#ffffff0a}.admin-topbar__nav-link--active{color:var(--accent, #4ade80);background:#4ade801a}.admin-topbar__nav-link:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 2px rgba(74, 222, 128, .5))}.admin-topbar__email{font-size:var(--text-sm, 13px);color:var(--text-muted, rgba(245, 247, 251, .7));font-variant-numeric:tabular-nums}.admin-main{padding:var(--space-6, 24px) var(--space-5, 20px);max-width:1280px;margin:0 auto;width:100%;outline:none}.admin-main h1{font-size:var(--text-2xl, 24px);margin:0 0 var(--space-5, 20px);letter-spacing:-.01em}.admin-main h2{font-size:var(--text-xl, 20px);margin:0;letter-spacing:-.01em}.section-header{display:flex;align-items:center;justify-content:space-between;margin:var(--space-6, 24px) 0 var(--space-4, 16px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4, 16px);margin-bottom:var(--space-6, 24px)}.stat-large{font-size:var(--text-3xl, 28px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:var(--space-2, 8px)}.stat-secondary{font-size:var(--text-sm, 13px);color:var(--text-muted, rgba(245, 247, 251, .7));margin-top:var(--space-1, 4px)}.stat-card-header{font-size:var(--text-xs, 11px);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, rgba(245, 247, 251, .7));font-weight:600}.tier-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:var(--space-3, 12px);padding:var(--space-2, 8px) 0;font-size:var(--text-sm, 13px)}.tier-row__count{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary, #d1d5db)}.tier-bar{height:8px;background:#ffffff0a;border-radius:4px;overflow:hidden}.tier-bar__fill{height:100%;background:var(--accent, #4ade80);transition:width .24s ease}.tier-bar__fill--free{background:var(--text-muted, rgba(245, 247, 251, .7))}.tier-bar__fill--pro{background:var(--brand-emerald-400, #4ade80)}.tier-bar__fill--family{background:var(--brand-amber-300, #fcd34d)}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-lg, 12px);background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.admin-table{width:100%;border-collapse:separate;border-spacing:0}.admin-table th,.admin-table td{padding:var(--space-3, 12px) var(--space-4, 16px);text-align:left;white-space:nowrap}.admin-table thead th{font-size:var(--text-xs, 11px);text-transform:uppercase;color:var(--text-muted, rgba(245, 247, 251, .7));letter-spacing:.04em;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.admin-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s ease}.admin-table tbody tr:hover{background:#ffffff05}.admin-table tbody tr:last-child{border-bottom:none}.admin-table-cell--name{font-weight:600;color:var(--text, #f5f7fb)}.admin-table-cell--actions{text-align:right;display:flex;justify-content:flex-end;gap:var(--space-2, 8px);align-items:center}.admin-table-cell--muted{color:var(--text-muted, rgba(245, 247, 251, .7));font-size:var(--text-sm, 13px)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3, 12px) var(--space-4, 16px);border-top:1px solid rgba(255,255,255,.04);font-size:var(--text-sm, 13px);color:var(--text-muted, rgba(245, 247, 251, .7))}.admin-pagination__buttons{display:flex;gap:var(--space-2, 8px);align-items:center}.auth-layout{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5, 20px);background:var(--bg-primary)}.auth-card{width:100%;max-width:400px}.auth-logo{text-align:center;margin-bottom:var(--space-5, 20px)}.auth-logo h1{font-size:var(--text-2xl, 28px);margin:0;color:var(--accent);letter-spacing:-.01em}.auth-logo p{margin:4px 0 0;color:var(--text-muted);font-size:var(--text-sm, 13px)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.auth-status{text-align:center;padding:var(--space-3, 12px) 0}.auth-status-icon{font-size:32px}.text-muted{color:var(--text-muted, rgba(245, 247, 251, .7))}.text-success{color:var(--brand-emerald-400, #4ade80)}.text-danger{color:#f87171}.mt-12{margin-top:12px}.mb-16{margin-bottom:16px}.copyable{font-family:SF Mono,Menlo,Consolas,monospace;background:#ffffff0a;padding:4px 8px;border-radius:4px;font-size:var(--text-sm, 13px);user-select:all}.admin-page{display:flex;flex-direction:column;gap:16px}.admin-page__header h1{margin:0 0 4px;font-size:22px}.admin-page__header p{margin:0;font-size:13px}.audit-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:#ffffff0a;border:.5px solid rgba(255,255,255,.08);border-radius:10px}.admin-error{padding:12px;background:#f871711a;border:.5px solid rgba(248,113,113,.35);border-radius:8px;color:#fecaca;font-size:13px}.admin-table__target{display:inline-flex;align-items:center;gap:6px}.admin-table__target-type{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, rgba(245, 247, 251, .7))}.admin-table__target-id,.admin-table__ip{font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;background:#ffffff0a;padding:2px 6px;border-radius:4px}.admin-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:.5px solid rgba(255,255,255,.08)}.admin-pagination__counter{font-size:12px;color:var(--text-muted, rgba(245, 247, 251, .7));font-variant-numeric:tabular-nums}.audit-payload__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#ffffff0a;border-radius:8px;font-size:13px;margin-bottom:12px}.audit-payload__meta-label{color:var(--text-muted, rgba(245, 247, 251, .7));font-size:11px;text-transform:uppercase;letter-spacing:.4px}.audit-payload__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.audit-payload__json{background:var(--bg-primary, #0d121a);border:.5px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--text-primary, #f5f7fb);white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:50vh}.audit-payload__json:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 2px rgba(74, 222, 128, .5))}.admin-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4, 16px);margin-bottom:var(--space-5, 20px)}.push-stats-period{display:inline-flex;align-items:stretch;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md, 8px);padding:2px;gap:2px;flex-shrink:0}.push-stats-period__option{background:transparent;border:none;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-muted, rgba(245, 247, 251, .7));cursor:pointer;border-radius:6px;transition:all .15s ease;font-variant-numeric:tabular-nums}.push-stats-period__option:hover:not([aria-checked=true]){background:#ffffff0a;color:var(--text-primary, #f5f7fb)}.push-stats-period__option[aria-checked=true]{background:var(--accent, #4ade80);color:#0d121a}.push-stats-period__option:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 2px rgba(74, 222, 128, .5))}.push-stats-period__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.push-stats-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-4, 16px);margin-bottom:var(--space-6, 24px)}.push-stats-types{display:flex;flex-direction:column;gap:var(--space-3, 12px);margin-top:var(--space-3, 12px)}.push-stats-types__row{display:grid;grid-template-columns:minmax(100px,140px) 1fr auto;align-items:center;gap:var(--space-3, 12px);font-size:var(--text-sm, 13px)}.push-stats-types__label{color:var(--text-secondary, #d1d5db);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-stats-types__bar{display:flex;height:12px;background:#ffffff0a;border-radius:4px;overflow:hidden}.push-stats-types__seg{display:inline-block;height:100%;transition:width .24s ease}.push-stats-types__seg--sent{background:#4ade80}.push-stats-types__seg--failed{background:#ef4444}.push-stats-types__seg--gone{background:#fcd34d}.push-stats-types__counts{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary, #d1d5db);white-space:nowrap}.push-stats-types__counts-divider{color:var(--text-muted, rgba(245, 247, 251, .55));margin:0 4px}.push-stats-daily svg{display:block;max-width:100%;margin-top:var(--space-3, 12px)}.push-stats-daily__legend{display:flex;gap:var(--space-4, 16px);margin-top:var(--space-3, 12px);font-size:var(--text-xs, 11px);color:var(--text-muted, rgba(245, 247, 251, .7));flex-wrap:wrap}.push-stats-daily__legend-item{display:inline-flex;align-items:center;gap:6px}.push-stats-daily__legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.push-stats-daily__legend-dot--sent{background:#4ade80}.push-stats-daily__legend-dot--failed{background:#ef4444}@media(max-width:768px){.admin-page__header{flex-direction:column;align-items:stretch}.push-stats-period{align-self:stretch;justify-content:space-between}.push-stats-period__option{flex:1;min-height:44px;padding:10px 12px}.push-stats-grid{grid-template-columns:1fr}.push-stats-types__row{grid-template-columns:1fr;gap:var(--space-1, 4px)}.push-stats-types__counts{text-align:left}}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4, 16px);margin-bottom:var(--space-6, 24px)}.analytics-card__title{font-size:var(--text-base, 15px);font-weight:600}.analytics-card__hint{font-size:var(--text-xs, 11px);color:var(--text-muted, rgba(245, 247, 251, .7));margin-top:2px}.analytics-card__empty{font-size:var(--text-sm, 13px);color:var(--text-muted, rgba(245, 247, 251, .7));margin-top:var(--space-3, 12px)}.analytics-bars{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3, 12px)}.analytics-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.analytics-bar-label{font-size:var(--text-sm, 13px);font-weight:500}.analytics-bar-value{font-size:var(--text-xs, 11px);color:var(--text-muted, rgba(245, 247, 251, .7));font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-bar-track{height:8px;border-radius:var(--radius-full, 999px);background:var(--bg-secondary, rgba(255, 255, 255, .06));overflow:hidden}.analytics-bar-fill{height:100%;border-radius:var(--radius-full, 999px);background:linear-gradient(90deg,var(--accent),var(--accent-hover, var(--accent)));transition:width .3s ease}.analytics-trend-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.analytics-trend-controls{display:flex;align-items:center;gap:var(--space-2, 8px)}.analytics-trend-select select{appearance:none;padding:7px 12px;border-radius:var(--radius-md, 8px);border:1px solid var(--border, rgba(255, 255, 255, .12));background:var(--bg-secondary, rgba(255, 255, 255, .06));color:inherit;font-size:var(--text-sm, 13px);cursor:pointer}.analytics-trend__svg{width:100%;height:auto;display:block}.analytics-trend__grid{stroke:var(--border, rgba(255, 255, 255, .1));stroke-width:1}.analytics-trend__axis{fill:var(--text-muted, rgba(245, 247, 251, .7));font-size:10px}.analytics-trend__legend{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3, 12px)}.analytics-trend__legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm, 13px)}.analytics-trend__swatch{width:10px;height:10px;border-radius:3px;flex:none}.analytics-trend__legend-val{color:var(--text-muted, rgba(245, 247, 251, .7));font-variant-numeric:tabular-nums}
