@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Syne:wght@600;700&display=swap";:root{font-family:Space Grotesk,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--alloc-0: #2ad68d;--alloc-1: #1b8af2;--alloc-2: #9b5cff;--alloc-3: #f2b441;--alloc-4: #ea5fd6;--alloc-5: #6fd6ff;--bg-body-gradient: radial-gradient(circle at top, #11223a 0%, #05070d 55%, #05070d 100%);--bg-app: #0d121f;--bg-sidebar: #161e2e;--bg-panel: rgba(12, 18, 32, .85);--bg-elevated: #1e293b;--text-primary: #dfe7f3;--text-secondary: #9aa9bf;--text-muted: #6d7d99;--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--shadow-panel: 0 18px 30px rgba(2, 6, 15, .6);--overlay-02: rgba(255, 255, 255, .02);--overlay-03: rgba(255, 255, 255, .03);--overlay-04: rgba(255, 255, 255, .04);--overlay-05: rgba(255, 255, 255, .05);--overlay-06: rgba(255, 255, 255, .06);--overlay-07: rgba(255, 255, 255, .07);--overlay-08: rgba(255, 255, 255, .08);--overlay-09: rgba(255, 255, 255, .09);--overlay-10: rgba(255, 255, 255, .1);--overlay-12: rgba(255, 255, 255, .12);--overlay-14: rgba(255, 255, 255, .14);--overlay-15: rgba(255, 255, 255, .15);--overlay-16: rgba(255, 255, 255, .16);--overlay-25: rgba(255, 255, 255, .25);--overlay-30: rgba(255, 255, 255, .3);--overlay-35: rgba(255, 255, 255, .35);--overlay-40: rgba(255, 255, 255, .4);--overlay-50: rgba(255, 255, 255, .5);--overlay-55: rgba(255, 255, 255, .55);--overlay-60: rgba(255, 255, 255, .6);--overlay-65: rgba(255, 255, 255, .65);--overlay-85: rgba(255, 255, 255, .85);--bg-navy-34: rgba(9, 15, 28, .34);--bg-navy-35: rgba(9, 15, 28, .35);--bg-navy-40: rgba(9, 15, 28, .4);--bg-navy-45: rgba(9, 15, 28, .45);--bg-navy-48: rgba(9, 15, 28, .48);--bg-navy-50: rgba(9, 15, 28, .5);--bg-navy-55: rgba(9, 15, 28, .55);--bg-navy-58: rgba(9, 15, 28, .58);--bg-navy-60: rgba(9, 15, 28, .6);--bg-navy-64: rgba(9, 15, 28, .64);--bg-navy-65: rgba(9, 15, 28, .65);--bg-navy-68: rgba(9, 15, 28, .68);--bg-navy-70: rgba(9, 15, 28, .7);--bg-navy-72: rgba(9, 15, 28, .72);--bg-navy-75: rgba(9, 15, 28, .75);--bg-navy-78: rgba(9, 15, 28, .78);--bg-navy-80: rgba(9, 15, 28, .8);--bg-navy-82: rgba(9, 15, 28, .82);--bg-navy-85: rgba(9, 15, 28, .85);--bg-navy-90: rgba(9, 15, 28, .9);--bg-navy-92: rgba(9, 15, 28, .92);--bg-navy-95: rgba(9, 15, 28, .95);--bg-navy-96: rgba(9, 15, 28, .96);--bg-navy-98: rgba(9, 15, 28, .98);--accent-info: #79ccff;--accent-info-tint: rgba(121, 204, 255, .12);--accent-info-border: rgba(121, 204, 255, .24);--accent-info-dot: rgba(121, 204, 255, .55);--accent-info-underline: rgba(121, 204, 255, .5);--status-green-bg: rgba(34, 197, 94, .15);--status-green-border: rgba(34, 197, 94, .35);--status-green-text: #86efac;--status-amber-bg: rgba(251, 191, 36, .2);--status-amber-border: rgba(251, 191, 36, .45);--status-amber-text: #fcd34d;--status-blue-bg: rgba(59, 130, 246, .16);--status-blue-border: rgba(96, 165, 250, .45);--status-blue-text: #93c5fd;--status-red-bg: rgba(220, 38, 38, .16);--status-red-border: rgba(248, 113, 113, .4);--status-red-text: #fca5a5;--status-orange-bg: rgba(249, 115, 22, .18);--status-orange-border: rgba(251, 146, 60, .48);--status-orange-text: #fdba74}:root[data-theme=light]{--bg-body-gradient: radial-gradient(circle at top, #eef4ff 0%, #f6f8fc 55%, #f6f8fc 100%);--bg-app: #f6f8fc;--bg-sidebar: #ffffff;--bg-panel: rgba(255, 255, 255, .9);--bg-elevated: #eef1f6;--text-primary: #16213a;--text-secondary: #4b5871;--text-muted: #7b879c;--border-subtle: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--shadow-panel: 0 12px 24px rgba(15, 23, 42, .08);--overlay-02: rgba(15, 23, 42, .02);--overlay-03: rgba(15, 23, 42, .03);--overlay-04: rgba(15, 23, 42, .04);--overlay-05: rgba(15, 23, 42, .05);--overlay-06: rgba(15, 23, 42, .06);--overlay-07: rgba(15, 23, 42, .07);--overlay-08: rgba(15, 23, 42, .08);--overlay-09: rgba(15, 23, 42, .09);--overlay-10: rgba(15, 23, 42, .1);--overlay-12: rgba(15, 23, 42, .12);--overlay-14: rgba(15, 23, 42, .14);--overlay-15: rgba(15, 23, 42, .15);--overlay-16: rgba(15, 23, 42, .16);--overlay-25: rgba(15, 23, 42, .25);--overlay-30: rgba(15, 23, 42, .32);--overlay-35: rgba(15, 23, 42, .4);--overlay-40: rgba(15, 23, 42, .48);--overlay-50: rgba(15, 23, 42, .58);--overlay-55: rgba(15, 23, 42, .62);--overlay-60: rgba(15, 23, 42, .68);--overlay-65: rgba(15, 23, 42, .72);--overlay-85: rgba(15, 23, 42, .88);--accent-info: #0a6fc2;--accent-info-tint: rgba(10, 111, 194, .1);--accent-info-border: rgba(10, 111, 194, .22);--accent-info-dot: rgba(10, 111, 194, .45);--accent-info-underline: rgba(10, 111, 194, .4);--status-green-bg: rgba(34, 197, 94, .14);--status-green-border: rgba(34, 197, 94, .35);--status-green-text: #15803d;--status-amber-bg: rgba(217, 119, 6, .14);--status-amber-border: rgba(217, 119, 6, .35);--status-amber-text: #92400e;--status-blue-bg: rgba(37, 99, 235, .12);--status-blue-border: rgba(37, 99, 235, .32);--status-blue-text: #1d4ed8;--status-red-bg: rgba(220, 38, 38, .12);--status-red-border: rgba(220, 38, 38, .32);--status-red-text: #b91c1c;--status-orange-bg: rgba(234, 88, 12, .14);--status-orange-border: rgba(234, 88, 12, .35);--status-orange-text: #9a3412;--bg-navy-34: rgba(255, 255, 255, .34);--bg-navy-35: rgba(255, 255, 255, .35);--bg-navy-40: rgba(255, 255, 255, .4);--bg-navy-45: rgba(255, 255, 255, .45);--bg-navy-48: rgba(255, 255, 255, .48);--bg-navy-50: rgba(255, 255, 255, .5);--bg-navy-55: rgba(255, 255, 255, .55);--bg-navy-58: rgba(255, 255, 255, .58);--bg-navy-60: rgba(255, 255, 255, .6);--bg-navy-64: rgba(255, 255, 255, .64);--bg-navy-65: rgba(255, 255, 255, .65);--bg-navy-68: rgba(255, 255, 255, .68);--bg-navy-70: rgba(255, 255, 255, .7);--bg-navy-72: rgba(255, 255, 255, .72);--bg-navy-75: rgba(255, 255, 255, .75);--bg-navy-78: rgba(255, 255, 255, .78);--bg-navy-80: rgba(255, 255, 255, .8);--bg-navy-82: rgba(255, 255, 255, .82);--bg-navy-85: rgba(255, 255, 255, .85);--bg-navy-90: rgba(255, 255, 255, .9);--bg-navy-92: rgba(255, 255, 255, .92);--bg-navy-95: rgba(255, 255, 255, .95);--bg-navy-96: rgba(255, 255, 255, .96);--bg-navy-98: rgba(255, 255, 255, .98)}:root{color:var(--text-primary);background-color:var(--bg-app)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-body-gradient);transition:background .2s ease}#root{min-height:100vh}h1,h2,h3,h4{font-family:Syne,sans-serif;margin:0}p{margin:0}.app-layout{display:flex;min-height:100vh;background-color:var(--bg-app);font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden;transition:background-color .2s ease}.sidebar{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;transition:width .3s ease;flex-shrink:0;height:100vh;position:sticky;top:0;overflow-y:auto;z-index:50}.sidebar.collapsed{width:80px}.sidebar-header{padding:24px;margin-bottom:32px}.sidebar-brand{display:flex;align-items:center;gap:12px;overflow:hidden;white-space:nowrap}.sidebar-logo-img{width:32px;height:32px;border-radius:50%;border:2px solid #2ad68d}.sidebar-brand-text{font-weight:700;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);opacity:0;animation:fadeIn .3s forwards}@keyframes fadeIn{to{opacity:1}}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px;flex:1}.sidebar-link{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;color:var(--text-secondary);text-decoration:none;transition:all .2s;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500}.sidebar-link:hover{background:var(--border-subtle);color:var(--text-primary)}.sidebar-link.active{background:#2ad68d1a;color:#2ad68d;font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;width:3px;height:24px;background:#2ad68d;border-radius:0 4px 4px 0;display:none}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;flex:0 0 24px}.sidebar-icon svg{width:20px;height:20px;display:block}.sidebar-text{opacity:0;animation:fadeIn .2s .1s forwards}.sidebar-link.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.sidebar-item-group{display:flex;flex-direction:column}.sidebar-link-button{width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.sidebar-link-button .sidebar-text{display:inline-flex;align-items:center;gap:8px}.sidebar-chevron{margin-left:auto;font-size:11px;color:var(--text-secondary);transition:transform .2s ease}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-subnav{display:grid;gap:4px;margin:2px 0 8px 34px;padding-left:12px;border-left:1px solid var(--accent-info-border)}.sidebar-subnav[hidden]{display:none!important}.sidebar-sublink{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:4px 8px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:12px;transition:color .18s ease,background .18s ease}.sidebar-sublink:hover{color:var(--text-primary);background:var(--overlay-04)}.sidebar-sublink.active{color:var(--accent-info);background:var(--accent-info-tint)}.sidebar-sublink-dot{width:6px;height:6px;border-radius:999px;background:var(--accent-info-dot);flex:0 0 6px}.sidebar.collapsed .sidebar-subnav{display:none!important}.sidebar-subnav-portal{display:grid;gap:4px;margin:0;padding:6px;min-width:210px;max-width:80vw;max-height:70vh;overflow-y:auto;border-left:none;background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:12px;box-shadow:0 16px 36px #00000080;z-index:1000}.wip-badge{background:var(--overlay-10);color:var(--text-secondary);font-size:9px;padding:2px 6px;border-radius:4px;margin-left:auto}.pro-badge{background:#fbbf242e;color:#fbbf24;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;margin-left:auto}.pro-badge.active{background:#2ad68d33;color:#2ad68d}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:var(--text-primary);font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none}.sidebar-footer{padding:16px 12px;margin-top:auto;border-top:1px solid var(--overlay-06);display:flex;flex-direction:column;gap:4px}.sidebar-toggle{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px;color:var(--text-muted);width:100%;border-radius:12px;transition:color .2s}.sidebar-toggle:hover{color:var(--text-primary);background:var(--overlay-04)}.admin-link{color:#de5b5b!important}.admin-link .sidebar-icon svg{width:18px;height:18px}.admin-link.active{background:#de5b5b1a}.content-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto;position:relative}.app{padding:32px 40px;max-width:1440px;margin:0 auto;width:100%;min-width:0}@media(max-width:900px){.app{padding:24px 16px 32px}.plan-upgrade-banner{flex-direction:column;align-items:flex-start}.pricing-grid{grid-template-columns:1fr}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:18px;background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:20}.plan-upgrade-banner{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(42,214,141,.25);background:var(--bg-elevated);display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-upgrade-banner__copy{display:flex;flex-direction:column;gap:4px}.plan-upgrade-banner__copy strong{font-size:13px;color:var(--text-primary);letter-spacing:.01em}.plan-upgrade-banner__copy span{font-size:12px;color:#9ec3d6}.plan-upgrade-banner__btn,.plan-upgrade-banner__btn-secondary{min-width:108px}.pricing-page{display:grid;gap:16px}.pricing-page .panel p{margin:0}.pricing-page .small{font-size:12px}.pricing-page .small.muted{color:#9ec3d6}.pricing-page .small.warning{color:#f3c969}.pricing-page .small.info{color:var(--accent-info)}.pricing-actions{margin-top:10px}.pricing-actions-below-cards{margin-top:14px;padding:14px;border-radius:14px;border:1px solid var(--overlay-09);background:var(--bg-navy-72)}.pricing-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:12px;color:var(--text-primary)}.pricing-consent input[type=checkbox]{margin-top:2px}.pricing-legal-links{margin:0 0 10px}.pricing-legal-links a,.pricing-regulatory-links a{color:var(--accent-info);text-decoration:none;border-bottom:1px dashed var(--accent-info-underline)}.pricing-legal-links a:hover,.pricing-regulatory-links a:hover{color:#a7ddff;border-bottom-color:#a7ddffd9}.pricing-regulatory-links{margin-top:10px}.pricing-actions-row{display:flex;flex-wrap:wrap;gap:10px}.pricing-actions-secondary{border-color:#f3c96973;color:#f3c969}.pricing-actions-secondary:hover{border-color:#f3c969bf;background:#f3c96914}.pricing-voucher{margin-top:12px;display:grid;gap:8px}.pricing-voucher-row{display:flex;gap:8px;flex-wrap:wrap}.pricing-voucher-row input{min-width:180px;border-radius:10px;border:1px solid var(--overlay-16);background:var(--overlay-04);color:var(--text-primary);padding:10px 12px}.pricing-voucher-row input:focus{outline:none;border-color:#35e59b99;box-shadow:0 0 0 2px #35e59b2e}.pricing-pending-transfer{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pricing-pending-transfer-link{text-decoration:none}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pricing-card{background:var(--bg-navy-80);border:1px solid var(--overlay-08);border-radius:14px;padding:16px}.pricing-card.premium{border-color:#2ad68d59}.pricing-card.active{box-shadow:inset 0 0 0 1px #2ad68d80}.pricing-card h3{margin:0 0 8px}.pricing-card .price{color:#35e59b;font-weight:700;margin-bottom:10px}.pricing-card ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text-primary);font-size:13px}.pricing-methods{margin-top:10px;display:grid;gap:6px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3em;font-size:12px}.brand img{width:44px;height:44px;border-radius:50%;border:2px solid rgba(143,255,110,.6)}.nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav-item{border:none;background:var(--overlay-08);color:var(--text-primary);padding:8px 14px;border-radius:999px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.nav-item.active{background:linear-gradient(135deg,#2ac77c,#159b6b);color:#08131f}.nav-item.disabled{opacity:.45;cursor:not-allowed;background:var(--overlay-06);color:var(--text-secondary)}.nav-item.disabled.active{background:var(--overlay-08);color:var(--text-secondary)}.wip{background:var(--overlay-12);color:var(--text-secondary);border-radius:999px;font-size:9px;padding:2px 6px;letter-spacing:.1em}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logout-btn{padding:6px 12px;font-size:12px}.lang-btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);font-size:12px;font-weight:600}.lang-picker{position:relative}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-navy-95);border:1px solid var(--overlay-12);border-radius:12px;padding:8px;display:grid;gap:6px;min-width:160px;box-shadow:0 16px 24px #02060f99;z-index:20}.lang-option{border:none;background:transparent;color:var(--text-primary);padding:8px 10px;border-radius:10px;display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;font-weight:600}.lang-option.active{background:#2ad68d26;color:#b8f7d8}.currency-picker{position:relative}.currency-btn{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);font-size:12px;font-weight:600}.currency-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-navy-95);border:1px solid var(--overlay-12);border-radius:12px;padding:8px;display:grid;gap:6px;min-width:110px;box-shadow:0 16px 24px #02060f99;z-index:20}.currency-option{border:none;background:transparent;color:var(--text-primary);padding:8px 10px;border-radius:10px;text-align:left;font-size:12px;font-weight:600}.currency-option.active{background:#2ad68d26;color:#b8f7d8}@media(max-width:1100px),(pointer:coarse){.app-layout.mobile-nav{flex-direction:column}.app-layout.mobile-nav .sidebar{width:100%;max-width:100%;height:64px;min-height:64px;flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 10px;position:sticky;top:0;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--overlay-06)}.app-layout.mobile-nav .sidebar.collapsed{width:100%}.app-layout.mobile-nav .sidebar-header{padding:0;margin:0 8px 0 0;flex:0 0 auto}.app-layout.mobile-nav .sidebar-brand-text{display:none;animation:none}.app-layout.mobile-nav .sidebar-logo-img{width:28px;height:28px}.app-layout.mobile-nav .sidebar-nav{flex-direction:row;align-items:center;gap:4px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%)}.app-layout.mobile-nav .sidebar-nav::-webkit-scrollbar{display:none}.app-layout.mobile-nav .sidebar-link{justify-content:center;padding:8px;gap:0;min-width:40px;font-size:12px;flex:0 0 auto;width:auto;max-width:none;overflow:visible;border-radius:10px}.app-layout.mobile-nav .sidebar-link.active{background:#2ad68d2e;color:#2ad68d;box-shadow:0 0 0 1px #2ad68d38}.app-layout.mobile-nav .sidebar-link-button .sidebar-chevron{display:none}.app-layout.mobile-nav .sidebar-icon{display:flex;min-width:20px;width:20px;height:20px}.app-layout.mobile-nav .sidebar-icon svg{width:20px;height:20px}.app-layout.mobile-nav .sidebar-text,.app-layout.mobile-nav .wip-badge{display:none!important}.app-layout.mobile-nav .sidebar-toggle{display:none}.app-layout.mobile-nav .sidebar-footer{flex-direction:row;align-items:center;gap:4px;padding:0 4px;margin-top:0;border-top:0;flex:0 0 auto}.app-layout.mobile-nav .content-wrapper{height:auto;width:100%}.app-layout.mobile-nav .top-bar{padding:10px 12px;gap:10px;flex-wrap:wrap}.app-layout.mobile-nav .actions{width:100%;justify-content:space-between;gap:8px}}.mobile-quick-nav{display:flex;gap:10px;padding:12px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%)}.mobile-quick-nav::-webkit-scrollbar{display:none}.mobile-quick-nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:76px;padding:12px 6px;border-radius:14px;background:var(--bg-elevated);border:1px solid var(--overlay-08);color:var(--text-primary);text-decoration:none;text-align:center;position:relative}.mobile-quick-nav-card.active{background:#2ad68d24;border-color:#2ad68d59;color:#2ad68d}.mobile-quick-nav-icon{width:22px;height:22px;display:flex}.mobile-quick-nav-icon svg{width:22px;height:22px}.mobile-quick-nav-label{font-size:11px;line-height:1.2;white-space:normal}.mobile-quick-nav-card .pro-badge{position:absolute;top:6px;right:6px;font-size:8px;padding:1px 4px}@media(max-width:900px){.app-layout{flex-direction:column}.sidebar{width:100%;max-width:100%;height:64px;min-height:64px;flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 10px;position:sticky;top:0;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--overlay-06)}.sidebar.collapsed{width:100%}.sidebar-header{padding:0;margin:0 8px 0 0;flex:0 0 auto}.sidebar-brand-text{display:none}.sidebar-logo-img{width:28px;height:28px}.sidebar-nav{flex-direction:row;align-items:center;gap:4px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%)}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{justify-content:center;padding:8px;gap:0;min-width:40px;font-size:12px;border-radius:10px}.sidebar-link.active{background:#2ad68d2e;color:#2ad68d;box-shadow:0 0 0 1px #2ad68d38}.sidebar-link-button .sidebar-chevron{display:none}.sidebar-icon{display:flex;min-width:20px;width:20px;height:20px}.sidebar-icon svg{width:20px;height:20px}.sidebar-text,.wip-badge{display:none!important}.sidebar-toggle{display:none}.sidebar-footer{flex-direction:row;align-items:center;gap:4px;padding:0 4px;margin-top:0;border-top:0;flex:0 0 auto}.content-wrapper{height:auto;width:100%}}.lang-label{letter-spacing:.1em}.flag{width:18px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.2);display:inline-block;background:var(--bg-elevated);background-position:center;background-repeat:no-repeat;background-size:cover}.flag-en{background-image:url(/assets/uk-flag-ByRy7r5l.jpg)}.flag-pt{background:linear-gradient(90deg,#046a38 0 40%,#da291c 40% 100%)}.flag-es{background:linear-gradient(180deg,#c60b1e 0 30%,#ffc400 30% 70%,#c60b1e 70% 100%)}.wip-panel{margin-top:12px;padding:24px;border-radius:16px;background:var(--bg-navy-80);border:1px solid var(--overlay-08);display:grid;gap:8px}.wip-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#87c9ff}.wip-message{font-size:13px;color:var(--text-secondary)}.success{color:#7de0b2;font-size:12px}.error{color:#ff9c9c;font-size:12px}.goals-page{display:grid;gap:18px}.goals-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.goals-header h2{margin:0}.goals-header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.goals-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.goals-mode-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:16px;background:var(--bg-navy-55);border:1px solid rgba(72,86,121,.35);margin:6px 0 12px}.goals-mode-tab{border:0;background:transparent;color:var(--text-secondary);padding:8px 16px;border-radius:12px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.goals-mode-tab.active{background:#25b07c33;color:var(--text-primary);box-shadow:inset 0 0 0 1px #30c68d59}@media(max-width:768px){.goals-mode-toggle{width:100%;justify-content:space-between}.goals-mode-tab{flex:1;text-align:center}}.goals-tabs{display:flex;gap:8px;flex-wrap:wrap}.goal-tab{border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer}.goal-tab.active{background:#2ad68d;color:#052016;border-color:transparent;font-weight:700}.goal-input{background:var(--bg-navy-80);border:1px solid var(--overlay-15);border-radius:10px;padding:8px 10px;color:var(--text-primary);min-width:200px}.goal-header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.goals-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.goals-grid-stack{grid-template-columns:1fr}.goals-portfolio-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(380px,1fr);gap:16px;align-items:start}.goals-portfolio-left,.goals-portfolio-right{display:grid;gap:16px}@media(max-width:1200px){.goals-portfolio-layout{grid-template-columns:1fr}}.goals-sections{display:grid;gap:18px;grid-template-columns:1fr}.goals-section{display:grid;gap:16px}.smartfire-headline{display:flex;align-items:center}.smartfire-gauge{width:76px;height:76px;border-radius:50%;display:grid;place-items:center}.smartfire-gauge-inner{width:60px;height:60px;border-radius:50%;background:var(--bg-elevated);display:grid;place-items:center;text-align:center;line-height:1.05}.smartfire-gauge-inner strong{font-size:18px}.smartfire-gauge-inner span{font-size:9px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.smartfire-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;align-items:start}@media(max-width:880px){.smartfire-layout{grid-template-columns:1fr}}.smartfire-inputs h5,.smartfire-results h5{margin:0 0 12px}.smartfire-fields{display:grid;gap:12px}.smartfire-field{display:grid;gap:5px}.smartfire-field-label{font-size:12px;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:baseline}.smartfire-slider-value{color:#2ad68d;font-size:13px}.smartfire-input-wrap{position:relative;display:flex;align-items:center}.smartfire-input-wrap input{width:100%;border-radius:10px;padding:9px 38px 9px 12px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);font-size:14px}.smartfire-suffix{position:absolute;right:12px;font-size:11px;color:var(--text-secondary);pointer-events:none}.smartfire-slider{width:100%;accent-color:#2ad68d}.smartfire-checkbox{flex-direction:row;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.smartfire-checkbox input{width:auto}.smartfire-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--bg-navy-60);border:1px solid var(--overlay-12);border-radius:10px;padding:3px}.smartfire-segment button{border:none;background:none;color:var(--text-secondary);font-size:12px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .12s ease,color .12s ease}.smartfire-segment button.active{background:#2ad68d29;color:#2ad68d;font-weight:600}.smartfire-model-hint{font-size:10.5px;color:var(--text-muted);line-height:1.35;margin-top:2px}.smartfire-advanced-toggle{margin-top:12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 0;text-align:left}.smartfire-advanced{margin-top:10px;padding-top:10px;border-top:1px dashed var(--overlay-10)}.smartfire-assumption-note{margin:14px 0 0;font-size:11px;color:var(--text-muted);line-height:1.4}.smartfire-empty{display:grid;place-items:center;min-height:280px;color:var(--text-muted);font-size:13px}.smartfire-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}@media(max-width:560px){.smartfire-cards{grid-template-columns:1fr}}.smartfire-card{background:var(--bg-navy-50);border:1px solid var(--overlay-08);border-radius:12px;padding:10px 12px;display:grid;gap:2px}.smartfire-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.smartfire-card strong{font-size:18px;color:var(--text-primary)}.smartfire-card small{font-size:10px;color:var(--text-muted)}.smartfire-card-trend{position:relative}.smartfire-sparkline{display:flex;align-items:center;gap:6px;margin-top:6px}.smartfire-sparkline svg{display:block;flex:none;opacity:.9}.smartfire-sparkline-delta{display:inline-flex;flex-direction:column;font-size:10.5px;font-weight:600;line-height:1.1}.smartfire-sparkline-delta.is-up{color:#2ad68d}.smartfire-sparkline-delta.is-down{color:#f87171}.smartfire-sparkline-delta em{font-style:normal;font-weight:400;font-size:9px;color:var(--text-muted)}.smartfire-sparkline-hint{display:block;margin-top:6px;font-size:10px;color:var(--text-muted);font-style:italic}.smartfire-chart-wrap{position:relative}.smartfire-tooltip{position:absolute;top:8px;right:8px;background:var(--bg-navy-96);border:1px solid var(--overlay-10);border-radius:8px;padding:8px 10px;font-size:11px;pointer-events:none;min-width:150px;box-shadow:0 4px 20px #00000080}.smartfire-tooltip-age{color:var(--text-secondary);font-weight:600;margin-bottom:4px}.smartfire-tooltip>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:2px}.smartfire-tooltip-range{color:var(--text-muted);font-size:10px;margin-top:2px}.smartfire-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:10.5px;color:var(--text-secondary)}.smartfire-legend span{display:inline-flex;align-items:center;gap:5px}.smartfire-legend i{width:12px;height:3px;border-radius:2px;display:inline-block}.smartfire-sensitivity{margin-top:16px;padding-top:12px;border-top:1px solid var(--overlay-06)}.smartfire-sensitivity-title{font-size:11px;color:var(--text-secondary)}.smartfire-sensitivity-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.smartfire-sens-cell{background:var(--bg-navy-50);border:1px solid var(--overlay-07);border-radius:8px;padding:6px 4px;text-align:center;display:grid;gap:1px}.smartfire-sens-cell span{font-size:10px;color:var(--text-secondary)}@media(max-width:480px){.smartfire-sensitivity-row{grid-template-columns:repeat(3,1fr)}}.smartfire-sens-cell strong{font-size:13px;color:var(--text-primary)}.smartfire-sens-cell.base{border-color:#2ad68d80;background:#2ad68d14}.smartfire-sens-cell.base strong{color:#2ad68d}.goals-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.goal-gauge{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.goal-gauge-sub{margin:0;font-size:.72rem;color:var(--color-muted, #9ca3af);text-align:center;white-space:nowrap}.goal-gauge-label{margin:0;font-size:.7rem;color:var(--color-muted, #9ca3af);text-align:center;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goals-section-header h4{margin:0}.goals-card{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:16px;padding:16px;display:grid;gap:12px}.goals-card-inputs{background:#123a7659;border:1px solid rgba(96,170,255,.35);box-shadow:0 12px 30px #0a244e59}.goals-card-inputs-sim{background:#18488c52;border-color:#84c4ff66;box-shadow:0 12px 30px #0c2e5c59}.goals-card-results{width:100%}.goals-form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.goals-card .goals-form-actions .primary-btn,.goals-card .goals-form-actions .danger-btn,.goals-card .goals-form-actions .secondary-btn{min-width:160px}@media(max-width:720px){.goals-card .goals-form-actions .primary-btn,.goals-card .goals-form-actions .danger-btn,.goals-card .goals-form-actions .secondary-btn{flex:1 1 100%;width:100%}}.goals-card h4{margin:0}.goals-card h5{margin:0;font-size:14px}.goal-readonly{padding:8px 10px;border-radius:10px;border:1px dashed var(--overlay-15);background:var(--bg-navy-60);color:var(--text-primary);font-size:12px}.goals-metrics{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.goals-metric-group{grid-column:1 / -1;border-radius:14px;padding:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.goals-metric-group--retirement{background:#2ad68d17;border:1px solid rgba(42,214,141,.45)}.goals-metric-group--coast{background:#f8a42e1a;border:1px solid rgba(248,164,46,.48)}.goals-metric{background:var(--bg-navy-65);border-radius:12px;padding:12px;display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.goals-metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.goals-metric-label{display:inline-flex;align-items:center;gap:6px}.goals-metric-icon{opacity:.9;font-size:10px;font-weight:700;letter-spacing:.02em;color:#9ed8ff;padding:1px 5px;border-radius:999px;border:1px solid rgba(158,216,255,.35);background:#0e254673}.goals-metric-value{color:var(--text-primary);font-size:14px}.goals-metric-help-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:var(--bg-navy-85);color:var(--text-primary);font-size:11px;cursor:pointer}.goals-metric-help-btn:hover{border-color:#2ebc85cc;color:#2ad68d}.goals-help-modal .muted{margin:0;line-height:1.55}.goals-metric-value--positive{color:#2ad68d}.goals-metric-value--warning{color:#f4bd41}.goals-metric-value--danger{color:#ff6b6b}.goals-chart{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:16px;padding:16px;display:grid;gap:12px}.goals-chart-body{display:grid;grid-template-columns:90px minmax(260px,420px);gap:12px;align-items:stretch;justify-content:center}@media(max-width:480px){.goals-chart-body{grid-template-columns:52px minmax(0,1fr);gap:6px}}.goals-chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--text-secondary);height:100%}.goals-chart-axis .axis-label{margin-top:6px;font-size:10px;color:var(--text-muted)}.goals-chart-plot{display:grid;width:100%;aspect-ratio:1 / 1}.goals-chart svg{width:100%;height:100%;border-radius:12px;background:var(--bg-navy-80)}.goals-chart-x{display:flex;justify-content:space-between;margin-left:90px;max-width:420px;font-size:11px;color:var(--text-secondary)}.goals-chart-axis-label{margin:0 0 0 90px;max-width:420px;font-size:11px;color:var(--text-muted)}.readonly-input{opacity:.7;cursor:not-allowed}.goals-chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:999px;background:#9aa9bf}.legend-item.legend-continued:before{background:#9aa9bf}.legend-item.legend-coast:before{background:#2ad68d}.legend-item.legend-target:before{background:#4ea1ff}.legend-item.legend-fire:before{background:#ff6b6b}.goals-table{width:100%;border-collapse:collapse;font-size:12px}.goals-table th,.goals-table td{padding:8px 6px;border-bottom:1px solid var(--overlay-08);text-align:left}.login-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 28px;border-radius:0;background:var(--bg-navy-34);border-bottom:1px solid rgba(124,174,255,.12);box-shadow:inset 0 -1px 0 var(--overlay-04);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-topbar-shell{margin:0;max-width:none;align-self:center;width:100%}.login-brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.14em;font-size:14px;text-transform:uppercase}.login-brand img{width:42px;height:42px;border-radius:50%;border:2px solid rgba(143,255,110,.6)}.login-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.login-page{display:grid;grid-template-columns:1fr;gap:0;align-items:start;max-width:none;width:100%;margin:0 auto;padding:0;position:relative;border-radius:0;min-height:auto;overflow-x:hidden;background:var(--bg-elevated)}.login-page:after{display:none}.login-hero{width:100%;min-width:0}.landing-hero-media{padding:26px clamp(20px,3vw,54px) 18px;min-width:0}.landing-hero-picture{display:block;width:100%;min-width:0}.landing-hero-picture img{display:block;width:100%;min-width:0;height:auto;border-radius:28px;border:1px solid rgba(112,160,232,.16);box-shadow:0 28px 60px #02081661}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-layout-wrapper{min-height:100vh;background:transparent;overflow-x:hidden;max-width:100vw}.login-wrapper{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-height:100vh;padding-bottom:32px;background:transparent}.primary-btn,.ghost-btn,.secondary-btn,.success-btn,.danger-btn{border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.primary-btn{background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border:none}.ghost-btn,.secondary-btn{background:var(--overlay-08);color:var(--text-primary);border:1px solid var(--overlay-12)}.admin-btn{background:var(--overlay-08);color:var(--text-primary);border:1px solid var(--overlay-12);border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.admin-btn:hover{background:var(--overlay-14);border-color:#fff3}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-btn.small{padding:6px 12px;font-size:12.5px;border-radius:8px}.admin-inline-select{background:var(--overlay-08);color:var(--text-primary);border:1px solid var(--overlay-12);border-radius:8px;padding:6px 10px;font-size:12.5px;cursor:pointer}.success-btn{background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border:none}.success-btn:disabled,.primary-btn:disabled,.secondary-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{opacity:.45;cursor:not-allowed}.demo-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--text-primary);border:none;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;transition:background .2s ease;font-size:inherit}.demo-btn:hover{background:linear-gradient(135deg,#818cf8,#6366f1)}.demo-btn:disabled{opacity:.45;cursor:not-allowed}.demo-hint{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--text-secondary);text-align:center}.landing-mobile-cta{display:none}@media(max-width:720px){.landing-mobile-cta{display:flex;gap:8px;padding:14px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--overlay-07);flex-wrap:nowrap;justify-content:stretch;position:sticky;top:0;z-index:20}.landing-mobile-cta .primary-btn,.landing-mobile-cta .ghost-btn,.landing-mobile-cta .demo-btn{flex:1 1 0;min-width:0;font-size:13px;padding:10px 8px;text-align:center}}.success-btn:disabled,.primary-btn:disabled{background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border:none}.revolut-save-btn{min-width:170px;appearance:none;-webkit-appearance:none;box-shadow:0 10px 24px #1ba97233;background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border:none}.revolut-save-btn:disabled{opacity:1;background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151fe0;border:none;box-shadow:0 8px 18px #1ba9721f;filter:saturate(.9)}.secondary-btn:hover{background:var(--overlay-14);border-color:#ffffff38}.help-btn{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px}.help-btn:hover{background:var(--overlay-14)}.help-icon{width:18px;height:18px;color:var(--text-primary)}.ghost-btn.active{background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border-color:transparent}.danger-btn{background:#c02c2c2e;border:1px solid rgba(255,110,110,.4);color:#ffb3b3}.danger-btn:hover{background:#c02c2c52;border-color:#ff6e6e99}.primary-btn.full,.ghost-btn.full{width:100%}.landing-section-eyebrow{display:inline-flex;align-items:center;width:fit-content;border:1px solid rgba(88,241,197,.24);background:var(--bg-navy-45);color:#97f2cf;border-radius:999px;padding:8px 12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.landing-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.landing-hero-actions .ghost-btn{background:linear-gradient(135deg,#2ad68d,#1ba972);color:#0a151f;border:none}.landing-hero-actions .primary-btn{background:linear-gradient(135deg,#4dabf7,#2f7fd6);color:var(--text-primary)}.landing-section{padding:0 clamp(28px,5vw,84px) 44px}.landing-intro{display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,1.2fr);gap:28px}.landing-section-copy{display:grid;gap:14px;max-width:620px}.landing-section-copy h2,.landing-closing-card h2{margin:0;color:var(--text-primary);font-size:clamp(28px,3vw,44px);line-height:1.04;letter-spacing:-.03em}.landing-section-copy p,.landing-closing-card p{margin:0;color:var(--text-secondary);font-size:17px;line-height:1.65}.landing-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-point-card,.landing-feature,.landing-closing-card{background:var(--bg-elevated);border:1px solid rgba(112,160,232,.16);border-radius:22px;box-shadow:0 24px 54px #0208163d}.landing-point-card{padding:18px 18px 20px}.landing-point-card strong,.landing-feature-copy h3{display:block;color:var(--text-primary);font-size:22px;line-height:1.15;margin-bottom:8px}.landing-point-card p,.landing-feature-copy p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:15px}.landing-showcase{display:grid;gap:22px}.landing-feature{overflow:hidden}.landing-feature-wide{display:grid;grid-template-columns:minmax(260px,420px) minmax(420px,1fr);gap:24px;align-items:center;padding:22px}.landing-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.landing-feature:not(.landing-feature-wide){display:grid;gap:20px;padding:22px}.landing-feature-copy{display:grid;gap:12px}.landing-feature-copy ul{margin:0;padding-left:18px;color:var(--text-primary);display:grid;gap:8px}.landing-shot{border-radius:18px;overflow:hidden;border:1px solid rgba(112,160,232,.16);background:var(--bg-navy-48)}.landing-shot img{display:block;width:100%;height:auto}.landing-cockpit-visual,.landing-budget-visual{border-radius:18px;border:1px solid rgba(112,160,232,.16);background:radial-gradient(circle at top right,rgba(85,184,255,.1),transparent 35%),var(--bg-elevated);padding:18px;display:grid;gap:14px}.landing-cockpit-stats,.landing-budget-stats{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.landing-cockpit-stats div,.landing-budget-stats div{display:grid;gap:2px}.landing-cockpit-stats span,.landing-budget-stats span{color:var(--text-secondary);font-size:12px}.landing-cockpit-stats strong,.landing-budget-stats strong{color:var(--text-primary);font-size:18px;font-style:normal}.landing-cockpit-stats strong.pos,.landing-budget-stats strong.pos{color:#32dd8b}.landing-cockpit-stats strong.neg,.landing-budget-stats strong.neg{color:#ff7f7f}.landing-cockpit-chart{width:100%;height:130px}.landing-chart-line{fill:none;stroke-width:2.5}.landing-chart-line-portfolio{stroke:#32dd8b}.landing-chart-line-benchmark{stroke:#55b8ff;stroke-width:2;opacity:.75}.landing-cockpit-legend{display:flex;gap:18px;font-size:12px;color:var(--text-secondary)}.landing-cockpit-legend span{display:flex;align-items:center;gap:6px}.dot-portfolio{background:#32dd8b}.dot-benchmark{background:#55b8ff}.landing-budget-body{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}.landing-donut-budget{width:118px;height:118px;background:conic-gradient(#55b8ff 0 30%,#f5c85f 30% 55%,#ff7f7f 55% 66%,#8c7cff 66% 100%)}.landing-donut-budget .landing-donut-inner{width:86px;height:86px}.landing-donut-budget .landing-donut-inner strong{font-size:22px}.landing-budget-bars{display:grid;gap:12px}.landing-budget-bars div{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;position:relative;padding-bottom:12px}.landing-budget-bars div span{color:var(--text-secondary);font-size:12px}.landing-budget-bars div strong{color:var(--text-primary);font-size:13px;font-style:normal}.landing-budget-bars div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;border-radius:999px;background:var(--overlay-06)}.landing-budget-bars div:nth-child(1):before,.landing-budget-bars div:nth-child(2):before,.landing-budget-bars div:nth-child(3):before,.landing-budget-bars div:nth-child(4):before{content:"";position:absolute;left:0;bottom:0;height:6px;border-radius:999px;z-index:1}.landing-budget-bars div:nth-child(1):before{width:100%;background:#55b8ff}.landing-budget-bars div:nth-child(2):before{width:81%;background:#f5c85f}.landing-budget-bars div:nth-child(3):before{width:37%;background:#ff7f7f}.landing-budget-bars div:nth-child(4):before{width:55%;background:#8c7cff}.landing-mock-card{background:radial-gradient(circle at top right,rgba(45,224,140,.16),transparent 35%),var(--bg-elevated)}.landing-fire-visual,.landing-allocation-visual,.landing-real-estate-visual{border-radius:18px;border:1px solid rgba(112,160,232,.14);background:var(--bg-navy-64)}.landing-fire-visual{padding:18px;display:grid;gap:14px}.landing-fire-header,.landing-fire-stats,.landing-real-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.landing-fire-header span,.landing-fire-stats span,.landing-real-top span,.landing-allocation-bars span,.landing-real-panel span{color:var(--text-secondary);font-size:12px}.landing-fire-header strong,.landing-fire-stats strong,.landing-real-top strong,.landing-allocation-bars strong,.landing-real-panel strong,.landing-real-panel em{color:var(--text-primary);font-style:normal}.landing-fire-svg{width:100%;height:190px;border-radius:16px;background:var(--bg-elevated)}.landing-chart-grid{stroke:#5b7fb024;stroke-width:1}.landing-fire-target-line{stroke:#6d7d99;stroke-width:1.5;stroke-dasharray:5 5}.landing-fire-curve{stroke:#32dd8b;stroke-width:2.5}.landing-fire-curve-fill{fill:#32dd8b24;stroke:none}.landing-fire-dot{fill:#f5c85f;stroke:#071120;stroke-width:2}.landing-fire-svg-label{fill:#90a4c3;font-size:9px;text-anchor:end}.landing-fire-axis{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px;padding:0 2px}.landing-fire-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-allocation-card{background:radial-gradient(circle at left center,rgba(45,224,140,.1),transparent 28%),var(--bg-elevated)}.landing-allocation-visual{padding:18px;display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.landing-donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(#32dd8b 0 81%,#55b8ff 81% 87%,#ff7f7f 87% 91%,#f5c85f 91% 95%,#8c7cff 95% 100%);display:grid;place-items:center}.landing-donut-inner{width:118px;height:118px;border-radius:50%;background:var(--bg-elevated);display:grid;place-items:center;text-align:center}.landing-donut-inner span{color:#8aa0c0;font-size:12px}.landing-donut-inner strong{color:var(--text-primary);font-size:34px;line-height:1}.landing-allocation-bars{display:grid;gap:14px}.landing-allocation-bars div{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;position:relative;padding-bottom:14px}.landing-allocation-bars div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;border-radius:999px;background:var(--overlay-06)}.landing-allocation-bars div:nth-child(1):before,.landing-allocation-bars div:nth-child(2):before,.landing-allocation-bars div:nth-child(3):before,.landing-allocation-bars div:nth-child(4):before{content:"";position:absolute;left:0;bottom:0;height:6px;border-radius:999px;z-index:1}.landing-allocation-bars div:nth-child(1):before{width:81.4%;background:#32dd8b}.landing-allocation-bars div:nth-child(2):before{width:22%;background:#55b8ff}.landing-allocation-bars div:nth-child(3):before{width:17%;background:#ff7f7f}.landing-allocation-bars div:nth-child(4):before{width:13%;background:#f5c85f}.landing-real-estate-card{background:radial-gradient(circle at right top,rgba(85,184,255,.12),transparent 30%),var(--bg-elevated)}.landing-real-estate-visual{padding:18px;display:grid;gap:16px}.landing-real-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.landing-real-panel{display:grid;gap:8px;padding:18px;border-radius:16px;border:1px solid rgba(112,160,232,.14);background:var(--bg-navy-58)}.landing-real-panel-accent{background:var(--bg-elevated)}.landing-closing-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px}.login-card{background:var(--bg-elevated);border-radius:20px;padding:20px;border:1px solid rgba(117,171,255,.24);display:grid;gap:10px;align-self:start;margin-top:44px;box-shadow:0 26px 56px #0208169e}.login-card h2{margin:0;font-size:40px;line-height:.98}.auth-backdrop{background:var(--bg-navy-68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-modal-card{width:min(420px,calc(100vw - 32px));margin:0;align-self:center;border-radius:24px;padding:24px;border:1px solid rgba(100,168,255,.24);background:radial-gradient(360px 200px at 50% 0%,rgba(50,222,166,.12),transparent 70%),var(--bg-elevated)}.auth-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-modal-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--overlay-12);background:var(--overlay-06);color:var(--text-primary);cursor:pointer}.auth-modal-close:hover{background:var(--overlay-12)}.auth-terms{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem}.auth-terms input{margin-top:.25rem}.auth-terms span{font-size:.85rem;line-height:1.4}.auth-terms a{color:#4a9eff;text-decoration:none}.login-form{display:grid;gap:12px}.login-card label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.login-card input{border-radius:10px;padding:11px 12px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary)}.login-sub{color:var(--text-secondary);font-size:12px;margin:2px 0 6px}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:10px;font-size:15px;font-weight:600;padding:12px 16px;cursor:pointer;transition:box-shadow .15s,background .15s}.google-btn.full{width:100%}.google-btn:hover{background:#f7f8fa;box-shadow:0 1px 3px #00000040}.google-btn:active{background:#eef0f3}.google-btn-icon{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:2px}.login-error{color:#ff8b8b;font-size:12px}.upgrade-banner{border-radius:12px;padding:14px 16px;background:linear-gradient(135deg,#ffa50026,#ff643226);border:1px solid rgba(255,165,0,.4);color:#ffc266;font-size:13px;line-height:1.5;text-align:center}.upgrade-banner strong{color:#fa0;display:block;margin-bottom:4px}.upgrade-banner .upgrade-btn{margin-top:10px;min-width:180px}.login-banner{border-radius:12px;padding:10px 12px;background:#2ad68d26;border:1px solid rgba(42,214,141,.35);color:#8ff1c1;font-size:12px}.verification-row{display:grid;gap:8px}.divider{position:relative;text-align:center;font-size:11px;color:var(--text-muted)}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--overlay-12)}.divider:before{left:0}.divider:after{right:0}.login-footer{font-size:12px;color:var(--text-secondary)}.login-footer .link{background:none;border:none;padding:0;color:#2ad68d;margin-left:4px;font-weight:600;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:#05080fbf;display:grid;place-items:center;z-index:40;padding:24px}.modal-card{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg-navy-95);border-radius:18px;padding:20px;border:1px solid var(--overlay-08);display:grid;gap:16px}.modal-card header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-grid{display:grid;gap:14px}.field{display:grid;gap:8px;font-size:12px;color:var(--text-secondary)}.field input,.field select{border-radius:10px;padding:10px 12px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:4px 10px;border-radius:999px;font-size:11px;background:#2ad68d26;color:#b8f7d8}.chip.outline{background:transparent;border:1px dashed rgba(42,214,141,.5);color:#a7f0d3}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.add-btn{border:none;border-radius:10px;padding:8px 14px;background:linear-gradient(135deg,#1b8af2,#14c2ff);color:#041321;font-weight:700}.portfolio-pill,.currency-pill{padding:6px 12px;border-radius:999px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);font-size:12px}.portfolio-picker{position:relative}.portfolio-picker-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:260px;padding:12px 20px;border-radius:999px;border:1px solid rgba(255,154,79,.9);background:linear-gradient(180deg,#ff9a4f,#f27e2f);font-size:18px;font-weight:700;color:#1f1308;box-shadow:0 8px 20px #f27e2f59;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.portfolio-picker-btn:hover{filter:brightness(1.03);box-shadow:0 10px 24px #f27e2f73}.portfolio-picker-btn:focus-visible{outline:2px solid rgba(255,193,128,.95);outline-offset:2px}.portfolio-picker-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;background:var(--bg-navy-95);border:1px solid var(--overlay-12);border-radius:10px;padding:8px;display:grid;gap:6px;z-index:30}.portfolio-picker-option{border:none;border-radius:8px;padding:12px 14px;background:transparent;color:var(--text-primary);text-align:left;font-size:16px;font-weight:600}.portfolio-picker-option:hover,.portfolio-picker-option.active{background:#2778ff33;color:var(--text-primary)}.portfolio-picker-option.shared-portfolio{color:#4dd0e1}.portfolio-picker-option.shared-portfolio:hover,.portfolio-picker-option.shared-portfolio.active{background:#4dd0e12e;color:#4dd0e1}.shared-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4dd0e1;margin-right:6px;flex-shrink:0;vertical-align:middle}.portfolio-picker-empty{font-size:14px;color:#fff9;padding:8px 10px}.chevron{margin-left:4px;font-size:15px;font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;background:var(--bg-elevated);display:grid;place-items:center;font-weight:600;text-decoration:none;color:var(--text-primary)}.avatar-btn{border:none;cursor:pointer;font-size:14px;font-family:inherit}.user-menu{position:relative}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:12px;box-shadow:0 12px 32px #0006;padding:8px;display:flex;flex-direction:column;z-index:60}.user-menu-label{font-size:11px;color:var(--text-muted);padding:8px 10px 2px;text-transform:uppercase;letter-spacing:.04em}.user-menu-divider{height:1px;background:var(--overlay-08);margin:6px 4px}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;background:none;border:none;color:var(--text-primary);font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.user-menu-item:hover{background:var(--overlay-06)}.user-menu-item.active{color:#2ad68d}.portfolio-strip{margin-top:18px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--bg-navy-65);border-radius:16px;overflow:hidden;position:relative;z-index:2}.portfolio-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portfolio-chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;flex:1}.portfolio-empty{font-size:12px;color:var(--text-secondary)}.portfolio-chip{background:var(--overlay-08);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:600;white-space:nowrap}.portfolio-chip.active{background:linear-gradient(135deg,#2ad68d,#32a66e);color:#0b1a21}.portfolio-chip.aggregated{background:var(--bg-navy-90);color:var(--text-primary);font-weight:600;border:1px solid var(--overlay-12)}.portfolio-chip.aggregated.active{background:linear-gradient(135deg,#ff6b6b,#ff8787);color:#0b1a21;font-weight:700;border:2px solid rgba(255,107,107,.4)}.portfolio-chip.create-snapshot{background:linear-gradient(135deg,#4dabf7,#339af0);color:var(--text-primary);padding:10px 20px;font-size:13px;font-weight:700;border:2px solid rgba(77,171,247,.4)}.portfolio-chip.create-snapshot:hover{background:linear-gradient(135deg,#339af0,#228be6)}.portfolio-management-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.dashboard-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-tab{border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.dashboard-tab.portfolio-analytics-tab{padding:8px 18px;font-size:14px;font-weight:700}.dashboard-tab .tab-icon{width:18px;height:18px;object-fit:contain}.dashboard-tab.active{background:linear-gradient(135deg,#1b8af2,#14c2ff);color:#041321}.content{margin-top:24px;display:grid;gap:24px}.content.login-layout{margin-top:40px;display:block}.loading-banner{padding:10px 12px;border-radius:12px;background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#9ef0c1;font-size:12px}.dashboard-title{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--bg-navy-75);border-radius:16px;padding:16px 18px;border:1px solid var(--overlay-08);margin-top:8px}.dashboard-title.aggregated{background:linear-gradient(135deg,#164482b3,#122850bf);border-color:#3883ff4d}.dashboard-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.snapshot-btn{padding:6px 12px;border-radius:999px;font-size:12px}.aggregated-toggle{margin-left:12px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:12px}.aggregated-toggle .toggle-track{width:34px;height:18px;border-radius:999px;background:#ffffff2e;position:relative;flex-shrink:0}.aggregated-toggle .toggle-thumb{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s ease}.aggregated-toggle.active .toggle-track{background:linear-gradient(135deg,#1b8af2,#14c2ff)}.aggregated-toggle.active .toggle-thumb{transform:translate(16px)}.aggregated-toggle .toggle-label{color:var(--text-primary);font-weight:600}.import-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.import-categories-panel{margin-top:16px}.category-manager-modal{width:min(980px,100%);max-height:85vh;overflow:auto}.dashboard-title p{color:var(--text-secondary);font-size:12px}.dashboard-info{display:grid;gap:4px}.dashboard-subrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--text-secondary);font-size:12px}.dashboard-subrow p{margin:0}.dashboard-currency{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--overlay-12);background:var(--bg-navy-60)}.dashboard-currency strong{color:var(--text-primary);font-size:12px}.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.clear-btn{justify-self:end;background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fecaca;font-size:11px;padding:6px 10px}.delete-btn{background:#e11d482e;border-color:#f8717180;color:var(--text-primary)}.empty-state{padding:32px;border-radius:18px;background:var(--bg-navy-75);border:1px dashed rgba(255,255,255,.18);display:grid;gap:8px}.empty-state p{color:var(--text-secondary)}.empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.manage-portfolios-card{margin-top:12px;padding:16px;border-radius:16px;border:1px solid var(--overlay-08);background:var(--bg-navy-72);display:grid;gap:12px}.manage-portfolios-table .row{grid-template-columns:1.2fr .6fr .6fr 1fr}.manage-actions-inline{display:inline-flex;flex-wrap:wrap;gap:8px}.manage-portfolios-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.manage-backup-section{margin-top:24px;padding:16px;border:1px solid #1e293b;border-radius:10px;background:var(--bg-navy-50);display:flex;flex-direction:column;gap:10px}.manage-backup-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.manage-backup-actions{display:flex;gap:10px;flex-wrap:wrap}.manage-backup-actions .ghost-btn.disabled{opacity:.5;pointer-events:none}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.real-estate-page{display:flex;flex-direction:column;gap:24px}.real-estate-header{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.real-estate-title{display:flex;gap:14px;align-items:flex-start}.real-estate-title-row{display:flex;align-items:center;gap:10px}.real-estate-back{width:38px;height:38px;border-radius:12px;border:1px solid var(--overlay-12);background:var(--bg-navy-90);color:var(--text-primary);display:grid;place-items:center;cursor:pointer}.real-estate-back svg{width:18px;height:18px}.real-estate-icon{width:34px;height:34px;border-radius:10px;background:#22eba01f;border:1px solid rgba(34,235,160,.4);display:grid;place-items:center;color:#2ad68d}.real-estate-icon svg{width:18px;height:18px}.real-estate-header h2{margin:0;font-size:26px}.real-estate-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.real-estate-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:6px;border-radius:999px;background:var(--bg-navy-85);border:1px solid var(--overlay-06)}.real-estate-tabs button{border-radius:999px;padding:6px 16px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer}.real-estate-tabs button.active{background:linear-gradient(135deg,#2ad68d,#3bbd77);border-color:transparent;color:#0b1a21;font-weight:700}.real-estate-tags{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--text-secondary);font-size:12px}.tag-pills{display:flex;flex-wrap:wrap;gap:8px}.tag-pills button{border-radius:999px;padding:6px 12px;border:1px solid var(--overlay-12);background:var(--bg-navy-90);color:var(--text-primary);font-size:12px;cursor:pointer}.tag-pills button.active{border-color:#2ad68db3;background:#2ad68d2e;color:#7bf0c1}.tag-pills-static button{pointer-events:none}.real-estate-category-select{display:grid;gap:6px;margin-left:auto;min-width:220px}.real-estate-category-select span{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.real-estate-category-select select{border-radius:10px;border:1px solid var(--overlay-12);background:var(--bg-navy-92);color:var(--text-primary);padding:8px 10px}.real-estate-overview .summary-grid strong{font-size:20px;margin-top:6px;display:block}.stat-label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.real-estate-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.real-estate-duo-spaced{margin-top:22px}.real-estate-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.summary-card{background:var(--bg-navy-90);border:1px solid var(--overlay-08);border-radius:14px;padding:14px 16px}.summary-card span{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.summary-card strong{display:block;margin-top:6px;font-size:20px}.real-estate-reit-summary{margin-top:16px}.real-estate-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}.real-estate-chart-card{background:var(--bg-navy-80);border-radius:16px;padding:14px 16px;border:1px solid var(--overlay-08)}.real-estate-chart-card header h3{margin:0;font-size:16px}.real-estate-chart-wrap{margin-top:10px}.real-estate-panel{border-radius:18px;padding:18px;background:var(--bg-elevated);border:1px solid var(--overlay-08);display:grid;gap:16px}.real-estate-panel.rental-panel{background:var(--bg-elevated);border-color:#4de5ba47}.real-estate-panel.reit-panel{background:var(--bg-elevated);border-color:#6ea8ff47}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-title{display:flex;align-items:center;gap:10px}.panel-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#40b2ff1f;border:1px solid rgba(64,178,255,.4);color:#47b9ff}.panel-icon svg{width:16px;height:16px}.panel-header h3{margin:0;font-size:18px}.panel-header p{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.panel-pill{background:#2ad68d26;border:1px solid rgba(42,214,141,.35);color:#7bf0c1;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600}.panel-pill-alt{background:#2a78d62e;border-color:#2a78d673;color:#8fc7ff}.panel-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.panel-stat{background:var(--bg-navy-90);border:1px solid var(--overlay-08);border-radius:14px;padding:12px 14px}.panel-stat span{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.panel-stat strong{display:block;margin-top:6px;font-size:20px}.panel-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding-bottom:6px;border-bottom:1px solid var(--overlay-06)}.panel-metrics span{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.panel-metrics strong{display:block;margin-top:6px;font-size:14px}.panel-empty{display:grid;gap:10px;padding:16px;border-radius:14px;border:1px dashed var(--overlay-16);color:var(--text-secondary);text-align:center;background:var(--bg-navy-60)}.panel-empty button{justify-self:center;border-radius:999px;padding:8px 14px;border:1px solid rgba(42,214,141,.4);background:#2ad68d2e;color:#84f3c7;font-weight:600;cursor:pointer}.real-estate-table.reit-table .row{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.real-estate-table .row div{display:grid;gap:4px}.muted{color:var(--text-secondary);font-size:12px}.gain{color:#44f3a5;font-weight:600}.loss{color:#f87171;font-weight:600}.real-estate-form-card{background:var(--bg-navy-75);border:1px solid var(--overlay-08);border-radius:18px;padding:20px}.real-estate-form-card h3{margin-top:0}.real-estate-form{display:grid;gap:14px}.real-estate-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.real-estate-form label{display:grid;gap:6px;color:var(--text-primary);font-size:12px}.real-estate-form input,.real-estate-form select{background:var(--bg-navy-90);border:1px solid var(--overlay-12);border-radius:10px;padding:10px 12px;color:var(--text-primary)}.form-actions{display:flex;gap:10px}.form-actions button{border-radius:10px;padding:10px 16px;border:none;background:#2ad68d;color:#07131f;font-weight:700;cursor:pointer}.form-actions .secondary{background:var(--overlay-08);color:var(--text-primary)}.form-error{color:#f87171;font-size:12px}.real-estate-table .actions{display:flex;gap:8px}.real-estate-table .actions button{padding:6px 10px;border-radius:8px;border:1px solid var(--overlay-14);background:var(--bg-navy-80);color:var(--text-primary);cursor:pointer}.real-estate-table .actions .delete{border-color:#f8717166;color:var(--text-primary);background:#f871711f}@media(max-width:900px){.real-estate-table.reit-table .row,.real-estate-table .row{grid-template-columns:repeat(2,minmax(0,1fr))}.real-estate-header{align-items:flex-start}}@media(max-width:480px){.real-estate-table.reit-table .row,.real-estate-table .row{grid-template-columns:1fr}.real-estate-table.reit-table .row.head{display:none}.real-estate-table.reit-table .row:not(.head){padding:12px;gap:6px;border-bottom:1px solid var(--overlay-08)}.real-estate-table.reit-table .row:not(.head)>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.real-estate-table.reit-table .row:not(.head)>div:before{content:attr(data-label);color:var(--text-secondary);font-size:12px;font-weight:500;flex-shrink:0}.real-estate-table.reit-table .row:not(.head)>div:first-child{display:grid;gap:2px}.real-estate-table.reit-table .row:not(.head)>div:first-child:before{content:""}}.stat-card{background:var(--bg-navy-80);border-radius:16px;padding:16px;border:1px solid var(--overlay-08);position:relative}.stat-card--clickable{cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.stat-card--clickable:hover{border-color:#1b8af273;background:var(--bg-navy-95);transform:translateY(-1px)}.stat-card--clickable:focus-visible{outline:2px solid #1b8af2;outline-offset:2px}.stat-expand-icon{font-size:14px;color:#5b8ac4;line-height:1}.stat-hint{font-size:11px;color:#5b8ac4;margin-top:6px}.stat-ytd{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:7px;border-top:1px solid var(--overlay-06);font-size:12px;color:var(--text-secondary);gap:6px}.stat-title{display:inline-flex;align-items:center;gap:6px}.info-btn{border:1px solid var(--overlay-12);background:var(--bg-navy-80);color:var(--text-primary);width:18px;height:18px;border-radius:50%;font-size:11px;line-height:1;cursor:pointer}.info-btn:hover{border-color:#ffffff4d}.stat-tooltip{position:absolute;top:42px;right:16px;max-width:260px;padding:10px 12px;border-radius:12px;background:var(--bg-navy-95);border:1px solid var(--overlay-12);color:var(--text-primary);font-size:11px;line-height:1.4;white-space:pre-line;z-index:10}.stat-header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.stat-card h2{font-size:26px;margin-top:10px}.stat-sub{margin-top:8px;font-size:12px;color:var(--text-secondary);white-space:pre-line}.irr-sub-wrap{display:grid;gap:4px}.irr-sub-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.irr-sub-row strong{font-size:14px;font-weight:700}.mobile-nav .sidebar{width:100%!important;max-width:100%!important;height:64px!important;max-height:64px;min-height:64px;flex-direction:row!important;align-items:center;justify-content:flex-start;padding:6px 10px;position:sticky;top:0;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--overlay-06)}.mobile-nav .sidebar.collapsed{width:100%!important}.mobile-nav .sidebar-header{padding:0;margin:0 8px 0 0;flex:0 0 auto}.mobile-nav .sidebar-brand-text{display:none!important}.mobile-nav .sidebar-logo-img{width:28px;height:28px}.mobile-nav .sidebar-nav{flex-direction:row!important;align-items:center;gap:4px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%)}.mobile-nav .sidebar-nav::-webkit-scrollbar{display:none}.mobile-nav .sidebar-link{justify-content:center;padding:8px;gap:0;min-width:40px;flex:0 0 auto;width:auto;max-width:none;overflow:visible;white-space:nowrap;border-radius:10px}.mobile-nav .sidebar-text,.mobile-nav .wip-badge{display:none!important}.mobile-nav .sidebar-link.active{background:#2ad68d2e;color:#2ad68d;box-shadow:0 0 0 1px #2ad68d38}.mobile-nav .sidebar-icon{display:flex;min-width:20px;width:20px;height:20px}.mobile-nav .sidebar-icon svg{width:20px;height:20px}.mobile-nav .sidebar-toggle{display:none}.mobile-nav .sidebar-footer{flex-direction:row!important;align-items:center;gap:4px;padding:0 4px;margin-top:0;border-top:0;flex:0 0 auto}.mobile-nav .content-wrapper{height:auto;width:100%}.mobile-nav .top-bar{padding:10px 12px;gap:10px;flex-wrap:wrap}.mobile-nav .actions{width:100%;justify-content:space-between;gap:8px}.stat-meta{font-size:14px;font-weight:600}.stat-meta.pos{color:#2ad68d}.stat-meta.neg{color:#ff9c9c}.pos{color:#2ad68d}.neg{color:#ff9c9c}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.chart-card{background:var(--bg-navy-80);border-radius:18px;padding:18px;border:1px solid var(--overlay-08)}.chart-card header{display:flex;justify-content:space-between;align-items:center}.chart-toggle{display:inline-flex;gap:6px;background:var(--bg-navy-70);border-radius:999px;padding:4px;border:1px solid var(--overlay-08)}.chart-toggle button{border:none;background:transparent;color:var(--text-secondary);font-size:11px;padding:6px 12px;border-radius:999px;cursor:pointer}.chart-toggle button.active{background:#2ad68dcc;color:#0a151f;font-weight:600}.chart-sub{font-size:12px;color:var(--text-secondary)}.budget-period-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--bg-navy-60);border:1px solid var(--overlay-08);border-radius:14px;padding:14px 16px;margin:12px 0 18px}.list-period-selection-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.list-period-selection-row .budget-period-bar{margin:12px 0 18px;min-height:100%}.select-transactions-panel{background:var(--bg-navy-60);border:1px solid var(--overlay-08);border-radius:14px;padding:14px 16px;margin:12px 0 18px;display:grid;gap:12px}.select-transactions-panel-inline{margin:0 0 14px}.select-transactions-title{color:var(--text-secondary);font-size:12px;font-weight:600}.select-transactions-months{display:flex;gap:8px;flex-wrap:wrap}.select-transactions-custom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.select-transactions-custom label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px}.select-transactions-custom input{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:12px}.select-transactions-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.select-transactions-footer>span:first-child{margin-right:auto}.select-transactions-pending{font-size:.75rem;color:#f59e0b;border:1px solid rgba(245,158,11,.5);border-radius:999px;padding:2px 8px}.budget-period-bar label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px}.budget-period-bar select,.budget-period-bar input{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:12px}.banking-import-toggle.active{background:#2ad68d33;border-color:#2ad68d99;color:#2ad68d}.banking-clear-period.active,.banking-preview-clear.active,.budget-period-clear.active{background:#3b82f638;border-color:#3b82f699;color:#93c5fd}.chart-placeholder{margin-top:20px;height:180px;background:linear-gradient(180deg,#22a87a1a,#0810201a);border-radius:16px;position:relative;padding:18px;display:grid;align-content:start;gap:12px}.chart-line{height:2px;width:100%;background:linear-gradient(90deg,#2ad68d,#1b8af2);margin-top:70px}.chart-axis{position:absolute;bottom:16px;left:18px;right:18px;font-size:11px;color:var(--text-secondary)}.chart-axis-x{bottom:2px;left:0;right:0;height:18px}.chart-axis-x span{position:absolute;transform:translate(-50%);white-space:nowrap}.chart-axis-y{width:86px;display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--text-secondary);text-align:right;padding-right:10px}.chart-svg{width:100%;height:110px}.chart-area{fill:#2ad68d1f}.chart-line-path{stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#2ad68d;stroke:#0c1428e6;stroke-width:2}.chart-meta{font-size:14px;font-weight:600;color:var(--text-secondary);text-align:right}.donut-wrap{display:grid;place-items:center;gap:16px;margin-top:18px}.donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(#2ad68d 0deg 90deg,#1b8af2 90deg 180deg,#9b5cff 180deg 270deg,#f2b441 270deg 360deg);position:relative}.donut:after{content:"";position:absolute;inset:26px;border-radius:50%;background:var(--bg-elevated)}.legend{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.bar-chart{display:grid;gap:10px;width:100%}.bar-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:10px;align-items:center;font-size:12px;color:var(--text-primary)}.bar-track{height:8px;border-radius:999px;background:var(--overlay-08);overflow:hidden}.bar-fill{height:100%;border-radius:inherit}.bar-value{color:var(--text-secondary)}.dot.cash{background:#2ad68d}.dot.emergency{background:#1b8af2}.dot.stocks{background:#9b5cff}.dot.retire{background:#f2b441}.asset-categories h3,.institution-breakdown h3,.past-days h3{margin-bottom:12px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.category-card{background:var(--bg-navy-80);border-radius:16px;padding:16px;border:1px solid var(--overlay-08)}.category-card--clickable{cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.category-card--clickable:hover{border-color:#1b8af273;background:var(--bg-navy-95);transform:translateY(-1px)}.category-card--clickable:focus-visible{outline:2px solid #1b8af2;outline-offset:2px}.category-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.category-card h4{margin-top:12px;font-size:22px}.tag{background:var(--overlay-08);padding:2px 8px;border-radius:999px;font-size:11px}.bar{margin-top:12px;height:6px;background:var(--overlay-08);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2ad68d,#1b8af2)}.category-card p{margin-top:10px;color:var(--text-secondary);font-size:12px}.institution-breakdown,.past-days{background:var(--bg-navy-75);border-radius:18px;padding:18px;border:1px solid var(--overlay-08)}.portfolio-performance-card,.portfolio-evolution-card{background:var(--bg-navy-78);border-radius:18px;padding:20px;border:1px solid var(--overlay-08);display:grid;gap:16px;margin-bottom:18px}.history-split-layout{display:block}.history-split-layout.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.history-split-layout.split .portfolio-evolution-card,.history-split-layout.split .past-days{margin-bottom:0}.evolution-chart-wrap{display:flex;align-items:stretch;gap:6px;min-height:140px}.evolution-chart-main{position:relative;flex:1;min-width:0;padding-bottom:18px}.performance-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.performance-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#88c9a5;margin-bottom:6px}.performance-header h3{margin:0;font-size:28px}.performance-header p{margin:6px 0 0;font-size:12px;color:var(--text-secondary)}.performance-delta{padding:6px 12px;border-radius:999px;background:#2ad68d24;color:#2ad68d;font-size:12px;font-weight:600;white-space:nowrap}.performance-delta.neg{background:#ff7b7b2e;color:#ff7b7b}.performance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;align-items:center}.performance-metrics span{color:var(--text-secondary);font-size:12px}.performance-metrics strong{display:block;margin-top:6px;font-size:18px}.performance-legend{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.performance-legend .legend-line{display:inline-flex;align-items:center;gap:8px}.performance-legend .legend-line:before{content:"";width:24px;height:2px;background:#2ad68d;border-radius:999px}.performance-legend .legend-line.invested:before{background:#7c8fb3}.performance-chart{width:100%;min-height:180px;background:radial-gradient(120% 100% at 100% 0%,#1b8af229,#1b8af200 65%),radial-gradient(120% 100% at 0% 100%,#2ad68d24,#2ad68d00 60%),var(--bg-elevated);border-radius:16px;border:1px solid rgba(120,154,199,.25);box-shadow:inset 0 0 0 1px var(--overlay-02);padding:14px 12px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px}.performance-chart-top{min-height:210px}.performance-chart svg{width:100%;height:170px}.portfolio-history-headline{display:grid;gap:2px}.portfolio-history-window{display:inline-flex;gap:6px;padding:2px;border-radius:999px;border:1px solid rgba(122,156,202,.3);background:var(--bg-navy-55)}.portfolio-history-window button{border:0;border-radius:999px;background:transparent;color:#94a8c8;font-size:11px;font-weight:600;padding:5px 10px;cursor:pointer}.portfolio-history-window button.active{color:#081725;background:linear-gradient(135deg,#2ad68d,#5dc8ff)}.portfolio-history-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--text-secondary)}.portfolio-history-legend .legend-item{display:inline-flex;align-items:center;gap:7px}.portfolio-history-legend .legend-item:before{content:"";width:18px;height:2px;border-radius:999px;background:#2ad68d}.portfolio-history-legend .legend-item.invested:before{background:#8ea2c7}.portfolio-history-legend .legend-item.benchmark:before{background:#ffad1f;height:3px}.performance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.performance-kpis div{border-radius:10px;background:var(--bg-navy-72);border:1px solid var(--overlay-08);padding:8px 10px}.performance-kpis span{display:block;font-size:11px;color:var(--text-secondary)}.performance-kpis strong{display:block;margin-top:4px;font-size:14px}.evolution-content{min-height:220px;height:auto}.perf-chart-root{display:flex;flex-direction:column;gap:10px;width:100%}.perf-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.perf-window-btns,.perf-view-btns{display:flex;gap:3px}.perf-win-btn,.perf-view-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;cursor:pointer;transition:all .15s}.perf-win-btn:hover,.perf-view-btn:hover{color:var(--text-primary)}.perf-win-btn.active,.perf-view-btn.active{background:linear-gradient(135deg,#4aa3ff40,#ffad1f26);border-color:#4aa3ff66;color:var(--text-primary)}.perf-outperf-msg{font-size:12px;font-weight:500;padding:7px 12px;border-radius:8px;line-height:1.4}.perf-outperf-msg.above{background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:#86efac}.perf-outperf-msg.below{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.perf-svg-wrap{position:relative}.perf-legend{display:flex;gap:14px;flex-wrap:wrap;padding:2px 0}.perf-legend-item{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--text-secondary);font-size:11px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:opacity .15s,color .15s}.perf-legend-item:hover{color:var(--text-primary)}.perf-legend-item.hidden{opacity:.35}.perf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:600px){.perf-kpis{grid-template-columns:repeat(2,1fr)}.perf-controls{flex-direction:column;align-items:flex-start}}.perf-kpi{background:var(--bg-navy-60);border:1px solid rgba(148,163,184,.1);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.perf-kpi span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.perf-kpi strong{font-size:15px;font-weight:700;color:var(--text-primary);display:flex;flex-direction:column;gap:1px}.perf-kpi strong em{font-style:normal;font-size:11px;font-weight:500}.perf-kpi strong.pos{color:#4aa3ff}.perf-kpi strong.neg{color:#ef4444}.perf-tooltip{background:var(--bg-elevated);border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:10px 12px;min-width:165px;box-shadow:0 8px 24px #0006;z-index:100;font-size:11.5px}.perf-tt-date{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.perf-tt-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.perf-tt-row span:nth-child(2){flex:1;color:var(--text-secondary)}.perf-tt-row strong{color:var(--text-primary)}.perf-tt-row strong.pos{color:#22c55e}.perf-tt-row strong.neg{color:#ef4444}.perf-tt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.perf-tt-divider{height:1px;background:#94a3b826;margin:6px 0}.perf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;gap:6px;color:var(--text-muted);font-size:13px;text-align:center}.perf-empty span{font-size:11px;opacity:.7}.perf-mode-hint{font-size:11px;color:var(--text-muted);padding:5px 10px;background:#94a3b80f;border-radius:6px;border:1px solid rgba(148,163,184,.12)}.perf-legend-line{flex-shrink:0}.perf-kpi-vs{position:relative;overflow:hidden}.perf-kpi-vs.vs-pos{border-color:#22c55e40}.perf-kpi-vs.vs-neg{border-color:#ef444433}.perf-kpi-vs.vs-pos:before{content:"";position:absolute;inset:0;background:#22c55e0d}.perf-kpi-vs.vs-neg:before{content:"";position:absolute;inset:0;background:#ef44440a}.perf-tt-highlight{margin-top:4px;padding:4px 6px;border-radius:5px;background:#94a3b812}.perf-tt-highlight.pos{background:#22c55e14}.perf-tt-highlight.neg{background:#ef444414}.perf-tt-highlight strong em{font-style:normal;font-size:10px;margin-left:3px;opacity:.85}.evolution-empty{display:grid;place-items:center;gap:14px;padding:20px 10px}.evolution-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}@media(max-width:1180px){.history-split-layout.split{display:block}.history-split-layout.split .portfolio-evolution-card,.history-split-layout.split .past-days{margin-bottom:18px}.portfolio-history-window{width:100%;justify-content:space-between}}.qr-float{position:fixed;right:20px;bottom:20px;z-index:2000}.qr-card{display:grid;gap:10px;padding:12px;background:var(--bg-navy-92);border:1px solid var(--overlay-10);border-radius:16px;box-shadow:0 14px 30px #04081466;min-width:180px;position:relative}.qr-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;border:none;background:var(--overlay-08);color:var(--text-primary);font-size:12px;cursor:pointer}.qr-close:hover{background:var(--overlay-16)}.qr-preview{display:grid;place-items:center;background:var(--overlay-06);border-radius:12px;padding:8px;min-height:120px}.qr-preview img{width:120px;height:120px;border-radius:10px}.qr-meta strong{display:block;font-size:13px}.qr-meta span{color:var(--text-secondary);font-size:12px}.qr-actions{display:flex;align-items:center;gap:8px;justify-content:space-between}.qr-share-btn{background:#2ad68d;color:#0b1220;border:none;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.qr-status{font-size:11px;color:var(--text-secondary)}.qr-toggle{width:34px;height:34px;border-radius:999px;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.qr-toggle.active{background:#2ad68d26;color:#2ad68d}.qr-icon{width:18px;height:18px;min-width:18px;min-height:18px}.import-section{display:grid;gap:14px}.import-header p{color:var(--text-secondary);font-size:12px}.import-card{background:var(--bg-navy-85);border-radius:18px;padding:18px;border:1px solid var(--overlay-08);display:grid;gap:14px}.import-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;cursor:pointer}.import-card-toggle{display:flex;align-items:center;gap:12px;pointer-events:none}.import-card-toggle h4,.import-card-toggle p{pointer-events:none}.import-toggle-btn{pointer-events:auto;padding:8px 14px;font-size:12px;border-radius:999px}.import-actions,.import-actions *{pointer-events:auto}.import-card-caret{font-size:12px;color:var(--text-secondary)}.import-card-head p{color:var(--text-secondary);font-size:12px}.manual-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.manual-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.manual-form input{background:var(--bg-navy-60);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:8px;padding:8px 10px}.manual-preview{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.manual-preview strong{color:var(--text-primary);font-size:14px}.manual-history{display:grid;gap:8px}.preview-block{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px;border-radius:12px;background:var(--bg-navy-70);border:1px solid var(--overlay-08);font-size:12px;color:var(--text-secondary)}.preview-block strong{display:block;margin-top:6px;color:var(--text-primary);font-size:14px}.manual-table{display:grid;gap:6px;font-size:12px}.import-block{display:grid;gap:10px}.import-lines{display:grid;gap:6px;padding:10px 12px;border-radius:12px;border:1px solid var(--overlay-08);background:var(--bg-navy-60)}.manual-table .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--bg-navy-70)}.manual-table .row.with-actions{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.import-lines .row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:center;padding:6px 8px;border-radius:8px;background:var(--bg-navy-70)}.import-lines .row.head{background:transparent;color:var(--text-secondary);font-weight:600}@media(max-width:640px){.manual-table,.import-lines{overflow-x:auto}.manual-table .row,.import-lines .row{min-width:480px}}.manual-table .row.head{background:transparent;color:var(--text-secondary);font-weight:600}.xtb-updating-pill{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;color:#0e2438;background:linear-gradient(135deg,#ffc66d,#ff9f43);border:1px solid rgba(255,177,78,.7)}.import-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-btn{display:inline-flex;align-items:center;border-radius:10px;padding:8px 12px;background:var(--overlay-08);border:1px solid var(--overlay-12);color:var(--text-primary);font-size:12px;cursor:pointer}.file-btn input{display:none}.import-file{font-size:12px;color:var(--text-secondary)}.imports-overview-strip{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 14px;color:var(--text-secondary);font-size:12px}.imports-overview-strip strong{color:var(--text-primary)}.imports-group{display:grid;gap:12px}.imports-group+.imports-group{margin-top:14px}.imports-group-title{margin:2px 0 0;font-size:13px;color:var(--text-secondary);letter-spacing:.02em}.imports-first-account-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 6px;color:var(--text-secondary);font-size:13px}.import-provider-wrap{position:relative}.import-provider-headline{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:6px}.import-provider-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;text-align:left;border-radius:8px;transition:opacity .15s ease,background .15s ease}.import-provider-toggle:hover{opacity:.92}.import-provider-toggle:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px}.import-collapse-btn{margin-left:auto;width:22px;height:22px;border-radius:4px;border:1px solid rgba(148,163,184,.25);background:transparent;color:var(--text-secondary);font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.import-collapse-btn:hover{background:#94a3b81f;color:var(--text-primary)}.import-provider-body{overflow:hidden;transition:max-height .22s ease,opacity .18s ease;max-height:2000px;opacity:1}.import-provider-wrap.collapsed .import-provider-body{max-height:0;opacity:0;pointer-events:none}.import-remove-btn{width:24px;height:24px;border-radius:999px;border:1px solid rgba(248,113,113,.5);background:#7f1d1d33;color:#fecaca;font-size:12px;font-weight:700;cursor:pointer}.import-remove-btn:disabled{opacity:.6;cursor:not-allowed}.import-provider-id{display:inline-flex;align-items:center;gap:8px}.import-provider-logo{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:flex-end;justify-content:center;font-size:12px;font-weight:700;color:var(--text-primary);background:#38bdf82e;border:1px solid rgba(125,211,252,.35);overflow:hidden}.import-provider-logo img{width:100%;height:100%;object-fit:cover}.import-provider-name{font-size:12px;color:var(--text-primary)}.import-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;border:1px solid transparent}.import-status-pill.pending{background:var(--status-amber-bg);border-color:var(--status-amber-border);color:var(--status-amber-text)}.import-status-pill.configured{background:var(--status-green-bg);border-color:var(--status-green-border);color:var(--status-green-text)}.import-status-pill.updating{background:var(--status-blue-bg);border-color:var(--status-blue-border);color:var(--status-blue-text)}.import-status-pill.unknown{background:#94a3b829;border-color:#94a3b859;color:var(--text-primary)}.import-status-pill.failed{background:var(--status-red-bg);border-color:var(--status-red-border);color:var(--status-red-text)}.import-status-pill.saving{background:var(--status-green-bg);border-color:var(--status-green-border);color:var(--status-green-text)}.import-status-pill.timeout{background:var(--status-orange-bg);border-color:var(--status-orange-border);color:var(--status-orange-text)}.import-provider-wrap.pending .import-card{background:linear-gradient(180deg,#3723086b,#0c1428d6);border-color:#fbbf244d}.import-provider-wrap.updating .import-card{background:var(--bg-elevated);border-color:#60a5fa52}.import-provider-wrap.failed .import-card{background:linear-gradient(180deg,#4818186b,#0c1428d6);border-color:#f8717157}.import-provider-wrap.saving .import-card{background:var(--bg-elevated);border-color:#4ade804d}.import-provider-wrap.timeout .import-card{background:linear-gradient(180deg,#3d1a0a6b,#0c1428d6);border-color:#fb923c59}.xtb-operation-notice{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#38bdf81f;border:1px solid rgba(56,189,248,.45);color:#b9e9ff;font-size:12px;font-weight:700}.xtb-operation-icon{display:inline-flex;align-items:center;justify-content:center;animation:xtb-hourglass-pulse 1s ease-in-out infinite}@keyframes xtb-hourglass-pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:.8}}.xtb-equity-modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.xtb-equity-modal{background:var(--bg-elevated);border:1px solid #1e293b;border-radius:14px;width:100%;max-width:520px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000080}.xtb-equity-modal-header{display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--text-primary)}.xtb-equity-modal-hint{font-size:12px;color:var(--text-muted);line-height:1.5;margin:0}.xtb-equity-modal-hint em{color:var(--text-secondary);font-style:normal;font-family:monospace}.xtb-equity-help-toggle{background:none;border:none;color:#6ea8ff;font-size:12.5px;padding:0;cursor:pointer;text-align:left;align-self:flex-start}.xtb-equity-help-toggle:hover{text-decoration:underline}.xtb-equity-help-panel{display:flex;flex-direction:column;gap:6px;background:var(--overlay-03);border:1px solid #26314a;border-radius:10px;padding:10px}.xtb-equity-help-svg{width:100%;height:auto;border-radius:8px}.xtb-equity-help-caption{margin:0;font-size:11.5px;color:var(--text-secondary);line-height:1.4}.xtb-equity-modal-rows{display:flex;flex-direction:column;gap:10px}.xtb-equity-modal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-elevated);border:1px solid #1e293b;border-radius:8px;padding:10px 12px}.xtb-equity-modal-account{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.xtb-equity-modal-input-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.xtb-equity-input{width:130px;background:var(--bg-elevated);border:1px solid #334155;color:var(--text-primary);font-size:13px;padding:7px 10px;border-radius:6px;text-align:right}.xtb-equity-input:focus{outline:none;border-color:#4aa3ff}.xtb-equity-modal-currency{font-size:12px;color:var(--text-muted);font-weight:600}.xtb-equity-modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.xtb-local-scan{margin-top:12px;background:var(--bg-navy-60);border:1px solid var(--overlay-08);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.xtb-local-scan-header{display:flex;align-items:center;gap:10px;font-size:13px}.xtb-local-scan-list{display:flex;flex-direction:column;gap:6px}.xtb-local-scan-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 8px;border-radius:6px;background:var(--overlay-03);cursor:pointer}.xtb-local-scan-item:hover{background:var(--overlay-06)}.xtb-local-scan-item input[type=checkbox]{flex-shrink:0}.xtb-local-scan-folder{font-weight:600;color:#4aa3ff;min-width:100px}.xtb-local-scan-filename{flex:1;color:var(--text-secondary);font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xtb-local-scan-date{flex-shrink:0;font-size:11px}.import-provider-wrap.pending label.file-btn{background:linear-gradient(180deg,#3b82f657,#1d4ed842);border-color:#60a5faad;color:transparent;position:relative}.import-provider-wrap.pending label.file-btn:after{content:"Choose first file";position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:12px;pointer-events:none}.import-provider-wrap.pending label.file-btn--folder{color:var(--text-primary)}.import-provider-wrap.pending label.file-btn--folder:after{content:none}.import-provider-wrap.failed label.file-btn{background:linear-gradient(180deg,#7f1d1d6b,#450a0a4d);border-color:#f8717194;color:transparent;position:relative}.import-provider-wrap.failed label.file-btn:after{content:"Retry import";position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:#fecaca;font-size:12px;pointer-events:none}.import-card-header p,.import-entries-block p,.import-preview-note,.import-preview-meta{color:var(--text-secondary);font-size:12px}.import-upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.import-upload-row input[type=file]{max-width:360px;color:var(--text-primary)}.import-preview-block,.import-entries-block{display:grid;gap:10px}.import-preview-meta{display:flex;gap:14px;flex-wrap:wrap}.import-preview-table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--overlay-08);background:var(--bg-navy-58)}.import-preview-table{width:100%;border-collapse:collapse;min-width:760px}.runner-panel{display:flex;flex-direction:column;gap:8px}.runner-table{min-width:0}.runner-table .runner-row-on td{background:#4078ff14}.runner-mode-toggle{display:inline-flex;gap:6px}.runner-mode-toggle .chip:disabled{opacity:.4;cursor:not-allowed}.runner-inst-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.runner-inst-list li{border-left:2px solid rgba(64,120,255,.4);padding-left:10px}.runner-inst-list a,.runner-instructions a{word-break:break-all;overflow-wrap:anywhere}.runner-instructions h5{margin:14px 0 4px;color:var(--text-secondary)}.runner-action-bar{position:sticky;bottom:0;margin-top:12px;padding:12px 0 4px;background:linear-gradient(180deg,#0c142800,#0c1428f5 28%);z-index:3}.import-preview-table th,.import-preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--overlay-06);font-size:12px}.import-preview-table th{color:var(--text-secondary);font-weight:600;background:var(--bg-navy-80);position:sticky;top:0}.import-preview-table td{color:var(--text-primary)}.import-preview-table td select{min-width:130px;background:var(--bg-navy-82);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:8px;padding:6px 8px}.import-error-text{color:#fca5a5;font-size:12px}.import-success-text{color:#86efac;font-size:12px}.f24-account-rows{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.f24-account-row{border:1px solid var(--border-color, var(--overlay-10));border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--overlay-03)}.f24-account-row-header{display:flex;align-items:center;justify-content:space-between}.f24-account-label{font-size:12px;font-weight:600;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.f24-remove-btn{font-size:11px;padding:2px 6px;color:var(--text-muted, #9ca3af);opacity:.6}.f24-remove-btn:hover{opacity:1}.f24-account-row-inputs{display:flex;gap:16px;flex-wrap:wrap}.f24-file-label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:220px}.f24-file-label>span:first-child{font-size:11px;color:var(--text-muted, #9ca3af);font-weight:500}.f24-filename{font-size:11px;color:var(--text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.f24-account-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.f24-result-ok{font-size:12px;color:#86efac}.f24-result-duplicate{font-size:12px;color:#fcd34d}.f24-add-row-btn{align-self:flex-start;font-size:13px;padding:6px 14px;border:1px dashed var(--border-color, var(--overlay-15));border-radius:6px;color:var(--text-muted, #9ca3af)}.f24-add-row-btn:hover{border-style:solid;color:var(--text, #e5e7eb)}.category-creator{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.category-creator input{border-radius:10px;padding:8px 10px;border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);font-size:12px}.category-list{display:flex;flex-wrap:wrap;gap:8px}.category-pill{border:1px solid rgba(239,68,68,.45);background:#ef44441f;color:#fecaca;font-size:11px;border-radius:999px;padding:6px 10px;cursor:pointer}.category-pill span{margin-left:6px}.category-settings{display:grid;gap:8px;margin-top:8px}.category-settings-note{font-size:11px;color:var(--text-secondary)}.category-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:var(--bg-navy-70);border:1px solid var(--overlay-08);color:var(--text-primary);font-size:12px}.category-setting-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:11px}.category-setting-toggle input{accent-color:#2ad68d}.warning-box{padding:10px 12px;border-radius:12px;background:#eab3081f;border:1px solid rgba(234,179,8,.35);color:#f5d27a;font-size:12px}.warning-box ul{margin:8px 0 0 18px;padding:0}.import-preview{display:grid;gap:8px}.preview-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.preview-table{display:grid;gap:6px;font-size:12px}.preview-table .row{display:grid;grid-template-columns:1.1fr 1.2fr 1.6fr .8fr .8fr .7fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--bg-navy-70)}.preview-table.santander .row{grid-template-columns:1fr 1fr 1.4fr .75fr .75fr .65fr 1fr .65fr}.preview-table.save-ngrow .row{grid-template-columns:1.4fr .8fr .8fr .7fr .7fr .9fr}.preview-table.xtb .row{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr .9fr 1fr 1fr}.preview-table .row.head{background:transparent;color:var(--text-secondary);font-weight:600}.preview-table select{background:var(--bg-navy-60);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:8px;padding:6px 8px}.import-inline-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary)}.import-inline-checkbox input{accent-color:#22c55e}.include-toggle{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary)}.include-toggle input{accent-color:#22c55e}.include-static{font-size:11px;color:var(--text-muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.total-gains{color:#2ad68d;font-size:12px}.table{display:grid;gap:8px;font-size:12px}.table .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 12px;border-radius:12px;background:var(--bg-navy-70)}.institution-table .row{grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(0,1fr))}.institution-cell{display:inline-flex;align-items:center;gap:8px}.institution-logo{width:22px;height:22px;border-radius:6px;object-fit:contain;background:var(--overlay-08);padding:2px}.institution-table .row.expandable{transition:background-color .2s}.institution-table .row.expandable:hover{background:#2ad68d14}.institution-table .row.expanded{background:#2ad68d0d;border-bottom-color:transparent}.expand-icon{font-size:10px;color:var(--text-secondary);margin-right:4px;transition:transform .2s;min-width:14px;display:inline-block}.row.expanded .expand-icon{color:#2ad68d}.institution-table .row.child-row{background:#141e3280;border-left:2px solid #2ad68d;margin-left:8px;font-size:13px}.institution-table .row.child-row:last-of-type{border-bottom:1px solid var(--overlay-06)}.breakdown-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.breakdown-status-pill.ready{color:#9de3ff;background:#6fd6ff24;border-color:#6fd6ff47}.breakdown-status-pill.updating{color:#15263a;background:linear-gradient(135deg,#ffc66d,#ff9f43);border-color:#ffb14eb3}.child-cell{padding-left:8px}.child-indent{width:24px;display:inline-block}.table .row.head{background:transparent;color:var(--text-secondary);font-weight:600}.table.compact .row{grid-template-columns:repeat(6,minmax(0,1fr))}.holdings-page{display:flex;flex-direction:column;gap:20px;overflow-x:hidden}.holdings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.holdings-header-main{display:flex;align-items:center;gap:24px;flex:1;flex-wrap:wrap}.holdings-title-group{display:flex;align-items:center;gap:12px}.holdings-title-group h2{margin:0;font-size:24px}.holdings-subtitle-inline{color:var(--text-secondary);font-size:14px;margin:0}.holdings-dashboard-tabs-inline{display:flex;gap:8px;flex-wrap:wrap}.holdings-dashboard-tabs-inline button{border:1px solid var(--overlay-12);background:var(--bg-navy-70);color:var(--text-primary);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.holdings-dashboard-tabs-inline button:hover:not(:disabled){background:#2ad68d26;border-color:#2ad68d66}.holdings-dashboard-tabs-inline button.active{background:#2ad68d33;border-color:#2ad68d;color:#2ad68d}.holdings-dashboard-tabs-inline button:disabled{opacity:.4;cursor:not-allowed}.holdings-meta{display:flex;align-items:center;gap:12px}.holdings-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--text-secondary);font-size:12px}.holdings-total strong{color:var(--text-primary);font-size:18px}.holdings-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;background:var(--bg-navy-60);border-radius:14px;padding:16px;border:1px solid var(--overlay-08)}.holdings-filters .filter-search{display:flex;align-items:center;gap:8px}.holdings-filters .filter-search input{flex:1}.holdings-chart{background:var(--bg-navy-75);border-radius:16px;padding:16px;border:1px solid var(--overlay-08);display:flex;flex-direction:column;gap:14px}.holdings-chart-header{display:flex;flex-direction:column;gap:12px}.holdings-chart-header h3{font-size:16px;margin:0}.holdings-chart-controls{display:flex;flex-direction:column;gap:12px}.holdings-chart-toggle{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-secondary)}.holdings-chip-row{display:flex;flex-wrap:wrap;gap:8px}.holdings-chip{border:1px solid var(--overlay-12);background:var(--bg-navy-70);color:var(--text-primary);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer}.holdings-chip.active{background:#2ad68d33;border-color:#2ad68d73;color:#2ad68d}.holdings-chart-body{background:var(--bg-navy-60);border-radius:14px;padding:12px;border:1px solid var(--overlay-08);overflow-x:hidden}.holdings-chart-bars{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.holdings-chart-bar{min-width:42px;display:flex;flex-direction:column;align-items:center;gap:8px}.holdings-chart-bar-stack{display:flex;flex-direction:column;height:160px;width:18px}.holdings-chart-bar-pos,.holdings-chart-bar-neg{flex:1;display:flex;align-items:flex-end;justify-content:flex-start}.holdings-chart-bar-neg{align-items:flex-start}.holdings-chart-bar-fill{display:block;width:100%;border-radius:6px}.holdings-chart-bar-fill.pos{background:linear-gradient(180deg,#2ad68d,#1c8f5f)}.holdings-chart-bar-fill.neg{background:linear-gradient(180deg,#ff6b6b,#b94444)}.holdings-chart-label{font-size:10px;color:var(--text-secondary);max-width:70px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holdings-dashboard-tabs{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.holdings-dashboard-tabs button{border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);padding:10px 18px;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.holdings-dashboard-tabs button:hover{background:var(--bg-navy-80);border-color:#ffffff2e}.holdings-dashboard-tabs button.active{background:#2ad68d33;color:#2ad68d;border-color:#2ad68d66}.diversification-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.diversification-tabs button{border:1px solid var(--overlay-12);background:var(--bg-navy-70);color:var(--text-primary);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.diversification-tabs button:hover:not(:disabled){background:#2ad68d26;border-color:#2ad68d66}.diversification-tabs button.active{background:#2ad68d33;border-color:#2ad68d;color:#2ad68d}.diversification-tabs button:disabled{opacity:.4;cursor:not-allowed}.diversification-container{display:grid;gap:24px}.diversification-block{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:16px;padding:20px;display:grid;gap:16px}.diversification-block-header{display:flex;flex-direction:column;gap:4px}.diversification-block-header h4{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.diversification-block-header .chart-sub{font-size:12px;color:var(--text-secondary);margin:0}.diversification-content{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.donut-chart-container{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center}.donut-chart{width:100%;height:100%;transform:rotate(-90deg)}.donut-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-center-text .donut-label{font-size:11px;color:var(--text-secondary);display:block}.donut-center-text .donut-value{font-size:20px;font-weight:700;color:var(--text-primary);display:block}.diversification-list{display:flex;flex-direction:column;gap:12px}.diversification-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.diversification-item--clickable{cursor:pointer;border-radius:8px;padding:6px 8px;margin:-6px -8px;transition:background .12s}.diversification-item--clickable:hover{background:var(--overlay-05)}.diversification-item--clickable:focus-visible{outline:2px solid #1b8af2;outline-offset:2px}.diversification-item-label{display:flex;align-items:center;gap:10px}.diversification-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.diversification-item-info{display:flex;flex-direction:column;gap:2px}.diversification-item-info strong{font-size:14px;color:var(--text-primary)}.diversification-item-info small{font-size:11px;color:var(--text-secondary)}.diversification-item-value{text-align:right;display:flex;flex-direction:column;gap:2px}.diversification-item-value .percentage{font-size:16px;font-weight:700;color:#2ad68d}.diversification-item-value .amount{font-size:11px;color:var(--text-secondary)}.diversification-bar{grid-column:1 / -1;height:8px;background:var(--overlay-05);border-radius:999px;overflow:hidden}.diversification-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}@media(max-width:800px){.diversification-content{grid-template-columns:1fr}.donut-chart-container{margin:0 auto}}.filter-group{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:12px}.filter-tabs{display:flex;gap:8px}.filter-tabs button{border:1px solid var(--overlay-12);background:var(--bg-navy-60);color:var(--text-primary);padding:6px 12px;border-radius:10px;font-size:12px;cursor:pointer}.filter-tabs button.active{background:#2ad68d33;color:#2ad68d;border-color:#2ad68d66}.filter-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.filter-field label{font-size:11px;color:var(--text-secondary)}.filter-field select,.filter-field input{background:var(--bg-navy-80);border:1px solid var(--overlay-10);border-radius:10px;padding:8px 10px;color:var(--text-primary)}.holdings-table .row,.holdings-table.overall .row{grid-template-columns:minmax(180px,1.6fr);grid-auto-columns:minmax(120px,1fr);grid-auto-flow:column}.holdings-table-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.holdings-column-picker{position:relative}.column-picker-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;max-width:320px;background:var(--bg-navy-98);border:1px solid var(--overlay-08);border-radius:14px;padding:12px;z-index:5;box-shadow:0 16px 32px #00000059}.column-picker-hint{font-size:12px;color:#fff9;margin-bottom:8px}.column-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.column-picker-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-primary)}.column-picker-item.disabled{opacity:.5;pointer-events:none}.holdings-operations-table .row{grid-template-columns:minmax(110px,.8fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(220px,1.4fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(160px,1fr) minmax(120px,.7fr)}.holding-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#2e384fb3;color:var(--text-primary);font-size:12px;border:1px solid rgba(72,88,122,.7)}.tag-filter-chip{cursor:pointer}.tag-filter-chip:hover{border-color:#56d29fb3;color:var(--text-primary)}.tag-chip.active{background:#31b97833;border-color:#31b97899;color:var(--text-primary)}.tag-clear-btn{margin-top:6px}.tag-chip-btn{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}.tag-remove-btn{background:#ff5a5a26;border:1px solid rgba(255,90,90,.5);color:#ff8c8c;border-radius:10px;width:20px;height:20px;line-height:16px;cursor:pointer}.holding-tag-panel{margin-top:16px;display:flex;flex-direction:column;gap:10px}.tag-panel-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);font-weight:600}.tag-input-row{display:flex;gap:12px;align-items:center}.tag-input-row input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(60,74,104,.8);background:var(--bg-navy-60);color:var(--text-primary)}.tag-message{font-size:12px;color:#79f0b3}.holding-name{display:flex;flex-direction:column;gap:4px;font-size:12px}.holding-name small{color:var(--text-secondary)}.holding-meta-btn{align-self:flex-start;margin-top:4px;border:1px solid var(--overlay-12);background:var(--bg-navy-70);color:var(--text-primary);border-radius:8px;padding:4px 8px;font-size:10px;cursor:pointer}.holding-meta-modal{position:fixed;inset:0;background:#02060cb3;display:flex;align-items:center;justify-content:center;z-index:50}.holding-meta-card{width:min(460px,92vw);background:var(--bg-navy-95);border-radius:16px;padding:20px;border:1px solid var(--overlay-10);display:grid;gap:14px}.holding-meta-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.holding-meta-header h4{margin:0}.holding-meta-grid{display:grid;gap:12px}.holding-meta-grid label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.holding-meta-grid input,.holding-meta-grid select{background:var(--bg-navy-80);border:1px solid var(--overlay-10);border-radius:10px;padding:8px 10px;color:var(--text-primary)}.holding-meta-actions{display:flex;justify-content:flex-end}.holding-price-cell{display:inline-flex;align-items:center;gap:.35rem}.price-info-btn{border:1px solid rgba(112,166,255,.35);background:#0b1a38e6;color:#9fb5d8;border-radius:999px;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;cursor:pointer;line-height:1}.price-info-btn:hover{color:#c9dcff;border-color:#70a6ff99}.holding-header{display:inline-flex;align-items:center;gap:6px;position:relative}.sort-cell{display:inline-flex;align-items:center;gap:6px;cursor:pointer;width:100%;justify-content:flex-start;text-align:left}.sort-cell:hover{color:var(--text-primary)}.sort-cell:focus{outline:1px solid rgba(123,160,255,.6);outline-offset:2px;border-radius:6px}.sort-arrow{font-size:10px;color:var(--text-secondary)}.holdings-tooltip{position:absolute;top:28px;left:0;max-width:240px;padding:10px 12px;border-radius:12px;background:var(--bg-navy-95);border:1px solid var(--overlay-12);color:var(--text-primary);font-size:11px;line-height:1.4;white-space:pre-line;z-index:10}.holdings-form{background:var(--bg-navy-60);border-radius:16px;padding:18px;border:1px solid var(--overlay-08);display:flex;flex-direction:column;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.field label{font-size:11px;color:var(--text-secondary)}.field input,.field select{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:10px;padding:8px 10px;color:var(--text-primary)}.form-actions{display:flex;justify-content:flex-end;gap:12px}.banking-page{display:flex;flex-direction:column;gap:24px}.banking-header h2{margin:0;font-size:22px}.banking-header p{margin:6px 0 0;color:var(--text-secondary)}.banking-view-toggle{display:flex;gap:12px;flex-wrap:wrap}.banking-view-toggle button{border:1px solid var(--overlay-12);background:var(--bg-navy-70);color:var(--text-primary);border-radius:999px;padding:8px 18px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.banking-view-toggle button.active{background:#2ad68d33;border-color:#2ad68d;color:#2ad68d}.banking-import-card{background:var(--bg-elevated);border-radius:20px;padding:20px;border:1px solid var(--overlay-08);display:flex;flex-direction:column;gap:16px}.banking-import-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.banking-import-block{display:flex;flex-direction:column;gap:12px}.banking-import-form label{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:13px}.banking-import-form input,.banking-import-form textarea,.banking-import-form select{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:12px;padding:10px 12px;font-size:14px}.banking-import-form textarea{min-height:120px;resize:vertical}.banking-actions{display:flex;gap:12px;justify-content:flex-end;align-items:flex-end}.banking-import-mode{margin-right:auto;display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:13px}.banking-import-mode select{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 12px;font-size:13px}.banking-manual{display:grid;gap:12px}.banking-manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.banking-manual-card{background:var(--bg-navy-90);border-radius:20px;padding:18px;border:1px solid var(--overlay-08);display:flex;flex-direction:column;gap:12px}.banking-manual-card header h3{margin:0;font-size:16px}.banking-manual-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}@media(max-width:480px){.banking-manual-form{grid-template-columns:1fr}.banking-manual-form label,.banking-manual-form>div{grid-column:1 / -1}}.banking-manual-form label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.banking-manual-form input,.banking-manual-form select{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:10px;padding:10px 12px;color:var(--text-primary)}.banking-ocr-card{border-style:dashed}.banking-ocr-placeholder{display:grid;gap:12px;color:var(--text-secondary)}.banking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.banking-summary-card{background:var(--bg-elevated);border:1px solid var(--overlay-08);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;color:var(--text-primary)}.banking-summary-card span{font-size:12px;color:var(--text-secondary)}.banking-summary-card strong{font-size:18px;font-weight:700}.banking-analytics{background:var(--bg-elevated);border-radius:20px;padding:18px;border:1px solid var(--overlay-08);display:grid;gap:12px}.banking-analytics-table .row{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:12px;padding:10px 12px;border-bottom:1px solid var(--overlay-06);font-size:12px}.banking-analytics-table .row.header{font-weight:600;color:var(--text-secondary)}.banking-analytics-table .row.over{color:#ff9c9c}.banking-targets,.banking-alerts{background:var(--bg-elevated);border-radius:20px;padding:18px;border:1px solid var(--overlay-08);display:grid;gap:12px}.banking-target-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.banking-target-form label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.banking-target-form input{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:10px;padding:10px 12px;color:var(--text-primary)}.toggle-label{display:flex;flex-direction:column;gap:6px}.banking-target-list,.banking-alert-list{display:grid;gap:10px}.banking-target-row,.banking-alert-row{display:grid;gap:12px;align-items:center;padding:12px;background:var(--bg-navy-70);border-radius:14px;border:1px solid var(--overlay-06)}.banking-target-row{grid-template-columns:1.6fr auto}.banking-alert-row{grid-template-columns:1.4fr 1fr 1fr}.banking-target-row strong,.banking-alert-row strong{display:block;font-size:14px;color:var(--text-primary)}.banking-budgets{margin-top:18px;display:grid;gap:12px}.banking-budgets-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.banking-budget-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.banking-budget-form label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.banking-budget-form input{background:var(--bg-navy-70);border:1px solid var(--overlay-08);border-radius:10px;padding:10px 12px;color:var(--text-primary)}.banking-budget-form .primary-btn{height:40px}.banking-budget-list{display:grid;gap:10px}.banking-budget-row{display:grid;grid-template-columns:1.2fr 2fr auto;gap:12px;align-items:center;padding:12px;background:var(--bg-navy-70);border-radius:14px;border:1px solid var(--overlay-06)}.banking-budget-row strong{display:block;font-size:14px;color:var(--text-primary);margin-bottom:4px}.banking-budget-progress{display:grid;gap:6px}.bar-fill.ok{background:#2ad68d}.bar-fill.caution{background:#f2b441}.bar-fill.warn{background:#ff9c9c}.bar-fill.danger{background:#ff6b6b}.banking-preview{background:var(--bg-elevated);border-radius:20px;padding:20px;border:1px solid var(--overlay-08)}.banking-preview header h3{margin:0}.banking-preview header p{margin:4px 0 0;color:var(--text-secondary)}.banking-warnings{margin-top:12px;color:#f3b452;font-size:13px}.banking-warning-list{margin-top:6px;display:grid;gap:4px;color:#f3d6a0;font-size:12px}.banking-preview-table .row.preview-controls{border-bottom:none;padding:4px 0 0}.banking-preview-table .preview-toggle{display:inline-flex;justify-content:flex-start}.banking-preview-table,.banking-table{margin-top:16px;display:grid;gap:8px}.banking-preview-table .row,.banking-table .row{display:grid;grid-template-columns:40px repeat(auto-fit,minmax(120px,1fr));gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--overlay-06);font-size:13px}.banking-table .row{grid-template-columns:140px 1.5fr 120px 120px 200px 1.6fr 120px 160px 132px}.banking-date-cell{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.banking-date-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.banking-edit-date-btn{padding:2px 6px;font-size:.8rem;line-height:1;flex:0 0 auto;opacity:0;transition:opacity .15s;pointer-events:none}.banking-table .row:hover .banking-edit-date-btn,.banking-table .banking-row-active .banking-edit-date-btn{opacity:1;pointer-events:auto}.banking-mobile-filter-toggle,.banking-row-expand-hint{display:none}@media(max-width:1100px){.list-period-selection-row,.select-transactions-custom{grid-template-columns:1fr}.select-transactions-footer{flex-direction:column;align-items:stretch}.select-transactions-footer>button{width:100%}.select-transactions-footer>span:first-child{margin-right:0}.cat-filter-panel{width:min(94vw,640px)}.cat-filter-dual{grid-template-columns:1fr}}.quick-actions-bar{display:flex;align-items:center;gap:2px;justify-content:center}.quick-action-btn{width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s,transform .1s;display:flex;align-items:center;justify-content:center}.quick-action-btn:hover{background:var(--overlay-08);border-color:#ffffff2e;transform:scale(1.15)}.quick-action-btn:active{transform:scale(.95)}.quick-action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.banking-category-cell{display:flex}.banking-category-cell select{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:6px 8px;font-size:12px}.banking-category-cell select optgroup{color:#2ac77c;background-color:#15202b;font-weight:700}.banking-category-cell select option{color:var(--text-primary);background-color:var(--bg-elevated)}.banking-preview-table .row.header,.banking-table .row.header{font-weight:600;color:var(--text-secondary)}.banking-table .row.header .banking-sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.banking-table .row.header .banking-sortable-col:hover{color:var(--text-primary)}.banking-table .row.header .banking-sortable-col:focus-visible{outline:2px solid #3a7bd5;outline-offset:2px}.banking-row-active{outline:1px solid rgba(59,130,246,.55);border-radius:8px;background:#3b82f614}.banking-row-range{background:#0ea5e914}.banking-preview-table select{margin-top:6px;width:100%}.cat-dropdown-trigger{display:flex;align-items:flex-start;gap:4px;width:100%;background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:5px 8px;font-size:12px;cursor:pointer;text-align:left;transition:border-color .15s;min-height:36px}.cat-dropdown-trigger:hover:not(:disabled){border-color:#ffffff47}.cat-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.cat-dropdown-label{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:1px}.cat-dropdown-cat{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cat-dropdown-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;opacity:.65;color:#2ac77c}.cat-dropdown-arrow{flex-shrink:0;font-size:10px;opacity:.6;margin-top:3px}.cat-dropdown-panel{position:fixed;background:var(--bg-elevated);border:1px solid var(--overlay-15);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:1500;overflow-x:hidden;overflow-y:auto;padding:4px 0}.cat-dropdown-search{position:sticky;top:0;z-index:2;background:var(--bg-elevated);padding:6px 8px;border-bottom:1px solid var(--overlay-10)}.cat-dropdown-search input{width:100%;background:var(--bg-elevated);border:1px solid var(--overlay-15);border-radius:6px;color:var(--text-primary);font-size:12px;padding:6px 10px;box-sizing:border-box}.cat-dropdown-search input:focus{outline:none;border-color:#2ac77c}.cat-dropdown-empty{padding:12px 14px;font-size:12px;color:#8a9bc0;text-align:center}.cat-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .12s;-webkit-user-select:none;user-select:none;white-space:nowrap}.cat-dropdown-item:hover,.cat-dropdown-item.hovered{background:#2ac77c1f;color:#2ac77c}.cat-dropdown-chevron{font-size:16px;opacity:.6;margin-left:8px;flex-shrink:0;transition:transform .15s}.cat-dropdown-chevron.expanded{transform:rotate(90deg)}.cat-dropdown-subgroup{background:#0000002e}.cat-dropdown-subitem{padding:8px 14px 8px 28px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:background .12s;white-space:nowrap;-webkit-user-select:none;user-select:none}.cat-dropdown-subitem:hover,.cat-dropdown-subitem.hovered{background:#2ac77c1f;color:#2ac77c}.cat-dropdown-suggestion{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:0 6px 4px;border-radius:6px;background:#f2b4411f;border:1px solid rgba(242,180,65,.35);cursor:pointer;transition:background .12s}.cat-dropdown-suggestion:hover{background:#f2b44133}.cat-dropdown-suggestion-icon{font-size:14px;flex-shrink:0}.cat-dropdown-suggestion-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.cat-dropdown-suggestion-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.75;color:#f2b441}.cat-dropdown-suggestion-value{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-dropdown-suggestion-accept{flex-shrink:0;font-size:11px;font-weight:600;color:#f2b441;white-space:nowrap}.banking-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.banking-filters label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:13px;min-width:0}.banking-amount-filter{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:13px;grid-column:span 2}.banking-amount-filter-buttons{display:flex;gap:8px;flex-wrap:nowrap}.banking-amount-filter-buttons .ghost-btn{flex:1 1 0}.banking-amount-filter-buttons .ghost-btn.active{background:#2ac77c33;border-color:#2ac77c80;color:#2ac77c}.banking-filter-clear-wrap{justify-content:flex-end}.banking-filter-clear-wrap .ghost-btn{height:36px}@media(max-width:900px){.banking-amount-filter{grid-column:span 1}}.banking-filters input,.banking-filters select{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:13px}@media(max-width:860px){.banking-transactions .banking-actions{flex-wrap:wrap;justify-content:stretch}.banking-transactions .banking-actions .ghost-btn{flex:1 1 auto}.banking-mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:4px 0 12px;font-weight:600}.banking-mobile-filter-chevron{transition:transform .18s ease}.banking-mobile-filter-chevron.open{transform:rotate(180deg)}.select-transactions-panel.mobile-collapsed{display:none}.banking-filters.mobile-collapsed{margin-bottom:12px}.banking-filters.mobile-collapsed>label:not(.banking-filter-period),.banking-filters.mobile-collapsed>.banking-amount-filter{display:none}.banking-table{gap:10px}.banking-table .row.header{display:none}.banking-table .row{grid-template-columns:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:12px 14px;border:1px solid var(--overlay-08);border-bottom:1px solid var(--overlay-08);border-radius:12px;background:var(--bg-navy-50);cursor:pointer}.banking-table .row>span:nth-child(2){order:1;flex:1 1 55%;min-width:0;font-weight:600;font-size:14px;white-space:normal;word-break:break-word}.banking-table .row>span:nth-child(3){order:2;flex:0 0 auto;margin-left:auto;font-weight:700;font-size:15px;text-align:right}.banking-table .row>.banking-date-cell{order:3;flex:1 1 100%;font-size:12px;color:var(--text-secondary)}.banking-row-expand-hint{display:inline-block;margin-left:auto;font-size:16px;color:#6d80a3;transition:transform .18s ease}.banking-row-expand-hint.open{transform:rotate(180deg)}.banking-table .row>span:nth-child(n+4){display:none}.banking-table .row.banking-row-active>span:nth-child(n+4){display:flex;order:10;flex:1 1 100%;align-items:center;gap:8px;padding-top:8px;margin-top:4px;border-top:1px solid var(--overlay-06);text-align:left}.banking-table .row.banking-row-active>.quick-actions-bar:empty{display:none}.banking-table .row.banking-row-active>.quick-actions-bar{justify-content:flex-start}.banking-table .row.banking-row-active>span[data-mlabel]:before{content:attr(data-mlabel);color:var(--text-secondary);font-size:12px;font-weight:500;margin-right:auto}.banking-table .row.banking-row-active>span.banking-category-cell{flex-direction:column;align-items:stretch}.banking-table .row.banking-row-active>span.banking-category-cell:before{margin-right:0;margin-bottom:4px}.banking-table .row.banking-row-active>span.banking-category-cell select{width:100%}}.cat-filter-combobox{position:relative}.cat-filter-trigger{width:100%;background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:13px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:36px;text-align:left}.cat-filter-arrow{opacity:.75}.cat-filter-panel{position:absolute;top:calc(100% + 6px);left:0;width:min(640px,90vw);background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:12px;z-index:1700;box-shadow:0 16px 30px #02081473;padding:10px;display:grid;gap:10px}.cat-filter-search{display:grid;grid-template-columns:1fr auto;gap:8px}.cat-filter-search input{background:var(--bg-elevated);border:1px solid var(--overlay-12);color:var(--text-primary);border-radius:10px;padding:8px 10px}.cat-filter-dual{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cat-filter-left,.cat-filter-right{border:1px solid var(--overlay-08);border-radius:10px;background:#0f1d368c;max-height:300px;overflow-y:auto;padding:6px;display:grid;align-content:start;gap:4px}.cat-filter-item{width:100%;border:none;background:transparent;color:var(--text-primary);border-radius:8px;padding:8px 10px;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px}.cat-filter-item:hover,.cat-filter-item.active{background:#3b82f629}.cat-filter-item.focused{outline:1px solid rgba(56,189,248,.6)}.cat-filter-chevron{opacity:.65}.cat-filter-empty{color:#8ea1c2;font-size:12px;padding:10px}.cockpit-page{display:grid;gap:20px}.cockpit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--bg-navy-75);border-radius:18px;padding:18px;border:1px solid var(--overlay-08)}.cockpit-header p{color:var(--text-secondary);font-size:12px}.cockpit-header-meta{display:flex;gap:8px;flex-wrap:wrap}.cockpit-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}.cockpit-card{background:var(--bg-elevated);border-radius:16px;padding:14px 16px;border:1px solid var(--overlay-08);display:grid;gap:8px;box-shadow:0 12px 30px #0408144d}.cockpit-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}@media(max-width:1000px){.banking-analytics-grid>*{grid-column:1 / -1!important;min-width:0}.banking-analytics-grid .summary-widgets{grid-template-columns:1fr!important}.banking-analytics-grid>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}}@media(max-width:560px){.banking-analytics-grid .summary-widget strong{font-size:1.5rem!important}}.cockpit-title-btn{appearance:none;border:1px solid rgba(110,195,255,.25);background:var(--overlay-06);color:var(--text-primary);font-weight:600;font-size:16px;padding:6px 12px;border-radius:999px;line-height:1;display:inline-flex;align-items:center;gap:6px;transition:border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease;cursor:pointer}.cockpit-title-btn:hover{color:var(--text-primary);border-color:#6ec3ff99;background:#1e406973;box-shadow:0 6px 16px #0f5ab426}.cockpit-title-btn:focus-visible{outline:2px solid rgba(110,195,255,.6);outline-offset:2px}.cockpit-performance{grid-column:span 8;min-height:280px}.cockpit-share-btn{appearance:none;border:1px solid rgba(110,195,255,.25);background:var(--overlay-06);color:var(--text-primary);font-size:13px;font-weight:600;padding:7px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s;white-space:nowrap}.cockpit-share-btn:hover{background:#1e406980;border-color:#6ec3ff80}.sr-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.sr-modal{background:var(--bg-elevated);border:1px solid #1e293b;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #00000080}.sr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.sr-modal-title{font-size:16px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.sr-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.sr-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.sr-tabs{display:flex;gap:4px;padding:12px 20px 0;border-bottom:1px solid #1e293b}.sr-tab{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px 6px 0 0;cursor:pointer;transition:color .15s}.sr-tab:hover{color:var(--text-primary)}.sr-tab.active{color:#4aa3ff;border-bottom:2px solid #4aa3ff;font-weight:600}.sr-body{padding:20px}.sr-info p{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.6}.sr-info strong{color:var(--text-primary)}.sr-includes{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.sr-includes li{font-size:12px;color:var(--text-muted)}.sr-generate-btn{width:100%;background:#2563eb;border:none;color:var(--text-primary);font-size:14px;font-weight:600;padding:12px;border-radius:10px;cursor:pointer;transition:background .15s}.sr-generate-btn:hover{background:#1d4ed8}.sr-generating{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--text-secondary);padding:16px 0}.sr-spinner{width:18px;height:18px;border:2px solid #1e293b;border-top-color:#4aa3ff;border-radius:50%;animation:sr-spin .6s linear infinite}@keyframes sr-spin{to{transform:rotate(360deg)}}.sr-result{display:flex;flex-direction:column;gap:12px}.sr-url-row{display:flex;gap:8px}.sr-url-input{flex:1;background:var(--bg-elevated);border:1px solid #334155;color:var(--text-secondary);font-size:12px;padding:9px 12px;border-radius:8px;min-width:0}.sr-copy-btn{background:var(--bg-elevated);border:1px solid #334155;color:var(--text-primary);font-size:13px;font-weight:600;padding:9px 16px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s}.sr-copy-btn:hover{background:var(--bg-elevated)}.sr-result-actions{display:flex;align-items:center;justify-content:space-between}.sr-preview-link{font-size:13px;color:#4aa3ff;text-decoration:none}.sr-preview-link:hover{text-decoration:underline}.sr-new-btn{background:none;border:1px solid #334155;color:var(--text-muted);font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer}.sr-new-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.sr-error{font-size:13px;color:#f87171;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sr-error button{background:none;border:1px solid #f87171;color:#f87171;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer}.sr-tokens{display:flex;flex-direction:column;gap:10px}.sr-tokens-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:20px 0}.sr-token-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--bg-elevated);border:1px solid #1e293b;border-radius:8px;padding:12px}.sr-token-meta{display:flex;flex-direction:column;gap:3px}.sr-token-link{font-size:12px;color:#4aa3ff;text-decoration:none;font-family:monospace}.sr-token-link:hover{text-decoration:underline}.sr-token-views,.sr-token-exp{font-size:11px;color:var(--text-muted)}.sr-revoke-btn{background:none;border:1px solid #334155;color:#ef4444;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0}.sr-revoke-btn:hover{background:#1e0a0a;border-color:#ef4444}.cockpit-subportfolios,.cockpit-subportfolios-summary{grid-column:span 4;min-height:280px}.cockpit-summary,.cockpit-budget,.cockpit-networth,.cockpit-realestate{grid-column:span 4;min-height:160px}.cockpit-summary header h3{font-size:18px;color:var(--text-primary);margin:0}.cockpit-dividends{margin-top:12px;display:grid;gap:8px}.cockpit-dividends-header{display:flex;justify-content:space-between;font-size:12px;color:#9fb1d6}.cockpit-mini-bars{display:flex;align-items:flex-end;gap:8px}.cockpit-mini-bar{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary)}.cockpit-mini-fill{width:10px;background:linear-gradient(180deg,#2ad68d,#1aa36d);border-radius:6px;transition:height .3s ease}.cockpit-summary .cockpit-metric{font-size:16px}.cockpit-summary .cockpit-metric span{color:var(--text-secondary);font-size:.95em}.cockpit-summary .cockpit-metric strong{font-size:19px;letter-spacing:.01em}.cockpit-summary .cockpit-metric strong.pos{color:#2ad68d}.cockpit-summary .cockpit-metric strong.neg{color:#ff7b7b}.cockpit-networth-breakdown,.cockpit-networth-chart{display:grid;gap:4px}.cockpit-networth-chart svg{width:100%;height:72px}.cockpit-networth-chart path{fill:none;stroke:#4ec8ff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.cockpit-networth-axis{display:flex;justify-content:space-between;font-size:11px;color:#8aa1c2}.networth-pill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:999px;border:1px solid var(--overlay-16)}.networth-pill.fresh{color:#39f2a6;border-color:#39f2a659;background:#39f2a61a}.networth-pill.stale{color:#fc6;border-color:#fc66;background:#ffcc661f}.cockpit-networth-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.cockpit-networth .secondary-btn{border:1px solid rgba(110,195,255,.35);background:#14243cb3;color:var(--text-primary);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.cockpit-networth .secondary-btn:hover{border-color:#6ec3ff99;background:#1e406980}.cockpit-budget{display:grid;gap:12px}.cockpit-budget-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cockpit-budget-header h3{margin:0;font-size:18px;color:var(--text-primary)}.budget-status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#2ad68d1f;color:#2ad68d}.budget-status-chip.warn{background:#f2b4412e;color:#f2b441}.budget-status-chip.danger{background:#ff7b7b2e;color:#ff7b7b}.budget-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.budget-summary-item span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8fa3c7}.budget-summary-item strong{display:block;font-size:18px;color:var(--text-primary)}.budget-summary-item strong.neg{color:#ff7b7b}.budget-summary-item strong.pos{color:#2ad68d}.budget-progress{display:grid;gap:8px}.budget-progress-track{width:100%;height:8px;background:var(--overlay-08);border-radius:999px;overflow:hidden}.budget-progress-fill{height:100%;background:#2ad68d;border-radius:999px;transition:width .3s ease}.budget-progress-fill.warn{background:#f2b441}.budget-progress-fill.danger{background:#ff7b7b}.budget-progress-label{font-size:12px;color:var(--text-secondary)}.budget-forecast{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--overlay-08)}.budget-forecast-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.budget-forecast-row strong{color:var(--text-primary)}.budget-forecast-note{margin:0;font-size:12px;color:#8fa3c7}.budget-forecast-note.over{color:#ff7b7b}.budget-forecast-note.under{color:#2ad68d}.cockpit-budget-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:12px}.budget-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#2ad68d;animation:budget-spin 1s linear infinite}@keyframes budget-spin{to{transform:rotate(360deg)}}.cockpit-budget-layout{display:grid;gap:12px}.cockpit-budget-chart{display:flex;align-items:center;gap:16px}.cockpit-donut{width:96px;height:96px;position:relative;display:grid;place-items:center}.cockpit-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.cockpit-donut .donut-bg{stroke:var(--overlay-08)}.cockpit-donut .donut-fill{stroke:#2ad68d;stroke-linecap:round;transition:stroke-dasharray .4s ease}.cockpit-donut .donut-fill.warn{stroke:#f2b441}.cockpit-donut .donut-fill.danger{stroke:#ff7b7b}.cockpit-donut-label{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:11px;color:var(--text-secondary)}.cockpit-donut-label strong{font-size:16px;color:var(--text-primary)}.cockpit-budget-values{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.cockpit-budget-values strong{display:block;color:var(--text-primary);font-size:14px}.cockpit-budget-progress{display:grid;gap:6px}.cockpit-budget-progress-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.cockpit-budget-forecast{display:grid;gap:8px;margin-top:6px}.cockpit-budget-forecast-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.cockpit-budget-forecast-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:12px;color:var(--text-secondary)}.cockpit-budget-forecast-row strong{color:var(--text-primary);font-size:13px}.forecast-bar{height:6px;background:var(--overlay-08);border-radius:999px;overflow:hidden}.forecast-bar span{display:block;height:100%;background:#2ad68d;border-radius:999px}.forecast-bar span.forecast-over{background:#f2b441}.cockpit-budget-actions{display:flex;justify-content:flex-start}.cockpit-budget-empty{display:grid;place-items:center;gap:10px;text-align:center;color:var(--text-secondary)}.cockpit-budget-empty-illustration{width:min(100%,320px);border-radius:18px;overflow:hidden;border:1px solid var(--overlay-10);background:var(--bg-navy-85);box-shadow:inset 0 0 0 1px var(--overlay-02);position:relative}.cockpit-budget-empty-illustration img{display:block;width:100%;height:auto;max-height:190px;object-fit:contain;filter:saturate(1.02) contrast(1.02);-webkit-mask-image:radial-gradient(140% 120% at 50% 45%,#000 70%,transparent 100%);mask-image:radial-gradient(140% 120% at 50% 45%,#000 70%,transparent 100%)}.cockpit-budget-empty-illustration:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 120% at 50% 50%,transparent 60%,rgba(7,15,30,.35) 100%)}.cockpit-budget-empty .primary-btn{font-size:.9rem;padding:.55rem 1.05rem;min-width:132px;border-color:#ff9a3cb3;background:linear-gradient(135deg,#ff9a3c,#ff7a1a);color:#081327;box-shadow:0 10px 24px #ff7a1a59}.cockpit-budget-empty .primary-btn:hover{background:linear-gradient(135deg,#ffac58,#ff8b33);border-color:#ffac58e6}.cockpit-budget-empty .primary-btn:active{background:linear-gradient(135deg,#f38f33,#f07314)}.cockpit-debt{grid-column:span 4;min-height:160px}.debt-summary-card{display:flex;flex-direction:column;gap:16px;padding:4px 0}.debt-summary-card header{display:flex;justify-content:space-between;align-items:flex-start}.debt-summary-title{display:flex;align-items:center;gap:12px}.debt-summary-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#2ad68d26;font-size:18px}.debt-summary-name{font-weight:600;font-size:15px;color:var(--text-primary)}.debt-summary-subtitle{font-size:12px;color:var(--text-secondary)}.debt-summary-details{display:flex;gap:32px}.debt-summary-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.debt-summary-value{font-size:22px;font-weight:700;color:var(--text-primary)}.debt-summary-progress{display:flex;flex-direction:column;gap:8px}.debt-summary-bar-bg{height:6px;border-radius:3px;background:var(--overlay-10);overflow:hidden}.debt-summary-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,#4dabf7,#2ad68d);transition:width .4s ease}.debt-summary-progress-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.debt-summary-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--overlay-08);font-size:13px;color:var(--text-secondary)}.debt-summary-payoff{font-weight:600;color:#4dabf7}.cockpit-fire{grid-column:span 8;min-height:160px}.cockpit-fire-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.fire-title{display:flex;gap:12px;align-items:center}.fire-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ff7a452e;color:#ff7a45;font-size:18px}.fire-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px}.fire-status-dot{width:6px;height:6px;border-radius:999px;background:#2ad68d;box-shadow:0 0 8px #2ad68d99}.cockpit-fire-layout{display:flex;flex-direction:column;gap:12px;margin-top:12px}.fire-metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fire-progress-block{display:grid;gap:6px}.fire-stats{display:grid;gap:10px}.fire-metric-box{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bg-navy-45);border:1px solid rgba(42,214,141,.18)}.fire-metric-value{font-size:18px;color:var(--text-primary);line-height:1.2}.fire-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.fire-age{display:flex;align-items:baseline;gap:8px;color:#ff7a45}.fire-age strong{font-size:48px;line-height:1}.fire-age span{font-size:14px;color:#f2a069}.fire-countdown{display:grid;gap:4px;font-size:13px;color:var(--text-primary)}.fire-countdown span{color:var(--text-secondary);font-size:12px}.fire-progress-meta{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:11px}.fire-progress-track{height:8px;border-radius:999px;background:var(--bg-navy-70);border:1px solid var(--overlay-08);overflow:hidden}.fire-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a45,#ffb37b)}.fire-chart{background:var(--bg-navy-35);border-radius:16px;padding:12px 12px 10px}.fire-chart>div>svg{width:100%;height:100%;min-height:180px}.cockpit-fire-chart-shell{display:grid;grid-template-columns:72px 1fr;gap:10px;min-height:185px}.cockpit-fire-chart-axis{display:flex;flex-direction:column;justify-content:space-between;color:var(--text-secondary);font-size:11px}.cockpit-fire-chart-axis .axis-label{margin-top:4px;font-size:10px;color:var(--text-secondary)}.cockpit-fire-chart-plot{border:1px solid var(--overlay-06);border-radius:12px;background:var(--bg-elevated);padding:8px;min-height:185px}.cockpit-fire-chart-plot svg{min-height:165px}.cockpit-fire-chart-x{margin-top:6px;display:flex;justify-content:space-between;color:var(--text-secondary);font-size:11px}.cockpit-fire-chart-axis-label{margin:4px 0 0;text-align:right;color:var(--text-secondary);font-size:10px}.cockpit-fire-chart-legend{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap}.fire-line{fill:none;stroke-width:3}.fire-line-blue{stroke:#3a7bff;filter:drop-shadow(0 0 10px rgba(58,123,255,.35))}.fire-line-green{stroke:#2ad68d;filter:drop-shadow(0 0 10px rgba(42,214,141,.35))}.debt-page{display:grid;gap:20px}.debt-header h2{margin:0;font-size:22px}.debt-header p{margin:6px 0 0;color:var(--text-secondary)}.debt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.debt-card{background:var(--bg-navy-85);border-radius:18px;padding:18px;border:1px solid var(--overlay-08);display:grid;gap:12px}.debt-card header h3{margin:0}.debt-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.debt-preview span{display:block;font-size:11px;color:var(--text-secondary)}.debt-preview strong{font-size:14px}.debt-table-wrapper{width:100%;overflow-x:auto}.debt-table{width:100%;border-collapse:collapse;font-size:12px}.debt-table th,.debt-table td{padding:10px 12px;border-bottom:1px solid var(--overlay-06);text-align:left}.debt-table th{font-size:11px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.08em}.debt-actions{display:flex;gap:8px;justify-content:flex-end}.cockpit-kicker{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#7ddfbb;margin-bottom:6px}.cockpit-delta{text-align:right;font-size:11px;color:var(--text-secondary);display:grid;gap:6px;background:var(--bg-navy-80);border-radius:999px;padding:10px 14px;border:1px solid rgba(45,214,141,.2)}.cockpit-delta strong{font-size:14px}.cockpit-chart{width:100%;height:180px;margin:4px 0 8px;background:linear-gradient(180deg,#080e184d,#080e1800);border-radius:14px;padding:8px}.cockpit-chart .chart-area{fill:#2ad68d29}.cockpit-chart .chart-line-path{filter:drop-shadow(0 0 8px rgba(42,214,141,.3))}.cockpit-category-bars{display:grid;gap:12px;margin:10px 0 6px}.cockpit-category-header{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary)}.cockpit-category-row{display:grid;gap:6px}.cockpit-category-label{display:flex;justify-content:space-between;font-size:13px;color:var(--text-primary)}.cockpit-category-track{position:relative;height:10px;border-radius:999px;background:var(--bg-navy-70);border:1px solid var(--overlay-08);overflow:hidden}.cockpit-category-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2ad68d,#4dabf7)}.cockpit-category-percent{position:absolute;right:8px;top:-18px;font-size:10px;color:var(--text-secondary)}.cockpit-list{display:grid;gap:10px}.cockpit-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bg-navy-70);border:1px solid var(--overlay-06)}.cockpit-list-row strong{display:block;font-size:13px}.cockpit-list-row span{display:block;font-size:12px;color:var(--text-secondary)}.subportfolio-list .cockpit-list-row{background:var(--bg-navy-75);border:1px solid var(--overlay-08)}.subportfolio-list .cockpit-list-row strong{font-size:15px;text-transform:uppercase;letter-spacing:.05em}.subportfolio-list .cockpit-list-row span{font-size:13px}.subportfolio-trend{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;letter-spacing:.01em}.subportfolio-trend .trend-arrow{font-size:14px}.subportfolio-list .subportfolio-trend.pos{color:#2ad68d}.subportfolio-list .subportfolio-trend.neg{color:#ff7b7b}.subportfolio-list .cockpit-list-metric{gap:2px}.subportfolio-list .cockpit-list-row strong+span{font-size:11px;color:var(--text-secondary)}.cockpit-item-title{display:flex;align-items:center;gap:10px}.cockpit-icon{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#121c2cb3;border:1px solid var(--overlay-08);box-shadow:inset 0 0 12px #0000004d}.cockpit-icon.rental-icon{background:linear-gradient(135deg,#4478ffe6,#2745b4e6)}.cockpit-icon.reit-icon{background:linear-gradient(135deg,#9b52ffe6,#6128a8e6)}.cockpit-icon img{width:16px;height:16px;object-fit:contain;filter:brightness(1.2)}.cockpit-list-metric{text-align:right;display:grid;gap:4px;font-size:12px}.cockpit-metric{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--text-secondary)}.cockpit-metric strong{color:var(--text-primary);font-size:14px}.cockpit-progress{display:grid;gap:6px}.cockpit-fire-progress{display:grid;gap:8px}.fire-track{position:relative;overflow:hidden}.fire-track .bar-fill{position:absolute;height:100%;left:0;top:0}.fire-track .fire-coast{background:linear-gradient(90deg,#2ad68de6,#2ad68d8c)}.fire-track .fire-target{background:linear-gradient(90deg,#ff7676e6,#ff767666)}.fire-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.cockpit-income-box{background:var(--bg-navy-75);border:1px solid rgba(42,214,141,.25);border-radius:12px;padding:12px;text-align:center;display:grid;gap:4px}.cockpit-income-box strong{color:#2ad68d;font-size:22px}.realestate-total-box{text-align:left;border-color:var(--overlay-10)}.realestate-ytd-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;color:#9fb4d8;background:#17243ae6;border:1px solid var(--overlay-10)}.realestate-assets-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8fa3c7}.realestate-list{gap:12px}.realestate-row{padding:12px 14px;background:var(--bg-navy-80);border:1px solid var(--overlay-08)}.realestate-row .cockpit-item-title{align-items:flex-start}.realestate-row .cockpit-item-title strong{font-size:13px;color:var(--text-primary)}.realestate-row .cockpit-item-title span{font-size:11px;color:var(--text-secondary)}.realestate-metric-line{display:block;line-height:1.35}.realestate-metric-label{color:var(--text-secondary);font-weight:500}.realestate-metric-value{color:#2ad68d;font-weight:700}.realestate-row .cockpit-list-metric{font-size:12px}.realestate-amount{color:#2ad68d;font-weight:700;font-size:12px}.view-details-link{appearance:none;width:100%;background:var(--bg-navy-75);border:1px solid var(--overlay-10);border-radius:12px;padding:10px 12px;text-align:center;margin-top:6px;color:#2ad68d;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s,border-color .2s,background .2s}.view-details-link:hover{opacity:.95;border-color:#2ad68d73;background:#101c30eb}.cockpit-icon svg{color:#2ad68d}.rental-icon svg{color:#2ad68d}.reit-icon svg{color:#2ad68d}.cockpit-debt-card{background:var(--bg-navy-75);border:1px solid var(--overlay-06);border-radius:12px;padding:12px;display:grid;gap:8px}.cockpit-debt-card .debt-header strong{display:block;font-size:14px}.cockpit-debt-card .debt-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cockpit-debt-card .debt-metric span{display:block;font-size:11px;color:var(--text-secondary)}.cockpit-debt-card .debt-metric strong{display:block;font-size:15px;color:var(--text-primary)}.debt-progress .debt-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}@media(max-width:1000px){.top-bar{flex-direction:column;align-items:flex-start}.actions{width:100%;justify-content:flex-start}.login-page{grid-template-columns:1fr;padding:10px 20px 28px;gap:18px}.login-topbar-shell{margin:0;width:100%}.login-topbar{border-radius:0;padding:12px 14px}.login-brand{letter-spacing:.08em;font-size:12px}.login-actions .ghost-btn,.login-actions .primary-btn{padding:8px 12px;font-size:12px}.login-hero{padding:26px 10px;gap:14px;min-height:0;max-width:560px}.login-hero h1{font-size:clamp(36px,9.5vw,56px)}.login-hero p{font-size:clamp(18px,5.8vw,28px);max-width:none}.hero-stat h4{font-size:19px}.hero-stat span{font-size:12px}.login-cta-mobile{display:block;margin-top:6px}.login-card{border-radius:20px;padding:20px 16px}.table .row,.table.compact .row{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-table .row,.cockpit-grid{grid-template-columns:1fr}.cockpit-performance,.cockpit-subportfolios,.cockpit-summary,.cockpit-budget,.cockpit-networth,.cockpit-realestate,.cockpit-debt,.cockpit-fire{grid-column:span 1}.fire-metrics-row{grid-template-columns:1fr}}.cockpit-page{display:flex;flex-direction:column;gap:16px;padding:0 0 40px}.ck2-hero-v2{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:stretch}.ck2-kpis-v{display:flex;flex-direction:column;gap:8px}.ck2-kpi-v{background:var(--bg-elevated);border:1px solid var(--overlay-07);border-radius:14px;padding:12px 16px;display:flex;gap:10px;align-items:center;cursor:pointer;transition:border-color .15s,transform .1s;flex:1}.ck2-kpi-v:hover{border-color:var(--overlay-16);transform:translate(2px)}.ck2-kpi-v-icon{font-size:22px;line-height:1;flex-shrink:0}.ck2-kpi-v-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.ck2-kpi-v-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.ck2-kpi-v-delta{font-size:11px;color:var(--text-secondary);margin-top:2px}.ck2-kpi-v-delta.pos{color:#2ad68d}.ck2-kpi-v-delta.neg{color:#f87171}.ck2-hero-right{background:var(--bg-elevated);border:1px solid rgba(42,214,141,.15);border-radius:20px;padding:20px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 40px #04081466,inset 0 1px 0 var(--overlay-06)}.ck2-hero-right-header{display:flex;justify-content:space-between;align-items:flex-start}.ck2-hero-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.ck2-hero-value{font-size:38px;font-weight:700;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.ck2-hero-value.neg{color:#f87171}.ck2-hero-sparkline{display:flex;flex-direction:column;gap:2px;align-self:flex-start;width:100%}.ck2-hero-sparkline svg{width:100%;height:auto;display:block}.ck2-sparkline-empty{display:flex;align-items:center;justify-content:center;opacity:.4}@media(max-width:1100px){.ck2-hero-v2{grid-template-columns:1fr}.ck2-kpis-v{flex-direction:row;flex-wrap:wrap}.ck2-kpi-v{flex:1 1 140px;min-width:140px}}@media(max-width:720px){.ck2-kpi-v-value{font-size:15px}}.ck2-hero,.ck2-kpis{display:none}.ck2-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.ck2-kpi{background:var(--bg-elevated);border:1px solid var(--overlay-07);border-radius:14px;padding:14px 16px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:border-color .15s,transform .1s}.ck2-kpi:hover{border-color:var(--overlay-16);transform:translateY(-1px)}.ck2-kpi-icon{font-size:20px;line-height:1;margin-top:2px;flex-shrink:0}.ck2-kpi-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.ck2-kpi-value{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.2}.ck2-kpi-delta{font-size:11px;color:var(--text-secondary);margin-top:3px}.ck2-kpi-delta.pos{color:#2ad68d}.ck2-kpi-delta.neg{color:#f87171}.ck2-main{display:grid;grid-template-columns:1fr 1.6fr;gap:14px;align-items:start}.ck2-panel-left{display:flex;flex-direction:column;gap:14px}.ck2-alloc-body{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:start;margin-top:8px}.ck2-donut{width:90px;height:90px}.ck2-alloc-bars{display:flex;flex-direction:column;gap:6px}.ck2-bar-row{display:grid;grid-template-columns:90px 1fr 100px;gap:6px;align-items:center;font-size:11px}.ck2-bar-label{display:flex;align-items:center;gap:4px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck2-bar-track{height:5px;background:var(--overlay-06);border-radius:3px;overflow:hidden}.ck2-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.ck2-bar-nums{display:flex;justify-content:space-between}.ck2-bar-pct{color:var(--text-secondary)}.ck2-bar-val{color:var(--text-primary);font-weight:600}.ck2-subs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.ck2-sub-card{background:var(--overlay-03);border:1px solid var(--overlay-07);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s}.ck2-sub-card:hover{border-color:var(--overlay-14)}.ck2-sub-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.ck2-sub-value{font-size:14px;font-weight:700;color:var(--text-primary)}.ck2-sub-delta{font-size:11px;margin-top:2px}.ck2-sub-delta.pos{color:#2ad68d}.ck2-sub-delta.neg{color:#f87171}.ck2-fire{min-height:0}.ck2-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.ck2-health{margin-top:8px}@media(max-width:1100px){.ck2-hero{grid-template-columns:1fr auto}.ck2-hero-sparkline{display:none}.ck2-kpis{grid-template-columns:repeat(3,1fr)}.ck2-main,.ck2-bottom{grid-template-columns:1fr}}@media(max-width:720px){.ck2-hero{grid-template-columns:1fr}.ck2-hero-share{display:none}.ck2-kpis{grid-template-columns:repeat(2,1fr)}.ck2-hero-value{font-size:30px}}@media(max-width:720px){.nav{width:100%;overflow-x:auto}.portfolio-strip{flex-wrap:wrap}.login-topbar-shell{margin:0;width:100%}.login-topbar{align-items:flex-start}.login-topbar .ghost-btn:not(.lang-btn),.login-topbar .primary-btn{display:none}.login-brand img{width:34px;height:34px}.login-actions{width:100%;justify-content:flex-start;gap:8px}.login-actions .lang-picker{margin-left:auto}.login-page{padding:8px 12px 22px;border-radius:0}.login-page{background:linear-gradient(180deg,#040a1724,#040a1757),url(/landing_mobile_generated.svg);background-size:cover;background-position:center center;background-repeat:no-repeat}.mobile-hero-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.06em;font-size:17px;color:var(--text-primary)}.mobile-hero-brand img{width:40px;height:40px;border-radius:50%;border:2px solid rgba(134,255,188,.5)}.login-hero{padding:22px 12px 12px;min-height:0}.login-hero h1{font-size:clamp(28px,10vw,48px);line-height:.95}.login-hero p{font-size:clamp(14px,4.4vw,22px);line-height:1.35}.hero-actions .primary-btn{width:100%}.hero-stats{grid-template-columns:1fr;row-gap:10px}.login-card{display:none}.auth-modal-card{display:grid}.login-cta-mobile{display:grid;gap:12px;margin-top:18px}.login-cta-mobile p{text-align:center;color:#96accf;font-size:16px}.login-cta-mobile .link{background:none;border:none;color:#2de18e;font-weight:700;padding:0;margin-left:4px;font-size:16px}}.admin-backoffice{display:flex;flex-direction:column;gap:24px}.admin-header{display:flex;flex-direction:column;gap:8px}.admin-header h2{font-size:28px;font-weight:700;margin:0;color:var(--text-primary)}.admin-header p{color:var(--text-secondary);font-size:14px;margin:0}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--overlay-08);padding-bottom:8px}.admin-tabs button{padding:10px 20px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s ease;position:relative}.admin-tabs button:hover{background:#2ad68d1a;color:#2ad68d}.admin-tabs button.active{color:#2ad68d;background:#2ad68d26}.admin-tabs button.active:after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:2px;background:#2ad68d}.excel-ticker-list{background:var(--bg-navy-60);border-radius:8px;padding:16px;border:1px solid var(--overlay-08)}.excel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px;flex-wrap:wrap}.excel-header strong{color:var(--text-primary);font-size:14px}.ticker-chips{display:flex;flex-wrap:wrap;gap:8px}.ticker-chip{background:#2ad68d26;border:1px solid rgba(42,214,141,.3);color:#2ad68d;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;font-family:Courier New,monospace}.admin-section{background:var(--bg-navy-75);border-radius:16px;padding:20px;border:1px solid var(--overlay-08);display:flex;flex-direction:column;gap:16px}.admin-section h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.admin-summary-section{background:var(--bg-elevated)}.admin-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-summary-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ticker-update-progress{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#2ad68d1f;border:1px solid rgba(42,214,141,.35);color:#b8f7d8;font-size:12px;font-weight:600}.ticker-update-spinner{width:10px;height:10px;border-radius:999px;border:2px solid rgba(42,214,141,.2);border-top-color:#2ad68d;animation:ticker-spin .9s linear infinite}.ticker-update-bar{margin-top:12px}.ticker-update-bar__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-primary);margin-bottom:6px}.ticker-update-bar__track{position:relative;width:100%;height:8px;border-radius:999px;background:var(--overlay-08);overflow:hidden}.ticker-update-bar__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2ad68d,#1fb8ff);transition:width .3s ease}@keyframes ticker-spin{to{transform:rotate(360deg)}}.admin-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:16px}.admin-summary-card{background:var(--bg-navy-60);border:1px solid var(--overlay-08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.summary-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:24px;font-weight:700;color:#2ad68d}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:center}.admin-form input,.admin-form select{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-size:14px}.admin-textarea{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:8px;padding:12px 14px;color:var(--text-primary);font-size:13px;font-family:Courier New,monospace;resize:vertical;min-height:150px}.admin-search-form{display:flex;gap:8px;align-items:center}.admin-search-form input{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:14px;min-width:200px}.admin-table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--overlay-08)}.admin-table{width:100%;border-collapse:collapse;background:var(--bg-navy-60)}.admin-table thead{background:var(--bg-navy-80)}.admin-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--overlay-08)}.admin-table .column-static{background:#ff913c1f}.admin-table .column-semi{background:#ff5a5a1f}.admin-table .sort-btn{background:transparent;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.admin-table .sort-btn:hover{color:#a7c5e6}.admin-table td{padding:12px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--overlay-04)}.admin-table tbody tr:hover{background:#2ad68d0d}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 8px;font-size:12px;color:var(--text-secondary)}.admin-pagination-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-pagination-page{color:var(--text-primary);font-weight:600}.inline-select{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:8px;padding:6px 10px;color:var(--text-primary);font-size:12px}.delete-btn-small{border:1px solid rgba(255,107,107,.4);background:#ff6b6b1a;color:#ff6b6b;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.delete-btn-small:hover{background:#ff6b6b33;border-color:#ff6b6b}.api-provider-card{background:var(--bg-navy-85);border:1px solid var(--overlay-12)}.api-provider-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.api-provider-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.badge-active{background:#2ad68d33;border:1px solid #2ad68d;color:#2ad68d;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-free{background:#4a90e233;border:1px solid #4a90e2;color:#4a90e2;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.api-provider-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;padding:16px;background:var(--bg-navy-60);border-radius:8px}.api-detail-item{display:flex;flex-direction:column;gap:4px}.api-detail-item strong{color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.api-detail-item span{color:var(--text-primary);font-size:14px}.status-ok{color:#2ad68d!important}.status-error{color:#ff6b6b!important}.api-config-hint{margin-top:16px;padding:12px 16px;background:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:8px}.api-config-hint strong{color:orange;display:block;margin-bottom:8px}.api-config-hint p{color:var(--text-primary);font-size:13px;margin:0;line-height:1.6}.api-config-hint code{background:var(--bg-navy-80);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;color:#2ad68d}.current-provider-badge{padding:12px 16px;background:#2ad68d26;border:1px solid rgba(42,214,141,.3);border-radius:8px;color:var(--text-primary);font-size:14px}.current-provider-badge strong{color:#2ad68d;margin-right:8px}.config-instructions{display:flex;flex-direction:column;gap:12px}.config-instructions p{margin:0;color:var(--text-primary);font-size:14px}.config-instructions code{background:var(--bg-navy-80);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;color:#2ad68d}.config-example{background:var(--bg-navy-80);border:1px solid var(--overlay-12);border-radius:8px;padding:16px;color:var(--text-primary);font-family:Courier New,monospace;font-size:13px;overflow-x:auto;white-space:pre;margin:0}@media(max-width:768px){.admin-form-row{grid-template-columns:1fr}.admin-section-header{flex-direction:column;align-items:stretch}.admin-search-form{flex-direction:column}.admin-search-form input{min-width:100%}.api-provider-header{flex-direction:column}.api-provider-details{grid-template-columns:1fr}}.inst-search-input{width:100%;box-sizing:border-box;padding:10px 14px;background:var(--bg-navy-60);border:1px solid var(--overlay-12);border-radius:8px;color:var(--text-primary);margin-bottom:8px}.inst-search-input:focus{outline:none;border-color:#3b82f6;background:var(--bg-navy-80)}.inst-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px}.inst-list-loading,.inst-list-empty{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.inst-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:8px;background:var(--overlay-03);border:1px solid transparent;width:100%;text-align:left;cursor:pointer;transition:all .2s;color:var(--text-primary)}.inst-item:hover{background:var(--overlay-06)}.inst-item.selected{background:#3b82f626;border-color:#3b82f666}.inst-logo{width:32px;height:32px;flex-shrink:0;background:var(--bg-elevated);border-radius:6px;display:grid;place-items:center;overflow:hidden}.inst-logo img{width:100%;height:100%;object-fit:contain}.inst-logo span{font-weight:700;color:var(--text-secondary);text-transform:uppercase}.inst-info{flex:1;display:flex;flex-direction:column}.inst-info strong{font-size:14px;font-weight:500}.inst-check{color:#3b82f6;font-weight:700}.real-estate-table.rental-table .row{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.data-source-toggle{display:flex;gap:8px;margin-top:8px}.toggle-btn{flex:1;padding:10px 16px;border:1px solid var(--overlay-10);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:var(--overlay-05)}.toggle-btn.active{background:#2ad68d26;border-color:#2ad68d66;color:#2ad68d}.data-source-hint{margin-top:8px;font-size:12px;color:var(--text-muted);line-height:1.4}.bank-connection-flow{padding:16px 0}.bank-header{margin-bottom:16px}.bank-header h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.bank-header p{font-size:13px;color:var(--text-muted);margin:0}.bank-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;margin-bottom:16px;color:#f87171;font-size:13px}.bank-search{width:100%;box-sizing:border-box;padding:10px 14px;background:var(--bg-navy-50);border:1px solid var(--overlay-08);border-radius:10px;color:var(--text-primary);font-size:14px;margin-bottom:12px}.bank-search:focus{outline:none;border-color:#2ad68d}.bank-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.bank-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text-secondary)}.bank-item{display:flex;align-items:center;gap:12px;padding:12px;background:#161e2e99;border:1px solid var(--overlay-06);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.bank-item:hover:not(:disabled){background:var(--overlay-06);border-color:var(--overlay-10)}.bank-item:disabled{opacity:.6;cursor:not-allowed}.bank-item.connecting{background:#2ad68d1a;border-color:#2ad68d4d}.bank-logo{width:40px;height:40px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--overlay-05);display:flex;align-items:center;justify-content:center}.bank-logo img{width:100%;height:100%;object-fit:contain}.bank-logo span{font-weight:700;font-size:16px;color:var(--text-secondary)}.bank-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.bank-empty{padding:24px;text-align:center;color:var(--text-muted)}.bank-hosted-separator{display:flex;align-items:center;gap:8px;margin:8px 0 4px;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.bank-hosted-separator:before,.bank-hosted-separator:after{content:"";flex:1;height:1px;background:var(--overlay-08)}.bank-item--hosted{opacity:.8;border-style:dashed}.bank-item--hosted:hover:not(:disabled){opacity:1;border-style:solid}.bank-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--overlay-06)}.bank-footer small{font-size:11px;color:var(--text-muted);line-height:1.5}.coverage-section{margin-top:16px;border-top:1px solid var(--overlay-06);padding-top:12px}.coverage-toggle{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 0;text-align:left;width:100%}.coverage-toggle:hover{color:var(--text-secondary)}.coverage-list{margin-top:10px;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.coverage-item{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.coverage-name{flex:1}.coverage-tags{display:flex;gap:4px}.coverage-tag{font-size:10px;padding:1px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.coverage-tag--sync{background:#3b82f626;color:#60a5fa}.coverage-tag--file{background:#10b9811f;color:#34d399}.coverage-tag--none{background:#64748b26;color:var(--text-muted)}.hosted-flow-info{background:var(--overlay-03);border:1px solid var(--overlay-08);border-radius:8px;padding:16px;margin-bottom:16px}.hosted-flow-info p{font-size:14px;color:var(--text-primary);margin:0 0 12px}.hosted-flow-info ul{margin:0;padding-left:20px}.hosted-flow-info li{font-size:13px;color:var(--text-muted);margin-bottom:6px}.hosted-flow-info li:last-child{margin-bottom:0}.connect-bank-btn{width:100%;padding:14px 24px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.connect-bank-btn .spinner.small{width:18px;height:18px;border-width:2px}.bank-sync-status{padding:16px 0}.bank-sync-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bank-sync-header h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.btn-add-bank{padding:8px 14px;background:#2ad68d26;border:1px solid rgba(42,214,141,.3);border-radius:8px;color:#2ad68d;font-size:13px;cursor:pointer;transition:all .2s}.btn-add-bank:hover{background:#2ad68d40}.bank-empty-state{text-align:center;padding:32px;color:var(--text-muted)}.bank-empty-state p{margin-bottom:16px}.bank-connections-list{display:flex;flex-direction:column;gap:12px}.bank-connection-card{background:#161e2e99;border:1px solid var(--overlay-06);border-radius:12px;overflow:hidden}.bank-connection-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;transition:background .2s}.bank-connection-header:hover{background:var(--overlay-03)}.bank-connection-logo{width:40px;height:40px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--overlay-05);display:flex;align-items:center;justify-content:center}.bank-connection-logo img{width:100%;height:100%;object-fit:contain}.bank-connection-logo span{font-weight:700;font-size:16px;color:var(--text-secondary)}.bank-connection-info{flex:1;display:flex;flex-direction:column;gap:4px}.bank-connection-info strong{font-size:14px;font-weight:500;color:var(--text-primary)}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;width:fit-content}.status-badge.status-active{background:#2ad68d26;color:#2ad68d}.status-badge.status-pending{background:#fbbf2426;color:#fbbf24}.status-badge.status-expired{background:#ef444426;color:#f87171}.status-badge.status-revoked{background:#6b728026;color:var(--text-muted)}.bank-connection-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bank-connection-meta small{font-size:11px;color:var(--text-muted)}.expand-icon{color:var(--text-muted);font-size:10px;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.bank-connection-details{border-top:1px solid var(--overlay-06);padding:16px}.bank-accounts-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-secondary)}.bank-accounts-list{display:flex;flex-direction:column;gap:12px}.bank-account-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-navy-40);border-radius:8px}.bank-account-info{display:flex;flex-direction:column;gap:4px}.bank-account-info strong{font-size:14px;font-weight:500;color:var(--text-primary)}.bank-account-info small{font-size:12px;color:var(--text-muted);font-family:monospace}.bank-account-balance{font-size:13px;color:#2ad68d;font-weight:500}.bank-account-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.bank-account-actions small{font-size:11px;color:var(--text-muted)}.btn-sync{padding:6px 12px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-sync:hover:not(:disabled){background:#3b82f640}.btn-sync:disabled{opacity:.6;cursor:not-allowed}.sync-result{font-size:11px;color:#2ad68d}.btn-sync--error{background:#ef444426;color:#f87171;border-color:#ef44444d}.btn-sync--error:hover:not(:disabled){background:#ef444440}.bank-account-sync-error{display:block;color:#f87171;font-size:11px;margin-top:2px;line-height:1.4}.bank-account-name-row{display:flex;align-items:center;gap:8px}.account-sync-state{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:3px}.account-sync-state--never{background:#64748b26;color:var(--text-muted)}.account-sync-state--synced{background:#10b9811f;color:#34d399}.account-sync-state--failed{background:#ef44441f;color:#f87171}.bank-account-item--failed{border-left:2px solid rgba(239,68,68,.4);padding-left:8px}.btn-retry-callback{padding:5px 10px;background:#fbbf241f;color:#fbbf24;border:1px solid rgba(251,191,36,.25);border-radius:6px;font-size:12px;cursor:pointer;font-weight:500}.btn-retry-callback:hover:not(:disabled){background:#fbbf2433}.btn-retry-callback:disabled{opacity:.6;cursor:not-allowed}.bank-connection-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--overlay-06)}.btn-disconnect{padding:8px 14px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:12px;cursor:pointer;transition:all .2s}.btn-disconnect:hover{background:#ef444426}.consent-expiry{font-size:11px;color:var(--text-muted)}.openbanking-callback{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.callback-card{background:#161e2ecc;border:1px solid var(--overlay-06);border-radius:16px;padding:48px;text-align:center;max-width:400px;width:100%}.callback-spinner{margin-bottom:24px}.callback-card h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.callback-card p{font-size:14px;color:var(--text-secondary);margin:0}.callback-hint{margin-top:16px!important;font-size:13px!important;color:var(--text-muted)!important}.callback-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 24px}.callback-icon.success{background:#2ad68d26;color:#2ad68d}.callback-icon.error{background:#ef444426;color:#f87171}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--overlay-10);border-top-color:#2ad68d;border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}.spinner.large{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.admin-openbanking{padding:20px 0}.admin-openbanking h3{color:var(--text-primary);margin-bottom:8px}.admin-openbanking .section-description{color:var(--text-secondary);margin-bottom:24px}.admin-openbanking .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:8px;margin-bottom:20px}.providers-grid{display:grid;gap:20px;margin-bottom:32px}.provider-card{background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:12px;padding:20px;transition:border-color .2s}.provider-card.enabled{border-color:#2ad68d4d}.provider-card.disabled{opacity:.8}.provider-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.provider-info h4{color:var(--text-primary);margin:0 0 4px;font-size:1.1rem}.provider-info p{color:var(--text-secondary);margin:0 0 8px;font-size:.9rem}.provider-info a{color:#3b82f6;font-size:.85rem;text-decoration:none}.provider-info a:hover{text-decoration:underline}.status-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge.configured{background:#2ad68d26;color:#2ad68d}.status-badge.not-configured{background:#ef444426;color:#ef4444}.status-badge.completed{background:#2ad68d26;color:#2ad68d}.status-badge.running{background:#3b82f626;color:#3b82f6}.status-badge.failed{background:#ef444426;color:#ef4444}.provider-details{border-top:1px solid var(--overlay-10);padding-top:16px}.credentials-section h5{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;margin:0 0 8px}.credential-info{display:flex;align-items:center;gap:12px}.credential-hint{font-family:Fira Code,monospace;background:var(--overlay-05);padding:4px 8px;border-radius:4px;color:var(--text-secondary);font-size:.85rem}.missing-creds{color:#f59e0b;font-size:.85rem}.no-credentials p{color:var(--text-secondary);margin:0 0 4px;font-size:.9rem}.env-vars code{font-family:Fira Code,monospace;background:var(--overlay-05);padding:2px 6px;border-radius:4px;font-size:.8rem;color:#3b82f6}.provider-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{width:44px;height:24px;background:#475569;border-radius:12px;position:relative;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:#2ad68d}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-label{color:var(--text-secondary);font-size:.9rem}.test-btn{background:#3b82f6;color:var(--text-primary);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.test-btn:hover:not(:disabled){background:#2563eb}.test-btn:disabled{opacity:.6;cursor:not-allowed}.sandbox-toggle{display:flex;align-items:center;gap:8px}.sandbox-toggle-label{font-size:.82em;color:var(--text-secondary, #8899aa);white-space:nowrap}.sandbox-segment{display:inline-flex;border:1px solid var(--border-color, #334155);border-radius:6px;overflow:hidden}.sandbox-btn{padding:4px 12px;font-size:.82em;font-weight:500;background:transparent;color:var(--text-secondary, #8899aa);border:none;cursor:pointer;transition:background .15s,color .15s}.sandbox-btn+.sandbox-btn{border-left:1px solid var(--border-color, #334155)}.sandbox-btn.active{background:#3b82f6;color:var(--text-primary)}.sandbox-btn:hover:not(:disabled):not(.active){background:#3b82f61f;color:#3b82f6}.sandbox-btn:disabled{opacity:.5;cursor:not-allowed}.test-result{margin-top:16px;padding:12px 16px;border-radius:8px}.test-result.ok{background:#2ad68d1a;border:1px solid rgba(42,214,141,.3)}.test-result.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.test-result strong{color:var(--text-primary);display:block;margin-bottom:4px}.test-result p{color:var(--text-secondary);margin:0;font-size:.9rem}.sample-banks{margin-top:8px}.sample-banks small{color:var(--text-muted);font-size:.8rem}.sample-banks ul{margin:4px 0 0 16px;padding:0;list-style:disc}.sample-banks li{color:var(--text-secondary);font-size:.85rem}.stats-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--overlay-10)}.stats-section h3{margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:8px;padding:16px}.stat-card h4{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;margin:0 0 8px}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:600}.stat-list{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.9rem}.stat-item .count{color:var(--text-primary);font-weight:500}.recent-syncs h4{color:var(--text-primary);margin-bottom:12px}.syncs-table{width:100%;border-collapse:collapse;font-size:.9rem}.syncs-table th{text-align:left;padding:12px;background:var(--bg-elevated);color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--overlay-10)}.syncs-table td{padding:12px;color:var(--text-primary);border-bottom:1px solid var(--overlay-05)}.syncs-table .error-cell{color:#ef4444;font-size:.8rem}.help-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--overlay-10)}.help-section h4{color:var(--text-primary);margin-bottom:16px}.instructions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.instruction-block{background:var(--bg-elevated);border:1px solid var(--overlay-10);border-radius:8px;padding:16px}.instruction-block h5{color:var(--text-primary);margin:0 0 12px}.instruction-block ol{margin:0;padding-left:20px;color:var(--text-secondary)}.instruction-block li{margin-bottom:8px;line-height:1.5}.instruction-block a{color:#3b82f6;text-decoration:none}.instruction-block a:hover{text-decoration:underline}.instruction-block pre{background:var(--bg-elevated);padding:12px;border-radius:6px;margin:8px 0;overflow-x:auto;font-family:Fira Code,monospace;font-size:.8rem;color:var(--text-secondary)}.instruction-block code{font-family:Fira Code,monospace;background:var(--overlay-05);padding:2px 6px;border-radius:4px;font-size:.85rem;color:#3b82f6}.instruction-block--disabled{opacity:.6;border-left:3px solid #64748b}.provider-standby-badge{display:inline-block;background:var(--bg-elevated);color:var(--text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;margin-left:10px;vertical-align:middle}.provider-standby-note{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin:8px 0 0}.tax-report-page{display:flex;flex-direction:column;gap:16px}.tax-report-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.tax-report-header h2{margin:0;color:var(--text-primary)}.tax-report-header p{margin:6px 0 0;color:var(--text-secondary)}.tax-report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tax-report-select{min-width:160px;border-radius:10px;border:1px solid var(--overlay-16);background:var(--bg-elevated);color:var(--text-primary);padding:9px 12px}.tax-report-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tax-report-grid .cockpit-card h3{margin:0 0 8px;font-size:.95rem;color:var(--text-secondary)}.tax-report-grid .cockpit-card strong{font-size:1.45rem;color:var(--text-primary)}.tax-report-summary-table h3,.tax-report-by-ticker h3{margin-top:0}.tax-report-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.15)}.tax-report-row span{color:var(--text-secondary)}.tax-report-row strong{color:var(--text-primary)}.tax-report-table-wrap{overflow-x:auto}.tax-report-disclaimer{margin-top:10px;font-size:.85rem;color:var(--text-secondary)}.tax-report-error{color:#f87171;margin:0}.tax-report-section{margin-bottom:28px}.tax-report-section-title{display:flex;align-items:center;gap:10px;margin:0 0 4px;color:var(--text-primary)}.tax-report-section-hint{margin:0 0 12px;font-size:.85rem;color:var(--text-secondary)}.tax-report-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.tax-report-badge-precise{background:#22c55e26;color:#4ade80}.tax-report-badge-estimate{background:#fbbf2426;color:#fbbf24}.tax-report-warning{margin:0 0 12px;padding:8px 12px;border-radius:8px;background:#fbbf241a;color:#fbbf24;font-size:.85rem}.tax-report-upgrade .plan-upgrade-banner{margin-top:10px}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.skeleton-block{background:var(--overlay-08);animation:skeleton-pulse 1.6s ease-in-out infinite}.skeleton-rows{display:flex;flex-direction:column}.skeleton-table{display:flex;flex-direction:column;gap:10px}.skeleton-table-row{display:flex;gap:16px;align-items:center}.skeleton-table-row .skeleton-block{flex:1}.skeleton-card{display:flex;flex-direction:column}.empty-state-icon{font-size:2rem;margin-bottom:4px;opacity:.5}.empty-state-title{font-weight:600;color:var(--text-primary);margin:0}.empty-state-description{font-size:.85rem;color:var(--text-muted);margin:0}.empty-state-action{margin-top:8px}.notifications-page{max-width:720px;margin:0 auto;padding:24px 16px}.notifications-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.notifications-header-actions{display:flex;align-items:center;gap:10px}.notifications-list{display:flex;flex-direction:column;gap:8px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:var(--overlay-03);border:1px solid var(--overlay-06);transition:background .15s}.notification-item.unread{background:#2ad68d0d;border-color:#2ad68d1f}.notification-icon{font-size:20px;flex-shrink:0;line-height:1;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.notification-body{font-size:13px;color:var(--text-secondary);margin:0 0 6px}.notification-time{font-size:11px;color:var(--text-muted)}.notification-item-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.notification-read-btn{flex-shrink:0;font-size:16px;opacity:.6}.notification-read-btn:hover{opacity:1}.notification-delete-btn{flex-shrink:0;font-size:14px;opacity:.4}.notification-delete-btn:hover{opacity:1;color:#ff7f7f}.notification-item.actionable{cursor:pointer}.notification-item.actionable:hover{background:#4dabf714;border-color:#4dabf740}.notification-btn{display:inline-flex;align-items:center;justify-content:center}.notification-btn-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.notification-btn .notification-badge{top:-6px;right:-6px}.banking-shared-view{margin-top:8px}.banking-shared-intro{color:#9fb4d3;font-size:.88rem;line-height:1.5;background:#4dabf70f;border:1px solid rgba(77,171,247,.16);border-radius:10px;padding:12px 14px;margin:0 0 16px}.import-file-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.import-file-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(77,208,225,.28);background:#081734d9;color:var(--text-primary);font-size:12px}.revolut-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.revolut-preview-card{border:1px solid rgba(77,208,225,.16);border-radius:18px;padding:16px;background:var(--bg-elevated)}.revolut-preview-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.revolut-preview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.revolut-preview-metrics>div{display:flex;flex-direction:column;gap:6px}.revolut-preview-metrics span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#b4c9eeb8}.checkbox-inline{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px}.muted-text{color:#b4c9eeb8;font-size:12px;line-height:1.5}.import-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.import-card-header h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.import-card-header p{margin:0;font-size:12px;color:#b4c9eeb8}.import-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.import-preview-block{display:grid;gap:12px}.import-preview-block h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-primary)}.import-preview-table th{padding:6px 10px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#b4c9eeb8;border-bottom:1px solid var(--overlay-08)}.import-preview-table td{padding:8px 10px;border-bottom:1px solid var(--overlay-05);vertical-align:middle}.import-preview-table tbody tr:last-child td{border-bottom:none}.ab-holdings-file-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ab-holdings-file-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b4c9eeb8}.ab-holdings-file-label input[type=file]{font-size:12px;color:var(--text-primary)}.ab-holdings-file-placeholder{font-size:12px;color:#b4c9ee73;font-style:italic}.ab-holdings-warning{padding:8px 12px;border-radius:8px;background:#ffc4391a;border:1px solid rgba(255,196,57,.25);color:#fbbf24;font-size:12px;line-height:1.5}.ab-holdings-balance-flag{color:#fbbf24}.error-message{padding:10px 14px;border-radius:10px;background:#dc26261f;border:1px solid rgba(220,38,38,.3);color:#fca5a5;font-size:13px}.success-message{padding:10px 14px;border-radius:10px;background:#2ad68d1a;border:1px solid rgba(42,214,141,.25);color:#6ee7b7;font-size:13px}.warning-message{padding:10px 14px;border-radius:10px;background:#ffc4391a;border:1px solid rgba(255,196,57,.25);color:#fbbf24;font-size:13px}.positive-value{color:#2ad68d}.negative-value{color:#f87171}.upi-prompt-pre{font-size:11px;white-space:pre-wrap;word-break:break-word;color:#b4c9eed9;background:var(--bg-navy-50);border-radius:8px;padding:10px 12px;max-height:260px;overflow-y:auto;margin:0;line-height:1.55}.insights-page{max-width:1100px}.insights-header{align-items:flex-end;gap:12px}.insights-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary)}.insights-summary span{padding:4px 10px;border-radius:999px;border:1px solid var(--overlay-12);background:var(--overlay-04)}.insights-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.insights-preferences{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px;padding:10px 12px;border-radius:10px;border:1px solid var(--overlay-12);background:var(--overlay-03);font-size:12px;color:var(--text-primary)}.insights-preferences label{display:inline-flex;align-items:center;gap:6px}.insights-filters select{min-width:170px;border-radius:10px;border:1px solid var(--overlay-16);background:var(--bg-elevated);color:var(--text-primary);padding:8px 12px}.insight-item{justify-content:space-between;gap:14px}.insight-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.insight-actions .ghost-btn{min-height:32px;font-size:12px;padding:6px 10px}.insight-score{margin-left:8px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#95f2cd;border:1px solid rgba(42,214,141,.35);background:#2ad68d1f}.insight-explain-card{margin:10px 0 0;padding:10px 12px;border-radius:10px;border:1px solid var(--overlay-12);background:var(--bg-navy-75)}.insight-explain-row{margin:0 0 6px;color:var(--text-primary);font-size:12px;line-height:1.45;word-break:break-word}.insight-explain-row:last-child{margin-bottom:0}.insight-explain-label{font-weight:700;color:var(--text-primary)}.insight-item.state-applied{border-color:#2ad68d40;background:#2ad68d14}.insight-item.state-ignored{opacity:.82}@media(max-width:860px){.insight-item{flex-direction:column;align-items:stretch}.insight-actions{justify-content:flex-start}.insights-header{flex-direction:column;align-items:flex-start}}@media(max-width:1180px){.landing-feature-wide,.landing-intro,.landing-grid-two{grid-template-columns:1fr}.landing-closing-card{display:grid}.landing-points{grid-template-columns:1fr}.landing-allocation-visual{grid-template-columns:1fr;justify-items:center}}@media(max-width:720px){.login-topbar{padding:14px 16px}.login-brand{font-size:12px;letter-spacing:.08em;gap:10px}.login-brand img{width:38px;height:38px}.login-page{background:var(--bg-elevated)}.landing-hero,.landing-section{padding-left:16px;padding-right:16px}.landing-hero{padding-top:14px;padding-bottom:14px}.landing-section-eyebrow{font-size:10px;letter-spacing:.14em}.landing-section-copy p,.landing-point-card p,.landing-feature-copy p{font-size:15px}.landing-hero-picture img{border-radius:22px}.landing-section{padding-bottom:24px}.landing-section-copy h2,.landing-closing-card h2,.landing-feature-copy h3,.landing-point-card strong{font-size:24px}.landing-point-card,.landing-feature,.landing-closing-card{border-radius:18px}.landing-feature-wide,.landing-feature:not(.landing-feature-wide),.landing-closing-card{padding:16px}.landing-allocation-visual,.landing-real-panels,.landing-fire-stats{grid-template-columns:1fr}.landing-donut{width:132px;height:132px}.landing-donut-inner{width:94px;height:94px}.landing-donut-inner strong{font-size:28px}.landing-fire-chart{height:180px}.auth-modal-card{width:min(92vw,520px)}}.confidence-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.02em}.confidence-high{background:#d1fae5;color:#065f46}.confidence-mid{background:#fef3c7;color:#92400e}.confidence-low{background:#fee2e2;color:#991b1b}.import-action-bar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-top:4px}.import-action-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.import-action-secondary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-ai{border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:var(--text-primary);border:none;transition:opacity .2s ease;font-size:14px}.btn-ai:hover{opacity:.88}.btn-ai:disabled{opacity:.45;cursor:not-allowed}.btn-outline{border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;background:transparent;color:var(--text-primary);border:1.5px solid rgba(255,255,255,.22);transition:background .2s ease,border-color .2s ease;font-size:14px}.btn-outline:hover{background:var(--overlay-06);border-color:#ffffff61}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.modal-card-wide{width:min(780px,96vw);max-height:88vh;overflow-y:auto}.dropzone-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--overlay-15);border-radius:14px;padding:28px 20px;cursor:pointer;transition:border-color .2s ease,background .2s ease;text-align:center;background:var(--overlay-02);min-height:110px}.dropzone-area:hover{border-color:#2ad68d73;background:#2ad68d08}.dropzone-area.drag-over{border-color:#2ad68d;background:#2ad68d12}.dropzone-icon{font-size:28px;line-height:1;pointer-events:none}.dropzone-text{display:flex;flex-direction:column;gap:4px;pointer-events:none}.dropzone-text span{font-size:13px;color:var(--text-secondary)}.dropzone-hint{font-size:11px!important;color:#9aa9bfa6!important}.upi-config-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:var(--overlay-03);border:1px solid var(--overlay-07);border-radius:10px;margin-bottom:4px}.upi-config-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.upi-config-field select{background:var(--overlay-07);border:1px solid var(--overlay-12);border-radius:6px;color:var(--text-primary);padding:5px 8px;font-size:13px;cursor:pointer}.upi-config-checkbox{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.upi-config-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer;flex-shrink:0}.upi-inline-select{background:var(--overlay-06);border:1px solid var(--overlay-10);border-radius:5px;color:var(--text-primary);font-size:11px;padding:3px 6px;cursor:pointer;max-width:140px}.upi-inline-select:disabled{opacity:.35;cursor:not-allowed}.content-wrapper{background-color:#0d121f;transition:background-color .3s ease}.content-wrapper.section-cockpit{background-color:#0d121f}.content-wrapper.section-portfolios{background-color:#07201c}.content-wrapper.section-transactions{background-color:#081634}.content-wrapper.section-real-estate{background-color:#1c1330}.content-wrapper.section-mygoals{background-color:#06202b}.content-wrapper.section-debts{background-color:#240f17}.content-wrapper.section-insights{background-color:#161540}.content-wrapper.section-tax-reports{background-color:#1a1726}.content-wrapper.section-tools{background-color:#0a1f1a}.content-wrapper.section-education{background-color:#082030}.content-wrapper.section-pricing{background-color:#221a08}:root[data-theme=light] .content-wrapper,:root[data-theme=light] .content-wrapper[class*=section-]{background-color:var(--bg-app)!important}.insights-page{max-width:1080px}.insights-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:18px}.insights-stat-cards{display:flex;gap:12px}.insight-stat-card{display:flex;flex-direction:column;align-items:center;min-width:78px;padding:10px 16px;border-radius:12px;border:1px solid var(--overlay-08);background:var(--overlay-03)}.insight-stat-value{font-size:22px;font-weight:700;line-height:1.1;color:var(--text-primary)}.insight-stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.insight-stat-card.stat-new .insight-stat-value{color:#5fa8ff}.insight-stat-card.stat-applied .insight-stat-value{color:#2ad68d}.insight-stat-card.stat-ignored .insight-stat-value{color:var(--text-secondary)}.insights-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--overlay-07)}.insight-chip-row{display:inline-flex;gap:6px;flex-wrap:wrap}.insight-chip{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500;color:var(--text-secondary);border:1px solid var(--overlay-12);background:transparent;cursor:pointer;transition:all .15s ease}.insight-chip:hover{border-color:#ffffff47;color:var(--text-primary)}.insight-chip.active{background:#2563eb;border-color:#2563eb;color:var(--text-primary)}.insights-toolbar-actions{margin-left:auto;display:inline-flex;gap:8px}.insight-generate-result{font-size:13px;color:#2ad68d;margin:-6px 0 14px}.insights-prefs-panel{margin-bottom:18px;padding:14px 16px;border-radius:12px;border:1px solid var(--overlay-10);background:var(--overlay-03)}.insights-prefs-title{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 10px}.insights-prefs-toggles{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.insights-prefs-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--overlay-07)}.insight-toggle{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-primary);cursor:pointer}.insight-domain-group{margin-bottom:22px}.insight-domain-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.insight-domain-icon{font-size:15px}.insight-domain-name{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.insight-domain-count{font-size:11px;font-weight:700;color:var(--text-secondary);background:var(--overlay-07);border-radius:999px;padding:1px 8px}.insight-card{position:relative;display:flex;margin-bottom:10px;border-radius:12px;border:1px solid var(--overlay-09);background:#ffffff06;overflow:hidden;transition:border-color .15s ease,transform .15s ease}.insight-card:hover{border-color:#fff3;transform:translateY(-1px)}.insight-card-accent{width:4px;flex:0 0 4px;background:#5b6b86}.insight-card.urgency-high .insight-card-accent{background:#ef4444}.insight-card.urgency-medium .insight-card-accent{background:#f0a000}.insight-card.urgency-low .insight-card-accent{background:#2ad68d}.insight-card.state-applied{background:#2ad68d0f}.insight-card.state-ignored{opacity:.6}.insight-card-body{flex:1;min-width:0;padding:14px 16px}.insight-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.insight-card-meta{display:inline-flex;align-items:center;gap:10px}.insight-domain-pill{font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--overlay-06);border-radius:999px;padding:2px 9px}.insight-time{font-size:11px;color:var(--text-secondary)}.insight-card-actions{display:inline-flex;gap:6px;align-items:center}.insight-explain-btn{font-size:11px;color:var(--text-secondary);background:transparent;border:1px solid var(--overlay-14);border-radius:7px;padding:3px 8px;cursor:pointer}.insight-explain-btn:hover{color:var(--text-primary);border-color:#ffffff4d}.insight-action-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--overlay-14);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;line-height:1}.insight-action-btn.apply:hover,.insight-action-btn.apply.active{background:#2ad68d29;border-color:#2ad68d80;color:#2ad68d}.insight-action-btn.ignore:hover,.insight-action-btn.ignore.active{background:#ef444424;border-color:#ef444480;color:#ef6b6b}.insight-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.insight-new-dot{width:7px;height:7px;border-radius:50%;background:#5fa8ff;flex:0 0 7px}.insight-card-body-text{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0 0 12px}.insight-score-bar{display:flex;align-items:center;gap:10px}.insight-score-track{flex:1;height:5px;border-radius:999px;background:var(--overlay-08);overflow:hidden}.insight-score-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2ad68d,#f0a000)}.insight-score-label{font-size:11px;color:var(--text-secondary);white-space:nowrap}.insight-explain-grid{display:grid;grid-template-columns:90px 1fr;gap:5px 12px;margin:12px 0 0;padding:12px;border-radius:10px;background:#00000040;font-size:12px}.insight-explain-grid dt{font-weight:700;color:var(--text-primary)}.insight-explain-grid dd{margin:0;color:var(--text-secondary);word-break:break-word}.insight-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:56px 20px;border-radius:14px;border:1px dashed var(--overlay-12);background:var(--overlay-02)}.insight-empty-icon{font-size:30px;opacity:.6}.insight-empty-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.insight-empty-sub{font-size:13px;color:var(--text-secondary);margin:0 0 8px;max-width:360px}.insight-pagination-note{font-size:12px;color:var(--text-secondary);text-align:center;margin-top:12px}@media(max-width:720px){.insights-toolbar-actions{margin-left:0}.insight-explain-grid{grid-template-columns:1fr}}.insights-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.insight-kpi{padding:12px 14px;border-radius:12px;border:1px solid var(--overlay-08);background:var(--overlay-03)}.insight-kpi-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.insight-kpi-label .ti{font-size:15px}.insight-kpi-value{display:block;font-size:23px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-top:2px}.insight-kpi-sub{font-size:11px;color:var(--text-secondary)}.insight-kpi.tone-success .insight-kpi-value{color:#2ad68d}.insight-kpi.tone-danger .insight-kpi-value{color:#ef6b6b}.insight-kpi.tone-warning .insight-kpi-value{color:#f0a000}.insight-kpi.tone-info .insight-kpi-value{color:#5fa8ff}.insight-section{margin-bottom:18px}.insight-section-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.insight-section-head .ti{font-size:16px}.insight-highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.insight-highlight{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--overlay-09);border-left:3px solid #5b6b86;background:#ffffff06}.insight-highlight.urgency-high{border-left-color:#ef4444}.insight-highlight.urgency-medium{border-left-color:#f0a000}.insight-highlight.urgency-low{border-left-color:#2ad68d}.insight-highlight-figure{flex:0 0 56px;display:flex;align-items:center;justify-content:center}.insight-highlight-text{display:flex;flex-direction:column;min-width:0;gap:2px}.insight-highlight-domain{font-size:11px;color:var(--text-secondary)}.insight-highlight-title{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-highlight-sub{font-size:12px;color:var(--text-secondary)}.ba-root{display:flex;flex-direction:column;gap:16px;margin-top:16px}.ba-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ba-pills{display:flex;gap:8px;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.ba-pill{border:1px solid #2a3a52;background:var(--bg-elevated);color:#9fb4d3;padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.ba-pill:hover{border-color:#3a4f6e;color:var(--text-primary)}.ba-pill.active{background:#1f6feb;border-color:#1f6feb;color:var(--text-primary)}.ba-period-label{color:var(--text-secondary);font-size:.85rem}.ba-cashflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ba-cf-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.ba-cf-net{background:var(--bg-elevated)}.ba-effort-low{border-color:#10b98155}.ba-effort-medium{border-color:#f59e0b55}.ba-effort-high{border-color:#ef444455}.ba-effort-value-low{color:#2ad68d}.ba-effort-value-medium{color:#f2b441}.ba-effort-value-high{color:#f87171}.ba-cf-label{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.ba-cf-value{font-size:1.75rem;font-weight:700;line-height:1.1}.ba-cf-tag{font-size:.78rem;color:var(--text-secondary);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ba-pos{color:#2ad68d}.ba-neg{color:#f87171}.ba-delta{font-size:.75rem;font-weight:600;display:inline-flex;gap:4px;align-items:center}.ba-delta-good{color:#2ad68d}.ba-delta-bad{color:#f87171}.ba-delta-flat,.ba-delta-sub{color:var(--text-muted);font-weight:500}.ba-card{background:var(--bg-elevated);border:1px solid #1f2c40;border-radius:14px;padding:18px}.ba-card-head h3{margin:0 0 12px;font-size:1.05rem}.ba-empty{color:var(--text-muted);font-style:italic;margin:8px 0}.ba-spending-body{display:flex;gap:24px;align-items:center}.ba-donut-wrap{flex:0 0 auto;width:180px;max-width:42vw}.ba-donut{width:100%;height:auto}.ba-donut-total{fill:#e8f0fb;font-size:14px;font-weight:700}.ba-donut-cap{fill:#8294ad;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ba-legend{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px}.ba-legend-row{display:grid;grid-template-columns:12px minmax(80px,1.4fr) 2fr auto auto;gap:10px;align-items:center;font-size:.85rem}.ba-legend-dot{width:12px;height:12px;border-radius:3px}.ba-legend-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ba-legend-bar{height:6px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.ba-legend-fill{display:block;height:100%;border-radius:4px}.ba-legend-val{color:var(--text-primary);font-weight:600;text-align:right}.ba-legend-pct{color:var(--text-secondary);text-align:right;min-width:34px}.ba-budgets-toggle{width:100%;background:none;border:none;cursor:pointer;color:inherit;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0}.ba-budgets-title{font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:8px}.ba-chevron{color:var(--text-secondary);font-size:.9rem}.ba-budgets-sub{color:var(--text-muted);font-size:.8rem}.ba-budgets-body{margin-top:16px;display:flex;flex-direction:column;gap:16px}.ba-budget-list{display:flex;flex-direction:column;gap:14px}.ba-budget-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.9rem}.ba-budget-track{background:var(--bg-elevated);height:10px;border-radius:5px;overflow:hidden}.ba-budget-fill{height:100%;border-radius:5px}.ba-budget-row-foot{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-secondary);margin-top:3px}.ba-forecast{border-top:1px solid #1f2c40;padding-top:14px;display:flex;flex-direction:column;gap:10px}.ba-forecast-row{display:flex;justify-content:space-between;align-items:center}.ba-forecast-hi{color:#f59e0b;font-size:1.05rem}.ba-alert{padding:10px 12px;border-radius:8px;font-size:.85rem}.ba-alert-bad{background:#ef444420;color:#f87171;border:1px solid #ef444455}.ba-alert-good{background:#10b98120;color:#2ad68d;border:1px solid #10b98155}@media(max-width:900px){.ba-cashflow{grid-template-columns:repeat(2,1fr)}}.ba-income-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.ba-income-review-row label{display:grid;grid-template-columns:auto 90px 1fr auto;gap:10px;align-items:center;padding:6px 4px;border-radius:6px;cursor:pointer;font-size:.85rem}.ba-income-review-row label:hover{background:var(--bg-elevated)}.ba-income-review-date{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.ba-income-review-desc{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ba-income-review-amount{color:#2ad68d;font-weight:600;text-align:right}@media(max-width:640px){.ba-cashflow{grid-template-columns:1fr}.ba-spending-body{flex-direction:column;align-items:stretch}.ba-donut-wrap{width:160px;max-width:60vw;align-self:center}.ba-legend-row{grid-template-columns:12px 1fr auto auto}.ba-legend-bar{display:none}.ba-head{align-items:flex-start}}.share-cart-bar{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:150}.share-cart-pill{display:flex;align-items:center;gap:10px;background:var(--bg-elevated);border:1px solid #2a3a52;border-radius:999px;padding:8px 10px 8px 16px;box-shadow:0 8px 24px #0006;color:var(--text-primary);font-size:.85rem;flex-wrap:wrap}.share-cart-count{background:#1f6feb;color:var(--text-primary);border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-weight:700;font-size:.75rem;padding:0 6px}.share-cart-modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:250}.share-cart-modal{width:90%;max-width:420px;max-height:90vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid #2a3a52;border-radius:14px;padding:20px}.share-cart-modal h4{margin:0 0 8px}.share-cart-hint{color:var(--text-secondary);font-size:.82rem;margin:0 0 16px}.share-cart-field{display:grid;gap:4px;font-size:.82rem;color:#9fb4d3;margin-bottom:12px}.share-cart-field input{padding:9px 10px;border-radius:8px;border:1px solid #2a3a52;background:var(--bg-elevated);color:var(--text-primary)}.share-cart-error{color:#f87171;font-size:.82rem}.share-cart-success{color:#2ad68d;font-size:.82rem}.share-cart-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.tsb-batch-list{display:flex;flex-direction:column;gap:8px}.tsb-batch-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-elevated);border:1px solid #263247;border-radius:10px;padding:10px 14px;gap:12px;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.tsb-batch-row strong{display:block}.tsb-item-meta{color:var(--text-secondary);font-size:.78rem}.tsb-status{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--bg-elevated);color:var(--text-primary);white-space:nowrap}.tsb-status-completed{background:#10b98120;color:#2ad68d}.tsb-item-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.tsb-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-elevated);border:1px solid #263247;border-radius:10px;padding:10px 14px}.tsb-item-info{min-width:0;flex:1 1 auto}.tsb-item-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsb-item-pickers{display:flex;gap:8px;flex:0 0 auto;align-items:center}.tsb-item-pickers select{padding:7px 8px;border-radius:8px;border:1px solid #2a3a52;background:var(--bg-elevated);color:var(--text-primary);font-size:.82rem;max-width:160px}.tsb-item-row.rejected{opacity:.65;border-color:#ef444466;background:#ef44440f}.tsb-reject-toggle{padding:7px 10px;border-radius:8px;font-size:.78rem;white-space:nowrap;border:1px solid #3a2730;background:#1a1216;color:#f0a0a0;cursor:pointer;transition:background .15s,border-color .15s}.tsb-reject-toggle:hover{border-color:#ef444499;color:#ff8a8a}.tsb-reject-toggle.active{background:#ef44442e;border-color:#ef444499;color:#ffb4b4}.tsb-status.tsb-status-rejected{color:#f0a0a0}.categories-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.categories-hub-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border-radius:10px;border:1px solid #2a3a52;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.categories-hub-card:hover:not(:disabled){background:var(--bg-elevated);border-color:#3b6ea5}.categories-hub-card:disabled{opacity:.55;cursor:default}.categories-hub-card-title{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px}.categories-hub-card-desc{font-size:.78rem;color:#9fb4d3;line-height:1.4}.categories-hub-card-danger:hover:not(:disabled){border-color:#ef444499;background:#ef444414}.categories-hub-badge{background:#e74c3c;color:var(--text-primary);border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700}@media(max-width:640px){.categories-hub-grid{grid-template-columns:1fr}}.bulk-actions-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:240px;background:var(--bg-elevated);border:1px solid #2a3a52;border-radius:10px;box-shadow:0 8px 28px #00000080;padding:6px;display:flex;flex-direction:column;gap:2px}.bulk-actions-menu button{text-align:left;background:none;border:none;color:var(--text-primary);font-size:.85rem;padding:9px 12px;border-radius:7px;cursor:pointer}.bulk-actions-menu button:hover{background:var(--bg-elevated)}.bulk-actions-menu-danger{color:#f0a0a0!important}.bulk-actions-menu-danger:hover{background:#ef44441f!important}.banking-transactions .row.banking-row-selected{outline:1px solid rgba(77,171,247,.5);outline-offset:-1px}.banking-transactions .row.banking-row-excluded{opacity:.55}@media(max-width:640px){.bulk-actions-menu{left:auto;right:0}}@media(max-width:640px){.share-cart-bar{left:12px;right:12px;bottom:12px;transform:none}.share-cart-pill{width:100%;justify-content:space-between}.tsb-batch-row,.tsb-item-row{flex-direction:column;align-items:stretch}.tsb-item-pickers{flex-direction:column}.tsb-item-pickers select{max-width:none}}.ba-clickable{cursor:pointer;transition:background .12s ease,border-color .12s ease}.ba-cf-card.ba-clickable:hover{border-color:#3a7bd5;background:var(--bg-elevated)}.ba-legend-row.ba-clickable{border-radius:8px;padding:4px 6px;margin:-4px -6px}.ba-legend-row.ba-clickable:hover{background:var(--bg-elevated)}.ba-legend-row.ba-legend-row-active{background:var(--bg-elevated);outline:1px solid #3a7bd5}.ba-clickable:focus-visible{outline:2px solid #3a7bd5;outline-offset:2px}.ba-back-btn{align-self:flex-start;background:none;border:none;color:#7fa8e8;font-size:.85rem;font-weight:600;cursor:pointer;padding:4px 0}.ba-back-btn:hover{color:#a9c6f5;text-decoration:underline}.ba-drill-title{margin:0;font-size:1.3rem;color:var(--text-primary)}.ba-drill-table-wrap{overflow-x:auto}.ba-drill-table{width:100%;border-collapse:collapse;font-size:.85rem}.ba-drill-table th{text-align:left;color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:6px 10px;border-bottom:1px solid #1f2c40;white-space:nowrap}.ba-drill-table td{padding:8px 10px;border-bottom:1px solid #17202f;color:var(--text-primary)}.ba-drill-table td:last-child,.ba-drill-table th:last-child{text-align:right}.ba-drill-table th.ba-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ba-drill-table th.ba-sortable:hover{color:var(--text-primary)}.del-tx-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:250}.del-tx-modal{width:90%;max-width:380px;background:var(--bg-elevated);border:1px solid #2a3a52;border-radius:14px;padding:20px}.del-tx-modal h4{margin:0 0 6px}.del-tx-hint{color:var(--text-secondary);font-size:.82rem;margin:0 0 16px}.del-tx-options{display:flex;flex-direction:column;gap:8px}.del-tx-options>button{width:100%;justify-content:center}.del-tx-actions{display:flex;justify-content:flex-end;margin-top:14px}.route-loading{min-height:60vh}.fire-calc-page{min-height:100vh;background:var(--bg-elevated);color:var(--text-primary)}.fire-calc-container{max-width:960px;margin:0 auto;padding:20px 20px 60px}.fire-calc-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 24px}.fire-calc-brand{display:flex;align-items:center;gap:8px;color:var(--text-primary);text-decoration:none;font-weight:700;font-size:18px}.fire-calc-brand img{border-radius:6px}.fire-calc-hero{text-align:center;padding:20px 0 32px}.fire-calc-hero h1{font-size:2.4rem;margin:10px 0 14px}.fire-calc-hero p{max-width:640px;margin:0 auto;color:var(--text-secondary);line-height:1.6}.fire-calc-grid{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px;align-items:start}.fire-calc-card{border-radius:18px;border:1px solid rgba(112,160,232,.16);background:var(--bg-navy-48);padding:22px}.fire-calc-form{display:grid;gap:16px}.fire-calc-form label{display:grid;gap:6px;font-size:13px;color:var(--text-secondary)}.fire-calc-form input{padding:9px 12px;border-radius:8px;border:1px solid rgba(112,160,232,.24);background:var(--bg-navy-90);color:var(--text-primary);font-size:14px}.fire-calc-results{display:grid;gap:18px}.fire-calc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fire-calc-stats span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.fire-calc-stats strong{font-size:20px;color:var(--text-primary)}.fire-calc-chart{width:100%;height:200px}.fire-calc-target-line{stroke:#6d7d99;stroke-width:1.5;stroke-dasharray:5 5}.fire-calc-curve{stroke:#32dd8b;stroke-width:2.5}.fire-calc-curve-fill{fill:#32dd8b24;stroke:none}.fire-calc-svg-label{fill:#90a4c3;font-size:11px}.fire-calc-disclaimer{font-size:12px;color:var(--text-muted);margin:0}.fire-calc-cta{text-align:center;margin-top:40px;padding:32px 20px;border-radius:18px;border:1px solid rgba(112,160,232,.16);background:radial-gradient(circle at top,rgba(45,224,140,.1),transparent 60%)}.fire-calc-cta h2{margin:0 0 10px}.fire-calc-cta p{color:var(--text-secondary);max-width:520px;margin:0 auto 18px;line-height:1.6}@media(max-width:720px){.fire-calc-grid{grid-template-columns:1fr}.fire-calc-stats{grid-template-columns:1fr 1fr}}.landing-footer{display:flex;justify-content:center;align-items:center;gap:10px;padding:24px 20px 40px;font-size:13px;color:var(--text-muted)}.landing-footer a{color:var(--text-secondary);text-decoration:none}.landing-footer a:hover{color:var(--text-primary);text-decoration:underline}.landing-footer-sep{opacity:.5}.tools-page{padding:24px;max-width:960px}.tools-page-header h2{margin:0 0 4px}.tools-page-header p{margin:0 0 24px;color:var(--text-secondary, #6d7d99)}.tools-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.tools-page-card{border:1px solid var(--border-color, #26314a);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}.tools-page-card h3{margin:0}.tools-page-card p{margin:0;color:var(--text-secondary, #6d7d99);flex:1}.landing-tools{display:flex;flex-direction:column;gap:28px}.landing-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.landing-tool-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #26314a;border-radius:12px;background:var(--overlay-02);text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.landing-tool-card:hover{border-color:#3d5178;transform:translateY(-2px)}.landing-tool-card h3{margin:0;font-size:16px;color:var(--text-primary)}.landing-tool-card p{margin:0;font-size:13px;color:var(--text-secondary);flex:1}.landing-tool-link{font-size:13px;color:#6ea8ff}.landing-news{display:flex;flex-direction:column;gap:16px}.landing-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.landing-news-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #26314a;border-radius:12px}.landing-news-card h4{margin:0;font-size:15px;color:var(--text-primary)}.landing-news-card p{margin:0;font-size:13px;color:var(--text-secondary);flex:1}.landing-news-card a{font-size:13px;color:#6ea8ff;text-decoration:none}.landing-news-card a:hover{text-decoration:underline}.fire-calc-negative{color:#ff7a7a}.fire-calc-breakdown{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:12px}.fire-calc-breakdown>div{display:flex;flex-direction:column;gap:2px}.fire-calc-breakdown span{font-size:12px;color:var(--text-secondary, #6d7d99)}.broker-table-wrap{overflow-x:auto}.broker-table{width:100%;border-collapse:collapse;font-size:13px}.broker-table th,.broker-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-color, #26314a);vertical-align:top}.broker-table th{font-weight:600;white-space:nowrap}.tools-card-art{width:100%;height:90px;border-radius:8px;background:var(--overlay-02);display:block}.rebalance-panel .chart-sub{margin-top:8px}.rebalance-table{display:flex;flex-direction:column;gap:10px;margin-top:8px}.rebalance-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color, #26314a);font-size:13px}.rebalance-label{font-weight:600}.rebalance-percents{color:var(--text-secondary, #6d7d99)}.rebalance-action{font-weight:600;text-align:right}.rebalance-action-buy{color:#6effb4}.rebalance-action-sell{color:#ff9a9a}.rebalance-action-hold{color:var(--text-secondary, #6d7d99)}.rebalance-edit{display:flex;flex-direction:column;gap:8px;margin-top:8px}.rebalance-edit-row{display:grid;grid-template-columns:1fr 80px auto;gap:8px;align-items:center;font-size:13px}.rebalance-edit-row input{width:80px}.rebalance-edit-pct{color:var(--text-secondary, #6d7d99)}.rebalance-edit-actions{display:flex;gap:8px;margin-top:8px}.rebalance-edit-row{grid-template-columns:1fr 80px auto auto}.rebalance-edit-remove{background:none;border:none;color:var(--text-secondary, #6d7d99);cursor:pointer;font-size:13px;padding:2px 6px}.rebalance-edit-remove:hover{color:#ff9a9a}.rebalance-add-row{display:flex;gap:8px;align-items:center;margin-top:4px}.rebalance-add-row select,.rebalance-add-row input{flex:1}.sr-config{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.sr-config-label{font-size:12px;font-weight:600;color:var(--text-secondary, #8fa0ba);text-transform:uppercase;letter-spacing:.5px}.sr-sections{display:flex;flex-direction:column;gap:6px}.sr-section-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 8px;border-radius:8px;cursor:pointer}.sr-section-row:hover{background:var(--overlay-04)}.sr-section-row input[type=checkbox]{accent-color:#4aa3ff}.sr-sensitive-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#f59e0b;border:1px solid rgba(245,158,11,.4);border-radius:999px;padding:1px 8px}.sr-config-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.sr-config-field{display:flex;flex-direction:column;gap:6px}.sr-owner-input,.sr-expiry-select{background:var(--bg-navy-40);border:1px solid var(--overlay-10);color:var(--text-primary);padding:8px 12px;border-radius:8px;font-size:13px;outline:none}.sr-always-excluded{margin:0;font-size:12px;color:var(--text-secondary, #8fa0ba)}.sr-generate-btn:disabled{opacity:.5;cursor:not-allowed}.blog-list{display:flex;flex-direction:column;gap:16px;margin:32px 0}.blog-list-card{display:block;padding:24px;border:1px solid #26314a;border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s ease}.blog-list-card:hover{border-color:#3d5178}.blog-list-card h2{margin:8px 0;font-size:20px;color:var(--text-primary)}.blog-list-card p{margin:0 0 12px;color:var(--text-secondary);font-size:14px}.blog-list-meta{display:flex;gap:8px;font-size:12px;color:var(--text-muted)}.blog-list-meta a{color:#6ea8ff;text-decoration:none}.blog-list-readmore{font-size:13px;color:#6ea8ff}.blog-article{max-width:720px;margin:24px auto;line-height:1.7}.blog-article h1{font-size:30px;margin:12px 0 8px;color:var(--text-primary);line-height:1.25}.blog-article-lead{font-size:16px;color:var(--text-secondary);margin-bottom:28px}.blog-article h2{font-size:21px;margin:32px 0 8px;color:var(--text-primary)}.blog-article p{color:var(--text-primary);font-size:15px;margin:12px 0}.blog-article ul{color:var(--text-primary);font-size:15px;padding-left:22px;display:flex;flex-direction:column;gap:8px}.blog-callout{border-left:3px solid #6ea8ff;background:#6ea8ff14;padding:14px 18px;border-radius:0 10px 10px 0;color:var(--text-primary);font-size:14px;margin:20px 0}.blog-article-tool-cta{margin:36px 0;padding:20px;border:1px solid #26314a;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.blog-article-tool-cta p{margin:0;font-weight:600}.import-guide-help-svg{width:100%;max-width:480px;height:auto;border-radius:8px;display:block}.pr-root{min-height:100vh;background:#0b1220;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pr-loading,.pr-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:#94a3b8}.pr-spinner{width:36px;height:36px;border:3px solid #1e293b;border-top-color:#4aa3ff;border-radius:50%;animation:pr-spin .7s linear infinite}@keyframes pr-spin{to{transform:rotate(360deg)}}.pr-error-icon{font-size:48px}.pr-error h2{color:#e2e8f0;margin:0}.pr-error p{margin:0}.pr-header{background:#0f172a;border-bottom:1px solid #1e293b;padding:0 24px}.pr-header-inner{max-width:900px;margin:0 auto;height:60px;display:flex;align-items:center;justify-content:space-between}.pr-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:#e2e8f0}.pr-brand-icon{font-size:22px}.pr-header-meta{display:flex;align-items:center;gap:12px}.pr-badge{font-size:11px;font-weight:600;background:#1e3a5f;color:#4aa3ff;padding:3px 10px;border-radius:999px;border:1px solid #2563eb44;letter-spacing:.03em}.pr-print-btn{background:#1e293b;border:1px solid #334155;color:#94a3b8;font-size:13px;padding:6px 14px;border-radius:6px;cursor:pointer;transition:background .15s}.pr-print-btn:hover{background:#273447;color:#e2e8f0}.pr-main{max-width:900px;margin:0 auto;padding:40px 24px 64px}.pr-title-block{margin-bottom:32px}.pr-title{font-size:26px;font-weight:700;color:#f1f5f9;margin:0 0 6px}.pr-subtitle{font-size:13px;color:#64748b;margin:0}.pr-hero-card{background:linear-gradient(135deg,#0f2744,#0f172a);border:1px solid #1e3a5f;border-radius:16px;padding:28px 32px;margin-bottom:24px}.pr-hero-label{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:8px}.pr-hero-value{font-size:44px;font-weight:800;color:#f1f5f9;line-height:1.1;margin-bottom:20px}.pr-hero-breakdown{display:flex;flex-wrap:wrap;gap:16px 28px}.pr-hero-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8}.pr-hero-item strong{color:#e2e8f0;margin-left:2px}.pr-hero-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:40px}.pr-card{background:#0f172a;border:1px solid #1e293b;border-radius:12px;padding:20px}.pr-card--center{text-align:center}.pr-card-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:#64748b;margin-bottom:12px}.pr-card-kpi{font-size:28px;font-weight:700;color:#f1f5f9;line-height:1.1}.pr-card-sub{font-size:12px;color:#475569;margin-top:2px;margin-bottom:16px}.pr-card-rows{display:flex;flex-direction:column;gap:8px}.pr-row{display:flex;justify-content:space-between;font-size:13px;color:#94a3b8}.pr-row strong{color:#e2e8f0}.pr-card-note{margin-top:12px;font-size:12px;color:#64748b;border-top:1px solid #1e293b;padding-top:10px}.pr-green{color:#22c55e!important}.pr-red{color:#ef4444!important}.pr-progress-track{height:6px;background:#1e293b;border-radius:999px;overflow:hidden;margin-bottom:6px}.pr-progress-fill{height:100%;border-radius:999px;transition:width .4s ease}.pr-progress-pct{font-size:12px;font-weight:600}.pr-score-ring{position:relative;width:100px;height:100px;margin:8px auto 12px}.pr-score-svg{width:100%;height:100%}.pr-score-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#f1f5f9}.pr-score-label{font-size:14px;font-weight:700;margin-top:4px}.pr-footer{border-top:1px solid #1e293b;padding-top:24px;text-align:center;font-size:12px;color:#475569;line-height:1.7}.pr-footer p{margin:0}.pr-footer strong{color:#64748b}.pr-section{margin-bottom:8px}.pr-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.pr-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:14px}.pr-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pr-hero-spark{flex-shrink:0;width:180px}.pr-hero-spark-label{font-size:10px;color:#475569;text-align:right;margin-top:2px}.pr-nw-bar{height:6px;border-radius:999px;overflow:hidden;display:flex;gap:2px;margin-top:14px}.pr-nw-bar-segment{height:100%;border-radius:999px}.pr-nw-bar-grid{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}.pr-nw-kpi{display:flex;align-items:center;gap:6px;font-size:13px}.pr-nw-kpi-label{color:#64748b}.pr-nw-kpi-value{color:#e2e8f0;font-weight:600}.pr-sub-port-list{display:flex;flex-direction:column;gap:10px}.pr-sub-port-row{display:flex;flex-direction:column;gap:3px}.pr-sub-port-info{display:flex;justify-content:space-between;font-size:13px}.pr-sub-port-name{color:#e2e8f0;font-weight:600}.pr-sub-port-pct{font-weight:700;font-size:13px}.pr-sub-port-bar-wrap{display:flex;align-items:center;gap:8px}.pr-sub-port-val{font-size:12px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.pr-sub-port-profit{font-size:11px;color:#475569}.pr-bar-row{display:flex;align-items:center;gap:8px;font-size:12px}.pr-bar-label{color:#94a3b8;width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-bar-track{flex:1;height:6px;background:#1e293b;border-radius:999px;overflow:hidden}.pr-bar-fill{height:100%;border-radius:999px}.pr-bar-value{color:#e2e8f0;width:80px;text-align:right;flex-shrink:0;font-weight:500}.pr-summary-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid #1e293b;border-radius:12px;overflow:hidden;margin-bottom:28px}.pr-strip-item{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;padding:14px 16px;gap:4px;border-right:1px solid #1e293b;background:#0f172a}.pr-strip-item:last-child{border-right:none}.pr-strip-item span{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.pr-strip-item strong{font-size:16px;font-weight:700;color:#e2e8f0}@media print{body,.pr-root{background:#fff!important;color:#111!important}.pr-header{background:#fff!important;border-color:#e5e7eb!important}.pr-brand-name,.pr-brand{color:#111!important}.pr-print-btn,.pr-badge{display:none!important}.pr-hero-card{background:#f8fafc!important;border-color:#e5e7eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pr-card{background:#f8fafc!important;border-color:#e5e7eb!important;break-inside:avoid}.pr-title,.pr-hero-value,.pr-card-kpi,.pr-score-value{color:#111!important}.pr-hero-label,.pr-card-title,.pr-subtitle{color:#6b7280!important}.pr-hero-item,.pr-row{color:#374151!important}.pr-hero-item strong,.pr-row strong{color:#111!important}}@media(max-width:600px){.pr-hero-value{font-size:32px}.pr-grid{grid-template-columns:1fr}.pr-main{padding:24px 16px 48px}}
