@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-root: #1c1c1c;--bg-surface: #242424;--bg-elevated: #2e2e2e;--bg-overlay: rgba(0, 0, 0, .75);--bg-input: rgba(255, 255, 255, .05);--bg-input-hover: rgba(255, 255, 255, .08);--accent: #3ecf8e;--accent-hover: #36b87e;--accent-soft: rgba(62, 207, 142, .2);--accent-softer: rgba(62, 207, 142, .1);--accent-border: rgba(62, 207, 142, .5);--danger: #ff7676;--danger-soft: rgba(255, 118, 118, .15);--danger-border: rgba(255, 118, 118, .4);--text-primary: #ffffff;--text-secondary: #c2c2c2;--text-muted: #999999;--text-accent: #4ade80;--text-danger: #ffc5c5;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .14);--border-focus: rgba(62, 207, 142, .5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-full: 999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .72rem;--text-sm: .82rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.4rem;--text-2xl: clamp(1.5rem, 4vw, 2rem);--text-3xl: clamp(1.8rem, 5vw, 2.4rem);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .35);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .4);--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .28s ease;--chart-1: #3ecf8e;--chart-2: #8a90ff;--chart-3: #da8c00;--chart-4: #2fb8c9;--chart-5: #c26cff;--chart-6: #ff5c9a;--status-credit: #4ade80;--status-settled: #c2c2c2;--status-due: #ffb866;--status-overdue: #ff7676;--status-danger: #ff7676;--z-toast: 9999;--z-modal: 9000;--z-dropdown: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);background:var(--bg-root);color:var(--text-primary);line-height:1.5;overflow-x:hidden;min-height:100dvh}input,select,textarea,button{font-family:inherit;font-size:inherit}a{color:var(--text-accent);text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.empty-state{color:var(--text-muted);font-size:var(--text-sm);padding:var(--spacing-lg) 0;text-align:center}.shell{display:flex;flex-direction:column;min-height:100dvh;max-width:480px;margin:0 auto;padding:0 var(--spacing-lg);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.shell--centered{justify-content:center;align-items:center;text-align:center}.topbar{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-xl) 0 var(--spacing-md);gap:var(--spacing-md)}.topbar__copy{display:flex;flex-direction:column;gap:2px}.topbar__copy h1{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.topbar__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.eyebrow{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.locale-switch--compact{display:flex;align-items:center;gap:var(--spacing-xs)}.locale-switch__buttons{display:flex;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);overflow:hidden}.locale-switch__buttons button{padding:4px 10px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.locale-switch__buttons button.is-active{color:var(--bg-root);background:var(--accent)}.locale-switch__buttons button:disabled{opacity:.5;cursor:not-allowed}.app-context-row{display:flex;padding:0 0 var(--spacing-md)}.app-context-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.content-stack{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-xl)}.app-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px)}.nav-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:480px;margin:0 auto}.nav-grid button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) var(--spacing-xs);background:transparent;border:none;color:var(--text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:color var(--transition-fast);position:relative}.nav-grid button.is-active{color:var(--accent)}.nav-grid button.is-active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--accent);border-radius:0 0 2px 2px}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px var(--spacing-lg);min-height:40px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;text-decoration:none}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{background:var(--accent);color:#111;border-color:var(--accent)}.ui-button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-button--secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border)}.ui-button--secondary:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-input-hover)}.ui-button--danger{background:var(--danger-soft);color:var(--text-danger);border-color:var(--danger-border)}.ui-button--danger:hover:not(:disabled){background:#f75f5f2e}.ui-button--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.ui-button--ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-input)}.ui-button--icon{padding:var(--spacing-sm);min-height:32px;background:transparent;color:var(--text-secondary);border-color:transparent;border-radius:var(--radius-sm)}.ui-button--icon:hover:not(:disabled){color:var(--text-primary);background:var(--bg-input)}.ui-button--sm{padding:6px 12px;min-height:32px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.ui-button--very-left{padding-left:0!important;margin-left:-4px}.ui-button--lg{padding:14px 24px;min-height:48px;font-size:var(--text-base)}.ui-button__spinner{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-input{display:block;width:100%;padding:10px var(--spacing-md);min-height:40px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);transition:border-color var(--transition-fast),background var(--transition-fast);outline:none}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover{background:var(--bg-input-hover);border-color:var(--border-hover)}.ui-input:focus{border-color:var(--border-focus);background:var(--bg-input-hover)}.ui-input[aria-invalid=true]{border-color:var(--danger)}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-textarea{resize:vertical;min-height:80px}.ui-select{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;min-height:40px;padding:10px var(--spacing-md);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);outline:none;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.ui-select__value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select:focus{border-color:var(--border-focus);background:var(--bg-input-hover)}.ui-select[data-expanded]{border-color:var(--border-focus);background:var(--bg-input-hover)}.ui-select:hover:not(:disabled){background:var(--bg-input-hover);border-color:var(--border-hover)}.ui-select__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.ui-select[data-expanded] .ui-select__icon{transform:rotate(180deg);color:var(--text-secondary)}.ui-select:disabled{opacity:.5;cursor:not-allowed}.ui-select__content{z-index:260;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;transform-origin:var(--kb-select-content-transform-origin)}.ui-select__listbox{list-style:none;margin:0;padding:var(--spacing-xs);max-height:min(280px,40dvh);overflow-y:auto}.ui-select__item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;min-height:40px;padding:10px var(--spacing-md);border-radius:calc(var(--radius-md) - 2px);color:var(--text-primary);cursor:pointer;outline:none;transition:background var(--transition-fast),color var(--transition-fast)}.ui-select__item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__item-indicator{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.ui-select__item[data-highlighted]{background:var(--bg-input-hover)}.ui-select__item[data-selected]{background:var(--accent-soft);color:var(--text-primary)}.ui-select__item[data-disabled]{color:var(--text-muted);cursor:not-allowed}.ui-toggle{display:flex;align-items:center;gap:var(--spacing-sm)}.ui-toggle__track{position:relative;width:40px;height:22px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.ui-toggle[data-checked] .ui-toggle__track{background:var(--accent);border-color:var(--accent)}.ui-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-primary);border-radius:50%;transition:transform var(--transition-fast)}.ui-toggle[data-checked] .ui-toggle__thumb{transform:translate(18px)}.ui-toggle__label{font-size:var(--text-sm);color:var(--text-secondary)}.ui-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;background:var(--accent-soft);color:var(--accent);border:none;cursor:default}.ui-badge--muted{background:var(--bg-elevated);color:var(--text-secondary)}.ui-badge--accent{background:var(--accent-soft);color:var(--accent)}.ui-badge--danger{background:var(--danger-soft);color:var(--text-danger)}.mini-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--accent-soft);color:var(--accent)}.mini-chip--muted{background:var(--bg-elevated);color:var(--text-secondary)}.ui-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:border-color var(--transition-fast);overflow:hidden}.ui-card--accent{border-color:var(--accent-border);background:linear-gradient(135deg,var(--accent-softer) 0%,var(--bg-surface) 100%)}.ui-card--muted{background:var(--bg-root);border-color:var(--border)}.ui-card--wide{margin-left:calc(-1 * var(--spacing-lg));margin-right:calc(-1 * var(--spacing-lg));border-radius:0;border-left:0;border-right:0}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-card__icon{color:var(--accent);margin-bottom:var(--spacing-xs)}.stat-card__label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-card__value{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.ui-collapsible{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ui-collapsible__trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-lg);background:transparent;border:none;color:var(--text-primary);cursor:pointer;text-align:left;gap:var(--spacing-md)}.ui-collapsible__trigger:hover{background:var(--bg-input)}.ui-collapsible__copy{display:flex;flex-direction:column;gap:2px}.ui-collapsible__copy strong{font-size:var(--text-sm);font-weight:600}.ui-collapsible__copy p{font-size:var(--text-xs);color:var(--text-muted)}.ui-collapsible__chevron{color:var(--text-muted);flex-shrink:0;transition:transform var(--transition-base)}.ui-collapsible[data-expanded] .ui-collapsible__chevron{transform:rotate(180deg)}.ui-collapsible__content{padding:0 var(--spacing-lg) var(--spacing-lg);overflow:hidden;animation:collapsible-slide-down var(--transition-base)}@keyframes collapsible-slide-down{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.ui-skeleton{background:var(--bg-elevated);border-radius:var(--radius-sm);animation:skeleton-shimmer 1.5s ease infinite}@keyframes skeleton-shimmer{0%,to{opacity:.5}50%{opacity:.2}}.ui-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ui-field--wide{grid-column:1 / -1}.ui-field__label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ui-field__hint{font-size:var(--text-xs);color:var(--text-muted)}.modal-backdrop{position:fixed;inset:0;z-index:200;background:var(--bg-overlay);display:flex;align-items:flex-end;justify-content:center;animation:modal-backdrop-in var(--transition-base)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal-sheet{width:100%;max-width:480px;max-height:85dvh;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow-y:auto;animation:modal-sheet-in var(--transition-slow)}@keyframes modal-sheet-in{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-sheet__header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);position:sticky;top:0;background:var(--bg-surface);z-index:1}.modal-sheet__header [data-kb-dialog-title]{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.modal-sheet__header [data-kb-dialog-description]{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.modal-close-button{flex-shrink:0}.modal-sheet__body{padding:0 var(--spacing-xl) var(--spacing-lg)}.modal-sheet__footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl);border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--bg-surface)}.modal-action-row{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.modal-action-row--single{justify-content:space-between}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:380px){.editor-grid{grid-template-columns:1fr}}.hero-card{text-align:center;padding:var(--spacing-2xl);max-width:320px}.hero-card__meta{margin-bottom:var(--spacing-md)}.hero-card h2{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--spacing-sm)}.hero-card p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.hero-card .nav-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pill{display:inline-flex;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--accent-soft);color:var(--accent)}.route--home{display:flex;flex-direction:column;gap:var(--spacing-md)}.home-hero{padding:var(--spacing-md) 0}.home-hero__greeting{font-size:var(--text-sm);color:var(--text-secondary)}.home-hero__name{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.balance-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.balance-card__header{display:flex;justify-content:space-between;align-items:center}.balance-card__label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.balance-card__amounts{display:flex;flex-direction:column;gap:var(--spacing-xs)}.balance-card__row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.balance-card__row--subtotal{padding-top:var(--spacing-xs);margin-top:var(--spacing-xs);border-top:1px dashed var(--border);font-weight:600}.balance-card__row--subtotal span{color:var(--text-secondary)!important}.balance-card__row--subtotal strong{color:var(--text-primary)}.balance-card__row span{color:var(--text-muted)}.balance-card__row strong{font-weight:600}.copyable-detail{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .15s ease}.copyable-detail:hover{background:#0000000a}.copyable-detail svg{opacity:.65;transition:opacity .12s ease,transform .12s ease,color .12s ease}.copyable-detail:hover svg{opacity:.9}.copyable-detail.is-copied svg{opacity:1;color:var(--status-credit);transform:scale(1.1)}.copyable-detail.is-copied{background:#22c55e1f}.balance-card__remaining{padding-top:var(--spacing-sm);margin-top:var(--spacing-sm);border-top:1px solid var(--border)}.balance-card__remaining span{font-size:var(--text-base);font-weight:700;color:var(--text-primary)!important}.balance-card__remaining strong{font-size:var(--text-lg);font-weight:800}.balance-card__remaining.is-credit strong{color:var(--status-credit)}.balance-card__remaining.is-settled strong{color:var(--status-settled)}.balance-card__remaining.is-due strong{color:var(--status-due)}.fx-card{display:flex;flex-direction:column;gap:var(--spacing-sm)}.fx-card__title{font-size:var(--text-sm);font-weight:600}.fx-card__row{display:flex;justify-content:space-between;font-size:var(--text-sm)}.fx-card__row span{color:var(--text-muted)}.fx-card__row--muted span,.fx-card__row--muted strong{color:var(--text-muted);font-weight:400}.activity-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-card__header{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.activity-card__list{display:flex;flex-direction:column}.activity-card__item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.activity-card__item:last-child{border-bottom:0}.activity-card__title{color:var(--text-primary);font-weight:500}.activity-card__amount{color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.activity-card__show-more{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-xs);background:none;border:none;border-radius:var(--radius-md);color:var(--accent);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.activity-card__show-more:hover{background:var(--bg-secondary)}.activity-card__show-more:active{background:var(--bg-tertiary);transform:translateY(1px)}.route--balances{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-md)}.section-header strong{font-size:var(--text-sm);font-weight:600}.section-header p{font-size:var(--text-xs);color:var(--text-muted)}.section-header svg{color:var(--accent);margin-bottom:var(--spacing-xs)}.member-balance-list{display:flex;flex-direction:column}.member-balance-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border)}.member-balance-row:last-child{border-bottom:0}.member-balance-row__name{font-size:var(--text-sm);font-weight:500}.member-balance-row__amounts{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.member-balance-row__due{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.member-balance-row__remaining{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.member-balance-row.is-credit .member-balance-row__remaining{color:var(--status-credit)}.member-balance-row.is-settled .member-balance-row__remaining{color:var(--status-settled)}.member-balance-row.is-due .member-balance-row__remaining{color:var(--status-due)}.balance-visuals{display:flex;flex-direction:column;gap:var(--spacing-sm)}.balance-bar-row{display:flex;align-items:center;gap:var(--spacing-sm)}.balance-bar-row__name{width:72px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-bar-row__track{display:flex;height:18px;border-radius:var(--radius-sm);overflow:hidden;flex:1;min-width:0}.balance-bar-row__segment{min-width:2px;transition:width var(--transition-slow)}.balance-bar-row__segment--rent{background:var(--chart-1)}.balance-bar-row__segment--utilities{background:var(--chart-3)}.balance-bar-row__segment--purchase-credit{background:var(--chart-2)}.balance-bar-row__segment--purchase-debit{background:var(--chart-4)}.balance-bar-row__label{font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.balance-bar-legend{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.balance-bar-legend__item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-xs);color:var(--text-muted)}.balance-bar-legend__item:before{content:"";width:8px;height:8px;border-radius:2px}.balance-bar-legend__item--rent:before{background:var(--chart-1)}.balance-bar-legend__item--utilities:before{background:var(--chart-3)}.balance-bar-legend__item--purchase:before{background:var(--chart-2)}.donut-chart{display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.donut-chart__svg{width:120px;height:120px;transform:rotate(-90deg);flex-shrink:0}.donut-chart__slice{transition:stroke-dasharray var(--transition-slow)}.donut-chart__total{fill:var(--text-primary);font-size:12px;font-weight:700;transform:rotate(90deg);transform-origin:50% 50%}.donut-chart__label{fill:var(--text-muted);font-size:7px;font-weight:500;transform:rotate(90deg);transform-origin:50% 50%}.donut-chart__legend{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:120px}.donut-chart__legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-xs)}.donut-chart__color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.donut-chart__legend-item strong{margin-left:auto;font-variant-numeric:tabular-nums}.route--ledger{display:flex;flex-direction:column;gap:var(--spacing-md)}.editable-list-actions{display:flex;justify-content:flex-end;padding-bottom:var(--spacing-sm)}.editable-list{display:flex;flex-direction:column}.editable-list-row{display:flex;justify-content:space-between;align-items:center;margin:0 calc(var(--spacing-lg) * -1);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border);background:transparent;border-left:0;border-right:0;border-top:0;color:inherit;text-align:left;width:calc(100% + var(--spacing-lg) * 2);cursor:pointer;transition:background var(--transition-fast)}.editable-list-row:hover:not(:disabled){background:var(--bg-input)}.editable-list-row:disabled{cursor:default}.editable-list-row:last-child{border-bottom:0}.editable-list-row__main{display:flex;flex-direction:column;gap:1px}.editable-list-row__title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.editable-list-row__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.editable-list-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.editable-list-row__meta strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.editable-list-row__secondary{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.route--settings{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.settings-header h2{font-size:var(--text-xl);font-weight:700}.settings-header p{font-size:var(--text-sm);color:var(--text-secondary)}.settings-profile{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-profile__row{display:flex;align-items:flex-start;gap:var(--spacing-md)}.settings-profile__row.interactive{margin:0 calc(var(--spacing-lg) * -1);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast)}.settings-profile__row.interactive:hover{background:var(--bg-input)}.settings-profile__row svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.settings-profile__row>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-profile__label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.settings-billing-summary{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.settings-row span{color:var(--text-muted)}.testing-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.testing-card__section{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--bg-root);border-radius:var(--radius-sm);font-size:var(--text-sm)}.testing-card__section span{color:var(--text-muted)}.testing-card__actions{display:flex;gap:var(--spacing-sm)}.balance-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.balance-item--accent{border-color:var(--accent-border)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(0);background:var(--text-primary);color:var(--bg-root);padding:12px 20px;border-radius:999px;font-size:var(--text-sm);font-weight:500;box-shadow:0 8px 24px #00000029;z-index:var(--z-toast);animation:toast-slide-up .2s ease-out;max-width:calc(100vw - 48px);text-align:center}.toast--success{background:var(--status-credit);color:#fff}.toast--info{background:var(--text-primary);color:var(--bg-root)}.toast--error{background:var(--status-danger);color:#fff}.toast__message{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
