/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--color-white:#fff;--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.col-6{grid-column:6}.col-12{grid-column:12}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-auto{margin-inline-start:auto}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.hidden{display:none}.w-100{width:calc(var(--spacing)*100)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.border-0{border-style:var(--tw-border-style);border-width:0}.p-4{padding:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-center{text-align:center}.text-white{color:var(--color-white)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.electricity-entry{margin-bottom:20px}.app-top-nav .electricity-back-button{background:var(--app-surface-raised);border-color:var(--app-border);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.electricity-back-button:hover{background:var(--app-surface-inset)}.electricity-back-button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.electricity-traffic-light{background:#18212b;border:1px solid #46515f;border-radius:12px;flex-direction:column;flex:0 0 30px;align-items:center;gap:4px;width:30px;padding:7px 0;display:flex}.electricity-traffic-light>span{background:#34404d;border-radius:50%;width:11px;height:11px}.electricity-traffic-light.is-expensive .traffic-red{background:#ff6262;box-shadow:0 0 8px #ff626288}.electricity-traffic-light.is-medium .traffic-amber{background:#ffce55;box-shadow:0 0 8px #ffce5588}.electricity-traffic-light.is-cheap .traffic-green{background:#4cdd99;box-shadow:0 0 8px #4cdd9988}.electricity-tone-cheap{--price-color:#168653;color:var(--price-color)}.electricity-tone-medium{--price-color:#976300;color:var(--price-color)}.electricity-tone-expensive{--price-color:#c23242;color:var(--price-color)}html[data-theme=dark] .electricity-tone-cheap{--price-color:#7ee2a7}html[data-theme=dark] .electricity-tone-medium{--price-color:#ffce55}html[data-theme=dark] .electricity-tone-expensive{--price-color:#ff929c}.electricity-chart-legend{flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:.8rem;display:flex}.electricity-hero{color:var(--app-text);background:linear-gradient(135deg,var(--price-color),transparent 70%),var(--app-surface);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.electricity-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--price-color)18%,transparent),transparent 70%),var(--app-surface)}}.electricity-hero{border-color:var(--price-color)}@supports (color:color-mix(in lab,red,red)){.electricity-hero{border-color:color-mix(in srgb,var(--price-color)40%,var(--app-border))}}.electricity-hero-kicker{color:var(--price-color);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:800}.electricity-page .electricity-hero h1{margin:8px 0 6px;font-size:clamp(1.6rem,7vw,2.1rem);font-weight:850;line-height:1.1}.electricity-page .electricity-hero p{color:var(--app-text-soft);margin:0 0 14px;font-size:.95rem;line-height:1.45}.electricity-hero-price{background:var(--app-surface-inset);color:var(--app-text-muted);border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-block}.electricity-moments{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.electricity-moments li{background:var(--app-surface-inset);border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.electricity-moments strong{color:var(--state-positive);white-space:nowrap;font-size:1.05rem;font-weight:800}.electricity-moments span{color:var(--app-text-muted);text-align:right;font-size:.82rem}.electricity-chart-detail{background:var(--app-surface-inset);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:12px 0 14px;padding:12px 14px;display:flex}.electricity-chart-detail>span{color:var(--app-text-soft);flex-basis:100%;font-size:.82rem}.electricity-chart-detail strong{font-size:1.2rem;font-weight:850}.electricity-chart-detail small{color:var(--app-text-muted);font-size:.82rem}.electricity-bars{align-items:stretch;gap:3px;height:150px;display:flex}.electricity-bar-item{min-width:0;color:var(--price-color);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:6px;padding:0;display:flex}.electricity-bar-track{flex:auto;align-items:flex-end;width:100%;min-height:0;display:flex}.electricity-bar-fill{background:var(--price-color);transform-origin:bottom;border-radius:5px 5px 3px 3px;width:100%;transition:opacity .16s,transform .16s}.electricity-bar-item.is-past .electricity-bar-fill{opacity:.28}.electricity-bar-item.is-selected .electricity-bar-fill{box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--price-color)}.electricity-bar-item:active .electricity-bar-fill{transform:scaleY(.96)}.electricity-bar-item:focus-visible{outline:none}.electricity-bar-item:focus-visible .electricity-bar-fill{box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--accent-secondary)}.electricity-bar-hour{height:14px;color:var(--app-text-muted);white-space:nowrap;font-size:.68rem;font-weight:700;line-height:14px;overflow:visible}.electricity-bar-item.is-current .electricity-bar-hour{color:var(--app-text);font-weight:850}.electricity-help summary{color:var(--app-text);cursor:pointer;font-weight:750}.electricity-help p{margin:10px 0 0;line-height:1.5}.electricity-help a{color:var(--accent-secondary)}.electricity-page .dashboard-stat-card{min-width:0}.electricity-page .dashboard-stat-card strong{color:var(--price-color);font-size:clamp(1rem,4.5vw,1.4rem)}.electricity-page .dashboard-stat-card small{color:var(--app-text-muted);font-size:.8rem}.electricity-cheapest{gap:8px;margin:12px 0 0;padding-left:22px;display:grid}.electricity-cheapest li{color:var(--app-text);padding:6px 0}.electricity-cheapest li.is-past{opacity:.55}.electricity-cheapest small{color:var(--app-text-muted)}.electricity-cheapest strong{color:var(--state-positive);display:block}.electricity-table{border-collapse:collapse;width:100%;color:var(--app-text);font-size:.9rem}.electricity-table td,.electricity-table th{border-bottom:1px solid var(--app-border);padding:10px 6px}.electricity-table th{text-align:left;font-weight:500}.electricity-table thead th{color:var(--app-text-muted);font-size:.78rem;font-weight:700}.electricity-table td{text-align:right;width:40%}.electricity-table thead th:last-child{text-align:right}.electricity-table tr.is-past{opacity:.5}.electricity-bar{background:var(--price-color);border-radius:4px;height:4px;margin:5px 0 0 auto;display:block}.electricity-active{background:var(--accent-secondary-surface)}.electricity-now-tag{background:var(--accent-secondary);color:#fff;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:.68rem;font-weight:800}.electricity-star{color:var(--state-positive)}.electricity-page{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;display:grid}.electricity-page h2{font-size:1.15rem;font-weight:700}.electricity-page p{color:var(--app-text-muted);font-size:.88rem}.electricity-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:18px;min-width:0;padding:20px}:root{--background:#fff;--foreground:#352f2f;--accent-primary:#b93838;--accent-primary-hover:#a72f2f;--accent-primary-contrast:#fff;--accent-secondary:#2563eb;--accent-secondary-surface:#2563eb1a;--state-positive:#168653;--state-negative:#b93838;--safe-area-bottom:env(safe-area-inset-bottom,0px);--bottom-nav-surface:#ffffffeb;--bottom-nav-border:#352f2f24;--bottom-nav-muted:#667085;--bottom-nav-active:var(--accent-primary);--bottom-nav-active-surface:#e7595921;--bottom-nav-focus:#b9383857;--bottom-nav-shadow:#211c1c24;--app-background:#f4f6f8;--app-surface:#fff;--app-surface-raised:#f8fafc;--app-surface-inset:#eef1f5;--app-border:#d9e0e8;--app-text:#2f2a2a;--app-text-muted:#667085;--app-text-soft:#4b5563;--app-accent-surface:#fceeee}html[data-theme=dark]{--background:#352f2f;--foreground:#ededed;--accent-primary:#ff9a9a;--accent-primary-hover:#ffb2b2;--accent-primary-contrast:#351416;--accent-secondary:#6ea6ff;--accent-secondary-surface:#6ea6ff24;--state-positive:#7ee2a7;--state-negative:#ff9a9a;--bottom-nav-surface:#161a20eb;--bottom-nav-border:#aeb6c22b;--bottom-nav-muted:#9aa4b2;--bottom-nav-active:var(--accent-primary);--bottom-nav-active-surface:#e7595929;--bottom-nav-focus:#ff9a9a66;--bottom-nav-shadow:#0000004d;--app-background:#101318;--app-surface:#161a20;--app-surface-raised:#1b2027;--app-surface-inset:#10151c;--app-border:#2a3039;--app-text:#f4f7fb;--app-text-muted:#8f98a6;--app-text-soft:#aeb6c2;--app-accent-surface:#202938}html[data-theme=light]{color-scheme:light;--background:#fff;--foreground:#352f2f;--accent-primary:#b93838;--accent-primary-hover:#a72f2f;--accent-primary-contrast:#fff;--accent-secondary:#2563eb;--accent-secondary-surface:#2563eb1a;--state-positive:#168653;--state-negative:#b93838;--bottom-nav-surface:#ffffffeb;--bottom-nav-border:#352f2f24;--bottom-nav-muted:#667085;--bottom-nav-active:var(--accent-primary);--bottom-nav-active-surface:#e7595921;--bottom-nav-focus:#b9383857;--bottom-nav-shadow:#211c1c24}html[data-theme=dark]{color-scheme:dark}@supports (padding-bottom:constant(safe-area-inset-bottom)){:root{--safe-area-bottom:constant(safe-area-inset-bottom)}}@media (prefers-color-scheme:dark){:root{--background:#352f2f;--foreground:#ededed;--accent-primary:#ff9a9a;--accent-primary-hover:#ffb2b2;--accent-primary-contrast:#351416;--accent-secondary:#6ea6ff;--accent-secondary-surface:#6ea6ff24;--state-positive:#7ee2a7;--state-negative:#ff9a9a;--bottom-nav-surface:#161a20eb;--bottom-nav-border:#aeb6c22b;--bottom-nav-muted:#9aa4b2;--bottom-nav-active:var(--accent-primary);--bottom-nav-active-surface:#e7595929;--bottom-nav-focus:#ff9a9a66;--bottom-nav-shadow:#0000004d}}body,html{overscroll-behavior-y:contain;background:var(--app-background)}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body{background:var(--app-background);color:var(--app-text);font-family:Arial,Helvetica,sans-serif;transition:background-color .16s,color .16s}.white-important{color:#fff!important}.app-top-nav{z-index:1000;color:#f4f7fb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121419f0;border-bottom:1px solid #252a32;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;height:56px;padding:0 14px;display:grid;position:sticky;top:0}.app-top-nav h5{color:#f4f7fb;letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:750;overflow:hidden}.nav-icon-button{color:#d6dce6;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.nav-icon-button:active{background:#20252d;transform:scale(.97)}.nav-icon-button-primary{border-color:var(--bottom-nav-focus);background:var(--accent-primary);color:var(--accent-primary-contrast);justify-self:end}.nav-icon-button-primary:hover{border-color:var(--accent-primary-hover);background:var(--accent-primary-hover);color:var(--accent-primary-contrast)}.bottom-nav-spacer{min-height:calc(114px + var(--safe-area-bottom))}.app-bottom-nav{left:50%;bottom:calc(20px + var(--safe-area-bottom));z-index:1000;border:1px solid var(--bottom-nav-border);background:var(--bottom-nav-surface);width:min(100% - 24px,560px);min-height:76px;box-shadow:0 8px 24px var(--bottom-nav-shadow);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);isolation:isolate;border-radius:30px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;padding:6px;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav-link{min-width:0;min-height:60px;color:var(--bottom-nav-muted);-webkit-tap-highlight-color:transparent;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.62rem;font-weight:750;line-height:1;text-decoration:none;transition:color .16s,background-color .16s,transform .16s;display:flex}.bottom-nav-icon{flex:none;transition:transform .16s}.bottom-nav-icon-wrap{flex:none;place-items:center;width:30px;height:26px;display:grid}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1;overflow:hidden}.bottom-nav-link.is-active{background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.bottom-nav-link.is-active .bottom-nav-icon{transform:translateY(-1px)}.bottom-nav-link.is-featured{color:var(--bottom-nav-active)}.bottom-nav-link.is-featured .bottom-nav-icon-wrap{background:var(--bottom-nav-active-surface);border-radius:50%;width:34px;height:34px;margin-top:-9px;margin-bottom:1px}.bottom-nav-link.is-featured .bottom-nav-icon{width:18px;height:18px;display:block;transform:translateY(1px)}.bottom-nav-link:hover{color:var(--bottom-nav-active)}.bottom-nav-link:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:-3px}.bottom-nav-link:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.bottom-nav-icon,.bottom-nav-link{transition:none}}@media (min-width:768px){.app-bottom-nav{bottom:calc(16px + var(--safe-area-bottom));width:min(100% - 40px,520px)}}.tasks-page,.us-page{gap:14px;display:grid}.couple-card,.tasks-panel,.week-summary{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 12px 28px var(--bottom-nav-shadow);border-radius:18px;padding:18px}.tasks-panel .section-heading h1,.tasks-panel .section-heading h2{color:var(--app-text);margin:3px 0 0;font-size:1.05rem;font-weight:850}.count-badge{background:var(--app-accent-surface);min-width:30px;color:var(--bottom-nav-active);text-align:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:850}.shared-task-list{gap:8px;display:grid}.shared-task-row{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;min-height:60px;display:grid}.task-copy,.task-toggle{color:var(--app-text);background:0 0;border:0}.task-toggle{width:44px;height:44px;color:var(--bottom-nav-active);place-items:center;display:grid}.task-copy{text-align:left;min-width:0;padding:10px 12px 10px 0}.task-copy span,.task-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-copy strong{font-size:.94rem}.task-copy span{color:var(--app-text-muted);margin-top:3px;font-size:.74rem}.shared-task-row.is-completed .task-copy strong{color:var(--app-text-muted);text-decoration:line-through}.tasks-empty-copy{color:var(--app-text-muted);font-size:.88rem;line-height:1.45}.tasks-empty-copy span,.tasks-empty-copy strong{display:block}.tasks-empty-copy strong{color:var(--app-text-soft)}.tasks-empty-copy span{margin-top:3px}.task-empty-state p small,.task-empty-state p strong{display:block}.task-empty-state p strong{color:var(--app-text);font-size:.96rem}.task-empty-state p strong span{color:var(--accent-primary)}.task-empty-state p small{color:var(--app-text-muted);margin-top:4px;font-size:.82rem}.inline-action{background:var(--bottom-nav-active-surface);min-height:38px;color:var(--bottom-nav-active);margin-top:10px;padding:7px 12px;font-weight:800}.inline-action,.plan-complete-action{border:1px solid var(--bottom-nav-focus);border-radius:11px}.plan-complete-action{min-height:40px;color:var(--accent-primary);background:0 0;align-items:center;gap:7px;margin-top:13px;padding:7px 11px;font-size:.78rem;font-weight:750;transition:background-color .16s,transform .16s;display:inline-flex}.plan-complete-action:hover{background:var(--bottom-nav-active-surface)}.plan-complete-action:active{transform:scale(.97)}.plan-complete-action:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.task-assignee-picker{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.task-assignee-option{min-height:42px;color:var(--app-text-muted);background:0 0;border:0;border-radius:10px;font-size:.82rem;font-weight:800}.task-assignee-option.is-selected{background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.couple-hero{border:1px solid var(--bottom-nav-focus);background:linear-gradient(145deg,var(--bottom-nav-active-surface),var(--app-surface));color:var(--app-text);text-align:center;border-radius:22px;padding:28px 20px;position:relative;overflow:hidden}.couple-edit-button{border:1px solid var(--bottom-nav-focus);background:var(--bottom-nav-active-surface);width:40px;height:40px;color:var(--bottom-nav-active);box-shadow:0 4px 12px var(--bottom-nav-shadow);border-radius:50%;place-items:center;transition:transform .16s,background-color .16s;display:grid;position:absolute;top:12px;right:12px}.couple-edit-button:hover{background:#e759593d}.couple-edit-button:active{transform:scale(.94)}.couple-edit-button:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.couple-heart{color:var(--bottom-nav-active)}.couple-hero h1{margin:10px 36px 8px;font-size:clamp(1.4rem,7vw,2rem);font-weight:900}.couple-hero h1 span{color:var(--bottom-nav-active)}.couple-hero p{color:var(--app-text-muted);margin:0}.couple-hero strong{color:var(--bottom-nav-active);margin-top:8px;display:block}.couple-activities,.couple-grid{gap:14px;display:grid}.couple-activities{min-width:0}.activity-hint{color:var(--app-text-muted);margin:12px 0;font-size:.85rem;line-height:1.5}.activity-answer{background:var(--app-surface-raised);overflow-wrap:anywhere;border-radius:12px;margin-top:12px;padding:12px}.activity-answer strong{color:var(--bottom-nav-active);font-size:.8rem}.activity-answer p{white-space:pre-wrap;margin:6px 0 0}.activity-options,.activity-poll-form{gap:10px;margin-top:14px;display:grid}.activity-options button{border:1px solid var(--app-border);min-height:48px;color:var(--app-text);background:var(--app-surface-raised);text-align:left;overflow-wrap:anywhere;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.activity-options button[aria-pressed=true]{border-color:var(--bottom-nav-active);background:var(--bottom-nav-active-surface)}.activity-options small{color:var(--app-text-muted);flex-shrink:0}.activity-options button:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.activity-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.couple-activities .form-label{color:var(--app-text-muted);margin-bottom:7px;font-size:.82rem;font-weight:750}.couple-activities .form-control,.couple-activities .form-select{border:1px solid var(--app-border);background-color:var(--app-surface-inset);min-height:46px;color:var(--app-text);border-radius:14px;padding:11px 13px;font-size:.92rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.couple-activities .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23949daa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 6 4 4 4-4'/%3e%3c/svg%3e");padding-right:40px}.couple-activities textarea.form-control{resize:vertical;min-height:88px;line-height:1.6}.couple-activities .form-control::placeholder{color:var(--app-text-muted);opacity:1;font-weight:500}.couple-activities .form-control:focus,.couple-activities .form-select:focus{border-color:var(--accent-primary);background-color:var(--app-surface-inset);color:var(--app-text);box-shadow:0 0 0 3px var(--bottom-nav-active-surface)}.couple-activities .form-control:disabled,.couple-activities .form-select:disabled{background-color:var(--app-surface-raised);color:var(--app-text-muted);opacity:.65}.couple-activities .btn{border-radius:12px;min-height:44px;padding:10px 14px;font-size:.85rem;font-weight:800}.couple-activities .btn-secondary{border-color:var(--app-border);background-color:var(--app-surface-raised);color:var(--app-text)}.couple-activities .btn-secondary:focus-visible,.couple-activities .btn-secondary:hover{border-color:var(--bottom-nav-active);background-color:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.couple-activities .btn:focus-visible{box-shadow:0 0 0 3px var(--bottom-nav-focus)}.couple-activities .btn:disabled{opacity:.5}.activity-options button:disabled{opacity:.6}.couple-activities>.couple-card{flex-direction:column;min-width:0;display:flex}.couple-activities>.couple-card:not(:first-of-type)>.activity-actions,.couple-activities>.couple-card:not(:first-of-type)>.inline-action{align-self:flex-start;margin-top:auto}.couple-activities>.couple-card:not(:first-of-type)>.activity-actions{padding-top:14px}.couple-activities>.couple-card:not(:first-of-type)>.inline-action{margin-top:auto}.couple-activities>.alert,.couple-activities>.couple-card:first-of-type{grid-column:1/-1}.activity-options button{flex-wrap:wrap}.together-card-header{align-items:center;gap:11px;margin-bottom:16px;display:flex}.together-icon{width:42px;height:42px;color:var(--bottom-nav-active);background:var(--bottom-nav-active-surface);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.together-card-header>div{flex:1;min-width:0}.together-card-header .section-kicker{letter-spacing:.04em;color:var(--app-text-muted);font-size:.62rem}.couple-activities .together-card-title{margin:4px 0 0;font-size:.95rem;font-weight:800}.together-status{color:var(--app-text-muted);flex-shrink:0;font-size:.72rem}.couple-activities .together-question>h2{max-width:580px;margin:4px 0 8px;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.45}.couple-activities .together-question>.activity-hint{margin:0 0 8px;font-size:.8rem}.together-answers{gap:10px;display:grid}.together-answers .activity-answer{margin-top:8px}.together-answer-form .form-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.together-answer-form .form-control{font-weight:500}.together-text-action{color:var(--bottom-nav-active);background:0 0;border:0;align-self:flex-start;margin-top:12px;padding:6px 0;font-size:.8rem;font-weight:750}.together-filters{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:12px;gap:4px;margin:0 0 16px;padding:4px;display:flex}.together-filters button{min-height:34px;color:var(--app-text-muted);background:0 0;border:0;border-radius:8px;flex:1;padding:5px 8px;font-size:.75rem;font-weight:750}.together-filters button[aria-pressed=true]{color:var(--bottom-nav-active);background:var(--bottom-nav-active-surface)}.together-plan-idea{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:14px;padding:14px}.couple-activities .together-plan-idea h2{margin:0 0 8px;font-size:1.05rem;line-height:1.4}.together-plan-idea p{color:var(--app-text-muted);margin:0;font-size:.85rem;line-height:1.6}.together-plan-meta{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.together-plan-meta span{background:var(--app-surface-raised);color:var(--app-text-muted);border-radius:7px;padding:4px 8px;font-size:.7rem;font-weight:700}.couple-activities .together-voting>.activity-hint{margin-top:0;font-size:.8rem}.couple-activities .together-voting>.mt-3{color:var(--app-text-muted);font-size:.9rem;line-height:1.6;margin-top:0!important}.together-filters button:focus-visible,.together-text-action:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}@media (min-width:640px){.couple-activities{align-items:stretch}.couple-activities,.together-answers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.together-status{display:none}}.calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-heading .inline-action{white-space:nowrap;align-items:center;gap:6px;margin-top:0;padding:9px 12px;font-size:.85rem;display:inline-flex}.calendar-heading .inline-action svg{flex-shrink:0}.couple-calendar>.activity-hint{margin:12px 0 20px}.calendar-layout{gap:20px;margin-top:20px;display:grid}.calendar-month-panel{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:16px;width:100%;max-width:420px;margin-inline:auto;padding:14px}.calendar-layout>div{min-width:0}.calendar-month{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.calendar-month-label{flex-direction:column;align-items:center;gap:4px;display:flex}.calendar-month .calendar-today{background:0 0;border:0;min-width:0;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:700}.couple-calendar .calendar-month h2{text-transform:none;text-align:center;margin:0;font-size:1.05rem}.couple-calendar .calendar-month h2:first-letter{text-transform:uppercase}.calendar-edit,.calendar-month button{border:1px solid var(--app-border);background:var(--app-surface-raised);min-width:36px;min-height:36px;color:var(--bottom-nav-active);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{text-align:center;color:var(--app-text-muted);padding:8px 0;font-size:.75rem;font-weight:800}.calendar-day{min-height:38px;color:var(--app-text);background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 0 10px;font-size:.85rem;font-weight:700;position:relative}.calendar-day.is-today,.calendar-day[aria-pressed=true]{border-color:var(--bottom-nav-active)}.calendar-day[aria-pressed=true]{color:var(--bottom-nav-active)}.calendar-day:hover,.calendar-day[aria-pressed=true],.calendar-edit:hover,.calendar-month button:hover{background:var(--bottom-nav-active-surface)}.calendar-day:focus-visible,.calendar-edit:focus-visible,.calendar-month button:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.calendar-dot{background:var(--bottom-nav-active);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:calc(50% - 2px)}.calendar-day-events{border-top:1px solid var(--app-border);margin-top:14px;padding-top:14px}.calendar-no-events{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.calendar-no-events p{color:var(--app-text-muted);margin:0;font-size:.8rem}.calendar-no-events button{color:var(--bottom-nav-active);background:0 0;border:0;padding:6px 0;font-size:.8rem;font-weight:700}.calendar-export-options{border-top:1px solid var(--app-border);margin-top:20px;padding-top:14px}.calendar-export-options summary{color:var(--app-text-muted);cursor:pointer;font-size:.8rem}.calendar-export-options .inline-action{font-size:.8rem}.calendar-upcoming{border-top:1px solid var(--app-border);padding-top:18px}.couple-calendar h3{color:var(--app-text);margin:0 0 12px;font-size:.88rem;font-weight:800}.calendar-event{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.calendar-event .history-marker{flex-shrink:0;width:34px;height:34px}.calendar-event>div{flex:1;min-width:0}.calendar-event strong{overflow-wrap:anywhere;color:var(--app-text);font-size:.85rem;display:block}.calendar-event small{color:var(--app-text-muted);margin-top:3px;font-size:.74rem;display:block}.poll-option-editor{align-items:center;gap:8px;display:flex}.poll-option-editor .form-control{flex:1;min-width:0}.poll-remove-option{border:1px solid var(--app-border);background:var(--app-surface-raised);width:42px;height:46px;color:var(--bottom-nav-active);border-radius:12px;flex-shrink:0;place-items:center;font-size:1.4rem;display:grid}.poll-remove-option:disabled{opacity:.35;cursor:not-allowed}.poll-remove-option:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.voting-editor{gap:22px;display:grid}.voting-choices{gap:10px;display:grid}.voting-choices-heading{color:var(--app-text-muted);justify-content:space-between;font-size:.82rem;font-weight:750;display:flex}.voting-choices-heading small{font-weight:500}.poll-option-number{width:24px;color:var(--app-text-muted);flex-shrink:0;place-items:center;font-size:.8rem;font-weight:750;display:grid}.voting-add-option{min-height:38px;color:var(--bottom-nav-active);background:0 0;border:0;justify-self:start;padding:5px 0;font-size:.82rem;font-weight:750}.voting-privacy{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:14px;padding:14px}.voting-privacy .form-check-label{color:var(--app-text);font-size:.88rem;font-weight:750}.voting-privacy p{color:var(--app-text-muted);margin:8px 0 0;font-size:.8rem;line-height:1.6}.voting-privacy details{margin-top:10px}.voting-privacy summary{color:var(--app-text-muted);cursor:pointer;font-size:.75rem}.voting-modal .modal-footer{flex-wrap:nowrap}.voting-modal .modal-footer .btn{flex:1;min-height:44px;font-size:.85rem}.voting-add-option:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:3px}.voting-suggestions{gap:8px;margin:4px 0 16px;display:grid}.voting-suggestions>button{border:1px solid var(--app-border);background:var(--app-surface-inset);width:100%;min-height:62px;color:var(--app-text);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.voting-suggestion-icon{background:var(--app-surface-raised);width:32px;height:32px;color:var(--bottom-nav-active);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.voting-suggestions>button>span:nth-child(2){flex:1;min-width:0}.voting-suggestions strong{font-size:.8rem;font-weight:750;display:block}.voting-suggestions small{color:var(--app-text-muted);margin-top:4px;font-size:.7rem;line-height:1.5;display:block}.voting-suggestions>button>svg{color:var(--app-text-muted);flex-shrink:0;width:12px}.voting-suggestions>button:hover{border-color:var(--bottom-nav-focus);background:var(--bottom-nav-active-surface)}.voting-suggestions>button:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.couple-activities>.together-voting>.inline-action{margin-top:auto}.couple-card-heading{color:var(--bottom-nav-active);font-size:.82rem;font-weight:850}.couple-card-heading span{align-items:center;gap:8px;display:flex}.couple-card h2{color:var(--app-text);margin:16px 0 5px;font-size:1.2rem;font-weight:850}.couple-card>p{color:var(--app-text-muted);margin:0}.compact-empty p{color:var(--app-text-muted);margin:14px 0 0}.couple-goals{gap:8px;margin-top:14px;display:grid}.couple-goals>div{background:var(--app-surface-raised);min-height:42px;color:var(--app-text);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.couple-goals svg{color:var(--bottom-nav-active)}.couple-goals .is-completed span{color:var(--app-text-muted);text-decoration:line-through}.couple-history{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 12px 28px var(--bottom-nav-shadow);border-radius:18px;padding:18px}.couple-history-list{gap:8px;display:grid}.couple-history-row{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:58px;padding:8px 10px;display:grid}.history-marker{background:var(--bottom-nav-active-surface);width:40px;height:40px;color:var(--bottom-nav-active);border-radius:12px;place-items:center;display:grid}.history-marker.is-goal{color:#31b970;background:#31b97024}.couple-history-row small,.couple-history-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.couple-history-row strong{color:var(--app-text);font-size:.92rem}.couple-history-row small{color:var(--app-text-muted);margin-top:3px;font-size:.74rem}.modal-section-label{color:var(--bottom-nav-active);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 10px;font-size:.76rem;font-weight:850}.goal-editor-list{gap:7px;display:grid}.goal-editor-row{border:1px solid var(--app-border);background:var(--app-surface-raised);min-height:44px;color:var(--app-text);border-radius:12px;grid-template-columns:28px minmax(0,1fr) 36px;align-items:center;padding:5px 6px 5px 10px;display:grid}.goal-editor-row button{width:34px;height:34px;color:var(--bottom-nav-active);background:0 0;border:0;font-size:1.35rem}.goal-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px;display:grid}.week-summary{margin:0 0 14px}.week-summary-heading{margin-bottom:12px}.week-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.week-summary-card{border:1px solid var(--app-border);background:var(--app-surface-raised);min-height:62px;color:var(--app-text);border-radius:14px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:9px 11px;text-decoration:none;display:grid}.week-summary-card.is-featured-meal{background:linear-gradient(135deg,#6ea6ff1f,var(--app-surface-raised));grid-column:1/-1;min-height:82px;padding:12px 14px}.week-summary-card.is-featured-meal .week-summary-icon{width:48px;height:48px}.week-summary-card.is-compact{grid-template-columns:38px minmax(0,1fr);min-height:76px;padding:10px}.week-summary-card.is-compact>svg{display:none}.week-summary-card.is-compact .week-summary-icon{width:38px;height:38px}.week-summary-card>svg{color:var(--app-text-muted)}.week-summary-icon{background:var(--accent-secondary-surface);width:42px;height:42px;color:var(--accent-secondary);border-radius:13px;place-items:center;display:grid}.week-summary-card.is-couple .week-summary-icon{background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.week-summary-card small,.week-summary-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.week-summary-card small{color:var(--app-text-muted);margin-top:3px;font-size:.74rem}.week-summary-label{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:.68rem;font-weight:750;display:block}.quick-action-sheet{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);border-radius:22px;overflow:hidden}.quick-action-sheet .modal-header{border-color:var(--app-border)}.quick-action-list{gap:8px;display:grid}.quick-action-list button{border:1px solid var(--app-border);background:var(--app-surface-raised);min-height:62px;color:var(--app-text);text-align:left;border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:9px 12px;display:grid}.quick-action-list button>svg{background:var(--bottom-nav-active-surface);width:42px;height:42px;color:var(--bottom-nav-active);border-radius:13px;padding:10px}.quick-action-list small,.quick-action-list strong{display:block}.quick-action-list small{color:var(--app-text-muted);margin-top:3px}@media (min-width:640px){.couple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-shell{min-height:calc(100vh - 57px);padding:16px 0 calc(122px + var(--safe-area-bottom));background:#101318}.dashboard-container{max-width:760px;padding-left:16px;padding-right:16px}.section-kicker{color:#8f98a6;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.balance-hero{color:#f4f7fb;background:#161a20;border:1px solid #2a3039;border-radius:18px;padding:18px;position:relative;overflow:hidden;box-shadow:0 12px 28px #0000003d}.balance-hero-positive{border-color:#31b97052}.balance-hero-negative{border-color:#e7595952}.balance-hero-neutral{border-color:#6ea6ff52}.balance-hero-top,.history-link,.section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.balance-hero h1,.section-heading h2{color:#f4f7fb;letter-spacing:0;margin:3px 0 0;font-size:1.08rem;font-weight:800}.balance-icon{width:42px;height:42px;color:var(--accent-secondary);background:#1d232c;border:1px solid #2c3440;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.balance-amount{letter-spacing:0;align-items:baseline;gap:8px;margin-top:22px;font-size:clamp(2.45rem,12vw,3.8rem);font-weight:900;line-height:1;display:flex}.balance-amount span{color:#8f98a6;font-size:.82rem;font-weight:800}.balance-hero-positive .balance-amount{color:var(--state-positive)}.balance-hero-negative .balance-amount{color:var(--state-negative)}.balance-hero-neutral .balance-amount{color:#f4f7fb}.balance-copy{color:#aeb6c2;margin:10px 0 0;font-size:.92rem}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.dashboard-stat-card,.recent-expenses-panel{background:#161a20;border:1px solid #2a3039;box-shadow:0 12px 28px #0000002e}.dashboard-stat-card{border-radius:16px;padding:16px}.dashboard-stat-card span{color:#8f98a6;font-size:.82rem;font-weight:700;display:block}.dashboard-stat-card strong{color:#f4f7fb;margin-top:6px;font-size:1.03rem;line-height:1.1;display:block}.recent-expenses-panel{border-radius:18px;padding:18px}.section-heading{color:#8f98a6;margin-bottom:14px}.expense-list{gap:10px;display:grid}.expense-row{color:#f4f7fb;text-align:left;background:#1b2027;border:1px solid #2a3039;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 11px;display:grid}.expense-row:active{transform:scale(.985)}.expense-icon{width:42px;height:42px;color:var(--accent-secondary);background:#202938;border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.expense-main{min-width:0}.expense-main small,.expense-main strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.expense-main strong{color:#f4f7fb;text-transform:capitalize;font-size:.95rem;font-weight:750}.expense-main small{color:#8f98a6;margin-top:3px;font-size:.76rem}.expense-delta{border-radius:999px;padding:6px 8px;font-size:.78rem;font-weight:800}.expense-delta.is-positive{color:var(--state-positive);background:#31b97029}.expense-delta.is-negative{color:var(--state-negative);background:#e7595929}.history-link{color:#d6e5ff;background:#1b2027;border:1px solid #2a3039;border-radius:14px;margin-top:16px;padding:13px 14px;font-weight:750;text-decoration:none}.empty-state{color:#8f98a6;text-align:center;border:1px dashed #313946;border-radius:16px;padding:24px 14px}.empty-state p{margin:0}.app-loading-screen{color:#f4f7fb;background:#101318;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative;overflow:hidden}.app-loading-glow{filter:blur(80px);opacity:.32;pointer-events:none;border-radius:50%;width:26rem;height:26rem;animation:app-loading-drift 9s ease-in-out infinite alternate;position:absolute}.app-loading-glow-a{background:#137eff;margin-left:-20rem;top:18%;left:50%}.app-loading-glow-b{background:#08d58a;margin-left:-6rem;animation-delay:-4.5s;bottom:14%;left:50%}.app-loading-content{text-align:center;flex-direction:column;align-items:center;animation:app-loading-enter .7s cubic-bezier(.2,.9,.3,1.2) both;display:flex;position:relative}.app-loading-mark{width:132px;height:132px;margin-bottom:26px;overflow:visible}.app-loading-mark circle,.app-loading-mark g,.app-loading-mark rect{transform-box:view-box}.app-loading-track{fill:none;stroke:#aeb6c21f;stroke-width:14px}.app-loading-ring{fill:none;stroke-width:14px;stroke-linecap:round;stroke-dasharray:760 3016;transform-origin:512px 512px;animation:app-loading-spin 1.6s cubic-bezier(.55,.15,.45,.85) infinite}.app-loading-card-left{transform-origin:512px 760px;animation:app-loading-tilt-left 2.4s ease-in-out infinite}.app-loading-card-right{transform-origin:512px 760px;animation:app-loading-tilt-right 2.4s ease-in-out infinite}.app-loading-heart{transform-origin:512px 560px;animation:app-loading-beat 1.2s ease-in-out infinite}.app-loading-equal{transform-origin:512px 540px;animation:app-loading-equal 2.4s ease-in-out infinite}.app-loading-equal-b{animation-delay:.12s}.app-loading-title{letter-spacing:-.01em;color:#0000;background:linear-gradient(90deg,#f4f7fb 0 35%,#6ea6ff 50%,#f4f7fb 65% 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:850;animation:app-loading-shimmer 2.8s linear infinite}.app-loading-message{color:#aeb6c2;margin:6px 0 20px;font-size:.9rem;font-weight:600}.app-loading-dots span{animation:app-loading-dot 1.2s ease-in-out infinite;display:inline-block}.app-loading-dots span:nth-child(2){animation-delay:.15s}.app-loading-dots span:nth-child(3){animation-delay:.3s}.app-loading-bar{background:#aeb6c224;border-radius:999px;width:140px;height:4px;position:relative;overflow:hidden}.app-loading-bar span{border-radius:inherit;background:linear-gradient(90deg,#3adaf4,#08d58a,#ff3f58);width:40%;animation:app-loading-slide 1.4s cubic-bezier(.65,0,.35,1) infinite;position:absolute;inset:0 auto 0 0}.app-splash{z-index:2000;transition:opacity .5s,transform .5s;position:fixed;inset:0}.app-splash-leaving{opacity:0;pointer-events:none;transform:scale(1.04)}@keyframes app-loading-enter{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:none}}@keyframes app-loading-spin{to{transform:rotate(1turn)}}@keyframes app-loading-tilt-left{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(-6deg)translate(-10px,14px)}75%{transform:rotate(4deg)translate(6px,-10px)}}@keyframes app-loading-tilt-right{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(-4deg)translate(-6px,-10px)}75%{transform:rotate(6deg)translate(10px,14px)}}@keyframes app-loading-beat{0%,40%,to{transform:scale(1)}12%{transform:scale(1.1)}24%{transform:scale(.97)}32%{transform:scale(1.05)}}@keyframes app-loading-equal{0%,to{transform:scaleX(1)}25%,75%{transform:scaleX(.7)}50%{transform:scaleX(1.06)}}@keyframes app-loading-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@keyframes app-loading-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes app-loading-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes app-loading-drift{0%{transform:translate(0)scale(1)}to{transform:translate(40px,-30px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.app-loading-content,.app-loading-screen *{animation-duration:.01ms!important;animation-iteration-count:1!important}.app-loading-ring{stroke-dasharray:none;opacity:.4}}.section-loader{min-height:100dvh;padding:20px 0 calc(122px + var(--safe-area-bottom));background:var(--app-background)}.section-loader-container{gap:14px;max-width:760px;margin:0 auto;padding:0 16px;display:grid}.section-loader-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.section-loader-hero{border:1px solid var(--app-border);background:var(--app-surface);border-radius:20px;gap:12px;padding:20px;display:grid}.section-loader-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.section-loader-list{gap:10px;display:grid}.section-loader-row{border:1px solid var(--app-border);background:var(--app-surface);border-radius:16px;align-items:center;gap:12px;padding:14px;animation:section-loader-in .4s both;display:flex}.section-loader-row-text{flex:1;gap:8px;display:grid}.skeleton{background:var(--app-surface-inset);border-radius:8px;display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#6ea6ff1f,#0000);animation:skeleton-shimmer 1.3s ease-in-out infinite;position:absolute;inset:0;transform:translate(-100%)}.section-loader-hero .skeleton,.section-loader-row .skeleton{background:var(--app-surface-raised)}.skeleton-title{border-radius:10px;width:42%;height:26px}.skeleton-circle{border-radius:50%;width:40px;height:40px}.skeleton-value{border-radius:12px;width:55%;height:38px}.skeleton-bar{border-radius:999px;width:100%;height:8px}.skeleton-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:18px;height:92px}.skeleton-avatar{border-radius:12px;flex-shrink:0;width:40px;height:40px}.skeleton-line{height:12px}.skeleton-w-15{width:15%}.skeleton-w-30{width:30%}.skeleton-w-35{width:35%}.skeleton-w-60{width:60%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes section-loader-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.section-loader-row,.skeleton:after{animation:none}}.history-week-list{gap:12px;display:grid}.expense-analysis-page{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.expense-analysis-page .expense-legend,.expense-analysis-page .expense-legend button,.expense-analysis-page .expense-list,.expense-analysis-page .expense-row,.expense-analysis-page>section{min-width:0}.expense-analysis-page .expense-legend button>span{overflow-wrap:anywhere}.expense-week-overview{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 12px 28px var(--bottom-nav-shadow);border-radius:18px;padding:16px}.expense-week-picker{text-align:center;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;margin-bottom:18px;display:grid}.expense-week-picker h1{color:var(--app-text);margin:3px 0 0;font-size:1rem;font-weight:850}.expense-week-picker>button{border:1px solid var(--app-border);background:var(--app-surface-raised);width:42px;height:42px;color:var(--app-text);border-radius:12px;place-items:center;display:grid}.expense-week-picker>button:disabled{color:var(--app-text-muted);opacity:.38}.expense-breakdown{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:22px;display:grid}.expense-donut{width:148px;height:148px;box-shadow:inset 0 0 0 1px var(--app-border);border-radius:50%;place-items:center;display:grid}.expense-donut>div{border:1px solid var(--app-border);background:var(--app-surface);width:88px;height:88px;box-shadow:0 4px 14px var(--bottom-nav-shadow);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.expense-donut strong{color:var(--app-text);font-size:1.08rem;line-height:1}.expense-donut span{color:var(--app-text-muted);margin-top:5px;font-size:.64rem}.expense-legend{gap:3px;display:grid}.expense-legend button{min-height:36px;color:var(--app-text-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 7px;font-size:.76rem;display:grid}.expense-legend button.is-active{border-color:var(--bottom-nav-focus);background:var(--bottom-nav-active-surface)}.expense-legend i{border-radius:50%;width:9px;height:9px}.expense-legend strong{color:var(--app-text);white-space:nowrap;font-size:.74rem}.expense-category-filters{scrollbar-width:none;gap:7px;min-width:0;max-width:100%;margin:-2px 0 13px;padding-bottom:2px;display:flex;overflow-x:auto}.expense-category-filters::-webkit-scrollbar{display:none}.expense-category-filters button{border:1px solid var(--app-border);background:var(--app-surface-raised);min-height:36px;color:var(--app-text-muted);border-radius:999px;flex:none;padding:0 12px;font-size:.74rem;font-weight:800}.expense-category-filters button.is-active{border-color:var(--accent-primary);background:var(--bottom-nav-active-surface);color:var(--accent-primary)}.expense-category-label{width:fit-content;color:var(--accent-secondary);margin-top:3px;font-size:.66rem;font-weight:800}.expense-category-filters button:focus-visible,.expense-legend button:focus-visible,.expense-week-picker button:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}@media (max-width:480px){.expense-breakdown{grid-template-columns:116px minmax(0,1fr);gap:12px}.expense-donut{width:116px;height:116px}.expense-donut>div{width:70px;height:70px}.expense-donut strong{font-size:.9rem}}.meals-view-switcher{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;display:grid}.meals-view-switcher button{min-height:44px;color:var(--app-text-muted);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:.88rem;font-weight:800;transition:background-color .16s,color .16s,box-shadow .16s;display:flex}.meals-view-switcher button.is-active{background:var(--app-surface);color:var(--accent-primary);box-shadow:0 2px 8px var(--bottom-nav-shadow)}.us-view-switcher{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.us-view-switcher button{white-space:nowrap;flex-wrap:nowrap;gap:6px;min-width:0;padding:10px 6px;font-size:.82rem}.wish-filters{gap:8px;margin:16px 0;display:grid}.wish-status-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.wish-owner-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wish-filters button{border:1px solid var(--app-border);background:var(--app-surface-inset);min-width:0;min-height:38px;color:var(--app-text-muted);overflow-wrap:anywhere;border-radius:12px;padding:7px 12px;font-size:.8rem;font-weight:750}.wish-filters button[aria-pressed=true]{border-color:var(--bottom-nav-active);background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.wish-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.couple-wishes>.activity-hint{max-width:580px;margin:12px 0 0;line-height:1.6}.couple-wishes .wish-filters{border-bottom:1px solid var(--app-border);margin:20px 0 16px;padding-bottom:16px}.wish-empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;display:flex}.wish-empty-icon{background:var(--bottom-nav-active-surface);width:52px;height:52px;color:var(--bottom-nav-active);border-radius:16px;place-items:center;margin-bottom:2px;display:grid}.wish-empty-state strong{color:var(--app-text);font-size:1rem}.wish-empty-state p{max-width:340px;color:var(--app-text-muted);margin:0;font-size:.86rem;line-height:1.6}.wish-empty-state .inline-action{margin-top:4px;font-size:.85rem}.savings-list{gap:12px;margin-top:16px;display:grid}.savings-item{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:14px;padding:16px}.savings-item h3{color:var(--app-text);overflow-wrap:anywhere;margin:0 0 10px;font-size:1rem;font-weight:800}.savings-item p{color:var(--bottom-nav-active);margin:0 0 8px;font-weight:800}.savings-item p span,.savings-item small{color:var(--app-text-muted);font-size:.82rem;font-weight:600}.savings-item progress{background:var(--app-surface-inset);width:100%;height:10px;accent-color:var(--accent-primary);border:0;border-radius:8px;margin-bottom:8px;display:block;overflow:hidden}.savings-item progress::-webkit-progress-bar{background:var(--app-surface-inset)}.savings-item progress::-webkit-progress-value{background:var(--accent-primary);border-radius:8px}.savings-item progress::-moz-progress-bar{background:var(--accent-primary);border-radius:8px}.savings-item .inline-action{margin-top:0;font-size:.82rem}.question-history{border-top:1px solid var(--app-border);margin-top:18px;padding-top:14px}.question-history summary{color:var(--bottom-nav-active);cursor:pointer;font-size:.85rem;font-weight:750}.question-history article{border-bottom:1px solid var(--app-border);padding:14px 0}.question-history h3{color:var(--app-text);margin:8px 0;font-size:.95rem}.question-history small{color:var(--app-text-muted)}.calendar-reminders{border:1px solid var(--bottom-nav-focus);color:var(--bottom-nav-active);background:var(--bottom-nav-active-surface);border-radius:14px;margin:14px 0;padding:14px}.calendar-reminders p{margin:8px 0 0;font-size:.85rem}.calendar-export{margin-bottom:20px}.contribution-row{color:var(--app-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:.85rem;display:flex}.task-copy .task-overdue{color:var(--state-negative)}.custom-modal-bg .form-text{color:var(--app-text-muted)}.wish-row{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:14px;align-items:center;gap:12px;padding:14px 12px;display:flex}.wish-toggle{width:36px;height:40px;color:var(--bottom-nav-active);background:0 0;border:0;border-radius:10px;flex-shrink:0;place-items:center;font-size:1.25rem;display:grid}.wish-content{flex:1;min-width:0}.wish-content strong{color:var(--app-text);overflow-wrap:anywhere;font-size:.95rem;display:block}.wish-content small{color:var(--app-text-muted);margin-top:4px;font-size:.8rem;display:block}.wish-content a{color:var(--bottom-nav-active);padding-top:7px;font-size:.8rem;font-weight:700;display:inline-block}.wish-row.is-completed strong{color:var(--app-text-muted);text-decoration:line-through}.wish-filters button:focus-visible,.wish-toggle:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}@media (max-width:639px){.us-view-switcher{border-radius:14px;gap:3px;padding:4px}.us-view-switcher button{border-radius:10px;flex-direction:column;gap:7px;min-height:62px;padding:9px 2px;font-size:clamp(.62rem,2.5vw,.76rem);line-height:1.2}.us-view-switcher button>svg{flex-shrink:0;width:16px;height:16px}}.us-tab-panel:not([hidden]){gap:14px;min-width:0;display:grid}.us-tab-panel:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:4px;border-radius:16px}.meals-view-switcher button:focus-visible,.shopping-completed-heading button:focus-visible,.shopping-item-menu:focus-visible,.shopping-item-toggle:focus-visible,.shopping-quick-add button:focus-visible,.shopping-quick-add input:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.shopping-list-view{gap:14px;padding-bottom:20px;display:grid}.shopping-list-heading{justify-content:space-between;align-items:center;gap:16px;padding:4px 2px 0;display:flex}.shopping-list-heading h1{color:var(--app-text);margin:2px 0 0;font-size:1.25rem;font-weight:850}.shopping-list-heading>svg{color:var(--accent-secondary)}.shopping-quick-add{grid-template-columns:minmax(0,1fr) 48px;gap:8px;display:grid}.shopping-quick-add input{border:1px solid var(--app-border);background:var(--app-surface);min-width:0;min-height:48px;color:var(--app-text);border-radius:14px;padding:0 14px;font-size:1rem;font-weight:700}.shopping-quick-add input::placeholder{color:var(--app-text-muted)}.shopping-quick-add button{border:1px solid var(--accent-primary);background:var(--accent-primary);min-width:48px;min-height:48px;color:var(--accent-primary-contrast);border-radius:14px;place-items:center;padding:0;display:grid}.shopping-quick-add button svg{width:20px;height:20px}.shopping-quick-add button:disabled{border-color:var(--app-border);background:var(--app-surface-raised);color:var(--app-text-muted);opacity:1}.shopping-list-content{gap:12px;display:grid}.shopping-category{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 8px 20px var(--bottom-nav-shadow);border-radius:17px;overflow:hidden}.shopping-category h2{color:var(--app-text-soft);letter-spacing:.025em;align-items:center;gap:8px;margin:0;padding:12px 14px 9px;font-size:.8rem;font-weight:850;display:flex}.shopping-category h2 span{background:var(--accent-secondary-surface);min-width:22px;color:var(--accent-secondary);text-align:center;border-radius:999px;padding:3px 6px;font-size:.68rem}.shopping-category ul{margin:0;padding:0 8px 8px;list-style:none}.shopping-item-row{border-top:1px solid var(--app-border);grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:48px;display:grid}.shopping-item-row:first-child{border-top:0}.shopping-item-menu,.shopping-item-toggle{width:42px;height:42px;color:var(--app-text-muted);background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.shopping-item-toggle{color:var(--accent-primary);font-size:1.25rem}.shopping-item-menu:hover{background:var(--app-surface-inset);color:var(--app-text)}.shopping-item-name{overflow-wrap:anywhere;color:var(--app-text);font-size:.94rem;font-weight:750;line-height:1.3}.shopping-item-row.is-completed .shopping-item-name{color:var(--app-text-muted);font-weight:650;text-decoration:line-through}.shopping-item-row.is-completed .shopping-item-toggle{color:var(--state-positive)}.shopping-completed{margin-top:4px}.shopping-completed-heading{justify-content:space-between;align-items:center;gap:8px;padding-right:10px;display:flex}.shopping-completed-heading button{min-height:40px;color:var(--state-negative);background:0 0;border:0;border-radius:10px;padding:0 8px;font-size:.75rem;font-weight:800}.shopping-empty-state,.shopping-list-loading{border:1px dashed var(--app-border);background:var(--app-surface);min-height:180px;color:var(--app-text-muted);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:28px 20px;display:flex}.shopping-empty-state svg{color:var(--accent-secondary);margin-bottom:12px}.shopping-empty-state strong{color:var(--app-text);font-size:1rem}.shopping-empty-state p{max-width:330px;margin:6px 0 0;font-size:.86rem;font-weight:600;line-height:1.5}.shopping-list-loading{min-height:100px;font-size:.86rem}.custom-modal-bg .form-select{border-color:var(--app-border);background-color:var(--app-surface-inset);min-height:46px;color:var(--app-text);border-radius:12px;font-weight:700}.custom-modal-bg .form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--bottom-nav-active-surface)}.today-meal-panel{background:linear-gradient(135deg,#1f6feb2e,#161a2000),#161a20;border:1px solid #6ea6ff47;border-radius:18px;margin-bottom:12px;padding:18px;box-shadow:0 12px 28px #0000002e}.tomorrow-meal-panel{background:#161a20;border:1px solid #2a3039;border-radius:18px;margin-bottom:12px;padding:16px 18px;box-shadow:0 12px 28px #00000024}.today-meal-panel h1,.tomorrow-meal-panel h2{color:#f4f7fb;letter-spacing:0;margin:3px 0 14px}.today-meal-panel h1{font-size:1.25rem;font-weight:850}.tomorrow-meal-panel h2{font-size:1.05rem;font-weight:800}.today-meal-list{gap:8px;display:grid}.today-meal-item{color:#f4f7fb;text-align:left;background:#10151c;border:1px solid #2a3039;border-radius:14px;width:100%;min-height:48px;padding:11px 12px;font-size:1rem;font-weight:800}.today-meal-item:active{transform:scale(.985)}.today-meal-empty{color:#aeb6c2;margin:0;font-size:.94rem}.week-balance{background:#1b2027;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px;font-weight:800;display:flex}.week-balance span{color:#8f98a6;font-size:.82rem}.week-balance strong{font-size:.95rem}.week-balance.is-positive strong{color:var(--state-positive)}.week-balance.is-negative strong{color:var(--state-negative)}.meals-overview{background:#161a20;border:1px solid #2a3039;border-radius:18px;padding:18px;box-shadow:0 12px 28px #0000002e}.meal-week-list{gap:14px;display:grid;position:relative}.meal-week-list:before{content:"";background:#2a3039;width:1px;position:absolute;top:12px;bottom:12px;left:22px}.meal-day-panel{grid-template-columns:46px minmax(0,1fr);gap:12px;display:grid;position:relative}.meal-day-marker{z-index:1;width:46px;height:46px;color:var(--accent-secondary);letter-spacing:0;text-transform:uppercase;background:#202938;border:1px solid #2a3039;border-radius:14px;justify-content:center;align-items:center;font-size:.72rem;font-weight:850;display:flex;position:relative}.meal-day-content{min-width:0;padding-bottom:4px}.meal-day-count-row{justify-content:flex-end;align-items:center;min-height:24px;margin-bottom:6px;display:flex}.meal-list{gap:8px;min-width:0;display:grid}.meal-row{color:#f4f7fb;text-align:left;background:#11151b;border:1px solid #2a3039;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px 12px;display:flex}.meal-row span{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:750;overflow:hidden}.meal-row:active{transform:scale(.985)}.meal-empty{color:#8f98a6;margin:0;font-size:.88rem;line-height:1.4}.custom-modal-bg{color:#f4f7fb;border:1px solid #2a3039;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #0000008c;background:#161a20!important}.modal-backdrop.show{opacity:.72}.custom-modal-bg .modal-footer,.custom-modal-bg .modal-header{background:#161a20;border-color:#2a3039}.custom-modal-bg .modal-header{min-height:58px;padding:16px 18px}.custom-modal-bg .modal-title{color:#f4f7fb;letter-spacing:0;font-size:1.05rem;font-weight:850}.custom-modal-bg .modal-body{background:#161a20;padding:18px}.custom-modal-bg .modal-footer{gap:10px;padding:14px 18px 18px}.custom-modal-bg .form-label{margin-bottom:7px;font-size:.82rem;font-weight:750;color:#aeb6c2!important}.custom-modal-bg .form-control{color:#f4f7fb;background:#10151c;border:1px solid #2a3039;border-radius:14px;min-height:46px;font-weight:700}.custom-modal-bg .form-control::placeholder{color:#697280}.custom-modal-bg .form-control:focus{border-color:var(--accent-secondary);color:#f4f7fb;background:#10151c;box-shadow:0 0 0 3px #6ea6ff29}.custom-modal-bg .form-control:disabled{color:#8f98a6;background:#1b2027;border-color:#252b35}.custom-modal-bg .modal-switch-row{background:#1b2027;border:1px solid #2a3039;border-radius:14px;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:14px;min-height:44px;display:flex;padding:10px 12px!important}.custom-modal-bg .modal-switch-row .form-check-input{cursor:pointer;background-color:#10151c;background-size:18px 18px;border-color:#3a4452;flex:none;width:44px;height:24px;margin:0!important}.custom-modal-bg .modal-switch-row .form-check-input:checked{border-color:var(--accent-primary);background-color:var(--accent-primary)}.custom-modal-bg .modal-switch-row .form-check-input:focus{box-shadow:0 0 0 3px #6ea6ff29}.custom-modal-bg .modal-switch-row .form-check-label{color:#f4f7fb;cursor:pointer;margin:0;font-size:.92rem;font-weight:750}.custom-modal-bg .modal-options-details{background:#10151c;border:1px solid #2a3039;border-radius:14px;overflow:hidden}.custom-modal-bg .modal-options-details summary{color:#aeb6c2;cursor:pointer;align-items:center;min-height:46px;padding:10px 42px 10px 12px;font-size:.88rem;font-weight:750;list-style:none;transition:color .2s,background-color .2s;display:flex;position:relative}.custom-modal-bg .modal-options-details summary::-webkit-details-marker{display:none}.custom-modal-bg .modal-options-details summary:after{content:"";border-right:2px solid var(--accent-secondary);border-bottom:2px solid var(--accent-secondary);width:8px;height:8px;transition:transform .2s;position:absolute;right:16px;transform:rotate(45deg)translateY(-2px)}.custom-modal-bg .modal-options-details summary:hover{color:#f4f7fb;background:#1b2027}.custom-modal-bg .modal-options-details summary:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #6ea6ff29}.custom-modal-bg .modal-options-details[open] summary{color:#f4f7fb;background:#1b2027;border-bottom:1px solid #2a3039}.custom-modal-bg .modal-options-details[open] summary:after{transform:rotate(225deg)translate(-2px,-2px)}.custom-modal-bg .modal-options-details .modal-switch-row{margin-left:12px;margin-right:12px}.custom-modal-bg .modal-options-details .modal-switch-row:last-child{margin-bottom:12px}.custom-modal-bg .btn-close{opacity:1;filter:none;background:#202938;border:1px solid #26354a;border-radius:12px;width:36px;height:36px;margin:-8px -8px -8px auto;padding:0;position:relative}.custom-modal-bg .btn-close:after,.custom-modal-bg .btn-close:before{content:"";background:var(--accent-secondary);border-radius:999px;width:14px;height:2px;position:absolute;top:50%;left:50%}.custom-modal-bg .btn-close:before{transform:translate(-50%,-50%)rotate(45deg)}.custom-modal-bg .btn-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.custom-modal-bg .btn-close:hover{background:#243149;border-color:#344967}.custom-modal-bg .btn-close:focus{box-shadow:0 0 0 3px #6ea6ff29}.text-light-50{color:#ffffffb3}.meal-day-card{color:#fff;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff14;border-radius:16px}.meal-day-title{letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:700}.meal-count{color:#fffc;background:#ffffff1f;border-radius:999px;padding:2px 10px;font-size:.75rem}.meal-item{background:#00000040;border:1px solid #ffffff14;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.meal-item-name{flex:1;min-width:120px;font-weight:600}.meal-edit-input{flex:1;min-width:140px}.meal-actions{gap:8px;display:flex}.meal-icon-button{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.meal-edit-actions{justify-content:center;gap:10px;width:100%;margin-top:8px;display:flex}.meal-item-button{color:inherit;text-align:left;cursor:pointer;background:#00000040;border:1px solid #ffffff14;width:100%}.meal-item-button:hover{border-color:#fff3}.list-group-item.bg-dark{border-radius:12px;margin-bottom:8px;background:#00000040!important;border-color:#ffffff14!important}.list-group-item.bg-dark:last-child{margin-bottom:0}.navbar.fixed-bottom .nav-link{transform:translateY(-6px)}.navbar.fixed-bottom .nav-link:active{opacity:.85;transform:translateY(-6px)scale(.96)}.meal-item-button:active{transform:scale(.98)}.badge{letter-spacing:.02em;font-size:.75rem}.text-secondary{color:#ffffffa6!important}.landing-hero{background:#101318;padding:5rem 0 6rem;position:relative;overflow:hidden}.landing-glow{filter:blur(120px);opacity:.35;pointer-events:none;border-radius:50%;width:520px;height:520px;position:absolute}.landing-glow-a{background:#1b5fd0;top:-220px;left:-200px}.landing-glow-b{background:#20b67a;bottom:-260px;right:-220px}.landing-badge{color:#fffc;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:10px;margin-bottom:1.5rem;padding:8px 14px;font-size:.9rem;display:inline-flex}.landing-title{color:#fff;margin-bottom:1rem;font-size:clamp(2.2rem,2.6vw + 1rem,3.3rem);font-weight:700}.landing-subtitle{color:#ffffffb3;margin-bottom:2rem;font-size:1.05rem}.landing-cta,.landing-ghost{padding:.85rem 2rem}.landing-ghost{border-width:2px}.landing-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:2.5rem;display:grid}.landing-meta-title{color:#fff;font-weight:700}.landing-meta-text{color:#ffffffa6;font-size:.95rem}.landing-card{background:#141619e6;border:1px solid #ffffff14;border-radius:20px;padding:1.75rem;box-shadow:0 22px 45px #00000059}.landing-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.landing-card-header h4{color:#fff;margin:0;font-weight:700}.landing-card-header p{color:#fff9;margin:.35rem 0 0}.landing-pill{color:#57e0a7;letter-spacing:.08em;text-transform:uppercase;background:#20b67a26;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.landing-stat{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.landing-stat-label{color:#fff9;font-size:.95rem}.landing-stat-value{color:#fff;font-size:1.4rem;font-weight:700}.landing-progress{background:#ffffff14;border-radius:999px;width:100%;height:8px;margin-bottom:1.5rem;overflow:hidden}.landing-progress-fill{background:linear-gradient(90deg,#1b5fd0,#57e0a7);width:68%;height:100%}.landing-list{gap:.75rem;margin-bottom:1.5rem;display:grid}.landing-list-item{color:#ffffffd9;background:#ffffff0a;border-radius:12px;padding:.75rem .9rem}.landing-card-footer,.landing-list-item{justify-content:space-between;align-items:center;display:flex}.landing-avatar-group{gap:8px;display:flex}.landing-avatar{color:#fff;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:inline-flex}.landing-muted{color:#fff9;font-size:.85rem}.landing-note{color:#ffffffb3;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;margin-top:1rem;padding:1rem 1.25rem}.landing-divider{background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:100%;height:1px;margin:3rem 0 2rem}.landing-panel{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;min-height:180px;padding:1.5rem}.landing-panel h3{color:#fff;margin-bottom:.75rem;font-size:1.2rem}.landing-panel p{color:#ffffffb3;margin:0}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:3rem 0;display:grid}.landing-step{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.landing-step-number{color:#9ab4ff;background:#1b5fd033;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:inline-flex}.landing-step h4{color:#fff;margin:0 0 .35rem}.landing-step p{color:#ffffffa6;margin:0}.landing-testimonials{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.landing-testimonial{color:#fffc;background:#141619e6;border:1px solid #ffffff14;border-radius:18px;padding:1.4rem}.landing-testimonial p{margin:0 0 1rem}.landing-testimonial-user{align-items:center;gap:.75rem;display:flex}.landing-testimonial-user strong{color:#fff;display:block}.landing-testimonial-user span{color:#ffffff8c;font-size:.85rem}.landing-faq{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.landing-faq-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:1.25rem}.landing-faq-item h4{color:#fff;margin:0 0 .5rem}.landing-faq-item p{color:#ffffffa6;margin:0}.landing-cta-banner{background:linear-gradient(90deg,#1b5fd033,#20b67a26);border:1px solid #ffffff1f;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.75rem 2rem;display:flex}.landing-cta-banner h3{color:#fff;margin:0 0 .35rem}.landing-cta-banner p{color:#ffffffb3;margin:0}@media (max-width:767px){.landing-hero{padding:3.5rem 0 4.5rem}.landing-card{padding:1.25rem}}.meal-day-picker{flex-wrap:wrap;gap:8px;display:flex}.meal-day-pill{color:#aeb6c2;background:#10151c;border:1px solid #2a3039;border-radius:13px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:inline-flex}.meal-day-pill.is-selected{border-color:var(--accent-secondary);color:#fff;background:#202938;box-shadow:0 0 0 3px #6ea6ff1f}.meal-day-pill:disabled{opacity:.65}.form-check-input:checked{background-color:var(--accent-primary);border-color:var(--accent-primary)}.btn{border-radius:12px;font-weight:600}.card{border-radius:16px}.btn-primary{--bs-btn-disabled-bg:var(--accent-primary);--bs-btn-disabled-border-color:var(--accent-primary);--bs-btn-disabled-color:var(--accent-primary-contrast);border-color:var(--accent-primary);background-color:var(--accent-primary);min-height:42px;color:var(--accent-primary-contrast);font-weight:800}.btn-primary:focus,.btn-primary:hover{background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:var(--accent-primary-contrast)}.btn-outline-primary{color:#9ab4ff;border-color:#9ab4ff80}.btn-outline-primary:focus,.btn-outline-primary:hover{color:#e6eeff;background-color:#1f6feb26;border-color:#2b78f6}.btn-secondary{color:#c5ceda;background-color:#181d24;border-color:#2a3039;min-height:42px;font-weight:800}.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#202733;border-color:#354050}.btn-success{color:#fff;background-color:#1f9d63;border-color:#1f9d63}.btn-success:focus,.btn-success:hover{color:#fff;background-color:#27b371;border-color:#27b371}.btn-danger{color:#ff9a9a;background-color:#e7595929;border-color:#e7595947;min-height:42px;font-weight:800}.btn-danger:focus,.btn-danger:hover{color:#ffc4c4;background-color:#e7595938;border-color:#e759596b}.btn-outline-light{color:#ffffffd9;border-color:#ffffff4d}.btn-outline-light:focus,.btn-outline-light:hover{color:#fff;background-color:#ffffff1a;border-color:#ffffff80}.btn-outline-danger{color:#ff9a9a;border-color:#e7595973;min-height:42px;font-weight:800}.btn-outline-danger:focus,.btn-outline-danger:hover{color:#ffc4c4;background:#e759591f;border-color:#e75959}.theme-setting{border:0;min-width:0;margin:0;padding:0}.theme-setting legend{color:var(--app-text-soft);margin-bottom:7px;font-size:.82rem;font-weight:750}.theme-setting-control{border:1px solid var(--app-border);background:var(--app-surface-inset);border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.theme-option{min-height:42px;color:var(--app-text-muted);background:0 0;border:0;border-radius:11px;font-weight:800;transition:color .16s,background-color .16s,box-shadow .16s}.theme-option.is-selected{background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active);box-shadow:0 1px 4px var(--bottom-nav-shadow)}.theme-option:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:1px}.theme-setting small{color:var(--app-text-muted);margin-top:7px;display:block}.favorite-action-setting{border:0;min-width:0;margin:0;padding:0}.favorite-action-setting legend{color:var(--app-text-soft);margin-bottom:7px;font-size:.82rem;font-weight:750}.favorite-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.favorite-action-option{border:1px solid var(--app-border);background:var(--app-surface-inset);min-height:42px;color:var(--app-text-muted);border-radius:12px;padding:7px 10px;font-size:.82rem;font-weight:800;transition:color .16s,border-color .16s,background-color .16s}.favorite-action-option:first-child{grid-column:1/-1}.favorite-action-option.is-selected{border-color:var(--bottom-nav-focus);background:var(--bottom-nav-active-surface);color:var(--bottom-nav-active)}.favorite-action-option:focus-visible{outline:3px solid var(--bottom-nav-focus);outline-offset:2px}.favorite-action-setting small{color:var(--app-text-muted);margin-top:7px;display:block}html[data-theme=light] .app-top-nav{border-color:var(--app-border);color:var(--app-text);background:#ffffffeb}html[data-theme=light] .app-top-nav h5,html[data-theme=light] .balance-hero h1,html[data-theme=light] .custom-modal-bg,html[data-theme=light] .custom-modal-bg .modal-switch-row .form-check-label,html[data-theme=light] .custom-modal-bg .modal-title,html[data-theme=light] .dashboard-stat-card strong,html[data-theme=light] .expense-main strong,html[data-theme=light] .expense-row,html[data-theme=light] .meal-row,html[data-theme=light] .section-heading h2,html[data-theme=light] .today-meal-item,html[data-theme=light] .today-meal-panel h1,html[data-theme=light] .tomorrow-meal-panel h2{color:var(--app-text)}html[data-theme=light] .nav-icon-button{color:var(--app-text-soft)}html[data-theme=light] .balance-icon,html[data-theme=light] .expense-icon,html[data-theme=light] .meal-day-marker,html[data-theme=light] .nav-icon-button:active{border-color:var(--app-border);background:var(--accent-secondary-surface)}html[data-theme=light] .app-loading-screen,html[data-theme=light] .dashboard-shell{background:var(--app-background);color:var(--app-text)}html[data-theme=light] .app-loading-glow{opacity:.18}html[data-theme=light] .app-loading-bar,html[data-theme=light] .app-loading-track{stroke:#2f2a2a14;background:#2f2a2a14}html[data-theme=light] .app-loading-message{color:var(--app-text-muted)}html[data-theme=light] .app-loading-title{background-image:linear-gradient(90deg,#2f2a2a 0 35%,#2563eb 50%,#2f2a2a 65% 100%)}html[data-theme=light] .balance-hero,html[data-theme=light] .custom-modal-bg,html[data-theme=light] .custom-modal-bg .modal-body,html[data-theme=light] .custom-modal-bg .modal-footer,html[data-theme=light] .custom-modal-bg .modal-header,html[data-theme=light] .dashboard-stat-card,html[data-theme=light] .meals-overview,html[data-theme=light] .recent-expenses-panel,html[data-theme=light] .today-meal-panel,html[data-theme=light] .tomorrow-meal-panel{border-color:var(--app-border);background:var(--app-surface)!important}html[data-theme=light] .custom-modal-bg .modal-options-details summary:hover,html[data-theme=light] .custom-modal-bg .modal-options-details[open] summary,html[data-theme=light] .custom-modal-bg .modal-switch-row,html[data-theme=light] .expense-row,html[data-theme=light] .history-link,html[data-theme=light] .week-balance{border-color:var(--app-border);background:var(--app-surface-raised)}html[data-theme=light] .custom-modal-bg .form-control,html[data-theme=light] .custom-modal-bg .modal-options-details,html[data-theme=light] .meal-row,html[data-theme=light] .today-meal-item{border-color:var(--app-border);background:var(--app-surface-inset);color:var(--app-text)}html[data-theme=light] .custom-modal-bg .form-label,html[data-theme=light] .dashboard-stat-card span,html[data-theme=light] .expense-main small,html[data-theme=light] .meal-empty,html[data-theme=light] .section-heading,html[data-theme=light] .section-kicker,html[data-theme=light] .today-meal-empty,html[data-theme=light] .week-balance span{color:var(--app-text-muted)!important}html[data-theme=light] .balance-copy{color:var(--app-text-soft)}html[data-theme=light] .custom-modal-bg .modal-footer,html[data-theme=light] .custom-modal-bg .modal-header,html[data-theme=light] .empty-state,html[data-theme=light] .meal-week-list:before{border-color:var(--app-border)}html[data-theme=light] .btn-outline-danger{color:var(--state-negative)}html[data-theme=light] .custom-modal-bg .btn-close{border-color:var(--app-border);background:var(--app-surface-inset)}html[data-theme=light] .custom-modal-bg .modal-title{color:var(--app-text)!important}html[data-theme=light] .custom-modal-bg .btn-close:after,html[data-theme=light] .custom-modal-bg .btn-close:before{background:var(--accent-primary)}html[data-theme=light] .custom-modal-bg .btn-close:hover{background:var(--app-accent-surface);border-color:#e7b7b7}html[data-theme=light] .custom-modal-bg .btn-close:focus{box-shadow:0 0 0 3px var(--bottom-nav-focus)}html[data-theme=light] .custom-modal-bg .form-control:focus{color:var(--app-text);box-shadow:0 0 0 3px var(--bottom-nav-active-surface);background:#fff;border-color:#c95b5b}html[data-theme=light] .custom-modal-bg .form-control:disabled{border-color:var(--app-border);color:#4b5563;opacity:1;background:#edf1f5}html[data-theme=light] .custom-modal-bg .form-control::placeholder{color:#6b7585}html[data-theme=light] .custom-modal-bg .modal-options-details summary{color:var(--app-text-muted)}html[data-theme=light] .custom-modal-bg .modal-options-details summary:hover,html[data-theme=light] .custom-modal-bg .modal-options-details[open] summary{color:var(--app-text)}html[data-theme=light] .custom-modal-bg .modal-options-details summary:after{border-color:var(--accent-primary)}html[data-theme=light] .custom-modal-bg .modal-switch-row .form-check-input{background-color:#d7dee7;border-color:#b8c2ce}html[data-theme=light] .custom-modal-bg .modal-switch-row .form-check-input:checked{border-color:var(--accent-primary);background-color:var(--accent-primary)}html[data-theme=light] .custom-modal-bg .modal-switch-row .form-check-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--bottom-nav-active-surface)}html[data-theme=light] .custom-modal-bg .modal-switch-row .form-check-input:disabled{opacity:.55}html[data-theme=light] .custom-modal-bg .btn-secondary{border-color:var(--app-border);background:var(--app-surface-inset);color:var(--app-text-soft)}html[data-theme=light] .custom-modal-bg .btn-secondary:focus,html[data-theme=light] .custom-modal-bg .btn-secondary:hover{color:var(--app-text);background:#e3e8ee;border-color:#c5ced8}html[data-theme=light] .custom-modal-bg .btn-primary{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--accent-primary-contrast)}html[data-theme=light] .custom-modal-bg .btn-primary:focus,html[data-theme=light] .custom-modal-bg .btn-primary:hover{border-color:var(--accent-primary-hover);background:var(--accent-primary-hover);color:var(--accent-primary-contrast)}html[data-theme=light] .custom-modal-bg .btn-danger{color:var(--state-negative);background:#e759591f;border-color:#b9383852}html[data-theme=light] .meal-day-pill{border-color:var(--app-border);background:var(--app-surface-inset);color:var(--app-text-muted)}html[data-theme=light] .meal-day-pill.is-selected{border-color:var(--accent-secondary);background:var(--accent-secondary-surface);color:var(--accent-secondary);box-shadow:0 0 0 3px #b938381a}html[data-theme=light] .text-light-50{color:var(--app-text-muted)!important}@media (prefers-reduced-motion:reduce){.favorite-action-option,.theme-option,body{transition:none}}html{touch-action:manipulation}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea{font-size:16px!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}