.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:90}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:width .3s;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 14px;min-height:56px}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:18px 0}.brand-logo{width:28px;height:28px;flex-shrink:0;object-fit:contain}.brand-name{font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px;flex:1}.sidebar.collapsed .sidebar-nav{padding:0 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .2s;width:100%;white-space:nowrap;overflow:hidden}.nav-item span{transition:opacity .2s}.sidebar.collapsed .nav-item{justify-content:center;padding:9px;gap:0}.sidebar.collapsed .nav-item span{display:none}.nav-item:hover{color:var(--text-primary);background:var(--border)}.nav-item.active{color:var(--text-primary);background:var(--border);position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2.5px;height:16px;border-radius:0 2px 2px 0;background:var(--text-primary)}.collapse-btn{display:flex;align-items:center;justify-content:center;width:calc(100% - 16px);margin:0 8px 12px;padding:7px;border-radius:7px;color:var(--text-tertiary);background:transparent;border:1px solid var(--border);transition:all .2s}.sidebar.collapsed .collapse-btn{width:calc(100% - 12px);margin:0 6px 12px}.collapse-btn:hover{color:var(--text-primary);background:var(--border)}@media(max-width:1100px){.sidebar{width:var(--sidebar-collapsed)}.sidebar .sidebar-brand{justify-content:center;padding:18px 0}.sidebar .brand-name{display:none}.sidebar .nav-item{justify-content:center;padding:9px;gap:0}.sidebar .nav-item span,.sidebar .collapse-btn{display:none}}@media(max-width:768px){.sidebar-overlay{display:none}.sidebar{width:var(--sidebar-collapsed);flex:0 0 var(--sidebar-collapsed);padding-top:env(safe-area-inset-top);transform:none;transition:none;box-shadow:none;overflow:hidden}.sidebar.open{transform:none}.sidebar .sidebar-brand{justify-content:center;padding:14px 0;min-height:56px}.sidebar .brand-name{display:none}.sidebar .sidebar-nav{padding:4px 4px 16px;gap:5px}.sidebar .nav-item{justify-content:center;gap:0;min-height:42px;padding:9px;font-size:14px}.sidebar .nav-item span{display:none}.sidebar .nav-item.active:before{left:0;height:20px}.sidebar .collapse-btn{display:none}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:flex-end;z-index:200;padding:72px clamp(12px,2.5vw,32px) clamp(12px,2.5vw,32px) 0}.settings-admin-overlay{align-items:center;justify-content:center;padding:12px;background:#0f172a75}.settings-panel{background:var(--bg-card);border-radius:clamp(12px,1.5vw,16px);width:100%;max-width:360px;max-height:calc(100dvh - 84px);display:flex;flex-direction:column;box-shadow:0 16px 48px #0000001f;overflow:hidden;animation:slideDown .2s}[data-theme=dark] .settings-panel{box-shadow:0 16px 48px #0006}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:clamp(14px,1.8vw,20px) clamp(16px,2vw,24px);border-bottom:1px solid var(--border)}.settings-header h3{font-size:clamp(14px,1.2vw,16px);font-weight:600;color:var(--text-primary)}.settings-content{padding:8px 0;overflow-y:auto}.settings-user{display:flex;align-items:center;gap:clamp(10px,1.2vw,14px);padding:clamp(12px,1.5vw,16px) clamp(16px,2vw,24px)}.settings-avatar{width:clamp(36px,3.5vw,44px);height:clamp(36px,3.5vw,44px);border-radius:50%;background:linear-gradient(135deg,#374151,#111827);display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(14px,1.4vw,18px);font-weight:600;flex-shrink:0}.settings-user-info{display:flex;flex-direction:column;gap:2px}.settings-username{font-size:clamp(13px,1.2vw,15px);font-weight:600;color:var(--text-primary)}.settings-useremail{font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.settings-divider{height:1px;background:var(--border);margin:8px 0}.settings-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:clamp(10px,1.2vw,14px) clamp(16px,2vw,24px);transition:background .15s}.settings-item:hover{background:var(--bg-primary)}.settings-item-left{display:flex;align-items:center;gap:clamp(10px,1.2vw,14px);color:var(--text-secondary)}.settings-item-label{font-size:clamp(12px,1.1vw,14px);font-weight:500;color:var(--text-primary)}.settings-item-desc{font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.settings-item-value{font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--text-secondary);background:var(--bg-primary);padding:clamp(2px,.3vw,3px) clamp(6px,.8vw,10px);border-radius:6px}.settings-item-danger .settings-item-label,.settings-item-danger .settings-item-left{color:var(--accent-red)}.settings-qa{margin:2px 16px 10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.settings-qa-button{display:block;width:calc(100% - 32px);text-align:left;transition:border-color .16s,background .16s,transform .16s}.settings-qa-button:hover{border-color:color-mix(in srgb,#6366F1 45%,var(--border));background:color-mix(in srgb,#6366F1 5%,var(--bg-primary))}.settings-qa-button:active{transform:scale(.995)}.settings-qa-open{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:10px;color:#6366f1;font-size:11px;font-weight:700}.settings-qa-heading{display:flex;align-items:flex-start;gap:9px}.settings-qa-heading>div{min-width:0;flex:1}.settings-qa-heading strong{display:block;color:var(--text-primary);font-size:13px}.settings-qa-heading p{margin:3px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.4}.settings-qa-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#6366f1;background:color-mix(in srgb,#6366F1 12%,transparent);flex:0 0 auto}.settings-qa-state{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.settings-qa-state.passed{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 12%,transparent)}.settings-qa-state.failed{color:var(--accent-red);background:color-mix(in srgb,var(--accent-red) 12%,transparent)}.settings-qa-state.pending{color:var(--text-secondary);background:var(--bg-card)}.settings-qa-time{margin-top:10px;color:var(--text-tertiary);font-size:10px}.settings-qa-checks{display:grid;gap:5px;margin-top:8px}.settings-qa-check{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:11px}.settings-qa-check>span{flex:1;min-width:0}.settings-qa-check b{font-size:10px}.settings-qa-check.passed b{color:var(--accent-green)}.settings-qa-check.failed b,.settings-qa-check small{color:var(--accent-red)}.settings-qa-check small{flex-basis:100%;font-size:10px;line-height:1.35}.settings-qa-empty{margin-top:10px;color:var(--text-tertiary);font-size:11px}.settings-file-error{margin:4px 16px 8px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent-red) 10%,transparent);color:var(--accent-red);font-size:12px;line-height:1.45}.settings-toggle{width:clamp(38px,3.5vw,44px);height:clamp(22px,2vw,26px);border-radius:13px;background:var(--border);position:relative;transition:background .2s;flex-shrink:0}.settings-toggle.active{background:var(--accent-green)}.settings-toggle-dot{width:clamp(16px,1.5vw,20px);height:clamp(16px,1.5vw,20px);border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #00000026}.settings-toggle.active .settings-toggle-dot{transform:translate(clamp(14px,1.5vw,18px))}.settings-item-delete{text-align:left}.settings-deletion-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;place-items:center;padding:20px;background:#0f172a85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-deletion-dialog{width:min(100%,400px);padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);color:var(--text-primary);box-shadow:0 22px 60px #00000047}.settings-deletion-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent-red) 13%,transparent);color:var(--accent-red)}.settings-deletion-dialog h4{margin:14px 0 6px;font-size:17px}.settings-deletion-dialog p,.settings-deletion-dialog small{display:block;color:var(--text-secondary);font-size:12px;line-height:1.55}.settings-deletion-dialog small{margin-top:8px;color:var(--text-tertiary)}.settings-deletion-dialog>strong{display:block;margin-top:10px;color:var(--text-primary);font-size:12px}.settings-deletion-dialog label{display:grid;gap:6px;margin-top:12px;color:var(--text-secondary);font-size:12px}.settings-deletion-dialog input{min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);color:var(--text-primary);outline:none}.settings-deletion-dialog input:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.settings-deletion-error{margin-top:10px;color:var(--accent-red);font-size:12px}.settings-deletion-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.settings-deletion-actions button{min-height:36px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:600}.settings-deletion-secondary{border:1px solid var(--border-strong);color:var(--text-primary)}.settings-deletion-confirm{background:var(--accent-red);color:#fff}.settings-deletion-confirm:disabled{cursor:not-allowed;opacity:.55}.settings-item{min-height:56px;text-align:left}.settings-item-left{min-width:0;flex:1}.settings-item-left>svg{flex:0 0 auto}.settings-item-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.settings-item-label{line-height:1.3}.settings-item-desc{display:block;max-width:100%;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-item-preference{min-height:60px}.settings-item-preference .settings-item-desc{overflow:visible;text-overflow:clip}.settings-item-value{min-width:32px;text-align:center;border-radius:999px}.settings-item-delete .settings-item-desc{white-space:normal}@media(max-width:480px){.settings-overlay{align-items:center;justify-content:center;padding:16px}.settings-panel{max-width:420px}.settings-item{padding:11px 18px}.settings-item-desc{font-size:11px}}.settings-segmented{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg-primary)}.settings-segmented button{min-width:34px;min-height:26px;padding:4px 7px;border-radius:999px;color:var(--text-tertiary);font-size:10px;font-weight:700;line-height:1;white-space:nowrap;transition:background .16s,color .16s,box-shadow .16s}.settings-segmented button:hover{color:var(--text-primary)}.settings-segmented button.active{background:var(--text-primary);color:var(--bg-card);box-shadow:0 1px 3px #0f172a2e}.settings-market-colors button[data-mode=red-rise].active{background:#dc2626;color:#fff}.settings-market-colors button[data-mode=green-rise].active{background:#15803d;color:#fff}[data-theme=dark] .settings-market-colors button[data-mode=red-rise].active{background:#ff6961;color:#1c1c1e}[data-theme=dark] .settings-market-colors button[data-mode=green-rise].active{background:#30d158;color:#1c1c1e}.settings-segmented button:disabled{cursor:wait;opacity:.7}.settings-segmented button:first-child:nth-last-child(2){min-width:38px}@media(max-width:360px){.settings-segmented button{min-width:30px;padding-inline:5px}}@media(max-width:700px){.settings-admin-overlay{align-items:stretch;justify-content:stretch;padding:0}}.header{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,2.5vw,32px);height:64px;gap:16px}.header-left{display:flex;align-items:center;min-width:0;flex:1}.menu-trigger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px;border-radius:10px;color:var(--text-secondary);flex:0 0 auto}.menu-trigger:hover,.menu-trigger:focus-visible{color:var(--text-primary);background:var(--bg-secondary)}.header-greeting{font-size:clamp(16px,1.6vw,22px);font-weight:600;color:var(--text-primary);letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:clamp(6px,1vw,12px);flex-shrink:0}.settings-trigger,.notification-btn{display:flex;align-items:center;justify-content:center;width:clamp(34px,3vw,40px);height:clamp(34px,3vw,40px);border-radius:10px;color:var(--text-secondary);transition:all .2s;position:relative}.settings-trigger:hover,.notification-btn:hover{background:var(--border);color:var(--text-primary)}.notification-badge{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;display:grid;place-items:center;background:#ef4444;color:#fff;border:2px solid var(--bg-primary);font-size:9px;line-height:1;font-weight:700}.avatar{width:clamp(30px,2.8vw,36px);height:clamp(30px,2.8vw,36px);border-radius:50%;background:linear-gradient(135deg,#374151,#111827);display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(11px,1.1vw,14px);font-weight:600;flex-shrink:0}.notification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a29}.notification-panel{position:absolute;top:56px;right:clamp(16px,3vw,42px);width:min(390px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 80px));overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 50px #0f172a33}.notification-panel-header{padding:18px 18px 14px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border)}.notification-panel-header>div{display:grid;gap:4px}.notification-panel-header strong{font-size:16px}.notification-panel-header span{color:var(--text-tertiary);font-size:12px}.notification-panel-header button{color:var(--text-secondary);padding:4px;border-radius:7px}.notification-panel-header button:hover{background:var(--bg-secondary)}.notification-toolbar{min-height:48px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}.notification-tabs{display:flex;align-items:center;gap:4px;padding:3px;border-radius:9px;background:var(--bg-secondary)}.notification-tabs button{min-height:28px;padding:4px 9px;border-radius:7px;display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px}.notification-tabs button.active{color:var(--text-primary);background:var(--bg-primary);box-shadow:0 1px 3px #0f172a1a}.notification-tabs button span{min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:9px;font-weight:700}.mark-all-read{display:flex;align-items:center;gap:5px;padding:6px 7px;border-radius:7px;color:var(--text-secondary);font-size:11px;white-space:nowrap}.mark-all-read:hover{color:var(--text-primary);background:var(--bg-secondary)}.notification-list{padding:8px;overflow-y:auto}.notification-item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:72px;padding:10px 38px 10px 8px;border-radius:12px}.notification-item:hover{background:var(--bg-secondary)}.notification-item.read{opacity:.72}.notification-level-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#d97706;background:#fef3c7}.notification-item.critical .notification-level-icon{color:#dc2626;background:#fee2e2}.notification-item.info .notification-level-icon{color:#2563eb;background:#dbeafe}.notification-item.release{align-items:flex-start;padding-top:12px;padding-bottom:12px}.notification-item.release .notification-level-icon{color:#7c3aed;background:#ede9fe}.notification-copy{min-width:0;text-align:left;display:grid;gap:5px;color:inherit}.notification-copy span{font-size:13px;line-height:1.4}.notification-copy small{color:var(--text-tertiary);font-size:11px}.notification-copy .notification-title{color:var(--text-primary);font-weight:650}.release-copy{cursor:default}.notification-snooze{position:absolute;right:8px;bottom:5px;color:var(--text-tertiary);padding:3px;opacity:0;transition:opacity .2s}.notification-item:hover .notification-snooze,.notification-snooze:focus-visible{opacity:1}.notification-read-btn{position:absolute;right:8px;top:9px;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--text-tertiary)}.notification-read-btn:hover{color:#059669;background:#d1fae5}.notification-empty{min-height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--text-secondary);text-align:center}.notification-empty>span{width:48px;height:48px;border-radius:14px;background:var(--bg-secondary);display:grid;place-items:center}.notification-empty strong{color:var(--text-primary);font-size:14px}.notification-empty small{color:var(--text-tertiary)}.notification-panel-footer{min-height:38px;padding:9px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:11px}@media(max-width:768px){.header{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}.menu-trigger{display:none}.header-greeting{font-size:16px}.settings-trigger,.notification-btn{width:44px;height:44px}.avatar{width:36px;height:36px}.notification-backdrop{background:#0f172a47}.notification-panel{position:absolute;top:auto;bottom:0;left:0;right:0;width:100%;max-height:72vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.notification-snooze{opacity:1}.notification-toolbar{padding-left:10px;padding-right:10px}}.hero-section{padding:clamp(16px,2.5vw,32px) 0 clamp(4px,.6vw,8px)}.hero-label{font-size:clamp(10px,1vw,13px);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:clamp(4px,.6vw,8px)}.hero-amount{font-size:clamp(28px,4vw,52px);font-weight:600;color:var(--text-primary);letter-spacing:-1.5px;line-height:1.1;margin-bottom:clamp(8px,1vw,12px);word-break:break-all}.hero-growth{display:inline-flex;align-items:center;gap:4px;font-size:clamp(11px,1vw,13px);font-weight:500;color:var(--market-rise);background:var(--market-rise-bg);padding:clamp(3px,.4vw,4px) clamp(8px,1vw,10px);border-radius:20px}.hero-growth.positive{color:var(--market-rise);background:var(--market-rise-bg)}.hero-growth.negative{color:var(--market-fall);background:var(--market-fall-bg)}.hero-growth-neutral{color:var(--text-secondary);background:var(--hover-bg)}.hero-section--compact{min-height:48px;display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-soft)}.hero-compact-worth{min-width:0;display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap}.hero-compact-worth span{color:var(--text-secondary);font-size:12px;font-weight:550}.hero-compact-worth strong{min-width:0;color:var(--text-primary);font-size:clamp(16px,2vw,20px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.35px}.hero-compact-divider{width:1px;height:22px;flex:0 0 auto;background:var(--border-strong)}.hero-section--compact .hero-growth{min-width:0;max-width:100%;padding:4px 8px;font-size:12px;white-space:nowrap;overflow:hidden}.hero-section--compact .hero-growth span{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.hero-section--compact{gap:8px;padding-inline:10px}.hero-compact-worth span,.hero-compact-divider{display:none}.hero-compact-worth strong{font-size:16px}.hero-section--compact .hero-growth{margin-left:auto;font-size:11px;padding-inline:7px}}.assets-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-tertiary);text-align:center}.assets-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin-top:12px}.assets-empty span{font-size:12px;margin-top:4px}.asset-section{display:flex;flex-direction:column;gap:16px}.asset-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.asset-section-head .section-title{margin-bottom:4px}.asset-sync-state{display:inline-flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:11px}.asset-sync-state.is-error{color:var(--accent-red)}.asset-refresh{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.asset-refresh>svg{width:15px;height:15px;flex:0 0 15px}.asset-refresh:disabled{opacity:.6;cursor:wait}.asset-cost-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(245,158,11,.32);border-radius:12px;background:#f59e0b14;color:#b45309}.asset-cost-warning-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.asset-cost-warning-copy strong{color:var(--text-primary);font-size:13px;line-height:1.4}.asset-cost-warning-copy span{color:var(--text-secondary);font-size:11px;line-height:1.5}.asset-cost-warning>button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-tertiary)}.asset-cost-warning>button:hover{background:#f59e0b1f;color:var(--text-primary)}[data-theme=dark] .asset-cost-warning{color:#fbbf24;background:#f59e0b1c;border-color:#fbbf244d}.asset-group{margin-bottom:4px}.asset-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.asset-group-title{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.asset-group-count{font-size:11px;color:var(--text-tertiary);background:var(--bg-primary);padding:1px 6px;border-radius:10px}.asset-items{display:flex;flex-direction:column}.asset-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);transition:background .15s}.asset-item:last-child{border-bottom:none}.asset-item:hover{background:var(--bg-primary);margin:0 -24px;padding:14px 24px;border-radius:8px}.asset-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.asset-icon-img{width:28px;height:28px;border-radius:50%;object-fit:contain}.asset-icon-monogram{font-size:10px;font-weight:800;letter-spacing:-.2px}.metal-icon svg{width:25px;height:25px;fill:currentColor;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.gold-icon{color:#c58b12;background:linear-gradient(145deg,#fff7d6,#fde9a6);box-shadow:inset 0 0 0 1px #c58b1221}.silver-icon{color:#718096;background:linear-gradient(145deg,#f4f7fa,#dce3ea);box-shadow:inset 0 0 0 1px #71809629}.other-asset-icon{color:#64748b;background:#f1f5f9;box-shadow:inset 0 0 0 1px #64748b1a}[data-theme=dark] .gold-icon{color:#f4c34e;background:#c58b122e}[data-theme=dark] .silver-icon{color:#cbd5e1;background:#94a3b829}[data-theme=dark] .other-asset-icon{color:#cbd5e1;background:#64748b2e}.asset-letter{font-size:16px;font-weight:700;color:#fff}.mutual-fund-icon{background:linear-gradient(145deg,#eee7ff,#d9ccff);color:#6039b5;border:1px solid rgba(96,57,181,.16);font-size:17px;font-weight:800}[data-theme=dark] .mutual-fund-icon{background:#8b5cf638;color:#d9ccff}.asset-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.asset-symbol{font-size:14px;font-weight:600;color:var(--text-primary)}.asset-name{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-fund-subtype{width:fit-content;padding:1px 5px;border-radius:999px;color:#6d28d9;background:#8b5cf61a;font-size:9px;font-weight:600}[data-theme=dark] .asset-fund-subtype{color:#ddd6fe;background:#8b5cf633}.asset-qty{font-size:11px;color:var(--text-tertiary)}.asset-value-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.asset-holding-value{font-size:14px;font-weight:700;color:var(--text-primary)}.asset-unit-price{font-size:11px;color:var(--text-tertiary)}.asset-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--text-tertiary);opacity:0;transition:all .2s}.asset-item:hover .asset-remove{opacity:1}.asset-remove:hover{background:var(--accent-red-bg);color:var(--accent-red)}.asset-change{font-size:clamp(10px,.9vw,12px);font-weight:500}.asset-change.positive{color:var(--market-rise)}.asset-change.negative{color:var(--market-fall)}@media(max-width:768px){.asset-item{gap:10px;padding:12px 0}.asset-icon{width:36px;height:36px}.asset-remove{display:none}}.assets-view-all{width:100%;margin-top:12px;padding:11px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--primary-color);font:inherit;font-weight:600;cursor:pointer}.assets-view-all:hover{background:var(--hover-bg)}.asset-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:12px 0;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);overflow:hidden}.asset-kpis>div{min-width:0;padding:11px 12px;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--border)}.asset-kpis>div:last-child{border-right:0}.asset-kpis span{font-size:11px;color:var(--text-tertiary)}.asset-kpis strong{font-size:16px}.asset-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(112px,auto) minmax(132px,auto);gap:8px;margin-bottom:16px}.asset-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--bg-secondary);border-radius:10px;padding:0 11px}.asset-search input{width:100%;border:0;background:transparent;color:var(--text-primary);padding:10px 0;outline:none}.asset-toolbar select{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:10px;padding:0 10px}.asset-expand{color:var(--text-tertiary);padding:7px}.asset-item{flex-wrap:wrap}.asset-detail-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;flex-basis:100%;margin-left:50px;padding:10px 0 2px;border-top:1px dashed var(--border)}.asset-detail-row span{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-tertiary)}.asset-detail-row b{color:var(--text-secondary);font-size:11px}.asset-detail-row b.positive{color:var(--market-rise)}.asset-detail-row b.negative{color:var(--market-fall)}.asset-detail-row b.neutral{color:var(--text-secondary)}.asset-detail-edit{align-self:end;justify-self:start;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600}.asset-detail-edit:hover{background:var(--bg-primary);color:var(--text-primary)}.asset-detail-actions{align-self:end;display:flex;align-items:center;gap:7px}.asset-detail-delete{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent-red) 28%,var(--border));border-radius:8px;background:var(--bg-secondary);color:var(--accent-red);font-size:12px;font-weight:600}.asset-cost-pending{color:#b45309!important}.asset-detail-edit--attention{border-color:#f59e0b59;color:#b45309;background:#f59e0b12}[data-theme=dark] .asset-cost-pending,[data-theme=dark] .asset-detail-edit--attention{color:#fbbf24!important}.asset-filter-empty{padding:30px;text-align:center;color:var(--text-tertiary)}@media(max-width:800px){.asset-kpis{grid-template-columns:repeat(2,1fr)}.asset-kpis>div:nth-child(2){border-right:0}.asset-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.asset-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-search{grid-column:1 / -1;min-width:0}.asset-toolbar select{width:100%;height:40px;min-width:0}.asset-detail-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.asset-section-head{align-items:center}.asset-refresh{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;flex:0 0 40px;padding:0;gap:0}.asset-refresh-label{display:none}.asset-cost-warning{align-items:start;padding:11px 12px}}@media(max-width:480px){.asset-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:10px 0 12px}.asset-kpis>div{min-height:68px;padding:9px 10px;gap:4px;justify-content:center}.asset-kpis span{font-size:10px;line-height:1.25}.asset-kpis strong{min-width:0;font-size:clamp(15px,4.25vw,18px);line-height:1.2;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-detail-row{grid-template-columns:1fr;margin-left:42px}.asset-detail-actions{width:100%}.asset-detail-actions>button{flex:1;justify-content:center}.asset-value-col{max-width:112px}.asset-holding-value,.asset-unit-price{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.tx-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary);text-align:center}.tx-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin-top:12px}.tx-empty span{font-size:12px;margin-top:4px}.tx-section{display:flex;flex-direction:column;gap:clamp(8px,1.2vw,16px);width:100%}.tx-header{order:0}.tx-summary{order:1}.tx-budget-card{order:2}.tx-type-filter-bar{order:3}.tx-outflow-scope{order:4}.tx-list{order:5}.tx-insights{order:6}.tx-section>.modal-overlay{order:7}.tx-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.tx-header-actions{display:flex;align-items:center;gap:8px}.tx-type-filter-bar{display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:10px;min-height:48px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-soft)}.tx-type-filter-group{display:flex;align-items:center;gap:12px;min-width:0}.tx-type-filter-label{color:var(--text-secondary);font-size:12px;font-weight:650;white-space:nowrap}.tx-filter-btns{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--bg-primary)}.tx-filter-btn{min-height:30px;padding:5px 11px;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary);transition:background .18s,color .18s,box-shadow .18s}.tx-filter-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.tx-filter-btn.active{background:var(--text-primary);color:var(--bg-card);box-shadow:0 1px 3px #0000001f}[data-theme=dark] .tx-filter-btn.active{color:#111827;background:#f5f5f7}.tx-query-panel{display:grid;gap:5px;min-width:0}.tx-query-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;min-width:0}.tx-query-controls .tx-search,.tx-category-filter{box-sizing:border-box;min-width:0;min-height:40px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:inset 0 1px #ffffff2e}.tx-query-controls .tx-search{padding:0 12px}.tx-query-controls .tx-search input{width:100%;min-width:0;padding:9px 0;color:var(--text-primary);font-size:13px}.tx-query-controls .tx-search input::placeholder{color:var(--text-tertiary);opacity:1}.tx-category-filter{width:100%;padding:8px 32px 8px 12px;font-size:13px;outline:none;cursor:pointer}.tx-query-controls .tx-search:focus-within,.tx-category-filter:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}[data-theme=dark] .tx-query-controls .tx-search,[data-theme=dark] .tx-category-filter{border-color:#686974;background:#2a2a2e;box-shadow:inset 0 1px #ffffff14,0 1px 1px #00000047}[data-theme=dark] .tx-category-filter option{background:#2a2a2e;color:#f5f5f7}.tx-filter-result{padding-left:2px;color:var(--text-tertiary);font-size:11px;font-weight:650;line-height:15px;white-space:nowrap}.tx-outflow-scope{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px 2px 4px;color:var(--text-secondary)}.tx-outflow-scope>span{font-size:12px;font-weight:650;white-space:nowrap}.tx-outflow-scope>div{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.tx-outflow-scope button{min-height:30px;padding:5px 10px;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:650}.tx-outflow-scope button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tx-outflow-scope button.active{background:#6366f1;color:#fff}.tx-outflow-scope small{color:var(--text-tertiary);font-size:11px}.tx-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);box-shadow:var(--shadow-soft);overflow:hidden}.tx-summary-item{min-width:0;display:flex;flex-direction:column;gap:clamp(2px,.3vw,5px);padding:clamp(10px,1.2vw,14px);background:transparent;border:0;border-right:1px solid var(--border);border-radius:0;box-shadow:none}.tx-summary-item:last-child{border-right:0}.tx-summary-label{font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.tx-summary-value{font-size:clamp(14px,1.4vw,18px);font-weight:600;word-break:break-all}.tx-section{--cashflow-income: #15803D;--cashflow-expense: #DC2626}[data-theme=dark] .tx-section{--cashflow-income: #30D158;--cashflow-expense: #FF6961}.tx-summary-item.income .tx-summary-value{color:var(--cashflow-income)}.tx-summary-item.expense .tx-summary-value{color:var(--cashflow-expense)}.tx-summary-item.net .tx-summary-value{color:var(--text-primary)}.tx-summary-item.net .tx-summary-value.positive{color:var(--cashflow-income)}.tx-summary-item.net .tx-summary-value.negative{color:var(--cashflow-expense)}.tx-budget-card{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(430px,.9fr);gap:22px;align-items:stretch;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-soft)}.tx-budget-overview{display:grid;gap:12px;min-width:0}.tx-budget-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tx-budget-heading>div{display:grid;gap:3px}.tx-budget-card strong{font-size:14px;color:var(--text-primary)}.tx-budget-card span{color:var(--text-tertiary);font-size:11px}.tx-budget-status{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:10px;line-height:14px;font-weight:700;color:#047857;background:#10b98121}.tx-budget-status.near{color:#b45309;background:#f59e0b24}.tx-budget-status.over{color:#dc2626;background:#ef444421}.tx-budget-status.unset{color:var(--text-secondary);background:var(--bg-secondary)}[data-theme=dark] .tx-budget-status{color:#6ee7b7;background:#34d39929}[data-theme=dark] .tx-budget-status.near{color:#fcd34d;background:#fbbf2429}[data-theme=dark] .tx-budget-status.over{color:#fca5a5;background:#fca5a529}.tx-budget-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.tx-budget-progress>span{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--bg-secondary)}.tx-budget-progress i{display:block;height:100%;border-radius:inherit;background:#10b981;transition:width .22s ease}.tx-budget-card:has(.tx-budget-status.near) .tx-budget-progress i{background:#f59e0b}.tx-budget-card:has(.tx-budget-status.over) .tx-budget-progress i{background:#ef4444}.tx-budget-progress em{min-width:34px;color:var(--text-secondary);font-size:11px;font-style:normal;font-weight:700;text-align:right}.tx-budget-metrics{display:flex;flex-wrap:wrap;gap:8px 22px}.tx-budget-metrics>span{display:inline-flex;align-items:baseline;gap:6px}.tx-budget-metrics strong{font-size:12px}.tx-budget-metrics strong.over{color:var(--cashflow-expense)}.tx-budget-settings{display:grid;grid-template-columns:minmax(132px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:end;padding-left:20px;border-left:1px solid var(--border)}.tx-billing-cycle-control,.tx-budget-control{display:grid;gap:5px;min-width:0}.tx-billing-cycle-control>span,.tx-budget-control>span{color:var(--text-secondary);font-size:10px;font-weight:700}.tx-billing-cycle-control>div,.tx-budget-control>div{display:flex;align-items:center;min-height:36px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary)}.tx-billing-cycle-control>div{gap:6px;padding-left:9px;color:var(--text-tertiary)}.tx-billing-cycle-control select{width:100%;min-width:0;min-height:34px;border:0;border-radius:9px;background:transparent;color:var(--text-primary);padding:6px 24px 6px 0;font-size:12px;outline:none}.tx-billing-cycle-control select option{background:var(--bg-card);color:var(--text-primary)}[data-theme=dark] .tx-billing-cycle-control select{color-scheme:dark}[data-theme=dark] .tx-billing-cycle-control select option{background:#1f2127;color:#f5f7fb}[data-theme=dark] .tx-billing-cycle-control select option:checked{background:#383b46;color:#fff}.tx-billing-cycle-control b{display:flex;align-items:center;min-height:36px;padding:7px 9px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);color:var(--text-primary);font-size:12px}.tx-billing-cycle-control>div:focus-within,.tx-budget-control>div:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.tx-budget-control>div{padding-left:9px;gap:4px}.tx-budget-control i{color:var(--text-secondary);font-size:13px;font-style:normal;font-weight:700}.tx-budget-control input{width:100%;min-width:0;min-height:34px;border:0;background:transparent;color:var(--text-primary);padding:6px 9px 6px 0;font-size:12px;outline:none}.tx-budget-save{min-height:36px;padding:8px 14px;border-radius:9px;background:var(--text-primary);color:var(--bg-card);font-size:12px;font-weight:700}.tx-budget-save:disabled{cursor:not-allowed;opacity:.55}.tx-budget-save-hint{grid-column:1 / -1;margin:-8px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.45}.tx-list{display:flex;flex-direction:column;gap:clamp(4px,.6vw,8px)}.tx-month-group{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:visible}.tx-month-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:clamp(10px,1.2vw,14px) clamp(12px,1.5vw,20px);color:var(--text-secondary);transition:background .15s;gap:8px}.tx-month-header:hover{background:var(--bg-primary)}.tx-month-left{display:flex;align-items:center;gap:clamp(4px,.6vw,8px)}.tx-month-label{font-size:clamp(12px,1.1vw,14px);font-weight:600;color:var(--text-primary);white-space:nowrap}.tx-month-count{font-size:clamp(9px,.8vw,11px);color:var(--text-tertiary);background:var(--bg-primary);padding:2px 8px;border-radius:10px}.tx-month-right{display:flex;gap:clamp(8px,1.2vw,16px);flex-shrink:0}.tx-month-income{font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--cashflow-income)}.tx-month-expense{font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--cashflow-expense)}.tx-date-group{border-top:1px solid var(--border)}.tx-date-header{padding:clamp(8px,1vw,10px) clamp(12px,1.5vw,20px) clamp(2px,.4vw,4px);font-size:clamp(10px,.9vw,12px);font-weight:500;color:var(--text-tertiary)}.tx-item{display:flex;align-items:center;gap:clamp(10px,1.2vw,14px);padding:clamp(8px,1vw,12px) clamp(12px,1.5vw,20px);transition:background .15s}.tx-item:hover{background:var(--bg-primary)}.tx-item-icon{width:clamp(30px,2.8vw,36px);height:clamp(30px,2.8vw,36px);border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.tx-item-info{flex:1;min-width:0}.tx-item-merchant{font-size:clamp(12px,1.1vw,14px);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.tx-item-right{display:flex;align-items:center;gap:clamp(6px,.8vw,10px);flex-shrink:0}.tx-item-amount{font-size:clamp(12px,1.1vw,14px);font-weight:600;white-space:nowrap}.tx-item-amount.positive{color:var(--cashflow-income)}.tx-item-amount.negative{color:var(--cashflow-expense)}.tx-item-remove{display:flex;align-items:center;justify-content:center;width:clamp(20px,2vw,24px);height:clamp(20px,2vw,24px);border-radius:6px;color:var(--text-tertiary);opacity:0;transition:all .2s}.tx-item:hover .tx-item-remove{opacity:1}.tx-item-remove:hover{background:var(--accent-red-bg);color:var(--accent-red)}@media(max-width:1280px){.tx-insights{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tx-month-header{flex-wrap:wrap}.tx-month-right{margin-left:auto}.tx-type-filter-bar{grid-template-columns:minmax(0,1fr);gap:7px}.tx-type-filter-group,.tx-query-panel{grid-column:1 / -1}}@media(max-width:900px){.tx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tx-summary-item:nth-child(2){border-right:0}.tx-summary-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.tx-budget-card{grid-template-columns:1fr;gap:16px;padding:14px}.tx-budget-settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:14px 0 0;border-top:1px solid var(--border);border-left:0}.tx-type-filter-bar{display:grid;grid-template-columns:1fr;gap:8px;padding:9px 10px}.tx-type-filter-group{min-width:0;gap:7px}.tx-filter-btns{flex:1}.tx-filter-btn{flex:1;padding-inline:6px;text-align:center}.tx-query-panel{grid-column:1 / -1}.tx-outflow-scope{align-items:flex-start;flex-direction:column;gap:5px}.tx-outflow-scope>div{width:100%}.tx-outflow-scope button{flex:1;padding-inline:6px}}.tx-empty-action{margin-top:14px;padding:10px 18px;border:0;border-radius:10px;background:var(--primary-color);color:#fff;font:inherit;font-weight:600;cursor:pointer}.tx-export{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:8px;padding:7px 10px;color:var(--text-secondary);font-size:11px}.tx-advanced-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(5,minmax(105px,1fr));gap:8px;margin:12px 0;align-items:end}.tx-advanced-filters input,.tx-advanced-filters select{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);color:var(--text-primary);padding:9px;font-size:11px;transition:border-color .2s,box-shadow .2s}.tx-date-filter{min-width:0;display:flex;flex-direction:column;gap:4px}.tx-date-filter>label{padding-left:2px;color:var(--text-tertiary);font-size:10px;line-height:12px}.tx-date-input{display:flex;align-items:center;gap:4px;min-width:0}.tx-date-input input{flex:1}.tx-date-clear{flex:0 0 30px;width:30px;height:34px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);color:var(--text-tertiary)}.tx-date-clear:hover{color:var(--text-primary);border-color:#6366f1}.tx-search{display:flex;align-items:center;gap:7px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);padding-left:9px;transition:border-color .2s,box-shadow .2s}.tx-search input{border:0;padding-left:0;outline:none}.tx-advanced-filters input:focus,.tx-advanced-filters select:focus,.tx-search:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.tx-insights{display:grid;grid-template-columns:minmax(310px,.88fr) minmax(420px,1.12fr);align-items:start;gap:14px;margin:14px 0 20px}.tx-chart-card{width:100%;min-width:0;min-height:260px;padding:18px;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg-primary);box-shadow:0 5px 18px #0f172a14;position:relative}.tx-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:48px;border-bottom:1px solid var(--border);padding-bottom:11px}.tx-chart-card h4{font-size:14px;line-height:20px;margin:0 0 4px;color:var(--text-primary)}.tx-chart-heading p{margin:0;color:var(--text-secondary);font-size:11px}.tx-chart-card>span{display:grid;place-items:center;height:170px;color:var(--text-tertiary);font-size:12px}.tx-category-rank{display:grid;gap:9px;margin-top:13px}.tx-category-row{display:grid;position:relative;z-index:1;gap:6px;width:100%;padding:5px 7px 6px;border:0;border-radius:9px;background:transparent;color:var(--text-primary);text-align:left;transition:background .16s ease}.tx-category-row:hover,.tx-category-row:focus-visible{background:var(--bg-secondary);outline:none}.tx-category-row{cursor:default}.tx-category-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.tx-category-name{display:flex;align-items:center;min-width:0;gap:7px;color:var(--text-primary);font-size:13px;font-weight:600;overflow:visible;white-space:nowrap}.tx-category-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--category-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--category-color) 16%,transparent)}.tx-category-bar{height:8px;overflow:hidden;border-radius:999px;background:var(--bg-secondary)}.tx-category-bar b{display:block;height:100%;min-width:6px;border-radius:inherit;background:var(--category-color)}.tx-category-value{display:flex;justify-content:flex-end;align-items:baseline;gap:7px;color:var(--text-primary);font-size:13px;font-weight:700;white-space:nowrap}.tx-category-value small{color:var(--text-secondary);font-size:11px;font-weight:500}.tx-chart-legend{display:inline-flex;align-items:center;margin-right:8px;padding:3px 6px;border-radius:999px;font-size:11px;font-weight:600}.tx-chart-legend:before{content:"";width:7px;height:7px;margin-right:5px;border-radius:2px;background:currentColor}.tx-chart-legend.income{color:#047857;background:#10b9811f}.tx-chart-legend.expense{color:#c2413a;background:#f8717121}.tx-trend-change{max-width:230px;padding:6px 9px;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:600;line-height:16px;text-align:right}.tx-trend-change.up{color:#c2413a}.tx-trend-change.down{color:#047857}[data-theme=dark] .tx-chart-legend.income,[data-theme=dark] .tx-trend-change.down{color:#6ee7b7}[data-theme=dark] .tx-chart-legend.expense,[data-theme=dark] .tx-trend-change.up{color:#fca5a5}.tx-trend-chart{height:220px;margin-top:11px}.tx-trend-sparse{min-height:176px;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:12px 4px 0}.tx-trend-sparse>p{max-width:420px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.tx-trend-sparse>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tx-trend-sparse span{min-width:0;display:flex;flex-direction:column;gap:5px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-tertiary);font-size:11px}.tx-trend-sparse strong{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;line-height:1.4}.tx-trend-sparse em{font-style:normal;white-space:nowrap}.tx-cashflow-income{color:var(--cashflow-income)}.tx-cashflow-expense{color:var(--cashflow-expense)}@media(min-width:901px){.tx-insights{align-items:stretch}.tx-chart-card{height:100%;display:flex;flex-direction:column}.tx-trend-chart{flex:1 1 auto;height:auto;min-height:220px}.tx-trend-sparse{flex:1 1 auto}}.tx-item-note{color:var(--text-tertiary);font-size:10px;margin-top:3px}.tx-item-action{color:var(--text-tertiary);padding:5px}.tx-item-action:hover{color:var(--text-primary)}.tx-more-wrap{position:relative;display:flex;align-items:center}.tx-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:168px;padding:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #0f172a24}.tx-more-menu button{width:100%;min-height:34px;padding:7px 9px;display:flex;align-items:center;gap:8px;color:var(--text-secondary);border-radius:7px;font-size:11px;text-align:left;white-space:nowrap}.tx-more-menu button:hover{color:var(--text-primary);background:var(--bg-primary)}[data-theme=dark] .tx-more-menu{box-shadow:0 12px 30px #0000006b}@media(max-width:900px){.tx-advanced-filters{grid-template-columns:repeat(2,1fr)}.tx-search{grid-column:1 / -1}.tx-insights{grid-template-columns:1fr}}@media(max-width:480px){.tx-summary{gap:0}.tx-summary-item{min-height:68px;padding:9px 10px;justify-content:center}.tx-summary-label{font-size:10px;line-height:1.25}.tx-summary-value{min-width:0;font-size:clamp(15px,4.25vw,18px);line-height:1.2;word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-budget-settings{grid-template-columns:1fr;gap:10px}.tx-budget-save{width:100%}.tx-item{gap:8px}.tx-item-right{gap:4px}.tx-more-menu{position:fixed;left:16px;right:16px;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));min-width:0;padding:8px;border-radius:13px}.tx-more-menu button{min-height:42px;font-size:12px}.tx-chart-card{min-height:0;padding:14px}.tx-chart-heading{min-height:47px;padding-bottom:9px}.tx-chart-card h4{font-size:13px}.tx-trend-change{max-width:142px;padding:5px 7px;font-size:9px;line-height:13px}.tx-category-rank{gap:7px;margin-top:10px}.tx-category-row{padding:4px 2px}.tx-category-name,.tx-category-value{font-size:12px}.tx-category-value small{font-size:10px}.tx-trend-chart{height:156px}.tx-trend-sparse{min-height:156px;gap:12px}.tx-trend-sparse>p{font-size:11px}.tx-trend-sparse>div{grid-template-columns:1fr;gap:7px}.tx-trend-sparse span{padding:8px 10px;font-size:10px}.tx-trend-sparse strong{font-size:11px}.tx-query-controls{grid-template-columns:minmax(0,1fr) minmax(112px,.9fr);gap:8px}.tx-filter-result{font-size:10px}}@media(max-width:640px){.tx-budget-card,.tx-insights,.tx-chart-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.tx-insights{grid-template-columns:minmax(0,1fr);gap:16px}.tx-budget-card,.tx-chart-card{padding:14px;border:1px solid var(--border-strong);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-soft)}.tx-month-header{align-items:flex-start;flex-direction:column;padding:12px 14px}.tx-month-left{width:100%;min-width:0}.tx-month-label{overflow:hidden;text-overflow:ellipsis}.tx-month-right{box-sizing:border-box;width:100%;margin-left:0;padding-left:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.tx-month-income,.tx-month-expense{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.tx-month-income{text-align:left}.tx-month-expense{text-align:right}.tx-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px}.tx-item-right{display:grid;grid-template-columns:max-content 36px 36px;gap:5px;align-items:center}.tx-item-amount{font-size:13px}.tx-item-remove,.tx-item-action{width:36px;height:36px;opacity:1;padding:0}.tx-item-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.tx-trend-chart{height:168px}}@media(max-width:480px){.tx-month-right{grid-template-columns:1fr;gap:2px;padding-left:24px}.tx-month-income,.tx-month-expense{text-align:left}.tx-item{grid-template-columns:32px minmax(0,1fr) auto}.tx-item-icon{width:32px;height:32px}.tx-item-right{grid-template-columns:max-content 32px 32px;gap:3px}.tx-item-remove,.tx-item-action{width:32px;height:32px}.tx-item-amount{max-width:112px;overflow:hidden;text-overflow:ellipsis;font-size:12px}.tx-chart-heading{flex-direction:column;gap:7px;min-height:0}.tx-trend-change{align-self:flex-start;max-width:100%;text-align:left}.tx-category-meta{gap:7px}.tx-category-name{max-width:52%;overflow:hidden;text-overflow:ellipsis}.tx-category-value{max-width:48%;overflow:hidden;text-overflow:ellipsis}}.tx-query-controls{grid-template-columns:minmax(0,1.1fr) minmax(130px,.9fr);gap:8px}.tx-query-controls .tx-search{grid-column:auto;min-height:38px;padding-inline:11px}.tx-category-filter{min-height:38px;padding-block:7px}.tx-query-controls .tx-search input{min-height:0;border:0;background:transparent;color:var(--text-primary);caret-color:#6366f1}[data-theme=dark] .tx-query-controls .tx-search,[data-theme=dark] .tx-category-filter{border-color:#5d606b;background:#24252b;color:#f5f5f7;box-shadow:inset 0 1px #ffffff12,0 1px 2px #00000059}[data-theme=dark] .tx-query-controls .tx-search input{background:transparent!important;color:#f5f5f7;caret-color:#a5b4fc}[data-theme=dark] .tx-query-controls .tx-search input::placeholder{color:#aeb2bf}[data-theme=dark] .tx-category-filter{color-scheme:dark}[data-theme=dark] .tx-category-filter option{background:#24252b;color:#f5f5f7}[data-theme=dark] .tx-query-controls .tx-search:focus-within,[data-theme=dark] .tx-category-filter:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf83d}@media(max-width:480px){.tx-query-controls{grid-template-columns:minmax(0,1.08fr) minmax(118px,.92fr);gap:7px}.tx-query-controls .tx-search,.tx-category-filter{min-height:37px}}.goals-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary);text-align:center}.goals-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin-top:12px}.goals-empty span{font-size:12px;margin-top:4px}.goals-section{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px)}.goals-header{display:flex;align-items:center;justify-content:space-between}.goals-overall{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(14px,1.8vw,20px);box-shadow:var(--shadow-soft)}.goals-overall-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(8px,1vw,12px)}.goals-overall-label{font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--text-primary)}.goals-overall-pct{font-size:clamp(14px,1.3vw,16px);font-weight:600;color:var(--accent-green)}.goals-overall-bar{height:6px;background:var(--bg-primary);border-radius:4px;overflow:hidden;margin-bottom:clamp(6px,.8vw,10px)}.goals-overall-fill{height:100%;background:linear-gradient(90deg,var(--accent-green) 0%,#047857 100%);border-radius:4px;transition:width .8s}.goals-overall-meta{display:flex;justify-content:space-between;font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(10px,1.2vw,16px)}.goal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(14px,1.8vw,20px);box-shadow:var(--shadow-soft);transition:border-color .25s,box-shadow .25s}.goal-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.goal-card.achievable{border:1px solid rgba(16,185,129,.2)}.goal-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(10px,1.2vw,16px)}.goal-icon-wrap{width:clamp(34px,3vw,40px);height:clamp(34px,3vw,40px);border-radius:10px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.goal-icon-wrap.achieved{background:var(--accent-green-bg);color:var(--accent-green)}.goal-badge{font-size:clamp(8px,.8vw,10px);font-weight:600;color:var(--accent-green);background:var(--accent-green-bg);padding:clamp(2px,.3vw,3px) clamp(5px,.6vw,8px);border-radius:10px;margin-left:auto;margin-right:clamp(5px,.6vw,8px)}.goal-remove-btn{display:flex;align-items:center;justify-content:center;width:clamp(22px,2vw,28px);height:clamp(22px,2vw,28px);border-radius:6px;color:var(--text-tertiary);opacity:0;transition:all .2s}.goal-card:hover .goal-remove-btn{opacity:1}.goal-remove-btn:hover{background:var(--accent-red-bg);color:var(--accent-red)}.goal-card-body{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}.goal-name{font-size:clamp(13px,1.2vw,15px);font-weight:600;color:var(--text-primary)}.goal-amounts{display:flex;align-items:baseline;gap:4px}.goal-current{font-size:clamp(18px,2vw,22px);font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.goal-separator,.goal-target{font-size:clamp(12px,1.1vw,14px);color:var(--text-tertiary)}.goal-progress-wrap{display:flex;align-items:center;gap:clamp(6px,.8vw,10px)}.goal-progress-bar{flex:1;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-green) 0%,#047857 100%);border-radius:3px;transition:width .8s}.goal-progress-pct{font-size:clamp(10px,.9vw,12px);font-weight:600;color:var(--text-secondary);min-width:32px;text-align:right}.goal-meta{display:flex;align-items:center;justify-content:space-between}.goal-deadline{display:flex;align-items:center;gap:4px;font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.goal-remaining{font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary)}.goal-achieved-msg{margin-top:clamp(8px,1vw,12px);padding:clamp(6px,.8vw,8px) clamp(8px,1vw,12px);background:var(--accent-green-bg);border-radius:6px;font-size:clamp(10px,.9vw,12px);font-weight:500;color:var(--accent-green);text-align:center}.delete-modal{max-width:360px;text-align:center;padding:32px}.delete-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-red-bg);color:var(--accent-red);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.delete-modal h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.delete-modal p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.delete-modal strong{color:var(--text-primary)}.delete-actions{display:flex;gap:10px}.cancel-btn,.confirm-btn{flex:1;padding:10px;border-radius:8px;font-size:14px;font-weight:600}.cancel-btn{color:var(--text-secondary);background:var(--bg-primary)}.confirm-btn{color:#fff;background:var(--accent-red)}@media(max-width:768px){.goals-grid{grid-template-columns:1fr}}.goal-primary-action,.goal-contribute{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px;border-radius:9px;background:var(--text-primary);color:var(--bg-card);font-size:11px;font-weight:600}.goals-empty .goal-primary-action{margin-top:14px}.goal-card-header{justify-content:flex-start;gap:7px}.goal-status,.goal-priority{font-size:9px;padding:3px 6px;border-radius:999px}.goal-status.onTrack{color:#047857;background:#10b98124;border:1px solid rgba(16,185,129,.22)}.goal-status.atRisk{color:#b91c1c;background:#ef44441f;border:1px solid rgba(239,68,68,.2)}.goal-status.completed{color:#1d4ed8;background:#3b82f61f;border:1px solid rgba(59,130,246,.2)}.goal-priority.high{color:#b91c1c;background:#ef44441f;border:1px solid rgba(239,68,68,.2)}.goal-priority.medium{color:#92400e;background:#f59e0b24;border:1px solid rgba(245,158,11,.22)}.goal-priority.low{color:#475569;background:#64748b1f;border:1px solid rgba(100,116,139,.2)}.goal-status.onTrack{color:#047857}.goal-status.atRisk,.goal-priority.high{color:#b91c1c}[data-theme=dark] .goal-status.onTrack{color:#6ee7b7;background:#10b98129;border-color:#34d39940}[data-theme=dark] .goal-status.atRisk,[data-theme=dark] .goal-priority.high{color:#fca5a5;background:#f8717129;border-color:#fca5a540}[data-theme=dark] .goal-status.completed{color:#93c5fd;background:#60a5fa29;border-color:#93c5fd40}[data-theme=dark] .goal-priority.medium{color:#fcd34d;background:#f59e0b29;border-color:#fcd34d3d}[data-theme=dark] .goal-priority.low{color:#cbd5e1;background:#94a3b829;border-color:#cbd5e133}.goal-icon-action{margin-left:auto;color:var(--text-tertiary);padding:5px}.goal-remove-btn{margin-left:0}.goal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.goal-metrics span{background:var(--bg-primary);padding:8px;border-radius:8px;display:flex;flex-direction:column;gap:3px;min-width:0}.goal-metrics small{color:var(--text-tertiary);font-size:9px}.goal-metrics b{color:var(--text-secondary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-contribute{width:100%;min-height:38px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);transition:border-color .2s,background .2s,transform .2s}.goal-contribute:hover:not(:disabled){border-color:var(--text-tertiary);background:var(--bg-card);transform:translateY(-1px)}.goal-contribute:disabled{opacity:.45;cursor:not-allowed}.goal-history{padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:7px}.goal-history-title{display:flex;align-items:center;justify-content:space-between}.goal-history-title>span{display:flex;gap:6px;align-items:center;font-size:10px;font-weight:600;color:var(--text-secondary)}.goal-history-title>small{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:var(--bg-primary);color:var(--text-tertiary);font-size:9px}.goal-history-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;align-items:center;font-size:9px}.goal-history-item>span{color:var(--text-tertiary)}.goal-history-item>strong{color:var(--accent-green);font-size:10px}.goal-history-item>small{color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contribution-modal{max-width:500px}.contribution-modal-header>div{display:flex;align-items:center;gap:11px}.contribution-modal-header>div>div{display:grid;gap:3px}.contribution-modal-header p{color:var(--text-tertiary);font-size:11px}.contribution-modal-header>button{padding:6px;border-radius:8px;color:var(--text-secondary)}.contribution-modal-header>button:hover{background:var(--bg-primary)}.contribution-header-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--accent-green);background:var(--accent-green-bg)}.contribution-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contribution-summary>div{padding:12px;border-radius:10px;background:var(--bg-primary);display:grid;gap:4px}.contribution-summary span{color:var(--text-tertiary);font-size:10px}.contribution-summary strong{color:var(--text-primary);font-size:14px}.contribution-hint{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border-radius:9px;background:var(--accent-green-bg);color:var(--accent-green);font-size:11px;line-height:1.45}.contribution-hint svg{flex:0 0 auto;margin-top:1px}.contribution-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;padding-top:2px}.contribution-cancel,.contribution-submit{min-height:42px;border-radius:9px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px}.contribution-cancel{color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border)}.contribution-submit{color:var(--bg-card);background:var(--text-primary)}[data-theme=dark] .contribution-submit{color:#111827;background:#f5f5f7}.contribution-submit:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.goal-metrics{grid-template-columns:1fr}.contribution-modal{margin:0;border-radius:18px 18px 0 0;max-height:88vh;align-self:flex-end}.modal-overlay:has(.contribution-modal){align-items:flex-end;padding:0}.contribution-summary{grid-template-columns:1fr 1fr}.contribution-actions{position:sticky;bottom:0;background:var(--bg-card);padding-bottom:max(2px,env(safe-area-inset-bottom))}}@media(hover:none),(max-width:768px){.goal-remove-btn{opacity:1}}.debt-page{display:flex;flex-direction:column;gap:16px}.debt-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.debt-simulate{min-height:34px;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-primary);color:var(--text-primary);font-size:11px;font-weight:650;white-space:nowrap}.debt-simulate:hover{background:var(--bg-secondary)}.debt-planner-overlay{padding:16px}.debt-planner-modal{width:min(620px,100%);max-width:620px;overflow:visible}.debt-planner-modal .debt-planner{margin:0;border:0;border-radius:0;padding:18px 24px 24px;background:transparent}.debt-visuals{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px}.debt-visual-card{min-height:206px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-primary)}.debt-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--border)}.debt-visual-head>span{display:flex;align-items:center;gap:7px;color:var(--text-primary)}.debt-visual-head strong{font-size:14px}.debt-visual-head small{color:var(--text-tertiary);font-size:11px;text-align:right}.debt-composition-bar{display:flex;overflow:hidden;height:10px;margin:16px 0 13px;border-radius:999px;background:var(--bg-secondary)}.debt-composition-bar i{display:block;min-width:3px;height:100%;background:var(--debt-color)}.debt-composition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.debt-composition-list>div{display:flex;justify-content:space-between;gap:8px;min-width:0;color:var(--text-secondary);font-size:12px}.debt-composition-list span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.debt-composition-list i{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--debt-color)}.debt-composition-list b{flex:0 0 auto;color:var(--text-primary);font-size:12px}.debt-composition-list b small{margin-left:3px;color:var(--text-tertiary);font-size:10px;font-weight:600}.debt-due-list{display:grid;gap:8px;margin-top:11px}.debt-due-list>div{display:flex;align-items:center;gap:9px;min-width:0}.debt-due-list>div>b{width:34px;height:34px;flex:0 0 34px;display:grid;place-content:center;border-radius:9px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;line-height:12px;text-align:center}.debt-due-list>div.soon>b{color:#b45309;background:#f59e0b24}.debt-due-list>div>b small{font-size:9px;font-weight:600}.debt-due-list>div>span{display:grid;gap:2px;min-width:0}.debt-due-list strong{overflow:hidden;color:var(--text-primary);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.debt-due-list small{color:var(--text-tertiary);font-size:10px}.debt-schedule-empty{display:grid;min-height:90px;place-items:center;color:var(--text-tertiary);font-size:12px}.debt-payment-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.debt-payment-rate span{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;color:var(--text-secondary);font-size:11px}.debt-payment-rate small{grid-column:2;color:var(--text-tertiary);font-size:10px}.debt-payment-rate strong{color:var(--text-primary);font-size:17px}@media(max-width:700px){.debt-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.debt-page .form-modal{max-height:92dvh!important}.debt-page .form-modal .modal-form{gap:10px;padding:14px 20px 0}.debt-page .form-modal .form-group{gap:5px}.debt-page .form-modal input,.debt-page .form-modal select{min-height:42px}.debt-page .form-actions{position:sticky;bottom:0;z-index:2;margin:0 -20px;padding:12px 20px max(14px,env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid var(--border)}.debt-page .form-actions button{flex:1;min-height:44px}}.debt-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:6px 0}.debt-page-head h2{margin:0;color:var(--text-primary);font-size:22px}.debt-page-head p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;max-width:650px}.debt-add,.debt-empty button{border:0;border-radius:9px;background:var(--text-primary);color:var(--bg-card);padding:10px 14px;display:inline-flex;align-items:center;gap:6px;font-weight:600}.debt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.debt-kpi,.debt-priority,.debt-card,.debt-empty{border:1px solid var(--border);background:var(--bg-primary);border-radius:14px}.debt-kpi{display:flex;gap:10px;padding:16px}.debt-kpi>span{width:36px;height:36px;border-radius:10px;background:var(--bg-secondary);display:grid;place-items:center}.debt-kpi small,.debt-metrics small{display:block;color:var(--text-tertiary);font-size:11px}.debt-kpi strong{display:block;color:var(--text-primary);margin-top:3px}.debt-priority{display:flex;gap:10px;padding:14px;color:var(--accent-green)}.debt-priority strong{color:var(--text-primary)}.debt-priority span{display:block;margin-top:3px;font-size:12px;color:var(--text-secondary)}.debt-list{display:flex;flex-direction:column;gap:10px}.debt-card{display:flex;align-items:flex-start;gap:12px;padding:15px}.debt-rank{width:28px;height:28px;border-radius:50%;background:var(--bg-secondary);display:grid;place-items:center;font-weight:700;color:var(--text-secondary);font-size:12px}.debt-main{flex:1;min-width:0}.debt-name{display:flex;align-items:baseline;gap:8px}.debt-name strong{color:var(--text-primary)}.debt-name span{font-size:12px;color:var(--text-secondary)}.debt-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.debt-metrics b{font-size:13px;color:var(--text-primary)}.debt-rate-high{color:#c73a3a!important}.debt-note{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}.debt-actions{display:flex;gap:5px}.debt-actions button{border:0;background:transparent;color:var(--text-secondary);padding:5px}.debt-actions .danger{color:#c73a3a}.debt-empty{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:var(--text-secondary);text-align:center;padding:20px}.debt-empty strong{color:var(--text-primary)}.debt-empty span{max-width:420px;font-size:13px}.debt-empty button{margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-actions button{border:0;border-radius:8px;padding:10px 15px;background:var(--text-primary);color:var(--bg-card)}.form-actions .secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}[data-theme=dark] .debt-rate-high,[data-theme=dark] .debt-actions .danger{color:#fca5a5!important}@media(max-width:700px){.debt-page-head{flex-direction:column}.debt-kpis,.debt-metrics{grid-template-columns:repeat(2,1fr)}.debt-card{padding:12px}.form-row{grid-template-columns:1fr}}.debt-planner{border:1px solid var(--border);border-radius:14px;background:var(--bg-primary);padding:16px;display:flex;flex-direction:column;gap:12px}.debt-planner-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.debt-planner-head>span{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.debt-planner>p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.debt-strategy{display:flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary)}.debt-strategy button{min-height:34px;padding:0 11px;border-radius:7px;color:var(--text-secondary);font-size:12px;font-weight:600}.debt-strategy button.active{background:var(--text-primary);color:var(--bg-card)}.debt-planner-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.debt-planner-grid>label,.debt-planner-grid>div{min-height:68px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--bg-card);display:flex;flex-direction:column;justify-content:center;gap:6px}.debt-planner-grid span{color:var(--text-tertiary);font-size:11px}.debt-planner-grid strong{color:var(--text-primary);font-size:15px}.debt-planner-grid input{width:100%;min-height:32px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:15px;font-weight:650;outline:none}.debt-plan-warning{display:flex;align-items:center;gap:7px;color:var(--accent-red);font-size:12px}.form-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:700px){.debt-planner-head{align-items:flex-start;flex-direction:column}.debt-strategy{width:100%}.debt-strategy button{flex:1}.debt-planner-grid{grid-template-columns:1fr 1fr}.debt-planner-grid>label{grid-column:1/-1}}@media(max-width:800px){.debt-visuals{grid-template-columns:1fr}.debt-visual-card{min-height:0}}.debt-form-modal{max-width:520px}.debt-modal-form input,.debt-modal-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.debt-modal-form input:focus,.debt-modal-form select:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.debt-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px -24px -24px;padding:16px 24px 20px;border-top:1px solid var(--border);background:var(--bg-card)}.debt-form-actions>button{width:100%;min-height:46px;padding:0 18px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:650;transition:transform .15s ease,background .15s ease,border-color .15s ease}.debt-form-actions>button:active{transform:scale(.985)}.debt-form-cancel{border:1px solid var(--border-strong)!important;background:var(--bg-card)!important;color:var(--text-primary)!important}.debt-form-cancel:hover{background:var(--bg-secondary)!important}.debt-form-save{border:1px solid var(--text-primary)!important;background:var(--text-primary)!important;color:var(--bg-card)!important}.debt-form-save:hover:not(:disabled){opacity:.9}.debt-add{min-height:34px;padding:8px 13px;border:1px solid var(--text-primary);border-radius:9px;background:var(--text-primary);color:var(--bg-card);font-size:11px;line-height:1;font-weight:600;white-space:nowrap;box-shadow:none}.debt-add:hover{opacity:.88;transform:none}.debt-empty button{min-height:40px;border-radius:10px;padding-inline:15px;background:var(--text-primary);color:var(--bg-card)}[data-theme=dark] .debt-add,[data-theme=dark] .debt-empty button{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-card)}.settled-debt-records{margin-top:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary)}.settled-debt-records summary{display:flex;align-items:center;gap:8px;padding:13px 15px;cursor:pointer;color:var(--text-primary);font-size:13px;font-weight:650}.settled-debt-records summary b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:99px;background:var(--bg-card);color:var(--text-secondary);font-size:10px}.settled-debt-records>p{margin:0;padding:0 15px 11px;color:var(--text-tertiary);font-size:11px}.settled-debt-records>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 15px 15px}.settled-debt-records>div>span{display:flex;min-width:0;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg)}.settled-debt-records strong{overflow:hidden;color:var(--text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settled-debt-records small{color:var(--text-tertiary);font-size:10px}.settled-debt-records button{align-self:flex-start;margin-top:4px;padding:0;border:0;background:transparent;color:#6366f1;font-size:11px;font-weight:650}.settled-debt-records button:hover{text-decoration:underline}.debt-cycle-overview{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--bg-primary)}.debt-cycle-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.debt-cycle-head strong{color:var(--text-primary);font-size:14px}.debt-cycle-head small{color:var(--text-tertiary);font-size:10px}.debt-cycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.debt-cycle-item{min-width:0;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.debt-cycle-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.debt-cycle-item>div>strong{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.debt-cycle-item>small{display:block;margin-top:5px;color:var(--text-tertiary);font-size:9px}.debt-cycle-item>p{margin:8px 0 0;color:var(--text-secondary);font-size:10px}.debt-cycle-item>p b{color:var(--text-primary)}.debt-cycle-badge{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);font-size:9px;font-weight:650}.debt-cycle-item.partial .debt-cycle-badge{background:#f59e0b24;color:#b45309}.debt-cycle-item.paid .debt-cycle-badge,.debt-cycle-item.settled .debt-cycle-badge{background:#10b98124;color:#047857}[data-theme=dark] .debt-cycle-item.partial .debt-cycle-badge{color:#fbbf24}[data-theme=dark] .debt-cycle-item.paid .debt-cycle-badge,[data-theme=dark] .debt-cycle-item.settled .debt-cycle-badge{color:#34d399}@media(max-width:700px){.debt-page-head{flex-direction:column;align-items:stretch;gap:10px}.debt-page-head>div:first-child{min-width:0}.debt-page-head h2{overflow-wrap:normal;word-break:normal}.debt-page-head p{max-width:none;overflow-wrap:normal;word-break:normal}.debt-head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}.debt-head-actions>button{min-width:0;justify-content:center}.debt-add{min-height:34px;padding:8px 11px}.debt-simulate{min-height:34px;padding:8px 10px}.debt-planner-overlay{align-items:flex-end;padding:0}.debt-planner-modal{width:100%;max-width:none;border-radius:18px 18px 0 0}.debt-planner-modal .debt-planner{padding:15px 20px max(22px,env(safe-area-inset-bottom))}.debt-cycle-grid{grid-template-columns:1fr}.debt-cycle-head{align-items:flex-start;flex-direction:column;gap:3px}}@media(max-width:480px){.debt-page-head{gap:10px}.debt-page-head p{max-width:none}.debt-add{flex:0 0 auto}.debt-simulate{padding:8px}.debt-composition-list{grid-template-columns:1fr}.debt-visual-card{padding:14px}.settled-debt-records>div{grid-template-columns:1fr}}.debt-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.debt-metrics>span{min-width:0;padding:10px 11px;border-right:1px solid var(--border)}.debt-metrics>span:last-child{border-right:0}@media(max-width:700px){.debt-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.debt-metrics>span:nth-child(2){border-right:0}.debt-metrics>span:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media(max-width:480px){.debt-metrics>span{min-height:64px;display:flex;flex-direction:column;justify-content:center;padding:8px 9px}.debt-metrics small{font-size:10px;line-height:1.25}.debt-metrics b{font-size:clamp(14px,4vw,17px)}}@media(max-width:700px){.debt-page .debt-form-modal{max-height:min(88dvh,760px)!important}.debt-page .debt-modal-form{gap:13px;padding:16px 20px 0}.debt-page .debt-modal-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.debt-page .debt-modal-form input,.debt-page .debt-modal-form select{min-height:46px;font-size:16px}.debt-page .debt-form-actions{position:sticky;bottom:0;z-index:2;margin:2px -20px 0;padding:12px 20px max(14px,env(safe-area-inset-bottom));box-shadow:0 -8px 20px #0f172a0d}.debt-page .debt-form-actions>button{min-height:48px;border-radius:12px}}@media(max-width:480px){.debt-page .debt-modal-form{gap:11px;padding:14px 16px 0}.debt-page .debt-modal-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.debt-page .debt-modal-form input,.debt-page .debt-modal-form select{min-width:0;padding-inline:9px}.debt-page .debt-form-actions{margin-inline:-16px;padding-inline:16px}}@media(max-width:480px){.debt-page{gap:12px}.debt-page-head{gap:8px}.debt-page-head h2{font-size:20px}.debt-page-head p{max-width:100%;font-size:12px}.debt-head-actions{width:100%}.debt-head-actions>button{min-width:0;justify-content:center}.debt-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.debt-kpi{min-height:76px;gap:8px;padding:10px;align-items:center}.debt-kpi>span{width:32px;height:32px;flex:0 0 32px;border-radius:9px}.debt-kpi small{font-size:10px;line-height:1.25}.debt-kpi strong{min-width:0;font-size:clamp(15px,4.25vw,18px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-kpi:last-child{grid-column:1 / -1;min-height:50px}.debt-kpi:last-child>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}.debt-kpi:last-child strong{margin-top:0}.debt-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;gap:8px;padding:12px}.debt-rank{grid-column:1;grid-row:1;width:24px;height:24px;flex:0 0 24px;align-self:start}.debt-main{display:contents}.debt-name{grid-column:2;grid-row:1;align-items:flex-start;flex-direction:column;gap:2px}.debt-name strong,.debt-name span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-metrics{grid-column:1 / -1;grid-row:2;width:100%;margin-top:2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.debt-metrics>span{min-width:0;min-height:68px;padding:10px 12px}.debt-metrics b{display:block;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:clamp(14px,4vw,17px)}.debt-note{grid-column:1 / -1;grid-row:3;width:100%;margin-top:0}.debt-actions{grid-column:3;grid-row:1;display:flex;flex:0 0 auto;align-self:start;gap:1px}.debt-actions button{width:30px;height:30px;padding:5px}.debt-visual-card{padding:12px}.debt-visual-head{gap:8px}.debt-visual-head small{max-width:45%}.debt-payment-rate{align-items:flex-start;flex-direction:column;gap:5px}.debt-payment-rate strong{font-size:16px}}.debt-note{line-height:1.4;overflow-wrap:anywhere}.debt-note:before{content:"备注：";color:var(--text-tertiary);font-weight:650}:lang(en) .debt-note:before{content:"Note: "}@media(max-width:480px){.debt-note{padding:1px 2px 0;font-size:11px}}.debt-inline-status{margin-top:10px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.portfolio-chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(16px,2vw,24px);box-shadow:var(--shadow-soft)}.portfolio-chart-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.portfolio-chart-layout{display:flex;align-items:center;gap:clamp(16px,2.5vw,32px)}.portfolio-chart-wrap{position:relative;width:clamp(160px,15vw,200px);height:clamp(160px,15vw,200px);flex-shrink:0}.portfolio-chart-empty{width:100%;height:100%;display:grid;place-items:center;padding:22px;border:1px dashed var(--border-strong);border-radius:50%;color:var(--text-secondary);font-size:12px;line-height:1.45;text-align:center}.portfolio-chart-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.chart-center-label{font-size:clamp(10px,.9vw,12px);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.chart-center-value{font-size:clamp(13px,1.2vw,16px);font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.portfolio-chart-legend{flex:1;display:flex;flex-direction:column;gap:clamp(8px,1vw,12px);min-width:0}.portfolio-valuation-note{margin:0 0 2px;padding:6px 8px;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;line-height:1.35}.portfolio-valuation-note.cost{color:#a16207}.portfolio-valuation-note.unavailable{color:var(--accent-red)}[data-theme=dark] .portfolio-valuation-note.cost{color:#fcd34d}.legend-item{display:flex;align-items:center;justify-content:space-between;padding:clamp(6px,.8vw,8px) clamp(8px,1vw,12px);border-radius:8px;background:var(--bg-primary);transition:background .15s}.legend-item:hover{background:var(--border)}.legend-left{display:flex;align-items:center;gap:clamp(6px,.8vw,10px);min-width:0}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label{font-size:clamp(11px,1vw,13px);font-weight:500;color:var(--text-primary)}.legend-count{font-size:clamp(9px,.8vw,11px);color:var(--text-tertiary)}.legend-right{display:flex;align-items:center;gap:clamp(8px,1vw,12px);flex-shrink:0}.legend-value{font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--text-primary)}.legend-pct{font-size:clamp(10px,.9vw,12px);color:var(--text-tertiary);min-width:40px;text-align:right}.portfolio-chart-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.portfolio-chart-heading button{color:var(--text-secondary);font-size:12px;padding:7px 10px;border:1px solid var(--border);border-radius:8px}.investment-funding-summary{margin:0 0 18px;padding:13px 14px;background:color-mix(in srgb,#4F46E5 6%,var(--bg-primary));border:1px solid color-mix(in srgb,#4F46E5 20%,var(--border));border-radius:12px}.investment-funding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.investment-funding-heading>div{min-width:0;display:flex;flex-direction:column;gap:3px}.investment-funding-heading strong{color:var(--text-primary);font-size:13px;font-weight:700}.investment-funding-heading span{color:var(--text-secondary);font-size:10px;line-height:1.45}.investment-funding-heading>b{color:#4f46e5;font-size:17px;line-height:1.2;white-space:nowrap}.investment-funding-heading-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.investment-funding-heading-actions b{color:#4f46e5;font-size:17px;line-height:1.2;white-space:nowrap}.investment-funding-heading-actions button,.funding-link-manager-heading button{padding:6px 9px;border:1px solid color-mix(in srgb,#4F46E5 30%,var(--border));border-radius:8px;color:#4f46e5;background:var(--bg-card);font-size:10px;font-weight:650;white-space:nowrap}.investment-funding-heading-actions button:disabled,.funding-link-manager-heading button:disabled{opacity:.4;cursor:not-allowed}.investment-funding-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.investment-funding-metrics>div{min-width:0;overflow:hidden;padding:9px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:9px}.investment-funding-metrics span{display:block;overflow-wrap:anywhere;color:var(--text-tertiary);font-size:9px;line-height:1.35}.investment-funding-metrics strong{display:block;margin-top:3px;color:var(--text-primary);font-size:12px}.investment-funding-metrics .available{border-color:color-mix(in srgb,#10B981 28%,var(--border))}.investment-funding-metrics .available strong{color:var(--accent-green)}[data-theme=dark] .investment-funding-heading>b{color:#a5b4fc}[data-theme=dark] .investment-funding-heading-actions b,[data-theme=dark] .investment-funding-heading-actions button,[data-theme=dark] .funding-link-manager-heading button{color:#a5b4fc}.funding-link-manager{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,#4F46E5 18%,var(--border))}.funding-link-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.funding-link-manager-heading>div{min-width:0;display:flex;flex-direction:column;gap:3px}.funding-link-manager-heading strong{color:var(--text-primary);font-size:12px}.funding-link-manager-heading span,.funding-link-empty{color:var(--text-tertiary);font-size:10px;line-height:1.45}.funding-link-empty{margin:10px 0 0}.funding-link-list{display:grid;gap:7px;margin-top:10px}.funding-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.funding-link-row>div:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}.funding-link-row strong{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.funding-link-row span{overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.funding-link-row>b{color:var(--text-primary);font-size:11px;white-space:nowrap}.funding-link-actions{display:flex;gap:4px}.funding-link-actions button{padding:5px 7px;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);background:var(--bg-primary);font-size:9px}.funding-link-actions button.danger{color:var(--accent-red)}.funding-link-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;padding:10px;border:1px solid color-mix(in srgb,#4F46E5 24%,var(--border));border-radius:10px;background:var(--bg-card)}.funding-link-form label{min-width:0;display:flex;flex-direction:column;gap:5px}.funding-link-form label>span{color:var(--text-secondary);font-size:9px;font-weight:650}.funding-link-form select,.funding-link-form input{width:100%;min-width:0;min-height:34px;padding:7px 8px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:10px;outline:none}.funding-link-form select:focus,.funding-link-form input:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.funding-link-form small{color:var(--text-tertiary);font-size:8px;line-height:1.35}.funding-link-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:7px;padding-top:2px}.funding-link-form-actions button{padding:7px 11px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--bg-primary);font-size:10px;font-weight:650}.funding-link-form-actions button.primary{border-color:transparent;color:#fff;background:#4f46e5}.funding-link-form-actions button:disabled{opacity:.4;cursor:not-allowed}.funding-link-overlay{z-index:240}.funding-link-modal{width:min(720px,calc(100vw - 32px));max-width:720px;max-height:min(760px,calc(100dvh - 32px));margin:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card)}.funding-link-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.funding-link-modal-header h3{margin:0;color:var(--text-primary);font-size:16px}.funding-link-modal-header p{margin:5px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.45}.funding-link-close{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:24px;line-height:1}.funding-link-modal-body{min-height:0;overflow-y:auto;padding:16px 20px 20px}.funding-link-modal-metrics{margin-top:0}.funding-link-modal .funding-link-manager{margin-top:16px}.funding-link-list{max-height:min(320px,34dvh);overflow-y:auto;padding-right:2px}.funding-link-list-toggle{margin-top:9px;padding:0;border:0;background:transparent;color:#4f46e5;font-size:11px;font-weight:650}.funding-all-allocated{padding:6px 9px;border-radius:8px;background:color-mix(in srgb,#10B981 10%,var(--bg-primary));color:var(--accent-green);font-size:10px;white-space:nowrap}[data-theme=dark] .funding-link-list-toggle{color:#a5b4fc}.legend-right{flex-wrap:wrap;justify-content:flex-end}.legend-drift{flex-basis:100%;font-size:9px;text-align:right;color:var(--text-tertiary)}.legend-drift.over{color:#b45309}.legend-drift.under{color:#2563eb}.allocation-editor{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.allocation-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.allocation-editor label{display:flex;align-items:center;gap:6px;background:var(--bg-primary);border-radius:9px;padding:8px 10px}.allocation-editor label span{flex:1;font-size:11px;color:var(--text-secondary)}.allocation-editor input{width:58px;border:1px solid var(--border-strong);border-radius:7px;padding:5px;background:var(--bg-card);color:var(--text-primary);outline:none}.allocation-editor input:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.allocation-editor small{color:var(--text-tertiary)}.allocation-total{margin-top:10px;color:var(--negative);font-size:12px}.allocation-total.valid{color:var(--positive)}.allocation-save{margin-top:10px;padding:9px 14px;border-radius:9px;background:var(--text-primary);color:var(--bg-card);font-weight:600}.allocation-save:disabled{opacity:.35}.allocation-hint{margin-top:8px;color:var(--text-tertiary);font-size:10px}@media(max-width:640px){.portfolio-chart-section{padding:12px}.portfolio-chart-heading{margin-bottom:7px}.portfolio-chart-heading .section-title{font-size:17px}.portfolio-chart-layout{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:start;gap:10px}.portfolio-chart-wrap{width:108px;height:108px;align-self:center}.chart-center-label{font-size:8px}.chart-center-value{max-width:82px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.portfolio-chart-legend{width:100%;gap:3px}.portfolio-valuation-note{margin:0;padding:2px 4px;background:transparent;font-size:9px}.legend-item{min-height:27px;padding:3px 5px}.legend-left{gap:5px}.legend-dot{width:8px;height:8px}.legend-label{font-size:12px}.legend-count{font-size:9px}.legend-right{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 5px;min-width:0}.legend-value{font-size:12px;text-align:right;overflow-wrap:anywhere}.legend-pct{min-width:30px;font-size:11px}.legend-drift{display:none}.allocation-editor-grid{grid-template-columns:repeat(2,1fr)}.investment-funding-metrics{grid-template-columns:1fr}.investment-funding-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.investment-funding-metrics strong{flex:0 0 auto;text-align:right}.investment-funding-heading>b{font-size:15px}.investment-funding-heading{flex-direction:column}.investment-funding-heading-actions{width:100%;justify-content:space-between}.investment-funding-heading-actions b{font-size:15px}.funding-link-row{grid-template-columns:minmax(0,1fr) auto}.funding-link-actions{grid-column:1 / -1;justify-content:flex-end}.funding-link-form{grid-template-columns:1fr}.funding-link-form-actions{grid-column:1}.funding-link-overlay{align-items:flex-end;padding:0}.funding-link-modal{width:100%;max-width:none;max-height:min(88dvh,760px);border-width:1px 0 0;border-radius:20px 20px 0 0}.funding-link-modal-header{padding:16px 18px}.funding-link-modal-body{padding:14px 18px calc(18px + env(safe-area-inset-bottom))}.funding-link-modal-metrics{grid-template-columns:1fr}.funding-link-list{max-height:min(300px,32dvh)}}@media(max-width:380px){.portfolio-chart-layout{grid-template-columns:96px minmax(0,1fr);gap:8px}.portfolio-chart-wrap{width:96px;height:96px}.portfolio-chart-section{padding:12px}}.investment-funding-heading{align-items:center}.investment-funding-heading>div{flex:1 1 auto}.investment-funding-heading-actions{flex:0 0 auto;flex-direction:row;justify-content:flex-end;white-space:nowrap}@media(max-width:640px){.investment-funding-heading{flex-direction:row;gap:10px}.investment-funding-heading-actions{width:auto;gap:7px}}.smart-insights-entry{width:100%;min-height:62px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.smart-insights-entry:hover{transform:translateY(-1px);border-color:#6366f147;box-shadow:var(--shadow-hover)}.smart-entry-icon{position:relative;width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;color:#6366f1;background:#6366f11a;border-radius:10px}.smart-entry-icon b{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;color:#fff;background:#dc2626;border:2px solid var(--bg-card);border-radius:10px;font-size:9px;line-height:1}.smart-entry-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.smart-entry-copy strong{font-size:13px;font-weight:650}.smart-entry-copy small{color:var(--text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-entry-status{padding:4px 9px;border-radius:999px;font-size:10px;font-weight:650;white-space:nowrap}.smart-entry-status.attention{color:#b45309;background:#f59e0b1f}.smart-entry-status.stable{color:var(--accent-green);background:var(--accent-green-bg)}.smart-insights-entry>svg{color:var(--text-tertiary);flex:0 0 auto}.ai-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;justify-content:flex-end;background:#11182752;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-panel{width:min(440px,100%);height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-16px 0 48px #0000001f;animation:insightSlideIn .24s ease}@keyframes insightSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ai-header{min-height:70px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.ai-header-left{display:flex;align-items:center;gap:11px}.ai-header-icon{width:36px;height:36px;display:grid;place-items:center;color:#6366f1;background:#6366f11a;border-radius:10px}.ai-header-left h3{color:var(--text-primary);font-size:15px;font-weight:650}.ai-header-left p{margin-top:1px;color:var(--text-tertiary);font-size:11px}.ai-close{width:32px;height:32px;display:grid;place-items:center;color:var(--text-secondary);border-radius:8px}.ai-close:hover{color:var(--text-primary);background:var(--bg-primary)}.ai-content{flex:1;overflow-y:auto;padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.ai-data-note{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--text-tertiary);font-size:10px}.ai-assistant-card{margin:0 0 12px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary)}.ai-assistant-card.available{border-color:#6366f14d;background:#6366f10b}.ai-assistant-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-assistant-heading>div{min-width:0;display:flex;flex-direction:column;gap:2px}.ai-assistant-heading span{color:var(--text-tertiary);font-size:9px;font-weight:650}.ai-assistant-heading strong{color:var(--text-primary);font-size:11px;font-weight:650}.ai-quota-status{display:block;margin-top:2px;color:var(--text-secondary);font-size:10px;font-weight:500;line-height:1.35}.ai-quota-status.exhausted{color:#dc2626;font-weight:650}.ai-assistant-card>p{margin:7px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.5}.ai-assistant-card>p.ai-assistant-error{color:#dc2626}.ai-generate{min-height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#fff;background:#4f46e5;border-radius:8px;font-size:10px;font-weight:650;white-space:nowrap}.ai-generate:hover:not(:disabled){background:#4338ca}.ai-generate:disabled{cursor:not-allowed;opacity:.68}.ai-generated-result{margin:0 0 18px}.ai-generated-heading{display:flex;align-items:center;gap:6px;color:#4f46e5}.ai-generated-heading strong{color:var(--text-primary);font-size:12px}.ai-generated-heading span{margin-left:auto;padding:2px 6px;color:var(--text-tertiary);background:var(--bg-primary);border-radius:999px;font-size:9px}.ai-generated-summary{margin:8px 0 10px;color:var(--text-secondary);font-size:11px;line-height:1.6}.ai-generated-findings{display:flex;flex-direction:column;gap:8px}.ai-generated-note{margin:10px 2px 0;color:var(--text-tertiary);font-size:9px;line-height:1.5}.ai-report-assessment{margin-top:10px;padding:16px;border:1px solid color-mix(in srgb,#6366F1 25%,var(--border));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,#6366F1 10%,var(--bg-card)),var(--bg-card) 64%)}.ai-report-assessment.critical{border-color:color-mix(in srgb,#DC2626 35%,var(--border))}.ai-report-assessment.warning{border-color:color-mix(in srgb,#F59E0B 35%,var(--border))}.ai-report-assessment.success{border-color:color-mix(in srgb,#10B981 35%,var(--border))}.ai-report-title{display:flex;align-items:flex-start;gap:10px}.ai-report-title>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;color:#6366f1;background:color-mix(in srgb,#6366F1 12%,var(--bg-card));border-radius:9px}.ai-report-title small{display:block;margin-bottom:2px;color:var(--text-tertiary);font-size:9px;font-weight:700}.ai-report-title h4{color:var(--text-primary);font-size:15px;line-height:1.4}.ai-report-assessment>p{margin:11px 0 0 40px;color:var(--text-secondary);font-size:11px;line-height:1.75}.ai-report-section{margin-top:18px}.ai-report-section-title{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;color:#6366f1}.ai-report-section-title h4{color:var(--text-primary);font-size:13px}.ai-report-section-title p{margin-top:2px;color:var(--text-tertiary);font-size:9px}.ai-causal-grid,.ai-outlook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ai-causal-card,.ai-outlook-card{min-width:0;padding:13px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.ai-causal-card h5,.ai-outlook-card h5{color:var(--text-primary);font-size:11px;line-height:1.45}.ai-causal-card ol{margin:11px 0 0;padding:0;list-style:none}.ai-causal-card li{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;padding-bottom:10px;color:var(--text-secondary);font-size:10px;line-height:1.5}.ai-causal-card li:not(:last-child):after{content:"";position:absolute;left:10px;top:21px;bottom:2px;width:1px;background:color-mix(in srgb,#6366F1 28%,var(--border))}.ai-causal-card li b{width:21px;height:21px;display:grid;place-items:center;color:#4f46e5;background:color-mix(in srgb,#6366F1 11%,var(--bg-primary));border-radius:999px;font-size:9px}.ai-causal-card>small{display:block;color:var(--text-tertiary);font-size:8px}.ai-outlook-card>span{display:inline-flex;margin-bottom:7px;padding:3px 7px;color:#4f46e5;background:color-mix(in srgb,#6366F1 10%,var(--bg-primary));border-radius:999px;font-size:8px;font-weight:700}.ai-outlook-card p{margin:7px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.55}.ai-outlook-card small{display:block;margin-top:8px;padding-top:8px;color:var(--text-tertiary);border-top:1px solid var(--border);font-size:9px;line-height:1.5}.ai-priority-list{display:flex;flex-direction:column;gap:9px}.ai-priority-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.ai-priority-card.critical{border-left:3px solid #DC2626}.ai-priority-card.warning{border-left:3px solid #F59E0B}.ai-priority-card.info{border-left:3px solid #3B82F6}.ai-priority-card.success{border-left:3px solid #10B981}.ai-priority-rank{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#4f46e5;border-radius:10px;font-size:13px;font-weight:750}.ai-priority-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ai-priority-heading small{color:var(--text-tertiary);font-size:8px;font-weight:700}.ai-priority-heading h5{margin-top:2px;color:var(--text-primary);font-size:12px}.ai-priority-heading .ai-action{margin:0;flex:0 0 auto}.ai-priority-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.ai-priority-details>div{padding:9px 10px;background:var(--bg-primary);border-radius:9px}.ai-priority-details b{display:block;margin-bottom:3px;color:var(--text-tertiary);font-size:8px}.ai-priority-details p{margin:0;color:var(--text-secondary);font-size:10px;line-height:1.55}.ai-data-quality{margin-top:14px;padding:13px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}.ai-data-quality-heading{display:flex;align-items:center;gap:7px;color:#6366f1}.ai-data-quality-heading strong{color:var(--text-primary);font-size:11px}.ai-data-quality-heading span{margin-left:auto;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:700}.confidence-high{color:#047857;background:#10b9811f}.confidence-medium{color:#b45309;background:#f59e0b1f}.confidence-limited{color:#b91c1c;background:#dc26261a}.ai-data-quality>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.ai-data-quality section b{color:var(--text-secondary);font-size:9px}.ai-data-quality ul{margin:5px 0 0;padding-left:16px;color:var(--text-tertiary);font-size:9px;line-height:1.55}[data-theme=dark] .ai-report-title>span,[data-theme=dark] .ai-outlook-card>span,[data-theme=dark] .ai-causal-card li b{color:#a5b4fc}@media(max-width:700px){.ai-causal-grid,.ai-outlook-grid,.ai-priority-details,.ai-data-quality>div:last-child{grid-template-columns:1fr}.ai-report-assessment{padding:13px}.ai-report-assessment>p{margin-left:0}.ai-priority-card{grid-template-columns:30px minmax(0,1fr);padding:12px}.ai-priority-rank{width:28px;height:28px}.ai-priority-heading{flex-direction:column}}.ai-summary-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.ai-summary-item{min-width:0;padding:10px;display:flex;flex-direction:column;gap:3px;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px}.ai-summary-item span{color:var(--text-tertiary);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-summary-item strong{color:var(--text-primary);font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-section-heading{margin-bottom:10px}.ai-section-heading>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-section-heading h4{color:var(--text-primary);font-size:13px;font-weight:650}.ai-section-heading span{color:var(--text-tertiary);font-size:10px}.ai-rule-heading-copy{min-width:0}.ai-rule-heading-copy small{display:block;margin-top:2px;color:var(--text-tertiary);font-size:9px;line-height:1.4}.ai-rule-toggle{min-height:28px;flex:0 0 auto;padding:5px 9px;color:#4f46e5;background:color-mix(in srgb,#6366F1 9%,var(--bg-card));border:1px solid color-mix(in srgb,#6366F1 22%,var(--border));border-radius:8px;font-size:9px;font-weight:700}[data-theme=dark] .ai-rule-toggle{color:#a5b4fc}.ai-insights{display:flex;flex-direction:column;gap:10px}.ai-insight-card{padding:13px;border:1px solid var(--border);border-left-width:3px;border-radius:11px;background:var(--bg-card)}.ai-insight-card.critical{border-left-color:#dc2626}.ai-insight-card.warning{border-left-color:#f59e0b}.ai-insight-card.info{border-left-color:#3b82f6}.ai-insight-card.success{border-left-color:#10b981}.ai-insight-top{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:8px;align-items:start}.ai-severity-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px}.critical .ai-severity-icon{color:#dc2626;background:#dc26261a}.warning .ai-severity-icon{color:#d97706;background:#f59e0b1c}.info .ai-severity-icon{color:#2563eb;background:#3b82f61a}.success .ai-severity-icon{color:var(--accent-green);background:var(--accent-green-bg)}.ai-severity-label{display:block;margin-bottom:1px;color:var(--text-tertiary);font-size:9px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.ai-insight-top h5{color:var(--text-primary);font-size:12px;line-height:1.45;font-weight:650}.ai-dismiss{width:28px;height:28px;display:grid;place-items:center;color:var(--text-tertiary);border-radius:7px}.ai-dismiss:hover{color:var(--text-primary);background:var(--bg-primary)}.ai-evidence,.ai-impact{margin:10px 0 0 36px;padding:9px 10px;background:var(--bg-primary);border-radius:8px}.ai-impact{background:#f59e0b12}.ai-evidence b,.ai-impact b{display:block;margin-bottom:2px;color:var(--text-tertiary);font-size:9px;font-weight:650}.ai-evidence p,.ai-impact p{margin:0;color:var(--text-secondary);font-size:10px;line-height:1.55}.ai-action{margin:10px 0 0 36px;display:inline-flex;align-items:center;gap:5px;color:#4f46e5;font-size:10px;font-weight:650}[data-theme=dark] .ai-action{color:#a5b4fc}.ai-action:hover{gap:7px}.ai-cleared{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--accent-green);text-align:center}.ai-cleared strong{color:var(--text-primary);font-size:12px}.ai-cleared span{max-width:250px;color:var(--text-tertiary);font-size:10px}.ai-readonly-note{margin:16px 4px 0;padding-top:13px;color:var(--text-tertiary);border-top:1px solid var(--border);font-size:9px;line-height:1.55;text-align:center}[data-theme=dark] .ai-panel{box-shadow:-16px 0 48px #00000073}@media(max-width:768px){.ai-analysis-history{align-items:stretch;flex-direction:column;gap:8px}.ai-analysis-history>div{flex-wrap:wrap}.ai-analysis-history select{width:100%;max-width:none}.smart-insights-entry{min-height:58px;padding:10px 12px}.smart-entry-status{display:none}.ai-overlay{align-items:flex-end}.ai-panel{width:100%;height:min(86vh,720px);border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0;animation-name:insightSheetIn}@keyframes insightSheetIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.ai-header{min-height:64px;padding:12px 16px}.ai-content{padding:14px 16px calc(16px + env(safe-area-inset-bottom))}.ai-summary-items{gap:6px}.ai-summary-item{padding:9px 8px}.ai-assistant-card{padding:10px}}@media(max-width:480px){.ai-summary-items{grid-template-columns:1fr}.ai-summary-item{flex-direction:row;justify-content:space-between;gap:10px}.smart-entry-copy small{max-width:190px}}.ai-insights-page{width:100%;min-width:0}.ai-hub-panel{width:min(100%,1180px);margin:0 auto;filter:drop-shadow(0 10px 24px rgba(15,23,42,.035))}.ai-insights-page .ai-header{min-height:78px;padding:17px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.ai-insights-page .ai-header-left h3{font-size:17px}.ai-insights-page .ai-header-left p{margin-top:3px;font-size:12px}.ai-scope-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px;background:var(--bg-card);border:1px solid var(--border);border-top:0;border-radius:0 0 14px 14px}.ai-scope-tabs button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;color:var(--text-secondary);border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:650;white-space:nowrap}.ai-scope-tabs button:hover{color:var(--text-primary);background:var(--bg-primary)}.ai-scope-tabs button.active{color:#4f46e5;border-color:#6366f142;background:#6366f11a}[data-theme=dark] .ai-scope-tabs button.active{color:#a5b4fc}.ai-insights-page .ai-content{overflow:visible;padding:18px 0 28px}.ai-insights-page .ai-data-note{padding:0 2px;margin-bottom:14px}.ai-insights-page .ai-assistant-card,.ai-insights-page .ai-generated-result,.ai-insights-page .ai-summary-items,.ai-insights-page .ai-section-heading,.ai-insights-page .ai-insights,.ai-insights-page .ai-readonly-note{width:min(100%,1080px);margin-left:auto;margin-right:auto}.ai-insights-page .ai-generated-result{padding:18px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft)}.ai-insights-page .ai-assistant-card{padding:14px 15px}.ai-insights-page .ai-assistant-heading strong{font-size:13px}.ai-insights-page .ai-assistant-card>p{font-size:11px}.ai-insights-page .ai-generate{min-height:34px;padding-inline:12px;font-size:11px}.ai-analysis-controls{width:min(100%,1080px);margin:0 auto 16px;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(280px,.84fr);align-items:stretch;gap:12px}.ai-analysis-controls .ai-assistant-card{width:auto;margin:0}.ai-analysis-history{min-width:0;padding:12px;display:grid;align-content:start;gap:9px;background:var(--bg-card);border:1px solid var(--border);border-radius:11px}.ai-analysis-history-heading{display:flex;align-items:flex-start;gap:7px;color:#6366f1}.ai-analysis-history-heading>div{min-width:0;display:grid;gap:1px}.ai-analysis-history-heading span{color:var(--text-primary);font-size:11px;font-weight:700}.ai-analysis-history-heading small{color:var(--text-tertiary);font-size:10px}.ai-analysis-history-feed{position:relative;display:grid;gap:4px;padding-left:1px}.ai-analysis-history-feed:before{content:"";position:absolute;top:8px;bottom:8px;left:5px;width:1px;background:var(--border)}.ai-analysis-history-feed button{position:relative;z-index:1;width:100%;min-width:0;display:flex;align-items:flex-start;gap:8px;padding:5px 6px 5px 0;color:var(--text-secondary);text-align:left;border-radius:7px}.ai-analysis-history-feed button:hover{color:var(--text-primary);background:var(--bg-primary)}.ai-analysis-history-feed button.selected{color:var(--text-primary)}.ai-analysis-history-dot{width:11px;height:11px;flex:0 0 11px;margin-top:3px;background:var(--bg-card);border:2px solid var(--text-tertiary);border-radius:999px}.ai-analysis-history-feed button.selected .ai-analysis-history-dot{border-color:#6366f1;background:#6366f1;box-shadow:0 0 0 3px #6366f121}.ai-analysis-history-copy{min-width:0;display:grid;gap:1px}.ai-analysis-history-copy strong{overflow:hidden;color:currentColor;font-size:11px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ai-analysis-history-copy small{display:-webkit-box;overflow:hidden;color:var(--text-tertiary);font-size:10px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1}.ai-insights-page .ai-summary-items{margin-top:16px;margin-bottom:22px}.ai-insights-page .ai-summary-item{padding:12px}.ai-insights-page .ai-summary-item strong,.ai-insights-page .ai-section-heading h4{font-size:14px}.ai-insights-page .ai-insight-card{padding:15px}.ai-insights-page .ai-insight-top h5{font-size:13px}.ai-insights-page .ai-evidence p,.ai-insights-page .ai-impact p{font-size:11px}.ai-insights-page .ai-insights{gap:7px}.ai-insights-page .ai-insight-card.overview-priority{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px}.ai-insights-page .overview-priority .ai-insight-top{grid-template-columns:26px minmax(0,1fr);gap:8px}.ai-insights-page .overview-priority .ai-severity-icon{width:26px;height:26px;border-radius:7px}.ai-insights-page .overview-priority .ai-severity-label{display:none}.ai-insights-page .overview-priority .ai-insight-top h5{font-size:12px;line-height:1.4}.ai-insights-page .overview-priority .ai-action{margin:0;white-space:nowrap}.ai-insights-page .ai-generated-result .ai-next-step{margin:10px 0 0 36px;padding:10px 11px;color:var(--text-primary);background:color-mix(in srgb,#4F46E5 8%,var(--bg-primary));border:1px solid color-mix(in srgb,#4F46E5 18%,var(--border));border-radius:9px}.ai-insights-page .ai-next-step b,.ai-insights-page .ai-this-week b{display:block;margin-bottom:3px;color:#4f46e5;font-size:10px;font-weight:700}.ai-insights-page .ai-next-step p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.55}.ai-insights-page .ai-this-week{margin:14px 0 0;padding:13px 14px;background:color-mix(in srgb,#4F46E5 8%,var(--bg-card));border:1px solid color-mix(in srgb,#4F46E5 20%,var(--border));border-radius:11px}.ai-insights-page .ai-this-week p{margin:0;color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.55}[data-theme=dark] .ai-insights-page .ai-next-step b,[data-theme=dark] .ai-insights-page .ai-this-week b{color:#a5b4fc}@media(min-width:1080px){.ai-insights-page .ai-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.ai-insights-page .ai-cleared{grid-column:1 / -1}.ai-insights-page .ai-readonly-note{width:min(100%,1080px)}}.insight-nudge{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:8px 11px;color:var(--text-primary);text-align:left;background:color-mix(in srgb,#F59E0B 8%,var(--bg-card));border:1px solid color-mix(in srgb,#F59E0B 35%,var(--border));border-radius:11px}.insight-nudge:hover{background:color-mix(in srgb,#F59E0B 13%,var(--bg-card))}.insight-nudge-icon{position:relative;width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;color:#b45309;background:#f59e0b24;border-radius:7px}.insight-nudge-icon b{position:absolute;top:-5px;right:-6px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;color:#fff;background:#dc2626;border:2px solid var(--bg-card);border-radius:999px;font-size:9px}.insight-nudge-copy{min-width:0;flex:1;display:flex;align-items:baseline;gap:8px}.insight-nudge-copy strong{flex:0 0 auto;font-size:11px}.insight-nudge-copy small{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.insight-nudge-action{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;color:#a16207;font-size:10px;font-weight:700}[data-theme=dark] .insight-nudge-action{color:#fcd34d}@media(max-width:768px){.ai-insights-page .ai-header{min-height:70px;padding:14px 15px;border-radius:12px}.ai-scope-tabs{display:flex;overflow-x:auto;padding:8px;scrollbar-width:none}.ai-scope-tabs::-webkit-scrollbar{display:none}.ai-scope-tabs button{flex:0 0 auto;min-height:38px;padding-inline:10px;font-size:11px}.ai-insights-page .ai-content{padding:14px 0 24px}.ai-insights-page .ai-generated-result{padding:13px;border-radius:13px}.ai-insights-page .ai-summary-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ai-insights-page .ai-summary-item{padding:10px 8px}.ai-analysis-controls{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.ai-analysis-history{padding:11px 12px}.ai-insights-page .ai-insight-card.overview-priority{grid-template-columns:minmax(0,1fr) auto;padding:9px 10px}.ai-insights-page .overview-priority .ai-action{font-size:0;gap:0}.ai-insights-page .overview-priority .ai-action svg{width:16px;height:16px}.insight-nudge{min-height:44px;padding:8px 10px}.insight-nudge-copy{display:grid;gap:1px}.insight-nudge-action{font-size:0;gap:0}.insight-nudge-action svg{width:16px;height:16px}}@media(max-width:480px){.ai-scope-tabs button span{display:none}.ai-scope-tabs button{min-width:42px;justify-content:center}.ai-insights-page .ai-summary-items{grid-template-columns:1fr}.ai-insights-page .ai-summary-item{flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:480px){.ai-insights-page .ai-header-left{min-width:0}.ai-insights-page .ai-header-left h3{font-size:16px}.ai-insights-page .ai-header-left p{overflow-wrap:anywhere;font-size:11px}.ai-analysis-history-feed button{padding-block:5px}.ai-insights-page .ai-generated-result{padding:11px}.ai-insights-page .ai-section-heading h4{font-size:13px}.ai-insights-page .ai-insight-card{padding:12px}.ai-insights-page .ai-insight-top{grid-template-columns:26px minmax(0,1fr);gap:7px}.ai-insights-page .ai-dismiss{position:absolute;right:10px;top:10px}.ai-insights-page .ai-insight-card{position:relative}.ai-insights-page .ai-evidence,.ai-insights-page .ai-impact,.ai-insights-page .ai-action{margin-left:33px}.ai-insights-page .ai-evidence p,.ai-insights-page .ai-impact p{font-size:11px;line-height:1.6}.ai-insights-page .ai-next-step{margin-left:33px}}.login-page{min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow-x:hidden;overflow-y:auto;padding:clamp(16px,3vw,24px)}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary)}.login-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(6,95,70,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.04) 0%,transparent 60%)}.login-container{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center}.login-card{width:100%;background:var(--bg-card);border-radius:clamp(16px,2vw,20px);padding:clamp(28px,4vw,40px) clamp(24px,3.5vw,36px);box-shadow:0 4px 24px #0000000a,0 0 0 1px #00000005}.login-header{text-align:center;margin-bottom:clamp(24px,3vw,36px)}.login-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin-bottom:clamp(16px,2.5vw,24px)}.login-logo-img{width:64px;height:64px;object-fit:contain}.login-brand-name{font-size:clamp(18px,2vw,22px);font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin-top:8px}.login-title{font-size:clamp(20px,2.5vw,24px);font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin-bottom:clamp(6px,.8vw,8px)}.login-subtitle{font-size:clamp(12px,1.2vw,14px);color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:clamp(14px,2vw,20px)}.login-form .form-group{display:flex;flex-direction:column;gap:clamp(5px,.8vw,8px)}.login-form label{font-size:clamp(11px,1vw,13px);font-weight:500;color:var(--text-secondary)}.login-field-hint{color:var(--text-tertiary);font-size:11px;line-height:1.45}.invite-code-input{letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.login-input{width:100%;padding:clamp(10px,1.2vw,12px) clamp(10px,1.2vw,14px);border:1.5px solid var(--border);border-radius:clamp(8px,1vw,10px);font-size:clamp(13px,1.2vw,14px);font-family:inherit;color:var(--text-primary);background:var(--bg-card);transition:all .2s;outline:none}.login-input:focus{border-color:var(--text-secondary);box-shadow:0 0 0 3px #0000000a}.login-input::placeholder{color:var(--text-tertiary)}.password-wrap{position:relative}.password-wrap .login-input{padding-right:clamp(38px,4vw,44px)}.password-toggle{position:absolute;right:clamp(6px,1vw,10px);top:50%;transform:translateY(-50%);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.login-error{padding:clamp(8px,1vw,10px) clamp(10px,1.2vw,14px);background:var(--accent-red-bg);color:var(--accent-red);border-radius:8px;font-size:clamp(11px,1vw,13px);font-weight:500}.login-success{padding:clamp(8px,1vw,10px) clamp(10px,1.2vw,14px);border-radius:8px;color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 10%,var(--bg-card));font-size:clamp(11px,1vw,13px);font-weight:600}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:clamp(10px,1.2vw,14px);border-radius:clamp(8px,1vw,10px);font-size:clamp(13px,1.2vw,15px);font-weight:600;color:#fff;background:var(--text-primary);transition:all .2s;margin-top:4px}[data-theme=dark] .login-btn{color:#000;background:#f5f5f7}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}[data-theme=dark] .login-spinner{border-color:#0003;border-top-color:#000}.login-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:clamp(16px,2.5vw,24px);text-align:center}.switch-mode-btn{font-size:clamp(12px,1.2vw,14px);color:var(--text-secondary);transition:color .2s}.switch-mode-btn:hover{color:var(--text-primary)}.login-actions{display:flex;align-items:center;gap:8px;margin-top:clamp(14px,2vw,20px)}.login-action-btn{display:flex;align-items:center;gap:6px;padding:clamp(6px,.8vw,8px) clamp(10px,1.2vw,16px);border-radius:8px;font-size:clamp(11px,1vw,13px);font-weight:500;color:var(--text-secondary);background:var(--bg-card);box-shadow:var(--shadow-soft);transition:all .2s}.login-action-btn:hover{color:var(--text-primary);box-shadow:var(--shadow-hover)}.login-compliance{margin-top:clamp(18px,2.5vw,24px);color:var(--text-tertiary);font-size:11px;line-height:1.5;text-align:center}.login-compliance a{color:inherit;text-decoration:none}.login-compliance a:hover,.login-compliance a:focus-visible{color:var(--text-secondary);text-decoration:underline;outline:none}.login-compliance{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.login-compliance .compliance-separator{color:var(--text-tertiary)}@media(max-width:768px){.login-page{align-items:flex-start;padding:max(20px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.login-container{max-width:480px}.login-card{margin-top:12px;padding:28px 20px}.login-header{margin-bottom:24px}.login-form label{font-size:14px}.login-input{min-height:48px;font-size:16px}.password-toggle{width:44px;height:44px;right:4px}.login-btn{min-height:48px;font-size:16px}.login-action-btn{min-height:44px;font-size:14px}}.overview-summary{display:grid;gap:14px}.overview-outflow-scope{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px 0}.overview-outflow-scope>span{color:var(--text-secondary);font-size:12px;font-weight:700}.overview-outflow-scope>div{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg)}.overview-outflow-scope button{min-height:30px;padding:5px 10px;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:650}.overview-outflow-scope button:hover{color:var(--text-primary);background:var(--bg-secondary)}.overview-outflow-scope button.active{color:#fff;background:#6366f1}.overview-outflow-scope small{color:var(--text-tertiary);font-size:11px}.overview-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.overview-link-card,.overview-reminders,.overview-visual-card{border:1px solid var(--border-strong);background:var(--card-bg);border-radius:16px;padding:16px;text-align:left;color:var(--text-primary);transition:.2s ease}.overview-link-card{display:flex;align-items:center;gap:12px;min-width:0;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.overview-link-card:last-child{border-right:0}.overview-link-card:hover,.overview-reminders:hover,button.overview-visual-card:hover{transform:translateY(-2px);border-color:#6366f1;box-shadow:0 8px 24px #0f172a14}.overview-link-card:hover{transform:none;border-color:var(--border);background:color-mix(in srgb,#6366F1 6%,transparent);box-shadow:none}.overview-link-card:focus-visible,.overview-reminders:focus-visible,.overview-visual-card:focus-visible,.overview-plan-row:focus-visible{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.overview-card-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-secondary);display:grid;place-items:center;flex:0 0 auto}.overview-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.overview-card-label{font-size:12px;color:var(--text-secondary)}.overview-card-copy strong{font-size:20px}.overview-card-copy strong.positive,.overview-card-meta>.positive{color:var(--market-rise)}.overview-card-copy strong.negative,.overview-card-meta>.negative{color:var(--market-fall)}.overview-card-copy strong.neutral,.overview-card-meta>.neutral{color:var(--text-secondary)}.overview-card-meta{display:grid;gap:2px;color:var(--text-tertiary);font-size:11px;line-height:1.4}.overview-card-meta>span{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:7px}.overview-card-meta em{min-width:0;overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.overview-card-meta b{flex:0 0 auto;font:inherit;font-weight:650;white-space:nowrap}.overview-card-meta>.name{display:block}.overview-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-visual-card{min-width:0;min-height:220px;display:flex;flex-direction:column;gap:12px}.overview-live-heading{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:12px}.overview-live-heading>span{display:inline-flex;align-items:center;gap:7px;font-weight:700}.overview-position-main{margin-top:10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.overview-position-main strong{font-size:30px;line-height:1;letter-spacing:-.03em}.overview-position-main small{color:var(--text-tertiary);font-size:11px}.overview-split-bar{height:13px;width:100%;border-radius:999px;overflow:hidden;background:var(--bg-secondary);display:flex;margin-top:auto}.overview-split-bar i{display:block;min-width:0;height:100%;transition:width .25s ease}.overview-assets-bar{background:#6366f1}.overview-debt-bar{background:var(--market-fall)}.overview-live-legend{display:flex;justify-content:space-between;gap:8px;color:var(--text-secondary)}.overview-live-legend small{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.overview-live-legend i{width:7px;height:7px;border-radius:50%}.overview-assets-dot{background:#6366f1}.overview-debt-dot{background:var(--market-fall)}.overview-budget{border-color:#6366f152;background:linear-gradient(135deg,rgba(99,102,241,.09),var(--card-bg))}.overview-cycle-bars{display:grid;gap:16px;margin-top:8px}.overview-cycle-bars>div>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.overview-cycle-bars span b{color:var(--text-secondary);font-size:11px}.overview-cycle-bars span em{color:var(--text-primary);font-size:15px;font-style:normal;font-weight:750}.overview-cycle-bars div>i{height:10px;display:block;overflow:hidden;background:var(--bg-secondary);border-radius:999px}.overview-cycle-bars div>i>b{height:100%;display:block;background:var(--market-rise);border-radius:inherit}.overview-budget.near .overview-cycle-bars>div:first-child i b{background:#f59e0b}.overview-budget.over .overview-cycle-bars>div:first-child i b{background:var(--market-fall)}.overview-cycle-bars .time i b{background:#6366f1}.overview-budget-meta{margin-top:auto;color:var(--text-secondary);font-size:12px}.overview-budget-forecast{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 12px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-secondary);font-size:11px}.overview-budget-forecast span{display:inline-flex;align-items:baseline;gap:5px}.overview-budget-forecast .positive{color:var(--market-rise)}.overview-budget-forecast .negative{color:var(--market-fall)}.overview-budget-forecast strong{color:var(--text-primary);font-size:12px}.overview-empty-inline{display:grid;gap:3px;padding:10px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--bg-primary)}.overview-empty-inline b{font-size:12px}.overview-empty-inline span{color:var(--text-tertiary);font-size:10px}.overview-allocation-body{min-height:140px;display:grid;align-content:center;gap:13px}.overview-allocation-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text-tertiary);font-size:11px}.overview-allocation-total strong{color:var(--text-primary);font-size:22px;letter-spacing:-.02em}.overview-allocation-stack{display:flex;width:100%;height:14px;overflow:hidden;border-radius:999px;background:var(--bg-secondary);box-shadow:inset 0 0 0 1px var(--border)}.overview-allocation-stack i{display:block;min-width:3px;height:100%;transition:width .25s ease}.overview-allocation-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.overview-allocation-list span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;column-gap:7px;row-gap:2px}.overview-allocation-list i{width:8px;height:8px;border-radius:50%}.overview-allocation-list b{overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.overview-allocation-list em{color:var(--text-primary);font-size:11px;font-style:normal;font-weight:700}.overview-allocation-list small{grid-column:2 / -1;color:var(--text-tertiary);font-size:10px}.overview-chart-note{margin-top:auto;color:var(--text-tertiary);font-size:10px}.overview-empty-visual{min-height:120px;display:grid;place-items:center;color:var(--text-tertiary);font-size:12px}.overview-planning{gap:10px}.overview-plan-row{position:relative;min-height:72px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;color:var(--text-primary);text-align:left;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}.overview-plan-row:hover{border-color:#6366f173}.overview-plan-row>span{min-width:0;display:grid;gap:3px}.overview-plan-row span b{color:var(--text-tertiary);font-size:10px}.overview-plan-row span em{overflow:hidden;font-size:12px;font-style:normal;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.overview-plan-row>strong{font-size:14px}.overview-plan-row>i{position:absolute;left:12px;right:12px;bottom:7px;height:4px;overflow:hidden;background:var(--bg-secondary);border-radius:999px}.overview-plan-row>i b{display:block;height:100%;background:#6366f1;border-radius:inherit}.overview-reminders{width:100%;display:flex;align-items:center;gap:12px}.overview-data-quality{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:50px;padding:10px 14px;border:1px solid var(--border);border-radius:13px;background:var(--card-bg);color:var(--text-secondary)}.overview-data-quality>span:first-child{min-width:min(240px,100%);margin-right:auto;display:grid;gap:2px}.overview-data-quality b{color:var(--text-primary);font-size:11px}.overview-data-quality small{color:var(--text-tertiary);font-size:9px}.overview-data-quality>span:not(:first-child){display:inline-flex;align-items:center;gap:5px;font-size:10px}.overview-data-quality>span strong{color:var(--text-primary);font-size:10px}.overview-data-quality i{width:7px;height:7px;border-radius:50%}.overview-data-quality .quality-live{background:#10b981}.overview-data-quality .quality-estimated{background:#f59e0b}.overview-data-quality .quality-missing{background:#ef4444}[data-theme=dark] .overview-donut:before{background:var(--card-bg)}@media(max-width:1180px)and (min-width:901px){.overview-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.overview-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-link-card:nth-child(2){border-right:0}.overview-link-card:nth-child(-n+2){border-bottom:1px solid var(--border)}.overview-visual-grid{grid-template-columns:1fr}.overview-visual-card{min-height:190px}}@media(max-width:520px){.overview-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.overview-link-card,.overview-reminders,.overview-visual-card{padding:14px;border-radius:14px}.overview-link-card{min-height:88px;display:flex;align-items:center;padding:10px;border-radius:0}.overview-link-card>svg{display:none}.overview-link-card .overview-card-icon{display:none}.overview-link-card .overview-card-copy{grid-column:auto}.overview-card-copy strong{font-size:clamp(15px,4.25vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-card-meta{font-size:10px}.overview-position-main strong{font-size:25px}.overview-allocation-list{grid-template-columns:1fr}.overview-live-legend{flex-direction:column}.overview-data-quality{align-items:flex-start;gap:9px 14px}.overview-data-quality>span:first-child{flex:0 0 100%}}@media(max-width:480px){.overview-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-link-card{min-height:88px;display:flex;align-items:center}.overview-link-card .overview-card-copy{grid-column:auto}.overview-card-copy strong{max-width:100%;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-live-legend{gap:6px}.overview-live-legend small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-position-main{align-items:flex-start;flex-direction:column;gap:4px}.overview-position-main strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-budget-forecast{align-items:flex-start;flex-direction:column}}.monthly-report{display:flex;flex-direction:column;gap:14px;color:var(--text-primary)}.monthly-report-loading{min-height:260px;align-items:center;justify-content:center;color:var(--text-tertiary)}.monthly-report-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.monthly-report-title-wrap{display:flex;align-items:center;min-width:0}.monthly-report-eyebrow{display:flex;align-items:center;gap:5px;color:#6366f1;font-size:11px;font-weight:650}.monthly-report-head h2{margin-top:2px;font-size:clamp(20px,2vw,26px);letter-spacing:-.03em}.monthly-report-actions{display:flex;align-items:center;gap:8px}.monthly-report-scope{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px 0}.monthly-report-scope>span{color:var(--text-secondary);font-size:12px;font-weight:650}.monthly-report-scope>div{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.monthly-report-scope button{min-height:30px;padding:5px 10px;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:650}.monthly-report-scope button:hover{background:var(--bg-secondary);color:var(--text-primary)}.monthly-report-scope button.active{background:#6366f1;color:#fff}.monthly-report-scope small{color:var(--text-tertiary);font-size:11px}.monthly-report-head select,.monthly-report-export{min-height:36px;border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;color:var(--text-primary);background:var(--bg-card);font:inherit;font-size:12px}.monthly-report-head select{max-width:180px}.monthly-report-export{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;color:#fff;border-color:#4f46e5;background:#4f46e5;font-weight:650}.monthly-report-export:hover{background:#4338ca}.monthly-report-hero{min-height:116px;display:flex;justify-content:space-between;align-items:center;padding:20px;border:1px solid rgba(99,102,241,.25);border-radius:16px;background:linear-gradient(135deg,#6366f11f,#6366f108)}.monthly-report-hero>div:first-child{display:flex;flex-direction:column;gap:4px}.monthly-report-hero span{color:var(--text-secondary);font-size:12px}.monthly-report-hero strong{font-size:clamp(25px,3vw,34px);letter-spacing:-.04em}.monthly-report-hero small{color:var(--text-tertiary);font-size:11px}.monthly-report-hero-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#6366f1;background:#6366f124}.monthly-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.monthly-report-metrics article{display:flex;gap:10px;align-items:flex-start;min-width:0;padding:14px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent}.monthly-report-metrics article:last-child{border-right:0}.monthly-report-metric-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;color:#6366f1;background:var(--bg-secondary)}.monthly-report-metrics article>div{min-width:0;display:flex;flex-direction:column;gap:2px}.monthly-report-metrics small,.monthly-report-metrics span{color:var(--text-tertiary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-metrics strong{font-size:15px}.monthly-report-review{padding:16px;border:1px solid rgba(99,102,241,.22);border-radius:14px;background:var(--bg-card)}.monthly-report-section-head,.monthly-report-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.monthly-report-section-head h3,.monthly-report-card h3{font-size:13px}.monthly-report-section-head>span,.monthly-report-card-head>span{color:var(--text-tertiary);font-size:11px}.monthly-report-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}.monthly-report-review-grid article{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--bg-secondary)}.monthly-report-review-grid small,.monthly-report-review-grid span{color:var(--text-tertiary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-review-grid strong{font-size:16px;letter-spacing:-.02em}.monthly-report-card{padding:16px;min-height:158px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.monthly-report-card-head>div{min-width:0}.monthly-report-card-head>div>span{display:block;margin-top:3px;color:var(--text-tertiary);font-size:10px}.monthly-report-card p{margin-top:14px;color:var(--text-secondary);font-size:11px;line-height:1.5}.monthly-report-card>small{display:flex;align-items:center;gap:3px;margin-top:6px;font-size:11px}.monthly-report-trend{min-height:226px}.monthly-report-trend-legend{display:flex;align-items:center;gap:10px;color:var(--text-tertiary);font-size:10px}.monthly-report-trend-legend span{display:inline-flex;align-items:center;gap:4px}.monthly-report-trend-legend i{width:7px;height:7px;border-radius:2px}.monthly-report-trend-legend .income,.monthly-report-trend-bars .income{background:#14b8a6}.monthly-report-trend-legend .expense,.monthly-report-trend-bars .expense{background:#f87171}.monthly-report-trend-chart{display:grid;grid-template-columns:repeat(6,minmax(74px,1fr));gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:2px}.monthly-report-trend-item{display:grid;grid-template-rows:28px 112px auto;gap:6px;min-width:74px;text-align:center}.monthly-report-trend-item.current{border-radius:9px;background:#6366f112}.monthly-report-trend-values{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:1px;overflow:hidden}.monthly-report-trend-values span{max-width:100%;color:var(--text-tertiary);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-trend-values span:first-child{color:#0f9f83}.monthly-report-trend-values span:last-child{color:#e85a5a}.monthly-report-trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:112px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent 0,transparent 36px,var(--border) 37px)}.monthly-report-trend-bars i{display:block;width:15px;min-height:2px;border-radius:4px 4px 0 0}.monthly-report-trend-item small{color:var(--text-tertiary);font-size:10px}.monthly-report-grid{display:grid;grid-template-columns:1.05fr 1.35fr .8fr;gap:12px}.monthly-report-progress{height:8px;overflow:hidden;border-radius:99px;background:var(--bg-secondary);margin-top:19px}.monthly-report-progress i{display:block;height:100%;border-radius:inherit;background:#6366f1}.monthly-report-progress i.over{background:var(--accent-red)}.is-down{transform:rotate(180deg)}.monthly-report-category-heading{display:flex;flex-direction:column;gap:3px}.monthly-report-category-heading h3{font-size:13px}.monthly-report-category-heading span{color:var(--text-tertiary);font-size:10px}.monthly-report-categories{display:flex;flex-direction:column;gap:12px;margin-top:16px}.monthly-report-categories>div{display:grid;grid-template-columns:minmax(82px,.82fr) minmax(86px,1fr) minmax(96px,max-content);column-gap:12px;align-items:center;min-width:0}.monthly-report-categories span,.monthly-report-categories strong{font-size:10px}.monthly-report-categories span{display:flex;min-width:0;align-items:center;gap:5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-categories span i{width:7px;height:7px;flex:0 0 7px;border-radius:99px}.monthly-report-categories>div>i{display:block;width:100%;height:7px;overflow:hidden;border-radius:8px;background:var(--bg-secondary)}.monthly-report-categories>div>i b{display:block;height:100%;min-width:5px;border-radius:inherit}.monthly-report-categories strong{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums}.monthly-report-categories strong small{color:var(--text-tertiary);font-size:9px;font-weight:500}.monthly-report-debt>strong,.monthly-report-goals>strong{display:block;margin-top:26px;font-size:22px;letter-spacing:-.03em}.monthly-report-goals{grid-column:1 / span 2}.monthly-report-goals .monthly-report-goal-progress{margin-top:12px}.monthly-report-allocation{grid-column:1 / -1;min-height:auto}.monthly-report-allocation-stack{display:flex;overflow:hidden;height:12px;margin-top:17px;border-radius:999px;background:var(--bg-secondary)}.monthly-report-allocation-stack i{display:block;height:100%;min-width:3px}.monthly-report-allocation-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin-top:14px}.monthly-report-allocation-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.monthly-report-allocation-list span{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-allocation-list span i{width:8px;height:8px;flex:0 0 8px;border-radius:99px}.monthly-report-allocation-list strong{display:flex;flex-direction:column;align-items:flex-end;color:var(--text-primary);font-size:11px;line-height:1.2}.monthly-report-allocation-list strong small{color:var(--text-tertiary);font-weight:500;font-size:10px;white-space:nowrap}.monthly-report-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:22px;border:1px dashed var(--border-strong);border-radius:14px;color:var(--text-tertiary);font-size:12px}@media(max-width:1100px){.monthly-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-metrics article:nth-child(2){border-right:0}.monthly-report-metrics article:nth-child(-n+2){border-bottom:1px solid var(--border)}.monthly-report-grid{grid-template-columns:1fr 1fr}.monthly-report-debt{grid-column:span 1}.monthly-report-goals,.monthly-report-allocation{grid-column:1 / -1;min-height:auto}.monthly-report-debt>strong,.monthly-report-goals>strong{margin-top:14px}}@media(max-width:620px){.monthly-report-head{align-items:flex-start;flex-direction:column}.monthly-report-actions{width:100%}.monthly-report-head select{width:100%;max-width:none}.monthly-report-export{flex:0 0 auto}.monthly-report-scope{align-items:flex-start;flex-direction:column;gap:5px}.monthly-report-scope>div{width:100%}.monthly-report-scope button{flex:1;padding-inline:6px}.monthly-report-hero{padding:16px}.monthly-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-review-grid,.monthly-report-grid,.monthly-report-allocation-list{grid-template-columns:1fr}.monthly-report-review{padding:14px}.monthly-report-debt,.monthly-report-goals,.monthly-report-allocation{grid-column:auto}.monthly-report-card{min-height:auto}.monthly-report-trend{padding:14px}.monthly-report-trend-card-head{align-items:flex-start}.monthly-report-trend-chart{margin-right:-2px}}@media(max-width:480px){.monthly-report{gap:12px}.monthly-report-head h2{font-size:20px}.monthly-report-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.monthly-report-head select{min-width:0}.monthly-report-export{min-width:0;padding-inline:9px}.monthly-report-scope>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.monthly-report-scope button{min-width:0}.monthly-report-hero{align-items:flex-start;padding:14px}.monthly-report-hero strong{font-size:27px}.monthly-report-hero-icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px}.monthly-report-metrics article{min-height:76px;align-items:center;gap:7px;padding:9px 10px}.monthly-report-metric-icon{display:none}.monthly-report-metrics strong{max-width:100%;font-size:clamp(15px,4.25vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-report-review,.monthly-report-card{padding:13px}.monthly-report-section-head,.monthly-report-card-head{align-items:flex-start;flex-direction:column}.monthly-report-trend-legend{flex-wrap:wrap}.monthly-report-trend-chart{grid-template-columns:repeat(6,minmax(62px,1fr));gap:7px}.monthly-report-trend-item{min-width:62px}.monthly-report-categories>div{grid-template-columns:minmax(70px,.82fr) minmax(64px,1fr) minmax(82px,max-content);column-gap:8px}.monthly-report-categories strong{font-size:10px}.monthly-report-allocation-list{gap:8px}}@media print{@page{size:A4;margin:12mm}body *{visibility:hidden}.monthly-report,.monthly-report *{visibility:visible}.monthly-report{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--bg-card:#fff;--bg-secondary:#f1f5f9;--border:#cbd5e1;--border-strong:#94a3b8;color:#0f172a;gap:12px}.monthly-report-actions{display:none!important}.monthly-report-hero{background:#f5f3ff}.monthly-report-card,.monthly-report-review,.monthly-report-metrics article,.monthly-report-hero{break-inside:avoid;box-shadow:none}.monthly-report-trend-chart{overflow:visible}}.admin-center{width:min(100%,860px);max-height:min(760px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--bg-card);color:var(--text-primary);box-shadow:0 24px 70px #00000040}.admin-center-header{flex:0 0 auto;display:flex;align-items:flex-start;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--border)}.admin-center-header h3{font-size:18px}.admin-center-header p{margin-top:4px;color:var(--text-tertiary);font-size:12px;line-height:1.45}.admin-center-back{display:inline-flex;align-items:center;gap:5px;min-height:32px;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:12px;white-space:nowrap}.admin-center-back:hover{background:var(--bg-primary);color:var(--text-primary)}.admin-center-tabs{position:relative;z-index:1;flex:0 0 auto;display:flex;gap:4px;overflow-x:auto;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--bg-card)}.admin-center-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border-radius:8px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.admin-center-tabs button.active{color:var(--text-primary);background:var(--bg-primary);font-weight:700}.admin-center-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 22px 24px}.admin-center-error{margin:18px 22px;color:var(--accent-red);font-size:13px}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-metric{min-height:108px;display:flex;flex-direction:column;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.admin-metric span,.admin-metric small{color:var(--text-tertiary);font-size:11px;line-height:1.35}.admin-metric strong{margin:8px 0 auto;font-size:23px}.admin-qa-overview{display:flex;align-items:center;gap:10px;margin-top:14px;padding:13px 14px;border:1px solid var(--border);border-radius:12px}.admin-qa-overview>div{flex:1;display:grid;gap:2px}.admin-qa-overview strong{font-size:13px}.admin-qa-overview span{color:var(--text-secondary);font-size:11px}.admin-qa-overview.passed{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 7%,transparent)}.admin-qa-overview.failed{color:var(--accent-red);background:color-mix(in srgb,var(--accent-red) 7%,transparent)}.admin-section-note{margin-bottom:12px;color:var(--text-secondary);font-size:12px;line-height:1.5}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.admin-table th{padding:9px 10px;color:var(--text-tertiary);font-size:11px;font-weight:600;text-align:left;border-bottom:1px solid var(--border)}.admin-table td{padding:11px 10px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.admin-table td strong{display:block;color:var(--text-primary);font-weight:600}.admin-table td small{display:block;margin-top:2px;color:var(--text-tertiary)}.admin-reset-password-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);background:var(--bg-primary);font-size:11px;font-weight:700;white-space:nowrap}.admin-reset-password-button:disabled{opacity:.5;cursor:not-allowed}.admin-password-reset-code{margin-bottom:8px}.admin-notices{display:grid;gap:9px}.admin-notices-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 5px}.admin-notices-heading h4{font-size:14px}.admin-notices-heading p{margin-top:4px;color:var(--text-tertiary);font-size:11px;line-height:1.45}.admin-notices-heading>span{min-width:24px;padding:3px 7px;border-radius:999px;color:var(--text-secondary);background:var(--bg-primary);font-size:11px;font-weight:700;text-align:center}.admin-notice{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.admin-notice>div{display:flex;justify-content:space-between;gap:10px}.admin-notice strong{font-size:13px}.admin-notice span{color:var(--text-tertiary);font-size:10px;white-space:nowrap}.admin-notice p{margin:7px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.admin-check-list{display:grid;gap:7px}.admin-check-list>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bg-primary);font-size:12px}.admin-check-list span{flex:1}.admin-check-list b{font-size:11px}.admin-check-list .passed b{color:var(--accent-green)}.admin-check-list .failed b,.admin-check-list small{color:var(--accent-red)}.admin-check-list small{flex-basis:100%;font-size:11px;line-height:1.4}.admin-empty{color:var(--text-tertiary);font-size:12px}.admin-ai-settings{display:grid;gap:14px}.admin-ai-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-ai-heading h4{font-size:14px}.admin-ai-heading p,.admin-ai-user-usage>p{margin-top:4px;color:var(--text-tertiary);font-size:11px;line-height:1.5}.admin-ai-heading>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;color:var(--text-secondary);background:var(--bg-primary);font-size:11px;font-weight:700}.admin-ai-heading>span.active{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 10%,var(--bg-primary))}.admin-ai-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary);cursor:pointer}.admin-ai-toggle input{width:16px;height:16px;margin-top:1px;accent-color:var(--accent-blue)}.admin-ai-toggle span{display:grid;gap:3px}.admin-ai-toggle b{font-size:12px}.admin-ai-toggle small,.admin-ai-form small{color:var(--text-tertiary);font-size:11px;line-height:1.4}.admin-ai-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-ai-form label{display:grid;gap:6px;min-width:0}.admin-ai-form label.full{grid-column:1 / -1}.admin-ai-form label>span{color:var(--text-secondary);font-size:11px;font-weight:600}.admin-ai-form input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;color:var(--text-primary);background:var(--bg-primary);font-size:12px;outline:none}.admin-ai-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 12%,transparent)}.admin-ai-actions{display:flex;justify-content:flex-end;gap:8px}.admin-ai-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 11px;border-radius:9px;font-size:12px;font-weight:700}.admin-ai-actions .primary{color:#fff;background:var(--accent-blue)}.admin-ai-actions .secondary{color:var(--text-primary);border:1px solid var(--border);background:var(--bg-primary)}.admin-ai-actions button:disabled{opacity:.55;cursor:not-allowed}.admin-ai-message{padding:9px 11px;border-radius:9px;color:var(--text-secondary);background:var(--bg-primary);font-size:12px;line-height:1.45}.admin-ai-usage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.admin-ai-usage>div{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary)}.admin-ai-usage strong{color:var(--text-primary);font-size:18px}.admin-ai-usage span{color:var(--text-tertiary);font-size:10px}.admin-ai-user-usage{padding-top:2px}.admin-ai-user-usage h5{font-size:12px}.admin-ai-user-list{display:grid;gap:6px;margin-top:10px}.admin-ai-user-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-primary);font-size:12px}.admin-ai-user-list span{display:grid;gap:2px;min-width:0;color:var(--text-primary)}.admin-ai-user-list small{overflow:hidden;color:var(--text-tertiary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-ai-user-list b{flex:0 0 auto;color:var(--text-secondary);font-size:11px}.admin-invites{display:grid;gap:14px;padding-bottom:2px}.admin-registration-status,.admin-invite-create,.admin-invite-list{border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.admin-registration-status{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px}.admin-registration-status h4,.admin-invite-list-heading h4{font-size:14px}.admin-registration-status p,.admin-invite-list-heading p{margin-top:4px;color:var(--text-tertiary);font-size:11px;line-height:1.45}.admin-registration-status>span,.admin-invite-main>span{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.admin-registration-status>span.active,.admin-invite-main>span.status-available{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 11%,transparent)}.admin-registration-status>span.paused,.admin-invite-main>span.status-disabled{color:var(--accent-red);background:color-mix(in srgb,var(--accent-red) 10%,transparent)}.admin-invite-main>span.status-used,.admin-invite-main>span.status-expired{color:var(--text-secondary);background:color-mix(in srgb,var(--text-tertiary) 11%,transparent)}.admin-registration-status button,.admin-invite-generate,.admin-generated-code button,.admin-invite-list article>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:700;white-space:nowrap}.admin-registration-status .primary,.admin-invite-generate.primary{color:#fff;background:var(--accent-blue)}.admin-registration-status .danger{color:var(--accent-red);border:1px solid color-mix(in srgb,var(--accent-red) 42%,var(--border));background:color-mix(in srgb,var(--accent-red) 7%,var(--bg-primary))}.admin-invite-create{display:grid;gap:11px;padding:14px}.admin-invite-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-invite-form label{display:grid;gap:6px;min-width:0}.admin-invite-form label.full{grid-column:1 / -1}.admin-invite-form span{color:var(--text-secondary);font-size:11px;font-weight:600}.admin-invite-form input{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;color:var(--text-primary);background:var(--bg-card);font-size:12px;outline:none}.admin-invite-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 12%,transparent)}.admin-invite-generate{justify-self:end}.admin-generated-code{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent-blue) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent-blue) 7%,var(--bg-card))}.admin-generated-code>div{display:grid;gap:4px;min-width:0}.admin-generated-code small{color:var(--text-tertiary);font-size:10px}.admin-generated-code code{overflow-wrap:anywhere;color:var(--text-primary);font-size:14px;font-weight:800;letter-spacing:.06em}.admin-generated-code button,.admin-invite-list article>button.secondary{color:var(--text-primary);border:1px solid var(--border);background:var(--bg-card)}.admin-invite-message{color:var(--text-secondary);font-size:11px;line-height:1.45}.admin-invite-list{overflow:hidden}.admin-invite-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--border)}.admin-invite-list-heading>span{min-width:24px;padding:3px 7px;border-radius:999px;color:var(--text-secondary);background:var(--bg-card);font-size:11px;font-weight:700;text-align:center}.admin-invite-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.admin-invite-list article:last-of-type{border-bottom:0}.admin-invite-list>.admin-empty{display:flex;align-items:center;min-height:58px;margin:0;padding:16px 14px 18px;line-height:1.45}.admin-invite-main{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:6px;min-width:0}.admin-invite-main strong{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-invite-main small{grid-column:1 / -1;color:var(--text-tertiary);font-size:10px}.admin-invite-meta{display:grid;gap:3px;color:var(--text-secondary);font-size:10px}.admin-invite-list article>button:disabled,.admin-registration-status button:disabled,.admin-invite-generate:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.admin-center{width:100%;max-height:calc(100dvh - 24px);border-radius:15px}.admin-center-header{padding:16px}.admin-center-content{padding:14px 16px 20px}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric{min-height:96px}.admin-center-tabs{padding-inline:12px}.admin-ai-form{grid-template-columns:1fr}.admin-ai-form label.full{grid-column:auto}.admin-ai-actions{justify-content:stretch}.admin-ai-actions button{flex:1}.admin-ai-usage{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-ai-failures{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent-red) 20%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent-red) 5%,var(--bg-primary));font-size:11px}.admin-ai-failures b{color:var(--text-primary);margin-right:3px}.admin-ai-failures span{color:var(--accent-red)}.admin-system-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 14px}.admin-system-card{display:grid;gap:4px;min-height:100px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--bg-primary)}.admin-system-card>span,.admin-system-card small{color:var(--text-tertiary);font-size:10px;line-height:1.4}.admin-system-card strong{color:var(--text-primary);font-size:17px}.admin-system-card.warning{border-color:color-mix(in srgb,#F59E0B 48%,var(--border))}.admin-system-card.critical{border-color:color-mix(in srgb,var(--accent-red) 52%,var(--border));background:color-mix(in srgb,var(--accent-red) 5%,var(--bg-primary))}.admin-market-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 14px}.admin-market-health>div{grid-column:1 / -1}.admin-market-health h5{font-size:12px}.admin-market-health p{margin-top:3px;color:var(--text-tertiary);font-size:10px;line-height:1.4}.admin-market-health article{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary)}.admin-market-health article strong{color:var(--text-primary);font-size:12px}.admin-market-health article span{color:var(--accent-green);font-size:11px;font-weight:700}.admin-market-health article small{overflow:hidden;color:var(--text-tertiary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-market-health article.partial{border-color:color-mix(in srgb,#F59E0B 45%,var(--border))}.admin-market-health article.partial span{color:#b45309}.admin-market-health article.unavailable{border-color:color-mix(in srgb,var(--accent-red) 45%,var(--border))}.admin-market-health article.unavailable span{color:var(--accent-red)}@media(max-width:700px){.admin-system-cards,.admin-market-health{grid-template-columns:1fr}}@media(max-width:700px){.admin-center{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none}.admin-center-header{gap:10px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.admin-center-header h3{font-size:17px}.admin-center-header p{font-size:11px}.admin-center-back{min-width:34px;min-height:34px;padding:7px 9px}.admin-center-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible;padding:8px 10px}.admin-center-tabs button{min-width:0;min-height:48px;flex-direction:column;justify-content:center;gap:3px;padding:5px 2px;font-size:10px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}.admin-center-tabs button svg{width:16px;height:16px;flex:0 0 auto}.admin-center-content{padding:14px 12px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain}.admin-center-error{margin:14px 12px}.admin-metric-grid{gap:8px}.admin-metric{min-height:88px;padding:12px}.admin-metric strong{margin-top:6px;font-size:21px}.admin-qa-overview{align-items:flex-start;padding:12px}.admin-table-wrap{overflow:visible}.admin-table{min-width:0;display:block}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:9px}.admin-table tr{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.admin-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:20px;padding:0;border:0;text-align:right}.admin-table td:before{content:attr(data-label);flex:0 0 auto;color:var(--text-tertiary);font-size:10px;text-align:left}.admin-table td:first-child{display:grid;text-align:left}.admin-table td:first-child:before{grid-column:1 / -1}.admin-table td strong,.admin-table td small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-notice{padding:12px}.admin-notice>div{display:grid;gap:4px}.admin-notice span{white-space:normal}.admin-ai-settings{gap:12px}.admin-ai-heading{gap:10px}.admin-ai-heading p{font-size:10px}.admin-ai-toggle{padding:11px}.admin-ai-form{gap:10px}.admin-ai-form input{min-height:42px;font-size:16px}.admin-ai-actions{gap:8px;padding-top:12px}.admin-ai-actions button{min-height:44px}.admin-ai-action-hint{padding-bottom:2px}.admin-ai-usage{gap:8px}.admin-ai-usage>div{min-height:72px;padding:10px}.admin-ai-user-list>div{min-height:50px}.admin-system-cards,.admin-market-health{gap:8px}.admin-system-card{min-height:88px}.admin-registration-status{grid-template-columns:minmax(0,1fr) auto}.admin-registration-status button{grid-column:1 / -1;width:100%;min-height:42px}.admin-invite-form{grid-template-columns:1fr}.admin-invite-form label.full{grid-column:auto}.admin-invite-form input{min-height:42px;font-size:16px}.admin-invite-generate{width:100%;min-height:44px}.admin-generated-code{align-items:stretch;flex-direction:column}.admin-generated-code button{width:100%}.admin-invite-list article{grid-template-columns:1fr auto;gap:10px}.admin-invite-meta{grid-column:1 / -1}}@media(max-width:480px){.admin-center-header p{display:none}.admin-center-tabs button{font-size:9px}.admin-center-tabs{padding-inline:7px}.admin-metric{padding:10px}.admin-metric small{font-size:10px}}.admin-metric-grid,.admin-ai-usage{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary)}.admin-metric,.admin-ai-usage>div{min-width:0;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent}.admin-metric:last-child,.admin-ai-usage>div:last-child{border-right:0}@media(max-width:700px){.admin-metric-grid,.admin-ai-usage{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.admin-metric:nth-child(2),.admin-ai-usage>div:nth-child(2){border-right:0}.admin-metric:nth-child(-n+2),.admin-ai-usage>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.admin-metric{min-height:76px;padding:10px}.admin-ai-usage>div{min-height:68px;padding:9px 10px}}.admin-center--page{width:100%;max-width:none;min-height:640px;max-height:none;margin:0 auto;box-shadow:none}.admin-center--page .admin-center-content{overflow:visible}@media(max-width:700px){.admin-center--page{width:100%;height:auto;min-height:0;max-height:none;border:1px solid var(--border);border-radius:16px;box-shadow:none;overflow:hidden}.admin-center--page .admin-center-header{padding:14px 12px}.admin-center--page .admin-center-content{overflow:visible}}.admin-ai-config-card{display:grid;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--accent-blue) 32%,var(--border));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-blue) 5%,var(--bg-primary)),var(--bg-primary) 58%)}.admin-ai-current{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:baseline;padding:0 1px 11px;border-bottom:1px solid var(--border)}.admin-ai-current>span{grid-column:1 / -1;color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.04em}.admin-ai-current b,.admin-ai-current small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-ai-current b{color:var(--text-primary);font-size:14px}.admin-ai-current small{justify-self:end;color:var(--accent-blue);font-size:11px;font-weight:700}.admin-ai-config-card .admin-ai-toggle{background:var(--bg-card)}.admin-ai-config-card .admin-ai-form{padding-top:1px}.admin-center--page .admin-center-header{padding:22px 28px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-blue) 4%,var(--bg-card)),var(--bg-card) 58%)}.admin-center--page .admin-center-tabs{padding:10px 28px}.admin-center--page .admin-center-tabs button{border:1px solid transparent}.admin-center--page .admin-center-tabs button.active{border-color:color-mix(in srgb,var(--accent-blue) 30%,var(--border))}.admin-center--page .admin-center-content{width:100%;max-width:1120px;box-sizing:border-box;margin-inline:auto;padding:22px 28px 32px}@media(max-width:700px){.admin-ai-config-card{gap:11px;padding:12px;border-radius:12px}.admin-ai-current{grid-template-columns:1fr;gap:3px}.admin-ai-current small{justify-self:start}.admin-center--page .admin-center-header{padding:14px 12px}.admin-center--page .admin-center-tabs{padding:8px 10px}.admin-center--page .admin-center-content{padding:14px 12px calc(20px + env(safe-area-inset-bottom))}}.admin-ai-actions{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--border)}.admin-ai-action-hint{flex:1;display:grid;gap:2px;min-width:0}.admin-ai-action-hint b{color:var(--text-primary);font-size:11px}.admin-ai-action-hint span{color:var(--text-tertiary);font-size:10px;line-height:1.35}.admin-ai-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border-radius:10px;font-size:12px;font-weight:700;white-space:nowrap;transition:transform .16s ease,border-color .16s ease,background .16s ease}.admin-ai-actions button:not(:disabled):hover{transform:translateY(-1px)}.admin-ai-actions .primary{color:#fff;background:var(--accent-blue);box-shadow:0 7px 16px color-mix(in srgb,var(--accent-blue) 24%,transparent)}.admin-ai-actions .secondary{color:var(--accent-blue);border:1px solid color-mix(in srgb,var(--accent-blue) 58%,var(--border));background:color-mix(in srgb,var(--accent-blue) 9%,var(--bg-primary))}.admin-ai-actions .secondary:not(:disabled):hover{background:color-mix(in srgb,var(--accent-blue) 16%,var(--bg-primary))}.admin-ai-actions button:disabled{opacity:.52;cursor:not-allowed}@media(max-width:700px){.admin-ai-actions{display:grid;grid-template-columns:1fr 1fr}.admin-ai-action-hint{grid-column:1 / -1}.admin-ai-actions button{width:100%;padding-inline:9px}}.review-center{display:flex;flex-direction:column;gap:14px;min-width:0}.review-center-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-soft)}.review-center-header>div:first-child{min-width:0}.review-center-eyebrow{display:block;color:var(--accent-blue);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.review-center-header h1{margin:4px 0 0;color:var(--text-primary);font-size:clamp(20px,2.2vw,28px);line-height:1.2}.review-center-header p{margin:6px 0 0;max-width:620px;color:var(--text-secondary);font-size:12px;line-height:1.55}.review-center-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;min-width:300px;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-primary)}.review-center-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:calc(var(--radius-md) - 4px);color:var(--text-secondary);font-size:12px;font-weight:680;white-space:nowrap}.review-center-tabs button:hover{color:var(--text-primary)}.review-center-tabs button.active{background:var(--text-primary);color:var(--bg-card);box-shadow:0 4px 12px #0f172a1f}[data-theme=dark] .review-center-tabs button.active{background:#f4f4f5;color:#111113}.review-center-content{min-width:0}@media(max-width:760px){.review-center{gap:10px}.review-center-header{align-items:stretch;flex-direction:column;gap:12px;padding:14px;border-radius:15px}.review-center-header p{font-size:11px}.review-center-tabs{width:100%;min-width:0}.review-center-tabs button{min-height:38px;padding-inline:8px}}@media(max-width:420px){.review-center-header h1{font-size:19px}.review-center-tabs button{gap:5px;font-size:11px}}.account-center{container-name:account-center;container-type:inline-size;min-width:0;margin:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);padding:var(--page-surface-padding);box-shadow:var(--shadow-soft);overflow:hidden}.account-center>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.account-center button{font:inherit}.account-center-title{min-width:0;color:var(--text-primary);display:flex;align-items:center;gap:10px;text-align:left}.account-center-title>span{min-width:0;display:flex;flex-direction:column;gap:2px}.account-center-title small,.account-card small{color:var(--text-secondary);font-size:12px}.account-center-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.account-details-toggle{border:0;background:transparent;color:var(--text-secondary);padding:8px 4px;display:flex;align-items:center;gap:4px;cursor:pointer;font-size:12px;font-weight:650;white-space:nowrap}.account-details-toggle:hover{color:var(--text-primary)}.account-add{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:11px;padding:8px 11px;display:flex;gap:5px;align-items:center;cursor:pointer}.account-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.account-quality{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}.account-quality span{display:flex;gap:5px;align-items:baseline;background:var(--bg-secondary);border-radius:10px;padding:7px 10px;color:var(--text-secondary);font-size:12px}.account-quality b{color:var(--text-primary)}.account-quality .warning b{color:#f59e0b}.account-performance{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0;padding:12px 13px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.account-performance>span{display:grid;gap:4px}.account-performance small{color:var(--text-secondary);font-size:12px}.account-performance strong{font-size:17px}.account-performance .positive{color:var(--market-rise)}.account-performance .negative{color:var(--market-fall)}.account-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.account-card{position:relative;min-width:0;width:100%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:14px;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;cursor:pointer}.account-card-all{grid-template-columns:minmax(0,1fr) auto}.account-card.is-selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.account-card-main,.account-card-value{min-width:0;display:flex;flex-direction:column;gap:4px}.account-card-main em{font-size:10px;font-style:normal;color:var(--primary-color)}.account-card-value{text-align:right}.account-card-value strong{white-space:nowrap;font-variant-numeric:tabular-nums}.account-card-value small{max-width:100%;overflow-wrap:anywhere}.account-card-actions{display:flex;gap:4px}.account-card-actions span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--text-secondary)}.account-card-actions span:hover{background:var(--bg-card);color:var(--text-primary)}.account-list-toggle{display:none;border:0;background:transparent;color:var(--primary-color);align-items:center;justify-content:center;gap:5px;padding:9px;font-size:12px;font-weight:700;cursor:pointer}.account-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0000008f;display:grid;place-items:center;padding:20px}.account-dialog{width:min(420px,100%);background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;padding:18px;display:grid;gap:15px;color:var(--text-primary)}.account-dialog header,.account-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-dialog header button{border:0;background:transparent;color:inherit}.account-dialog label{display:grid;gap:7px;color:var(--text-secondary);font-size:13px}.account-dialog :is(input,select){min-width:0;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:10px;padding:11px}.account-dialog label>small{font-size:11px;color:var(--text-tertiary)}.account-dialog-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-dialog footer{justify-content:flex-end}.account-dialog footer button{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:10px;padding:9px 14px}.account-dialog footer .primary{background:var(--primary-color);color:#fff;border-color:transparent}@container account-center (max-width:620px){.account-grid{grid-template-columns:1fr;gap:7px}.account-center>header{align-items:flex-start;flex-wrap:wrap}.account-center-actions{margin-left:auto}.account-card{min-height:72px;grid-template-columns:minmax(0,1fr) minmax(112px,auto) 28px;gap:8px;padding:10px 11px;border-radius:12px}.account-card-all{min-height:68px;grid-template-columns:minmax(0,1fr) auto}.account-card-main,.account-card-value{gap:2px}.account-card-main strong,.account-card-value strong{overflow:hidden;text-overflow:ellipsis}.account-card-value small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card-actions span{width:28px;height:28px}.account-card--mobile-overflow{display:none}.account-list-toggle{display:flex}}@container account-center (max-width:430px){.account-center>header{display:grid;grid-template-columns:1fr}.account-center-actions{width:100%;margin:0;justify-content:stretch}.account-details-toggle,.account-add{justify-content:center;min-height:36px;padding-block:6px}.account-details-toggle{flex:1;border:1px solid var(--border-color);border-radius:11px;padding-inline:10px}.account-add{flex:1}.account-card{grid-template-columns:minmax(0,1fr) minmax(104px,42%) 28px;align-items:center}.account-card-all{grid-template-columns:minmax(0,1fr) minmax(104px,42%)}.account-card-value{grid-column:auto;text-align:right}.account-card:not(.account-card-all) .account-card-main{padding-right:0}.account-quality{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.account-quality span{min-width:0}.account-performance{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.account-center{padding:13px;border-radius:16px}.account-performance{align-items:flex-start;flex-direction:column}.account-dialog-row{grid-template-columns:1fr}}.app{display:flex;min-height:100vh;width:100%}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .3s;min-width:0}.dashboard{flex:1;width:min(100%,calc(var(--page-content-max) + (var(--space-page) * 2)));margin-inline:auto;padding:0 var(--space-page) var(--space-page);display:flex;flex-direction:column;gap:var(--space-section)}.dashboard-page{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--space-section)}.dashboard-page>*{width:100%;min-width:0}.dashboard--admin{padding-top:var(--space-section)}.site-compliance{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;min-height:52px;padding:12px clamp(16px,2.5vw,32px) max(16px,env(safe-area-inset-bottom));color:var(--text-tertiary);font-size:12px;line-height:1.5}.site-compliance a{color:inherit;text-decoration:none}.site-compliance a:hover,.site-compliance a:focus-visible{color:var(--text-secondary);text-decoration:underline;outline:none}.dashboard-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(8px,1.2vw,16px);width:100%}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.app-recovery{display:grid;min-height:100dvh;place-items:center;padding:24px;text-align:center;background:var(--bg-primary)}.app-recovery>div{width:min(100%,440px);padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-soft)}.app-recovery h1{font-size:20px}.app-recovery p{margin:10px 0 20px;color:var(--text-secondary)}.app-recovery button{min-height:44px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--text-primary);color:var(--bg-card);font-weight:650}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fab-add{position:fixed;bottom:clamp(16px,2.5vw,32px);right:clamp(16px,2.5vw,32px);width:clamp(44px,3.5vw,52px);height:clamp(44px,3.5vw,52px);border-radius:clamp(12px,1.2vw,16px);background:var(--text-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0003;transition:all .25s;z-index:50}[data-theme=dark] .fab-add{background:#f5f5f7;color:#000}.fab-add:hover{transform:scale(1.05)}.fab-add svg{width:clamp(18px,1.5vw,22px);height:clamp(18px,1.5vw,22px)}.app-toast{position:fixed;z-index:500;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100vw - 32px),430px);min-height:48px;display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;border:1px solid var(--border-strong);border-radius:13px;background:var(--bg-card);color:var(--text-primary);box-shadow:0 16px 45px #0f172a2e;font-size:13px;font-weight:550}.app-toast--success>svg{color:var(--accent-green)}.app-toast--error>svg{color:var(--accent-red)}.app-toast span{flex:1;line-height:1.45}.app-toast button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--text-tertiary)}.app-toast button:hover{color:var(--text-primary);background:var(--bg-primary)}.section-title{font-size:clamp(17px,1.5vw,20px);line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.goal-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.goal-templates button{padding:9px 10px;border:1px solid var(--border);border-radius:9px;color:var(--text-secondary);background:var(--bg-secondary)}.goal-templates button:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.repayment-total{display:flex;align-items:center;color:var(--text-primary);font-weight:650;background:var(--bg-secondary)}.repayment-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.repayment-quick-actions button{min-height:38px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-weight:650}.repayment-preview{display:grid;gap:5px;padding:12px;border:1px solid rgba(99,102,241,.24);border-radius:10px;background:#6366f112;color:var(--text-secondary);font-size:11px;line-height:1.45}.repayment-preview strong{color:var(--text-primary);font-size:12px}.repayment-preview small{color:var(--text-tertiary)}.repayment-preview.invalid{border-color:#ef44446b;background:#ef444414}.repayment-preview.invalid b{color:var(--accent-red)}.repayment-minimum-update{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:12px;line-height:1.45}.repayment-minimum-update input{flex:0 0 auto;margin-top:2px}.empty-tab{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary)}@media(max-width:1100px){.main-content{margin-left:var(--sidebar-width)}.dashboard-grid,.portfolio-grid{grid-template-columns:1fr}}@media(max-width:768px){.main-content{margin-left:var(--sidebar-collapsed)}.dashboard{width:100%;min-width:0;padding:0 16px 20px;gap:16px}.site-compliance{min-height:58px;padding:14px 16px max(18px,env(safe-area-inset-bottom));font-size:11px}.dashboard-grid,.portfolio-grid{grid-template-columns:1fr}.fab-add{bottom:max(18px,env(safe-area-inset-bottom))}.app-toast{bottom:max(78px,calc(env(safe-area-inset-bottom) + 62px))}.dashboard>*,.dashboard-grid,.portfolio-grid{min-width:0;max-width:100%}.app :is(.dashboard-grid>*,.portfolio-grid>*,.overview-card-grid>*,.overview-visual-grid>*,.tx-insights>*,.debt-visuals>*,.monthly-report-grid>*,.monthly-report-metrics>*,.monthly-report-review-grid>*,.asset-kpis>*,.debt-kpis>*){min-width:0;max-width:100%}}.app :is(input,select,textarea,.form-input){border-radius:var(--radius-sm)!important}.app :is(.overview-reminders,.portfolio-chart-section,.goals-overall,.goal-card,.tx-month-group,.tx-chart-card,.debt-kpi,.debt-priority,.debt-card,.debt-empty,.notification-panel,.settings-panel,.login-card,.modal-content,.delete-modal,.contribution-modal,.ai-panel){border-radius:var(--radius-lg)}.app :is(.asset-search,.asset-toolbar select,.tx-search,.tx-advanced-filters input,.tx-advanced-filters select,.allocation-editor label,.legend-item,.contribution-summary>div){border-radius:var(--radius-md)}.app :is(.type-btn,.submit-btn,.login-btn,.login-action-btn,.goal-primary-action,.goal-contribute,.tx-export,.allocation-save,.debt-add,.debt-empty button,.form-actions button,.cancel-btn,.confirm-btn){border-radius:var(--radius-sm)}@media(max-width:600px){.dashboard{gap:12px;padding-inline:12px;padding-bottom:18px}.dashboard-page{gap:12px}.dashboard--admin{padding-top:12px}.app .modal-content.form-modal,.app .contribution-modal,.app .notification-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.app :is(.overview-reminders,.portfolio-chart-section,.goals-overall,.goal-card,.tx-month-group,.tx-budget-card,.tx-chart-card,.debt-kpi,.debt-priority,.debt-card,.debt-empty,.debt-visual-card,.debt-planner,.settled-debt-records,.ai-assistant-card,.ai-generated-result,.ai-analysis-history,.monthly-report-card){border-radius:16px}.main-content,.dashboard,.tx-section,.tx-list,.tx-month-group{min-width:0}}.app :is(.asset-kpis>div,.tx-summary>.tx-summary-item,.overview-card-grid>.overview-link-card,.monthly-report-metrics>article,.debt-metrics>span,.admin-metric-grid>.admin-metric,.admin-ai-usage>div){border-radius:0!important;box-shadow:none}.site-compliance .compliance-separator{color:var(--text-tertiary)}.site-compliance .police-filing-link,.login-compliance .police-filing-link{display:inline-flex;align-items:center;gap:4px}.site-compliance .police-filing-link img,.login-compliance .police-filing-link img{width:16px;height:17px;object-fit:contain;flex:0 0 auto}.app :is(.tx-item-amount,.tx-month-income,.tx-month-expense,.tx-summary-value,.overview-card-copy strong,.debt-kpi strong,.asset-holding-value,.asset-unit-price){font-variant-numeric:tabular-nums;min-width:0}.app :is(.asset-refresh,.debt-add,.debt-simulate,.tx-export,.tx-budget-save,.monthly-report-export,.admin-ai-actions button,.goal-primary-action,.goal-contribute,.allocation-save){box-sizing:border-box;min-height:var(--control-md)}.app :is(.overview-link-card,.overview-reminders,.overview-visual-card,.tx-budget-card,.tx-chart-card,.debt-visual-card,.debt-card,.monthly-report-card,.ai-generated-result,.admin-center){min-width:0;box-sizing:border-box}.investment-funding-conversion{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-subtle, rgba(127, 127, 127, .06))}.investment-funding-conversion strong{font-variant-numeric:tabular-nums}.investment-funding-conversion small{grid-column:1 / -1;color:var(--text-secondary)}.form-input--error{border-color:var(--danger, #ef4444)!important}.form-context-hint--error{color:var(--danger, #ef4444)!important}@media(max-width:640px){.investment-funding-conversion{grid-template-columns:1fr}.investment-funding-conversion small{grid-column:auto}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-content{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:16px;font-weight:600;color:var(--text-primary)}.modal-header>button{width:36px;height:36px;margin:-8px -8px -8px 8px;display:grid;place-items:center;border-radius:9px;color:var(--text-secondary)}.modal-header>button:hover{color:var(--text-primary);background:var(--bg-primary)}.modal-content form{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-content.form-modal{display:flex;flex-direction:column;overflow:hidden}.modal-content.form-modal .modal-form{min-height:0;flex:1;overflow-y:auto}.modal-footer{flex:0 0 auto;padding:14px 24px 20px;border-top:1px solid var(--border);background:var(--bg-card)}.modal-footer .submit-btn{width:100%;margin:0;min-height:44px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-input{box-sizing:border-box;display:block;width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-card);outline:none;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px var(--focus-ring)}.type-selector{display:flex;flex-wrap:wrap;gap:6px}.type-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid transparent;display:flex;align-items:center;gap:4px;transition:all .2s}.type-btn:hover{border-color:var(--border);color:var(--text-primary)}.type-btn.active{background:var(--text-primary);color:#fff}[data-theme=dark] .type-btn.active{background:#f5f5f7;color:#000}.transaction-form .type-btn.tx-type-expense.active{background:#991b1b;color:#fff}.transaction-form .type-btn.tx-type-income.active{background:#065f46;color:#fff}.transaction-form .type-btn.tx-type-repayment.active{background:#1d4ed8;color:#fff}.transaction-form .type-btn.tx-type-investment.active{background:#5b48d8;color:#fff}[data-theme=dark] .transaction-form .type-btn.tx-type-expense.active{background:#f87171;color:#2b0a0a}[data-theme=dark] .transaction-form .type-btn.tx-type-income.active{background:#6ee7b7;color:#052e1b}[data-theme=dark] .transaction-form .type-btn.tx-type-repayment.active{background:#93c5fd;color:#102a56}[data-theme=dark] .transaction-form .type-btn.tx-type-investment.active{background:#c4b5fd;color:#25115c}.submit-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:8px;font-size:14px;font-weight:600;color:#fff;background:var(--text-primary);margin-top:4px}[data-theme=dark] .submit-btn{background:#f5f5f7;color:#000}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-context-hint{padding:10px 12px;border:1px solid rgba(99,102,241,.16);border-radius:9px;background:#6366f112;color:var(--text-secondary);font-size:11px;line-height:1.5}.form-advanced{border-top:1px solid var(--border);padding-top:2px}.form-advanced summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;list-style:none}.form-advanced summary::-webkit-details-marker{display:none}.form-advanced summary:after{content:"+";color:var(--text-tertiary);font-size:20px;font-weight:400;line-height:1}.form-advanced[open] summary:after{content:"−"}.form-advanced-body{display:flex;flex-direction:column;gap:14px;padding-top:10px}.form-advanced-body.form-row{display:grid}.tx-form-optional{border-top:1px solid var(--border)}.tx-form-optional summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;list-style:none}.tx-form-optional summary::-webkit-details-marker{display:none}.tx-form-optional summary:after{content:"+";color:var(--text-tertiary);font-size:20px;font-weight:400;line-height:1}.tx-form-optional[open] summary:after{content:"−"}.tx-form-optional .form-group{padding-top:8px}.fund-search-group{position:relative}.fund-search-status{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:12px}.fund-search-error{color:var(--accent-red)}.fund-search-results{display:flex;flex-direction:column;max-height:230px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-card);box-shadow:0 12px 28px #0f172a1f}.fund-search-result{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px;text-align:left;border-bottom:1px solid var(--border)}.fund-search-result:last-child{border-bottom:0}.fund-search-result:hover{background:var(--bg-primary)}.fund-search-result strong,.fund-selected strong{color:var(--text-primary);font-size:13px}.fund-search-result span,.fund-selected span{color:var(--text-tertiary);font-size:11px;line-height:1.4}.fund-selected{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(99,102,241,.24);border-radius:9px;background:#6366f112}.spin{animation:equa-spin .8s linear infinite}@keyframes equa-spin{to{transform:rotate(360deg)}}.icon-action{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-tertiary);background:transparent;border:1px solid transparent;border-radius:8px;opacity:.78;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}.icon-action:hover{color:var(--text-primary);background:var(--bg-card);border-color:var(--border);box-shadow:0 5px 14px #0f172a17;transform:translateY(-1px);opacity:1}.icon-action--edit:hover{color:#4f46e5;background:#6366f114;border-color:#6366f133}.icon-action--danger:hover{color:var(--accent-red);background:var(--accent-red-bg);border-color:#991b1b26}.icon-action:focus-visible{outline:2px solid #6366F1;outline-offset:2px;opacity:1}[data-theme=dark] .icon-action:hover{box-shadow:0 5px 16px #00000052}@media(max-width:480px){.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;margin:0 12px}.icon-action{width:36px;height:36px;flex-basis:36px;opacity:1;background:var(--bg-primary);border-color:var(--border)}}@media(max-width:600px){.modal-overlay:has(.form-modal){align-items:flex-end;padding:0}.modal-content.form-modal{width:100%;max-width:none;max-height:min(92dvh,760px);margin:0;overflow-x:hidden;border-width:1px 0 0;border-radius:20px 20px 0 0;box-shadow:0 -12px 36px #0f172a2e}.form-modal .modal-header{padding:16px 20px}.form-modal .modal-header h3{font-size:17px}.form-modal .modal-header>button{width:40px;height:40px;margin:-8px -8px -8px 8px}.form-modal .modal-form{padding:14px 20px 12px;gap:12px;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.form-modal .modal-footer{padding:12px 20px max(12px,env(safe-area-inset-bottom))}.form-modal .submit-btn{min-height:48px;border-radius:11px}.form-modal .form-input{height:48px;min-height:48px;padding-block:10px;font-size:16px;line-height:26px}.form-modal input.form-input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-modal .type-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-modal .form-group{gap:6px}.form-modal .type-btn{min-width:0;min-height:38px;padding:7px 10px;justify-content:center;font-size:13px;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}.form-modal .type-btn svg{flex:0 0 auto}.form-modal .form-group label,.form-modal .form-context-hint{overflow-wrap:anywhere}.form-modal .form-advanced summary,.form-modal .tx-form-optional summary{min-height:36px}.form-modal .form-advanced-body{gap:10px;padding-top:8px}.form-modal .form-context-hint{padding:8px 10px}.form-modal .goal-templates{display:flex;flex-wrap:nowrap;gap:7px;margin-bottom:0;padding-bottom:3px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.form-modal .goal-templates::-webkit-scrollbar{display:none}.form-modal .goal-templates button{flex:0 0 auto;min-height:38px;padding:7px 12px;font-size:13px;white-space:nowrap}.form-modal .mobile-chip-rail{display:flex;flex-wrap:nowrap;gap:7px;width:100%;padding:0 2px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.form-modal .mobile-chip-rail::-webkit-scrollbar{display:none}.form-modal .mobile-chip-rail .type-btn{flex:0 0 auto;padding-inline:12px;white-space:nowrap;overflow-wrap:normal;scroll-snap-align:start}.form-modal .asset-type-selector{display:flex;flex-wrap:nowrap;gap:8px;width:100%;padding:0 2px 4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.form-modal .asset-type-selector::-webkit-scrollbar{display:none}.form-modal .asset-type-selector .type-btn{flex:0 0 auto;min-width:auto;min-height:40px;padding:8px 14px;font-size:13px;white-space:nowrap;overflow-wrap:normal;scroll-snap-align:start}.transaction-form-modal .transaction-form{padding-top:14px;gap:12px}.transaction-form .form-group{gap:6px}.transaction-form .tx-type-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.transaction-form .tx-type-selector .type-btn{min-height:38px;padding-block:6px}.transaction-form .tx-category-selector{display:flex;flex-wrap:nowrap;gap:7px;width:100%;padding:0 2px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.transaction-form .tx-category-selector::-webkit-scrollbar{display:none}.transaction-form .tx-category-selector .type-btn{flex:0 0 auto;min-height:38px;padding:7px 12px;white-space:nowrap;overflow-wrap:normal;scroll-snap-align:start}.transaction-form .tx-core-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transaction-form .tx-core-row .form-input{min-width:0;padding-inline:10px}.transaction-form .tx-form-optional summary{min-height:36px}}@media(max-width:480px){.form-modal .modal-header,.form-modal .modal-form,.form-modal .modal-footer{padding-inline:16px}.form-modal .type-btn{padding-inline:7px;font-size:12px}}:root,[data-theme=light]{--bg-primary: #F6F7F9;--bg-card: #FFFFFF;--card-bg: #FFFFFF;--bg-secondary: #EEF1F5;--surface-subtle: #F1F3F6;--bg-sidebar: #FFFFFF;--text-primary: #111827;--text-secondary: #4B5563;--text-tertiary: #5B6778;--accent-blue: #4F46E5;--primary-color: var(--accent-blue);--hover-bg: var(--bg-secondary);--accent-blue-bg: rgba(79, 70, 229, .1);--accent-green: #065F46;--accent-green-bg: rgba(6, 95, 70, .08);--accent-red: #991B1B;--accent-red-bg: rgba(153, 27, 27, .08);--danger: #B42318;--border: #CBD2DC;--border-strong: #8E9AAA;--border-color: var(--border);--focus-outline: #4F46E5;--focus-ring: rgba(99, 102, 241, .16);--shadow-soft: 0 4px 24px rgba(0, 0, 0, .04);--shadow-hover: 0 8px 32px rgba(0, 0, 0, .08);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--space-page: clamp(16px, 2.5vw, 32px);--space-section: clamp(12px, 2vw, 24px);--page-content-max: 1440px;--page-surface-padding: clamp(16px, 2vw, 24px);--control-sm: 36px;--control-md: 40px;--control-touch: 44px;--market-rise: #15803D;--market-fall: #DC2626;--market-rise-bg: rgba(21, 128, 61, .1);--market-fall-bg: rgba(220, 38, 38, .1);--sidebar-width: 190px;--sidebar-collapsed: 58px}[data-theme=dark]{--bg-primary: #0E0E10;--bg-card: #1C1C1E;--card-bg: #1C1C1E;--bg-secondary: #2A2A2E;--surface-subtle: #242428;--bg-sidebar: #1C1C1E;--text-primary: #F5F5F7;--text-secondary: #C7C7CC;--text-tertiary: #AAAAB2;--accent-blue: #818CF8;--primary-color: var(--accent-blue);--hover-bg: var(--bg-secondary);--accent-blue-bg: rgba(129, 140, 248, .14);--accent-green: #30D158;--accent-green-bg: rgba(48, 209, 88, .12);--accent-red: #FF453A;--accent-red-bg: rgba(255, 69, 58, .12);--danger: #FF6961;--border: #4D4D54;--border-strong: #777780;--border-color: var(--border);--focus-outline: #A5B4FC;--focus-ring: rgba(129, 140, 248, .24);--shadow-soft: 0 4px 24px rgba(0, 0, 0, .2);--shadow-hover: 0 8px 32px rgba(0, 0, 0, .3);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--space-page: clamp(16px, 2.5vw, 32px);--space-section: clamp(12px, 2vw, 24px);--page-content-max: 1440px;--page-surface-padding: clamp(16px, 2vw, 24px);--control-sm: 36px;--control-md: 40px;--control-touch: 44px;--market-rise: #30D158;--market-fall: #FF453A;--market-rise-bg: rgba(48, 209, 88, .12);--market-fall-bg: rgba(255, 69, 58, .12)}[data-market=cn]{--market-rise: #DC2626;--market-fall: #15803D;--market-rise-bg: rgba(220, 38, 38, .1);--market-fall-bg: rgba(21, 128, 61, .1)}[data-theme=dark][data-market=cn]{--market-rise: #FF6961;--market-fall: #30D158;--market-rise-bg: rgba(255, 105, 97, .14);--market-fall-bg: rgba(48, 209, 88, .14)}@media(max-width:1100px){:root{--sidebar-width: 58px}}@media(max-width:768px){:root{--sidebar-collapsed: 52px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:clamp(13px,1.05vw,15px);-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden;transition:background .3s,color .3s}.app,.main-content,.dashboard,.dashboard-grid,.portfolio-grid{min-width:0}.app :is(h1,h2,h3,h4,h5,p,small,span,strong,label){overflow-wrap:anywhere}#root{display:flex;min-height:100vh}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#48484a}button{border:none;background:none;cursor:pointer;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}ul{list-style:none}.positive,.financial-positive{color:var(--market-rise)}.negative,.financial-negative{color:var(--market-fall)}.neutral,.financial-neutral{color:var(--text-secondary)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
