:root{color-scheme:light;--color-canvas: #f4f2eb;--color-surface: #ffffff;--color-surface-muted: #eeece4;--color-ink: #18221f;--color-ink-soft: #5f6c67;--color-ink-faint: #87918d;--color-border: #dcdfda;--color-border-strong: #c5cbc6;--color-brand: #173f35;--color-brand-hover: #0f332a;--color-brand-soft: #e5efeb;--color-accent: #d9f069;--color-accent-ink: #20330b;--color-coral: #e56f51;--color-blue: #5f85d6;--color-warning: #9b6721;--color-warning-soft: #fff4dc;--color-danger: #a63f3f;--color-danger-soft: #fcebea;--color-success: #28705c;--color-success-soft: #e4f3ed;--color-info: #365f8c;--color-info-soft: #eaf2fb;--shadow-sm: 0 1px 2px rgb(22 35 31 / 6%);--shadow-md: 0 10px 28px rgb(22 35 31 / 8%);--shadow-lg: 0 24px 60px rgb(22 35 31 / 14%);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--content-max: 1180px;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-canvas);overscroll-behavior-y:contain;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;color:var(--color-ink);background:radial-gradient(circle at 90% 0%,rgb(217 240 105 / 9%),transparent 24rem),var(--color-canvas);font-family:var(--font-sans);line-height:1.5;overscroll-behavior-y:contain;scroll-behavior:smooth}body.dialog-open{overflow:hidden}button,input,textarea,select{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img,svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1{margin-bottom:.55rem;font-size:clamp(1.8rem,6vw,2.65rem);font-weight:720;letter-spacing:-.045em;line-height:1.08}h2{margin-bottom:.4rem;font-size:1.18rem;font-weight:700;letter-spacing:-.025em;line-height:1.25}h3{margin-bottom:.35rem;font-size:1rem}::selection{color:#fff;background:var(--color-brand)}:focus-visible{outline:3px solid rgb(95 133 214 / 55%);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow{display:block;margin-bottom:.55rem;color:var(--color-success);font-size:.72rem;font-weight:750;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-layout{min-height:100vh;min-height:100dvh}.app-content{min-width:0}.page-container{min-height:100vh;min-height:100dvh;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.page-transition{animation:page-enter .48s cubic-bezier(.16,1,.3,1)}.page{width:min(100%,var(--content-max));margin:0 auto;padding:1.4rem 1rem 2rem}@keyframes page-enter{0%{opacity:0;transform:translateY(18px) scale(.992);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}::view-transition-old(root){animation:route-out .16s ease both}::view-transition-new(root){animation:route-in .46s cubic-bezier(.16,1,.3,1) both}@keyframes route-out{to{opacity:0;transform:scale(.992)}}@keyframes route-in{0%{opacity:0;transform:translateY(12px)}}@supports (view-transition-name: none){.page-transition{animation:none}}.page-header{margin-bottom:1.35rem}.page-header>p,.page-header>div>p{max-width:42rem;margin-bottom:0;color:var(--color-ink-soft);font-size:.96rem}.page-header--row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.side-nav{display:none}.mobile-topbar{display:flex;min-height:4.25rem;align-items:center;justify-content:space-between;gap:1rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .5rem}.mobile-topbar__actions{display:flex;min-width:0;align-items:center;gap:.35rem}.mobile-app-mode-button{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;padding:0;place-items:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-brand);background:var(--color-surface);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-app-mode-button:active{transform:scale(.94)}.mobile-menu-toggle{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:50%;color:var(--color-brand);background:var(--color-surface);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-menu-toggle:active{transform:scale(.94)}.install-guide{display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none}.install-guide li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.7rem;color:var(--color-ink-soft)}.install-guide li>svg{width:2.5rem;height:2.5rem;padding:.65rem;border-radius:12px;color:var(--color-brand);background:var(--color-brand-soft)}.install-guide strong{color:var(--color-ink)}.mobile-menu-backdrop{position:fixed;inset:0;z-index:50;background:#18221f47;animation:mobile-backdrop-enter .28s ease-out both}body.mobile-menu-open{overflow:hidden}.mobile-side-drawer{display:flex;width:min(19rem,calc(100vw - 2.5rem));height:100%;min-height:100dvh;flex-direction:column;padding:max(1.25rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));border-right:1px solid var(--color-border);background:var(--color-canvas);box-shadow:14px 0 36px #173f352e;animation:mobile-drawer-enter .38s cubic-bezier(.22,1,.36,1) both;will-change:transform}.mobile-side-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem}.mobile-side-drawer__close{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:50%;color:var(--color-ink-soft);background:var(--color-surface)}.mobile-side-drawer__close:active{transform:scale(.94)}.mobile-side-drawer__links{display:flex;flex-direction:column;gap:.3rem;margin-top:2rem}.mobile-side-drawer .side-nav__link{display:flex;min-height:2.8rem;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:.85rem;font-weight:650}.mobile-side-drawer .side-nav__link:hover,.mobile-side-drawer .side-nav__link.is-active{color:var(--color-brand);background:var(--color-brand-soft)}.mobile-side-drawer__profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;margin-top:auto;padding:.85rem .3rem 0;border-top:1px solid var(--color-border)}.mobile-side-drawer__profile>span:last-child{display:flex;min-width:0;flex-direction:column}.mobile-side-drawer__profile strong,.mobile-side-drawer__profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-side-drawer__profile strong{font-size:.76rem}.mobile-side-drawer__profile small{color:var(--color-ink-faint);font-size:.65rem}@keyframes mobile-drawer-enter{0%{opacity:.8;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes mobile-backdrop-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.mobile-menu-backdrop,.mobile-side-drawer{animation:none}}.quick-voice-dock{position:fixed;right:auto;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;z-index:45;display:grid;width:4rem;height:4rem;place-items:center;padding:0;border:4px solid var(--color-canvas);border-radius:50%;color:#fff;background:var(--color-brand);box-shadow:0 9px 26px #173f3557;cursor:pointer;transform:translate(-50%);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.quick-voice-dock:hover{background:var(--color-brand-hover);box-shadow:0 12px 30px #173f356b;transform:translate(-50%) translateY(-2px)}.quick-voice-dock:active{background:var(--color-brand-hover);transform:translate(-50%) scale(.92)}.quick-voice-dock:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.quick-voice-dock__pulse{position:absolute;inset:-3px;border:2px solid var(--color-brand);border-radius:50%;opacity:.35;pointer-events:none;animation:radar-pulse 2.2s cubic-bezier(.24,0,.38,1) infinite}.offline-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;color:#fff;background:#6e5541;font-size:.78rem;text-align:center}.app-loader,.full-state{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem}.route-loading{width:min(100%,42rem);min-height:100vh;margin:0 auto;padding:2rem 1rem}.app-loader__pulse{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:spin .8s linear infinite}.notifications-trigger-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer}.notifications-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.notifications-badge{position:absolute;top:-6px;right:-8px;display:grid;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:9999px;background:#e53935;color:#fff;font-size:.65rem;font-weight:700;box-shadow:0 2px 5px #e5393566}.notifications-dialog-content{display:flex;flex-direction:column;gap:.75rem;max-height:65vh;overflow-y:auto}.notifications-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.notifications-unread-label{font-size:.8rem;font-weight:700;color:var(--color-brand)}.notifications-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1rem;color:var(--color-ink-soft);gap:.5rem}.notifications-empty__icon{color:var(--color-ink-faint)}.notifications-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.notification-item{display:flex;align-items:flex-start;gap:.75rem;min-width:0;padding:.75rem;border-radius:var(--radius-sm);background:#fafaf8;border:1px solid var(--color-border);cursor:pointer;transition:all .12s ease}.notification-item:hover{background:var(--color-brand-soft);border-color:#b2cfc4}.notification-item.is-unread{background:#fff;border-color:var(--color-brand);box-shadow:0 2px 6px #0000000a}.notification-item__icon{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand)}.notification-item__content{min-width:0;flex:1}.notification-item__header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.notification-item__header strong{min-width:0;overflow:hidden;font-size:.82rem;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.notification-item__header time{flex:0 0 auto;font-size:.7rem;color:var(--color-ink-faint);white-space:nowrap}.notification-item__message{overflow-wrap:anywhere;margin:0;font-size:.82rem;color:var(--color-ink-soft);line-height:1.4}.notification-item__dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--color-brand);margin-top:.4rem}.brand-link{display:inline-flex;width:fit-content}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--color-brand);font-weight:760;letter-spacing:-.035em}.brand__mark{display:flex;width:2.35rem;height:2.35rem;align-items:flex-end;justify-content:center;gap:.16rem;padding:.58rem;border-radius:12px;background:var(--color-brand);box-shadow:inset 0 0 0 1px #ffffff14}.brand__mark span{width:.26rem;border-radius:3px 3px 1px 1px;background:var(--color-accent)}.brand__mark span:nth-child(1){height:42%}.brand__mark span:nth-child(2){height:72%}.brand__mark span:nth-child(3){height:100%}.brand__name{font-size:1.12rem}.button,.desktop-add-button{display:inline-flex;flex-direction:row;min-height:2.75rem;align-items:center;justify-content:center;gap:.52rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button>span{display:inline-flex;align-items:center}.button:not(:disabled):active,.desktop-add-button:active{transform:translateY(1px)}.button:disabled{opacity:.55}.button--small{min-height:2.35rem;padding:.55rem .78rem;font-size:.82rem}.button--medium{padding:.75rem 1rem;font-size:.9rem}.button--large{min-height:3.25rem;padding:.9rem 1.2rem;font-size:.96rem}.button--full{width:100%}.button--primary,.desktop-add-button{color:#fff;background:var(--color-brand)}.button--primary:not(:disabled):hover,.desktop-add-button:hover{background:var(--color-brand-hover)}.button--secondary{color:var(--color-brand);border-color:var(--color-border-strong);background:var(--color-surface)}.button--secondary:not(:disabled):hover{border-color:var(--color-brand);background:var(--color-brand-soft)}.button--ghost{color:var(--color-brand);background:transparent}.button--ghost:not(:disabled):hover{background:var(--color-brand-soft)}.button--danger{color:var(--color-danger);border-color:#efc5c1;background:var(--color-danger-soft)}.button--danger:not(:disabled):hover{border-color:var(--color-danger)}.desktop-add-button{display:none;padding:.8rem 1.05rem}.text-button,.form-link{padding:0;border:0;color:var(--color-success);background:transparent;font-size:.86rem;font-weight:700;text-decoration:none}.text-button:hover,.form-link:hover{text-decoration:underline}.text-button:disabled{color:var(--color-ink-faint)}.form-link--right{display:block;width:fit-content;margin:.15rem 0 0 auto}.icon-button{display:grid;width:2.6rem;height:2.6rem;padding:0;place-items:center;border:0;border-radius:50%;color:var(--color-ink-soft);background:transparent}.icon-button:hover{color:var(--color-ink);background:var(--color-surface-muted)}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.form-actions--center{justify-content:center}.field{display:flex;min-width:0;flex-direction:column;gap:.4rem}.field__label,.compact-field>span,.readonly-field>span{display:flex;align-items:center;justify-content:space-between;color:var(--color-ink);font-size:.82rem;font-weight:690}.field__optional{color:var(--color-ink-faint);font-size:.74rem;font-weight:500}.field>div,.field__control-wrap{width:100%;min-width:0;max-width:100%}.field__control-wrap{position:relative}.field__control-wrap:has(input[type=date]){overflow:hidden}.field__control,.compact-field input,.compact-field select{width:100%;min-width:0;max-width:100%;min-height:3rem;padding:.72rem .85rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);outline:0;color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease}.field__control::placeholder,.compact-field input::placeholder{color:#9aa39f}.field__control:hover,.compact-field input:hover,.compact-field select:hover{border-color:#9da8a3}.field__control:focus,.compact-field input:focus,.compact-field select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #173f351c}input[type=date].field__control{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:hidden;appearance:none;-webkit-appearance:none}input[type=date].field__control::-webkit-date-and-time-value{min-width:0;margin:0;text-align:left}input[type=date].field__control::-webkit-datetime-edit{min-width:0;padding:0}input[type=date].field__control::-webkit-calendar-picker-indicator{flex:0 0 auto;margin:0;padding:0}.field__textarea{min-height:6.5rem;resize:vertical}.field__control--code{font-size:1.45rem;font-weight:750;letter-spacing:.28em;text-align:center}.field__adornment{position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.field__adornment+*{padding-right:3rem}.field__control-wrap:has(.field__adornment) .field__control{padding-right:3rem}.field__adornment-button{display:grid;width:2.25rem;height:2.25rem;padding:0;place-items:center;border:0;border-radius:8px;color:var(--color-ink-soft);background:transparent}.field__adornment-button:hover{background:var(--color-surface-muted)}.field__message{margin:0;color:var(--color-ink-soft);font-size:.74rem}.field__message--error{color:var(--color-danger)}.field--error .field__control{border-color:var(--color-danger)}.compact-field{display:flex;min-width:0;flex-direction:column;gap:.4rem}.compact-field input,.compact-field select{min-height:2.75rem;padding:.6rem .7rem;font-size:.86rem}.compact-field select:disabled{color:var(--color-ink-faint);background:var(--color-surface-muted)}.inline-alert{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.65rem;min-width:0;margin-bottom:1rem;padding:.85rem .95rem;border:1px solid;border-radius:var(--radius-sm);font-size:.84rem}.inline-alert>svg{flex:0 0 auto;margin-top:.08rem}.inline-alert__content{min-width:0;overflow-wrap:anywhere}.inline-alert strong{display:block;margin-bottom:.12rem}.inline-alert__content>div{min-width:0;color:inherit;opacity:.9;overflow-wrap:anywhere}.inline-alert__action{display:flex;min-width:0;grid-column:2;flex-wrap:wrap;align-items:center;gap:.4rem}.notifications-notice__message{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.4rem;min-width:0;line-height:1.45}.notifications-notice__icon{flex:0 0 auto;margin-top:.12rem}.notifications-notice__message>span{min-width:0;overflow-wrap:anywhere}.inline-alert--info{color:var(--color-info);border-color:#c8dbef;background:var(--color-info-soft)}.inline-alert--success{color:var(--color-success);border-color:#bcded1;background:var(--color-success-soft)}.inline-alert--warning{color:var(--color-warning);border-color:#ead4a5;background:var(--color-warning-soft)}.inline-alert--error{color:var(--color-danger);border-color:#efc5c1;background:var(--color-danger-soft)}.empty-state{display:flex;min-height:16rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:#ffffff8c;text-align:center}.empty-state__icon{display:grid;width:3.25rem;height:3.25rem;margin-bottom:1rem;place-items:center;border-radius:50%;color:var(--color-brand);background:var(--color-brand-soft)}.empty-state h3{margin-bottom:.35rem;font-size:1.1rem}.empty-state p{max-width:28rem;margin-bottom:1.2rem;color:var(--color-ink-soft);font-size:.88rem}.full-state .empty-state{width:min(100%,28rem)}.panel{min-width:0;padding:1.15rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel__header h2{margin-bottom:0}.panel__header .eyebrow{margin-bottom:.35rem}.panel__header>a{display:inline-flex;align-items:center;gap:.1rem;color:var(--color-success);font-size:.8rem;font-weight:700;white-space:nowrap}.panel__empty{margin:1rem 0;color:var(--color-ink-soft);font-size:.86rem;text-align:center}.expense-list{display:flex;flex-direction:column}.expense-row{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.75rem;padding:.75rem 0;border-bottom:1px solid #e9ebe7}.expense-row:last-child{border-bottom:0}a.expense-row{border-radius:8px;transition:background-color .15s ease}a.expense-row:hover{padding-right:.45rem;padding-left:.45rem;background:#f8f8f4}.expense-row__main{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.18rem}.expense-row__main>strong{max-width:100%;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.expense-row__meta{display:flex;max-width:100%;align-items:center;gap:.35rem;overflow:hidden;color:var(--color-ink-soft);font-size:.73rem}.expense-row__meta>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-row__amount{display:flex;align-items:center;gap:.2rem;color:var(--color-ink)}.expense-row__amount strong{font-size:.86rem;white-space:nowrap}.category-mark{display:grid;width:2.7rem;height:2.7rem;flex:0 0 auto;place-items:center;border-radius:13px}.category-mark--small{width:2rem;height:2rem;border-radius:9px}.category-mark--coral{color:#aa4936;background:#fceae5}.category-mark--blue{color:#4668aa;background:#e9effc}.category-mark--rose{color:#a74c6c;background:#fae9ef}.category-mark--violet{color:#67549d;background:#eeeafb}.category-mark--amber{color:#8a6426;background:#fcf1dc}.category-mark--green{color:#38745f;background:#e3f2eb}.category-mark--teal{color:#326e6b;background:#e0f1f0}.category-mark--neutral{color:#65716d;background:#ecefec}.status-badge{display:inline-flex;width:fit-content;align-items:center;gap:.25rem;padding:.22rem .45rem;border-radius:var(--radius-pill);font-size:.64rem;font-weight:700;line-height:1.25;white-space:nowrap}.status-badge--pending{color:var(--color-info);background:var(--color-info-soft)}.status-badge--success{color:var(--color-success);background:var(--color-success-soft)}.status-badge--manual{color:#63529b;background:#eeeafa}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.status-badge--neutral{color:var(--color-ink-soft);background:var(--color-surface-muted)}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0a141199;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{width:min(100%,32rem);max-height:min(90vh,42rem);overflow:auto;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #00000026;border:1px solid var(--color-border)}.dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem .5rem}.dialog__header h2{margin:0 0 .35rem;font-size:1.25rem;font-weight:750;color:var(--color-ink);line-height:1.25}.dialog__header p{margin:0;color:var(--color-ink-soft);font-size:.88rem;line-height:1.45}.dialog__header .icon-button{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);color:var(--color-ink-soft);transition:all .15s ease}.dialog__header .icon-button:hover{color:var(--color-ink);background:var(--color-surface-muted)}.dialog__body{padding:1.25rem 1.5rem 1.5rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.skeleton-page{display:flex;flex-direction:column;gap:1rem}.skeleton-grid{display:grid;grid-template-columns:1fr;gap:1rem}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-md);background:#e4e5df}.skeleton:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgb(255 255 255 / 60%),transparent);content:"";animation:shimmer 1.5s infinite;transform:translate(-100%)}.skeleton--title{width:42%;height:1.5rem}.skeleton--hero{height:10rem}.skeleton--card{height:13rem}.skeleton--insight{height:8rem;margin:1rem 0}@keyframes shimmer{to{transform:translate(100%)}}.auth-layout{display:grid;min-height:100vh;background:var(--color-canvas)}.auth-intro{display:none}.auth-panel{display:flex;min-width:0;flex-direction:column;padding:max(1.25rem,env(safe-area-inset-top)) 1rem 2rem}.auth-panel__mobile-brand{margin-bottom:2.6rem}.auth-card{width:min(100%,29rem);margin:auto}.auth-card>h1{margin-bottom:.65rem}.auth-card__description{margin-bottom:1.65rem;color:var(--color-ink-soft);font-size:.92rem}.auth-card__footer{margin-top:1.55rem;padding-top:1.25rem;border-top:1px solid var(--color-border);color:var(--color-ink-soft);font-size:.86rem;text-align:center}.auth-card__footer p{margin:0}.auth-card__footer a{color:var(--color-success);font-weight:700}.form-disclaimer,.privacy-note{margin:0;color:var(--color-ink-faint);font-size:.72rem;text-align:center}.auth-resend{display:block;margin:1.25rem auto 0}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.period-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;margin:0 -.25rem 1.15rem;padding:.3rem;border:1px solid var(--color-border);border-radius:13px;background:#ffffffa6}.period-tabs button{min-width:0;min-height:2.45rem;padding:.45rem .25rem;overflow:hidden;border:0;border-radius:9px;color:var(--color-ink-soft);background:transparent;font-size:.73rem;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.period-tabs button.is-active{color:var(--color-brand);background:var(--color-surface);box-shadow:0 2px 8px #173f351a}.period-tabs__long{display:none}.summary-grid{display:grid;grid-template-columns:minmax(0,1fr) 7.4rem;gap:.7rem;margin-bottom:1rem}.balance-card,.metric-card{position:relative;min-width:0;min-height:9.6rem;overflow:hidden;border-radius:var(--radius-md)}.balance-card{display:flex;flex-direction:column;padding:1.2rem;color:#fff;background:var(--color-brand);box-shadow:0 14px 28px #173f352e}.balance-card:after{position:absolute;top:-3.2rem;right:-3.2rem;width:8.5rem;height:8.5rem;border:1.4rem solid rgb(217 240 105 / 13%);border-radius:50%;content:""}.balance-card__label{color:#ffffffb8;font-size:.72rem;font-weight:620}.balance-card__value{position:relative;z-index:1;margin-top:.45rem;overflow:hidden;font-size:clamp(1.55rem,7vw,2.75rem);font-weight:740;letter-spacing:-.055em;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.balance-card__footer{margin-top:auto;color:#ffffffad;font-size:.66rem}.comparison{display:flex;align-items:center;gap:.25rem}.comparison--down{color:#d9f3e9}.comparison--up{color:#f8dfb4}.metric-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--color-border);background:var(--color-surface)}.metric-card__label{color:var(--color-ink-soft);font-size:.7rem}.metric-card>strong{margin-top:.35rem;font-size:2.2rem;letter-spacing:-.05em;line-height:1}.metric-card small{margin-top:.3rem;color:var(--color-ink-soft);font-size:.67rem}.metric-card__decoration{display:grid;width:2rem;height:2rem;margin-top:auto;place-items:center;border-radius:50%;color:var(--color-brand);background:var(--color-brand-soft)}.insight-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;margin:1rem 0;padding:1.1rem;overflow:hidden;border:1px solid #d8dda9;border-radius:var(--radius-md);background:#fbfce9}.insight-card__icon{display:grid;width:2.55rem;height:2.55rem;place-items:center;border-radius:12px;color:var(--color-brand);background:var(--color-accent)}.insight-card__content{position:relative;z-index:1}.insight-card h2{margin-bottom:.25rem}.insight-card p{margin-bottom:.8rem;color:#526058;font-size:.83rem}.insight-card__actions{display:flex;flex-wrap:wrap;gap:1rem}.insight-card__actions a,.insight-card__actions button{padding:0;border:0;color:var(--color-brand);background:transparent;font-size:.78rem;font-weight:720}.insight-card__actions a:hover,.insight-card__actions button:hover{text-decoration:underline}.insight-card__decoration{position:absolute;right:1rem;bottom:-.4rem;color:#173f3514}.dashboard-sections{display:grid;grid-template-columns:1fr;gap:1rem}.category-chart{display:grid;grid-template-columns:1fr;gap:.8rem}.category-chart__visual{position:relative;width:min(100%,14rem);height:14rem;margin:0 auto}.category-chart__center{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);pointer-events:none}.category-chart__center small{color:var(--color-ink-faint);font-size:.66rem}.category-chart__center strong{font-size:.95rem;letter-spacing:-.03em}.category-legend{display:flex;flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none}.category-legend li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem 0;border-bottom:1px solid #ebede9}.category-legend li:last-child{border:0}.category-legend__dot{width:.55rem;height:.55rem;border-radius:50%}.category-legend li>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.category-legend li strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.category-legend li small{color:var(--color-ink-faint);font-size:.66rem}.category-legend li b{font-size:.75rem}.daily-summary{margin-bottom:1rem;overflow:hidden;border:1px solid #cfe4dc;border-radius:var(--radius-md);background:linear-gradient(135deg,#f4fbf8,#fbfce9)}.daily-summary__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.85rem;align-items:center;min-height:4.8rem;padding:.85rem 1.05rem;cursor:pointer;list-style:none;transition:background-color .18s ease;-webkit-tap-highlight-color:transparent}.daily-summary__header::-webkit-details-marker{display:none}.daily-summary__header:hover{background:#ffffff59}.daily-summary__header:focus-visible{outline:3px solid rgb(23 63 53 / 18%);outline-offset:-3px}.daily-summary__icon,.assistant-header__icon{display:grid;width:2.65rem;height:2.65rem;flex:0 0 auto;place-items:center;border-radius:13px;color:var(--color-brand);background:var(--color-accent)}.daily-summary__title{display:flex;min-width:0;flex-direction:column;gap:.12rem}.daily-summary__title strong{overflow:hidden;color:var(--color-ink);font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.daily-summary__total{padding:.35rem .55rem;border-radius:999px;color:var(--color-brand);background:#ffffffb8;font-size:.72rem;font-weight:720;white-space:nowrap}.daily-summary__chevron{color:var(--color-ink-soft);transition:transform .22s ease}.daily-summary[open] .daily-summary__chevron{transform:rotate(180deg)}.daily-summary__content{margin-left:3.55rem;padding:0 1.05rem 1.05rem;animation:daily-summary-expand .24s ease both}.daily-summary p{margin:0;color:var(--color-ink-soft);font-size:.87rem;line-height:1.55}.daily-summary__highlights{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none}.daily-summary__highlights li{padding:.35rem .55rem;border-radius:999px;color:var(--color-brand);background:#ffffffc7;font-size:.7rem;font-weight:680}.daily-summary__action{display:inline-flex;align-items:center;gap:.35rem;margin-top:.9rem;color:var(--color-brand);font-size:.78rem;font-weight:720;text-decoration:none}.daily-summary-skeleton{min-height:4.8rem;margin-bottom:1rem;border-radius:var(--radius-md)}@keyframes daily-summary-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.assistant-page{display:flex;min-height:calc(100dvh - 9rem);flex-direction:column}.assistant-header{display:flex;align-items:flex-start;gap:.85rem}.assistant-header h1{margin-top:.1rem}.assistant-header p{max-width:42rem}.assistant-chat{display:flex;min-height:34rem;flex:1;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.assistant-thread{display:flex;min-height:20rem;max-height:min(54dvh,38rem);flex:1;flex-direction:column;gap:1rem;padding:1.15rem;overflow-y:auto;overscroll-behavior:contain}.chat-message{display:flex;max-width:min(88%,38rem);align-items:flex-start;gap:.55rem}.chat-message--user{align-self:flex-end;flex-direction:row-reverse}.chat-message__avatar{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--color-brand);background:var(--color-brand-soft)}.chat-message>div{padding:.7rem .85rem;border-radius:5px 15px 15px;background:var(--color-background)}.chat-message--user>div{color:#fff;border-radius:15px 5px 15px 15px;background:var(--color-brand)}.chat-message small{display:block;margin-bottom:.18rem;opacity:.66;font-size:.65rem;font-weight:700}.chat-message p{margin:0;font-size:.86rem;line-height:1.5;white-space:pre-wrap}.assistant-typing{color:var(--color-ink-soft)}.assistant-suggestions{display:flex;gap:.5rem;padding:0 1rem .8rem;overflow-x:auto;scrollbar-width:none}.assistant-suggestions button{min-height:2.15rem;flex:0 0 auto;padding:.4rem .7rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-brand);background:#fff;font-size:.7rem;font-weight:650}.assistant-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;padding:.9rem 1rem;border-top:1px solid var(--color-border);background:#fbfcfb}.assistant-composer .field{margin:0}.assistant-composer textarea{min-height:3.4rem;max-height:7rem;resize:vertical}.assistant-composer .button{min-height:3.4rem}.assistant-disclaimer{margin:0;padding:0 1rem .8rem;color:var(--color-ink-soft);background:#fbfcfb;font-size:.64rem;text-align:center}@media(max-width:540px){.daily-summary__header{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem}.daily-summary__icon{width:2.3rem;height:2.3rem}.daily-summary__title{grid-column:2}.daily-summary__total{grid-column:2;grid-row:2;width:fit-content;padding:0;background:transparent}.daily-summary__chevron{grid-column:3;grid-row:1 / span 2}.daily-summary__content{margin-left:0;padding:0 1rem 1rem}.assistant-header__icon{display:none}.assistant-chat{min-height:calc(100dvh - 14rem);margin:0 -.25rem}.assistant-thread{max-height:none}.assistant-composer{grid-template-columns:1fr}.assistant-composer .button{width:100%;min-height:2.8rem}}.budgets-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.budget-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.budget-card{min-width:0;padding:1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.budget-card--attention{border-color:#e5c66b}.budget-card--exceeded{border-color:#e4a5a5}.budget-card__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center}.budget-card__header h2{margin:0;overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.budget-card__header>div>span{color:var(--color-ink-soft);font-size:.68rem}.budget-card--attention .budget-card__header>div>span{color:#896a13}.budget-card--exceeded .budget-card__header>div>span{color:#a33c3c}.budget-card__actions{display:flex;gap:.25rem}.budget-card__actions button{display:grid;width:2.2rem;height:2.2rem;border:0;border-radius:50%;place-items:center;color:var(--color-ink-soft);background:transparent}.budget-card__actions button:hover{color:var(--color-brand);background:var(--color-brand-soft)}.budget-card__values{display:flex;align-items:baseline;gap:.35rem;margin-top:1.1rem}.budget-card__values strong{font-size:1.55rem;letter-spacing:-.04em}.budget-card__values span{color:var(--color-ink-soft);font-size:.76rem}.budget-progress{height:.55rem;margin-top:.75rem;overflow:hidden;border-radius:999px;background:#e8ecea}.budget-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-brand);transition:width .42s ease}.budget-card--attention .budget-progress span{background:#cf9f24}.budget-card--exceeded .budget-progress span{background:#c55252}.budget-card__footer{display:flex;justify-content:space-between;gap:.75rem;margin-top:.5rem;color:var(--color-ink-soft);font-size:.67rem}.budget-form{display:grid;gap:1rem}.budget-form__actions{display:flex;justify-content:flex-end;gap:.6rem}.budget-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;margin-bottom:1rem;padding:1.1rem;border:1px solid #cfded8;border-radius:var(--radius-md);background:#f6faf8}.budget-summary-card__icon{display:grid;width:2.55rem;height:2.55rem;place-items:center;border-radius:12px;color:var(--color-brand);background:var(--color-brand-soft)}.budget-summary-card h2{margin:.2rem 0 .3rem}.budget-summary-card p{margin:0;color:var(--color-ink-soft);font-size:.82rem}.budget-summary-card__items{display:grid;gap:.35rem;margin-top:.75rem}.budget-summary-card__items>div{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}.budget-summary-card__items strong{font-weight:680}.budget-summary-card a{display:inline-flex;align-items:center;gap:.2rem;margin-top:.8rem;color:var(--color-brand);font-size:.76rem;font-weight:720;text-decoration:none}.budget-summary-skeleton{min-height:9rem;margin-bottom:1rem;border-radius:var(--radius-md)}@media(max-width:720px){.budgets-header{align-items:stretch;flex-direction:column}.budgets-header .button{width:100%}.budget-list{grid-template-columns:1fr}.budget-card__footer{flex-direction:column;gap:.2rem}}@media(max-width:420px){.budget-summary-card{grid-template-columns:1fr}.budget-summary-card__items>div{align-items:flex-start;flex-direction:column;gap:.05rem}}.planning-page{width:min(100%,var(--content-max));margin:0 auto;padding:1.5rem 1.25rem 3rem}.planning-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.planning-tabs{display:flex;align-items:center;gap:.65rem;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.planning-tab-button{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .16s ease;-webkit-tap-highlight-color:transparent}.planning-tab-button:hover{border-color:var(--color-brand);color:var(--color-brand)}.planning-tab-button.is-active{background:var(--color-brand);border-color:var(--color-brand);color:#fff;box-shadow:0 4px 14px #173f3533}.planning-section{margin-bottom:2.75rem}.planning-section__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-top:1rem}.goal-card{display:flex;flex-direction:column;gap:1.1rem;padding:1.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease}.goal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.goal-card--completed{border-color:#bce3d3;background:#fbfdfc}.goal-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.goal-card__title-wrap{display:flex;align-items:center;gap:.65rem;min-width:0}.goal-card__emoji{font-size:1.8rem;line-height:1;flex:0 0 auto}.goal-card__title{margin:0;font-size:1.05rem;font-weight:750;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-card__progress-track{width:100%;height:.65rem;border-radius:var(--radius-pill);background:var(--color-surface-muted);overflow:hidden}.goal-card__progress-bar{height:100%;border-radius:var(--radius-pill);background:var(--color-brand);transition:width .35s ease}.goal-card--completed .goal-card__progress-bar{background:var(--color-success)}.goal-card__values{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.goal-card__current{font-size:1.15rem;font-weight:800;color:var(--color-ink)}.goal-card__target{font-size:.8rem;color:var(--color-ink-soft)}.goal-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.goal-card__badge{font-size:.73rem;font-weight:700;color:var(--color-brand);background:var(--color-brand-soft);padding:.25rem .55rem;border-radius:var(--radius-pill)}.goal-card__badge--completed{color:var(--color-success);background:var(--color-success-soft)}.goal-card__actions{display:flex;align-items:center;gap:.35rem}.goal-card__actions .button-link{display:grid;width:1.9rem;height:1.9rem;border:0;border-radius:50%;place-items:center;color:var(--color-ink-soft);background:transparent;cursor:pointer;transition:all .12s ease}.goal-card__actions .button-link:hover{color:var(--color-brand);background:var(--color-brand-soft)}@media(max-width:640px){.planning-page{padding:1rem .85rem 2.5rem}.planning-header{flex-direction:column;gap:1rem}.goals-grid{grid-template-columns:1fr}}.spending-plans-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.spending-plans-filters{display:flex;gap:.5rem;margin:1.5rem 0 1rem;overflow-x:auto;padding-bottom:.25rem}.spending-plans-filter-btn{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.spending-plans-filter-btn:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.spending-plans-filter-btn.is-active{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.spending-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;margin-top:1rem}.spending-plan-card{min-width:0;padding:1.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.spending-plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.spending-plan-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.spending-plan-card__title-group{min-width:0}.spending-plan-card__title{margin:0 0 .25rem;font-size:1.15rem;font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending-plan-card__dates{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--color-ink-faint)}.spending-plan-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.spending-plan-badge--active{background:var(--color-success-soft);color:var(--color-success)}.spending-plan-badge--completed{background:var(--color-surface-muted);color:var(--color-ink-soft)}.spending-plan-badge--draft{background:var(--color-warning-soft);color:var(--color-warning)}.spending-plan-card__description{margin:0;font-size:.85rem;color:var(--color-ink-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spending-plan-card__values{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.85rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.spending-plan-card__stat{display:flex;flex-direction:column;gap:.2rem}.spending-plan-card__stat-label{font-size:.72rem;color:var(--color-ink-faint);text-transform:uppercase;font-weight:500}.spending-plan-card__stat-val{font-size:.95rem;font-weight:700;color:var(--color-ink)}.spending-plan-card__stat-val--positive{color:var(--color-success)}.spending-plan-card__stat-val--negative{color:var(--color-danger)}.plan-progress-container{display:flex;flex-direction:column;gap:.35rem}.plan-progress-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--color-ink-soft)}.plan-progress-bar{width:100%;height:8px;border-radius:var(--radius-pill);background:var(--color-surface-muted);overflow:hidden}.plan-progress-bar__fill{height:100%;border-radius:var(--radius-pill);transition:width .3s ease}.plan-progress-bar__fill--normal{background:var(--color-brand)}.plan-progress-bar__fill--warning{background:#d97706}.plan-progress-bar__fill--danger{background:var(--color-danger)}.spending-plan-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;font-size:.8rem;color:var(--color-ink-faint)}.plan-mode-banner{background:linear-gradient(135deg,#173f35,#1e4d41);color:#fff;border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.plan-mode-banner:after{content:"";position:absolute;top:-30%;right:-10%;width:250px;height:250px;background:radial-gradient(circle,rgba(217,240,105,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.plan-mode-banner__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.plan-mode-banner__back{display:inline-flex;align-items:center;gap:.4rem;color:#ffffffd9;font-size:.85rem;text-decoration:none;font-weight:500;transition:color .15s ease}.plan-mode-banner__back:hover{color:#fff;text-decoration:underline}.plan-mode-tag{display:inline-flex;align-items:center;gap:.4rem;background:#d9f06933;color:#d9f069;border:1px solid rgba(217,240,105,.4);padding:.3rem .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.plan-mode-banner__content{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}.plan-mode-banner__title-area{max-width:650px}.plan-mode-banner__title{margin:0 0 .5rem;font-size:1.85rem;font-weight:700;line-height:1.2}.plan-mode-banner__desc{margin:0 0 .75rem;font-size:.95rem;color:#ffffffd9;line-height:1.5}.plan-mode-banner__meta{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:#ffffffbf;flex-wrap:wrap}.plan-mode-banner__notice{margin-top:1rem;padding:.65rem .9rem;border-radius:var(--radius-sm);background:#ffffff1a;border-left:3px solid #d9f069;font-size:.82rem;color:#ffffffe6;line-height:1.4}.plan-mode-banner__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.plan-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.plan-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.4rem}.plan-stat-card__label{font-size:.75rem;text-transform:uppercase;color:var(--color-ink-faint);font-weight:600;letter-spacing:.04em}.plan-stat-card__value{font-size:1.4rem;font-weight:800;color:var(--color-ink)}.plan-stat-card__sub{font-size:.8rem;color:var(--color-ink-soft)}.plan-section{margin-bottom:2.5rem}.plan-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.plan-section__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-ink)}.plan-section__desc{margin:.25rem 0 0;font-size:.85rem;color:var(--color-ink-soft)}.plan-budgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.plan-budget-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.15rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.plan-budget-card--exceeded{border-color:#fca5a5;background:snow}.plan-budget-card__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.plan-budget-card__info{display:flex;align-items:center;gap:.65rem;min-width:0}.plan-budget-card__name{font-weight:600;font-size:.95rem;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-budget-card__actions{display:flex;gap:.25rem}.plan-budget-card__values{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.plan-completion-banner{border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem}.plan-completion-banner--success{background:var(--color-success-soft);border:1px solid #a7f3d0;color:#064e3b}.plan-completion-banner--exceeded{background:var(--color-danger-soft);border:1px solid #fecaca;color:#7f1d1d}.plan-completion-banner__icon{flex-shrink:0;margin-top:.15rem}.plan-completion-banner__content h3{margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.plan-completion-banner__content p{margin:0;font-size:.9rem;line-height:1.5}.plan-expenses-table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.plan-expenses-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.plan-expenses-table th{padding:.85rem 1rem;background:var(--color-surface-muted);color:var(--color-ink-faint);font-weight:600;font-size:.75rem;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.plan-expenses-table td{padding:.9rem 1rem;border-bottom:1px solid var(--color-border);color:var(--color-ink)}.plan-expenses-table tr:last-child td{border-bottom:0}.plan-expenses-table tr:hover td{background:var(--color-surface-muted)}@media(max-width:900px){.plan-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.plan-stats-row,.spending-plans-grid{grid-template-columns:1fr}.plan-mode-banner{padding:1.25rem}.plan-mode-banner__title{font-size:1.4rem}.spending-plan-card__values{grid-template-columns:1fr;gap:.65rem}}.monthly-close-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;margin-bottom:1rem;padding:1.1rem;border:1px solid #d9d8ec;border-radius:var(--radius-md);background:#f8f7fd}.dashboard-page>.monthly-close-card{margin-top:1rem}.monthly-close-card__icon,.monthly-highlights__icon{display:grid;width:2.55rem;height:2.55rem;place-items:center;border-radius:12px;color:#5c5190;background:#eae7f8}.monthly-close-card h2{margin:.2rem 0 .3rem}.monthly-close-card p{margin:0;color:var(--color-ink-soft);font-size:.82rem;line-height:1.5}.monthly-close-card a{display:inline-flex;align-items:center;gap:.2rem;margin-top:.8rem;color:var(--color-brand);font-size:.76rem;font-weight:720;text-decoration:none}.monthly-close-card-skeleton{min-height:10rem;margin-bottom:1rem;border-radius:var(--radius-md)}.monthly-close-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.monthly-close-month{width:min(100%,14rem);flex:0 0 auto}.monthly-close-metrics{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.monthly-close-metrics article{display:flex;min-height:9.5rem;flex-direction:column;padding:1.05rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.monthly-close-metrics article>svg{margin-bottom:auto;color:var(--color-brand)}.monthly-close-metrics article>span{margin-top:auto;color:var(--color-ink-soft);font-size:.72rem}.monthly-close-metrics article>strong{margin-top:.25rem;font-size:1.45rem;letter-spacing:-.04em}.monthly-close-metrics .monthly-close-total{color:#fff;border-color:var(--color-brand);background:var(--color-brand)}.monthly-close-total>span{color:#ffffffb8!important}.monthly-close-total>strong{margin:.45rem 0 auto!important;font-size:clamp(1.7rem,5vw,2.6rem)!important}.monthly-close-total small{display:flex;align-items:center;gap:.25rem;color:#ffffffbf;font-size:.68rem}.monthly-comparison--up{color:#f8dfb4!important}.monthly-comparison--down{color:#d9f3e9!important}.monthly-highlights{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;margin-bottom:1rem;padding:1.15rem;border:1px solid #d9d8ec;border-radius:var(--radius-md);background:#faf9fe}.monthly-highlights h2{margin:.2rem 0 .7rem}.monthly-highlights ul{display:grid;gap:.4rem;margin:0;padding-left:1.1rem;color:var(--color-ink-soft);font-size:.82rem}.monthly-close-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.monthly-category-list{display:grid;gap:1rem}.monthly-category{display:grid;grid-template-columns:minmax(0,1fr) minmax(4rem,.8fr) minmax(6rem,auto);gap:.7rem;align-items:center}.monthly-category>div:first-child,.monthly-category>div:last-child{display:flex;min-width:0;flex-direction:column}.monthly-category>div:last-child{align-items:flex-end;text-align:right}.monthly-category strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.monthly-category span{color:var(--color-ink-soft);font-size:.64rem}.monthly-category__bar{height:.42rem;overflow:hidden;border-radius:999px;background:#e6ebe8}.monthly-category__bar span{display:block;height:100%;border-radius:inherit;background:var(--color-brand)}@media(max-width:820px){.monthly-close-sections{grid-template-columns:1fr}.monthly-close-header{align-items:stretch;flex-direction:column}.monthly-close-month{width:100%}}@media(max-width:560px){.monthly-close-card,.monthly-highlights{grid-template-columns:1fr}.monthly-close-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-close-total{grid-column:1 / -1}.monthly-category{grid-template-columns:minmax(0,1fr) minmax(6rem,auto)}.monthly-category__bar{grid-column:1 / -1;grid-row:2}}.entry-switch{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;width:min(100%,38rem);margin:0 auto .75rem;padding:.3rem;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-muted)}.entry-switch button{display:flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:9px;color:var(--color-ink-soft);background:transparent;font-size:.8rem;font-weight:680}.entry-switch button.is-active{color:var(--color-brand);background:var(--color-surface);box-shadow:var(--shadow-sm)}.entry-mode-transition{animation:entry-mode-enter .36s cubic-bezier(.16,1,.3,1)}@keyframes entry-mode-enter{0%{opacity:0;transform:translateY(8px)}}.create-card{width:min(100%,38rem);margin:0 auto;padding:1.15rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.create-card__intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;margin-bottom:1.25rem}.create-card__icon{display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:13px;color:var(--color-brand);background:var(--color-brand-soft)}.create-card__intro h2{margin-bottom:.25rem;font-size:1.35rem}.create-card__intro p{margin-bottom:0;color:var(--color-ink-soft);font-size:.8rem}.voice-entry__intro{margin-bottom:1.25rem;text-align:center}.voice-entry__intro h2{margin:.45rem 0 .65rem;font-size:clamp(1.55rem,7vw,2.1rem);letter-spacing:-.045em;line-height:1.08}.voice-entry__intro p{max-width:29rem;margin:0 auto;color:var(--color-ink-soft);font-size:.86rem}.voice-capture{position:relative;overflow:hidden;margin:1rem 0;padding:1.2rem;border:1px solid #b8cdc5;border-radius:22px;background:radial-gradient(circle at 50% 10%,rgb(217 240 105 / 30%),transparent 9rem),linear-gradient(145deg,#f4faf7,#e5efeb)}.voice-capture__button{display:flex;width:100%;min-height:13rem;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1rem;border:0;border-radius:18px;color:var(--color-brand);background:transparent;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.voice-capture__button:disabled{opacity:.55}.voice-capture__icon{position:relative;display:grid;width:5.3rem;height:5.3rem;margin-bottom:.4rem;place-items:center;border:7px solid rgb(255 255 255 / 78%);border-radius:50%;color:#fff;background:var(--color-brand);box-shadow:0 12px 30px #173f3540;transition:transform .18s ease,background-color .18s ease}.voice-capture__button:not(:disabled):active .voice-capture__icon{transform:scale(.94)}.voice-capture__button strong{font-size:1.05rem}.voice-capture__button small{color:var(--color-ink-soft);font-size:.76rem}.voice-capture.is-listening{border-color:#e3a18f;background:radial-gradient(circle at 50% 10%,rgb(229 111 81 / 18%),transparent 10rem),#fff8f5}.voice-capture.is-listening .voice-capture__icon{background:var(--color-coral);animation:voice-ring 1.3s ease-in-out infinite}@keyframes voice-ring{50%{box-shadow:0 0 0 13px #e56f511f,0 12px 30px #173f352e}}.voice-transcript{display:flex;flex-direction:column;gap:.3rem;padding:.8rem;border-radius:12px;background:#ffffffc7}.voice-transcript span{color:var(--color-ink-faint);font-size:.65rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.voice-transcript q{color:var(--color-ink);font-size:.86rem;font-style:normal}.voice-example{margin:.85rem 0 0;color:var(--color-ink-soft);font-size:.76rem;line-height:1.45;text-align:center}.smart-entry__composer{overflow:hidden;margin-bottom:.9rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color .16s ease,box-shadow .16s ease}.smart-entry__composer:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 3px #173f351c}.smart-entry__composer.is-listening{border-color:var(--color-coral);box-shadow:0 0 0 3px #e56f511f}.smart-entry__composer textarea{display:block;width:100%;min-height:9.5rem;padding:1rem;border:0;outline:0;resize:vertical;font-size:1rem;line-height:1.55}.smart-entry__composer textarea::placeholder{color:#98a19d}.smart-entry__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-top:1px solid #e8eae6;color:var(--color-ink-faint);font-size:.68rem}.voice-button{display:inline-flex;min-height:2.2rem;align-items:center;gap:.35rem;padding:.4rem .65rem;border:0;border-radius:var(--radius-pill);color:var(--color-brand);background:var(--color-brand-soft);font-size:.75rem;font-weight:700}.voice-button.is-listening{color:#9a3f31;background:#fce8e3}.voice-unavailable{display:inline-flex;align-items:center;gap:.3rem}.listening-indicator{display:flex;align-items:center;justify-content:center;gap:.25rem;margin:-.25rem 0 .85rem;color:#9a3f31;font-size:.76rem;font-weight:650}.listening-indicator span{width:.3rem;height:.3rem;border-radius:50%;background:var(--color-coral);animation:voice-pulse 1s ease-in-out infinite alternate}.listening-indicator span:nth-child(2){animation-delay:.16s}.listening-indicator span:nth-child(3){margin-right:.3rem;animation-delay:.32s}@keyframes voice-pulse{to{transform:scale(1.7);opacity:.45}}.privacy-note{margin-top:.75rem;line-height:1.45}.review-source{display:flex;flex-direction:column;gap:.25rem;margin:.2rem 0 1rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.review-source span{color:var(--color-ink-faint);font-size:.68rem;font-weight:700;text-transform:uppercase}.review-source q{color:var(--color-ink-soft);font-size:.78rem;font-style:italic}.review-step{animation:page-enter .28s cubic-bezier(.22,1,.36,1)}.review-step>.field{margin-bottom:1rem}.expense-compact-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.75rem;margin-bottom:1rem}.expense-compact-fields>*,.expense-compact-fields .field__control-wrap,.expense-compact-fields input{min-width:0;width:100%;max-width:100%}.expense-compact-fields>.field{overflow:hidden;contain:inline-size}.review-actions{display:grid;gap:.65rem}.review-actions .button{width:100%}.review-actions__secondary{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.review-actions__secondary.is-single{grid-template-columns:1fr}.durability-note{display:flex;width:min(100%,38rem);align-items:flex-start;gap:.55rem;margin:1rem auto 0;padding:0 .4rem;color:var(--color-ink-soft);font-size:.73rem}.durability-note>span{display:grid;width:1.3rem;height:1.3rem;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--color-success);background:var(--color-success-soft)}.durability-note p{margin:0}.durability-note strong{color:var(--color-ink)}.creation-result{display:flex;min-height:calc(100vh - 7rem);align-items:center;justify-content:center}.success-card{width:min(100%,35rem);padding:1.4rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);text-align:center}.success-card__icon{display:grid;width:4rem;height:4rem;margin:0 auto 1rem;place-items:center;border-radius:50%;color:var(--color-success);background:var(--color-success-soft)}.success-card>p{color:var(--color-ink-soft);font-size:.88rem}.saved-expense-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:1.3rem 0;padding:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafaf7;text-align:left}.saved-expense-card>span:first-child{display:flex;min-width:0;flex-direction:column}.saved-expense-card>span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-expense-card small{color:var(--color-ink-soft)}.saved-expense-card>.status-badge{grid-column:1 / -1}.expenses-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.9rem}.filter-toggle,.sort-control{display:inline-flex;min-height:2.65rem;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface);font-size:.82rem;font-weight:660}.filter-toggle.has-filters{color:var(--color-brand);border-color:#9cb8ae;background:var(--color-brand-soft)}.filter-toggle>span{display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-brand);font-size:.65rem}.sort-control{min-width:0}.sort-control select{min-width:0;padding:0;border:0;outline:0;color:var(--color-ink);background:transparent;font-size:.82rem;font-weight:660}.filter-panel{margin-bottom:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.filter-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.filter-panel__header h2{margin:0;font-size:1rem}.filter-panel__grid{display:grid;grid-template-columns:1fr;gap:.8rem}.filter-panel__actions{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.expense-history{padding-top:.2rem;padding-bottom:.2rem}.expense-history__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.expense-history__header p{margin:0;color:var(--color-ink-soft);font-size:.78rem}.expense-history__header strong{color:var(--color-ink)}.expense-history .empty-state{margin:.9rem 0;border:0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1rem}.pagination>span{color:var(--color-ink-soft);font-size:.75rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;color:var(--color-success);font-size:.82rem;font-weight:700}.edit-layout{display:grid;grid-template-columns:1fr;gap:1rem}.edit-form-panel,.classification-panel{display:flex;flex-direction:column;gap:1rem}.edit-form-panel .panel__header,.classification-panel .panel__header{margin-bottom:0}.classification-panel>p{margin:-.3rem 0 0;color:var(--color-ink-soft);font-size:.82rem}.retry-row{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.8rem;padding:.7rem .9rem;color:var(--color-ink-soft);font-size:.77rem}.quick-voice-dialog{padding:.5rem 0}.quick-voice-listening{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.quick-voice-radar{position:relative;display:grid;width:7.5rem;height:7.5rem;margin:.5rem auto;place-items:center}.quick-voice-radar__button{position:relative;z-index:2;display:grid;width:5.5rem;height:5.5rem;place-items:center;border:5px solid rgb(255 255 255 / 90%);border-radius:50%;color:#fff;background:var(--color-coral);box-shadow:0 8px 24px #e56f5159;cursor:pointer;transition:transform .18s ease,background-color .18s ease;-webkit-tap-highlight-color:transparent}.quick-voice-radar:not(.is-active) .quick-voice-radar__button{background:var(--color-brand);box-shadow:0 8px 24px #173f3540}.quick-voice-radar__button:active{transform:scale(.93)}.radar-wave{position:absolute;inset:0;border:2px solid var(--color-coral);border-radius:50%;pointer-events:none;animation:radar-wave-pulse 2s cubic-bezier(.24,0,.38,1) infinite}.radar-wave--1{animation-delay:0s}.radar-wave--2{animation-delay:.65s}.radar-wave--3{animation-delay:1.3s}@keyframes radar-wave-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.45)}}.quick-voice-status{display:flex;flex-direction:column;gap:.2rem}.quick-voice-status strong{font-size:1.1rem;color:var(--color-ink)}.quick-voice-status p{margin:0;color:var(--color-ink-soft);font-size:.82rem}.quick-voice-transcript{width:100%;min-height:4.5rem;display:flex;align-items:center;justify-content:center;padding:.85rem 1rem;border:1px dashed #b8cdc5;border-radius:var(--radius-sm);background:#f7faf9;text-align:center}.quick-voice-transcript q{font-size:1.05rem;font-weight:600;color:var(--color-brand)}.quick-voice-hint{color:var(--color-ink-faint);font-size:.8rem;font-style:italic}.quick-voice-actions{width:100%;margin-top:.5rem}.quick-voice-review{display:flex;flex-direction:column;gap:1.1rem}.quick-voice-card-summary{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem;border:1px solid #c8ddd4;border-radius:var(--radius-md);background:#fbfdfc}.quick-voice-card-summary__eyebrow{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-brand);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.quick-voice-card-summary__main{display:grid;gap:.85rem}.quick-voice-card-summary__source{display:flex;flex-direction:column;gap:.15rem;padding-top:.65rem;border-top:1px solid #ebf2ef}.quick-voice-card-summary__source small{color:var(--color-ink-faint);font-size:.68rem;text-transform:uppercase}.quick-voice-card-summary__source span{color:var(--color-ink-soft);font-size:.8rem;font-style:italic}.quick-voice-review-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%}.quick-voice-review-actions .button{width:100%}.button-link{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem;border:0;background:transparent;color:var(--color-ink-soft);font-size:.82rem;font-weight:650;cursor:pointer}.button-link:hover{color:var(--color-brand)}.quick-voice-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem .5rem;gap:.6rem}.quick-voice-success__icon{display:grid;width:4.8rem;height:4.8rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-success);box-shadow:0 10px 24px #2e7d324d;animation:success-bounce .4s cubic-bezier(.18,.89,.32,1.28)}@keyframes success-bounce{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.quick-voice-success h3{margin:0;color:var(--color-ink);font-size:1.3rem}.quick-voice-success p{margin:0;color:var(--color-ink-soft);font-size:.9rem}.expense-comments-panel{margin-top:1.5rem;padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.comments-list{display:flex;flex-direction:column;gap:1rem;margin:1.2rem 0}.comments-empty{margin:.5rem 0;padding:1rem;border-radius:var(--radius-sm);background:var(--color-surface-soft, #f8f9fa);color:var(--color-ink-soft);font-size:.88rem;text-align:center}.comment-thread{display:flex;flex-direction:column;gap:.65rem}.comment-item{display:flex;align-items:flex-start;gap:.75rem}.comment-item--reply{margin-left:2rem;position:relative}.comment-item--reply:before{content:"";position:absolute;left:-1rem;top:.8rem;width:.75rem;height:1px;background:var(--color-border)}.comment-avatar{display:grid;width:2.2rem;height:2.2rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);font-size:.75rem;font-weight:700}.comment-avatar--sm{width:1.8rem;height:1.8rem;font-size:.68rem}.comment-bubble{flex:1;min-width:0;padding:.75rem .9rem;border-radius:var(--radius-md);background:#fbfbf9;border:1px solid var(--color-border)}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.comment-author{font-size:.82rem;color:var(--color-ink)}.comment-time{font-size:.72rem;color:var(--color-ink-faint)}.comment-text{margin:0;font-size:.88rem;color:var(--color-ink);line-height:1.45;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.comment-action-button{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .4rem;border:0;border-radius:4px;background:transparent;color:var(--color-ink-soft);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .12s ease}.comment-action-button:hover{color:var(--color-brand);background:var(--color-brand-soft)}.comment-action-button--danger:hover{color:var(--color-danger);background:#fde8e8}.comment-replies{display:flex;flex-direction:column;gap:.5rem}.comment-form{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.comment-replying-banner{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-radius:var(--radius-sm);background:var(--color-brand-soft);color:var(--color-brand);font-size:.8rem}.comment-input-wrap{display:flex;gap:.65rem;align-items:flex-end}.comment-textarea{flex:1;min-height:2.75rem;max-height:8rem;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.88rem;font-family:inherit;color:var(--color-ink);resize:vertical}.comment-textarea:focus{outline:2px solid var(--color-brand);border-color:transparent}.page-header__actions{display:flex;flex:0 0 auto;align-items:center;gap:.65rem}.export-pdf-trigger{white-space:nowrap}.export-pdf-trigger--icon{width:2.4rem;min-width:2.4rem;padding-right:0;padding-left:0;justify-content:center;border-radius:50%}.export-pdf-trigger--icon>span{display:none}.export-dialog{display:flex;flex-direction:column;gap:1rem}.export-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.export-periods button{min-height:2.65rem;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface);font-size:.8rem;font-weight:650;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.export-periods button:hover{border-color:var(--color-brand);color:var(--color-brand)}.export-periods button.is-active{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.export-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.export-range-preview{margin:0;padding:.75rem .85rem;border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface-muted);font-size:.8rem}.export-range-preview strong{color:var(--color-ink)}.export-dialog__actions{margin-top:.2rem;padding-top:.9rem;border-top:1px solid var(--color-border)}.export-generated-actions{display:flex;flex-wrap:wrap;gap:.6rem}@media(max-width:519px){.dashboard-header,.page-header--row{align-items:stretch;flex-direction:column}.page-header__actions,.page-header__actions .export-pdf-trigger{width:100%}.export-date-grid{grid-template-columns:1fr}.export-dialog__actions{display:grid;grid-template-columns:.8fr 1.2fr}}@media(min-width:520px){.export-periods{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;margin-bottom:1rem;padding:1rem;border-radius:var(--radius-md);color:#fff;background:var(--color-brand)}.profile-summary__avatar{display:grid;width:3.5rem;height:3.5rem;place-items:center;border:1px solid rgb(255 255 255 / 22%);border-radius:50%;color:var(--color-accent);background:#ffffff1a;font-weight:750}.profile-summary h2{margin:0}.profile-summary p{margin:0;color:#ffffffb3;font-size:.78rem}.verified-chip{display:inline-flex;width:fit-content;grid-column:1 / -1;align-items:center;gap:.3rem;padding:.35rem .55rem;border-radius:var(--radius-pill);color:var(--color-accent);background:#d9f0691a;font-size:.7rem;font-weight:680}.profile-grid{display:grid;grid-template-columns:1fr;gap:1rem}.profile-panel{display:flex;flex-direction:column;gap:1rem}.profile-panel .panel__header{margin-bottom:0}.readonly-field{display:flex;flex-direction:column;gap:.4rem}.readonly-field>div{display:flex;min-height:3rem;align-items:center;gap:.5rem;padding:.72rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface-muted);font-size:.86rem}.readonly-field small{color:var(--color-ink-faint);font-size:.7rem}.toggle-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;cursor:pointer}.toggle-row>span:first-child{display:flex;flex-direction:column;gap:.2rem}.toggle-row strong{font-size:.87rem}.toggle-row small{color:var(--color-ink-soft);font-size:.75rem}.toggle-row input{position:absolute;width:1px;height:1px;opacity:0}.toggle{position:relative;width:3rem;height:1.65rem;border-radius:var(--radius-pill);background:#b8bfbc;transition:background-color .16s ease}.toggle:after{position:absolute;top:.2rem;left:.2rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;content:"";transition:transform .16s ease}.toggle-row input:checked+.toggle{background:var(--color-brand)}.toggle-row input:checked+.toggle:after{transform:translate(1.35rem)}.toggle-row input:focus-visible+.toggle{outline:3px solid rgb(95 133 214 / 55%);outline-offset:3px}.preference-note{margin:0;padding-top:.8rem;border-top:1px solid var(--color-border);color:var(--color-ink-faint);font-size:.72rem}.profile-actions{display:flex;flex-wrap:wrap;gap:.7rem}.account-session{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1rem;border-top:1px solid var(--color-border)}.account-session>div{display:flex;align-items:flex-start;gap:.55rem}.account-session>div>span{display:flex;flex-direction:column}.account-session strong{font-size:.84rem}.account-session small{color:var(--color-ink-soft);font-size:.72rem}.space-switcher{display:grid;gap:.4rem;margin:.25rem 0 1rem}.space-switcher>span{color:var(--color-ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.space-switcher select,.mobile-space-switcher select{width:100%;border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:650;padding:.65rem .75rem}.mobile-space-switcher{max-width:8.5rem}.mobile-space-switcher select{font-size:.8rem;padding:.5rem .6rem}.dashboard-switcher{display:grid;gap:.4rem;margin:.25rem 0 1rem}.dashboard-switcher>span{display:inline-flex;gap:.35rem;align-items:center;min-width:0;color:var(--color-ink-soft);font-size:.72rem;font-weight:700;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}.dashboard-switcher select{width:100%;min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:650;text-overflow:ellipsis;white-space:nowrap;padding:.65rem .75rem}.dashboard-switcher--compact{width:min(12rem,100%);max-width:12rem;margin:0}.dashboard-switcher--compact>span{display:none}.dashboard-switcher--compact select{min-width:0;font-size:.8rem;padding:.5rem .6rem}.shared-dashboard-banner{display:flex;gap:.75rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--color-brand);border-radius:.95rem;background:var(--color-brand-soft);color:var(--color-ink)}.shared-dashboard-banner__icon{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border-radius:.7rem;color:var(--color-brand);background:var(--color-surface)}.shared-dashboard-banner>span:nth-child(2){display:grid;gap:.15rem;min-width:0;flex:1}.shared-dashboard-banner small{color:var(--color-ink-soft)}.shared-dashboard-banner .text-button{flex:0 0 auto}.share-status--active{color:var(--color-brand)}.shared-finances-page{display:grid;gap:1rem}.shared-finances-page .page-header>svg{color:var(--color-brand)}.shared-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:end}.shared-inline-form label{display:grid;gap:.4rem}.shared-inline-form label>span{color:var(--color-ink-soft);font-size:.8rem;font-weight:700}.shared-inline-form input{width:100%}.shared-list{display:grid;gap:.65rem}.shared-list__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid var(--color-border);border-radius:.85rem}.shared-list__item>span:nth-child(2){display:grid;gap:.15rem}.shared-list__item small{color:var(--color-ink-soft)}.shared-list__icon{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.75rem;color:var(--color-brand);background:var(--color-brand-soft)}.shared-list__actions{display:flex;gap:.45rem}.shared-space-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.7rem;margin-bottom:.85rem}.shared-space-tabs button{display:flex;gap:.65rem;align-items:center;padding:.85rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface);color:var(--color-ink);text-align:left}.shared-space-tabs button>span{display:grid;gap:.15rem}.shared-space-tabs button small{color:var(--color-ink-soft)}.shared-space-tabs button.is-active{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft)}.shared-space-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem}.shared-management-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:1rem}.member-role{color:var(--color-ink-soft);font-size:.75rem;font-weight:700}@media(max-width:760px){.shared-inline-form,.shared-management-grid{grid-template-columns:1fr}.shared-list__item{grid-template-columns:auto minmax(0,1fr) auto}.shared-list__actions{grid-column:1 / -1;justify-content:flex-end}.member-role{display:none}}@media(max-width:520px){.mobile-space-switcher{display:none}.dashboard-switcher--compact{max-width:8rem}.shared-dashboard-banner{align-items:flex-start;flex-wrap:wrap}.shared-dashboard-banner .text-button{margin-left:3rem}}.direct-chats-page{display:flex;flex-direction:column;gap:1.25rem}.direct-chats-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.direct-chats-header__titles{display:flex;flex-direction:column;gap:.25rem}.direct-chats-header__titles .eyebrow{color:var(--color-success);font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.direct-chats-header__titles h1{margin:0;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;letter-spacing:-.04em;color:var(--color-ink);line-height:1.15}.direct-chats-header__titles p{margin:0;color:var(--color-ink-soft);font-size:.92rem;max-width:36rem}.direct-chats-container{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:1.25rem;height:clamp(520px,calc(100dvh - 16rem),780px);min-height:520px}@media(max-width:860px){.direct-chats-container{display:flex;flex-direction:column;height:calc(100dvh - 13.5rem);min-height:480px;gap:0}.direct-chats-container.has-active-chat .direct-chats-sidebar{display:none}.direct-chats-container:not(.has-active-chat) .direct-chats-main{display:none}}.direct-chats-sidebar{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.direct-chats-sidebar__header{padding:1.1rem 1.15rem;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.85rem;background:#fafaf7}.direct-chats-sidebar__title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.direct-chats-sidebar__title-row h2{font-size:1.05rem;font-weight:750;color:var(--color-brand);margin:0;letter-spacing:-.02em}.direct-chats-search-wrap{position:relative;display:flex;align-items:center}.direct-chats-search-icon{position:absolute;left:.75rem;color:var(--color-ink-faint);pointer-events:none}.direct-chats-search-input{width:100%;padding:.55rem .75rem .55rem 2.25rem;font-size:.86rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);transition:border-color .16s ease,box-shadow .16s ease}.direct-chats-search-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #173f351a}.direct-chats-list{flex:1;overflow-y:auto;list-style:none;margin:0;padding:.4rem 0}.direct-chat-item{width:100%;display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1.15rem;border:none;border-bottom:1px solid rgb(0 0 0 / 3%);background:transparent;text-align:left;cursor:pointer;transition:background-color .14s ease,border-left-color .14s ease;position:relative}.direct-chat-item:hover{background:#173f350a}.direct-chat-item.is-selected{background:var(--color-brand-soft);border-left:4px solid var(--color-brand)}.direct-chat-avatar{width:2.65rem;height:2.65rem;flex-shrink:0;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);display:grid;place-items:center;font-size:.86rem;font-weight:750;letter-spacing:-.02em;box-shadow:inset 0 0 0 1px #173f351f}.direct-chat-item.is-selected .direct-chat-avatar{background:var(--color-brand);color:#fff}.direct-chat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.direct-chat-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.direct-chat-name{font-size:.92rem;font-weight:700;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-chat-time{font-size:.72rem;color:var(--color-ink-faint);white-space:nowrap;flex-shrink:0}.direct-chat-preview-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.direct-chat-preview{font-size:.8rem;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.35}.direct-chat-item.is-selected .direct-chat-preview{color:var(--color-ink)}.direct-chat-badge-pending{font-size:.68rem;font-weight:750;padding:.15rem .5rem;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;white-space:nowrap}.direct-chat-badge-blocked{font-size:.68rem;font-weight:750;padding:.15rem .5rem;border-radius:999px;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;white-space:nowrap}.direct-chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .4rem;font-size:.68rem;font-weight:800;border-radius:999px;background:var(--color-brand);color:#fff;flex-shrink:0}.direct-chats-main{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);position:relative}.direct-chat-topbar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.35rem;border-bottom:1px solid var(--color-border);background:#fafaf7;gap:.85rem;min-height:4.5rem}.direct-chat-topbar-left{display:flex;align-items:center;gap:.85rem;min-width:0}.direct-chat-topbar-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.direct-chat-topbar-name{font-size:1.02rem;font-weight:750;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em}.direct-chat-topbar-email{font-size:.78rem;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-chat-topbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.direct-chat-back-button{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;flex-shrink:0;transition:background-color .15s ease}.direct-chat-back-button:hover{background:var(--color-surface-muted)}@media(max-width:860px){.direct-chat-back-button{display:inline-flex}}.direct-chat-decision-banner{padding:1.1rem 1.35rem;background:linear-gradient(135deg,#fdfbf7,#fef8eb);border-bottom:1px solid #ebd9a4;display:flex;flex-direction:column;gap:.75rem}.direct-chat-decision-banner p{margin:0;font-size:.88rem;color:#78350f;line-height:1.5}.direct-chat-decision-banner p strong{color:#451a03}.direct-chat-decision-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.direct-chat-security-banner{padding:.75rem 1.35rem;font-size:.82rem;font-weight:550;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.55rem;line-height:1.4}.direct-chat-security-banner svg{flex-shrink:0}.direct-chat-security-banner.is-blocked{background:#fef2f2;color:#991b1b;border-color:#fecaca}.direct-chat-security-banner.is-pending{background:#fffbeb;color:#92400e;border-color:#fde68a}.direct-chat-security-banner.is-declined{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}.direct-chat-messages-area{flex:1;overflow-y:auto;padding:1.35rem;display:flex;flex-direction:column;gap:.9rem;background:#f8f7f2}.direct-message-bubble{display:flex;flex-direction:column;max-width:min(82%,36rem);gap:.25rem}.direct-message-bubble.is-mine{align-self:flex-end}.direct-message-bubble.is-other{align-self:flex-start}.direct-message-card{padding:.8rem 1.05rem;border-radius:16px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 3px #0000000d}.direct-message-bubble.is-mine .direct-message-card{background:var(--color-brand);color:#fff;border-bottom-right-radius:4px}.direct-message-bubble.is-other .direct-message-card{background:#fff;color:var(--color-ink);border:1px solid var(--color-border);border-bottom-left-radius:4px}.direct-message-meta{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--color-ink-faint);padding:0 .35rem}.direct-message-bubble.is-mine .direct-message-meta{justify-content:flex-end}.direct-message-meta .read-check{font-size:.72rem;font-weight:700;color:var(--color-success)}.direct-chat-input-bar{padding:.9rem 1.35rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.direct-chat-input-form{display:flex;align-items:flex-end;gap:.65rem}.direct-chat-textarea{flex:1;min-height:2.75rem;max-height:8rem;padding:.65rem .95rem;font-size:.9rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-ink);resize:none;line-height:1.45;transition:border-color .16s ease,box-shadow .16s ease}.direct-chat-textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #173f351a}.direct-chat-textarea::placeholder{color:var(--color-ink-faint)}.direct-chat-status-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .5rem;font-size:.85rem;color:var(--color-ink-soft);text-align:center}.direct-chat-empty-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2.5rem 1.5rem;text-align:center;gap:.85rem}.direct-chat-empty-icon{width:4rem;height:4rem;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);display:grid;place-items:center;margin-bottom:.5rem}.direct-chat-empty-selection h3{margin:0;font-size:1.2rem;font-weight:750;color:var(--color-ink)}.direct-chat-empty-selection p{margin:0;font-size:.88rem;color:var(--color-ink-soft);max-width:24rem;line-height:1.5}.dialog .form-stack{display:flex;flex-direction:column;gap:1.15rem}.dialog .field__control{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff}.dialog .field__control:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #173f351a}.landing{min-height:100vh;color:var(--color-ink);background:#f7f6f0}.landing-container{width:min(calc(100% - 2rem),var(--content-max));margin-inline:auto}.landing-nav{position:sticky;z-index:20;top:0;padding-top:max(.35rem,env(safe-area-inset-top,0px));padding-left:max(0px,env(safe-area-inset-left,0px));padding-right:max(0px,env(safe-area-inset-right,0px));border-bottom:1px solid rgb(23 63 53 / 8%);background:#f7f6f0f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.landing-nav__content{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1.5rem}.landing-nav__content>a{display:inline-flex}.landing-nav nav{display:flex;align-items:center;gap:1.55rem;color:var(--color-ink-soft);font-size:.88rem;font-weight:650}.landing-nav nav>a:not(.button):hover{color:var(--color-brand)}.landing-nav__cta{box-shadow:0 4px 14px #173f3526;transition:transform .12s ease,box-shadow .12s ease}.landing-nav__cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #173f3538}.landing-hero{position:relative;overflow:hidden;padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(4rem,7vw,6.5rem)}.landing-hero:before{position:absolute;width:42rem;height:42rem;border-radius:50%;background:radial-gradient(circle,#d9f0693d,#d9f06900 68%);content:"";pointer-events:none;right:-12rem;top:-14rem}.landing-hero__grid{position:relative;display:grid;align-items:center;gap:clamp(2.5rem,6vw,5.5rem);grid-template-columns:minmax(0,1.05fr) minmax(26rem,.95fr)}.landing-pill{display:inline-flex;align-items:center;gap:.42rem;padding:.45rem .75rem;border:1px solid rgb(40 112 92 / 18%);border-radius:var(--radius-pill);margin-bottom:1.25rem;color:var(--color-success);background:#e4f3edbf;font-size:.76rem;font-weight:750}.landing-pill--accent{background:#d9f06933;border-color:#d9f06966;color:var(--color-accent-ink)}.landing-hero h1{max-width:14ch;margin-bottom:1.25rem;color:var(--color-brand);font-size:clamp(2.6rem,5.5vw,4.8rem);letter-spacing:-.055em;line-height:1.02}.landing-hero h1 em{color:var(--color-success);font-style:normal;display:inline-block;position:relative}.landing-hero__copy>p{max-width:38rem;margin-bottom:1.8rem;color:var(--color-ink-soft);font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7}.landing-hero__copy>p strong{color:var(--color-brand)}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.landing-hero__cta-main{box-shadow:0 8px 24px #173f3533;transition:transform .12s ease,box-shadow .12s ease}.landing-hero__cta-main:hover{transform:translateY(-2px);box-shadow:0 12px 30px #173f3547}.landing-trust{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;padding:0;margin:1.6rem 0 0;color:var(--color-ink-soft);font-size:.8rem;list-style:none}.landing-trust li{display:inline-flex;align-items:center;gap:.4rem}.landing-trust svg{color:var(--color-success)}.landing-preview{position:relative;display:flex;flex-direction:column;gap:.85rem;padding:1.25rem;border:1px solid rgb(23 63 53 / 12%);border-radius:28px;background:#fffffff0;box-shadow:0 32px 80px #173f3524;transform:rotate(.8deg);transition:transform .2s ease}.landing-preview:hover{transform:rotate(0)}.landing-preview:after{position:absolute;z-index:-1;border:1px solid rgb(23 63 53 / 10%);border-radius:28px;background:var(--color-brand);content:"";inset:1.1rem -1rem -1rem 1rem}.landing-preview__top{display:flex;align-items:center;justify-content:space-between;padding:.2rem .25rem .4rem;color:var(--color-ink-soft);font-size:.75rem;font-weight:700}.landing-preview__top>span:first-child{display:inline-flex;align-items:center;gap:.4rem}.landing-preview__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px #28705c33}.landing-free-tag{display:inline-flex;padding:.25rem .6rem;border-radius:var(--radius-pill);font-size:.68rem;font-weight:750;color:var(--color-brand);background:var(--color-accent)}.landing-preview__total{display:flex;flex-direction:column;padding:1.1rem 1.25rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--color-brand) 0%,#102e26 100%);box-shadow:0 8px 20px #173f3533}.landing-preview__total-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.landing-preview__total small{color:#ffffffbf;font-size:.72rem}.landing-preview__pill-badge{font-size:.62rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;background:#d9f06940;color:var(--color-accent)}.landing-preview__total strong{margin:.35rem 0 .15rem;font-size:clamp(1.4rem,2.8vw,1.9rem);letter-spacing:-.04em;font-feature-settings:"tnum"}.landing-preview__total span{color:#fffc;font-size:.76rem}.landing-mockup-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--color-border);background:#fafaf8}.landing-mockup-voice__mic{position:relative;display:grid;width:2.3rem;height:2.3rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-coral);color:#fff;box-shadow:0 4px 12px #e56f5159}.landing-mockup-pulse{position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--color-coral);opacity:.6;animation:radar-wave-pulse 2s cubic-bezier(.215,.61,.355,1) infinite}.landing-mockup-voice__content{flex:1;min-width:0}.landing-mockup-voice__content small{display:block;font-size:.65rem;font-weight:700;color:var(--color-coral);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.landing-mockup-voice__content p{margin:0 0 .25rem;font-size:.84rem;font-weight:600;color:var(--color-ink)}.landing-mockup-voice__category{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;color:var(--color-brand);background:var(--color-brand-soft);padding:.15rem .45rem;border-radius:6px}.landing-mockup-comment__avatar{display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);font-size:.75rem;font-weight:800}.landing-mockup-comment__content{flex:1;min-width:0}.landing-mockup-comment__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.landing-mockup-comment__header strong{font-size:.8rem;color:var(--color-ink)}.landing-mockup-comment__header small{font-size:.68rem;color:var(--color-ink-faint)}.landing-mockup-comment__content>p{margin:0 0 .45rem;font-size:.8rem;color:var(--color-ink-soft);line-height:1.35}.landing-mockup-comment__reply{display:flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:8px;background:#f0f4f2;font-size:.72rem;color:var(--color-brand);font-weight:600}.landing-mockup-reply-avatar{display:grid;width:1.25rem;height:1.25rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-blue);color:#fff;font-size:.6rem;font-weight:800}.landing-mockup-budget{padding:.75rem 1rem;border-radius:14px;border:1px solid var(--color-border);background:#fff}.landing-mockup-budget__info{display:flex;align-items:center;justify-content:space-between;font-size:.76rem;margin-bottom:.35rem}.landing-mockup-budget__info span{color:var(--color-ink-soft);font-weight:600}.landing-mockup-budget__info strong{color:var(--color-brand)}.landing-mockup-budget__bar{height:.45rem;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.landing-mockup-budget__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--color-success),var(--color-accent))}.landing-preview__summary{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border-radius:14px;background:var(--color-surface-muted)}.landing-preview__summary>span{display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;border-radius:10px;color:var(--color-brand);background:var(--color-accent);place-items:center}.landing-preview__summary p{display:flex;min-width:0;flex:1;flex-direction:column;margin:0}.landing-preview__summary small{color:var(--color-ink-faint);font-size:.65rem}.landing-preview__summary strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.landing-preview__summary>svg{color:var(--color-ink-faint)}.landing-strip{padding:2.5rem 0;background:#fff;border-block:1px solid rgba(23,63,53,.08)}.landing-strip__grid{display:flex;align-items:center;justify-content:space-around;gap:1.5rem;flex-wrap:wrap}.landing-strip__item{display:flex;flex-direction:column;align-items:center;text-align:center}.landing-strip__item strong{font-size:clamp(1.5rem,3vw,2.2rem);color:var(--color-brand);letter-spacing:-.04em;font-weight:800}.landing-strip__item span{font-size:.82rem;color:var(--color-ink-soft);font-weight:600;margin-top:.15rem}.landing-strip__divider{width:1px;height:2.5rem;background:var(--color-border)}.landing-section{padding:clamp(4.5rem,8vw,7rem) 0;scroll-margin-top:calc(5.2rem + env(safe-area-inset-top,0px))}.landing-section--light{border-block:1px solid rgb(23 63 53 / 7%);background:#fff}.landing-section__heading{max-width:48rem;margin:0 auto clamp(2.5rem,5vw,3.8rem);text-align:center}.landing-section__heading h2,.landing-shared h2,.landing-cta h2,.landing-compare h2{color:var(--color-brand);font-size:clamp(2rem,3.8vw,3.1rem);letter-spacing:-.05em;line-height:1.08;margin-top:.4rem}.landing-section__heading>p,.landing-shared__grid>div:last-child>p{color:var(--color-ink-soft);font-size:1.02rem;line-height:1.7}.landing-cta-features-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.landing-cta-card{display:flex;flex-direction:column;padding:1.8rem;border:1px solid var(--color-border);border-radius:22px;background:#fbfbf9;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.landing-cta-card:hover{transform:translateY(-4px);background:#fff;border-color:#bcd4cb;box-shadow:0 16px 36px #173f3517}.landing-cta-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.landing-cta-card__icon{display:grid;width:3.1rem;height:3.1rem;border-radius:14px;place-items:center;transition:transform .14s ease}.landing-cta-card:hover .landing-cta-card__icon{transform:scale(1.05)}.landing-cta-card--brand .landing-cta-card__icon{background:var(--color-brand-soft);color:var(--color-brand)}.landing-cta-card--coral .landing-cta-card__icon{background:#fcece8;color:var(--color-coral)}.landing-cta-card--blue .landing-cta-card__icon{background:#eef3fc;color:var(--color-blue)}.landing-cta-card__badge{font-size:.68rem;font-weight:750;padding:.25rem .55rem;border-radius:999px;background:#f0f0eb;color:var(--color-ink-soft)}.landing-cta-card h3{color:var(--color-brand);font-size:1.15rem;letter-spacing:-.025em;margin:0 0 .6rem;line-height:1.25}.landing-cta-card p{margin:0 0 1.5rem;color:var(--color-ink-soft);font-size:.9rem;line-height:1.65;flex:1}.landing-cta-card__footer{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--color-border)}.landing-cta-card__button{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:750;color:var(--color-brand);text-decoration:none;transition:gap .12s ease,color .12s ease}.landing-cta-card__button:hover{gap:.75rem;color:var(--color-success)}.landing-shared{color:#fff;background:#14352d}.landing-shared__grid{display:grid;align-items:center;gap:clamp(3rem,7vw,6rem);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.landing-shared .eyebrow{color:var(--color-accent)}.landing-shared h2{color:#fff}.landing-shared__content>p{color:#ffffffc7;font-size:1.05rem;line-height:1.7}.landing-shared__visual{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:1.2rem;padding:1.5rem}.landing-space-card{position:relative;z-index:2;display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;border-radius:18px;color:var(--color-ink);background:#fff;box-shadow:var(--shadow-lg)}.landing-space-card>span{display:grid;width:2.7rem;height:2.7rem;flex:0 0 auto;border-radius:12px;color:var(--color-brand);background:var(--color-brand-soft);place-items:center}.landing-space-card>div:not(.landing-avatars){display:flex;flex-direction:column}.landing-space-card small{color:var(--color-ink-faint);font-size:.68rem;font-weight:600}.landing-space-card strong{font-size:.92rem;color:var(--color-ink)}.landing-space-card--personal{width:86%}.landing-space-card--family{width:95%;align-self:flex-end}.landing-space-card--family>span{background:var(--color-accent);color:var(--color-accent-ink)}.landing-space-connector{position:relative;width:2px;height:2.8rem;margin-left:45%;background:linear-gradient(rgb(217 240 105 / 35%),var(--color-accent))}.landing-space-connector__badge{position:absolute;top:50%;left:.8rem;transform:translateY(-50%);white-space:nowrap;font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:#ffffff26;color:var(--color-accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-avatars{display:flex;margin-left:auto}.landing-avatars i{display:grid;width:1.85rem;height:1.85rem;border:2px solid #fff;border-radius:50%;margin-left:-.4rem;color:#fff;background:var(--color-success);font-size:.65rem;font-style:normal;font-weight:800;place-items:center}.landing-avatars i:nth-child(2){background:var(--color-blue)}.landing-avatars i:nth-child(3){color:var(--color-brand);background:var(--color-accent)}.landing-comment-alert-mockup{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1.1rem;border-radius:16px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);margin-top:.5rem}.landing-comment-alert-mockup__icon{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-accent);color:var(--color-accent-ink)}.landing-comment-alert-mockup strong{display:block;font-size:.8rem;color:#fff;margin-bottom:.15rem}.landing-comment-alert-mockup p{margin:0;font-size:.76rem;color:#ffffffd1}.landing-checklist{display:grid;gap:1.25rem;padding:0;margin:2rem 0 2.2rem;list-style:none}.landing-checklist li{display:flex;align-items:flex-start;gap:.85rem}.landing-checklist svg{flex:0 0 auto;margin-top:.15rem;color:var(--color-accent)}.landing-checklist span{display:flex;flex-direction:column;color:#ffffffbf;font-size:.88rem;line-height:1.5}.landing-checklist strong{margin-bottom:.15rem;color:#fff;font-size:.96rem}.landing-shared__action{margin-top:1.5rem}.landing-compare{background:#f7f6f0}.landing-compare__box{display:grid;grid-template-columns:1fr 1.15fr;gap:1.8rem;align-items:stretch;max-width:56rem;margin:0 auto}.landing-compare__col{padding:2.2rem;border-radius:24px;background:#fff;border:1px solid var(--color-border)}.landing-compare__col h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-ink)}.landing-compare__price{font-size:2.4rem;font-weight:800;color:var(--color-ink-soft);margin:0 0 1.5rem;letter-spacing:-.04em}.landing-compare__price span{font-size:.95rem;font-weight:500;color:var(--color-ink-faint)}.landing-compare__price--free{color:var(--color-brand)}.landing-compare__price--free span{color:var(--color-success);font-weight:700}.landing-compare__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem;font-size:.9rem;color:var(--color-ink-soft)}.landing-compare__col--others .landing-compare__list li{position:relative;padding-left:1.4rem;color:var(--color-ink-faint)}.landing-compare__col--others .landing-compare__list li:before{content:"✕";position:absolute;left:0;color:#d32f2f;font-weight:800}.landing-compare__col--organiza{position:relative;background:#fff;border:2px solid var(--color-brand);box-shadow:0 20px 50px #173f351f}.landing-compare__best-tag{position:absolute;top:-12px;right:24px;padding:.25rem .75rem;border-radius:999px;background:var(--color-accent);color:var(--color-accent-ink);font-size:.72rem;font-weight:800;letter-spacing:.04em}.landing-compare__list--success li{display:flex;align-items:center;gap:.6rem;color:var(--color-ink)}.landing-compare__list--success svg{color:var(--color-success);flex:0 0 auto}.landing-compare__cta{width:100%;margin-top:2rem;box-shadow:0 6px 18px #173f352e}.landing-flow{background:#fff}.landing-steps{display:grid;padding:0;margin:0;gap:1.5rem;grid-template-columns:repeat(3,1fr);list-style:none}.landing-steps li{display:flex;gap:1rem;padding:1.75rem;border-radius:18px;background:#fbfbf8;border:1px solid var(--color-border)}.landing-steps li>span{display:grid;width:2.2rem;height:2.2rem;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--color-brand-soft);color:var(--color-brand);font-size:.85rem;font-weight:800}.landing-steps strong{display:block;margin-bottom:.35rem;color:var(--color-brand);font-size:1.1rem}.landing-steps p{margin:0;color:var(--color-ink-soft);font-size:.88rem;line-height:1.6}.landing-faq-accordion{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:.85rem}.landing-faq-item{border:1px solid var(--color-border);border-radius:16px;background:#fbfbf8;overflow:hidden;transition:border-color .14s ease,background .14s ease}.landing-faq-item.is-open{border-color:#b0ccbf;background:#fff;box-shadow:0 4px 18px #173f350d}.landing-faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem 1.4rem;border:0;background:transparent;color:var(--color-ink);font-size:1.02rem;font-weight:700;text-align:left;cursor:pointer;gap:1rem}.landing-faq-question:hover{color:var(--color-brand)}.landing-faq-chevron{color:var(--color-ink-faint);transition:transform .18s ease;flex:0 0 auto}.landing-faq-item.is-open .landing-faq-chevron{transform:rotate(180deg);color:var(--color-brand)}.landing-faq-answer{padding:0 1.4rem 1.3rem;color:var(--color-ink-soft);font-size:.92rem;line-height:1.7}.landing-faq-answer p{margin:0}.landing-cta{padding:clamp(4rem,8vw,6.5rem) 0;color:#fff;background:linear-gradient(135deg,#102f27,#0a211c);position:relative;overflow:hidden}.landing-cta:before{content:"";position:absolute;width:32rem;height:32rem;border-radius:50%;background:radial-gradient(circle,rgba(217,240,105,.12),transparent 70%);bottom:-10rem;left:-8rem;pointer-events:none}.landing-cta__content{display:flex;align-items:center;justify-content:space-between;gap:3rem;position:relative;z-index:2}.landing-cta__text{max-width:38rem}.landing-cta h2{color:#fff;font-size:clamp(2.2rem,4.2vw,3.4rem);letter-spacing:-.05em;margin:.5rem 0 1rem;line-height:1.05}.landing-cta p{margin:0 0 1.5rem;color:#ffffffc7;font-size:1.05rem;line-height:1.65}.landing-cta-benefits{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;padding:0;margin:0;color:#ffffffd9;font-size:.85rem}.landing-cta-benefits li{display:flex;align-items:center;gap:.4rem}.landing-cta-benefits svg{color:var(--color-accent)}.landing-cta__button-wrap{display:flex;flex-direction:column;align-items:center;gap:.65rem;flex:0 0 auto}.landing-cta__big-button{padding:1.15rem 2.2rem;font-size:1.05rem;font-weight:800;box-shadow:0 10px 30px #d9f06940;transition:transform .14s ease,box-shadow .14s ease}.landing-cta__big-button:hover{transform:translateY(-2px);box-shadow:0 14px 38px #d9f06959}.landing-cta__button-wrap small{color:#ffffff8c;font-size:.78rem}.landing-footer{padding:2.2rem 0;border-top:1px solid rgba(255,255,255,.08);color:#ffffff8c;background:#0d2720}.landing-footer .landing-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.landing-footer .brand{color:#fff}.landing-footer p{margin:0;font-size:.82rem}.landing-footer span{font-size:.78rem}@media(max-width:1024px){.landing-cta-features-grid,.landing-steps{grid-template-columns:repeat(2,1fr)}.landing-compare__box{grid-template-columns:1fr}}@media(max-width:900px){.landing-hero__grid,.landing-shared__grid{grid-template-columns:1fr}.landing-hero__copy{text-align:center}.landing-hero h1,.landing-hero__copy>p{margin-inline:auto}.landing-hero__actions,.landing-trust{justify-content:center}.landing-preview{width:min(100%,34rem);margin-inline:auto;transform:none}.landing-shared__visual{width:min(100%,34rem);margin-inline:auto}.landing-cta__content{flex-direction:column;text-align:center}.landing-cta-benefits{justify-content:center}.landing-cta__button-wrap,.landing-cta__big-button{width:100%}}@media(max-width:680px){.landing-container{width:min(calc(100% - 1.25rem),var(--content-max))}.landing-nav__content{min-height:3.75rem}.landing-nav .brand__name,.landing-nav nav>a:nth-child(1),.landing-nav nav>a:nth-child(2),.landing-nav nav>a:nth-child(3),.landing-nav nav>a:nth-child(4){display:none}.landing-nav nav{gap:.65rem}.landing-nav .button{min-height:2.45rem;padding:.65rem .85rem;font-size:.8rem}.landing-hero{padding-top:2.5rem}.landing-pill{font-size:.68rem}.landing-hero h1{font-size:clamp(2.35rem,11vw,3.4rem)}.landing-hero__actions{display:grid;width:100%}.landing-hero__actions .button{width:100%}.landing-trust{display:grid;justify-content:start;width:fit-content;margin-inline:auto;text-align:left}.landing-preview{padding:1rem;border-radius:20px}.landing-preview:after{display:none}.landing-strip__grid{gap:1.2rem}.landing-strip__divider{display:none}.landing-cta-features-grid,.landing-steps{grid-template-columns:1fr}.landing-shared__visual{padding:0}.landing-space-card--personal,.landing-space-card--family{width:100%}.landing-space-connector{margin-left:2rem}.landing-avatars{display:none}.landing-compare__col{padding:1.5rem}.landing-footer .landing-container{flex-direction:column;align-items:flex-start;gap:.8rem}}@media(min-width:520px){.form-grid{grid-template-columns:1fr 1fr}.filter-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-backdrop{align-items:center}.form-actions--stack-mobile{justify-content:flex-end}.retry-row,.account-session{flex-direction:row;align-items:center;justify-content:space-between}}@media(min-width:680px){.page{padding:2rem 1.6rem 3rem}.page-header{margin-bottom:1.7rem}.period-tabs{display:flex;width:fit-content;margin-right:0;margin-left:0}.period-tabs button{min-width:7.2rem;padding-right:.8rem;padding-left:.8rem}.period-tabs__long{display:inline}.period-tabs__short{display:none}.summary-grid{grid-template-columns:minmax(0,1fr) 11rem;gap:1rem}.balance-card,.metric-card{min-height:11rem}.balance-card{padding:1.5rem}.metric-card{padding:1.3rem}.metric-card>strong{font-size:2.8rem}.insight-card{padding:1.25rem}.panel{padding:1.3rem}.category-chart{grid-template-columns:minmax(12rem,.8fr) minmax(0,1.2fr);align-items:center}.create-card{padding:1.5rem}.success-card{padding:2rem}.filter-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-summary{grid-template-columns:auto minmax(0,1fr) auto;padding:1.3rem}.verified-chip{grid-column:auto}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel--wide,.profile-actions{grid-column:1 / -1}.skeleton-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.auth-layout{grid-template-columns:minmax(22rem,.9fr) minmax(30rem,1.1fr)}.auth-intro{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:2.2rem clamp(2rem,5vw,4.5rem);overflow:hidden;color:#fff;background:var(--color-brand)}.auth-intro:before,.auth-intro:after{position:absolute;border-radius:50%;content:"";pointer-events:none}.auth-intro:before{top:-8rem;right:-8rem;width:20rem;height:20rem;border:3.6rem solid rgb(217 240 105 / 9%)}.auth-intro:after{bottom:8%;left:-6rem;width:14rem;height:14rem;border:1px solid rgb(255 255 255 / 10%)}.auth-intro .brand{position:relative;z-index:1;color:#fff}.auth-intro .brand__mark{background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff2e}.auth-intro__content{position:relative;z-index:1;margin:auto 0}.auth-intro__eyebrow{color:var(--color-accent);font-size:.76rem;font-weight:730;letter-spacing:.11em;text-transform:uppercase}.auth-intro h2{margin:1rem 0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1.05}.auth-intro__content>p{max-width:32rem;color:#ffffffb3}.auth-intro ul{display:flex;flex-direction:column;gap:.75rem;margin:1.6rem 0 0;padding:0;list-style:none}.auth-intro li{display:flex;align-items:center;gap:.55rem;color:#ffffffd6;font-size:.8rem}.auth-intro li svg{color:var(--color-accent)}.auth-intro__note{position:relative;z-index:1;margin:0;color:#ffffff7a;font-size:.73rem}.auth-panel{justify-content:center;padding:3rem clamp(2rem,6vw,5rem);background:#faf9f5}.auth-panel__mobile-brand{display:none}.auth-card{margin:0 auto}}@media(min-width:1024px){.app-layout{display:grid;grid-template-columns:15.5rem minmax(0,1fr)}.mobile-topbar{display:none}.side-nav{position:sticky;top:0;display:flex;min-height:100vh;max-height:100vh;flex-direction:column;padding:1.8rem 1.2rem 1.2rem;border-right:1px solid var(--color-border);background:#faf9f5f0}.side-nav__links{display:flex;flex-direction:column;gap:.3rem;margin-top:2.5rem}.side-nav__link{display:flex;min-height:2.8rem;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:.85rem;font-weight:650}.side-nav__link:hover,.side-nav__link.is-active{color:var(--color-brand);background:var(--color-brand-soft)}.side-nav__link--primary{margin-top:.8rem;color:#fff;background:var(--color-brand)}.side-nav__link--primary:hover,.side-nav__link--primary.is-active{color:#fff;background:var(--color-brand-hover)}.side-nav__profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;margin-top:auto;padding:.85rem .3rem 0;border-top:1px solid var(--color-border)}.avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;color:var(--color-brand);background:var(--color-accent);font-size:.72rem;font-weight:750}.side-nav__profile>span:last-child{display:flex;min-width:0;flex-direction:column}.side-nav__profile strong,.side-nav__profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav__profile strong{font-size:.76rem}.side-nav__profile small{color:var(--color-ink-faint);font-size:.65rem}.page-container{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.page{padding:3rem 2.5rem 4rem}.desktop-add-button{display:inline-flex}.dashboard-sections{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.create-page__header{width:min(100%,38rem);margin-right:auto;margin-left:auto}.edit-layout{grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr);align-items:start}}@media(min-width:1280px){.app-layout{grid-template-columns:17rem minmax(0,1fr)}.page{padding-right:3.5rem;padding-left:3.5rem}.summary-grid{grid-template-columns:minmax(0,1fr) 13rem}}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:16px!important}input.field__control--code{font-size:1.45rem!important}}
