:root,.welcome-page,.auth-page{--control-line: #77878c}:root[data-theme=dark]{--control-line: #6b8a93}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--control-line: #6b8a93}}:root[data-theme=dark] .welcome-page,:root[data-theme=dark] .auth-page{--control-line: #77878c}html :is(input,select,textarea){border-color:var(--control-line)}.select-trigger{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--control-line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;line-height:inherit;text-align:start;cursor:pointer}.select-trigger:focus-visible,.select-trigger[aria-expanded=true]{outline:2px solid var(--accent);outline-offset:1px}.select-trigger:disabled{opacity:.55;cursor:not-allowed}.select-trigger[aria-invalid=true]{border-color:var(--bad)}.select-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value.is-placeholder{color:var(--ink-3)}.select-chevron{flex-shrink:0;color:var(--ink-3);transition:transform .15s ease}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.inline>.select-trigger{flex:1}.field>.select-trigger{width:100%}.select-trigger,.select-option,.seg-option,.date-field-btn,.edit-dialog-close{-webkit-tap-highlight-color:transparent}.select-menu{position:fixed;z-index:60;display:flex;flex-direction:column;box-sizing:border-box;width:max-content;max-width:min(420px,calc(100vw - 16px));max-height:320px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #0000002e;font-size:14px;line-height:1.45;text-align:start;animation:select-in .12s ease-out}.select-menu.is-up{animation-name:select-in-up}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes select-in-up{0%{opacity:0;transform:translateY(4px)}}.select-search{position:relative;flex-shrink:0;padding:6px;border-bottom:1px solid var(--line)}.select-search svg{position:absolute;inset-inline-start:16px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.select-search input{width:100%;min-height:36px;padding-inline-start:32px;background:var(--surface)}.select-list{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}.select-group+.select-group,.select-list>.select-option+.select-group{margin-top:4px}.select-group-label{padding:8px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3)}.select-option{display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px 7px 8px;border-radius:6px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.select-option .select-check{flex:0 0 16px;color:var(--accent);visibility:hidden}.select-option.is-selected .select-check{visibility:visible}.select-option.is-selected{font-weight:600}.select-option.is-active{background:var(--accent-soft);color:var(--accent)}.select-option[aria-disabled=true]{color:var(--ink-3);cursor:not-allowed;opacity:.6}.select-option-label{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.select-option-hint{flex-shrink:0;margin-inline-start:12px;font-size:12px;font-weight:400;color:var(--ink-3);font-variant-numeric:tabular-nums}.select-option.is-active .select-option-hint{color:inherit;opacity:.85}.select-add{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 6px 6px;color:var(--accent);font-weight:500}.select-list>.select-add:first-child{margin-top:0;border-top:0;border-radius:6px}.select-add.is-active{border-radius:6px}.select-empty{padding:10px 12px;font-size:13px;color:var(--ink-3)}.select-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;background:#00000059;touch-action:none;animation:fade-in .18s ease-out}.select-menu.is-sheet{inset:auto 0 0 0;width:100%;max-width:none;max-height:min(72svh,560px);border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.select-menu.is-sheet .select-option{min-height:44px}.select-menu.is-sheet .select-search input{min-height:40px;font-size:16px}.select-sheet-head{display:grid;justify-items:center;gap:8px;padding:8px 16px 10px;border-bottom:1px solid var(--line);flex-shrink:0}.select-sheet-head:before{content:"";width:36px;height:4px;border-radius:4px;background:var(--ink-4)}.select-sheet-head strong{font-size:14px;font-weight:600;justify-self:start}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}.seg{display:inline-flex;flex-wrap:wrap;gap:2px;min-height:38px;padding:3px;max-width:100%;border:1px solid var(--control-line);border-radius:8px;background:var(--surface)}.field>.seg{display:flex}.seg-option{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:4px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.seg-option:hover:not(:disabled):not([aria-checked=true]):not([aria-selected=true]){background:var(--surface-2);color:var(--ink)}.seg-option[aria-checked=true],.seg-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.seg-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg-option:disabled{opacity:.45;cursor:not-allowed}.seg.is-small{min-height:32px;padding:2px}.seg.is-small .seg-option{min-height:26px;padding:2px 10px;font-size:12px}@media(max-width:400px){.seg-option{padding-inline:8px}}.field{align-content:start}.date-field,.money-field{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%}.field>.date-field,.field>.money-field{display:flex;width:100%}.date-field>input:not(.date-field-native),.money-field>input{flex:1 1 auto;width:100%;min-width:0}.date-field>input:not(.date-field-native){padding-inline-end:38px;font-variant-numeric:tabular-nums}.date-field>input[aria-invalid=true],.money-field>input[aria-invalid=true]{border-color:var(--bad)}.date-field-btn{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-3);cursor:pointer}.date-field-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.date-field-btn:disabled{opacity:.45;cursor:not-allowed}.date-field>input[type=date].date-field-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;border:0;padding:0;min-height:0;z-index:-1}@media(pointer:coarse){.date-field>input[type=date].date-field-native{top:0;right:0;bottom:0;left:0;inset-inline-start:auto;width:38px;min-width:0;pointer-events:auto;z-index:1;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:transparent}.date-field>input[type=date].date-field-native:disabled{pointer-events:none}}.field-msg{font-size:12px;color:var(--bad)}.field>.field-msg{color:var(--bad)}.money-field>input{padding-inline-end:50px;font-variant-numeric:tabular-nums}.money-field-suffix{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--ink-3);pointer-events:none}.edit-dialog{width:min(560px,calc(100vw - 32px));max-width:none;max-height:none;margin:auto;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.edit-dialog.is-wide{width:min(720px,calc(100vw - 32px))}.edit-dialog::backdrop{background:#0006;animation:fade-in .18s ease-out}.edit-dialog-panel{display:flex;flex-direction:column;max-height:calc(100svh - 48px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 64px #00000038;animation:dialog-in .18s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.edit-dialog-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 12px}.edit-dialog-head h2{flex:1;min-width:0;font-size:17px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.edit-dialog-desc{margin-top:4px;font-size:13px;color:var(--ink-3);font-weight:400}.edit-dialog-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-6px -8px 0 0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink-3);cursor:pointer}[dir=rtl] .edit-dialog-close{margin:-6px 0 0 -8px}.edit-dialog-close:hover{background:var(--surface-2);color:var(--ink)}.edit-dialog-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.edit-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 16px;display:grid;gap:14px;align-content:start}.edit-dialog-error{margin:0 20px 12px}.edit-dialog-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.edit-dialog-foot .spacer{flex:1 1 auto}.btn.edit-dialog-delete{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line));background:var(--surface)}.btn.edit-dialog-delete:hover:not(:disabled){background:var(--bad-soft)}.edit-dialog-foot .btn{min-height:38px}.edit-dialog-foot .btn .spinner{width:14px;height:14px;margin-inline-end:4px}.edit-dialog[data-keyboard]{inset-block-end:var(--keyboard-inset)}.edit-dialog[data-keyboard] .edit-dialog-panel{max-height:calc(var(--visible-height) - 48px)}.edit-confirm{z-index:1}.edit-confirm .dialog-actions{flex-wrap:wrap}@media(max-width:640px){.edit-dialog,.edit-dialog.is-wide{width:100%;margin:auto 0 0}.edit-dialog-panel{max-height:92svh;border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.edit-dialog-panel{position:relative}.edit-dialog[data-keyboard] .edit-dialog-panel{max-height:calc(var(--visible-height) - 12px);padding-bottom:0}.edit-dialog-panel:before{content:"";position:absolute;top:7px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:4px;background:var(--ink-4)}.edit-dialog-head{padding:20px 16px 10px}.edit-dialog-body{padding:4px 16px 16px}.edit-dialog-error{margin-inline:16px}.edit-dialog-foot{padding:12px 16px}.edit-dialog input,.edit-dialog textarea,.edit-dialog .select-trigger{font-size:16px}}:root{--row-inset: clamp(8px, 2.5vw, 14px)}.list-card .rows>li.row{padding-inline:var(--row-inset);margin-inline:calc(var(--row-inset) * -1)}@media(max-width:640px){.table.history tbody tr{padding-inline:var(--row-inset);margin-inline:calc(var(--row-inset) * -1)}.table-wrap:has(>.table.history){overflow:visible}}.row-flash{--flash-bar: 3px;--flash-ring: inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);--flash-tint: color-mix(in srgb, var(--accent-soft) 50%, transparent)}[dir=rtl] .row-flash{--flash-bar: -3px}.row-flash:not(tr,.card,.mb-cat),.table.history tr.row-flash,.table.bills tr.row-flash,.table.accounts tr.row-flash{border-radius:calc(var(--row-inset) * .7);border-color:transparent;outline:0;animation:row-flash 2s ease-out 1}@keyframes row-flash{0%,30%{background-color:var(--flash-tint);box-shadow:inset var(--flash-bar) 0 0 var(--accent),var(--flash-ring)}to{background-color:transparent;box-shadow:none}}@media(min-width:641px){.table.history tr.row-flash{animation-name:row-flash-shadow}}.table.bills tr.row-flash,.table.accounts tr.row-flash{animation-name:row-flash-shadow}@media(min-width:641px){.table.history tr.row-flash>:is(td,th){border-bottom-color:transparent;animation:row-flash-tint 2s ease-out 1}}.table.bills tr.row-flash>:is(td,th),.table.accounts tr.row-flash>:is(td,th){border-bottom-color:transparent;animation:row-flash-tint 2s ease-out 1}.table tr.row-flash>:first-child{border-start-start-radius:calc(var(--row-inset) * .7);border-end-start-radius:calc(var(--row-inset) * .7)}.table tr.row-flash>:last-child{border-start-end-radius:calc(var(--row-inset) * .7);border-end-end-radius:calc(var(--row-inset) * .7)}@keyframes row-flash-shadow{0%,30%{box-shadow:inset var(--flash-bar) 0 0 var(--accent),var(--flash-ring)}to{box-shadow:none}}@keyframes row-flash-tint{0%,30%{background-color:var(--flash-tint)}to{background-color:transparent}}.card.row-flash,.mb-cat.row-flash{position:relative;isolation:isolate}.card.row-flash:after,.mb-cat.row-flash:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:var(--flash-tint);box-shadow:inset var(--flash-bar) 0 0 var(--accent),var(--flash-ring);animation:row-flash-fade 2s ease-out 1}@keyframes row-flash-fade{0%,30%{opacity:1}to{opacity:0}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.select-menu,.select-menu.is-sheet,.select-backdrop,.edit-dialog::backdrop,.edit-dialog-panel{animation:none}.select-chevron,.seg-option{transition:none}.row-flash:not(tr,.card,.mb-cat),.table.history tr.row-flash{background-color:var(--flash-tint)}.row-flash:not(tr,.card,.mb-cat),.table.history tr.row-flash,.table.bills tr.row-flash,.table.accounts tr.row-flash{box-shadow:inset var(--flash-bar) 0 0 var(--accent),var(--flash-ring)}.table.bills tr.row-flash>:is(td,th),.table.accounts tr.row-flash>:is(td,th){background-color:var(--flash-tint)}.card.row-flash:after,.mb-cat.row-flash:after{opacity:1}}@media(prefers-reduced-motion:reduce)and (min-width:641px){.table.history tr.row-flash{background-color:transparent}.table.history tr.row-flash>:is(td,th){background-color:var(--flash-tint)}}.departure-dialog .dep-lead{font-size:15px;font-weight:600;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}.dep-counts{margin:0;padding:2px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.dep-counts>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0}.dep-counts>div+div{border-top:1px solid var(--line)}.dep-counts dt{color:var(--ink-2);font-size:13px}.dep-counts dd{margin:0;font-size:15px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.departure-dialog .dep-note{font-size:13px;line-height:1.6;color:var(--ink-2);overflow-wrap:anywhere}.departure-dialog .edit-dialog-foot .btn{white-space:normal;text-align:center}@media(max-width:640px){.departure-dialog .edit-dialog-delete{flex:1 1 100%}.departure-dialog .edit-dialog-foot .spacer{display:none}.departure-dialog .edit-dialog-foot .btn:not(.edit-dialog-delete){flex:1 1 0}}.toast{--toast-bg: var(--surface);--toast-shadow: 0 8px 24px rgb(0 0 0 / 12%);position:fixed;z-index:55;inset-inline:0;inset-block-end:var(--toast-lift, calc(24px + env(safe-area-inset-bottom, 0px)) );box-sizing:border-box;width:fit-content;max-width:min(340px,calc(100% - 32px));margin-inline:auto;display:flex;align-items:center;gap:10px;padding-block:10px;padding-inline:12px 16px;background:var(--toast-bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--toast-shadow);font-size:13px;line-height:1.45;font-weight:500;text-align:start;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.toast.show{opacity:1;transition:none;animation:toast-in .2s cubic-bezier(.2,.8,.2,1)}.toast.show.is-settled{animation:none}.toast.show.has-action{pointer-events:auto}.toast.has-action{padding-inline-end:6px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-fade{0%{opacity:0}}:root[data-theme=dark] .toast{--toast-bg: var(--surface-2);--toast-shadow: 0 12px 32px rgb(0 0 0 / 18%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .toast{--toast-bg: var(--surface-2);--toast-shadow: 0 12px 32px rgb(0 0 0 / 18%)}}.toast-icon{flex-shrink:0;color:var(--good)}.toast-icon.is-info{color:var(--ink-3)}.toast-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.toast-action{flex-shrink:0;min-height:32px;margin-block:-6px;margin-inline-start:2px;padding:4px 10px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.toast-action:hover{background:var(--accent-soft)}.toast-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast-action[aria-disabled=true]{opacity:.55;cursor:not-allowed}.toast-action[aria-disabled=true]:hover{background:transparent}@media(max-width:640px){.toast{width:calc(100% - 32px);inset-block-end:var(--toast-lift, calc(16px + env(safe-area-inset-bottom, 0px)) )}:root:has(.toast.is-present) .mock-badge{visibility:hidden}}@media(prefers-reduced-motion:reduce){.toast.show{animation-name:toast-fade}}.users-notice{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:13px;line-height:1.5}.users-notice:focus,.table.accounts td[tabindex="-1"]:focus{outline:none}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--avatar-size, 36px);height:var(--avatar-size, 36px);border-radius:50%;overflow:hidden;color:#fff;font-size:max(10px,calc(var(--avatar-size, 36px) * .32 + 2px));font-weight:600;line-height:1;user-select:none;-webkit-user-select:none}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-initials{unicode-bidi:isolate;letter-spacing:.02em}@media(forced-colors:active){.avatar{border:1px solid CanvasText}}.account-layout{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));align-items:start;max-width:1120px}.account-column{display:grid;gap:24px;min-width:0}.account-card{min-width:0}.account-form{gap:18px}.account-form input:not([type=checkbox]):not(.visually-hidden){width:100%;min-height:44px}.photo-row input.visually-hidden,.account-form input.visually-hidden{width:1px;height:1px;min-height:0;padding:0;border:0}.account-form .btn,.settings-form .btn{min-height:44px}.account-form .form-actions,.settings-foot .form-actions{gap:10px}.account-form .field>label{font-size:12px;font-weight:500;color:var(--ink-3)}.field>.field-note,.field-note{font-size:12px;font-weight:400;color:var(--ink-3)}.field-error{margin:2px 0 0;font-size:12px;font-weight:500;color:var(--bad)}.account-form input[aria-invalid=true],.settings-form input[aria-invalid=true]{border-color:var(--bad)}.account-check{min-height:44px;align-self:start}.account-check input{width:18px;height:18px}.account-card .good,.account-card .form-error{font-size:13px;line-height:1.5}.account-load-error{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-bottom:16px}.photo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.photo-button{position:relative;flex-shrink:0;width:72px;height:72px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;color:inherit}.photo-button .avatar{font-size:26px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 1px var(--line)}.photo-button.is-pending{opacity:1}.photo-button.is-pending .avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.photo-button:hover:not(:disabled) .avatar{filter:brightness(.94)}.photo-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.photo-button:disabled{cursor:not-allowed;opacity:.7}.photo-badge{position:absolute;inset-inline-end:-2px;bottom:-2px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);color:var(--accent);border:1px solid var(--line);box-shadow:var(--shadow)}.photo-side{flex:1 1 220px;min-width:0;display:grid;gap:8px}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions .btn{gap:8px}.photo-pending{color:var(--accent);font-weight:500}.photo-identity{display:grid;gap:2px;min-width:0}.photo-identity strong{font-size:15px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.photo-identity span{font-size:12px;color:var(--ink-3)}.avatar-field{gap:8px}.avatar-field-label{font-size:12px;font-weight:500;color:var(--ink-3)}.seg.avatar-picker{display:flex;flex-wrap:wrap;gap:10px;min-height:0;padding:2px;border:0;background:transparent}.avatar-picker .seg-option{position:relative;flex:0 0 auto;width:48px;height:48px;min-height:48px;padding:2px;border-radius:50%;background:transparent}.avatar-picker .seg-option:hover:not(:disabled):not([aria-checked=true]){background:var(--surface-2)}.avatar-picker .seg-option[aria-checked=true]{background:transparent;box-shadow:0 0 0 2px var(--accent)}.avatar-picker .seg-option:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avatar-picker .avatar-check{display:none;position:absolute;inset-inline-end:-3px;bottom:-3px;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--accent);color:var(--on-accent, #fff);box-shadow:0 0 0 2px var(--surface)}.avatar-picker .seg-option[aria-checked=true] .avatar-check{display:block}.avatar-photo-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:12px;line-height:1.5}.avatar-photo-note p{flex:1 1 220px}.avatar-photo-note .btn{gap:6px}.account-notice{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.account-notice img{flex-shrink:0;width:44px;height:44px;border-radius:50%;object-fit:cover}.account-notice strong{font-size:13px}.account-notice p{margin-top:4px;font-size:12px;line-height:1.6;color:var(--ink-2)}.account-notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.account-notice-actions .btn{min-height:36px}.account-facts{margin:0;display:grid;gap:0}.account-facts>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:12px 0;border-top:1px solid var(--line)}.account-facts>div:first-child{border-top:0;padding-top:0}.account-facts>div:last-child{padding-bottom:0}.account-facts dt{color:var(--ink-3);font-size:13px}.account-facts dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}.settings-card{max-width:900px}.settings-form{display:grid;gap:8px}.settings-group{display:grid}.settings-group+.settings-group{margin-top:12px}.settings-group h3{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3);padding-bottom:4px}:lang(ar) .settings-group h3{letter-spacing:0}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:8px 32px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.settings-group .setting-row:last-child{border-bottom:0}.setting-label,.setting-label label{font-weight:600;font-size:14px;color:var(--ink)}.setting-text p{margin-top:4px;line-height:1.6;max-width:52ch}.setting-control{display:grid;gap:6px;min-width:0}.setting-control .seg{display:flex;width:100%}.setting-control .seg-option{flex:1 1 0;min-height:38px}.setting-control .money-field{display:flex;width:100%}.setting-control .select-trigger,.setting-control .money-field input{width:100%;min-height:44px}.setting-note{font-size:12px;color:var(--ink-2)}.settings-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line)}.settings-foot .form-actions{margin-inline-start:auto}@media(max-width:720px){.setting-row{grid-template-columns:1fr;gap:10px}.settings-foot{flex-direction:column;align-items:stretch}.settings-foot .form-actions{margin-inline-start:0}.settings-foot .form-actions,.account-form .form-actions{justify-content:stretch}.settings-foot .form-actions .btn,.account-form .form-actions .btn{flex:1 1 auto}}@media(max-width:420px){.photo-row{gap:16px}.photo-actions .btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.photo-button .avatar,.avatar-picker .seg-option{transition:none}}.settings-page{display:grid;gap:24px;align-content:start;min-width:0}.household-card{max-width:900px}.hh-intro{color:var(--ink-2);line-height:1.6;max-width:72ch}.hh-section{display:grid;gap:4px;margin-top:24px;min-width:0}.hh-section h3{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3);padding-bottom:4px}:lang(ar) .hh-section h3{letter-spacing:0}.hh-list{list-style:none;margin:0;padding:0}.hh-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 12px;padding:12px 0}.hh-item+.hh-item{border-top:1px solid var(--line)}.hh-main{display:grid;gap:2px;min-width:0}.hh-name{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.hh-you{font-weight:400;color:var(--ink-3)}.hh-meta{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pill.hh-role{justify-self:end}.hh-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.hh-actions .btn.hh-resend{font-variant-numeric:tabular-nums}.hh-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);flex-shrink:0}.hh-foot{margin-top:4px;line-height:1.6}.hh-section>.form-error{margin-top:8px}.hh-invite{gap:12px}.hh-invite-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:12px 16px;align-items:start}.hh-invite .field>label,.hh-label{font-size:12px;font-weight:500;color:var(--ink-3)}.hh-invite input{width:100%;min-height:44px}.hh-invite input[aria-invalid=true]{border-color:var(--bad)}.hh-invite .seg,.hh-role-field .seg{display:flex;width:100%;min-height:44px}.hh-invite .seg-option,.hh-role-field .seg-option{flex:1 1 0;min-width:0;min-height:36px}.hh-invite .field-note,.hh-role-field .field-note{line-height:1.5}.hh-invite .form-actions .btn,.household-card .account-load-error .btn{min-height:44px}.btn.hh-send{gap:8px}.hh-leave-text{color:var(--ink-2);line-height:1.6;max-width:72ch}.hh-leave .form-actions{margin-top:8px}.household-card .btn.hh-leave-button{gap:8px;min-height:44px;border-color:color-mix(in srgb,var(--bad) 40%,var(--line));background:var(--surface)}.household-card .btn.hh-leave-button:hover:not(:disabled){background:var(--bad-soft)}.household-card .hh-leave-button .spinner{border-color:color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor}.household-card .note.hh-left{margin:0 0 16px;line-height:1.6}@media(pointer:coarse){.hh-actions .btn{min-height:40px}}@media(max-width:720px){.hh-invite-grid{grid-template-columns:minmax(0,1fr)}.hh-invite .form-actions .btn{flex:1 1 auto}.hh-item{grid-template-columns:auto minmax(0,1fr) auto}.hh-actions{grid-column:2 / -1;justify-content:flex-start}}.month-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.month-controls>.btn{min-height:40px}.btn.refresh-button{width:40px;min-width:40px;padding:0;color:var(--ink-2);background:transparent;border-color:transparent}.btn.refresh-button:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.btn.refresh-button[aria-disabled=true]{cursor:progress}.refresh-button.is-refreshing svg{animation:mp-spin .8s linear infinite}@keyframes mp-spin{to{transform:rotate(360deg)}}.eyebrow.workspace-eyebrow{text-transform:uppercase;overflow-wrap:anywhere}:lang(ar) .eyebrow.workspace-eyebrow{letter-spacing:0}.pill.view-only-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px}.view-only-pill svg{flex-shrink:0}@media(max-width:640px){.page-heading .page-heading-main>.eyebrow.workspace-eyebrow{padding-inline-end:52px}.page-heading.is-view-only .page-heading-main>.eyebrow{padding-inline-end:148px}}.month-picker{position:relative;min-width:0}.mp-control{display:inline-flex;align-items:stretch;min-height:40px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px}.mp-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;min-height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--ink-2);cursor:pointer}.mp-step:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.mp-step:disabled{opacity:.4;cursor:not-allowed}.mp-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:176px;padding:0 12px;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.mp-trigger:hover{background:var(--surface-2)}.mp-label{overflow:hidden;text-overflow:ellipsis}.mp-trigger .mp-chevron{color:var(--ink-3);flex-shrink:0;transition:transform .15s ease}.mp-trigger[aria-expanded=true] .mp-chevron{transform:rotate(180deg)}.mp-step:focus-visible,.mp-trigger:focus-visible,.mp-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px;position:relative;z-index:1}[dir=rtl] .mp-chevron-left,[dir=rtl] .mp-chevron-right{transform:scaleX(-1)}.mp-backdrop{display:none}.mp-popover{position:absolute;top:calc(100% + 8px);inset-inline-start:0;z-index:40;width:304px;padding:16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0000001f}.mp-year{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mp-year .mp-step{border:1px solid var(--line);border-radius:8px;flex-basis:36px;width:36px;min-height:36px}.mp-year-label{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.mp-grid{display:grid;gap:8px}.mp-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mp-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:8px;color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.mp-cell:hover:not(.is-disabled):not(.is-selected){background:var(--surface-2)}.mp-cell.is-current{border-color:var(--accent)}.mp-cell.is-selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.mp-cell.is-selected.is-current{box-shadow:inset 0 0 0 2px var(--surface)}.mp-cell.is-disabled{color:var(--ink-3);opacity:.45;cursor:not-allowed}.mp-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.mp-cell .mp-dot{position:absolute;bottom:6px;left:50%;margin-left:-2.5px}.mp-cell.is-selected .mp-dot{background:var(--on-accent)}.mp-footer{display:flex;justify-content:space-between;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.mp-popover .mp-footer .btn{min-height:36px}.mp-popover .mp-footer .btn.is-active{color:var(--accent)}.mp-legend{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--ink-3)}@media(max-width:640px){.month-controls{width:100%;flex-wrap:nowrap}.month-controls .month-picker{flex:1 1 auto}.mp-control{display:flex;width:100%}.mp-trigger{flex:1 1 auto;min-width:0}.mp-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;background:#00000059}.mp-popover{position:fixed;inset:auto 0 0 0;width:auto;z-index:60;max-height:85svh;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;border-bottom:0;animation:mp-sheet-in .2s ease-out}.mp-popover:before{content:"";display:block;width:36px;height:4px;margin:-4px auto 12px;border-radius:4px;background:var(--ink-4)}.mp-cell{min-height:48px;font-size:14px}.mp-popover .mp-footer .btn{min-height:44px;flex:1}}@keyframes mp-sheet-in{0%{transform:translateY(100%)}}@media(max-width:480px){.month-controls{flex-wrap:wrap}.month-controls .month-picker{flex-basis:100%}}.account-trigger{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:40px;padding:2px;padding-inline-end:12px;border:0;border-radius:99px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.account-trigger:hover{background:var(--surface-2)}.account-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-trigger[aria-expanded=true]{background:var(--surface-2)}.account-trigger-name{min-width:0;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu .account-signout{color:#a33b2b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .account-menu .account-signout{color:var(--bad)}}:root[data-theme=dark] .account-menu .account-signout{color:var(--bad)}@media(max-width:480px){.top .top-row{flex-wrap:nowrap}.top .top-brand{flex-shrink:0}.top .account-actions{flex-shrink:1;min-width:0;gap:8px}.top .notification-trigger{flex-shrink:0}.account-trigger{gap:6px;padding-inline-end:10px}.account-trigger-name{flex:0 1 auto;max-width:10ch}}@media(max-width:359px){.account-trigger-name{display:none}.account-trigger{padding-inline-end:2px}}.notification-panel li{position:relative}.notification-panel li .notification-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.notification-panel li:hover .notification-link{text-decoration:underline;text-underline-offset:3px}.notification-panel .change-feed{margin-top:4px}.notification-panel .change-feed h3{margin:0;padding:14px 4px 0;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}:lang(ar) .notification-panel .change-feed h3{letter-spacing:0}.notification-panel .change-feed ul{margin-top:8px}.notification-panel .change-item>div{min-width:0}.notification-panel .change-item .change-text{margin:0;font-size:13px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.notification-panel .change-item .change-text .money{font-weight:500}.notification-panel .change-item time{font-variant-numeric:tabular-nums}.notification-panel .change-feed-error{padding:12px 4px 0}.workspace-switcher{position:relative;flex-shrink:0;padding:0 6px;min-width:0}.workspace-switcher .ws-caption{display:block;padding:0 12px 6px}.ws-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;text-align:start;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.ws-trigger:hover{background:var(--surface-2)}.ws-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ws-trigger[aria-expanded=true]{border-color:var(--accent)}.ws-trigger[aria-busy=true]{cursor:progress}.ws-text{display:grid;gap:1px;flex:1 1 auto;min-width:0}.ws-name{font-size:13px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.ws-role{font-size:11px;line-height:1.4;color:var(--ink-3)}.ws-chevron{flex-shrink:0;color:var(--ink-3)}.ws-spinner{flex-shrink:0;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:ws-spin .7s linear infinite}@keyframes ws-spin{to{transform:rotate(360deg)}}.ws-menu{position:absolute;top:calc(100% + 6px);inset-inline:6px;z-index:30;display:grid;gap:2px;padding:6px;max-height:min(60svh,420px);overflow-y:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f}.ws-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px;text-align:start;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.ws-item:hover{background:var(--surface-2)}.ws-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface-2)}.ws-item[aria-checked=true] .ws-name{color:var(--nav-active)}.ws-check{flex-shrink:0;color:var(--accent)}@media(max-width:800px){.workspace-switcher{padding:12px 0 0}.workspace-switcher:not(.is-menu-open){display:none}.workspace-switcher .ws-caption{padding-inline:0}.ws-trigger{min-height:56px}.ws-menu{inset-inline:0}}@media(forced-colors:active){.ws-item[aria-checked=true]{outline:1px solid CanvasText}}:root{--brand-ring: var(--ink-4);--brand-mark: var(--ink);--brand-dot: var(--accent);--brand-tagline: var(--ink-3)}.welcome-page,.auth-page{--brand-ring: #a9b3b3;--brand-mark: #182c35;--brand-dot: #126c60;--brand-tagline: #5a6d74}.brand-logo{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:44px;color:var(--brand-mark);text-decoration:none;border-radius:4px}.brand-logo-mark{display:block;flex:0 0 auto;width:var(--brand-mark-size);height:var(--brand-mark-size)}.brand-ring{stroke:var(--brand-ring)}.brand-dot{fill:var(--brand-dot)}.brand-logo-text{display:flex;flex-direction:column;min-width:0}.brand-wordmark{font-family:Inter,system-ui,sans-serif;font-size:var(--brand-word-size);font-style:italic;font-weight:700;letter-spacing:-.045em;line-height:1;white-space:nowrap}.brand-wordmark-dot{color:var(--brand-dot)}.brand-tagline{margin-top:2px;padding-inline-start:2px;font-size:12px;font-weight:500;line-height:1.2;color:var(--brand-tagline)}.brand-logo-sm{--brand-mark-size: 26px;--brand-word-size: 19px;gap:6px}.brand-logo-md{--brand-mark-size: 34px;--brand-word-size: 23px}.brand-logo-lg{--brand-mark-size: 40px;--brand-word-size: 26px;gap:10px}.overview .card{min-width:0}.ov-head{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:baseline;margin-bottom:16px}.ov-head h2{margin:0}.ov-head-note{font-size:13px;color:var(--ink-2)}.ov-head-note b{color:var(--ink);font-weight:600}.ov-sub{font-size:12.5px;color:var(--ink-3);margin:0}.ov-big{font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.ov-caps{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.ov-caps.is-warn{color:var(--warn)}.ov-icon{width:14px;height:14px;flex:none}.overview{container:overview / inline-size}.ov-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}@container overview (max-width: 800px){.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@container overview (max-width: 400px){.ov-kpis{grid-template-columns:minmax(0,1fr)}}@supports not (container-type: inline-size){@media(max-width:1120px){.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.ov-kpis{grid-template-columns:minmax(0,1fr)}}}.ov-kpi{background:var(--surface);padding:16px 20px;display:flex;flex-direction:column;gap:4px;min-width:0}.ov-kpi-label{font-size:12.5px;font-weight:500;color:var(--ink-2)}.ov-kpi-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.ov-kpi-value{font-size:clamp(20px,1.8vw,24px);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ov-kpi-value .money.neg{color:inherit}.ov-kpi-value.tone-bad{color:var(--bad)}.ov-kpi-value.tone-warn{color:var(--warn)}.ov-kpi-sub{font-size:12px;line-height:1.5;color:var(--ink-3)}.ov-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:600}.ov-status svg{width:12px;height:12px}.ov-status.tone-bad{background:var(--bad-soft);color:var(--bad)}.ov-status.tone-warn{background:var(--warn-soft);color:var(--warn)}.ov-status.tone-good{background:var(--good-soft);color:var(--good)}.ov-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:24px;align-items:start}.ov-main,.ov-rail{display:grid;gap:20px;min-width:0}@media(max-width:1100px){.ov-layout{grid-template-columns:minmax(0,1fr)}}.ov-debt .progress{height:10px}.ov-debt-facts{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:12.5px;color:var(--ink-3)}.ov-debt-facts .money{color:var(--ink);font-weight:600}.ov-debt-free{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:600}.ov-bills{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-start}.ov-bills-total{flex:1 1 200px;display:flex;flex-direction:column;gap:4px}.ov-bills-total h2{margin:0 0 4px}.ov-bills-split{flex:3 1 360px;min-width:0;display:flex;flex-direction:column;gap:10px}.ov-bar{display:flex;gap:2px;height:12px}.ov-bar span{flex-basis:0;min-width:4px}.ov-bar span:first-child{border-start-start-radius:4px;border-end-start-radius:4px}.ov-bar span:last-child{border-start-end-radius:4px;border-end-end-radius:4px}.ov-bar .other,.ov-cats i.other{background:var(--ink-4)}.ov-cats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink-2)}.ov-cats li{display:inline-flex;align-items:center;gap:6px}.ov-cats i{width:10px;height:10px;border-radius:3px;flex:none}.ov-cats b{color:var(--ink);font-weight:600}.ov-unclear{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid var(--ink-4);border-radius:99px;background:var(--surface-2);color:var(--ink);font-size:11.5px;font-weight:600;cursor:pointer}.ov-unclear svg{width:12px;height:12px}.ov-unclear:hover{border-color:var(--ink-3)}.ov-bills-note{margin-top:2px}.ov-chart .ov-head{align-items:flex-start}.ov-chart .ov-sub{margin-top:4px}.chart .band-bad{fill:var(--bad-soft)}.chart .band-mark{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3}.chart .flag-label{font-size:10px;font-weight:600}.chart .flag-label.bad{fill:var(--bad)}.chart .flag-label.mark{fill:var(--accent)}.legend-inline i.swatch-bad{background:var(--bad-soft);border:1px solid var(--bad)}.legend-inline i.swatch-mark{background:transparent;border:1.5px dashed var(--accent)}.ov-next{display:flex;flex-direction:column;gap:8px}.ov-next.is-active{border-color:var(--accent)}.ov-next-line{margin:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}.ov-next-name{font-size:16px;font-weight:600;overflow-wrap:anywhere}.ov-next .btn.primary{margin-top:4px;justify-content:center}.ov-confirm ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.ov-confirm li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.ov-confirm li>span{display:flex;flex-direction:column;gap:2px;min-width:0}.ov-confirm-name{font-weight:600;overflow-wrap:anywhere}.ov-insight-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.ov-insight-list li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}.ov-insight-list li:last-child{border-bottom:0}.ov-insight-text{flex:1 1 180px;font-size:13px;line-height:1.5}.ov-group+.ov-group{margin-top:14px}.ov-group-title{margin:0 0 2px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.ov-group-title span{color:var(--ink-3);font-weight:500;text-transform:none;letter-spacing:0}.ov-group-title.tone-bad{color:var(--bad)}.ov-group-title.tone-warn{color:var(--warn)}.ov-group-title.tone-muted{color:var(--ink-2)}.ov-group-title.tone-accent{color:var(--accent)}.ov-group-title.tone-good{color:var(--good)}.ov-toggle{margin-top:10px}.ff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;min-width:0}.ff-grid>.ff-wide{grid-column:1 / -1}@media(max-width:480px){.ff-grid{grid-template-columns:minmax(0,1fr)}}.ff-field{display:grid;gap:6px;min-width:0;align-content:start}.ff-field>.ff-label{font-size:12px;font-weight:500;color:var(--ink-3)}.ff-field>input:not([type=checkbox]),.ff-field>.select-trigger{width:100%}.ff-field input[aria-invalid=true]{border-color:var(--danger, var(--bad))}.ff-error{margin:0;font-size:12px;color:var(--bad)}.ff-warn{margin:0;font-size:12px;color:var(--warn)}.ff-note{margin:0;font-size:12px;color:var(--ink-3)}.ff-muted{color:var(--ink-3)}.ff-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:12px;color:var(--ink-2)}.ff-hint>span:first-child{min-width:0}.ff-hint .money{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.ff-hint .ff-link{margin-inline-start:auto}.ff-under{display:grid;gap:4px;justify-items:start}.ff-under:empty{display:none}.link-button.ff-link{min-height:28px;padding-block:4px}.link-button.ff-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.ff-seg.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:480px){.ff-seg.seg{display:flex}.ff-seg .seg-option{padding-inline:8px}}@media(max-width:340px){.ff-seg .seg-option{padding-inline:4px}}.ff-check{min-height:32px;font-size:14px}.ff-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin:0;padding:10px 12px;border-radius:8px;background:var(--surface-2)}.ff-facts dt{font-size:11px;color:var(--ink-3)}.ff-facts dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}@media(max-width:380px){.ff-facts{grid-template-columns:1fr 1fr}}@media(max-width:640px),(pointer:coarse){.ff-grid input:not([type=checkbox]),.ff-grid .select-trigger,.ff-dialog .edit-dialog-foot .btn{min-height:44px}.ff-grid .seg-option{min-height:38px}.ff-check{min-height:44px}.link-button.ff-link{min-height:36px}.ff-list .row-actions .btn,.table.history .row-actions .btn,.table.bills .row-actions .btn{min-height:40px}}.ff-btn-icon{gap:6px}.ff-list .row{padding:10px 0}.ff-list .row-main b{font-variant-numeric:tabular-nums}.ff-list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;font-weight:600;font-variant-numeric:tabular-nums}.table.plan td.cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table.plan td.cell-static{min-width:72px;font-size:12px}.h-meta{display:none}.h-name{font-weight:500}@media(max-width:640px){.table.history,.table.history tbody{display:block}.table.history thead{display:none}.table.history tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);grid-template-areas:"who amount" "who status" "note note" "actions actions"}.table.history td{display:block;padding:0;border:0}.table.history td.h-date,.table.history td.h-type,.table.history td.h-method{display:none}.table.history td.h-who{grid-area:who;min-width:0}.table.history td.h-amount{grid-area:amount;text-align:end}.table.history td.h-status{grid-area:status;justify-self:end}.table.history td.h-note{grid-area:note;font-size:12px}.table.history td.h-note:empty{display:none}.table.history td.h-actions{grid-area:actions;width:auto}.table.history .row-actions{justify-content:flex-end;flex-wrap:wrap;white-space:normal}.h-meta{display:block;font-size:12px;color:var(--ink-3)}}.mb-page{display:grid;gap:24px;min-width:0}.mb-page .card{min-width:0}.mb-page .card-head h2{overflow-wrap:anywhere}.mb-top{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media(max-width:1100px){.mb-top{grid-template-columns:minmax(0,1fr)}}.mb-icon{flex:0 0 auto;display:block}.mb-statement{margin:0}.mb-line{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px;row-gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}.mb-line:first-child{padding-top:0}.mb-line>dt{flex:1 1 12em;min-width:0;font-weight:500;color:var(--ink)}.mb-line>dd{margin:0 0 0 auto;text-align:end;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.mb-line>dd.mb-detail{flex:1 0 100%;margin:0;padding-inline-start:28px;text-align:start;white-space:normal;font-weight:400;font-size:12px;line-height:1.6;color:var(--ink-3)}.mb-detail span{display:inline-block;margin-inline-end:16px}.mb-detail b{font-weight:600;color:var(--ink-2)}.mb-op{display:inline-block;width:20px;margin-inline-end:8px;text-align:center;color:var(--ink-3);font-weight:600}.mb-line.mb-result{border-bottom:0;padding-bottom:0;padding-top:16px;align-items:center}.mb-result>dt{font-weight:600}.mb-result>dd.mb-remaining{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.mb-remaining.is-negative{color:var(--bad)}.mb-remaining.is-low{color:var(--warn)}.mb-alert{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);line-height:1.5}.mb-alert .mb-icon{margin-top:1px}.mb-alert p{margin:0}.mb-alert strong{display:block;font-weight:600}.mb-alert.is-ok .mb-icon{color:var(--good)}.mb-alert.is-low{background:var(--warn-soft);border-color:var(--warn)}.mb-alert.is-low .mb-icon,.mb-alert.is-low strong{color:var(--warn)}.mb-alert.is-negative{background:var(--bad-soft);border-color:var(--danger, var(--bad));border-width:2px}.mb-alert.is-negative .mb-icon{color:var(--danger, var(--bad))}.mb-alert.is-negative strong{color:var(--bad)}.mb-alert .link-button{margin-top:4px}.mb-note{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--ink-3)}.mb-caption{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--ink-2)}.mb-bar{display:flex;gap:2px;height:12px;border-radius:99px;overflow:hidden;background:var(--surface-2)}.mb-bar>span{display:block;min-width:3px;height:100%}.mb-legend{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));column-gap:24px}.mb-legend li{display:flex;align-items:baseline;gap:8px;min-width:0;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.mb-swatch{flex:0 0 10px;width:10px;height:10px;border-radius:3px;background:var(--cat);align-self:center}.mb-legend-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;color:var(--ink-2)}.mb-legend-amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.mb-legend-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding-top:12px;font-weight:600;font-variant-numeric:tabular-nums}.mb-bills .card-actions .btn{white-space:nowrap}.mb-progress{display:grid;gap:8px;margin-bottom:8px}.mb-progress-text{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.mb-progress-text b{color:var(--ink);font-weight:600}.mb-saving{color:var(--ink-3)}.mb-meter{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.mb-meter>span{display:block;height:100%;border-radius:inherit;background:var(--good);transition:width .3s ease}.mb-cats{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media(max-width:720px){.mb-cats{grid-template-columns:minmax(0,1fr)}}.mb-cat{min-width:0;border:1px solid var(--line);border-top:3px solid var(--cat);border-radius:12px;background:var(--surface)}.mb-cat-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:8px 16px 8px 4px;border-bottom:1px solid var(--line)}.mb-cat-title{display:flex;align-items:center;gap:8px;min-width:0}.mb-cat-title h3{font-size:15px;font-weight:600;overflow-wrap:anywhere;min-width:0}.mb-cat-meta{margin:2px 0 0;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.mb-cat-total{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:end}.mb-hit{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;cursor:pointer}.mb-hit:hover{background:var(--surface-2)}input.mb-check{width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--accent);cursor:pointer;flex:0 0 auto}input.mb-check:disabled{cursor:default}.mb-bill-list{list-style:none;margin:0;padding:4px 8px 8px}.mb-bill-list>li+li{border-top:1px solid var(--line)}.mb-bill{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:48px;padding:4px 8px 4px 4px;border-radius:8px;cursor:pointer}.mb-bill:hover{background:var(--surface-2)}.mb-bill:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.mb-bill input:focus-visible{outline:none}.mb-bill .mb-check{justify-self:center}.mb-bill.is-busy,.mb-cat-head.is-busy{opacity:.6}.mb-bill.is-locked{cursor:default}.mb-cat-head.is-readonly{grid-template-columns:minmax(0,1fr) auto;padding-inline-start:16px}.mb-bill.is-readonly{grid-template-columns:minmax(0,1fr) auto;padding-inline-start:8px;cursor:default}.mb-bill.is-readonly:hover{background:transparent}.mb-bill-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.mb-bill-name{min-width:0;overflow-wrap:anywhere;color:var(--ink)}.mb-bill-amt{text-align:end;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.mb-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap;border:1px solid var(--line);color:var(--ink-3)}.mb-status.is-paid{border-color:transparent;background:var(--good-soft);color:var(--good)}.mb-page .list-card .card-actions .btn,.mb-bills .card-actions .btn{gap:6px;display:inline-flex;align-items:center}.mb-period-hint{padding:16px 0 0}.mb-forecast .table td:first-child .btn{padding-inline:0}@media(max-width:480px){.mb-page .card{padding:16px}.mb-page .card-head{margin-bottom:16px}.mb-result>dd.mb-remaining{font-size:28px}.mb-bill-list{padding:4px 4px 8px}.mb-cat-head{padding-inline-end:12px}}@media(pointer:coarse){.mb-page .btn{min-height:44px}}@media(prefers-reduced-motion:reduce){.mb-meter>span{transition:none}}.mb-cat-title-wrap{min-width:0}.mb-forecast .table td.num,.mb-forecast .table th{white-space:nowrap}.table.history th:has(>.h-sort){position:relative}.table.history th .h-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;background:none;border:0;border-radius:4px;padding:0;margin:0;cursor:pointer}.table.history th .h-sort:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.table.history th .h-sort-label{position:relative}.table.history th .h-sort:hover{color:var(--ink-2)}.table.history th .h-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table.history th .h-sort-arrow{position:absolute;inset-block-start:50%;inset-inline-start:100%;margin-inline-start:3px;transform:translateY(-50%)}.table.history th.num .h-sort-arrow{inset-inline:auto 100%;margin-inline:0 3px}.activity{--act-avatar: 32px;--act-added: var(--good);--act-added-bg: var(--good-soft);--act-edited: var(--cat-1);--act-edited-bg: color-mix(in srgb, var(--cat-1) 13%, transparent);--act-paid: var(--warn);--act-paid-bg: var(--warn-soft);--act-deleted: var(--bad);--act-deleted-bg: var(--bad-soft);min-width:0}.act-tone-added{--tone: var(--act-added);--tone-bg: var(--act-added-bg)}.act-tone-edited{--tone: var(--act-edited);--tone-bg: var(--act-edited-bg)}.act-tone-paid{--tone: var(--act-paid);--tone-bg: var(--act-paid-bg)}.act-tone-deleted{--tone: var(--act-deleted);--tone-bg: var(--act-deleted-bg)}.act-tone-deleted>.act-icon{color:var(--danger, var(--bad))}.act-filters{display:grid;gap:12px;align-items:start;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto}.act-filters .field>label{font-size:12px;color:var(--ink-3);font-weight:500}.act-filters .field>input,.act-filters .field>.select-trigger{width:100%}.act-clear{align-self:end;min-height:38px}.act-people-field{grid-column:1 / -1}.act-people-field>span:first-child{font-size:12px;color:var(--ink-3);font-weight:500}.seg.act-people{display:flex;flex-wrap:wrap;gap:8px;min-height:0;padding:0;border:0;background:transparent}.act-people .seg-option{flex:0 1 auto;min-width:0;max-width:100%;min-height:32px;padding:3px 12px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--ink-2)}.act-people .seg-option:has(.avatar){padding-inline-start:3px}.act-people .seg-option[aria-checked=true]{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.act-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.act-chip-note{color:var(--ink-3);font-weight:400}.act-people .seg-option[aria-checked=true] .act-chip-note{color:inherit}@media(max-width:1280px){.act-filters{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.act-search{grid-column:1 / -1}.act-clear{justify-self:start}}.act-summary{margin:16px 0 4px;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;min-height:1.45em}.act-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0;color:var(--bad);background:var(--bad-soft);padding:8px 12px;border-radius:8px;font-size:13px}.act-day{margin-top:8px}.act-day-head{position:sticky;top:var(--act-sticky-top, 0px);z-index:2;margin:0;padding:12px 0 8px;background:var(--surface);border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2)}.act-list,.act-children{list-style:none;margin:0;padding:0}.act-entry{display:grid;grid-template-columns:var(--act-avatar) minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.act-list>.act-entry:last-child{border-bottom:0}.act-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--tone);background:var(--tone-bg)}.act-who{position:relative;width:var(--act-avatar);height:var(--act-avatar);--avatar-size: var(--act-avatar)}.act-badge{position:absolute;inset-inline-end:-4px;bottom:-4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:var(--tone);background:linear-gradient(var(--tone-bg),var(--tone-bg)),var(--surface);box-shadow:0 0 0 2px var(--surface)}.act-badge svg{width:10px;height:10px;stroke-width:2.5}.act-tone-deleted>.act-who .act-badge{color:var(--danger, var(--bad))}.act-body{min-width:0}.act-text{margin:0;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}.act-text strong{font-weight:600}.act-text .money{font-weight:500}.act-dot{color:var(--ink-3)}.act-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.act-label{display:inline-block;padding:1px 8px;border-radius:99px;font-weight:600;color:var(--tone);background:var(--tone-bg);white-space:nowrap}.act-link{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 4px;margin:-2px -4px;border:0;border-radius:6px;background:transparent;color:var(--accent);font:inherit;font-weight:500;cursor:pointer}.act-text .act-link{font-size:13px;vertical-align:baseline}.act-link:hover{text-decoration:underline;text-underline-offset:3px}.act-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.act-undo{color:var(--ink-2)}.act-chevron{display:inline-flex;transition:transform .15s ease}.act-chevron.is-open{transform:rotate(180deg)}.act-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:10px 0 0;padding:10px 12px;background:var(--surface-2);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums}.act-detail{display:contents}.act-details dt{color:var(--ink-3)}.act-details dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.act-before{color:var(--ink-2)}.act-arrow{color:var(--ink-3)}.act-after{font-weight:600}.act-children{margin-top:10px;padding-inline-start:12px;border-inline-start:2px solid var(--line)}.act-entry.is-child{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:10px 0}.act-children>.act-entry.is-child:last-child{border-bottom:0;padding-bottom:0}.act-entry.is-child .act-icon{width:24px;height:24px}.act-entry.is-child .act-icon svg{width:13px;height:13px}.act-entry.is-child .act-text{font-size:13px}.act-empty{padding:32px 0 16px;text-align:center;display:grid;gap:6px;justify-items:center}.act-empty-title{font-weight:600;color:var(--ink)}.act-empty .muted{max-width:440px;line-height:1.6}.act-empty .btn{margin-top:8px}.act-skeleton{display:grid;gap:14px;padding:16px 0}.act-skeleton-row{height:44px;border-radius:8px;background:var(--surface-2);animation:act-pulse 1.4s ease-in-out infinite}@keyframes act-pulse{50%{opacity:.55}}.act-more{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding-top:16px;border-top:1px solid var(--line);margin-top:4px}.act-more .act-error{flex-basis:100%;justify-content:center}@media(max-width:1023px){.activity{--act-avatar: 28px}}@media(max-width:767px){.activity{--act-avatar: 24px}.act-entry{gap:10px}.act-badge{width:14px;height:14px;inset-inline-end:-3px;bottom:-3px}.act-badge svg{width:9px;height:9px}}@media(max-width:480px){.act-details{grid-template-columns:minmax(0,1fr);gap:2px}.act-detail+.act-detail dt{margin-top:6px}}@media(prefers-reduced-motion:reduce){.act-chevron{transition:none}.act-skeleton-row{animation:none}}.legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.5rem;padding:1.25rem;font-size:.875rem}.legal-links a{color:var(--ink-2);text-underline-offset:.25em}.legal-links a[aria-current=page]{color:var(--accent);font-weight:700}.legal-page{max-width:1080px;margin:auto;padding:1.5rem;color:var(--ink)}.legal-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1rem}.legal-draft{background:var(--warn-soft);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.5rem;margin-block:1rem 2rem}.legal-draft p{margin-bottom:0;line-height:1.6}.legal-document{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,4vw,3rem);overflow-wrap:anywhere;line-height:1.75}.legal-document h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2}.legal-document h2{margin-top:2rem;line-height:1.35;font-size:1.25rem}.legal-document p,.legal-document ul{margin-block:1rem}.legal-document a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.legal-document ul{padding-inline-start:1.5rem}.legal-table{overflow-x:auto;margin-block:1.5rem}.legal-table table{width:100%;border-collapse:collapse;font-size:.9rem}.legal-table th,.legal-table td{white-space:normal;min-width:150px;padding:.75rem;border:1px solid var(--line);text-align:start;vertical-align:top}.legal-table th{background:var(--surface-2)}.legal-footer{padding-block:2rem;text-align:center}.legal-header .btn{text-decoration:none}.legal-footer>a,.legal-footer>a:visited{color:var(--accent);text-underline-offset:.25em}@media(max-width:600px){.legal-page{padding:1rem}.legal-links{gap:.75rem 1rem;padding-inline:0}}.auth-login>.eyebrow{margin-top:8px}.auth-page .form{display:flex;flex-direction:column;gap:20px}.login-panel{display:flex;flex-direction:column;gap:20px;min-width:0}.auth-page .field{display:flex;flex-direction:column;gap:6px;min-width:0}.auth-page .field>label,.auth-page .field-head>label{font-size:13px;font-weight:500;color:var(--pub-ink-2)}.auth-page .field-help{margin:0;padding:0;border-radius:0;background:none;font-size:13px;line-height:1.5;color:var(--pub-muted)}.auth-page .field-msg{font-size:13px;line-height:1.5}.auth-page .field-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px}.login-forgot{position:relative;font-size:13px;font-weight:500;color:var(--pub-primary);text-underline-offset:3px}.login-forgot:after{content:"";position:absolute;top:-20px;right:-4px;bottom:-6px;left:-4px}.login-form .seg{display:flex;width:100%;min-height:48px;padding:4px;gap:4px;border:0;border-radius:10px;background:var(--pub-cream)}.login-form .seg-option{position:relative;flex:1 1 0;min-width:0;min-height:40px;border-radius:7px;color:var(--pub-muted);font-size:14px;font-weight:500}.login-form .seg-option:after{content:"";position:absolute;top:-4px;right:-2px;bottom:-4px;left:-2px}.login-form .seg-option:hover:not(:disabled):not([aria-selected=true]){background:transparent;color:var(--pub-ink)}.login-form .seg-option[aria-selected=true]{background:#fff;color:var(--pub-primary);font-weight:600;box-shadow:0 1px 2px #17262b1a,0 1px 3px #17262b0f}.login-form .seg-option:focus-visible{outline:none;box-shadow:var(--pub-focus-ring)}.password-field{position:relative;display:flex}.auth-page .password-field>input{padding-inline-end:72px}.password-toggle{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:44px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--pub-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.password-toggle:hover:not(:disabled){background:var(--accent-soft)}.password-toggle:disabled{opacity:.45;cursor:not-allowed}.auth-page .password-field.has-caps>input{padding-inline-end:188px}.login-caps{position:absolute;inset-inline-end:68px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--warn-soft);color:var(--pub-ink-2);font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none}.login-caps svg{flex-shrink:0;width:14px;height:14px;color:var(--warn)}.login-alert{--login-alert-pad: 6px;font-size:13px;min-height:calc(2 * 1.5em + 2 * var(--login-alert-pad))}.login-alert:empty{min-height:0;margin-top:-20px}.login-alert .login-error{line-height:1.5;padding:var(--login-alert-pad) 10px}.login-error strong{font-weight:600}.auth-page .check{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin-block:-12px;padding-block:12px;font-size:13px;font-weight:400;line-height:20px;color:var(--pub-ink-2);cursor:pointer}.auth-page .check input[type=checkbox]{flex:none;width:20px;height:20px;min-height:0;margin:0;accent-color:var(--pub-primary)}.auth-page .signup-terms a{color:var(--pub-primary);font-weight:600;text-underline-offset:3px}.login-code-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.auth-page .form .link-button,.login-footer .link-button{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600}.auth-page .field-help .link-button{display:inline;min-height:0}.login-form .link-button:disabled,.login-footer .link-button:disabled{opacity:.45;cursor:not-allowed}.field-optional{font-weight:400;color:var(--pub-muted)}.signup-phone .phone-row{display:flex;gap:8px;min-width:0}.auth-page .signup-phone .phone-row>.select-trigger{flex:none;width:auto}.signup-phone .phone-row>input{flex:1 1 0;min-width:0}.auth-page .auth-switch,.login-forget{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:6px;min-height:44px;margin:0;text-align:center;color:var(--pub-muted)}.auth-page .auth-switch{margin-top:12px;font-size:14px}.auth-page .auth-switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:var(--pub-primary);font-weight:600;text-underline-offset:3px}.login-footer{display:grid;margin-top:24px;padding-top:8px;border-top:1px solid var(--pub-line)}.login-footer>.auth-switch{margin:0}.login-forget{font-size:13px;line-height:1.5}.login-forget .link-button{padding:0 2px;color:var(--pub-primary)}.signup-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-page .signup-names{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px 16px}.signup-names input{min-width:0;width:100%}.google-signin{margin-block:0 20px;min-width:0}.google-button{display:flex;justify-content:center;min-height:40px;max-width:100%}.google-button[hidden]{display:none}.google-divider{display:flex;align-items:center;gap:12px;margin-block:20px 0;font-size:13px;color:var(--ink-3)}.google-divider:before,.google-divider:after{content:"";flex:1 1 0;border-top:1px solid var(--line)}@media(max-width:480px){.signup-names,.auth-page .signup-names{grid-template-columns:minmax(0,1fr)}}.auth-invite h1{margin:10px 0 12px;overflow-wrap:anywhere}.invite-from{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:10px 0 12px}.invite-from>h1{flex:1 1 240px;min-width:0;margin:0}.auth-invite .auth-description{margin-bottom:20px}.invite-facts{margin:0 0 24px;padding:4px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.invite-facts>div{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:4px 16px;padding:12px 0}.invite-facts>div+div{border-top:1px solid var(--line)}.invite-facts dt{font-size:12px;font-weight:500;color:var(--ink-3);padding-top:1px}.invite-facts dd{margin:0;font-size:14px;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.invite-fact-note{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:var(--ink-2)}.invite-step{display:grid;gap:14px}.invite-session{font-size:14px;color:var(--ink-2);overflow-wrap:anywhere}.invite-choice-label{font-size:12px;font-weight:500;color:var(--ink-3)}.auth-invite .seg.invite-choice{display:flex;width:100%;margin-top:-8px}.auth-invite .invite-choice .seg-option{flex:1 1 0;min-width:0;min-height:34px;white-space:normal;text-align:center}.invite-note{font-size:12px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}.auth-invite .auth-notice.invite-notice{margin-bottom:0}.auth-invite .invite-notice h2{margin-top:0}.auth-invite .invite-notice .pill+p{margin-top:10px}.auth-invite .auth-switch{margin-top:4px;text-align:center}.invite-records{display:grid;gap:6px}.auth-invite .invite-records .seg.invite-choice{margin-top:0}.invite-form{gap:14px}.invite-form .field{gap:6px}.invite-form .field>label{font-size:12px;font-weight:500;color:var(--ink-3)}.auth-invite .invite-form input:not([type=checkbox]){width:100%;min-height:46px}.auth-invite input[readonly]{background:var(--surface-2);color:var(--ink-2)}.invite-check{min-height:32px}.invite-check input{width:18px;height:18px}.auth-invite .form-error{padding:8px 10px;line-height:1.5}@media(max-width:800px){.auth-invite input:not([type=checkbox]){font-size:16px}}@media(max-width:480px){.invite-facts{padding:2px 12px}.invite-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}}.welcome-nav-divider{flex:none;width:1px;height:20px;background:var(--pub-divider)}.welcome-header .welcome-login{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:var(--pub-primary);font-size:15px;font-weight:600;text-decoration:none}.welcome-header .welcome-login:hover{background:var(--pub-hover)}.welcome-header .welcome-login:focus-visible{border-radius:8px}@media(max-width:719px){.welcome-nav-divider{display:none}}.welcome-account{position:relative;flex-shrink:0}.welcome-header .welcome-account-trigger{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;min-height:44px;padding:4px 8px;border:0;border-radius:999px;background:transparent;color:var(--pub-ink);font:inherit;cursor:pointer}.welcome-header .welcome-account-trigger:hover,.welcome-header .welcome-account-trigger[aria-expanded=true]{background:var(--pub-hover)}.welcome-header .welcome-account-trigger:focus-visible{border-radius:999px}.welcome-account-trigger .avatar{font-size:13px;font-weight:600}.welcome-account-name{min-width:0;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500}.welcome-account-chevron{flex:none;color:var(--pub-muted);transition:transform .15s ease}.welcome-account-trigger[aria-expanded=true] .welcome-account-chevron{transform:rotate(180deg)}@media(max-width:719px){.welcome-account-name{display:none}}.welcome-account-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:1;box-sizing:border-box;width:240px;max-width:calc(100vw - 40px);padding:8px;border:1px solid var(--pub-line);border-radius:12px;background:#fff;box-shadow:0 12px 32px #17262b1f}.welcome-account-identity{display:grid;gap:2px;padding:8px 12px 12px;line-height:1.4}.welcome-account-identity strong{color:var(--pub-ink);font-size:14px;font-weight:700;overflow-wrap:anywhere}.welcome-account-identity span{color:var(--pub-muted);font-size:13px;overflow-wrap:anywhere}.welcome-account-divider{height:1px;margin:4px -8px;background:var(--pub-line)}.welcome-account-identity+.welcome-account-divider{margin-top:0}.welcome-header .welcome-account-menu [role=menuitem]{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--pub-ink);font:inherit;font-size:14px;font-weight:500;text-align:start;text-decoration:none;cursor:pointer}.welcome-header .welcome-account-menu [role=menuitem]:is(:hover,:focus-visible){border-radius:8px;background:var(--pub-menu-hover)}.welcome-account-menu [role=menuitem] svg{flex:none;width:20px;height:20px;color:var(--pub-muted)}.welcome-header .welcome-account-menu .welcome-account-signout{color:var(--pub-danger)}.welcome-account-menu .welcome-account-signout svg{color:inherit}.welcome-header .welcome-account-menu [aria-disabled=true]{cursor:progress}.welcome-account-error{margin:4px 12px;color:var(--pub-danger);font-size:13px;line-height:1.5}.welcome-page[data-session=checking] .welcome-session{visibility:hidden;animation:welcome-session-reveal 0s 1s forwards}@keyframes welcome-session-reveal{to{visibility:visible}}@media(prefers-reduced-motion:reduce){.welcome-page[data-session=checking] .welcome-session{visibility:visible}}:root{--bg: #f5f5f2;--surface: #ffffff;--surface-2: #f0efeb;--ink: #1d1d1b;--ink-2: #4a4a46;--ink-3: #7a7a74;--ink-4: #c9c8c1;--line: #e4e3dd;--accent: #2f5bd3;--accent-soft: #e6ecfb;--good: #1f8a5b;--good-soft: #e3f3ea;--bad: #c8382f;--bad-soft: #fbe7e5;--warn: #b36b00;--warn-soft: #fbf0dc;--debt: #e07a2e;--out: #8b5cc4;--cat-1: #2f5bd3;--cat-2: #1b9aaa;--cat-3: #8b5cc4;--cat-4: #d6a21e;--cat-5: #7a7a74;--radius: 10px;--shadow: 0 1px 2px rgb(0 0 0 / .04), 0 1px 8px rgb(0 0 0 / .04);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101C20;--sidebar: #14252A;--surface: #1B3036;--surface-2: #213940;--line: #355159;--ink: #F3F7F8;--ink-2: #B3C5CB;--ink-3: #98AEB5;--ink-4: #4B666E;--accent: #5EEAD4;--accent-soft: rgb(94 234 212 / 10%);--on-accent: #0B1F22;--nav-active: #5EEAD4;--primary-btn: #0F766E;--good: #6EE7B7;--good-soft: rgb(110 231 183 / 12%);--warn: #FBBF24;--warn-soft: rgb(251 191 36 / 12%);--bad: #FF7070;--bad-soft: rgb(239 68 68 / 12%);--danger: #EF4444;--danger-btn: #DC2626;--danger-btn-hover: #B91C1C;--debt: #A5B4FC;--out: #96AEB9;--cat-1: #6FA0FF;--cat-2: #4FC3F7;--cat-3: #B79CF2;--cat-4: #E48ACF;--cat-5: #94A3B8;--cat-6: #8DB8D8;--cat-7: #D3A6C9;--cat-8: #B8B2AC;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #101C20;--sidebar: #14252A;--surface: #1B3036;--surface-2: #213940;--line: #355159;--ink: #F3F7F8;--ink-2: #B3C5CB;--ink-3: #98AEB5;--ink-4: #4B666E;--accent: #5EEAD4;--accent-soft: rgb(94 234 212 / 10%);--on-accent: #0B1F22;--nav-active: #5EEAD4;--primary-btn: #0F766E;--good: #6EE7B7;--good-soft: rgb(110 231 183 / 12%);--warn: #FBBF24;--warn-soft: rgb(251 191 36 / 12%);--bad: #FF7070;--bad-soft: rgb(239 68 68 / 12%);--danger: #EF4444;--danger-btn: #DC2626;--danger-btn-hover: #B91C1C;--debt: #A5B4FC;--out: #96AEB9;--cat-1: #6FA0FF;--cat-2: #4FC3F7;--cat-3: #B79CF2;--cat-4: #E48ACF;--cat-5: #94A3B8;--cat-6: #8DB8D8;--cat-7: #D3A6C9;--cat-8: #B8B2AC;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:400 14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:20px}h3{font-size:16px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}.app{--sidebar-width: 250px;--content-padding: 32px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);column-gap:var(--content-padding);align-content:start;width:100%;min-height:100vh;margin:0;padding-block-end:64px;padding-inline-end:var(--content-padding)}.app>*{grid-column:2;min-width:0}main{padding-top:16px}.stack{display:grid;gap:16px}.two-col{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));align-items:start}.muted{color:var(--ink-3)}.small{font-size:12px}.nowrap{white-space:nowrap}.good{color:var(--good)}.bad,.neg{color:var(--bad)}.warn{color:var(--warn)}.pos{color:var(--good)}.loading{padding:64px 0;text-align:center;color:var(--ink-3)}.empty{color:var(--ink-3);padding:12px 0}.note{color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:8px 12px;margin-bottom:12px}.top{position:sticky;top:0;z-index:10;background:var(--bg);padding-top:16px;border-bottom:1px solid var(--line)}.top-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end}.sync{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.sync i{width:7px;height:7px;border-radius:50%;background:var(--good)}.sync-saving i,.sync-loading i{background:var(--warn);animation:pulse 1s infinite}.sync-stale i{background:var(--danger)}.sync-stale{color:var(--bad)}@keyframes pulse{50%{opacity:.3}}.tabs{display:flex;gap:2px;overflow-x:auto;margin-top:12px;scrollbar-width:none}.tabs button{background:none;border:0;padding:10px 12px;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.btn{display:inline-flex;align-items:center;gap:4px;justify-content:center;border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary-btn);border-color:var(--primary-btn);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--primary-btn)}.btn.danger{background:var(--danger-btn);border-color:var(--danger-btn);color:#fff}.btn.danger:hover:not(:disabled){background:var(--danger-btn-hover);border-color:var(--danger-btn-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:4px 9px;font-size:12px;border-radius:6px}.btn.icon{width:34px;padding:7px 0;font-size:16px;line-height:1}.danger-text{color:var(--bad)}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.inline{display:flex;gap:6px;align-items:center}.inline>input,.inline>select{flex:1}.inline.wrap{flex-wrap:wrap}.check{display:inline-flex;gap:8px;align-items:center;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.segmented{display:inline-flex;background:var(--surface-2);border-radius:8px;padding:2px}.segmented button{border:0;background:none;padding:4px 10px;border-radius:6px;cursor:pointer;color:var(--ink-3);font-size:12px}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:12px}.card-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:6px;box-shadow:var(--shadow)}.kpi-label{font-size:12px;color:var(--ink-3)}.kpi-value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi-value.bad{color:var(--bad)}.kpi-value.good{color:var(--good)}.kpi-value.warn{color:var(--warn)}.kpi-sub{font-size:12px;color:var(--ink-3)}.summary{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin-bottom:16px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.progress{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .3s}.progress-fill.good{background:var(--good)}.stacked{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--surface-2);gap:2px}.legend{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink-2)}.legend i,.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:baseline}.legend b{font-weight:500;color:var(--ink);margin-left:3px}.legend-inline{font-size:12px;color:var(--ink-3);margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}.legend-inline i{margin-right:4px}.legend-inline i.paid{background:var(--good-soft);border:1px solid var(--good)}.legend-inline i.sched{background:var(--warn-soft);border:1px solid var(--warn)}.legend-inline i.mixed{background:linear-gradient(135deg,var(--good-soft) 50%,var(--warn-soft) 50%);border:1px solid var(--ink-4)}.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.pill-paid{background:var(--good-soft);color:var(--good)}.pill-due{background:var(--accent-soft);color:var(--accent)}.pill-late{background:var(--bad-soft);color:var(--bad)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-muted{background:var(--surface-2);color:var(--ink-3)}.tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap}.tag-good{background:var(--good-soft);color:var(--good)}.tag-bad{background:var(--bad-soft);color:var(--bad)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-accent{background:var(--accent-soft);color:var(--accent)}.tag-muted{background:var(--surface-2);color:var(--ink-2)}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis-zero{stroke:var(--ink-4);stroke-width:1}.chart .tick{fill:var(--ink-3);font-size:10px}.chart .hl{fill:var(--accent-soft);opacity:.6}.chart .cursor{stroke:var(--ink-4);stroke-dasharray:3 3}.tip{position:absolute;top:4px;width:200px;pointer-events:none;z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;box-shadow:0 4px 16px #0000001f;font-size:12px;display:grid;gap:2px}.tip-row{display:flex;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}.tip-row.sub{color:var(--ink-3)}.estimates{list-style:none;margin:0;padding:0;display:grid;gap:2px}.estimates li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line)}.estimates li:last-child{border-bottom:0}.est-text{flex:1}.estimates .tag{min-width:72px;text-align:center}.rows{list-style:none;margin:0;padding:0}.row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.row-main{flex:1 1 160px;display:grid;min-width:0}.row-main .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-amt{font-weight:600;min-width:100px;text-align:right}.row-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.row.carried{color:var(--ink-3);font-style:italic;justify-content:space-between}.rows>li.row{padding-inline:12px;margin-inline:-12px}.rows-total{display:flex;justify-content:space-between;padding-top:10px;font-weight:600;font-variant-numeric:tabular-nums}.inline-edit input[type=date]{width:150px}.inline-edit input[inputmode=decimal]{width:110px;text-align:right}.inline-edit .row-actions{margin-left:auto}.add-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.add-row input[inputmode=decimal]{width:120px}.creditor .card-head{align-items:flex-start}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0 0 12px}.facts dt{font-size:11px;color:var(--ink-3)}.facts dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}.creditor-pays{margin-top:12px}.checklist-progress{display:grid;gap:6px;margin-bottom:14px}.checklist{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.check-group{display:grid;gap:2px;align-content:start}.check.cat{border-left:3px solid var(--cat);padding:4px 8px;background:var(--surface-2);border-radius:0 6px 6px 0}.check.cat .muted{margin-left:auto;font-size:12px}.check.item{padding:5px 8px 5px 11px;border-radius:6px}.check.item:hover{background:var(--surface-2)}.check.item .money{margin-left:auto;color:var(--ink-2)}.check.item.done span:first-of-type{color:var(--ink-3);text-decoration:line-through}.table-wrap{overflow-x:auto;margin:0 -16px;padding:0 16px}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.table thead th{font-size:12px;color:var(--ink-3);font-weight:500;white-space:nowrap}.table .num{text-align:right}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover{background:var(--surface-2)}.table tr.selected{background:var(--accent-soft)}.table tr.now td:first-child{font-weight:600}.table tfoot th{border-bottom:0;padding-top:12px}.table td.actions{width:1%}.table .row-actions{justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap}.table.bills tr.group th{background:var(--surface-2);font-weight:600}.table.bills tr.group th:first-child{border-left:3px solid var(--cat)}.cell-input{border-color:transparent;background:transparent;width:100%;padding:5px 8px}.cell-input:hover{border-color:var(--line)}.cell-input:focus{background:var(--surface);border-color:var(--accent)}.cell-input.num{text-align:right;max-width:140px}.table.plan th.sticky{position:sticky;left:0;background:var(--surface);z-index:1;white-space:nowrap}.table.plan th.now{color:var(--accent);font-weight:700}.table.plan td.cell{cursor:pointer;min-width:72px;font-size:12px}.table.plan td.cell:hover{outline:2px solid var(--accent);outline-offset:-2px}.table.plan td.paid{background:var(--good-soft);color:var(--good)}.table.plan td.sched{background:var(--warn-soft);color:var(--warn)}.table.plan td.mixed{background:linear-gradient(135deg,var(--good-soft) 50%,var(--warn-soft) 50%)}.table.plan tr.totals td,.table.plan tr.totals th{font-weight:600;border-bottom:0}.form{display:grid;gap:12px}.form .grid{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}.field{display:grid;gap:4px}.field.wide{grid-column:span 2}@media(max-width:420px){.field.wide{grid-column:auto}}.field>span{font-size:12px;color:var(--ink-3)}.form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.form-actions .check,.form-actions>.muted{margin-right:auto}.form-error{color:var(--bad);background:var(--bad-soft);padding:6px 10px;border-radius:6px;font-size:13px}.audit{list-style:none;margin:0;padding:0}.audit>li{padding:10px 0;border-bottom:1px solid var(--line)}.audit-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.audit-head .muted{margin-left:auto}.diff{list-style:none;margin:6px 0 0;padding:0 0 0 12px;border-left:2px solid var(--line);font-size:12px;display:grid;gap:2px}.diff code,.diff s{color:var(--ink-3)}.backup-text{width:100%;min-height:280px;margin-top:12px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.banner{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;border-radius:var(--radius);background:var(--bad-soft);color:var(--ink);border:1px solid var(--danger)}.banner>div:first-child{display:grid}.banner strong{color:var(--bad)}.banner-actions{display:flex;gap:6px}.dialog{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface);color:var(--ink);width:min(420px,calc(100vw - 32px))}.dialog::backdrop{background:#00000059}.dialog p{margin-top:8px;color:var(--ink-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.mock-badge{position:fixed;right:16px;bottom:16px;display:flex;gap:6px;align-items:center;z-index:40;background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);border-radius:99px;padding:3px 4px 3px 12px;font-size:12px;font-weight:600}@media(max-width:640px){.top{position:static}.kpi-value{font-size:19px}.row-amt{min-width:0}.estimates li{flex-wrap:wrap}}:root,.welcome-page,.auth-page{--bg: #f8f6f1;--sidebar: #fff;--surface: #fff;--surface-2: #f3f0e9;--ink: #182c35;--ink-2: #435860;--ink-3: #5a6d74;--ink-4: #a9b3b3;--line: #e6e1d7;--accent: #126c60;--accent-soft: #e4f1ec;--on-accent: #fff;--nav-active: #126c60;--primary-btn: #126c60;--good: #18704f;--good-soft: #e8f4ed;--warn: #8a5c16;--warn-soft: #faf1df;--bad: #B91C1C;--bad-soft: #fbe7e5;--danger: #DC2626;--danger-btn: #DC2626;--danger-btn-hover: #B91C1C;--debt: #4F46E5;--out: #798e9b;--cat-1: #2F5BD3;--cat-2: #0277A8;--cat-3: #7C55C7;--cat-4: #A8448F;--cat-5: #64748B;--cat-6: #3D6C8C;--cat-7: #8A5A7E;--cat-8: #78716C;--radius: 12px;--shadow: 0 2px 4px rgb(24 44 53 / 2%)}.top{position:static;padding:0;background:transparent;border:0}.top-row{min-height:100px;border-bottom:1px solid var(--line);justify-content:flex-end}.sidebar-brand{flex-shrink:0;padding:0 14px}.sidebar-brand>p.muted{margin-top:12px;font-size:11px}.top-brand{display:none}.sync{font-size:11px;margin-top:6px}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-width);padding:24px 10px 16px;background:var(--sidebar);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:16px;z-index:10}.tabs{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:2px;margin-top:0;padding:2px 6px}.tabs button{display:flex;align-items:center;gap:12px;text-align:start;border:0;border-radius:8px;padding:10px 12px;color:var(--ink-2);font-size:13px;min-height:44px;flex-shrink:0}.tabs button.active{color:var(--nav-active);background:var(--accent-soft);font-weight:600}.tabs button:hover{background:var(--surface-2)}.nav-caption,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--ink-3)}.nav-caption{padding:8px 12px 6px}.nav-symbol{display:block;width:20px;height:20px;flex:0 0 20px}.sidebar-footer{flex-shrink:0;padding:0 18px;font-size:11px;color:var(--ink-3);line-height:1.7}@media(min-width:801px)and (max-height:720px){.sidebar-footer{display:none}}.sidebar-footer b{color:var(--ink-2)}.sidebar-footer span{display:block;margin-top:20px}main{padding-top:24px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.page-heading-main{flex:1 1 auto;min-width:0}.page-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:8px 0}.page-heading.is-account .page-title-row{margin-top:0}.page-heading h1{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0}.page-description{max-width:72ch}.page-heading-aside{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-top:18px}.currency-label{font-size:11px;color:var(--ink-3);white-space:nowrap}.stack{gap:24px}.card{padding:24px}.card-head{margin-bottom:20px}h2{font-size:15px}.btn{min-height:38px;padding:8px 12px;font-weight:500}.btn.small{min-height:32px}.btn.icon{min-width:36px}.btn.primary{color:#fff}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.kpi{border:0;border-radius:0;box-shadow:none;padding:24px;gap:12px;align-content:start}.kpi+.kpi{border-inline-start:1px solid var(--line)}.kpi:first-child{background:var(--accent-soft)}.kpi-value{font-size:clamp(20px,2vw,28px);letter-spacing:-.8px}.kpi-label{color:var(--ink-2);font-weight:500}.kpi-sub{font-size:11px;line-height:1.6}.progress{height:5px}.overview-intro{display:flex;justify-content:space-between;gap:16px;align-items:center}.overview-context{font-size:13px;color:var(--ink-2)}.overview-context b{color:var(--ink);font-weight:600}.overview-context .link-button{font-size:inherit}.priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.attention-value{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.attention-value>.money{font-size:22px;font-weight:600}.outlook-copy{margin-top:12px;line-height:1.8;font-size:13px}.forecast-note{border:1px solid var(--line);border-radius:8px;padding:14px 18px;color:var(--ink-2);font-size:12px}.forecast-note summary{cursor:pointer;font-weight:600}.forecast-note p{margin-top:12px;line-height:1.8}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.table th,.table td{padding:12px 10px}.table-wrap{margin:0;padding:0}.row{padding:14px 0}input,select,textarea{min-height:38px}.check input{min-height:auto}.estimates li{padding:12px 0;font-size:12px;line-height:1.7}.estimates .tag{min-width:60px}.empty{padding:24px 0;line-height:1.7}.mobile-menu{display:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}main[tabindex="-1"]:focus,section[tabindex="-1"]:focus{outline:none}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--surface);padding:12px;color:var(--accent)}.skip-link:focus{top:12px}.skeleton{height:100px;border-radius:12px;background:var(--surface-2);margin-bottom:20px}@media(max-width:1100px){.app{--content-padding: 24px}.kpi{padding:18px}.two-col,.priority-grid{grid-template-columns:1fr}}@media(max-width:800px){.app{grid-template-columns:minmax(0,1fr);column-gap:0;padding:0 20px 48px}.app>*{grid-column:1}.sidebar-footer,.sidebar-brand{display:none}.sidebar{display:contents}.mobile-menu{display:inline-flex}.tabs{position:static;width:auto;padding:12px 0;display:none;border:0;background:transparent}.tabs.is-open{display:grid;grid-template-columns:1fr 1fr}.nav-caption{grid-column:1 / -1}.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px}.currency-label{display:none}.page-heading-aside{margin-top:0}.kpis{grid-template-columns:1fr}.kpi+.kpi{border-inline-start:0;border-top:1px solid var(--line)}.kpi-value{font-size:27px}.card{padding:20px}.overview-intro{flex-wrap:wrap}.chart svg{max-width:100%}.attention-value{flex-wrap:wrap}.page-heading .muted{font-size:13px}}@media(max-width:640px){.card,.kpi{padding:16px}.page-title-row{gap:12px}.page-heading{position:relative}.page-heading-aside{position:absolute;top:-10px;inset-inline-end:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root[data-surface=entry]{--bg: #f8f6f1}:root[data-bg-transition] body{transition:background-color .45s ease}.app{animation:app-enter .45s ease-out}@keyframes app-enter{0%{opacity:0}}.session-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:10px 24px;background:var(--surface);font-size:12px;flex-wrap:wrap}.session-actions a{color:var(--accent)}.top{position:sticky;top:0;z-index:20;background:var(--bg)}.top-row{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-height:72px;padding:12px 0}.account-actions{display:flex;align-items:center;gap:12px;position:relative;flex-shrink:0}.notification-trigger{position:relative;height:36px;min-height:36px;border-color:transparent;background:transparent}.unread-badge{position:absolute;top:-4px;inset-inline-end:-6px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:var(--danger-btn);color:#fff;font-size:10px;font-weight:700}.header-popover{position:absolute;top:calc(100% + 14px);inset-inline-end:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;z-index:50;max-height:min(72svh,620px);overflow-y:auto}.account-menu{width:280px;padding:6px}.menu-identity{display:grid;gap:5px;padding:14px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}.menu-identity span{font-size:12px;color:var(--ink-3);overflow-wrap:anywhere;text-align:start}.account-menu button,.account-menu a{display:flex;align-items:center;gap:12px;width:100%;text-align:start;border:0;background:transparent;padding:10px;border-radius:6px;color:var(--ink-2);text-decoration:none;min-height:44px;cursor:pointer;font-size:13px}.account-menu button:hover,.account-menu a:hover{background:var(--surface-2)}.menu-divider{height:1px;background:var(--line);margin:6px 0}.notification-panel{width:390px;padding:16px}.notification-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.notification-panel ul{list-style:none;margin:12px 0 0;padding:0}.notification-panel li{display:flex;gap:12px;padding:16px 4px;border-top:1px solid var(--line)}.notification-panel li>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.notification-panel li strong{font-size:13px;font-weight:500}.notification-panel li p{color:var(--ink-3);font-size:12px;margin-top:6px}.notification-panel .is-read{opacity:.7}.notification-panel .is-unread strong{font-weight:650}.notification-empty{color:var(--ink-3);padding:24px 0;font-size:13px}.notification-link{border:0;padding:6px 0 0;background:transparent;color:var(--accent);font-size:12px;cursor:pointer;text-align:start;min-height:32px}.header-status{font-size:12px}.account-actions>.header-status{position:absolute;top:52px;inset-inline-end:0;width:260px;background:var(--surface);padding:12px;border-radius:8px;border:1px solid var(--line)}.nav-entry{flex-shrink:0}.nav-entry>button{width:100%}.nav-entry .nav-caption{display:block;margin-top:8px}.account-page{max-width:680px}.account-page .form{gap:20px}.account-page input:not([type=checkbox]),.account-page select{width:100%}.profile-photo{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.profile-photo input[type=file]{width:100%;max-width:350px;padding:8px;font-size:12px}.reminder-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}.budget-actual{margin:14px 0}.account-page .good,.account-page .form-error{font-size:13px}[dir=rtl] .money{direction:ltr;unicode-bidi:isolate}@media(max-width:1100px){.top-row{gap:12px}}@media(max-width:800px){.top-row{min-height:64px;padding:10px 0;display:flex;justify-content:flex-start;gap:12px}.account-actions{margin-inline-start:auto}.top-brand{display:block;min-width:0}.header-popover{position:fixed;top:68px;inset-inline:16px;width:auto;max-height:calc(100svh - 100px)}.mobile-menu{margin:0;min-height:44px;min-width:44px;padding:0 12px;gap:8px;flex-shrink:0}.nav-entry .nav-caption{margin-top:0}.tabs.is-open{max-height:60svh;overflow-y:auto}.tabs.is-open .nav-entry{display:contents}}@media(max-width:480px){.mobile-menu{padding:0}.mobile-menu-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}h1,h2,h3{font-weight:600}h1,.page-heading h1,.welcome-content h1,.auth-content h1,.auth-caption h2,.kpi-value{letter-spacing:-.02em}.btn,.field>span,.field-head label,.kpi-label{font-weight:500}.money,.num,.kpi-value,.table,.rows-total,.row-amt,.facts dd,.tip-row,.attention-value,.legend b,.check .money,.cell-input,input[inputmode=decimal],.chart text{font-variant-numeric:tabular-nums}h1[tabindex="-1"]:focus{outline:none}.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.field-head label{font-size:12px;color:var(--ink-3)}.link-button{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-size:12px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.field-help{font-size:12px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:8px 10px;margin-top:4px}.btn .spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgb(255 255 255 / 40%);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.welcome-page,.auth-page,:root[data-theme] .welcome-page,:root[data-theme] .auth-page,:root[data-surface=entry] body>:is(.select-menu,.select-backdrop){--pub-ink: #17262b;--pub-ink-2: #3d4b4f;--pub-muted: #5b6a6e;--pub-primary: #126c60;--pub-input-line: #8a9396;--pub-line: #e9e5dd;--pub-page: #faf8f4;--pub-cream: #f2efe9;--pub-steps: #f3efe7;--pub-hover: #efebe3;--pub-menu-hover: #f5f2ec;--pub-danger: #a33b2b;--pub-divider: #e0dbd2;--pub-focus: 0 0 0 3px rgba(18, 108, 96, .18);--pub-focus-ring: 0 0 0 1px var(--pub-primary), 0 0 0 4px rgba(18, 108, 96, .18);--pub-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg: var(--pub-page);--surface: #fff;--surface-2: var(--pub-cream);--ink: var(--pub-ink);--ink-2: var(--pub-ink-2);--ink-3: var(--pub-muted);--ink-4: #a9b3b3;--line: var(--pub-line);--control-line: var(--pub-input-line);--accent: var(--pub-primary);--accent-soft: #e4f1ec;--on-accent: #fff;--primary-btn: var(--pub-primary);--nav-active: var(--pub-primary);color-scheme:light;font-family:var(--pub-font)}:root[data-surface=entry]{--bg: #faf8f4}.welcome-page,.auth-page{padding:0;background:var(--pub-page);color:var(--pub-ink)}:is(.welcome-page,.auth-page) :where(button,input,select,textarea,a),:is(.welcome-page,.auth-page) :where(input,textarea)::placeholder{font-family:inherit}:is(.welcome-page,.auth-page) :where(input,textarea)::placeholder{color:var(--pub-muted);opacity:1}:is(.welcome-page,.auth-page) :where(a,button,summary,.link-button):focus-visible{outline:none;border-radius:4px;box-shadow:var(--pub-focus-ring)}:is(.welcome-page,.auth-page) :where(input:not([type=checkbox]):not([type=radio]),textarea):focus,:is(.welcome-page,.auth-page) .select-trigger:focus-visible,:is(.welcome-page,.auth-page) .select-trigger[aria-expanded=true]{outline:none;border-color:var(--pub-primary);box-shadow:var(--pub-focus)}:is(.welcome-page,.auth-page) .btn:focus-visible{outline:none;border-color:var(--pub-primary);box-shadow:var(--pub-focus)}:is(.welcome-page,.auth-page) .btn.primary:focus-visible{box-shadow:inset 0 0 0 2px #fff,var(--pub-focus)}:is(.welcome-page,.auth-page) input[type=checkbox]:focus-visible{outline:1px solid var(--pub-primary);outline-offset:1px;box-shadow:0 0 0 5px #126c602e}:is(.welcome-page,.auth-page) :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea){width:100%;min-height:48px;padding:0 14px;border:1px solid var(--pub-input-line);border-radius:8px;background:#fff;color:var(--pub-ink);font-size:16px}:is(.welcome-page,.auth-page) :where(textarea){padding-block:12px}:is(.welcome-page,.auth-page) .select-trigger{min-height:48px;padding:0 12px 0 14px;border-color:var(--pub-input-line);border-radius:8px;background:#fff;color:var(--pub-ink);font-size:16px}:is(.welcome-page,.auth-page) .btn{min-height:48px;padding:0 20px;gap:10px;border-radius:8px;text-decoration:none;border-color:var(--pub-input-line);background:#fff;color:var(--pub-ink);white-space:normal;text-align:center}:is(.welcome-page,.auth-page) .btn:hover:not(:disabled){background:var(--pub-cream)}:is(.welcome-page,.auth-page) .btn.primary{background:var(--pub-primary);border-color:var(--pub-primary);color:#fff}:is(.welcome-page,.auth-page) .btn.primary:hover:not(:disabled){background:var(--pub-primary);border-color:var(--pub-primary);filter:brightness(1.08)}:is(.welcome-page,.auth-page) .link-button{color:var(--pub-primary);font-size:inherit}.entry-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.welcome-page{--welcome-header: 64px;--welcome-side: max(20px, calc((100% - 1080px)/2) );position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh}.welcome-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--welcome-header);padding:0 var(--welcome-side);background:#faf8f4d1;-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid rgb(233 229 221 / 70%)}.welcome-nav{display:flex;align-items:center;gap:4px 20px;flex-shrink:0}.welcome-nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--pub-ink);font-weight:500;text-decoration:none;text-underline-offset:4px}.welcome-nav-link:hover{text-decoration:underline}.welcome-intro{position:relative;isolation:isolate;margin-top:calc(-1 * var(--welcome-header));padding-top:var(--welcome-header)}.welcome-intro>.entry-photo,.welcome-wash{z-index:-1}.welcome-wash{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#faf8f4f0,#faf8f4c7 37%,#faf8f41f 75%)}.welcome-content{padding:clamp(48px,7vw,80px) var(--welcome-side)}.welcome-content h1{max-width:16ch;margin:16px 0 20px;font-size:clamp(34px,7vw,60px);line-height:1.08;font-weight:600;text-wrap:balance}.welcome-description{max-width:560px;font-size:18px;line-height:1.8;color:var(--pub-ink-2)}.entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.welcome-page .entry-actions .btn{min-height:52px;padding:0 24px;gap:16px}.welcome-switch{display:flex;flex-wrap:wrap;column-gap:6px;margin-top:14px;color:var(--pub-muted);font-size:14px;line-height:20px;overflow-wrap:anywhere}.welcome-switch a{position:relative;color:var(--pub-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}.welcome-switch a:after{content:"";position:absolute;top:-12px;right:-6px;bottom:-12px;left:-6px}.demo-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:16px;color:var(--pub-primary);font-size:13px;font-weight:500;text-underline-offset:3px}.welcome-section{padding:clamp(48px,7vw,80px) var(--welcome-side);scroll-margin-top:var(--welcome-header)}.welcome-feature-section{padding-top:0}.welcome-section-heading{max-width:680px;margin-bottom:24px}.welcome-section-heading h2{font-size:30px;line-height:1.2}.welcome-section-heading p{max-width:72ch;margin-top:12px;color:var(--pub-ink-2);font-size:13px;line-height:1.6}.welcome-features,.welcome-step-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:0;padding:0;list-style:none}.welcome-features{grid-auto-rows:1fr}.feature-card{padding:24px;border:1px solid var(--pub-line);border-radius:12px;background:#fff}.feature-card svg{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--accent-soft);color:var(--pub-primary)}.feature-card h3,.welcome-step h3{margin:14px 0 6px;font-size:16px}.feature-card p,.welcome-step p{color:var(--pub-ink-2);font-size:13px;line-height:1.6}.welcome-steps{background:var(--pub-steps)}.welcome-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.welcome-step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--pub-primary);color:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.welcome-step h3{margin-top:7px}.welcome-cta .entry-actions{margin-top:24px}.welcome-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 40px;padding:40px var(--welcome-side) calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--pub-line);background:var(--pub-page);color:var(--pub-ink-2);font-size:13px}.welcome-footer-brand{min-width:0;max-width:520px}.welcome-footer-brand p{margin-top:12px;line-height:1.6}.welcome-footer-brand .welcome-copyright{margin-top:8px;color:var(--pub-muted)}.welcome-footer .legal-links{justify-content:flex-end;gap:0 20px;padding:0;font-size:13px}:is(.welcome-page,.auth-page) .legal-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--pub-ink-2)}.auth-page{display:grid;grid-template-columns:minmax(0,1fr);min-height:100svh}.auth-visual{display:none;position:relative;isolation:isolate;overflow:hidden;flex-direction:column;justify-content:space-between;padding:40px}.auth-visual .entry-photo{z-index:-2;object-position:65% center}.auth-visual .brand-logo{align-self:flex-start}.auth-photo-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#faf8f4b8,#faf8f400 26%,#faf8f400 48%,#faf8f4db 80%,#faf8f4f2)}.auth-caption{max-width:420px}.auth-caption h2{margin:0 0 12px;font-size:clamp(32px,3.5vw,52px);line-height:1.15}.auth-caption p{color:var(--pub-ink-2)}@media(min-width:960px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-visual{display:flex;position:sticky;top:0;height:100svh;min-height:0;align-self:start}}.auth-panel{display:flex;flex-direction:column;min-width:0;min-height:100svh;padding:16px 20px 0}.auth-top{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.auth-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--pub-muted);font-size:13px;text-decoration:none;text-underline-offset:3px}.auth-back:hover{color:var(--pub-ink);text-decoration:underline}@media(min-width:960px){.auth-panel{padding:24px clamp(24px,4vw,56px) 0}.auth-top .brand-logo{display:none}}.auth-content{width:100%;max-width:420px;margin:clamp(16px,3svh,32px) auto 40px}@media(min-width:960px){.auth-content{margin-top:clamp(24px,7svh,88px)}}.auth-content h1{margin:8px 0 12px;font-size:clamp(28px,2.6vw,38px);line-height:1.2}.auth-description{margin:0 0 24px;color:var(--pub-muted);line-height:1.6}.auth-cta,.auth-content>.demo-entry{width:100%}.auth-footer{margin-top:auto;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--pub-line)}.auth-footer .legal-links{justify-content:center;gap:0 20px;padding:12px 0;font-size:13px}.auth-notice{margin-bottom:20px;padding:20px;border:1px solid var(--pub-line);border-radius:12px;background:#fff}.auth-page .form>.auth-notice{margin-bottom:0}.auth-notice h2{margin:12px 0 8px;font-size:15px}.auth-notice p{color:var(--pub-ink-2);font-size:13px;line-height:1.7}.auth-content>.btn+.auth-switch,.auth-content>.auth-notice+.auth-switch{margin-top:12px}@media(max-width:719px){.welcome-nav-section{display:none}.welcome-wash{background:linear-gradient(90deg,#faf8f4f2,#faf8f4cc 65%,#faf8f48c)}.welcome-description{font-size:16px}.welcome-section-heading h2{font-size:28px}.welcome-page .entry-actions .btn{flex:1 1 100%}.welcome-footer .legal-links{justify-content:flex-start;gap:0 16px}}
