@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:100%;color:var(--text-primary);background:var(--bg-app);--nav-height: 80px;--brand-ink: hsl(var(--hue-primary), 80%, 45%);--hue-primary: 250;--hue-success: 150;--hue-warning: 35;--hue-danger: 0;--bg-app: hsl(210, 20%, 98%);--bg-surface: hsl(0, 0%, 100%);--bg-input: hsl(210, 20%, 96%);--text-primary: hsl(210, 20%, 20%);--text-secondary: hsl(210, 15%, 40%);--text-tertiary: hsl(210, 10%, 40%);--brand-primary: hsl(var(--hue-primary), 80%, 60%);--brand-secondary: hsl(var(--hue-primary), 80%, 90%);--border-subtle: hsl(210, 20%, 90%);--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-float: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--radius-full: 9999px;--trans-fast: .2s cubic-bezier(.2, .8, .2, 1);--trans-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--chart-paid: 142 70% 40%;--chart-open: 38 92% 50%;--chart-overdue: 0 75% 55%}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface);padding:.65rem 1rem;cursor:pointer;font-weight:600;line-height:1.4}button:disabled{opacity:.65;cursor:progress}button:hover:not(:disabled),.button:hover{background:var(--bg-input)}a{color:var(--brand-primary);text-underline-offset:.2em}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.primary{color:#fff;background:var(--brand-primary);border-color:var(--brand-primary)}.primary:hover:not(:disabled){background:hsl(var(--hue-primary),80%,50%)}.danger{color:#a42621;border-color:#dba5a2}:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.5rem;line-height:1.3;font-weight:700}h2{font-size:1.125rem;line-height:1.4}h3{font-size:1rem;line-height:1.45}small,.supporting{font-size:.875rem;color:var(--text-secondary)}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:48px;border:1px solid hsl(210,15%,55%);border-radius:10px;background:var(--bg-surface);padding:.75rem;line-height:1.5}textarea{min-height:112px;resize:vertical}input[type=checkbox],input[type=radio]{width:24px;height:24px;accent-color:var(--brand-primary);flex-shrink:0}label{display:grid;gap:.375rem;font-weight:500}fieldset{padding:0;margin:0;border:0;min-width:0}label.check{display:flex;align-items:center;gap:.75rem;min-height:48px}details>summary{min-height:48px;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;color:var(--brand-primary)}details>summary:after{content:"+";margin-left:auto}details[open]>summary:after{content:"−"}ul{margin:0;padding:0;list-style:none}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:2000;background:var(--bg-surface);padding:1rem}.skip-link:focus{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}p,h1,h2,h3,dd{overflow-wrap:anywhere}label,input,textarea,select{min-width:0}button,.button{max-width:100%;overflow-wrap:anywhere;min-width:0}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.auth-card .brand-icon{display:block;margin:0 auto 20px;color:#667eea}.auth-card h1{text-align:center;color:#1a202c;margin-bottom:8px;font-size:28px}.auth-card p{text-align:center;color:#718096;margin-bottom:30px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#2d3748;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;transition:all .2s;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center}.auth-footer p{margin:0;color:#718096;font-size:14px}.link-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.link-button:hover{color:#764ba2}.auth-container{min-height:100dvh}.auth-card{padding:clamp(1.25rem,5vw,2.5rem)}.auth-form :is(input,button){min-height:48px}.auth-card .link-button:hover{background:transparent}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2)}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.onboarding-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:40px;width:100%;max-width:480px;box-shadow:0 40px 100px #00000080;position:relative;overflow:hidden}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.brand-logo{color:#6366f1;width:32px;height:32px}.progress-dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s ease}.dot.active{background:#6366f1;transform:scale(1.2);box-shadow:0 0 10px #6366f180}.onboarding-step{display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon{color:#818cf8;margin-bottom:24px}.onboarding-step h2{font-size:28px;font-weight:700;color:#fff;margin-bottom:12px}.onboarding-step p{color:#94a3b8;font-size:16px;margin-bottom:32px}.onboarding-step .form-group{width:100%;margin-bottom:32px}.onboarding-step input{width:100%;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 20px;color:#fff;font-size:18px;transition:all .3s ease}.onboarding-step input:focus{outline:none;border-color:#6366f1;background:#ffffff1a;box-shadow:0 0 20px #6366f126}.onboarding-button{width:100%;background:#6366f1;color:#fff;border:none;border-radius:16px;padding:16px;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s ease}.onboarding-button:hover:not(:disabled){background:#4f46e5;transform:translateY(-2px);box-shadow:0 10px 20px #4f46e54d}.onboarding-button:disabled{opacity:.5;cursor:not-allowed}.success-icon{color:#22c55e}.onboarding-button.primary{background:#22c55e}.onboarding-button.primary:hover{background:#16a34a}.error-message{color:#f87171;font-size:14px;margin-bottom:16px;background:#f871711a;padding:12px;border-radius:8px;width:100%}.onboarding-container{min-height:100dvh;color:#fff}.onboarding-card{padding:clamp(1.25rem,5vw,2.5rem)}.onboarding-step input{background:#ffffff0d;color:#fff}.app-dialog{border:0;padding:0;color:var(--text-primary);background:var(--bg-surface);border-radius:20px 20px 0 0;width:min(100%,680px);max-width:100%;margin:auto auto 0;max-height:calc(var(--visible-height, 100dvh) - 16px);overflow:auto;overscroll-behavior:contain}.app-dialog::backdrop{background:#1a1a2e73}.dialog-surface{padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:1rem}.dialog-content{min-width:0}@media(min-width:720px){.app-dialog{margin-block:auto;border-radius:20px}}.sc-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-app) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}.sc-stage{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.sc-card{position:relative;width:180px;height:230px;overflow:hidden;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-float);border:1px solid var(--border-subtle)}.sc-card img{width:100%;height:100%;object-fit:cover}.sc-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--brand-primary)}.sc-beam{position:absolute;left:0;right:0;height:3px;background:var(--brand-primary);box-shadow:0 0 18px 6px var(--brand-secondary)}.sc-ok{width:96px;height:96px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:hsl(var(--chart-paid));color:var(--bg-surface);box-shadow:0 0 0 12px hsl(var(--chart-paid) / .18)}.sc-caption{margin:0;font-weight:600;color:var(--text-primary);text-align:center;max-width:260px}.app-dialog .sc-overlay{position:absolute;inset:0;border-radius:inherit}@media(prefers-reduced-motion:reduce){.sc-overlay{display:none}}.bottom-nav{position:fixed;z-index:20;inset:auto 0 0;background:var(--bg-surface);border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom)}.nav-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px;margin:auto}.nav-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:72px;padding:.5rem .25rem;font-size:.875rem;color:var(--text-secondary);text-decoration:none;overflow-wrap:anywhere;text-align:center;line-height:1.3}.nav-dock a[aria-current=page]{color:var(--brand-ink);background:var(--brand-secondary);font-weight:700}.add-button{position:fixed;z-index:21;left:max(1rem,calc((100vw - 680px)/2 + 1rem));bottom:calc(var(--nav-height) + 1rem);display:inline-flex;align-items:center;gap:.5rem;min-height:52px;box-shadow:var(--shadow-md)}.nav-dock a span{max-width:100%}.household-stream{min-width:0;display:grid;gap:.875rem}.stream-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.stream-heading h2{display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.stream-heading h2 svg{color:var(--brand-ink)}.stream-heading p,.stream-intro{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.stream-all{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:48px;padding:.5rem .125rem;border:0;background:transparent;color:var(--brand-ink);font-size:.875rem}.stream-list{margin:0;padding:0;list-style:none;border:1px solid var(--border-subtle);border-radius:20px;background:var(--bg-surface);box-shadow:0 8px 28px hsl(var(--hue-primary) 30% 25% / .035)}.stream-entry{list-style:none;min-width:0}.stream-entry+.stream-entry{border-top:1px solid var(--border-subtle)}.stream-row{width:100%;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:0;border-radius:18px;background:transparent;text-align:left;font-weight:400;min-height:80px;color:var(--text-primary)}.stream-glyph{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:hsl(var(--hue-primary) 75% 96%);color:var(--brand-ink);margin-top:.125rem}.stream-glyph-uploads{background:#eff5fb;color:#225487}.stream-glyph-nora{background:hsl(var(--hue-primary) 80% 94%)}.stream-copy{display:grid;gap:.25rem;flex:1;min-width:0;overflow-wrap:anywhere}.stream-meta,.stream-excerpt,.stream-foot{font-size:.875rem;line-height:1.5;color:var(--text-secondary)}.stream-title{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stream-excerpt{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.stream-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .625rem;margin-top:.125rem}.stream-state{font-size:inherit}.stream-attention{color:#823717;font-weight:600}.stream-chevron{flex-shrink:0;margin-top:.875rem;color:var(--text-secondary)}.stream-empty{padding:1.25rem;border:1px dashed var(--border-subtle);border-radius:20px;display:grid;gap:1rem;color:var(--text-secondary);background:var(--bg-surface)}.stream-empty button{justify-self:start;color:var(--brand-ink)}.stream-page{display:grid;gap:1.25rem;min-width:0}.stream-controls{display:grid;gap:.75rem}.stream-categories{display:flex;flex-wrap:wrap;gap:.5rem}.stream-categories button{border-radius:999px;min-height:48px;font-size:.875rem;padding:.5rem .875rem;color:var(--text-secondary)}.stream-categories button[aria-pressed=true]{background:hsl(var(--hue-primary) 80% 94%);color:var(--brand-ink);border-color:hsl(var(--hue-primary) 65% 76%)}.stream-filter{border-top:1px solid var(--border-subtle)}.stream-filter summary{color:var(--brand-ink);font-size:.875rem}.stream-filter .form-grid{padding-block:.5rem}.stream-day{display:grid;gap:.625rem;min-width:0}.stream-day h2{font-size:.875rem;color:var(--text-secondary);font-weight:600;padding-left:.25rem}.stream-results{color:var(--text-secondary);font-size:.875rem}.stream-share{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.stream-share .stream-intro{max-width:34ch}.stream-row:focus-visible{outline-offset:2px;position:relative;z-index:1}@media(hover:hover)and (pointer:fine){.stream-row:hover{background:hsl(var(--hue-primary) 65% 98%)}.stream-row:hover .stream-chevron{color:var(--brand-ink)}}@media(max-width:380px){.stream-row{padding:.875rem .75rem;gap:.625rem}.stream-glyph{width:36px;height:36px;border-radius:12px}.stream-chevron{display:none}}@media(prefers-contrast:more){.stream-list{box-shadow:none;border-color:var(--text-secondary)}}@media(forced-colors:active){.stream-categories button[aria-pressed=true]{border:2px solid Highlight}}.stream-share>button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.as-overlay{position:fixed;inset:0;z-index:1200;background:#00000073;display:flex;align-items:flex-end;justify-content:center}@media(min-width:640px){.as-overlay{align-items:center}}.as-sheet{width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.1rem 1.1rem 1.4rem;box-shadow:var(--shadow-lg)}@media(min-width:640px){.as-sheet{border-radius:var(--radius-lg)}}.as-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.as-head h3{margin:0;font-size:1.05rem}.as-x{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;padding:4px}.as-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem;font-size:.8rem;color:var(--text-secondary)}.as-field input,.as-field textarea,.as-field select{font:inherit;font-size:.95rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.55rem .7rem}.as-row{display:flex;gap:.6rem}.as-row>*{flex:1}.as-check{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.7rem}.as-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.6rem;flex-wrap:wrap}.as-btn{font:inherit;font-size:.88rem;border-radius:var(--radius-full);padding:.5rem 1rem;cursor:pointer;border:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);display:inline-flex;align-items:center;gap:.35rem}.as-btn.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--bg-surface)}.as-btn.danger{color:var(--hue-danger);border-color:var(--hue-danger);margin-right:auto}.as-btn:disabled{opacity:.55;cursor:default}.task-add{display:flex;gap:.5rem;margin-bottom:.9rem}.task-add input{flex:1;font:inherit;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.55rem .7rem;min-width:0}.task-add input[type=date]{flex:0 0 auto;width:9.5rem}.task-row{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:.5rem}.task-check{background:transparent;border:0;padding:0;cursor:pointer;color:var(--text-tertiary);display:inline-flex}.task-check.done{color:var(--hue-success)}.task-body{flex:1;min-width:0;cursor:pointer}.task-body strong{display:block;font-weight:500;font-size:.93rem;overflow-wrap:anywhere}.task-row.done .task-body strong{text-decoration:line-through;color:var(--text-tertiary)}.task-body small{color:var(--text-secondary);font-size:.75rem}.task-body small.overdue{color:var(--hue-danger)}.agenda-add-btn{font:inherit;font-size:.82rem;border-radius:var(--radius-full);padding:.4rem .85rem;border:0;cursor:pointer;background:var(--brand-primary);color:var(--bg-surface);display:inline-flex;align-items:center;gap:.3rem}.agenda-list{margin-top:1rem}.agenda-list h4{font-size:.8rem;color:var(--text-secondary);margin:0 0 .5rem;font-weight:500}.agenda-list-row{display:flex;gap:.7rem;align-items:center;width:100%;text-align:left;font:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.6rem .8rem;margin-bottom:.45rem;cursor:pointer}.agenda-list-row time{font-size:.75rem;color:var(--brand-primary);min-width:4.5rem}.agenda-list-row small{display:block;color:var(--text-secondary);font-size:.75rem}.feed-card-status.clickable{cursor:pointer;background:transparent;border:0;padding:0}.overview-btn{background:transparent;border:none;cursor:pointer;padding:8px;color:inherit;display:inline-flex}.bulk-drop{display:flex;flex-direction:column;align-items:center;gap:.3rem;border:2px dashed var(--border-subtle);border-radius:var(--radius-md);padding:1.4rem;cursor:pointer;color:var(--text-secondary);margin-bottom:.8rem}.bulk-progress{height:6px;border-radius:var(--radius-full);background:var(--bg-input);overflow:hidden;margin-bottom:.6rem}.bulk-progress>div{height:100%;background:var(--brand-primary);transition:width .3s}.bulk-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.bulk-list li{display:flex;align-items:center;gap:.5rem}.bulk-list li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-st{color:var(--text-tertiary)}.bulk-st.ok{color:var(--hue-success)}.bulk-st.err{color:var(--hue-danger)}.spinning{animation:as-spin 1s linear infinite}@keyframes as-spin{to{transform:rotate(360deg)}}.cc-sheet-wrap{max-width:760px}.as-overlay>*{padding-bottom:max(1rem,env(safe-area-inset-bottom));max-height:92dvh;overflow-y:auto}.board-container{padding:1rem 1rem 6rem;background:var(--bg-app);display:flex;flex-direction:column;gap:1rem}.board-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.board-title{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.timeframe-toggles{display:flex;gap:.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:.25rem}.tf-btn{padding:.25rem .5rem;font-size:.75rem;border-radius:var(--radius-full);color:var(--text-secondary);border:none;background:none;cursor:pointer;transition:all .2s}.tf-btn:hover{color:var(--text-primary)}.tf-btn.active{background:var(--brand-primary);color:#fff;font-weight:500}.date-nav{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.5rem 1rem;box-shadow:var(--shadow-sm)}.nav-arrow{color:var(--text-secondary);padding:.25rem;border-radius:50%;cursor:pointer;border:none;background:transparent;display:flex;justify-content:center;align-items:center;transition:background .2s}.nav-arrow:hover{background:var(--bg-input);color:var(--text-primary)}.current-date-label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.board-content{display:flex;flex-direction:column;gap:1.5rem}.board-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{text-align:center;color:var(--text-tertiary);padding:2rem;font-style:italic}.section-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.finance-summary-card{background:var(--bg-surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:.75rem}.finance-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.finance-value{font-size:2.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:baseline;gap:.25rem}.currency{font-size:1.5rem;color:var(--text-tertiary);font-weight:400}.budget-container{width:100%;height:.75rem;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden;position:relative;margin-top:.5rem}.budget-bar{height:100%;background-color:hsl(var(--hue-success),70%,50%);border-radius:var(--radius-full);opacity:.8}.finance-sub-label{font-size:.75rem;color:var(--text-tertiary)}.day-schedule{display:flex;flex-direction:column;gap:0}.hour-block{display:grid;grid-template-columns:80px 1fr;min-height:60px;border-bottom:1px solid var(--border-subtle)}.hour-label{padding:.5rem;font-size:.85rem;font-weight:600;color:var(--text-tertiary);text-align:right}.hour-items{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.schedule-item{display:flex;gap:.75rem;padding:.75rem;background:var(--bg-surface);border-left:3px solid var(--brand-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.item-dot{width:8px;height:8px;background:var(--brand-primary);border-radius:50%;margin-top:6px;flex-shrink:0}.item-details{flex:1}.item-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.item-time{font-size:.8rem;color:var(--text-secondary)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.week-day{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface)}.week-day.today{border-color:var(--brand-primary);border-width:2px}.week-day-header{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);padding:.75rem;text-align:center;border-bottom:1px solid var(--border-subtle)}.week-day.today .week-day-header{background:linear-gradient(to bottom,var(--brand-primary),hsl(250,80%,55%));color:#fff}.day-name{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.day-number{font-size:1.5rem;font-weight:700}.week-day-items{padding:.5rem;min-height:100px;display:flex;flex-direction:column;gap:.5rem}.week-item{padding:.5rem;background:#f9fafb;border-radius:var(--radius-sm);border-left:3px solid var(--brand-primary)}.week-item-time{font-size:.7rem;font-weight:600;color:var(--brand-primary);margin-bottom:.25rem}.week-item-title{font-size:.85rem;font-weight:500;color:var(--text-primary);line-height:1.3}.no-items{text-align:center;color:var(--text-tertiary);padding:2rem 0;font-size:1.5rem}.month-calendar{background:var(--bg-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid var(--border-subtle)}.calendar-weekday{padding:.75rem;text-align:center;font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle)}.calendar-day{background:#fff;min-height:80px;padding:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:all .2s}.calendar-day:hover{background:#f9fafb}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day.today{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.calendar-day.has-items{background:#fffbeb}.calendar-day.today.has-items{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.calendar-day-number{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.calendar-day.today .calendar-day-number{color:var(--brand-primary)}.calendar-day-count{font-size:.75rem;font-weight:600;color:var(--brand-primary);background:#fff;padding:2px 8px;border-radius:12px}.year-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.year-month{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s}.year-month:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.year-month.current{border-color:var(--brand-primary);border-width:2px;background:linear-gradient(135deg,#eef2ff,#f9fafb)}.year-month.has-items{background:#fffbeb}.year-month.current.has-items{background:linear-gradient(135deg,#dbeafe,#fef3c7)}.year-month-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.year-month-count{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.year-month.has-items .year-month-count{color:var(--brand-primary)}@media(max-width:768px){.week-grid{grid-template-columns:1fr}.year-overview{grid-template-columns:repeat(3,1fr)}.calendar-day{min-height:60px;font-size:.85rem}}@media(max-width:480px){.hour-block{grid-template-columns:60px 1fr}.hour-label{font-size:.75rem}.year-overview{grid-template-columns:repeat(2,1fr)}.calendar-weekday{font-size:.7rem;padding:.5rem}}.fin-tabs{display:flex;gap:4px;padding:4px;margin:0 0 12px;background:var(--bg-input);border-radius:var(--radius-full)}.fin-tabs button{flex:1;border:0;background:transparent;padding:8px 10px;border-radius:var(--radius-full);color:var(--text-secondary);font-weight:600;cursor:pointer}.dl{display:flex;flex-direction:column;gap:12px}.dl-scope{display:inline-flex;gap:4px;align-self:flex-start;padding:3px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface)}.dl-scope button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:6px 14px;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-weight:600}.dl-scope button.on{background:var(--brand-primary);color:var(--bg-surface)}.dl-search{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-tertiary)}.dl-search input{flex:1;border:0;outline:none;background:transparent;color:var(--text-primary);font-size:15px;min-width:0}.dl-search button{border:0;background:transparent;color:var(--text-tertiary);cursor:pointer}.dl-row{display:flex;gap:8px;align-items:center}.dl-chips{display:flex;gap:6px;overflow-x:auto;flex:1;scrollbar-width:none}.dl-chips button{flex-shrink:0;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);padding:5px 12px;border-radius:var(--radius-full);font-size:13px;cursor:pointer}.dl-chips button.on{border-color:var(--brand-primary);color:var(--brand-primary);font-weight:600}.dl-sort{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);padding:5px 6px;font-size:13px}.dl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dl-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary)}.dl-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--brand-primary);flex-shrink:0}.dl-main{flex:1;min-width:0;display:flex;flex-direction:column}.dl-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.dl-main small{color:var(--text-tertiary);font-size:12px}.dl-amt{font-weight:600;font-variant-numeric:tabular-nums}.dl-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;color:var(--text-secondary);text-align:center}.dl-empty p{margin:0;font-size:14px}.dl-sheet{max-height:90vh;overflow-y:auto}.dl-sub{display:flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:13px;margin:0 0 12px}.dl-frame{display:grid;place-items:center;min-height:200px;background:var(--bg-input);border-radius:var(--radius-md);overflow:hidden;margin-bottom:12px;color:var(--text-secondary);text-align:center}.dl-frame img{max-width:100%;max-height:55vh;object-fit:contain}.dl-frame iframe{width:100%;height:55vh;border:0;background:var(--bg-surface)}.dl-meta{margin:0 0 6px;font-size:14px;color:var(--text-secondary)}.dl-actions{display:flex;gap:8px;margin-top:12px}.dl-actions .as-btn{flex:1;justify-content:center;display:inline-flex;align-items:center;gap:6px}.dl-danger{color:hsl(var(--hue-danger),60%,45%);border-color:hsl(var(--hue-danger),60%,70%)}.dl-note{font-size:12px;color:var(--text-tertiary);margin:8px 0 0;text-align:center}.net-flow-card{display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;background:var(--bg-surface);box-shadow:var(--shadow-sm);margin-bottom:1rem}.flow-breakdown{display:flex;width:100%;justify-content:space-around;margin-top:1rem;border-top:1px solid var(--border-subtle);padding-top:.5rem;font-size:.8rem}.flow-item{display:flex;align-items:center;gap:.25rem}.flow-item.income{color:var(--brand-primary)}.flow-item.expense{color:hsl(var(--hue-danger),60%,50%)}.finance-value.positive{color:var(--brand-primary)}.finance-value.negative{color:hsl(var(--hue-danger),60%,50%)}.section-title{margin-top:1rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.section-title.warning{color:hsl(var(--hue-warning),80%,40%);display:flex;align-items:center;gap:.25rem}.bills-horizontal-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.bill-card-mini{min-width:100px;background:hsl(var(--hue-warning),100%,98%);border:1px solid hsl(var(--hue-warning),80%,90%);border-radius:var(--radius-sm);padding:.5rem;display:flex;flex-direction:column;align-items:center}.bill-date-badge{background:#fff;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700;color:hsl(var(--hue-warning),80%,40%);margin-bottom:4px}.bill-info{text-align:center}.bill-merchant{font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.bill-amount{font-size:.8rem;font-weight:400}.finance-widget{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem}.budget-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem}.budget-cat{width:80px;font-weight:500}.budget-track{flex:1;height:6px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden}.budget-fill{background:hsl(var(--hue-success),60%,50%);height:100%}.budget-fill.business{background:hsl(var(--hue-primary),60%,50%)}.budget-val{width:60px;text-align:right;color:var(--text-tertiary)}.finance-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.35rem;min-width:0;box-shadow:var(--shadow-sm)}.metric-card.success{background:hsla(var(--hue-success),70%,50%,.08);border-color:hsla(var(--hue-success),70%,50%,.25);color:hsl(var(--hue-success),45%,28%)}.metric-card.danger{background:hsla(var(--hue-danger),70%,55%,.08);border-color:hsla(var(--hue-danger),70%,55%,.25);color:hsl(var(--hue-danger),55%,38%)}.metric-head{display:flex;align-items:center;gap:.4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.metric-head .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.1}.metric-card.success .metric-value,.metric-card.danger .metric-value{color:inherit}.metric-sub{font-size:.7rem;opacity:.65}.finance-filters-row{display:flex;flex-wrap:wrap;gap:.5rem}.finance-select{font-size:.75rem;padding:.4rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);cursor:pointer;font-family:inherit}.finance-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.finance-section-head .section-title{margin:0}.finance-segment{display:inline-flex;border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:.15rem;background:var(--bg-input)}.finance-segment button{font-size:.7rem;padding:.25rem .7rem;border-radius:var(--radius-full);color:var(--text-secondary)}.finance-segment button.active{background:var(--brand-primary);color:#fff;font-weight:500}.finance-widget.warning-bg{background:hsla(var(--hue-danger),70%,55%,.05);border-color:hsla(var(--hue-danger),70%,55%,.25)}.finance-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--text-secondary);font-size:.85rem}.finance-empty-chart{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:1.5rem 1rem;color:var(--text-tertiary)}.finance-empty-chart .title{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.finance-empty-chart .sub{font-size:.75rem;max-width:22rem}.finance-scan-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;padding:.45rem .85rem;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;border:none;cursor:pointer;font-weight:500;transition:background var(--trans-fast)}.finance-scan-btn:hover:not(:disabled){background:hsl(var(--hue-primary),80%,55%)}.finance-scan-btn:disabled{opacity:.6;cursor:not-allowed}.finance-scan-btn.ghost{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-subtle)}.finance-scan-btn.ghost:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.bill-list{display:flex;flex-direction:column;gap:.5rem}.bill-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--bg-app);border:1px solid var(--border-subtle);cursor:pointer;transition:border-color var(--trans-fast),background var(--trans-fast)}.bill-row:hover{border-color:var(--brand-primary)}.bill-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.bill-row-title{display:flex;align-items:center;gap:.4rem;min-width:0}.bill-row-title .name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.7rem;color:var(--text-tertiary)}.bill-row-meta .overdue{color:hsl(var(--hue-danger),65%,50%);font-weight:500}.bill-row-amount{font-size:.9rem;font-weight:600;color:var(--text-primary);flex-shrink:0;text-align:right}.bill-row-amount.paid{color:var(--text-tertiary);text-decoration:line-through;font-weight:500}.bill-pay-btn{flex-shrink:0;height:2.25rem;width:2.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:hsl(var(--hue-success),55%,40%);transition:background var(--trans-fast)}.bill-pay-btn:hover{background:hsla(var(--hue-success),70%,50%,.15)}.bill-badge{font-size:.625rem;padding:.1rem .5rem;border-radius:var(--radius-full);background:var(--bg-input);color:var(--text-secondary);font-weight:500}.bill-badge.warn{background:hsla(var(--hue-warning),80%,50%,.2);color:hsl(var(--hue-warning),80%,32%)}.bill-badge.danger{background:hsla(var(--hue-danger),70%,55%,.2);color:hsl(var(--hue-danger),60%,42%)}.bill-badge.draft{background:#f9c31f38;color:#8b6518}.bill-badge.recurring{display:inline-flex;align-items:center;gap:.25rem;background:var(--brand-secondary);color:var(--brand-primary)}.lock-icon{color:var(--text-tertiary);flex-shrink:0}.creditor-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-app);overflow:hidden}.creditor-card.overdue{border-color:hsla(var(--hue-danger),70%,55%,.3);background:hsla(var(--hue-danger),70%,55%,.04)}.creditor-toggle{width:100%;display:flex;align-items:center;gap:.65rem;padding:.75rem;text-align:left}.creditor-toggle .chev{color:var(--text-tertiary);flex-shrink:0}.creditor-body{padding:.5rem .75rem .75rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.right-meta{text-align:right;flex-shrink:0}.right-meta .total{font-size:.875rem;font-weight:600;color:var(--text-primary)}.right-meta .label{font-size:.625rem;color:var(--text-tertiary)}.forecast-tooltip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.5rem .65rem;font-size:.7rem;color:var(--text-primary);box-shadow:var(--shadow-md)}.forecast-tooltip .label{font-weight:600;margin-bottom:.2rem}.forecast-tooltip .row{opacity:.7}.forecast-footnote{font-size:.625rem;color:var(--text-tertiary);margin-top:.5rem}.forecast-title{display:flex;align-items:center;gap:.3rem}.review-backdrop{position:fixed;inset:0;z-index:1200;background:#00000073;display:flex;align-items:flex-end;justify-content:center}@media(min-width:640px){.review-backdrop{align-items:center;padding:1rem}}.review-panel{width:100%;max-width:28rem;background:var(--bg-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}@media(min-width:640px){.review-panel{border-radius:var(--radius-md)}}.review-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.review-head h3{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.review-warning{border:1px solid hsla(var(--hue-warning),80%,50%,.3);background:hsla(var(--hue-warning),80%,50%,.1);color:hsl(var(--hue-warning),80%,28%);padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:.75rem}.review-warning .title{font-weight:600;margin-bottom:.15rem}.review-warning button{margin-top:.5rem;padding:.35rem .7rem;font-size:.7rem;border-radius:var(--radius-sm);background:hsla(var(--hue-warning),80%,50%,.22);color:hsl(var(--hue-warning),80%,28%)}.review-warning button:hover:not(:disabled){background:hsla(var(--hue-warning),80%,50%,.32)}.review-fields{display:flex;flex-direction:column;gap:.75rem}.review-field{display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;color:var(--text-secondary)}.review-field input{width:100%;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);font-size:.85rem;margin-top:.25rem}.review-actions{display:flex;gap:.5rem;padding-top:.25rem}.review-btn{flex:1;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;font-weight:500;transition:background var(--trans-fast)}.review-btn.secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-subtle)}.review-btn.primary{background:var(--brand-primary);color:#fff;border:none}.review-btn.primary:disabled{opacity:.5;cursor:not-allowed}.review-btn.success{background:hsla(var(--hue-success),70%,50%,.12);border:1px solid hsla(var(--hue-success),70%,50%,.3);color:hsl(var(--hue-success),45%,30%);width:100%}.review-btn.success:disabled{opacity:.5;cursor:not-allowed}.review-warn-pill{font-size:.65rem;padding:.2rem .55rem;border-radius:var(--radius-full);background:hsla(var(--hue-warning),80%,50%,.2);color:hsl(var(--hue-warning),80%,32%)}.nora-fb-wrap{position:fixed;inset:0;z-index:9999;pointer-events:none;display:flex;align-items:center;justify-content:center}.nora-fb-stack{display:flex;flex-direction:column;align-items:center;gap:.75rem}.nora-fb-badge{position:relative;height:5rem;width:5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.nora-fb-badge.success{background:hsl(var(--hue-success),60%,42%);box-shadow:0 0 0 8px hsla(var(--hue-success),70%,55%,.18)}.nora-fb-badge.thinking{background:var(--brand-primary);box-shadow:0 0 0 8px hsla(var(--hue-primary),80%,65%,.18)}.nora-fb-badge.error{background:hsl(var(--hue-danger),65%,50%);box-shadow:0 0 0 8px hsla(var(--hue-danger),70%,60%,.18)}.nora-fb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.7)}.nora-fb-label{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.55rem .9rem;box-shadow:var(--shadow-md);text-align:center;max-width:18rem}.nora-fb-label .msg{font-size:.85rem;font-weight:600;color:var(--text-primary)}.nora-fb-label .desc{font-size:.7rem;color:var(--text-secondary);margin-top:.15rem}.fin-honest{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0}.fin-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.85rem}.fin-card-head{display:flex;justify-content:space-between;align-items:flex-start}.fin-label{font-size:.78rem;color:var(--text-secondary)}.fin-big{font-size:1.9rem;font-weight:700;color:var(--text-primary)}.fin-muted{color:var(--text-secondary);font-size:.85rem;margin:0}.fin-small{font-size:.75rem}.fin-ghost{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-input);color:var(--text-primary);border:none;border-radius:var(--radius-full);padding:.4rem .75rem;font-size:.8rem;cursor:pointer}.fin-ghost:disabled{opacity:.6}.fin-bucket{display:flex;flex-direction:column;gap:.35rem}.fin-bucket-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-primary)}.fin-bar{height:8px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden}.fin-bar-fill{height:100%;background:var(--brand-primary);border-radius:inherit;transition:width var(--trans-fast)}.fin-bar-fill.over{background:hsl(var(--chart-overdue))}.fin-split2{display:flex;gap:.5rem}.fin-split2 span{flex:1;background:var(--bg-input);border-radius:var(--radius-sm);padding:.5rem;font-size:.85rem;text-align:center;color:var(--text-primary)}.fin-warn{display:flex;align-items:center;gap:.35rem;color:hsl(var(--chart-overdue));font-size:.85rem;margin:0}.fin-pots{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.fin-pot{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--bg-input);border-radius:var(--radius-sm);padding:.75rem .25rem;text-align:center}.fin-pot-emoji{font-size:1.3rem}.fin-pot-amt{font-weight:700;color:var(--text-primary)}.fin-h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-primary);margin:.5rem 0}.fin-count{background:var(--brand-secondary);color:var(--brand-primary);border-radius:var(--radius-full);padding:0 .5rem;font-size:.75rem}.fin-empty{padding:1rem 0}.fin-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.fin-pay{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem}.fin-pay.late{border-color:hsl(var(--chart-overdue) / .5)}.fin-pay-top{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.fin-pay-amt{font-weight:700;color:var(--text-primary)}.fin-row-name{font-weight:600;color:var(--text-primary);display:inline-flex;align-items:center;gap:.25rem}.fin-late{color:hsl(var(--chart-overdue))}.fin-pay-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.fin-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-input);color:var(--text-primary);border:none;border-radius:var(--radius-full);padding:.3rem .6rem;font-size:.75rem;cursor:pointer}.fin-paid-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;background:hsl(var(--chart-paid));color:var(--bg-surface);border:none;border-radius:var(--radius-full);padding:.35rem .8rem;font-size:.8rem;font-weight:600;cursor:pointer}.fin-collapse{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:.5rem 0}.fin-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-input);border-radius:var(--radius-sm);font-size:.85rem}.fin-row .fin-row-name{flex:1}.fin-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.pot-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.pot-list{display:flex;flex-direction:column;gap:.5rem}.pot-row{display:flex;gap:.7rem;align-items:center;width:100%;text-align:left;font:inherit;background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);padding:.65rem .75rem;cursor:pointer;color:var(--text-primary);transition:transform var(--trans-fast),border-color var(--trans-fast)}.pot-row:hover{border-color:var(--border-subtle)}.pot-row:active{transform:scale(.98)}.pot-row-emoji{font-size:1.5rem}.pot-row-main{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.pot-row .fin-bar{display:block}.pot-row .fin-bar-fill{display:block;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}.pot-select{font:inherit;font-size:.78rem;border-radius:var(--radius-full);border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);padding:.3rem .6rem}.pot-select.set{border-style:solid;color:var(--text-primary);background:var(--bg-input)}.pot-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem;margin-bottom:.8rem}.pot-emoji{font-size:1.35rem;padding:.35rem;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--bg-input);cursor:pointer}.pot-emoji.on{border-color:var(--brand-primary)}.pot-types{display:flex;flex-direction:column;gap:.4rem}.pot-type{font:inherit;text-align:left;display:flex;flex-direction:column;gap:.1rem;padding:.55rem .7rem;border-radius:var(--radius-sm);border:2px solid var(--border-subtle);background:transparent;color:var(--text-primary);cursor:pointer}.pot-type small{color:var(--text-secondary)}.pot-type.on{border-color:var(--brand-primary);background:var(--brand-secondary)}.pot-scope{display:inline-flex;background:var(--bg-input);border-radius:var(--radius-full);padding:3px;margin-bottom:.4rem}.pot-scope button{font:inherit;font-size:.82rem;display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:var(--text-secondary);padding:.35rem .8rem;border-radius:var(--radius-full);cursor:pointer}.pot-scope button.on{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.fin-input{display:block;width:100%;margin-top:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-sm);font:inherit}.as-sheet form,form.as-sheet{display:flex;flex-direction:column;gap:12px}.pot-forecast{margin-top:.75rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--bg-input);display:grid;gap:.35rem}.fin-ok{color:hsl(var(--chart-paid));display:block}.mp{display:flex;flex-direction:column;gap:1rem}.mp-muted{color:var(--text-tertiary);font-weight:400;font-size:.8rem}.mp-meter{background:linear-gradient(135deg,var(--brand-secondary),var(--bg-surface));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.mp-meter-label{font-size:.8rem;color:var(--text-secondary)}.mp-meter-value{font-size:2.4rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;animation:mp-pop var(--trans-spring)}.mp-meter-value.neg{color:hsl(var(--hue-danger),65%,52%)}.mp-meter-sub{font-size:.88rem;color:var(--text-secondary);margin-top:.2rem}.mp-bar{display:flex;height:10px;border-radius:var(--radius-full);overflow:hidden;background:var(--bg-input);margin-top:.9rem}.mp-bar span{transition:width .6s cubic-bezier(.2,.8,.2,1)}.mp-bar-fixed,.dot.fixed{background:hsl(var(--chart-open))}.mp-bar-save,.dot.save{background:var(--brand-primary)}.mp-bar-free,.dot.free{background:hsl(var(--chart-paid))}.mp-legend{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.mp-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.3rem}.mp-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem}.mp-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.mp-section-head h3{margin:0;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.mp-add{font:inherit;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--border-subtle);background:transparent;color:var(--brand-primary);border-radius:var(--radius-full);padding:.3rem .7rem;cursor:pointer}.mp-empty{font-size:.85rem;color:var(--text-tertiary);margin:.2rem 0}.mp-list{list-style:none;margin:0;padding:0}.mp-list li{border-top:1px solid var(--border-subtle)}.mp-income-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.2rem .6rem;width:100%;padding:.7rem 0;font:inherit;text-align:left;color:var(--text-primary);background:transparent;border:0;cursor:pointer}.mp-income-row:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.mp-income-row .mp-list-name{overflow-wrap:anywhere}.mp-income-row .mp-list-amt{display:flex;align-items:center;gap:.5rem}.mp-income-only .mp-section{border:0;padding:0;background:transparent}.mp-income-only .mp-section-head{flex-wrap:wrap;gap:.5rem}.mp-list li:first-child{border-top:0}.mp-list-name{font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:.35rem}.mp-list-meta{font-size:.75rem;color:var(--text-tertiary);grid-row:2}.mp-list-amt{grid-row:1 / 3;grid-column:2;align-self:center;font-weight:600}.mp-goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem}.mp-goal{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.8rem;background:var(--bg-app);transition:transform var(--trans-fast)}.mp-goal:hover{transform:translateY(-2px)}.mp-goal.done{border-color:hsl(var(--chart-paid))}.mp-goal-main{display:flex;gap:.75rem;align-items:center;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.mp-jar{--fill: 0%;position:relative;flex:none;width:52px;height:60px;border-radius:12px 12px 18px 18px;border:2px solid var(--brand-primary);overflow:hidden;display:grid;place-items:center;background:var(--bg-surface)}.mp-jar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--fill);background:var(--brand-secondary);transition:height .8s cubic-bezier(.2,.8,.2,1)}.mp-jar span{position:relative;font-size:1.4rem}.mp-goal-name{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.3rem}.mp-goal-amt{font-size:.85rem}.mp-goal-eta{font-size:.75rem;color:var(--text-secondary);margin-top:.1rem}.mp-deposit{margin-top:.6rem;align-self:flex-start;font:inherit;font-size:.78rem;border-radius:var(--radius-full);padding:.3rem .8rem;border:0;background:var(--brand-primary);color:var(--bg-surface);cursor:pointer;transition:transform var(--trans-spring)}.mp-deposit:active{transform:scale(.92)}.mp-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}.mp-chips button,.mp-emojis button{font:inherit;font-size:.8rem;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);border-radius:var(--radius-full);padding:.3rem .75rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.mp-chips button.on{background:var(--brand-secondary);color:var(--text-primary);border-color:var(--brand-primary)}.mp-emojis{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.7rem}.mp-emojis button{font-size:1.2rem;padding:.25rem .5rem}.mp-emojis button.on{border-color:var(--brand-primary);background:var(--brand-secondary);transform:scale(1.1)}.mp-row2{display:flex;gap:.6rem}.mp-row2>*{flex:1;min-width:0}.mp-goal-sheet{max-height:92vh;overflow-y:auto}.mp-sim{background:var(--bg-app);border-radius:var(--radius-md);padding:.9rem;margin-bottom:.8rem}.mp-sim-head{font-weight:600;font-size:.9rem;margin-bottom:.5rem}.mp-slider{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--text-secondary);margin-bottom:.6rem}.mp-slider strong{color:var(--text-primary)}.mp-slider input[type=range]{width:100%;accent-color:var(--brand-primary)}.mp-finish{font-size:.9rem;margin:.3rem 0}.mp-verdict{font-size:.8rem;padding:.4rem .6rem;border-radius:var(--radius-sm);margin-bottom:.4rem}.mp-verdict.ok{background:hsl(var(--chart-paid) / .12);color:hsl(var(--chart-paid))}.mp-verdict.warn{background:hsl(var(--chart-open) / .14);color:hsl(var(--chart-open))}.mp-verdict.bad{background:hsl(var(--chart-overdue) / .12);color:hsl(var(--chart-overdue))}.mp-chart{margin-top:.4rem}.fin-tabs{display:flex;gap:.3rem;background:var(--bg-input);border-radius:var(--radius-full);padding:.25rem;margin:0 0 1rem;width:fit-content}.fin-tabs button{font:inherit;font-size:.85rem;border:0;background:transparent;color:var(--text-secondary);border-radius:var(--radius-full);padding:.4rem 1rem;cursor:pointer}.fin-tabs button.on{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}@keyframes mp-pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.mp{min-width:0}.mp .mp-muted,.mp .mp-empty,.mp .mp-list-meta{color:var(--text-secondary);font-size:.9375rem}.mp .mp-meter-label,.mp .mp-list-name,.mp .mp-goal-name,.mp .mp-goal-amt,.mp .mp-goal-eta,.mp .mp-add,.mp .mp-deposit{font-size:1rem}.mp .mp-section-head{flex-wrap:wrap;gap:.75rem}.mp .mp-section-head h3{flex-wrap:wrap;font-size:1.125rem}.mp button{min-height:48px;overflow-wrap:anywhere}.mp .mp-goals{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.mp .mp-goal-body{display:grid;gap:.375rem;min-width:0;flex:1;overflow-wrap:anywhere}.mp .mp-meter-value{font-size:clamp(1.5rem,8vw,2.4rem);overflow-wrap:anywhere}.mp .mp-income-row{grid-template-columns:minmax(0,1fr) minmax(0,auto)}.mp fieldset{border:0;padding:0;margin:0;min-width:0}@media(max-width:380px){.mp .mp-list-amt{grid-row:auto;grid-column:1}.mp .mp-list-meta{grid-row:auto}}.mp :is(span,p,strong,h3){min-width:0;overflow-wrap:anywhere}.money-plan-form fieldset{border:0;margin:0;padding:0;min-width:0}.money-plan-form :is(input:not([type=checkbox]):not([type=range]),select,textarea){min-width:0;width:100%;font-size:1rem}.money-plan-form .mp-chips button,.money-plan-form .mp-emojis button{font-size:1rem;min-height:48px}.fm-money{--fm-purple:#6546bd;--fm-soft:#f0eafb;--fm-line:#e5deef;--fm-ink:#292937;--fm-muted:#676579;min-width:0;color:var(--fm-ink);display:grid;gap:1.25rem}.fm-money h2{font-size:1.5rem;letter-spacing:-.025em;line-height:1.25}.fm-money h3{font-size:1.125rem;letter-spacing:-.02em}.fm-money button{font-size:1rem;min-height:48px}.fm-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:#fff;border:1px solid var(--fm-line);border-radius:20px}.fm-scope button{border:0;border-radius:16px;background:transparent;font-weight:500}.fm-scope button[aria-pressed=true]{background:var(--fm-soft);color:var(--fm-purple);font-weight:700}.fm-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.fm-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:.75rem .25rem;font-weight:500}.fm-tabs button[aria-selected=true]{border-bottom-color:var(--fm-purple);color:var(--fm-purple);font-weight:700}.fm-month{color:var(--fm-muted);font-size:.875rem;text-transform:capitalize}.fm-body{display:grid;gap:1rem;min-width:0}.fm-summary{background:var(--fm-soft);padding:1.25rem;border-radius:26px;display:grid;gap:.75rem}.fm-summary-label{font-size:1rem;font-weight:500}.fm-summary-value{font-size:clamp(2.25rem,8vw,3.25rem);line-height:1.15;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}.fm-summary p{color:var(--fm-muted);font-size:.9375rem}.fm-income{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--fm-line);padding-top:1rem;margin-top:.25rem}.fm-income>div{display:grid;gap:.125rem}.fm-link{border:0;background:transparent;color:var(--fm-purple);padding:.5rem .125rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-weight:500;min-width:48px}.fm-primary{background:var(--fm-purple);border-color:var(--fm-purple);color:#fff;border-radius:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.fm-primary:hover:not(:disabled){background:#5537ab}.fm-section{display:grid;gap:.75rem;min-width:0}.fm-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.fm-card-list{background:#fff;border:1px solid var(--fm-line);border-radius:24px;overflow:visible;list-style:none;padding:0;margin:0}.fm-card-list>li{min-width:0}.fm-card-list>li+li{border-top:1px solid var(--fm-line)}.fm-pot{border:0;background:transparent;width:100%;padding:1rem;text-align:left;display:grid;gap:.625rem;border-radius:22px;font-weight:400}.fm-pot-line{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.fm-pot-name{color:#151515;font-size:1.0625rem;font-weight:700;overflow-wrap:anywhere}.fm-pot-amount{font-size:1.0625rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.fm-muted{color:var(--fm-muted);font-size:.9375rem}.fm-pot-bar{display:block;width:100%;height:5px;background:var(--fm-line);border-radius:999px;overflow:hidden}.fm-pot-fill{display:block;height:100%;background:var(--fm-purple);border-radius:inherit;max-width:100%}.fm-pot-fill.over{background:#a5313e}.fm-caption{color:var(--fm-muted);font-size:.875rem;line-height:1.5}.fm-forecast{display:grid;gap:.25rem}.fm-forecast .fm-link{justify-content:flex-start;text-align:left}.fm-bill{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border:0;border-radius:22px;background:transparent;padding:1rem;text-align:left}.fm-bill-copy{display:grid;gap:.375rem;min-width:0}.fm-bill-copy strong{font-size:1.0625rem;color:#151515}.fm-bill-amount{font-size:1.0625rem;white-space:nowrap;font-weight:700}.fm-upload{width:100%;border-color:var(--fm-line);border-radius:18px;background:#fff;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem}.fm-nora{display:grid;gap:.375rem;width:100%;padding:1.125rem;text-align:left;background:var(--fm-soft);border:1px solid transparent;border-radius:22px}.fm-nora strong{display:flex;align-items:center;gap:.375rem;font-size:1.0625rem;color:var(--fm-purple)}.fm-nora>span{color:var(--fm-muted);font-size:.9375rem}.fm-empty{border:1px dashed var(--fm-line);padding:1.25rem;border-radius:20px;display:grid;gap:.75rem;color:var(--fm-muted)}.fm-empty p{font-size:1rem}.fm-detail-table{display:grid;gap:.75rem}.fm-detail-table>div{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.fm-detail-table dt{color:var(--text-secondary)}.fm-detail-table dd{margin:0;font-weight:600}.fm-bill-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem 1rem}.fm-bill-actions>button{flex:1}.fm-settings{display:grid;gap:1rem}.fm-money .dl-search input,.fm-money .dl-item strong{font-size:1rem}.fm-money .dl-item small,.fm-money .dl-amt{font-size:.875rem}.fm-money .dl-chips{flex-wrap:wrap}.fm-money .dl-sort{font-size:1rem}.fm-money .dl-scope button{min-height:48px}.fm-money .dl,.fm-money .board-container{min-width:0}@media(hover:hover){.fm-pot:hover,.fm-bill:hover{background:#fbf9fd}.fm-nora:hover{background:#e9dff9}}@media(max-width:380px){.fm-pot,.fm-bill{padding:.875rem}.fm-summary{padding:1.125rem}}@media(prefers-reduced-motion:reduce){.fm-money *,.fm-money *:before,.fm-money *:after{animation:none!important;transition:none!important}}.fm-purpose-list{display:grid;gap:8px}.fm-purpose-list label{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border:1px solid var(--border-color,#e6dfed);border-radius:14px;cursor:pointer}.fm-purpose-list input{width:22px;height:22px;accent-color:#6546bd;flex-shrink:0}.fm-purpose-list span{overflow-wrap:anywhere}.fm-money .fm-summary-label{font-size:1rem;font-weight:500;letter-spacing:0}.fm-bill{flex-wrap:wrap}.fm-bill-amount,.fm-pot-amount{white-space:normal;overflow-wrap:anywhere}.fm-money{background:#fcfaf8}.fm-money button{overflow-wrap:anywhere;min-width:0}.fm-scope button,.fm-tabs button{min-width:0}.fm-settings :is(.board-header,.board-content,.fin-card,.fin-card-head,.fin-big,.fin-tabs,.fin-bucket-row,.fin-pay-top,.fin-row,.fin-collapse){min-width:0;max-width:100%;overflow-wrap:anywhere}.fm-settings :is(.fin-card-head,.fin-tabs,.fin-bucket-row,.fin-pay-top,.fin-row,.fin-collapse){flex-wrap:wrap;gap:.5rem}.fm-settings :is(.fin-card-head,.fin-bucket-row,.fin-pay-top,.fin-row)>*{min-width:0;max-width:100%}.fm-settings .fin-big{font-size:clamp(1.25rem,8vw,1.9rem)}.fm-settings .pot-row{min-width:0;align-items:flex-start}.nora-dock{position:fixed;right:16px;bottom:calc(var(--nav-height, 80px) + 16px + env(safe-area-inset-bottom));z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.nora-dock-button{pointer-events:auto;position:relative;width:60px;height:60px;display:grid;place-items:center;border:none;border-radius:50%;cursor:pointer;background:#fff;box-shadow:0 10px 24px #785ab447;padding:0}.nora-dock-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f4815a;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}.nora-popup{pointer-events:auto;width:min(320px,calc(100vw - 32px));padding:14px;border-radius:22px;background:#fff;border:1px solid #ece3ff;box-shadow:0 20px 40px #46308c2e;display:flex;flex-direction:column;gap:10px}.nora-popup-head{display:flex;align-items:center;gap:10px}.nora-popup-head strong{font-size:.92rem}.nora-popup-head small{display:block;font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.nora-popup-line{font-size:.85rem;line-height:1.4;color:var(--text-primary)}.nora-popup-chips{display:flex;gap:6px;flex-wrap:wrap}.nora-popup-chips button{flex:1;min-width:0;padding:8px 10px;border-radius:12px;background:#f4f0ff;color:#5a45bd;font-size:.78rem;font-weight:600;border:none;cursor:pointer}.nora-popup-chips button.primary{background:linear-gradient(135deg,#6d5be7,#a461d5);color:#fff}.nora-popup-voice{background:transparent;border:1px solid #ece3ff;color:#5a45bd;width:30px;height:30px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nora-popup-voice:hover{background:#f4f0ff}.nora-popup-transcript{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding-right:2px}.nora-popup-msg{background:#f7f4ff;border:1px solid #ece3ff;border-radius:12px;padding:8px 10px}.nora-popup-msg .text{font-size:.82rem;line-height:1.35;color:var(--text-primary)}.nora-popup-msg .detail{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.nora-popup-msg.phase-done{border-color:#b5e5c5;background:#f1faf3}.nora-popup-msg.phase-ask{border-color:#f6d99c;background:#fdf7e9}.nora-popup-msg.phase-oops{border-color:#f4b4ad;background:#fdf0ee}.nora-popup-msg.phase-doing{border-color:#c8b9f7;background:#f4f0ff}.nora-bubble-wrap{position:fixed;right:16px;bottom:168px;z-index:1400;pointer-events:none;display:flex;justify-content:flex-end;max-width:calc(100vw - 32px)}.nora-bubble{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;width:min(340px,calc(100vw - 32px));padding:12px 14px;border-radius:18px;background:var(--bg-surface, #ffffff);color:var(--text-primary, #1c1c1f);border:1px solid var(--border-subtle, #ece3ff);box-shadow:0 18px 40px #46308c2e;position:relative}.nora-bubble:after{content:"";position:absolute;right:28px;bottom:-8px;width:14px;height:14px;background:inherit;border-right:1px solid var(--border-subtle, #ece3ff);border-bottom:1px solid var(--border-subtle, #ece3ff);transform:rotate(45deg);border-bottom-right-radius:3px}.nora-bubble.phase-ack{border-color:#ece3ff}.nora-bubble.phase-plan{border-color:#d8cdfb}.nora-bubble.phase-doing{border-color:#c8b9f7}.nora-bubble.phase-done{border-color:#b5e5c5}.nora-bubble.phase-ask{border-color:#f6d99c}.nora-bubble.phase-oops{border-color:#f4b4ad}.nora-bubble-avatar{flex:0 0 auto}.nora-bubble-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.nora-bubble-name{font-size:11px;font-weight:700;color:var(--text-secondary, #6e6b80);letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.nora-bubble-close{background:transparent;border:none;color:var(--text-secondary, #6e6b80);cursor:pointer;padding:2px;border-radius:6px;display:inline-flex}.nora-bubble-close:hover{background:var(--bg-muted, #f3eefe)}.nora-bubble-text{font-size:.95rem;line-height:1.4;color:var(--text-primary, #1c1c1f);word-wrap:break-word}.nora-bubble-detail{margin-top:4px;font-size:.8rem;color:var(--text-secondary, #6e6b80);line-height:1.35}.nora-bubble-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.nora-bubble-action{padding:6px 10px;border-radius:999px;border:1px solid var(--border-subtle, #ece3ff);background:var(--bg-muted, #f4f0ff);color:var(--text-primary, #5a45bd);font-size:.78rem;font-weight:600;cursor:pointer}.nora-bubble-action.primary{border-color:transparent;background:linear-gradient(135deg,#6d5be7,#a461d5);color:#fff}@media(max-width:480px){.nora-bubble-wrap{bottom:156px;right:12px}}.nora-reply{display:flex;gap:6px;margin-top:8px;align-items:center}.nora-reply input{flex:1;min-width:0;height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-app, transparent);color:var(--text-primary);font:inherit;font-size:15px}.nora-reply input:focus{outline:2px solid var(--brand-primary);outline-offset:1px}.nora-reply-btn{flex:0 0 auto;width:38px;height:38px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);display:grid;place-items:center;cursor:pointer}.nora-reply-btn.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-brand, #fff)}.nora-reply-btn.listening{animation:nora-mic-pulse 1.4s ease-out infinite;border-color:var(--brand-primary)}.nora-bubble-wrap button{min-width:48px;min-height:48px}.nora-bubble-detail,.nora-bubble-name{font-size:.875rem}.nora-bubble{max-height:60dvh;overflow:auto}.tour-root{position:fixed;inset:0;z-index:9999;pointer-events:none}.tour-mask{position:fixed;inset:0;pointer-events:auto}.tour-highlight{position:fixed;border-radius:14px;box-shadow:0 0 0 2px #ffffffe6,0 0 0 6px #6366f173,0 0 24px 6px #6366f18c;pointer-events:none;z-index:1}.tour-card{pointer-events:auto;z-index:2;padding:18px 18px 14px;border-radius:18px;color:#fff;background:#141623d9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 48px #00000073}.tour-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tour-step-count{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.65}.tour-skip{background:transparent;border:none;color:#fff9;font-size:12px;cursor:pointer;padding:4px 6px}.tour-skip:hover{color:#fff}.tour-title{margin:4px 0 6px;font-size:17px;font-weight:600}.tour-body{margin:0 0 14px;font-size:14px;line-height:1.45;opacity:.85}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-progress{display:flex;gap:5px}.tour-dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;transition:all .2s ease}.tour-dot.active{background:#818cf8;width:18px;border-radius:4px}.tour-btn{border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.tour-btn:disabled{opacity:.4;cursor:not-allowed}.tour-btn-ghost{background:transparent;color:#ffffffbf}.tour-btn-ghost:hover:not(:disabled){background:#ffffff14;color:#fff}.tour-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 6px 18px #6366f166}.tour-btn-primary:hover{transform:translateY(-1px)}@media(max-width:600px){.tour-card{width:calc(100vw - 24px)!important;inset:auto 12px 100px!important;transform:none!important}}.app-header{background:var(--bg-app);padding:max(1rem,env(safe-area-inset-top)) 1rem .75rem}.header-content{max-width:680px;margin:auto;display:flex;gap:.75rem;align-items:center;justify-content:space-between}.header-copy{min-width:0}.brand-label{display:block;color:var(--text-secondary);font-size:.875rem;margin-bottom:.125rem}.main-content{max-width:680px;margin:auto;padding:.5rem 1rem calc(var(--nav-height) + 104px);width:100%}.stack{display:grid;gap:1rem;min-width:0}.section{display:grid;gap:.625rem;min-width:0}.section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.text-link{min-height:48px;display:inline-flex;align-items:center;font-size:.875rem;font-weight:600}.icon-button{min-width:48px;padding:.65rem;display:inline-flex;align-items:center;justify-content:center}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.toolbar>label{flex:1;min-width:min(100%,140px)}.segmented{display:flex;flex-wrap:wrap;gap:.375rem}.segmented button[aria-pressed=true]{background:var(--brand-secondary);border-color:var(--brand-ink);color:var(--brand-ink)}.panel{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:1rem;border-radius:16px}.notice{border:1px solid var(--border-subtle);padding:1rem;border-radius:12px;background:var(--bg-input)}.error{color:#8b201c;background:#fff1ef;border:1px solid #dba5a2;padding:.875rem;border-radius:12px}.empty{padding:1.25rem 0;display:grid;gap:.75rem;color:var(--text-secondary)}.list{border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-surface);overflow:hidden}.list>li+li{border-top:1px solid var(--border-subtle)}.record-row{display:flex;gap:.75rem;align-items:center;padding:.5rem .75rem}.row-main{flex:1;min-width:0;text-align:left;border:0;border-radius:8px;background:transparent;padding:.5rem .25rem;display:grid;gap:.125rem;font-weight:400;overflow-wrap:anywhere}.row-main strong{font-weight:600}.row-meta{font-size:.875rem;color:var(--text-secondary)}.row-check{width:48px;padding:.625rem;border-radius:50%;flex-shrink:0}.badge{display:inline-flex;width:fit-content;padding:.125rem .5rem;border-radius:6px;font-size:.875rem;font-weight:500;background:var(--bg-input);color:var(--brand-ink)}.overdue{color:#9b2923}.section-action{width:100%}.form-stack{display:grid;gap:1rem;min-width:0}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.form-actions>*{flex:1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem}.form-error{scroll-margin-top:1rem}.action-choice{display:grid;width:100%;text-align:left;gap:.125rem;padding:1rem}.action-choice .supporting{font-weight:400}.choice-list{display:grid;gap:.625rem}.money-amount{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.detail-grid{display:grid;gap:.875rem}.detail-grid dt{color:var(--text-secondary);font-size:.875rem}.detail-grid dd{margin:.125rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.search{margin-bottom:.25rem}.month-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.125rem}.month-picker button{min-width:0;padding:.25rem;border-radius:8px}.month-picker button[aria-pressed=true]{background:var(--brand-primary);color:#fff}.month-picker .weekday{font-size:.875rem;color:var(--text-secondary);text-align:center;padding:.5rem 0}.month-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.receipt{display:grid;gap:1rem}.receipt-icon{background:var(--brand-secondary);color:var(--brand-ink);width:56px;height:56px;display:grid;place-items:center;border-radius:50%}.menu-links{display:grid;gap:.5rem}.menu-links a{min-height:48px;padding:.75rem;border-radius:10px;text-decoration:none;font-weight:600}.menu-links a:hover{background:var(--bg-input)}.loading-page{padding:2rem 1rem;max-width:680px;margin:auto}@media(max-width:380px){.record-row{padding-inline:.5rem;gap:.5rem}}@media(max-width:600px){.month-picker,.month-heading{display:none}}[data-sonner-toast] [data-button]{font-size:.875rem;min-height:48px}.legacy-surface{min-width:0;color:var(--text-primary)}.legacy-surface :is(p,span,label,small,li,button,input,select,textarea){font-size:1rem!important;overflow-wrap:anywhere}.legacy-surface :is(button,input,select,textarea){min-height:48px!important;color:var(--text-primary)!important;background:var(--bg-surface)!important;border:1px solid var(--border-subtle)!important}.legacy-surface button{min-width:48px}.legacy-surface [style*="display: flex"]{flex-wrap:wrap}.legacy-surface .review-fields{display:grid;gap:1rem}.legacy-surface .review-actions{display:flex;flex-wrap:wrap;gap:.5rem}:root{--motion-fast:.14s;--motion-standard:.24s;--motion-reveal:.42s;--ease-settle:cubic-bezier(.22,1,.36,1);--surface-shadow:0 2px 4px hsl(250 30% 30% / .02),0 12px 32px hsl(250 30% 30% / .045);--surface-raised:0 4px 10px hsl(250 35% 25% / .05),0 18px 44px hsl(250 35% 25% / .09)}button,.button,a,summary{touch-action:manipulation}button,.button{transition:transform var(--motion-fast) var(--ease-settle),background-color var(--motion-fast),box-shadow var(--motion-standard),border-color var(--motion-fast)}button:active:not(:disabled),.button:active{transform:scale(.97)}button:focus-visible,.button:focus-visible{outline-offset:4px}button:disabled{cursor:not-allowed}button[aria-busy=true]{cursor:progress}.page-scene{min-width:0}.app-header{background:linear-gradient(180deg,var(--bg-app) 75%,transparent)}.header-copy h1{letter-spacing:-.035em;font-weight:700}.header-copy .brand-label{letter-spacing:.035em;font-size:.8125rem}.main-content{padding-top:.75rem}.section{gap:.8rem}.section-heading h2{letter-spacing:-.02em}.list,.panel{box-shadow:var(--surface-shadow);border-color:#e5e3ed;border-radius:20px}.list>li+li{border-color:#edecf3}.record-row{padding:.65rem .875rem}.row-main{gap:.3rem}.row-main strong{letter-spacing:-.015em}.row-main:hover:not(:disabled){background:var(--bg-input)}.row-check{border-color:transparent;color:var(--brand-ink);background:var(--bg-input);transition:transform var(--motion-fast),background-color var(--motion-standard),color var(--motion-standard)}.row-check[aria-pressed=true]{background:var(--brand-ink);color:#fff}.row-check[aria-pressed=true] svg{animation:check-arrive var(--motion-standard) var(--ease-settle)}.icon-control{width:52px;min-width:52px;height:52px;padding:0;border-radius:17px;display:inline-flex;align-items:center;justify-content:center;border-color:#dfdde9;box-shadow:0 2px 4px #3d366306}.icon-control:hover:not(:disabled){border-color:var(--brand-primary);box-shadow:0 4px 12px #5540bf1a}.icon-control.primary:hover:not(:disabled){color:#fff;background:var(--brand-ink)}.icon-control.is-listening{color:#9b2923;background:#fff1ef;border-color:#dba5a2;box-shadow:0 0 0 4px #fff1ef}.intake-composer .toolbar{padding:.375rem;border:1px solid var(--border-subtle);border-radius:22px;width:fit-content;background:var(--bg-input)}.intake-composer textarea{min-height:144px;border-radius:20px;padding:1rem}.intake-composer textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px #6347eb14}.intake-send{justify-self:end;border-radius:50%;box-shadow:0 6px 18px #4128bd33}.choice-list{gap:.875rem}.action-choice{position:relative;border-radius:22px;border-color:#e2e0eb;padding:1.125rem;gap:.5rem;box-shadow:var(--surface-shadow)}.action-choice .choice-glyph{color:var(--brand-ink);padding:8px;box-sizing:content-box;border-radius:14px;background:#efedfd}.action-choice:hover:not(:disabled){background:#f7f6fe;border-color:#b6abed;box-shadow:var(--surface-raised)}.entry-choice{display:flex;align-items:center;gap:.875rem}.receipt{text-align:center;justify-items:center}.receipt-icon{width:72px;height:72px;box-shadow:0 0 0 10px #f3f1fd;margin:12px;animation:receipt-arrive var(--motion-reveal) var(--ease-settle)}.receipt-icon svg{width:32px;height:32px;stroke-width:2}.receipt button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.app-dialog{box-shadow:var(--surface-raised)}.app-dialog[open] .dialog-surface{animation:sheet-arrive var(--motion-standard) var(--ease-settle)}.app-dialog[open]::backdrop{animation:backdrop-arrive var(--motion-standard) ease-out}.dialog-header{border-bottom:1px solid var(--border-subtle);margin-bottom:1rem}.dialog-header h2{letter-spacing:-.025em}.dialog-header .icon-button{border-radius:50%;border-color:transparent;background:var(--bg-input)}.bottom-nav{background:#fffffff5;box-shadow:0 -4px 24px #3d366309}.nav-dock a{position:relative;background:transparent;gap:.35rem}.nav-dock a[aria-current=page]{background:transparent}.nav-icon-wrap{position:relative;display:grid;place-items:center;width:52px;height:32px}.nav-icon-wrap>svg{position:relative;z-index:1}.nav-active-halo{position:absolute;inset:0;background:var(--brand-secondary);border-radius:14px}.add-button{width:60px;min-width:60px;height:60px;min-height:60px;border-radius:22px;padding:0;justify-content:center;box-shadow:0 6px 20px #4128bd3b,inset 0 1px #fff3}.add-button:hover:not(:disabled) svg{transform:rotate(90deg)}.add-button svg{transition:transform var(--motion-standard) var(--ease-settle)}.nora-dock-button{box-shadow:0 6px 24px #4934b22b;transition:transform var(--motion-fast),box-shadow var(--motion-standard)}.nora-dock-button:hover{box-shadow:0 8px 28px #4934b23d}.nora-moment{width:100%;min-height:180px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:1.375rem;text-align:left;border:1px solid hsl(250 65% 87%);border-radius:28px;background:linear-gradient(115deg,#f6f3ff,#eae3ff);color:var(--text-primary);box-shadow:var(--surface-shadow)}.nora-moment:hover:not(:disabled){background:linear-gradient(115deg,#f6f3ff,#e5dcff);box-shadow:var(--surface-raised)}.moment-copy{position:relative;z-index:1;display:grid;gap:.6rem;padding-right:90px;min-width:0}.moment-copy strong{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em;font-weight:700}.moment-copy>span:last-child{font-weight:400;font-size:.875rem;color:var(--text-secondary)}.moment-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;color:var(--brand-ink);font-size:.8125rem;font-weight:600}.moment-art{position:absolute;width:136px;height:136px;right:0;top:calc(50% - 68px);z-index:0;pointer-events:none}.moment-art svg{width:100%;height:100%;animation:art-arrive .8s var(--ease-settle)}.moment-orbit{stroke:#ada1e8;stroke-width:.75}.moment-inner{fill:#e0dafb99;stroke:#c9c2f0}.moment-petal{fill:#7f6ae74d;stroke:#5e46d8;stroke-width:1}.moment-core{fill:var(--brand-ink)}.moment-dot{fill:#f2b763}.moment-arrow{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;border:1px solid hsl(250 60% 82%);border-radius:50%;color:var(--brand-ink);background:#ffffff8c}.today-date{text-transform:capitalize;letter-spacing:.015em}.loading-state{padding:.875rem 0;display:grid;gap:.625rem}.loading-caption{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.skeleton-line{width:100%;height:12px;border-radius:8px;background:var(--bg-input);animation:skeleton-breathe 1.4s ease-in-out infinite alternate}.skeleton-line.short{width:58%}.motion-spinner{animation:motion-spin .9s linear infinite}.error button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}@media(hover:hover){.panel:hover{box-shadow:var(--surface-raised)}}@keyframes motion-spin{to{transform:rotate(360deg)}}@keyframes skeleton-breathe{to{opacity:.45}}@keyframes sheet-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes receipt-arrive{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes check-arrive{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes art-arrive{0%{opacity:0;transform:rotate(-12deg) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.page-scene{transform:none!important;opacity:1!important}}.record-glyph{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:15px;background:#efedfd;color:var(--brand-ink)}@media(max-width:380px){.record-glyph{width:36px;height:40px}}:root{--life-ease:cubic-bezier(.22,1,.36,1);--life-tap:.12s;--life-change:.22s;--life-enter:.44s;--life-edge:hsl(var(--hue-primary,250) 65% 65% / .28);--life-glow:0 8px 26px hsl(var(--hue-primary,250) 55% 45% / .1)}:is(.hub-greeting,.board-header,.header-copy){position:relative}:is(.hub-greeting,.board-header):after{content:"";display:block;height:2px;margin-top:12px;flex-basis:100%;border-radius:999px;background:linear-gradient(90deg,transparent,hsl(var(--hue-primary,250) 70% 62% / .45),hsl(35 85% 70% / .45),transparent);background-size:200% 100%;pointer-events:none;animation:life-horizon 1.4s var(--life-ease) both}.hub-greeting{border-radius:22px;background:radial-gradient(ellipse at 100% 0%,hsl(var(--hue-primary,250) 80% 90% / .4),transparent 68%)}:is(.fin-card,.hub-pot,.hub-action-card,.hub-upcoming-card,.finance-widget,.metric-card,.dl-item,.panel,.list){box-shadow:0 2px 5px #35305006,0 10px 28px #332d5309;transition:box-shadow var(--life-change) var(--life-ease),border-color var(--life-change) ease}:is(.hub-command-big,.nora-moment){box-shadow:0 5px 14px #4934b214,0 18px 48px #4934b21a;animation:life-welcome 1.1s var(--life-ease) 1}:is(.hub-command-big .icon,.hub-command-icon,.choice-glyph,.record-glyph,.feed-detail-icon){transition:rotate var(--life-change) var(--life-ease),box-shadow var(--life-change) ease}@media(hover:hover)and (pointer:fine){:is(.fin-card,.hub-pot,.dl-item,.hub-upcoming-card,.panel):hover{border-color:var(--life-edge);box-shadow:var(--life-glow)}:is(.hub-command-big,.action-choice):hover :is(.icon,.choice-glyph){rotate:-6deg;box-shadow:0 0 0 5px #d8d1fa4d}:is(.hub-feed-row,.task-row,.bill-row,.record-row,.schedule-item):hover{box-shadow:inset 3px 0 hsl(var(--hue-primary,250) 70% 60% / .25)}}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:is(.hub-feed-row,.task-row,.bill-row,.pot-row,.record-row,li):nth-child(-n+8){animation:life-row var(--life-enter) var(--life-ease) backwards}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:nth-child(2){animation-delay:30ms}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:nth-child(3){animation-delay:60ms}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:nth-child(4){animation-delay:90ms}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:nth-child(5){animation-delay:.12s}:is(.hub-feed-list,.board-list,.bill-list,.pot-list,.dl-list,.list)>:nth-child(n+6):nth-child(-n+8){animation-delay:.15s}:is(.task-check.done,.row-check[aria-pressed=true]) svg{animation:life-check .32s var(--life-ease) 1}:is(.task-row.done .task-body strong,.row-check[aria-pressed=true]){transition:color var(--life-change),background-color var(--life-change)}:is(.hub-pot-bar span,.fin-bar-fill,.budget-fill){transition:width .56s var(--life-ease),background-color var(--life-change)}:is(.ui-textarea,.intake-composer textarea,.as-field input,.as-field textarea,.auth-form input):focus-visible{box-shadow:0 0 0 4px hsl(var(--hue-primary,250) 80% 60% / .12)}:is(.ui-tool.listening,.icon-control.is-listening){box-shadow:0 0 0 4px hsl(var(--hue-primary,250) 80% 65% / .13)}:is(.ui-send,.intake-send,.agenda-add-btn,.as-btn,.fin-ghost,.tf-btn,.dl-item){transition:box-shadow var(--life-change),background-color var(--life-change),border-color var(--life-change)}:is(.ui-send,.intake-send,.agenda-add-btn,.as-btn,.fin-ghost,.tf-btn,.dl-item):active:not(:disabled){box-shadow:inset 0 0 0 2px hsl(var(--hue-primary,250) 60% 50% / .16)}.nora-avatar{position:relative}.nora-avatar:before{content:"";position:absolute;inset:-7px;border:1px solid transparent;border-radius:50%;pointer-events:none}.nora-avatar.idle:before{border-color:hsl(var(--hue-primary,250) 60% 65% / .2);animation:life-breathe 3.2s ease-in-out 2}.nora-avatar.thinking:before{border-top-color:var(--brand-primary);border-right-color:hsl(var(--hue-primary,250) 80% 60% / .25);animation:life-orbit 1.8s linear infinite}.nora-avatar.needs-you:before{border-color:hsl(var(--hue-warning,35) 85% 55% / .5);box-shadow:0 0 0 4px hsl(var(--hue-warning,35) 85% 55% / .08)}:is(.app-dialog[open] .dialog-header,.universal-input-modal .ui-head,.as-sheet .as-head,.brain-panel .brain-header){animation:life-heading .38s var(--life-ease) 1}:is(.ui-chips .ui-chip,.intake-composer .record-row){animation:life-attachment .32s var(--life-ease) backwards}details[open]>:is(.form-stack,.form-grid,.choice-list,.panel,.dl,.list){animation:life-detail .22s var(--life-ease) 1}@keyframes life-horizon{0%{background-position:100% 0}to{background-position:0% 0}}@keyframes life-welcome{0%{box-shadow:0 0 #7963e91f}60%{box-shadow:0 0 0 7px #7963e90a,var(--life-glow)}to{box-shadow:0 5px 14px #4934b214,0 18px 48px #4934b21a}}@keyframes life-row{0%{translate:0 5px}to{translate:0 0}}@keyframes life-heading{0%{text-shadow:0 3px 14px hsl(250 60% 60% / .12)}to{text-shadow:none}}@keyframes life-check{0%{rotate:-12deg;scale:.8}to{rotate:0deg;scale:1}}@keyframes life-breathe{50%{box-shadow:0 0 0 5px #7f6ce00f}}@keyframes life-orbit{to{rotate:360deg}}@keyframes life-attachment{0%{box-shadow:inset 0 0 0 1px var(--life-edge)}to{box-shadow:inset 0 0 0 1px transparent}}@keyframes life-detail{0%{box-shadow:inset 2px 0 0 var(--life-edge)}to{box-shadow:inset 0 0 0 transparent}}@media(prefers-contrast:more){:is(.fin-card,.hub-pot,.dl-item,.panel,.list){box-shadow:none;border-color:var(--text-secondary)}:is(.hub-greeting,.board-header):after{display:none}}@media(forced-colors:active){.nora-avatar:before,:is(.hub-greeting,.board-header):after{display:none}}@media(prefers-reduced-motion:reduce){:is(.hub-greeting,.board-header):after,:is(.hub-command-big,.nora-moment),:is(.hub-feed-row,.task-row,.bill-row,.pot-row,.record-row,.dl-item,li),.nora-avatar:before,:is(.dialog-header,.ui-head,.as-head,.brain-header,.ui-chip),details[open]>*{animation:none!important}*,*:before,*:after{transition:none!important}}.calm-page{display:grid;gap:1.25rem;min-width:0}.calm-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calm-intro p,.calm-caption{color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.calm-section{display:grid;gap:.75rem;min-width:0}.calm-section h2{font-size:1.25rem;letter-spacing:-.02em}.calm-section h3{font-size:1.0625rem}.calm-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.calm-summary-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.125rem;background:var(--brand-secondary);color:var(--text-primary);border-radius:22px;text-decoration:none;min-height:64px;text-align:left}.calm-summary-link>span:first-child{display:grid;gap:.375rem;min-width:0}.calm-summary-link>span:last-child{font-size:1.5rem}.calm-count{color:var(--text-secondary);font-size:.875rem;font-weight:400}.calm-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.calm-filters button{min-height:48px}.calm-filters button[aria-pressed=true]{background:var(--brand-secondary);border-color:var(--brand-ink);color:var(--brand-ink)}.calm-disclosure{border:1px solid var(--border-subtle);border-radius:18px;padding:.25rem 1rem;background:var(--bg-surface)}.calm-disclosure summary{min-height:48px;align-content:center;font-weight:600;cursor:pointer}.calm-disclosure[open]{padding-bottom:1rem}.calm-menu-group{display:grid;gap:.25rem}.calm-menu-group h3{color:var(--text-secondary);font-size:.875rem;margin:.875rem .75rem .25rem}.calm-menu-group a,.calm-menu-group button{text-align:left}.calm-home .nora-moment{min-height:116px;padding:1rem 1.125rem;border-radius:22px}.calm-home .moment-copy strong{font-size:1.25rem}.calm-home .moment-eyebrow{display:none}.calm-home .moment-art{width:108px;height:108px;top:calc(50% - 54px)}.calm-home .moment-copy{padding-right:76px}.calm-home .hub-pots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.calm-home .hub-pot{min-width:0;padding:1rem;border:1px solid var(--border-subtle);border-radius:18px;background:var(--bg-surface);text-align:left}.calm-home .hub-pot-name{display:block;font-size:.9375rem}.calm-home .hub-pot strong{display:block;margin:.375rem 0}.calm-home .hub-today-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:.5rem}.calm-home .hub-today ul{display:grid;gap:.75rem;padding:.75rem 0}.calm-home .hub-today li{display:grid;gap:.25rem}.calm-home .hub-today time{color:var(--text-secondary);font-size:.875rem}.calm-page .row-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--text-secondary);font-weight:400}.calm-chat{display:grid;gap:.875rem}.calm-chat-bubble{border:1px solid var(--border-subtle);border-radius:22px;padding:1rem;max-width:96%;overflow-wrap:anywhere}.calm-chat-bubble[data-role=user]{background:var(--brand-secondary);justify-self:end}.calm-chat-bubble[data-role=assistant]{background:var(--bg-surface);justify-self:start}.calm-chat-bubble p{white-space:pre-wrap;margin:.375rem 0 0}.calm-chat .intake-composer textarea{min-height:104px}.calm-proposal{padding:0 1rem}.calm-proposal summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0;min-height:64px}.calm-proposal summary span{display:grid;gap:.375rem}.calm-proposal .detail-grid{padding:.75rem 0}.calm-group-list{display:grid;gap:.875rem}.calm-group-list .record-glyph{width:40px;height:40px}.calm-account-section{display:grid;gap:.875rem}.calm-account-section h2{font-size:1.125rem}.calm-page button,.calm-page input,.calm-page select{min-height:48px}.calm-page input,.calm-page select,.calm-page textarea{font-size:1rem}.calm-page button,.calm-page summary{overflow-wrap:anywhere}.calm-page .dl-chips{flex-wrap:wrap}.calm-page .dl-item strong{font-size:1rem}.calm-page .dl-item small{font-size:.875rem}.calm-page .dl-search input{font-size:1rem}.calm-calendar .board-header,.calm-calendar .timeframe-toggles{gap:.875rem;flex-wrap:wrap}@media(max-width:380px){.calm-chat-bubble{max-width:100%}.calm-home .hub-pots{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.calm-page *,.calm-page *:before,.calm-page *:after{animation:none!important;transition:none!important}}.calm-summary-link .supporting{color:var(--text-primary)}.calm-page .dl-main small{color:var(--text-secondary)}.calm-page>*{min-width:0}.calm-page :is(p,label,strong,span,h2,h3,a){overflow-wrap:anywhere;min-width:0}
