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