:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "SF Mono", SFMono-Regular, ui-monospace, monospace;--text-display: clamp(2rem, 1.4rem + 2.4vw, 3rem);--text-headline: clamp(1.375rem, 1.15rem + .9vw, 1.75rem);--text-title: 1.0625rem;--text-body: .9375rem;--text-callout: .875rem;--text-caption: .8125rem;--text-footnote: .75rem;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--tracking-tight: -.022em;--tracking-snug: -.012em;--tracking-wide: .05em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--bg: #F2F4F7;--bg-elevated: #FFFFFF;--bg-subtle: #F8F9FB;--bg-inset: #E8ECF2;--text-primary: #0B1B33;--text-secondary: #4A5769;--text-tertiary: #606B7A;--text-inverse: #FFFFFF;--border: rgba(11, 27, 51, .08);--border-strong: rgba(11, 27, 51, .14);--separator: rgba(11, 27, 51, .05);--accent: #002157;--accent-soft: rgba(0, 33, 87, .08);--accent-hover: #003C8F;--accent-contrast: #FFFFFF;--brand-red: #E4002B;--brand-red-soft: rgba(228, 0, 43, .1);--brand-mark-from: #002157;--brand-mark-to: #E4002B;--success: #1DA45A;--success-text: #0F6B39;--success-soft: rgba(29, 164, 90, .12);--warning: #E8850C;--warning-text: #9A4A08;--warning-soft: rgba(232, 133, 12, .12);--danger: #E5342A;--danger-text: #B3261E;--danger-soft: rgba(229, 52, 42, .12);--purple: #8B5CF6;--purple-text: #7C3AED;--purple-soft: rgba(139, 92, 246, .12);--teal: #0EA5B7;--teal-text: #0E7490;--teal-soft: rgba(14, 165, 183, .12);--pink: #DB2777;--pink-soft: rgba(219, 39, 119, .12);--funding-personal: var(--accent);--funding-personal-text: var(--accent);--funding-personal-soft: var(--accent-soft);--funding-other: #1D6FE0;--funding-other-text: #1A5FBF;--funding-other-soft: rgba(29, 111, 224, .12);--funding-outside: var(--warning);--cadence-recurring: #3F5C93;--cadence-recurring-soft: rgba(63, 92, 147, .12);--cadence-counted: #4E5A70;--cadence-counted-soft: rgba(78, 90, 112, .12);--cadence-once: #59606E;--cadence-once-soft: rgba(89, 96, 110, .12);--funding-outside-text: var(--warning-text);--funding-outside-soft: var(--warning-soft);--series-1: #1E5AA8;--series-2: #E8850C;--series-3: #8B5CF6;--series-4: #0EA5B7;--series-5: #DB2777;--series-6: #1DA45A;--series-7: #6366F1;--series-8: #B45309;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 8px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.02);--shadow-md: 0 4px 16px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.03);--shadow-lg: 0 12px 40px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);--shadow-xl: 0 24px 60px rgba(0,0,0,.12), 0 8px 20px rgba(0,0,0,.06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--sweep-ease: cubic-bezier(.33, 0, .15, 1);--sweep-duration: .72s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 64px}button,input,select,textarea,optgroup{font-family:inherit}:root.dark{--bg: #080D17;--bg-elevated: #121A28;--bg-subtle: #0D1421;--bg-inset: #1A2434;--text-primary: #EEF2F8;--text-secondary: #93A1B8;--text-tertiary: #8B98AD;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--separator: rgba(255, 255, 255, .06);--accent: #6BA5FF;--accent-soft: rgba(107, 165, 255, .16);--accent-hover: #8CBAFF;--accent-contrast: #08101F;--brand-red: #FF4D6A;--brand-red-soft: rgba(255, 77, 106, .16);--success: #34D073;--success-text: #34D073;--success-soft: rgba(52, 208, 115, .18);--warning: #FFA726;--warning-text: #FFA726;--warning-soft: rgba(255, 167, 38, .18);--danger: #FF5B52;--danger-text: #FF5B52;--danger-soft: rgba(255, 91, 82, .18);--purple: #A78BFA;--purple-text: #A78BFA;--purple-soft: rgba(167, 139, 250, .18);--teal: #22D3EE;--teal-text: #22D3EE;--teal-soft: rgba(34, 211, 238, .18);--pink: #F472B6;--pink-soft: rgba(244, 114, 182, .18);--funding-other: #4FD1E8;--funding-other-text: #4FD1E8;--funding-other-soft: rgba(79, 209, 232, .18);--cadence-recurring: #9DB6E8;--cadence-recurring-soft: rgba(157, 182, 232, .16);--cadence-counted: #A6B2C4;--cadence-counted-soft: rgba(166, 178, 196, .16);--cadence-once: #98A0AE;--cadence-once-soft: rgba(152, 160, 174, .16);--series-1: #6BA5FF;--series-2: #FFA726;--series-3: #A78BFA;--series-4: #22D3EE;--series-5: #F472B6;--series-6: #34D073;--series-7: #818CF8;--series-8: #FBBF24;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 2px 8px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.2);--shadow-lg: 0 12px 40px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.3)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);line-height:1.5;min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-display{font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.text-headline{font-size:var(--text-headline);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--leading-tight)}.text-title{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--leading-snug)}.text-body{font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal)}.text-callout{font-size:var(--text-callout);font-weight:var(--weight-medium);line-height:1.4}.text-caption{font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.4;color:var(--text-secondary)}.text-footnote{font-size:var(--text-footnote);font-weight:var(--weight-semibold);line-height:1.4;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.text-note{font-size:var(--text-footnote);font-weight:var(--weight-regular);line-height:1.5;color:var(--text-secondary)}.text-display,.text-headline,.metric-value,.money,.chart-value,strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--bg);transition:grid-template-columns var(--duration-slow) var(--ease-out)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-4);background:var(--bg-elevated);border-right:1px solid var(--border);overflow-y:auto;z-index:10}.main-area{min-width:0;padding:var(--space-6) var(--space-8);max-width:1440px;margin:0 auto;width:100%}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3)}.card-body{padding:var(--space-3) var(--space-5) var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--separator);background:var(--bg-subtle);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.metric-card{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.metric-card.tone-positive:before{background:var(--success)}.metric-card.tone-negative:before{background:var(--danger)}.metric-card.tone-warning:before{background:var(--warning)}.metric-card.tone-accent:before{background:var(--accent)}.metric-card.tone-positive{background:linear-gradient(90deg,var(--success-soft),transparent 60%),var(--bg-elevated)}.metric-card.tone-negative{background:linear-gradient(90deg,var(--danger-soft),transparent 60%),var(--bg-elevated)}.metric-card.tone-warning{background:linear-gradient(90deg,var(--warning-soft),transparent 60%),var(--bg-elevated)}.metric-card.tone-accent{background:linear-gradient(90deg,var(--accent-soft),transparent 60%),var(--bg-elevated)}.metric-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.metric-value{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);line-height:var(--leading-tight)}.metric-value.positive{color:var(--success-text)}.metric-value.negative{color:var(--danger-text)}.metric-value.warning{color:var(--warning-text)}.metric-value.accent{color:var(--accent)}.metric-delta{font-size:.8125rem;font-weight:600;color:var(--text-tertiary);margin-top:auto;padding-top:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}.btn-danger{background:var(--danger-soft);color:var(--danger-text)}.btn-danger:hover{background:#ff3b3026}.btn-icon{width:36px;padding:0;border-radius:var(--radius-md)}.btn-sm{height:32px;padding:0 var(--space-3);font-size:.8125rem}.btn-lg{height:44px;padding:0 var(--space-6);font-size:.9375rem}.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.01em}.badge-neutral{background:var(--bg-inset);color:var(--text-secondary)}.badge-info{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success-text)}.badge-warning{background:var(--warning-soft);color:var(--warning-text)}.badge-danger{background:var(--danger-soft);color:var(--danger-text)}.progress-track{width:100%;height:6px;background:var(--bg-inset);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:var(--accent);transition:width var(--duration-slow) var(--ease-out)}.progress-fill.success{background:var(--success)}.progress-fill.warning{background:var(--warning)}.progress-fill.danger{background:var(--danger)}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{transition:stroke-dashoffset var(--duration-slow) var(--ease-out)}.input,.select,.textarea{width:100%;height:40px;padding:0 var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;line-height:1.45;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);outline:none}.input[type=number],.input[inputmode=decimal]{font-variant-numeric:tabular-nums}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{height:auto;min-height:100px;padding:var(--space-3);resize:vertical}.label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.table-container{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{position:sticky;top:0;background:var(--bg-subtle);padding:var(--space-3) var(--space-4);text-align:left;font-size:.75rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--separator);color:var(--text-primary);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--duration-fast)}.data-table tbody tr:hover{background:var(--bg-subtle)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:var(--space-5);animation:fadeIn var(--duration-normal) var(--ease-out)}.modal{width:min(640px,100%);max-height:calc(100vh - var(--space-10));overflow:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-6);animation:slideUp var(--duration-normal) var(--ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-secondary)}.empty-state-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--bg-subtle);display:grid;place-items:center;color:var(--text-tertiary);margin-bottom:var(--space-2)}.notice-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);background:var(--accent-soft);border:1px solid rgba(0,113,227,.15);border-radius:var(--radius-md);color:var(--accent);font-size:.875rem;font-weight:500;animation:slideDown var(--duration-normal) var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.top-header{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:start;margin-bottom:var(--space-8)}.nav-brand{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);margin-bottom:var(--space-2);border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nav-brand:hover{background:var(--bg-inset);border-color:var(--border)}.nav-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-brand:active .brand-icon{transform:scale(.94)}.brand-icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0;overflow:hidden;box-shadow:var(--shadow-sm);background:#14264f;transition:transform var(--duration-fast) var(--ease-out)}.nav-brand:hover .brand-icon{transform:scale(1.04)}.brand-chevron{display:grid;place-items:center;margin-left:auto;color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-out)}.nav-brand:hover .brand-chevron{color:var(--text-primary)}.sidebar-collapsed .brand-chevron{display:none}.sidebar-collapsed .nav-brand{justify-content:center;padding:var(--space-2) 0}@media(prefers-reduced-motion:reduce){.nav-brand,.brand-icon,.brand-chevron{transition:none}.nav-brand:hover .brand-icon,.nav-brand:active .brand-icon{transform:none}}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-text strong{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.brand-text span{font-size:.75rem;font-weight:500;color:var(--text-tertiary)}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:var(--space-3) var(--space-3) var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--duration-fast);border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-item.active{background:var(--brand-mark-from);color:#fff;box-shadow:var(--shadow-sm)}.nav-item.active .nav-icon{color:var(--brand-mark-to);opacity:1}:root.dark .nav-item.active{background:#fff;color:var(--brand-mark-from)}.nav-item .nav-icon{width:20px;height:20px;opacity:.7}.nav-item.active .nav-icon{opacity:1}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.dashboard-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.dashboard-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-5)}.dashboard-row-reverse{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-5)}@media(max-width:1200px){.dashboard-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-row,.dashboard-row-reverse{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.main-area{padding:var(--space-4)}.dashboard-hero,.top-header{grid-template-columns:minmax(0,1fr)}}.sync-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:.75rem;font-weight:600;white-space:nowrap}.sync-status-success{color:var(--success-text);background:var(--success-soft);border-color:transparent}.sync-status-neutral{color:var(--text-secondary);background:var(--bg-inset);border-color:transparent}.sync-status-warning{color:var(--warning-text);background:var(--warning-soft);border-color:transparent}.sync-status-danger{color:var(--danger-text);background:var(--danger-soft);border-color:transparent}.sync-status-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:24px;padding:4px 10px;border:none;border-radius:var(--radius-full);background:#0000000f;color:inherit;font-size:.6875rem;font-weight:600;cursor:pointer}:root.dark .sync-status-action{background:#ffffff1a}.sync-status-action:disabled{opacity:.5;cursor:default}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.sr-only{position:absolute;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){.spin{animation:none}}.segmented{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:var(--bg-inset);border-radius:var(--radius-md)}.segmented-item{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.segmented-item:hover{color:var(--text-primary)}.segmented-item.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-xs)}.segmented-count{padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-inset);color:var(--text-secondary);font-size:.6875rem;font-weight:600}.segmented-item.active .segmented-count{background:var(--accent-soft);color:var(--accent)}.chip{padding:5px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.historical-banner-unlocked{background:linear-gradient(120deg,#7a0018,#a3001f 55%,#e4002b);border-color:#e4002b;color:#fff}.historical-banner-unlocked:before{background:#fff}.historical-banner-unlocked .btn{color:#fff}.modal-icon-warning{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger-text)}.modal-consequences{display:grid;gap:8px;margin:0;padding-left:18px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.historical-banner{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);margin-bottom:var(--space-6);overflow:hidden;background-color:#002157;background-image:linear-gradient(120deg,#001a46,#002157 52%,#0b3b7a);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);color:#eaf1fc;font-size:.875rem;font-weight:600;pointer-events:none}.historical-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e4002b}.historical-banner .btn,.historical-banner button,.historical-banner a{pointer-events:auto}.historical-banner .btn{margin-left:auto}.historical-banner>svg{flex:0 0 auto}@media(max-width:560px){.historical-banner{flex-wrap:wrap;padding:var(--space-3) var(--space-4)}.historical-banner>span{flex:1 1 100%}.historical-banner .btn{margin-left:0}}.historical-banner .btn-ghost{color:#eaf1fc;border-color:#ffffff4d}.historical-banner .btn-ghost:hover{background:#ffffff1f}.historical-period{position:relative}.historical-period:before{content:"";position:absolute;inset:var(--space-3);border:1px dashed color-mix(in srgb,var(--warning) 45%,transparent);border-radius:var(--radius-xl);pointer-events:none;z-index:0}.historical-period>*{position:relative}.section-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-8) 0 var(--space-5)}.section-divider:after{content:"";flex:1;height:1px;background:var(--separator)}.section-divider-text{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);white-space:nowrap}.health-score{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--success) var(--score-deg),var(--bg-inset) var(--score-deg));position:relative}.health-score:after{content:attr(data-score);position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:var(--bg-elevated);border-radius:50%;display:grid;place-items:center;font-size:.875rem;font-weight:700}.item-list{display:flex;flex-direction:column;gap:var(--space-2)}.item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-md);transition:background var(--duration-fast),transform var(--duration-fast);flex-wrap:wrap;min-width:0}.item-row>*{min-width:0}.item-row:hover{background:var(--bg-inset);transform:translate(2px)}@media(prefers-reduced-motion:reduce){.item-row:hover{transform:none}}.quick-add-bar{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--space-3);align-items:end;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.chart-container{width:100%;height:280px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:none;grid-template-columns:repeat(5,1fr);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:40}:root.dark .mobile-nav{background:#0c0e12d9}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2);color:var(--text-tertiary);font-size:.625rem;font-weight:600;border:none;background:transparent}.mobile-nav-item.active{color:var(--accent)}.mobile-more-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#00000059;display:flex;align-items:flex-end}.mobile-more-sheet{width:100%;background:var(--bg-elevated);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4) var(--space-4) calc(72px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg)}.mobile-more-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.mobile-more-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-4) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-secondary);font-size:.75rem;font-weight:600}.mobile-more-item.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}@media(max-width:768px){.mobile-nav{display:grid}.main-area{padding-bottom:80px}}.health-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-6);align-items:center;height:100%;align-content:center}@media(max-width:760px){.health-layout{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.health-layout>*:last-child{text-align:left;width:100%}}:root.dark .metric-card.tone-positive,:root.dark .metric-card.tone-negative,:root.dark .metric-card.tone-warning,:root.dark .tone-card-accent,:root.dark .tone-card-success,:root.dark .tone-card-warning,:root.dark .tone-card-danger{--text-secondary: #AEBACD;--text-tertiary: #9BA8BD}.tone-card-accent{background:linear-gradient(160deg,var(--accent-soft),transparent 70%),var(--bg-elevated)}.tone-card-success{background:linear-gradient(160deg,var(--success-soft),transparent 70%),var(--bg-elevated)}.tone-card-warning{background:linear-gradient(160deg,var(--warning-soft),transparent 70%),var(--bg-elevated)}.tone-card-danger{background:linear-gradient(160deg,var(--danger-soft),transparent 70%),var(--bg-elevated)}.tab-panel{animation:tabEnter .28s var(--ease-out);min-width:0}@keyframes tabEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tab-panel,.page-enter{animation:none}}.page-enter{animation:pageEnter .35s cubic-bezier(.16,1,.3,1);min-width:0}.page-enter:where([style*=grid]){grid-template-columns:minmax(0,1fr)}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-children>*{opacity:0;animation:pageEnter .3s ease-out forwards}.user-text{text-transform:none;letter-spacing:normal}:root{--transition-fast: .16s;--transition-medium: .28s}.modal-backdrop{display:grid;place-items:center;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c0f6b;z-index:60;animation:fadeIn .16s ease}.modal{width:min(880px,calc(100% - 40px));max-height:84vh;overflow:auto;padding:18px;border-radius:10px;box-shadow:var(--shadow-md);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-strong);transform:translateY(-6px);animation:slideUp var(--transition-medium) ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.category-row{display:grid;grid-template-columns:28px 1fr 120px 80px 36px;gap:8px;align-items:center;padding:6px;border-radius:8px;transition:background var(--transition-fast),transform var(--transition-fast)}.category-row:active{transform:scale(.997)}.drag-handle{display:grid;place-items:center;cursor:grab;color:var(--text-tertiary)}.category-row.drag-over{background:var(--accent-soft)}.changelog-list ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.changelog-item{display:flex;gap:12px;align-items:flex-start}.changelog-ts{color:var(--text-tertiary);font-size:.78rem;min-width:160px}.changelog-item pre.muted{margin:6px 0 0;color:var(--text-tertiary);font-size:.72rem;white-space:pre-wrap;word-break:break-word}@media(max-width:780px){.category-row{grid-template-columns:20px 1fr 80px 64px}.drag-handle{display:none}}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6) var(--space-4);background:var(--bg-subtle)}.auth-card{width:100%;max-width:420px;display:grid;gap:var(--space-4);padding:var(--space-6)}.auth-brand{display:flex;align-items:center;gap:var(--space-3)}.auth-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}.auth-title{margin:0;font-size:1.375rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.auth-field{display:grid;gap:6px}.auth-password{position:relative;display:block}.auth-password .input{width:100%;padding-right:44px}.auth-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-banner{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.45}.auth-banner svg{flex:none;margin-top:2px}.auth-banner-error{background:var(--danger-soft);color:var(--danger-text)}.auth-banner-ok{background:var(--success-soft);color:var(--success-text)}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2)}.auth-account{display:flex;align-items:center;gap:var(--space-2);min-width:0}.auth-account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}.panel-loading{display:grid;justify-items:center;align-content:center;gap:var(--space-3);min-height:320px;color:var(--text-secondary)}.panel-loading-bar{width:160px;height:3px;border-radius:var(--radius-full);background:var(--bg-inset);overflow:hidden;position:relative}.panel-loading-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;border-radius:inherit;background:var(--accent);animation:panelLoadingSlide 1.1s var(--ease-out) infinite}@keyframes panelLoadingSlide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.panel-loading-bar:after{animation:none;width:100%;opacity:.5}}.upcoming{display:grid;gap:var(--space-4)}.upcoming-days{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.upcoming-day-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:8px}.upcoming-day-label{font-size:var(--text-footnote);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.upcoming-day-rule{flex:1;height:1px;background:var(--separator)}.upcoming-items{list-style:none;margin:0;padding:0;display:grid;gap:2px}.upcoming-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:baseline;gap:var(--space-3);padding:7px 0}.upcoming-dot{width:8px;height:8px;border-radius:var(--radius-full);align-self:center}.upcoming-name{font-size:var(--text-callout);font-weight:var(--weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-cadence{color:var(--text-tertiary);grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.upcoming-cadence{white-space:normal;overflow-wrap:anywhere}}.upcoming-amount{grid-row:1 / span 2;grid-column:3;align-self:center;font-size:var(--text-callout);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.upcoming-note{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);margin:0}.upcoming-undated>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0;font-size:var(--text-caption);color:var(--text-secondary);border-top:1px solid var(--separator)}.upcoming-undated>summary:hover{color:var(--text-primary)}.upcoming-undated[open]>summary{color:var(--text-primary)}.occurrence-choices{border:0;padding:0;margin:0;display:grid;gap:4px}.occurrence-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-callout);color:var(--text-primary)}.occurrence-choice:hover{background:var(--bg-subtle)}.occurrence-choice input{margin-top:3px;flex:none}.occurrence-choice .text-note{color:var(--text-secondary)}.occurrence-input{width:100%;margin:2px 0 6px 34px;max-width:calc(100% - 34px)}.upcoming-action{grid-row:1 / span 2;grid-column:4;align-self:center;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.upcoming-item{grid-template-columns:8px minmax(0,1fr) auto auto}.upcoming-item:hover .upcoming-action,.upcoming-action:focus-visible{opacity:1}@media(hover:none){.upcoming-action{opacity:1}}.scenario-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-4)}.scenario-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.scenario-card-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.scenario-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.scenario-name{margin:0;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.scenario-notes{margin:4px 0 0}.scenario-badge{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 8px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);font-size:var(--text-footnote);font-weight:var(--weight-semibold)}.scenario-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0}.scenario-figures dt{margin-bottom:2px}.scenario-figures dd{margin:0;font-size:var(--text-callout);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.scenario-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.scenario-confirm{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.scenario-diff{list-style:none;margin:0;padding:0;display:grid;gap:2px}.scenario-diff-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--separator)}.scenario-diff-label{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-callout);min-width:0;overflow-wrap:anywhere}.scenario-diff-dot{width:8px;height:8px;border-radius:var(--radius-full);flex:none}.scenario-diff-values{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.scenario-diff-before{color:var(--text-tertiary);text-decoration:line-through}.scenario-diff-after{color:var(--text-primary);font-weight:var(--weight-semibold)}.scenario-caps{display:grid;gap:6px;max-height:260px;overflow-y:auto;padding-right:4px}.scenario-cap-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:var(--space-3)}.scenario-cap-name{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-callout);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swipe-row{position:relative;overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y}.swipe-content{position:relative;z-index:1;background:var(--bg-elevated);transition:transform var(--duration-normal) var(--ease-out);will-change:transform}.swipe-panel{position:absolute;top:0;bottom:0;display:flex;align-items:stretch}.swipe-panel-trailing{right:0}.swipe-panel-leading{left:0}.swipe-action{display:grid;place-items:center;align-content:center;gap:4px;width:84px;border:0;cursor:pointer;padding:0 8px;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-footnote);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.swipe-action-destructive{background:var(--danger);color:#fff}.swipe-action-label{line-height:1.1;text-align:center}.swipe-action:focus-visible{outline:2px solid var(--text-primary);outline-offset:-4px}.swipe-row[data-open] .swipe-content{box-shadow:var(--shadow-md)}.swipe-row[data-armed] .swipe-panel{left:0;right:0;transition:none}.swipe-row[data-armed] .swipe-action:first-child{width:auto;flex:1}.swipe-row[data-armed] .swipe-action:not(:first-child){display:none}.swipe-row[data-armed] .swipe-panel-trailing .swipe-action:first-child{place-items:center end;padding-right:18px}.swipe-row[data-armed] .swipe-panel-leading .swipe-action:first-child{place-items:center start;padding-left:18px}.swipe-row[data-armed] .swipe-action:first-child .swipe-action-label{animation:armPulse .26s var(--ease-out)}@keyframes armPulse{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.swipe-content{transition:none}}@media(hover:hover)and (pointer:fine){.swipe-panel{display:none}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#080d178c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:var(--space-6)}.sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(86dvh,900px);background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.sheet-header,.sheet-footer{padding:var(--space-4) var(--space-5);background:var(--bg-elevated)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--separator)}.sheet-body{overflow-y:auto;padding:var(--space-5);display:grid;gap:var(--space-5);overscroll-behavior:contain}.sheet-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--separator)}@media(max-width:640px){.sheet-backdrop{padding:0}.sheet{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.sheet-footer{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.sheet-footer .btn{flex:1 1 auto}}.sheet-advanced{border-top:1px solid var(--separator);padding-top:var(--space-3)}.sheet-advanced>summary{cursor:pointer;padding:6px 0;font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--text-secondary);list-style:none;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.sheet-advanced>summary::-webkit-details-marker{display:none}.sheet-advanced>summary:before{content:"";width:6px;height:6px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transform-origin:60% 60%;transition:transform var(--duration-fast) var(--ease-out)}.sheet-advanced[open]>summary:before{transform:rotate(45deg)}@media(prefers-reduced-motion:reduce){.sheet-advanced>summary:before{transition:none}}.sheet-advanced>summary:hover,.sheet-advanced[open]>summary{color:var(--text-primary)}.sheet-advanced>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.sheet-advanced-body{display:grid;gap:var(--space-5);padding-top:var(--space-3)}.editable-row{cursor:pointer}.editable-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-panel-frame{min-width:0}.period-bar{position:relative;isolation:isolate;z-index:30;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:var(--space-5);padding:8px 10px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.period-bar:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#002157,#002157 55%,#e4002b)}.period-modes{display:inline-flex;gap:2px;padding:3px;margin-left:6px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-full)}.period-mode{border:0;border-radius:var(--radius-full);padding:6px 12px;min-height:30px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.period-mode:hover{color:var(--text-primary)}.period-mode:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-mode.active{background:var(--brand-mark-from);color:#fff;box-shadow:var(--shadow-xs)}:root.dark .period-mode.active{background:#fff;color:var(--brand-mark-from)}.period-nav{display:flex;align-items:center;gap:4px;min-width:0}.period-step{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.period-step:hover{background:var(--bg-inset);color:var(--text-primary)}.period-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-step:disabled{opacity:.4;cursor:not-allowed}.period-current{display:grid;gap:1px;min-width:0;padding:4px 10px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;grid-template-areas:"label chevron" "range range";grid-template-columns:minmax(0,max-content) auto;justify-content:start;align-items:center}.period-current:hover{background:var(--bg-inset)}.period-current:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-current-label{grid-area:label;font-size:.9375rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-current-range{grid-area:range;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0}.period-current-chevron{grid-area:chevron;margin-left:8px;color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.period-current[aria-expanded=true] .period-current-chevron{transform:rotate(180deg)}.period-flag{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--radius-full);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning-text);font-size:.6875rem;font-weight:700;white-space:nowrap}.period-now{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}.period-today{color:var(--text-tertiary);text-transform:none;letter-spacing:0;white-space:nowrap}.period-jump{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.period-jump:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.period-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-jump:disabled{opacity:.45;cursor:not-allowed}.period-panel{position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:min(320px,calc(100vw - 32px));display:grid;gap:10px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);animation:periodPanelIn var(--duration-fast) var(--ease-out)}.period-panel-years{display:flex;align-items:center;justify-content:space-between;gap:8px}.period-panel-year{font-size:1rem;font-weight:700;letter-spacing:-.01em}.period-grid{display:grid;gap:4px}.period-grid-months{grid-template-columns:repeat(4,1fr)}.period-grid-years{grid-template-columns:repeat(3,1fr)}.period-grid-weeks{grid-template-columns:repeat(7,1fr);max-height:42vh;overflow-y:auto}.period-cell{min-height:34px;padding:6px 4px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--bg-subtle);color:var(--text-secondary);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.period-cell:hover{background:var(--bg-inset);color:var(--text-primary)}.period-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.period-cell.active{background:var(--brand-mark-from);border-color:var(--brand-mark-from);color:#fff}:root.dark .period-cell.active{background:#fff;border-color:#fff;color:var(--brand-mark-from)}.period-panel-note{margin:0;color:var(--text-tertiary)}@keyframes periodPanelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.period-panel{animation:none}.period-current-chevron{transition:none}}@media(max-width:720px){.period-bar{gap:8px}.period-nav{flex:1 1 100%;justify-content:space-between}.period-current{flex:1 1 auto;background:var(--bg-subtle)}.period-now{width:100%;margin-left:0;justify-content:space-between}.period-modes{margin-left:4px}.period-mode{padding:6px 10px}.period-panel{left:0;right:0;width:auto}}@media(max-width:380px){.period-today{display:none}}.tab-transition{position:relative;min-width:0}.app-sweep{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 80% at 72% -10%,#2e5aa88c,#09122600 62%),linear-gradient(160deg,#0b1b38,#081226 58%,#050b18);clip-path:inset(0 100% 0 0)}.app-sweep-covering{animation:appSweepCover .26s cubic-bezier(.4,0,.2,1) forwards}.app-sweep-clearing{animation:appSweepClear .3s cubic-bezier(.22,.61,.36,1) forwards}@keyframes appSweepCover{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes appSweepClear{0%{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 100%)}}.app-sweep-route{position:relative;width:min(460px,64vw);height:2px;display:flex;align-items:center}.app-sweep-line{flex:1;height:1px;background-image:linear-gradient(90deg,rgba(255,255,255,.55) 50%,transparent 50%);background-size:7px 1px;transform:scaleX(0);transform-origin:left center;animation:routeDraw .42s cubic-bezier(.4,0,.2,1) 60ms forwards}.app-sweep-node{width:5px;height:5px;border-radius:50%;flex:0 0 auto;opacity:0;animation:nodeAppear .22s var(--ease-out) forwards}.app-sweep-node-from{background:#e4002b;animation-delay:40ms}.app-sweep-node-to{background:#fff;animation-delay:.42s}.app-sweep-craft{position:absolute;left:0;top:50%;animation:craftRun .62s cubic-bezier(.35,0,.2,1) 40ms forwards;will-change:transform;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))}@keyframes routeDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes nodeAppear{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes craftRun{0%{transform:translate3d(-16px,-50%,0)}to{transform:translate3d(min(460px,64vw),-50%,0)}}.tab-panel-arriving{animation:pageArrive .3s cubic-bezier(.22,.61,.36,1)}@keyframes pageArrive{0%{opacity:0;transform:translate3d(-26px,0,0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app-sweep{display:none}.tab-panel-arriving{animation:none}}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;grid-template-rows:1fr auto;place-items:center;overflow:hidden;background:radial-gradient(120% 70% at 50% 118%,rgba(228,0,43,.22) 0%,transparent 62%),radial-gradient(90% 65% at 50% -12%,rgba(107,165,255,.22) 0%,transparent 72%),linear-gradient(168deg,#0b1b38,#081226 58%,#050b18);color:#fff;--boot-blue: #1E3FA8;--boot-white: #F2F6FC;--boot-red: #E4002B;--boot-scale: 1}.boot-sky{position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(107,165,255,.1) 60%,rgba(228,0,43,.1));pointer-events:none}.boot-stage{grid-row:1;position:relative;width:100%;height:100%;display:grid;place-items:center}.boot-scene{position:relative;width:0;height:0;scale:var(--boot-scale)}.boot-lead{position:absolute;left:0;top:0;transform:translate(-50%,-50%);z-index:2;will-change:transform;filter:drop-shadow(0 10px 26px rgba(0,0,0,.5))}.boot-lead-art{animation:bootLeadHold 5.2s ease-in-out infinite}@keyframes bootLeadHold{0%,to{transform:translate3d(0,-5px,0) rotate(-1.1deg)}50%{transform:translate3d(0,5px,0) rotate(1.1deg)}}.boot-escort{position:absolute;left:0;top:0;width:0;height:0;display:grid;place-items:center;z-index:1;will-change:transform}.boot-escort-art{position:absolute;left:0;top:0;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}.boot-escort-late{opacity:0}.boot-smoke{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;filter:blur(2px)}.boot-smoke-back{z-index:0}.boot-smoke-front{z-index:4}.boot-caption-block{grid-row:2;display:grid;justify-items:center;gap:4px;padding-bottom:clamp(28px,8vh,76px);transition:opacity .26s linear}.boot-phase-depart .boot-caption-block{opacity:0}.boot-title{font-size:1.25rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);color:#fff}.boot-caption{font-size:var(--text-caption);color:#ffffffc7}@media(max-width:720px){.boot-screen{--boot-scale: .72}}@media(max-width:400px){.boot-screen{--boot-scale: .56}}@media(prefers-reduced-motion:reduce){.boot-lead-art{animation:none}.boot-escort-late{opacity:1}}.gesture-grid{display:grid;gap:var(--space-4)}.gesture-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);align-items:end;padding-bottom:var(--space-3);border-bottom:1px solid var(--separator)}.gesture-row:last-child{border-bottom:0;padding-bottom:0}.gesture-surface{font-weight:var(--weight-semibold)}.gesture-choice{display:grid;gap:4px;min-width:0}@media(max-width:640px){.gesture-row{grid-template-columns:minmax(0,1fr)}}.row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.row-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(hover:none)and (pointer:coarse){.swipe-row .row-actions,.swipe-row .item-actions{display:none}}.sheet{animation:sheetIn .26s var(--ease-out)}.sheet-backdrop{animation:backdropIn .2s var(--ease-out)}@keyframes sheetIn{0%{opacity:0;transform:translate3d(0,12px,0) scale(.985)}to{opacity:1;transform:none}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@media(max-width:640px){@keyframes sheetIn{0%{transform:translate3d(0,100%,0)}to{transform:none}}}.item-list>*,.scenario-list>*{animation:rowIn .32s var(--ease-out) backwards}.item-list>*:nth-child(1),.scenario-list>*:nth-child(1){animation-delay:0ms}.item-list>*:nth-child(2),.scenario-list>*:nth-child(2){animation-delay:26ms}.item-list>*:nth-child(3),.scenario-list>*:nth-child(3){animation-delay:52ms}.item-list>*:nth-child(4),.scenario-list>*:nth-child(4){animation-delay:78ms}.item-list>*:nth-child(5),.scenario-list>*:nth-child(5){animation-delay:104ms}.item-list>*:nth-child(6),.scenario-list>*:nth-child(6){animation-delay:.13s}.item-list>*:nth-child(7),.scenario-list>*:nth-child(7){animation-delay:156ms}.item-list>*:nth-child(n+8),.scenario-list>*:nth-child(n+8){animation-delay:182ms}@keyframes rowIn{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop,.item-list>*,.scenario-list>*{animation:none}}.tricolour{display:flex;height:3px;width:100%;overflow:hidden}.tricolour-blue{flex:1;background:#002157}.tricolour-white{flex:1;background:#dce5f2}.tricolour-red{flex:1;background:#e4002b}.tricolour-app{position:fixed;top:0;left:50%;transform:translate(-50%);width:108px;height:5px;border-radius:0 0 3px 3px;overflow:hidden;z-index:100;pointer-events:none;box-shadow:0 1px 4px #00215738}@media(max-width:480px){.tricolour-app{width:84px;height:4px}}.auth-card>.tricolour{position:absolute;top:0;left:0;right:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.auth-card{position:relative}.field{display:grid;gap:6px;min-width:0}.field-label{font-size:var(--text-footnote);font-weight:var(--weight-medium);color:var(--text-secondary)}.field-hint{font-size:var(--text-caption);color:var(--text-tertiary)}.field>.input,.field>.select{width:100%}.field-span{grid-column:1 / -1}.field-emphasised>.field-label{color:var(--accent);font-weight:var(--weight-semibold)}.funding-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-lg);background:var(--bg-elevated)}.funding-split-value{font-size:1.25rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);margin:2px 0;overflow-wrap:anywhere}.field-group{border:none;margin:0;padding:0;min-width:0}.field-group>legend{padding:0;margin-bottom:8px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;align-items:start}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.header-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:640px){.header-actions{justify-content:space-between;width:100%}.header-buttons{gap:4px}}.disclosure{display:grid;gap:16px;min-width:0}.disclosure-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 4px;background:none;border:0;border-top:1px solid var(--border);color:var(--text-primary);cursor:pointer;text-align:left}.disclosure-heading{display:grid;gap:2px;min-width:0}.disclosure-summary{color:var(--text-tertiary)}.disclosure-chevron{flex-shrink:0;color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.disclosure-open .disclosure-chevron{transform:rotate(180deg)}.disclosure-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.disclosure-panel{display:grid;gap:16px;min-width:0;animation:pageArrive .22s var(--ease-out)}@media(prefers-reduced-motion:reduce){.disclosure-chevron{transition:none}.disclosure-panel{animation:none}}.start-card{display:grid;gap:18px}.start-steps{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.start-step{display:grid;gap:6px;align-content:start;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);text-align:left;cursor:pointer;color:var(--text-primary);min-width:0}.start-step:hover{border-color:var(--accent)}.start-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-step-index{font-size:var(--text-footnote);font-weight:var(--weight-semibold);color:var(--accent)}.start-mark{display:grid;place-items:center;width:104px;height:104px;flex-shrink:0;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--brand-mark-from),#0B3B7A)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn:disabled:hover,.btn[aria-disabled=true]:hover{filter:none;transform:none}.wishlist-mark-preview{display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.tab-panel-frame.period-shift{animation:periodShift .3s var(--ease-out)}@keyframes periodShift{0%{opacity:0;transform:translate3d(-22px,0,0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tab-panel-frame.period-shift{animation:none}}.header-audit{margin-top:6px;display:flex;align-items:center;gap:6px;min-width:0}.header-audit>span,.header-audit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.top-header{margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-5);padding:calc(var(--space-5) + 4px) var(--space-4) var(--space-4);gap:var(--space-4);background:radial-gradient(120% 140% at 88% -30%,#2e5aa8bf,#00215700 60%),linear-gradient(165deg,#002157,#041b41);border-bottom:2px solid var(--brand-mark-to);color:#fff}.top-header .text-display,.top-header .text-title{color:#fff}.top-header .text-caption,.top-header .text-footnote{color:#e2ebfac7}.top-header .header-eyebrow{color:#e2ebfa9e}.top-header .btn-ghost{color:#fff;border-color:#ffffff38}.top-header .btn-ghost:hover{background:#ffffff1f}.top-header .btn-primary{background:#fff;color:#002157;border-color:transparent}.top-header .sync-status{background:#ffffff1f;border-color:#ffffff40}.header-audit{display:none}.header-actions{justify-content:flex-start;flex-wrap:wrap;gap:8px}.header-actions>*:first-child{flex:1 1 150px;min-width:150px}.header-buttons{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end}}@media(max-width:900px){.mobile-nav{border-top-color:var(--border-strong)}.mobile-nav-item.active{color:var(--accent)}}.currency-chips{display:flex;flex-wrap:wrap;gap:8px}.currency-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;cursor:pointer;min-height:34px;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.currency-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.currency-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.currency-chip.locked{cursor:default;opacity:1;border-style:dashed}.currency-chip:disabled:not(.locked){opacity:.45;cursor:not-allowed}.currency-chip-symbol{color:var(--text-tertiary);font-weight:var(--weight-medium)}.currency-chip.active .currency-chip-symbol{color:inherit}.currency-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-customise-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-2);border-top:1px solid var(--separator)}.widget-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.widget-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;transition:background var(--duration-fast) var(--ease-out)}.widget-row:hover{background:var(--bg-subtle)}.widget-row-hidden{border-style:dashed;border-color:var(--border)}.widget-row-hidden .widget-name{color:var(--text-tertiary);text-decoration:line-through}.widget-text{display:grid;gap:2px;min-width:0;flex:1}.widget-name{font-weight:var(--weight-semibold);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.widget-required{display:inline-flex;align-items:center;gap:4px;color:var(--text-tertiary);font-weight:var(--weight-regular)}.widget-controls{display:flex;gap:2px;flex:none}input[type=checkbox],input[type=radio]{width:18px;height:18px;flex:none;accent-color:var(--accent);cursor:pointer}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:32px;align-items:center}.funding-glyph{font-size:.75em;vertical-align:1px}.funding-split>[data-funding=other] .funding-split-value{color:var(--funding-other-text)}.funding-split>[data-funding=outside] .funding-split-value{color:var(--funding-outside-text)}.activity-summary{display:grid;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.activity-summary-title{margin:0}.activity-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:var(--space-4)}.activity-summary-figure{min-width:0}.activity-summary-value{font-size:1.1875rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);margin:2px 0;overflow-wrap:anywhere}.activity-summary-gross .activity-summary-value{font-size:1.375rem}.activity-summary-required{padding-left:var(--space-4);border-left:3px solid var(--accent)}.activity-summary-figure[data-funding=other] .activity-summary-value{color:var(--funding-other-text)}.activity-summary-figure[data-funding=outside] .activity-summary-value{color:var(--warning-text)}.activity-summary-note{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning-text)}.activity-summary-note>svg{flex:none;margin-top:2px}.activity-unscheduled-list{margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid;gap:4px}.activity-unscheduled-list li{display:flex;flex-wrap:wrap;gap:4px var(--space-2);align-items:baseline}.activity-unscheduled-name{font-weight:var(--weight-medium)}.activity-summary-inactive{margin:0}.activity-due{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-size:.75rem;color:var(--text-tertiary)}.activity-due[data-status=due]{color:var(--text-secondary);font-weight:var(--weight-medium)}.activity-due[data-status=unknown]{color:var(--warning-text)}.activity-due[data-status=not-due]{opacity:.5;cursor:help}.activity-due-why{display:inline-flex;align-items:center;cursor:help}.row-action-label{margin-left:4px}@media(max-width:1180px){.row-action-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.scenario-activities{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);width:100%}.scenario-activity{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);min-height:44px}.scenario-activity-toggle{display:flex;align-items:center;gap:var(--space-3);flex:1 1 auto;min-width:0;min-height:40px;cursor:pointer}.scenario-activity-name{min-width:0;overflow-wrap:anywhere;font-weight:var(--weight-medium)}.scenario-activity-funding{width:auto;min-width:128px;flex:none}.scenario-activity-off{opacity:.62}.scenario-activity-off .scenario-activity-name{text-decoration:line-through}.scenario-funding-note{margin:var(--space-2) 0 0}@media(max-width:560px){.scenario-activity{flex-wrap:wrap}.scenario-activity-funding{width:100%;min-width:0}}.currency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,152px),1fr));gap:var(--space-3);margin-top:var(--space-3)}.currency-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.currency-card-face{display:grid;gap:2px;width:100%;min-height:96px;padding:var(--space-3) var(--space-4);border:none;border-radius:inherit;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.currency-card-face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.currency-card-symbol{font-size:1.125rem;color:var(--text-tertiary)}.currency-card-code{font-weight:var(--weight-semibold);letter-spacing:.02em}.currency-card-name{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.currency-card-rate{font-size:.6875rem;color:var(--text-tertiary);overflow-wrap:anywhere}.currency-card-warning{position:absolute;top:8px;right:8px;color:var(--warning-text)}.currency-card-unpin{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.currency-card:hover .currency-card-unpin,.currency-card-unpin:focus-visible{opacity:1}.currency-card-unpin:disabled{cursor:not-allowed;opacity:0}.currency-card-unpin:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(hover:none){.currency-card-unpin{opacity:1}.currency-card-unpin:disabled{opacity:.3}}.currency-grid-exchange .currency-card{border-color:var(--warning);background:linear-gradient(0deg,var(--warning-soft),var(--warning-soft)),var(--bg-elevated)}.currency-card-selected{border-color:var(--warning)!important;box-shadow:0 0 0 2px var(--warning)}.currency-card-tick{position:absolute;top:8px;right:8px;display:inline-flex;color:var(--warning-text)}.exchange-banner{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border:1px solid var(--warning);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning-text);margin-bottom:var(--space-3)}.exchange-banner-pick{margin-left:auto;padding:2px 10px;border-radius:99px;border:1px solid currentColor;font-weight:var(--weight-semibold)}.exchange-toggle-active{box-shadow:0 0 0 2px var(--warning)}.exchange-result{display:grid;gap:var(--space-3)}.exchange-result-primary{margin:0;font-size:clamp(1.375rem,5vw,1.875rem);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);overflow-wrap:anywhere}.exchange-result-inverse{margin:0}.exchange-result-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-3);margin:0;padding-top:var(--space-3);border-top:1px solid var(--border)}.exchange-result-meta dd{margin:2px 0 0;overflow-wrap:anywhere}.currency-picker,.language-picker{display:grid;gap:var(--space-3);min-width:0}.currency-picker-search{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.currency-picker-search .input{flex:1 1 auto;min-width:0}.currency-picker-list,.language-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:min(56dvh,460px);overflow-y:auto}.currency-picker-row,.language-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.currency-picker-row:hover:not(:disabled),.language-row:hover{background:var(--bg-subtle);border-color:var(--border)}.currency-picker-row:focus-visible,.language-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.currency-picker-row:disabled{opacity:.5;cursor:default}.currency-picker-symbol{width:30px;color:var(--text-tertiary);flex:none}.currency-picker-text,.language-row-text{display:grid;gap:1px;flex:1 1 auto;min-width:0}.currency-picker-code{font-weight:var(--weight-semibold)}.currency-picker-empty{display:flex;align-items:center;gap:6px;padding:var(--space-3)}.language-native{font-weight:var(--weight-medium)}.language-row-active{border-color:var(--accent);background:var(--accent-soft)}.language-row-badge,.language-trigger-badge{flex:none;text-align:right;max-width:42%}.language-trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:inherit;font:inherit;text-align:left;cursor:pointer}.language-trigger:hover{border-color:var(--accent)}.language-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.language-trigger-text{display:grid;gap:1px;flex:1 1 auto;min-width:0}@media(max-width:560px){.language-row-badge,.language-trigger-badge{display:none}}.settings-crosslink{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.settings-crosslink>div{flex:1 1 200px;min-width:0}.tutorial-layer{position:fixed;inset:auto 0 0 0;z-index:90;display:flex;justify-content:center;padding:var(--space-4);pointer-events:none}.tutorial-card{pointer-events:auto;width:min(440px,100%);display:grid;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:0 18px 48px #031e4947}.tutorial-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tutorial-spotlight{position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;pointer-events:none}.tutorial-shade{position:fixed;background:#03143085;transition:opacity .18s ease}.tutorial-ring{position:fixed;border-radius:var(--radius-md);border:2px solid var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent);animation:tutorialPulse 1.8s ease-in-out infinite}@keyframes tutorialPulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 12%,transparent)}}.tutorial-card-anchored{position:fixed;width:min(360px,calc(100vw - 24px));max-height:min(70vh,520px);overflow-y:auto}.tutorial-card-animated{animation:tutorialRise .26s cubic-bezier(.2,.7,.3,1) both}@keyframes tutorialRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tutorial-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.tutorial-progress{margin:0}.tutorial-track{height:4px;border-radius:99px;background:var(--bg-inset);overflow:hidden}.tutorial-track-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .24s ease}.tutorial-title{margin:0}.tutorial-body{margin:0;color:var(--text-secondary)}.tutorial-action{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.tutorial-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.tutorial-foot-nav{display:flex;gap:var(--space-2);margin-left:auto}@media(max-width:768px){.tutorial-layer{padding:var(--space-3) var(--space-3) calc(var(--space-3) + 68px)}.tutorial-card{width:100%;padding:var(--space-4)}.tutorial-card-anchored{left:12px!important;right:12px!important;width:auto;max-height:46vh;padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.tutorial-card-animated{animation:none}.tutorial-track-fill{transition:none}.tutorial-ring{animation:none}}[dir=rtl] .activity-summary-required{padding-left:0;padding-right:var(--space-4);border-left:none;border-right:3px solid var(--accent)}[dir=rtl] .activity-summary-note,[dir=rtl] .funding-split,[dir=rtl] .exchange-banner,[dir=rtl] .settings-crosslink{border-left:1px solid var(--border);border-right:3px solid var(--warning)}[dir=rtl] .currency-card-unpin,[dir=rtl] .currency-card-warning,[dir=rtl] .currency-card-tick{right:auto;left:6px}[dir=rtl] .exchange-banner-pick,[dir=rtl] .tutorial-foot-nav{margin-left:0;margin-right:auto}[dir=rtl] .row-action-label{margin-left:0;margin-right:4px}.wallet-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.wallet-balance{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);min-width:0}.wallet-balance-value{font-size:1.375rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);margin:4px 0 2px;overflow-wrap:anywhere}.wallet-balance-primary{border-left:3px solid var(--accent)}.wallet-balance-primary .wallet-balance-value{font-size:1.75rem}.wallet-balance[data-tone=budget] .wallet-balance-value{color:var(--accent)}.wallet-balance[data-tone=personal] .wallet-balance-value{color:var(--teal-text)}.wallet-balance .text-footnote{display:flex;align-items:center;gap:6px}.wallet-plan{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:flex-start;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-subtle);margin-bottom:var(--space-3)}.wallet-plan-value{font-size:1.25rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);margin:2px 0}.wallet-plan-note{flex:1 1 260px;min-width:0;margin:0}.wallet-leftover{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;padding:var(--space-4);border:1px solid var(--warning);border-left:3px solid var(--warning);border-radius:var(--radius-lg);background:var(--warning-soft);color:var(--warning-text);margin-bottom:var(--space-3)}.wallet-leftover>div:first-child{flex:1 1 260px;min-width:0}.wallet-leftover-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.wallet-flows{display:flex;gap:var(--space-4);flex-wrap:wrap}.wallet-flows>span{display:inline-flex;align-items:center;gap:5px}.wallet-notice{display:flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-md);background:var(--success-soft);color:var(--success-text)}.wallet-periods-wrap{overflow-x:auto}.wallet-periods{width:100%;border-collapse:collapse;font-size:.8125rem}.wallet-periods th{text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:6px 8px;white-space:nowrap}.wallet-periods th.num,.wallet-periods td.num{text-align:right}.wallet-periods td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}.wallet-periods tbody tr:last-child td{border-bottom:none}.wallet-period-remaining{font-weight:var(--weight-semibold)}.wallet-row{align-items:center;gap:var(--space-3)}.wallet-row-arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:99px;background:var(--success-soft);color:var(--success-text)}.wallet-row-arrow-out{background:var(--danger-soft);color:var(--danger-text)}.wallet-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:var(--weight-semibold)}.wallet-amount-in{color:var(--success-text);white-space:nowrap}.wallet-amount-out{color:var(--danger-text);white-space:nowrap}.wallet-direction{display:flex;gap:var(--space-2);flex-wrap:wrap}[dir=rtl] .wallet-balance-primary{border-left:1px solid var(--border);border-right:3px solid var(--accent)}[dir=rtl] .wallet-leftover{border-left:1px solid var(--warning);border-right:3px solid var(--warning)}.settings-page{display:grid;gap:var(--space-5);align-items:start}@media(min-width:900px){.settings-page{grid-template-columns:210px minmax(0,1fr);gap:var(--space-6)}}.settings-groups{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.settings-groups::-webkit-scrollbar{display:none}@media(min-width:900px){.settings-groups{position:sticky;top:var(--space-4);flex-direction:column;overflow:visible}}.settings-group{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--text-callout);font-weight:var(--weight-medium);text-align:start;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}@media(min-width:900px){.settings-group{width:100%;background:transparent}}.settings-group:hover{color:var(--text-primary);background:var(--bg-inset)}.settings-group.is-active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent);font-weight:var(--weight-semibold)}.settings-content{display:grid;gap:var(--space-6);min-width:0}.settings-card{display:grid;gap:var(--space-4);max-width:640px}.settings-note{margin:0}.settings-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.settings-pair{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.settings-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.settings-check{display:flex;align-items:flex-start;gap:10px;min-height:32px;font-size:var(--text-caption);cursor:pointer}.settings-check>span{display:grid;gap:2px}.theme-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.custom-theme{display:grid;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--separator);justify-items:start}.custom-theme-part{display:flex;align-items:center;gap:var(--space-3);width:100%}.custom-theme-part>.text-callout{flex:1;min-width:0}.custom-theme-input{inline-size:44px;block-size:30px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:pointer}.custom-theme-input::-webkit-color-swatch-wrapper{padding:0}.custom-theme-input::-webkit-color-swatch{border:none;border-radius:3px}.custom-theme-input::-moz-color-swatch{border:none;border-radius:3px}.custom-theme-value{font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--text-tertiary)}.theme-swatch{display:grid;gap:8px;justify-items:start;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;text-align:start;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.theme-swatch:hover{border-color:var(--border-strong)}.theme-swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch-colours{display:flex;width:100%;height:30px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-strong)}.theme-swatch-colours>span{flex:1}.aircraft-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.aircraft-choice{display:grid;gap:6px;justify-items:center;align-content:center;min-height:108px;padding:12px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(160deg,#12294f,#0a1730);color:#ffffffd1;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.aircraft-choice:hover{border-color:var(--border-strong)}.aircraft-choice.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.aircraft-choice .text-caption{color:#ffffffdb}.aircraft-choice img{max-width:100%;height:auto}.money-pair{display:inline-grid;justify-items:inherit;gap:1px}.row-trailing .money-pair{justify-items:end}.money-secondary{font-size:var(--text-footnote);font-weight:var(--weight-regular);color:var(--text-tertiary);white-space:nowrap}.error-screen{min-height:100vh;display:grid;place-items:center;padding:var(--space-5);background:var(--bg)}.error-card{max-width:520px;display:grid;gap:var(--space-4)}.error-head{display:flex;align-items:center;gap:var(--space-3);color:var(--danger-text)}.error-head h1{margin:0;color:var(--text-primary)}.error-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.error-stack{margin-top:var(--space-2);max-height:180px;overflow:auto;font-family:var(--font-mono);font-size:var(--text-footnote);color:var(--text-secondary);white-space:pre-wrap}.tutorial-task{display:flex;align-items:flex-start;gap:10px;margin-top:var(--space-3);padding:10px 12px;border:1px solid var(--border);border-inline-start:3px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-subtle);font-size:var(--text-caption);color:var(--text-secondary)}.tutorial-task.is-done{border-inline-start-color:var(--success);background:var(--success-soft);color:var(--success-text)}.tutorial-task-mark{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;margin-top:1px}.tutorial-task-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--accent)}.tutorial-foot-leave{display:flex;gap:4px;flex-wrap:wrap}.tutorial-reminder{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);padding:10px var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--text-caption)}.tutorial-reminder>span{flex:1 1 200px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.section-title{min-width:0;overflow-wrap:anywhere}.section-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;min-width:0}@media(max-width:520px){.section-actions .btn{white-space:normal;height:auto;min-height:36px;padding-top:6px;padding-bottom:6px;text-align:center}.section-actions{width:100%}.section-actions>*{flex:1 1 auto}}.btn{max-width:100%}.gesture-note{display:block;margin-top:2px;font-size:var(--text-footnote);color:var(--text-tertiary)}.chip-muted{cursor:default;background:var(--bg-subtle);border-color:transparent;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.chip-muted:hover{border-color:transparent;color:var(--text-tertiary)}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;flex-wrap:wrap}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}.fleet-choice{display:grid;place-items:center;aspect-ratio:1;padding:6px;border-radius:var(--radius-md);border:1px solid transparent;background:#101724;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.fleet-choice:hover{transform:translateY(-1px)}.fleet-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fleet-choice.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.settings-stack{display:grid;gap:8px}.settings-stack+.settings-stack{margin-top:16px}.funding-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.funding-chip{display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--text-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.funding-chip[data-funding=other]{border-color:var(--funding-other);color:var(--funding-other-text);background:var(--funding-other-soft)}.funding-chip[data-funding=outside]{border-color:var(--funding-outside);color:var(--funding-outside-text);background:var(--funding-outside-soft)}.funding-chip-label{opacity:.78;font-weight:var(--weight-regular)}@media(max-width:380px){.funding-chip-label{display:none}}.row-menu{position:fixed;z-index:1200;min-width:184px;padding:5px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg, 0 12px 32px rgba(0, 0, 0, .18));display:grid;gap:1px}.row-menu-item{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-footnote);text-align:start;cursor:pointer}.row-menu-item:hover:not(:disabled){background:var(--bg-subtle)}.row-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.row-menu-item:disabled{opacity:.42;cursor:default}.row-menu-item.is-destructive{color:var(--danger-text);margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:10px}.nav-group{display:grid}.nav-group-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:7px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-footnote);font-weight:var(--weight-medium);cursor:pointer;text-align:start}.nav-group-trigger:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-group-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-group-trigger>span{flex:1 1 auto}.nav-group-chevron{flex:0 0 auto;transition:transform var(--duration-fast) var(--ease-out)}.nav-group.is-open .nav-group-chevron{transform:rotate(180deg)}.nav-group-body{display:grid;gap:8px;padding:6px 0 12px}.about-card{gap:16px}.about-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.about-version{margin-inline-start:auto;font-variant-numeric:tabular-nums}.about-facts{display:grid;gap:12px;margin:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.about-facts dd{margin:2px 0 0;font-size:var(--text-footnote);color:var(--text-secondary)}.about-links{display:flex;gap:8px;flex-wrap:wrap}.health-card{display:grid}.health-card-body{height:100%;display:grid;align-content:center}.funding-bar{display:flex;gap:2px;height:22px;margin:2px 0 14px;border-radius:var(--radius-full);overflow:hidden}.funding-bar-part{display:flex;align-items:center;justify-content:center;gap:5px;min-width:22px;font-size:var(--text-footnote);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent-contrast)}.funding-bar-part[data-funding=personal]{background:var(--funding-personal)}.funding-bar-part[data-funding=other]{background:var(--funding-other)}.funding-bar-part[data-funding=outside]{background:var(--funding-outside)}.funding-bar-part[data-funding=outside]{color:#3b2503}.funding-bar-value{opacity:.92}@media(max-width:520px){.funding-bar{height:18px}.funding-bar-value{display:none}}.cadence-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:var(--radius-sm);vertical-align:-5px}.cadence-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:var(--radius-full);font-size:var(--text-footnote);font-weight:var(--weight-medium);white-space:nowrap}.cadence-mark[data-cadence=monthly],.cadence-mark[data-cadence=yearly],.cadence-mark[data-cadence=weekly],.cadence-mark[data-cadence=scheduled],.cadence-chip[data-cadence=monthly],.cadence-chip[data-cadence=yearly],.cadence-chip[data-cadence=weekly],.cadence-chip[data-cadence=scheduled]{color:var(--cadence-recurring);background:var(--cadence-recurring-soft)}.cadence-mark[data-cadence=session],.cadence-mark[data-cadence=pack],.cadence-chip[data-cadence=session],.cadence-chip[data-cadence=pack]{color:var(--cadence-counted);background:var(--cadence-counted-soft)}.cadence-mark[data-cadence=oneOff],.cadence-chip[data-cadence=oneOff]{color:var(--cadence-once);background:var(--cadence-once-soft)}.cadence-detail{opacity:.75;font-weight:var(--weight-regular)}.activity-cadence-line{display:flex;align-items:center;gap:7px;letter-spacing:.02em;text-transform:none;min-width:0}.activity-cadence-line>span{min-width:0;overflow-wrap:anywhere}.activity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:var(--text-footnote);color:var(--text-secondary);min-width:0}.activity-meta-category{font-weight:var(--weight-medium)}.activity-meta-detail{color:var(--text-tertiary)}.activity-meta-detail:before{content:"·";margin-inline-end:8px}.activity-meta .activity-due{margin:0}.section-toggle{display:flex;align-items:center;gap:8px;min-height:32px;padding:4px 2px;margin-inline-start:-2px;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:start;min-width:0}.section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.section-toggle .section-title{margin:0}.section-chevron{flex:0 0 auto;color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-out);transform:rotate(-90deg)}.section-collapsible.is-open .section-chevron{transform:rotate(0)}.section-collapsible:not(.is-open) .section-head{margin-bottom:0}.dashboard-row-single{grid-template-columns:minmax(0,1fr)}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin-bottom:14px}@media(max-width:700px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar>:first-child{grid-column:1 / -1}}.exchange-result{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--warning);background:var(--warning-soft)}.exchange-result-pair{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-footnote);font-weight:var(--weight-semibold);letter-spacing:.04em;color:var(--warning-text);white-space:nowrap}.exchange-result-rates{flex:1 1 220px;min-width:0}.exchange-result-primary{margin:0;font-size:1.125rem;font-weight:var(--weight-semibold)}.exchange-result-inverse{margin:2px 0 0}.exchange-result-actions{display:flex;gap:4px;margin-inline-start:auto}@media(max-width:520px){.exchange-result{gap:10px}.exchange-result-actions{margin-inline-start:0}}.mark-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 2px 0;font-size:.72rem;line-height:1.5;color:var(--text-tertiary)}.mark-legend-item{display:inline-flex;align-items:center;gap:4px}.mark-legend-item[data-funding=other],.mark-legend-item[data-funding=other] .funding-glyph{color:var(--funding-other-text);font-weight:600}.mark-legend-item[data-funding=outside],.mark-legend-item[data-funding=outside] .funding-glyph{color:var(--funding-outside-text);font-weight:600}.wishlist-total{margin:12px 2px 0}.info-dot{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-tertiary);cursor:pointer;flex:0 0 auto;vertical-align:-3px}.info-dot:hover,.info-dot:focus-visible{background:var(--bg-inset);color:var(--text-secondary)}.info-dot[data-tone=warning]{color:var(--warning-text)}.info-dot[data-tone=warning]:hover,.info-dot[data-tone=warning]:focus-visible{background:var(--warning-soft)}.info-bubble{position:fixed;z-index:1250;max-width:280px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .18));font-size:.8rem;line-height:1.45}.info-bubble[data-tone=warning]{border-color:var(--warning);background:var(--warning-soft);color:var(--warning-text)}.info-bubble strong{color:var(--text-primary)}.info-bubble[data-tone=warning] strong{color:var(--warning-text)}.activity-amount[data-funding=other] strong,.activity-amount[data-funding=other] .text-caption{color:var(--funding-other-text)}.activity-amount[data-funding=outside] strong,.activity-amount[data-funding=outside] .text-caption{color:var(--funding-outside-text)}.info-funding[data-funding=other]{color:var(--funding-other-text)}.info-funding[data-funding=outside]{color:var(--funding-outside-text)}.row-trailing[data-funding=other] .money-pair>strong,.row-trailing[data-funding=other]>strong{color:var(--funding-other-text)}.row-trailing[data-funding=outside] .money-pair>strong,.row-trailing[data-funding=outside]>strong{color:var(--funding-outside-text)}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-scope{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-md);background:var(--bg-inset);margin-bottom:12px;flex-wrap:wrap}.report-scope-option{border:0;background:transparent;color:var(--text-secondary);padding:7px 14px;min-height:32px;border-radius:calc(var(--radius-md) - 3px);font:inherit;font-size:.82rem;cursor:pointer}.report-scope-option.is-active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.report-range{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.report-range label{display:grid;gap:4px}.report-preview{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#fff}.report-frame{display:block;width:100%;height:min(78vh,900px);border:0;background:#fff}@media(max-width:720px){.report-frame{height:70vh}.report-actions{width:100%}.report-actions .btn{flex:1 1 auto}}.status-colour-row{display:flex;gap:20px;flex-wrap:wrap}.status-colour-field{display:grid;gap:6px}.status-colour-controls{display:flex;align-items:center;gap:8px}.status-colour-controls input[type=color]{width:44px;height:32px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;cursor:pointer}.wallet-deferred{display:flex;align-items:center;gap:4px;margin:10px 0 0}.wallet-deferred-text{border:0;background:none;padding:4px 2px;min-height:26px;font:inherit;font-size:.8rem;color:var(--warning-text);cursor:pointer;text-align:left}.wallet-deferred-text:hover{text-decoration:underline}.scenario-budget-derived{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scenario-budget-derived .input{flex:1 1 130px}.font-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.font-option{display:grid;gap:2px;padding:12px 14px;min-height:62px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer}.font-option:hover{border-color:var(--border-strong)}.font-option.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.font-option-name{font-weight:600;font-size:.95rem}.font-option-sample{font-size:.78rem;color:var(--text-secondary)}.item-row[style*=--category-accent]{border:2px solid color-mix(in srgb,var(--category-accent) 78%,transparent);padding:calc(var(--space-3) - 1px) calc(var(--space-4) - 1px)}.activity-row.item-row[style*=--category-accent],.item-list .item-row[style*=--category-accent]:hover{border-color:var(--category-accent)}.item-row[data-funding=other] .text-callout,.item-row[data-funding=other] .row-trailing strong,.item-row[data-funding=other] .activity-amount strong{color:var(--funding-other-text)}.item-row[data-funding=outside] .text-callout,.item-row[data-funding=outside] .row-trailing strong,.item-row[data-funding=outside] .activity-amount strong{color:var(--funding-outside-text)}.item-row[data-funding=other] .text-footnote,.item-row[data-funding=outside] .text-footnote{color:var(--text-secondary)}.cadence-icon-grid{display:grid;gap:12px}.cadence-icon-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cadence-icon-row>.text-footnote{min-width:7.5rem}.cadence-icon-choices{display:flex;gap:6px}.cadence-icon-option{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.cadence-icon-option:hover{border-color:var(--border-strong)}.cadence-icon-option.is-active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
