:root{--primary:#1e6b4f;--primary-hover:#185a42;--primary-tint:#e4f0ea;--primary-text:#175a41;--on-primary:#fff;--bg:#f5f6f4;--surface:#fff;--surface-2:#eeefeb;--text:#171b19;--text-soft:#171b198f;--text-faint:#171b1966;--border:#171b191a;--divider:#171b1912;--divider-soft:#171b190b;--danger:#c0453b;--danger-tint:#f8e5e3;--shadow-sm:0 1px 2px #171b190d;--shadow-md:0 1px 2px #171b190d, 0 8px 20px #171b190d;--shadow-lg:0 18px 44px #171b1938;--r-card:20px;--r-item:18px;--r-field:14px;--r-pill:999px}html[data-theme=dark]{--primary:#3fa77b;--primary-hover:#4fb98b;--primary-tint:#3fa77b29;--primary-text:#6fd0a5;--on-primary:#0c1512;--bg:#161a19;--surface:#212826;--surface-2:#2a322d;--text:#eef1ef;--text-soft:#eef1efa3;--text-faint:#eef1ef6b;--border:#eef1ef29;--divider:#eef1ef1a;--divider-soft:#eef1ef0e;--danger:#e5796e;--danger-tint:#e5796e29;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #00000059, 0 10px 24px #00000059;--shadow-lg:0 18px 44px #0009}html[data-theme=dark] .sidebar{background:#121615}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);text-wrap:pretty;margin:0;font-family:Archivo,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45;transition:background .2s,color .2s}a{color:var(--primary-text);font-weight:700;text-decoration:none}a:hover{color:var(--primary-hover)}button{font:inherit;cursor:pointer}input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-tint)}h1,h2,h3{letter-spacing:-.02em;margin:0}p{margin:0}.shell{flex-direction:column;min-height:100dvh;display:flex}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.scroll,.scroll-thin{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.scroll-thin{overflow-y:auto}.scroll::-webkit-scrollbar{width:6px}.scroll-thin::-webkit-scrollbar{width:6px}.scroll::-webkit-scrollbar-track{background:0 0}.scroll-thin::-webkit-scrollbar-track{background:0 0}.scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.scroll::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.page{width:100%;padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right));padding-bottom:24px}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.topbar{padding:18px 20px 12px;padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right));flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar h1{flex:1;font-size:22px;font-weight:800}.topbar h2{flex:1;font-size:17px;font-weight:700}.sidebar{display:none}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-nav button{text-align:left;width:100%;color:var(--text-soft);background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:11px 14px;font-size:14.5px;font-weight:600;display:flex}.sidebar-nav button:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav button[aria-current=page]{background:var(--primary-tint);color:var(--primary-text);font-weight:700}.sidebar-nav svg{stroke:currentColor;flex-shrink:0}.sidebar-badge{background:var(--primary);color:var(--on-primary);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:flex}.tabbar{background:var(--surface);border-top:1px solid var(--divider);padding:8px 12px calc(12px + env(safe-area-inset-bottom));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));flex-shrink:0;display:flex;position:sticky;bottom:0}.tabbar button{color:var(--text-faint);background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 4px;font-size:10px;font-weight:600;display:flex}.tabbar button[aria-current=page]{color:var(--primary-text);font-weight:700}.tabbar svg{stroke:currentColor}.mobile-add-bar{bottom:calc(72px + env(safe-area-inset-bottom));z-index:30;background:0 0;position:sticky}.notifications-fab{right:calc(16px + env(safe-area-inset-right));bottom:calc(90px + env(safe-area-inset-bottom));z-index:40;position:fixed}@media (width<=899px){.shell:has(.mobile-add-bar) .notifications-fab{bottom:calc(164px + env(safe-area-inset-bottom))}}@media (width>=900px){.notifications-fab{bottom:16px}}.btn{border-radius:var(--r-field);background:var(--primary);height:50px;color:var(--on-primary);border:none;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:15px;font-weight:700;transition:background .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled,.btn-sm:disabled,.btn-square:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-outline{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}.btn-outline:hover:not(:disabled){background:var(--surface-2)}.btn-sm{border-radius:var(--r-pill);background:var(--surface-2);height:auto;color:var(--text);border:none;padding:8px 14px;font-size:12.5px;font-weight:700}.btn-sm:hover:not(:disabled){background:var(--primary-tint);color:var(--primary-text)}.btn-sm.primary{background:var(--primary);color:var(--on-primary)}.btn-sm.primary:hover:not(:disabled){background:var(--primary-hover)}.btn-sm.danger{background:var(--danger);color:var(--on-primary)}.btn-sm.danger:hover:not(:disabled){filter:brightness(.92)}.btn-square{background:var(--surface-2);width:38px;height:38px;color:var(--text);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn-square:hover:not(:disabled){background:var(--primary-tint);color:var(--primary-text)}.btn-square.solid{background:var(--primary);color:var(--on-primary)}.btn-square.solid:hover:not(:disabled){background:var(--primary-hover)}.action-menu-list{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-field);min-width:170px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:4px;display:flex;position:fixed}.action-menu-list button{text-align:left;color:var(--text);background:0 0;border:none;border-radius:8px;padding:9px 10px;font-size:13.5px;font-weight:600}.action-menu-list button:hover:not(:disabled){background:var(--surface-2)}.info-tooltip{display:inline-flex;position:relative}.info-tooltip-trigger{width:18px;height:18px;color:var(--text-faint);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{color:var(--text-soft)}.info-tooltip-panel{z-index:30;border-radius:var(--r-field);background:var(--surface);border:1px solid var(--border);width:240px;box-shadow:var(--shadow-md);color:var(--text-soft);opacity:0;visibility:hidden;pointer-events:none;padding:10px 12px;font-size:12.5px;font-weight:500;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.info-tooltip:hover .info-tooltip-panel,.info-tooltip:focus-within .info-tooltip-panel{opacity:1;visibility:visible;transform:translate(-50%)}.action-menu-list button:disabled{opacity:.5;cursor:default}.action-menu-list button.danger{color:var(--danger)}.field{display:block}.field>span{color:var(--text-soft);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.input{border-radius:var(--r-field);border:1.5px solid var(--border);background:var(--surface);width:100%;height:48px;color:var(--text);padding:0 16px;font-size:15px}.input:focus{border-color:var(--primary)}.input::placeholder{color:var(--text-faint)}select.input{appearance:none}.input-sm{border-radius:12px;height:42px;font-size:14px}.qty-input{text-align:center;border:1.5px solid var(--border);background:var(--surface);width:36px;height:24px;color:var(--text);border-radius:6px;padding:0 4px;font-size:12px}@media (width<=899px){.input,.input-sm{font-size:16px}.qty-input{width:44px;height:30px;font-size:16px}}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dropdown{position:relative}.dropdown-trigger{border-radius:var(--r-field);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;height:48px;padding:0 14px;display:flex}.dropdown-trigger-label{color:var(--text);flex:1;font-size:15px;font-weight:600}.dropdown-trigger-label.muted{color:var(--text-soft)}.dropdown-chevron{opacity:.5;flex-shrink:0;transition:transform .15s}.dropdown-trigger.compact{border-radius:12px;gap:6px;width:auto;height:38px;padding:0 10px 0 6px}.dropdown-trigger.compact .dropdown-trigger-label{font-size:13px}.filter-tile{background:var(--surface-2);width:24px;height:24px;color:var(--text-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.filter-tile.filled{background:var(--primary-tint);color:var(--primary-text)}.filter-tile.payer{background:var(--primary);color:var(--on-primary);font-size:10px;font-weight:700}.dropdown-panel.compact{min-width:210px;left:0;right:auto}.dropdown-panel{z-index:41;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-field);box-shadow:var(--shadow-md);flex-direction:column;gap:1px;max-height:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.dropdown-row{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.dropdown-row.selected{background:var(--primary-tint)}.dropdown-row-label{color:var(--text);flex:1;font-size:14px;font-weight:600}.dropdown-row-label.muted{color:var(--text-soft)}.dropdown-row.selected .dropdown-row-label{color:var(--primary-text)}.dropdown-tile{background:var(--surface-2);width:28px;height:28px;color:var(--text-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.dropdown-tile.filled{background:var(--primary-tint);color:var(--primary-text)}.dropdown-tile-sm{background:var(--surface-2);width:26px;height:26px;color:var(--text-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.dropdown-tile-sm.filled{background:var(--primary);color:var(--on-primary)}.dropdown-tile .avatar,.dropdown-tile-sm .avatar{width:100%;height:100%;font-size:inherit;color:inherit;background:0 0}.datepicker-panel{width:288px;padding:10px;right:auto;overflow:visible}.datepicker-header{justify-content:space-between;align-items:center;padding:2px 2px 10px;display:flex}.datepicker-title{color:var(--text);text-transform:capitalize;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:14px;font-weight:700;display:flex}.datepicker-title:hover{background:var(--surface-2)}.datepicker-title svg{flex-shrink:0}.datepicker-nav{width:28px;height:28px;color:var(--text-soft);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.datepicker-nav:hover:not(:disabled){background:var(--surface-2)}.datepicker-nav:disabled{opacity:.3;cursor:default}.datepicker-weekdays{grid-template-columns:repeat(7,1fr);display:grid}.datepicker-weekdays span{text-align:center;color:var(--text-faint);padding-bottom:4px;font-size:11px;font-weight:600;display:block}.datepicker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepicker-day{width:32px;height:32px;color:var(--text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:13px;font-weight:600;display:flex}.datepicker-day:hover:not(:disabled){background:var(--surface-2)}.datepicker-day.muted{color:var(--text-faint)}.datepicker-day.today{color:var(--primary-text);box-shadow:inset 0 0 0 1.5px var(--primary);font-weight:700}.datepicker-day.selected{background:var(--primary);color:var(--on-primary)}.datepicker-day:disabled{opacity:.35;cursor:default}.datepicker-year-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.datepicker-year{height:38px;color:var(--text);background:0 0;border:none;border-radius:10px;font-size:13.5px;font-weight:600}.datepicker-year:hover:not(.selected){background:var(--surface-2)}.datepicker-year.selected{background:var(--primary);color:var(--on-primary);font-weight:700}.seg{background:var(--surface-2);border-radius:var(--r-pill);gap:2px;padding:4px;display:flex}.seg button{color:var(--text-soft);border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:none;flex:1;padding:9px 12px;font-size:13px;font-weight:700;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.tabs-underline{border-bottom:1px solid var(--divider);gap:22px;display:flex}.tabs-underline button{color:var(--text-faint);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 0 11px;font-size:13.5px;font-weight:700;transition:color .15s,border-color .15s}.tabs-underline button:hover{color:var(--text-soft)}.tabs-underline button[aria-selected=true]{color:var(--text);border-bottom-color:var(--primary)}.theme-row{text-align:left;width:100%;color:var(--text-soft);background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.theme-row:hover{background:var(--surface-2);color:var(--text)}.theme-row svg{stroke:currentColor;flex-shrink:0}.card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:16px;display:flex}.item{background:var(--surface);border-radius:var(--r-item);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.item>*,.item-flat>*{min-width:0}.item-flat{box-shadow:none;border-bottom:1px solid var(--divider-soft);background:0 0;border-radius:0;margin-bottom:3px;padding:10px 2px}.item-flat:last-child{border-bottom:none}.tappable{cursor:pointer;transition:transform .12s,box-shadow .12s}.tappable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tappable:active{transform:scale(.995)}.avatar{background:var(--surface-2);width:34px;height:34px;color:var(--text-soft);object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.avatar.stackable{border:2px solid var(--surface);width:26px;height:26px;margin-right:-8px;font-size:9px}.avatar.big{background:var(--primary);width:56px;height:56px;color:var(--on-primary);font-size:16px}.pill{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-soft);white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:700}.pill.accent{background:var(--primary-tint);color:var(--primary-text)}.pill.ink{background:var(--surface-2);color:var(--text)}.pill.danger{background:var(--danger-tint);color:var(--danger)}.pill.ghost{border:1px solid var(--border);color:var(--text-faint);background:0 0}.section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin:14px 0 8px;font-size:11px;font-weight:700}.chip-recurring{background:var(--surface-2);border-radius:var(--r-pill);color:var(--text);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px 7px 10px;font-family:inherit;display:inline-flex}.chip-recurring:hover:not(:disabled){background:var(--primary-tint)}.chip-recurring:disabled{opacity:.6;cursor:default}.chip-recurring-label{font-size:12.5px;font-weight:700}.chip-recurring-badge{border-radius:var(--r-pill);background:var(--primary);min-width:18px;height:18px;color:var(--on-primary);justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;font-weight:800;display:flex}.sheet-backdrop{z-index:50;background:#0a0e0c6b;animation:.15s pfade;position:fixed;inset:0}.side-panel{background:var(--surface);z-index:51;flex-direction:column;width:380px;max-width:100%;animation:.2s panel-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 44px #171b1929}.side-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:22px 22px 0;display:flex}.side-panel-header h3{margin:0;font-size:18px;font-weight:800}.side-panel-hint{color:var(--text-soft);flex-shrink:0;margin:0;padding:8px 22px 0;font-size:12.5px}.side-panel-body{flex-direction:column;flex:1;gap:10px;padding:14px 22px 22px;display:flex;overflow-y:auto}.sheet-handle{display:none}@keyframes panel-slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes sheet-slide-up{0%{opacity:0;transform:translateY(16px)}}@media (width<=899px){.side-panel{border-radius:20px 20px 0 0;width:auto;max-height:78%;animation:.2s sheet-slide-up;top:auto;left:0;right:0;box-shadow:0 -18px 44px #171b192e}.side-panel-header,.side-panel-hint{padding:6px 20px 0}.side-panel-body{padding:10px 20px 20px}.sheet-handle{flex-shrink:0;justify-content:center;padding:10px 0 4px;display:flex}.sheet-handle span{border-radius:var(--r-pill);background:#171b1926;width:36px;height:4px}}.recurring-card{background:var(--surface-2);border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.recurring-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recurring-card-payer{align-items:center;gap:10px;min-width:0;display:flex}.recurring-card-desc{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.recurring-card-amount{white-space:nowrap;flex-shrink:0;font-size:15px;font-weight:800}.recurring-card-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.recurring-card-next{color:var(--primary-text);background:var(--primary-tint);border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.balance-summary-bar{background:var(--surface);width:calc(100% - 40px);box-shadow:var(--shadow-sm);color:var(--text);text-align:left;cursor:pointer;border:none;border-radius:14px;align-items:center;gap:10px;margin:0 20px 10px;padding:10px 12px;font-family:inherit;display:flex}.balance-summary-avatars{flex-shrink:0;display:flex}.balance-summary-label{flex:1;font-size:12.5px;font-weight:700}.muted{color:var(--text-soft)}.name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.empty{text-align:center;color:var(--text-faint);padding:28px 4px;font-size:13px}.skeleton{background:var(--surface-2);border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--shine,#ffffff59), transparent);animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}html[data-theme=dark] .skeleton{--shine:#ffffff0f}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-line{border-radius:6px;height:12px}.skeleton-line.title{width:45%;height:16px}.skeleton-line.short{width:35%}.skeleton-line.wide{width:70%}.skeleton-inline{vertical-align:middle;border-radius:4px;width:72px;height:10px;display:inline-block}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:34px;height:34px}.skeleton-item{background:var(--surface);border-radius:var(--r-item);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.skeleton-item .stack{flex:1;gap:8px}.people{flex-wrap:wrap;gap:12px;display:flex}.person{width:74px;color:var(--text-soft);background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;padding:0;display:flex}.person .disc{background:var(--surface-2);width:54px;height:54px;color:var(--text-soft);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:flex;position:relative}.person:hover .disc{box-shadow:0 0 0 3px var(--primary-tint)}.person .disc .avatar{width:100%;height:100%;color:inherit;background:0 0;font-size:15px}.person .label{text-align:center;font-size:11.5px;line-height:1.25}.person[aria-pressed=true]{color:var(--text)}.person[aria-pressed=true] .label{font-weight:700}.person[aria-pressed=true] .disc{background:var(--primary);color:var(--on-primary)}.person .tick{background:var(--primary);border:2px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:none;position:absolute;bottom:-2px;right:-2px}.person[aria-pressed=true] .tick{display:flex}.checkbox-list{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;padding:2px 14px}.check-row{cursor:pointer;border-bottom:1px solid var(--divider);align-items:center;gap:12px;min-height:46px;padding:12px 0;display:flex}.check-row:last-child{border-bottom:none}.box{border:1.5px solid var(--border);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.box.on{background:var(--primary);border-color:var(--primary)}.box svg{display:none}.box.on svg{display:block}.grid-cards,.grid-money{grid-template-columns:1fr;gap:12px;display:grid}.grid-two{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.pane{flex-direction:column;gap:10px;min-width:0;display:flex}.auth{grid-template-columns:1fr;min-height:100dvh;display:grid}.auth-brand{display:none}.auth-form{justify-content:center;align-items:center;padding:62px 26px 40px;display:flex;position:relative}.auth-inner{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e0c80;justify-content:center;align-items:center;padding:20px;animation:.15s pfade;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;gap:14px;padding:22px;animation:.18s ppop;display:flex}.dialog h3{font-size:18px;font-weight:800}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.legal-panel{max-width:640px;max-height:85vh}.legal-panel-body{padding-right:4px;overflow-y:auto}.toast{z-index:60;background:var(--text);max-width:min(420px,100% - 40px);color:var(--bg);border-radius:var(--r-pill);text-align:center;box-shadow:var(--shadow-lg);padding:14px 22px;font-size:13px;font-weight:700;animation:.18s ppop;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}@keyframes pfade{0%{opacity:0}}@keyframes ppop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.fade-in{animation:.18s pfade}.boot-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.boot-spinner{border:3px solid var(--primary-tint);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite bspin}@keyframes bspin{to{transform:rotate(360deg)}}@media (width>=700px){.grid-cards{grid-template-columns:repeat(2,1fr)}.page{padding-left:calc(24px + env(safe-area-inset-left));padding-right:calc(24px + env(safe-area-inset-right))}}@media (width<=899px){.desktop-only{display:none!important}}@media (width>=900px){.mobile-only{display:none!important}.shell{flex-direction:row;height:100dvh}.main{height:100dvh}.tabbar{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--divider);flex-direction:column;flex-shrink:0;gap:22px;width:272px;padding:26px 18px;display:flex}.topbar{padding:30px 40px 18px}.topbar h1{font-size:28px}.topbar h2{font-size:22px}.page{max-width:1120px;margin:0 auto;padding:0 40px 40px}.grid-two{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);align-items:start;gap:20px}.col-narrow{max-width:720px}.grid-money{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{padding:18px}.pane{display:flex!important}.auth{grid-template-columns:1.05fr 1fr}.auth-brand{background:var(--primary);color:var(--on-primary);flex-direction:column;justify-content:space-between;padding:46px 44px;display:flex}.auth-form{padding:40px}.auth-inner{max-width:400px}.toast{bottom:32px;left:auto;right:32px;transform:none}.dialog{max-width:460px}}@media (width>=1240px){.grid-cards{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}
