@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;color:#dfe7f3;background-color:#05070d;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}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#11223a,#05070d 55% 100%)}#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:#0d121f;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}.sidebar{width:260px;background-color:#161e2e;border-right:1px solid rgba(255,255,255,.06);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:#fff;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:#9aa9bf;text-decoration:none;transition:all .2s;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500}.sidebar-link:hover{background:#ffffff0a;color:#dfe7f3}.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:#9aa9bf;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 rgba(121,204,255,.24)}.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:#9aa9bf;text-decoration:none;font-size:12px;transition:color .18s ease,background .18s ease}.sidebar-sublink:hover{color:#dfe7f3;background:#ffffff0a}.sidebar-sublink.active{color:#79ccff;background:#79ccff1f}.sidebar-sublink-dot{width:6px;height:6px;border-radius:999px;background:#79ccff8c;flex:0 0 6px}.sidebar.collapsed .sidebar-subnav{display:none!important}.wip-badge{background:#ffffff1a;color:#9aa9bf;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:#fff;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 rgba(255,255,255,.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:#6b7280;width:100%;border-radius:12px;transition:color .2s}.sidebar-toggle:hover{color:#dfe7f3;background:#ffffff0a}.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%}@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:#0c1220d9;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 30px #02060f99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plan-upgrade-banner{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(42,214,141,.25);background:linear-gradient(135deg,#0e2420d9,#091628e0);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:#dfffee;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:#79ccff}.pricing-actions{margin-top:10px}.pricing-actions-below-cards{margin-top:14px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:#080f20b8}.pricing-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:12px;color:#c8deef}.pricing-consent input[type=checkbox]{margin-top:2px}.pricing-legal-links{margin:0 0 10px}.pricing-legal-links a,.pricing-regulatory-links a{color:#79ccff;text-decoration:none;border-bottom:1px dashed rgba(121,204,255,.5)}.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 rgba(255,255,255,.16);background:#ffffff0a;color:#e8f3ff;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:#080f20cc;border:1px solid rgba(255,255,255,.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:#c7d7ea;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:#ffffff14;color:#dfe7f3;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:#ffffff0f;color:#9aa9bf}.nav-item.disabled.active{background:#ffffff14;color:#9aa9bf}.wip{background:#ffffff1f;color:#b7c3da;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 rgba(255,255,255,.12);background:#060c1899;color:#dfe7f3;font-size:12px;font-weight:600}.lang-picker{position:relative}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:#080e1cf2;border:1px solid rgba(255,255,255,.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:#dfe7f3;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 rgba(255,255,255,.12);background:#060c1899;color:#dfe7f3;font-size:12px;font-weight:600}.currency-menu{position:absolute;right:0;top:calc(100% + 8px);background:#080e1cf2;border:1px solid rgba(255,255,255,.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:#dfe7f3;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 rgba(255,255,255,.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:6px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.app-layout.mobile-nav .sidebar-link{justify-content:center;padding:6px 10px;gap:6px;min-width:auto;font-size:12px;flex:0 0 auto;width:auto;max-width:none;overflow:visible}.app-layout.mobile-nav .sidebar-item-group.has-children .sidebar-subnav{display:none!important}.app-layout.mobile-nav .sidebar-link-button .sidebar-chevron{display:none}.app-layout.mobile-nav .sidebar-icon{min-width:18px}.app-layout.mobile-nav .sidebar-icon svg{width:18px;height:18px}.app-layout.mobile-nav .sidebar-text,.app-layout.mobile-nav .wip-badge{display:inline-flex;opacity:1!important;animation:none!important;color:#dfe7f3;font-weight:600}.app-layout.mobile-nav .sidebar-toggle{justify-content:center;padding:8px;gap:0}.app-layout.mobile-nav .sidebar-footer{flex-direction:row;align-items:center;gap:6px;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}}@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 rgba(255,255,255,.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:6px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.sidebar-link{justify-content:center;padding:6px 10px;gap:6px;min-width:auto;font-size:12px}.sidebar-item-group.has-children .sidebar-subnav{display:none!important}.sidebar-link-button .sidebar-chevron,.sidebar-icon{display:none}.sidebar-text,.wip-badge{display:inline-flex!important;opacity:1!important;animation:none!important;color:#dfe7f3!important;font-weight:600;white-space:nowrap}.sidebar-toggle{justify-content:center;padding:8px;gap:0}.sidebar-footer{flex-direction:row;align-items:center;gap:6px;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:#1b2b42;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:#0c1428cc;border:1px solid rgba(255,255,255,.08);display:grid;gap:8px}.wip-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#87c9ff}.wip-message{font-size:13px;color:#9aa9bf}.success{color:#7de0b2;font-size:12px}.error{color:#ff9c9c;font-size:12px}.muted{color:#9aa9bf;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:#9aa9bf;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:#0f172a8c;border:1px solid rgba(72,86,121,.35);margin:6px 0 12px}.goals-mode-tab{border:0;background:transparent;color:#9aa9bf;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:#d3ffe8;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 rgba(255,255,255,.12);background:#080e1c99;color:#cfe1ff;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:#080e1ccc;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:8px 10px;color:#e5eefb;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}.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:#0a1224b3;border:1px solid rgba(255,255,255,.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 rgba(255,255,255,.15);background:#080e1c99;color:#e5eefb;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:#070c18a6;border-radius:12px;padding:12px;display:grid;gap:6px;font-size:12px;color:#9aa9bf}.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:#e6f0ff;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:#0c1426d9;color:#dce6f7;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:#0a1224b3;border:1px solid rgba(255,255,255,.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}.goals-chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:#8ea0bd;height:100%}.goals-chart-axis .axis-label{margin-top:6px;font-size:10px;color:#6f7f96}.goals-chart-plot{display:grid;width:100%;aspect-ratio:1 / 1}.goals-chart svg{width:100%;height:100%;border-radius:12px;background:#060a16cc}.goals-chart-x{display:flex;justify-content:space-between;margin-left:90px;max-width:420px;font-size:11px;color:#8ea0bd}.goals-chart-axis-label{margin:0 0 0 90px;max-width:420px;font-size:11px;color:#6f7f96}.readonly-input{opacity:.7;cursor:not-allowed}.goals-chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#9aa9bf}.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 rgba(255,255,255,.08);text-align:left}.login-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 28px;border-radius:0;background:#040c1b57;border-bottom:1px solid rgba(124,174,255,.12);box-shadow:inset 0 -1px #ffffff0a;-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;margin:0 auto;padding:0;position:relative;border-radius:0;min-height:auto;background:linear-gradient(180deg,#07111f,#091425)}.login-page:after{display:none}.login-hero{width:100%}.landing-hero-media{padding:26px clamp(20px,3vw,54px) 18px}.landing-hero-picture{display:block;width:100%}.landing-hero-picture img{display:block;width:100%;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}.login-wrapper{display:grid;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:#ffffff14;color:#dfe7f3;border:1px solid rgba(255,255,255,.12)}.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}.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:#ffffff24;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:#ffffff24}.help-icon{width:18px;height:18px;color:#dfe7f3}.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:#08162673;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-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:#f4f8ff;font-size:clamp(28px,3vw,44px);line-height:1.04;letter-spacing:-.03em}.landing-section-copy p,.landing-closing-card p{margin:0;color:#aab9d1;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:linear-gradient(180deg,#07101ee6,#060e1be0);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:#f4f8ff;font-size:22px;line-height:1.15;margin-bottom:8px}.landing-point-card p,.landing-feature-copy p{margin:0;color:#aebcd3;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:#c8d5e8;display:grid;gap:8px}.landing-shot{border-radius:18px;overflow:hidden;border:1px solid rgba(112,160,232,.16);background:#040a177a}.landing-shot img{display:block;width:100%;height:auto}.landing-mock-card{background:radial-gradient(circle at top right,rgba(45,224,140,.16),transparent 35%),linear-gradient(180deg,#07101ef0,#060e1beb)}.landing-fire-visual,.landing-allocation-visual,.landing-real-estate-visual{border-radius:18px;border:1px solid rgba(112,160,232,.14);background:#030a17a3}.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:#90a4c3;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:#f3f8ff;font-style:normal}.landing-fire-chart{position:relative;height:220px;border-radius:16px;background:linear-gradient(rgba(91,127,176,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(91,127,176,.08) 1px,transparent 1px),linear-gradient(180deg,#050c18d1,#050c18f0);background-size:100% 28px,28px 100%,100% 100%;overflow:hidden}.landing-fire-line{position:absolute;inset:auto auto 18px 20px;transform-origin:left bottom;border-radius:999px}.landing-fire-line-base{width:calc(100% - 40px);height:3px;background:#6487b766}.landing-fire-line-growth{width:82%;height:4px;background:linear-gradient(90deg,#58f1c5,#32dd8b);transform:rotate(-18deg);bottom:32px}.landing-fire-line-target{width:62%;height:4px;background:linear-gradient(90deg,#f5c85f,#ff706a);transform:rotate(-33deg);left:34%;bottom:54px}.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%),linear-gradient(180deg,#07101ef0,#060e1beb)}.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:#071120;display:grid;place-items:center;text-align:center}.landing-donut-inner span{color:#8aa0c0;font-size:12px}.landing-donut-inner strong{color:#f4f8ff;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:#ffffff0f}.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%),linear-gradient(180deg,#081022f0,#070e1deb)}.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:#030a1794}.landing-real-panel-accent{background:linear-gradient(180deg,#121e40cc,#060d1cb8)}.landing-closing-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px}.login-card{background:linear-gradient(180deg,#081224f2,#070e1eed);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:#030916ad;-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%),linear-gradient(180deg,#061226f5,#050b1cf2)}.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 rgba(255,255,255,.12);background:#ffffff0f;color:#dfe7f3;cursor:pointer}.auth-modal-close:hover{background:#ffffff1f}.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:#9aa9bf}.login-card input{border-radius:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.12);background:#070c1899;color:#dfe7f3}.login-sub{color:#9aa9bf;font-size:12px;margin:2px 0 6px}.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:#6f7f96}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ffffff1f}.divider:before{left:0}.divider:after{right:0}.login-footer{font-size:12px;color:#9aa9bf}.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%);background:#0c1428f2;border-radius:18px;padding:20px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.field input,.field select{border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:#070c1899;color:#dfe7f3}.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 rgba(255,255,255,.12);background:#060c1899;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:#0a1220f2;border:1px solid rgba(255,255,255,.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:#d7e5f6;text-align:left;font-size:16px;font-weight:600}.portfolio-picker-option:hover,.portfolio-picker-option.active{background:#2778ff33;color:#fff}.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:#1a2c44;display:grid;place-items:center;font-weight:600;text-decoration:none;color:#dfe7f3}.portfolio-strip{margin-top:18px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:#081020a6;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:#9aa9bf}.portfolio-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#dfe7f3;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:#0a101ee6;color:#dfe7f3;font-weight:600;border:1px solid rgba(255,255,255,.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:#fff;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 rgba(255,255,255,.12);background:#070c1899;color:#dfe7f3;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:#0c1428bf;border-radius:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.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:#dfe7f3;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:#9aa9bf;font-size:12px}.dashboard-info{display:grid;gap:4px}.dashboard-subrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#9aa9bf;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 rgba(255,255,255,.12);background:#070c1899}.dashboard-currency strong{color:#dfe7f3;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:#fecdd3}.empty-state{padding:32px;border-radius:18px;background:#0c1428bf;border:1px dashed rgba(255,255,255,.18);display:grid;gap:8px}.empty-state p{color:#9aa9bf}.manage-portfolios-card{margin-top:12px;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#080f20b8;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}.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 rgba(255,255,255,.12);background:#09101ee6;color:#d4def0;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:#9aa9bf;font-size:14px}.real-estate-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:6px;border-radius:999px;background:#090e1ad9;border:1px solid rgba(255,255,255,.06)}.real-estate-tabs button{border-radius:999px;padding:6px 16px;border:1px solid transparent;background:transparent;color:#9fb1c7;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:#9aa9bf;font-size:12px}.tag-pills{display:flex;flex-wrap:wrap;gap:8px}.tag-pills button{border-radius:999px;padding:6px 12px;border:1px solid rgba(255,255,255,.12);background:#0a1222e6;color:#d3deee;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:#9aa9bf;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.real-estate-category-select select{border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0a1222eb;color:#d3deee;padding:8px 10px}.real-estate-overview .summary-grid strong{font-size:20px;margin-top:6px;display:block}.stat-label{color:#8fa0ba;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:#0a101ee6;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}.summary-card span{color:#8fa0ba;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:#0c1428cc;border-radius:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.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:linear-gradient(145deg,#070e1cf2,#0c162abf);border:1px solid rgba(255,255,255,.08);display:grid;gap:16px}.real-estate-panel.rental-panel{background:linear-gradient(145deg,#061c22fa,#0c2830e6);border-color:#4de5ba47}.real-estate-panel.reit-panel{background:linear-gradient(145deg,#0c102cfa,#121a3ee6);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:#93a2bb;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:#080e1ce6;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px}.panel-stat span{color:#8fa0ba;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 rgba(255,255,255,.06)}.panel-metrics span{color:#8fa0ba;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 rgba(255,255,255,.16);color:#9aa9bf;text-align:center;background:#060c1899}.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:#92a1ba;font-size:12px}.gain{color:#44f3a5;font-weight:600}.loss{color:#f87171;font-weight:600}.real-estate-form-card{background:#080e1cbf;border:1px solid rgba(255,255,255,.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:#c7d2e6;font-size:12px}.real-estate-form input,.real-estate-form select{background:#080e1ce6;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;color:#e8eef9}.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:#ffffff14;color:#e8eef9}.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 rgba(255,255,255,.14);background:#080e1ccc;color:#d9e2f2;cursor:pointer}.real-estate-table .actions .delete{border-color:#f8717166;color:#fecdd3;background:#f871711f}@media(max-width:900px){.real-estate-table .row{grid-template-columns:repeat(2,minmax(0,1fr))}.real-estate-header{align-items:flex-start}}.stat-card{background:#0c1428cc;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.08);position:relative}.stat-title{display:inline-flex;align-items:center;gap:6px}.info-btn{border:1px solid rgba(255,255,255,.12);background:#080e1ccc;color:#d5deec;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:#080c18f2;border:1px solid rgba(255,255,255,.12);color:#d6dfed;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:#a6b3c7}.stat-card h2{font-size:26px;margin-top:10px}.stat-sub{margin-top:8px;font-size:12px;color:#a6b3c7;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 rgba(255,255,255,.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:6px;padding:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.mobile-nav .sidebar-link{justify-content:center;padding:8px 12px;gap:8px;min-width:auto;flex:0 0 auto;width:auto;max-width:none;overflow:visible;white-space:nowrap}.mobile-nav .sidebar-text,.mobile-nav .wip-badge{display:inline-flex!important;font-size:12px;opacity:1!important;animation:none!important;color:#dfe7f3;font-weight:600;letter-spacing:.01em}.mobile-nav .sidebar-link.active{color:#0d1c14;background:#2ad68d33}.mobile-nav .sidebar-link.active .sidebar-text{color:#e9fff4}.mobile-nav .sidebar-icon{display:none}.mobile-nav .sidebar-toggle{justify-content:center;padding:8px;gap:0}.mobile-nav .sidebar-footer{flex-direction:row!important;align-items:center;gap:6px;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:#0c1428cc;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.08)}.chart-card header{display:flex;justify-content:space-between;align-items:center}.chart-toggle{display:inline-flex;gap:6px;background:#080e1cb3;border-radius:999px;padding:4px;border:1px solid rgba(255,255,255,.08)}.chart-toggle button{border:none;background:transparent;color:#9aa9bf;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:#9aa9bf}.budget-period-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#0c142899;border:1px solid rgba(255,255,255,.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:#0c142899;border:1px solid rgba(255,255,255,.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:#a9bbd5;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:#a9bbd5;font-size:12px}.select-transactions-custom input{background:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;border-radius:10px;padding:8px 10px;font-size:12px}.select-transactions-footer{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px}.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:#a9bbd5;font-size:12px}.budget-period-bar select,.budget-period-bar input{background:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#7786a1}.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:#7786a1;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:#8fa0ba;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:#0a1324}.legend{display:grid;gap:6px;font-size:12px;color:#a6b3c7}.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:#c4d0e3}.bar-track{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.bar-fill{height:100%;border-radius:inherit}.bar-value{color:#9aa9bf}.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:#0c1428cc;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.08)}.category-head{display:flex;justify-content:space-between;font-size:12px;color:#9aa9bf}.category-card h4{margin-top:12px;font-size:22px}.tag{background:#ffffff14;padding:2px 8px;border-radius:999px;font-size:11px}.bar{margin-top:12px;height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2ad68d,#1b8af2)}.category-card p{margin-top:10px;color:#8fa0ba;font-size:12px}.institution-breakdown,.past-days{background:#091020bf;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.08)}.portfolio-performance-card,.portfolio-evolution-card{background:#091020c7;border-radius:18px;padding:20px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.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:#9aa9bf;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:#9aa9bf}.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%),linear-gradient(180deg,#060e1cdb,#060e1c42);border-radius:16px;border:1px solid rgba(120,154,199,.25);box-shadow:inset 0 0 0 1px #ffffff05;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:#0b162a8c}.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:#9cb0ce}.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:#f6a11a}.performance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.performance-kpis div{border-radius:10px;background:#0a162cb8;border:1px solid rgba(255,255,255,.08);padding:8px 10px}.performance-kpis span{display:block;font-size:11px;color:#93a3bd}.performance-kpis strong{display:block;margin-top:4px;font-size:14px}.evolution-content{min-height:220px;height:auto}.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:#080e1aeb;border:1px solid rgba(255,255,255,.1);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:#ffffff14;color:#cbd5f0;font-size:12px;cursor:pointer}.qr-close:hover{background:#ffffff29}.qr-preview{display:grid;place-items:center;background:#ffffff0f;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:#9aa9bf;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:#9aa9bf}.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{position:relative;width:16px;height:16px;min-width:16px;min-height:16px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;place-self:center;margin:0 auto;box-sizing:border-box}.qr-icon__finder{border:1.5px solid currentColor;border-radius:3px;background:transparent;width:100%;height:100%;box-sizing:border-box}.qr-icon__finder:nth-child(1){grid-column:1 / 2;grid-row:1 / 2}.qr-icon__finder:nth-child(2){grid-column:3 / 4;grid-row:1 / 2}.qr-icon__finder:nth-child(3){grid-column:1 / 2;grid-row:3 / 4}.qr-icon__dot{width:4px;height:4px;border-radius:1px;background:currentColor;align-self:center;justify-self:center}.import-section{display:grid;gap:14px}.import-header p{color:#9aa9bf;font-size:12px}.import-card{background:#0c1428d9;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.import-card-head p{color:#9aa9bf;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:#9aa9bf}.manual-form input{background:#070c1899;border:1px solid rgba(255,255,255,.12);color:#dfe7f3;border-radius:8px;padding:8px 10px}.manual-preview{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#9aa9bf}.manual-preview strong{color:#e5edf8;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:#080e1cb3;border:1px solid rgba(255,255,255,.08);font-size:12px;color:#9aa9bf}.preview-block strong{display:block;margin-top:6px;color:#e5edf8;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 rgba(255,255,255,.08);background:#080e1c99}.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:#080e1cb3}.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:#080e1cb3}.import-lines .row.head,.manual-table .row.head{background:transparent;color:#93a2bb;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:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#dfe7f3;font-size:12px;cursor:pointer}.file-btn input{display:none}.import-file{font-size:12px;color:#9aa9bf}.imports-overview-strip{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 14px;color:#a6b3c7;font-size:12px}.imports-overview-strip strong{color:#e6edf8}.imports-group{display:grid;gap:12px}.imports-group+.imports-group{margin-top:14px}.imports-group-title{margin:2px 0 0;font-size:13px;color:#9db0cd;letter-spacing:.02em}.imports-first-account-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 6px;color:#9db0cd;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:#94a3b8;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:#e2e8f0}.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:#dbeafe;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:#c9d7ea}.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:#fbbf2433;border-color:#fbbf2473;color:#fcd34d}.import-status-pill.configured{background:#22c55e26;border-color:#22c55e59;color:#86efac}.import-status-pill.updating{background:#3b82f629;border-color:#60a5fa73;color:#93c5fd}.import-status-pill.unknown{background:#94a3b829;border-color:#94a3b859;color:#cbd5e1}.import-status-pill.failed{background:#dc262629;border-color:#f8717166;color:#fca5a5}.import-status-pill.saving{background:#16a34a29;border-color:#4ade8080;color:#86efac}.import-status-pill.timeout{background:#f973162e;border-color:#fb923c7a;color:#fdba74}.import-provider-wrap.pending .import-card{background:linear-gradient(180deg,#3723086b,#0c1428d6);border-color:#fbbf244d}.import-provider-wrap.updating .import-card{background:linear-gradient(180deg,#0b234b6b,#0c1428d6);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:linear-gradient(180deg,#082f216b,#0c1428d6);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}}.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:#dbeafe;font-size:12px;pointer-events: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:#9aa9bf;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:#c9d7ea}.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 rgba(255,255,255,.08);background:#080e1c94}.import-preview-table{width:100%;border-collapse:collapse;min-width:760px}.import-preview-table th,.import-preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.import-preview-table th{color:#93a2bb;font-weight:600;background:#080e1ccc;position:sticky;top:0}.import-preview-table td{color:#dfe7f3}.import-preview-table td select{min-width:130px;background:#070c18d1;border:1px solid rgba(255,255,255,.12);color:#dfe7f3;border-radius:8px;padding:6px 8px}.import-error-text{color:#fca5a5;font-size:12px}.import-success-text{color:#86efac;font-size:12px}.category-creator{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.category-creator input{border-radius:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);background:#070c1899;color:#dfe7f3;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:#9aa9bf}.category-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#080e1cb3;border:1px solid rgba(255,255,255,.08);color:#dfe7f3;font-size:12px}.category-setting-toggle{display:inline-flex;align-items:center;gap:8px;color:#cbd6e5;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:#9aa9bf}.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:#080e1cb3}.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:#93a2bb;font-weight:600}.preview-table select{background:#070c1899;border:1px solid rgba(255,255,255,.12);color:#dfe7f3;border-radius:8px;padding:6px 8px}.import-inline-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#dfe7f3}.import-inline-checkbox input{accent-color:#22c55e}.include-toggle{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#cbd6e5}.include-toggle input{accent-color:#22c55e}.include-static{font-size:11px;color:#516074}.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:#080e1cb3}.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:#ffffff14;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:#93a2bb;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 rgba(255,255,255,.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:#93a2bb;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:#8fa0ba;font-size:14px;margin:0}.holdings-dashboard-tabs-inline{display:flex;gap:8px;flex-wrap:wrap}.holdings-dashboard-tabs-inline button{border:1px solid rgba(255,255,255,.12);background:#070c18b3;color:#dfe7f3;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:#8fa0ba;font-size:12px}.holdings-total strong{color:#e5eefb;font-size:18px}.holdings-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;background:#0c142899;border-radius:14px;padding:16px;border:1px solid rgba(255,255,255,.08)}.holdings-filters .filter-search{display:flex;align-items:center;gap:8px}.holdings-filters .filter-search input{flex:1}.holdings-chart{background:#091020bf;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.holdings-chip-row{display:flex;flex-wrap:wrap;gap:8px}.holdings-chip{border:1px solid rgba(255,255,255,.12);background:#070c18b3;color:#dfe7f3;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:#070c1899;border-radius:14px;padding:12px;border:1px solid rgba(255,255,255,.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:#9aa9bf;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 rgba(255,255,255,.12);background:#080e1c99;color:#c7d3ea;padding:10px 18px;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.holdings-dashboard-tabs button:hover{background:#080e1ccc;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 rgba(255,255,255,.12);background:#070c18b3;color:#dfe7f3;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:#080e1cb3;border:1px solid rgba(255,255,255,.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:#e5eefb;margin:0}.diversification-block-header .chart-sub{font-size:12px;color:#8fa0b8;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:#8fa0b8;display:block}.donut-center-text .donut-value{font-size:20px;font-weight:700;color:#e5eefb;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-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:#e5eefb}.diversification-item-info small{font-size:11px;color:#8fa0b8}.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:#8fa0b8}.diversification-bar{grid-column:1 / -1;height:8px;background:#ffffff0d;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:#8fa0ba;font-size:12px}.filter-tabs{display:flex;gap:8px}.filter-tabs button{border:1px solid rgba(255,255,255,.12);background:#080e1c99;color:#c7d3ea;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:#9aa9bf}.filter-field label{font-size:11px;color:#7f8ea7}.filter-field select,.filter-field input{background:#080e1ccc;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;color:#e5eefb}.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:#080e1cfa;border:1px solid rgba(255,255,255,.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:#e5eefb}.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:#c9d4e8;font-size:12px;border:1px solid rgba(72,88,122,.7)}.tag-filter-chip{cursor:pointer}.tag-filter-chip:hover{border-color:#56d29fb3;color:#e6fff3}.tag-chip.active{background:#31b97833;border-color:#31b97899;color:#d7f4e6}.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:#c9d4e8;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:#080d1a99;color:#e6efff}.tag-message{font-size:12px;color:#79f0b3}.holding-name{display:flex;flex-direction:column;gap:4px;font-size:12px}.holding-name small{color:#8fa0ba}.holding-meta-btn{align-self:flex-start;margin-top:4px;border:1px solid rgba(255,255,255,.12);background:#070c18b3;color:#dfe7f3;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:#0c1428f2;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.1);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:#9aa9bf}.holding-meta-grid input,.holding-meta-grid select{background:#080e1ccc;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;color:#e5eefb}.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:#e7f0ff}.sort-cell:focus{outline:1px solid rgba(123,160,255,.6);outline-offset:2px;border-radius:6px}.sort-arrow{font-size:10px;color:#7f8ea7}.holdings-tooltip{position:absolute;top:28px;left:0;max-width:240px;padding:10px 12px;border-radius:12px;background:#080c18f2;border:1px solid rgba(255,255,255,.12);color:#d6dfed;font-size:11px;line-height:1.4;white-space:pre-line;z-index:10}.holdings-form{background:#0c142899;border-radius:16px;padding:18px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.field label{font-size:11px;color:#7f8ea7}.field input,.field select{background:#080e1ccc;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;color:#e5eefb}.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:#96a6c2}.banking-view-toggle{display:flex;gap:12px;flex-wrap:wrap}.banking-view-toggle button{border:1px solid rgba(255,255,255,.12);background:#070c18b3;color:#dfe7f3;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:#0b1426;border-radius:20px;padding:20px;border:1px solid rgba(255,255,255,.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:#a9bbd5;font-size:13px}.banking-import-form input,.banking-import-form textarea,.banking-import-form select{background:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#a9bbd5;font-size:13px}.banking-import-mode select{background:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#0b1426e6;border-radius:20px;padding:18px;border:1px solid rgba(255,255,255,.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}.banking-manual-form label{display:grid;gap:6px;font-size:12px;color:#9aa9bf}.banking-manual-form input,.banking-manual-form select{background:#081020b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:#e5eefb}.banking-ocr-card{border-style:dashed}.banking-ocr-placeholder{display:grid;gap:12px;color:#9aa9bf}.banking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.banking-summary-card{background:#0b1426;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;color:#dfe7f3}.banking-summary-card span{font-size:12px;color:#93a4bf}.banking-summary-card strong{font-size:18px;font-weight:700}.banking-analytics{background:#0b1426;border-radius:20px;padding:18px;border:1px solid rgba(255,255,255,.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 rgba(255,255,255,.06);font-size:12px}.banking-analytics-table .row.header{font-weight:600;color:#b7c7df}.banking-analytics-table .row.over{color:#ff9c9c}.banking-targets,.banking-alerts{background:#0b1426;border-radius:20px;padding:18px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.banking-target-form input{background:#081020b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:#e5eefb}.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:#0c1428b3;border-radius:14px;border:1px solid rgba(255,255,255,.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:#e5eefb}.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:#9aa9bf}.banking-budget-form input{background:#081020b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:#e5eefb}.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:#0c1428b3;border-radius:14px;border:1px solid rgba(255,255,255,.06)}.banking-budget-row strong{display:block;font-size:14px;color:#e5eefb;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:#0b1426;border-radius:20px;padding:20px;border:1px solid rgba(255,255,255,.08)}.banking-preview header h3{margin:0}.banking-preview header p{margin:4px 0 0;color:#8ea2bf}.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 rgba(255,255,255,.06);font-size:13px}.banking-table .row{grid-template-columns:120px 1.5fr 120px 120px 200px 1.6fr 120px 160px 70px}@media(max-width:1100px){.list-period-selection-row,.select-transactions-custom{grid-template-columns:1fr}.select-transactions-footer{grid-template-columns:1fr;justify-items:start}.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:#ffffff14;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:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#e6ecf5;background-color:#0f1d36}.banking-preview-table .row.header,.banking-table .row.header{font-weight:600;color:#b7c7df}.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:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#0f1d36;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:1500;overflow-x:hidden;overflow-y:auto;max-height:300px;padding:4px 0}.cat-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;cursor:pointer;font-size:13px;color:#e6ecf5;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}.cat-dropdown-flyout{background:#0f1d36;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #00000080;max-height:260px;overflow-y:auto;overflow-x:hidden;padding:4px 0}.cat-dropdown-flyout-item{padding:7px 14px;cursor:pointer;font-size:12px;color:#e6ecf5;transition:background .12s;white-space:nowrap;-webkit-user-select:none;user-select:none}.cat-dropdown-flyout-item:hover{background:#2ac77c1f;color:#2ac77c}.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:#a9bbd5;font-size:13px;min-width:0}.banking-amount-filter{display:flex;flex-direction:column;gap:6px;color:#a9bbd5;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:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;border-radius:10px;padding:8px 10px;font-size:13px}.cat-filter-combobox{position:relative}.cat-filter-trigger{width:100%;background:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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:#0b1426;border:1px solid rgba(255,255,255,.1);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:#0f1d36;border:1px solid rgba(255,255,255,.12);color:#e6ecf5;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 rgba(255,255,255,.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:#d8e4f8;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:#0c1428bf;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.08)}.cockpit-header p{color:#9aa9bf;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:linear-gradient(145deg,#0c1428eb,#080e1aeb);border-radius:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.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}.cockpit-title-btn{appearance:none;border:1px solid rgba(110,195,255,.25);background:#121c2d99;color:#d9ebff;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:#fff;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-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:#e6f2ff;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:#7f92b2}.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:#90a3c2;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 rgba(255,255,255,.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:#d9ebff;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:#e6f2ff}.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:#e6f2ff}.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:#ffffff14;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:#9aa9bf}.budget-forecast{display:grid;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.budget-forecast-row{display:flex;justify-content:space-between;font-size:12px;color:#9aa9bf}.budget-forecast-row strong{color:#e6f2ff}.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:#9aa9bf;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:#ffffff14}.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:#9aa9bf}.cockpit-donut-label strong{font-size:16px;color:#e6f2ff}.cockpit-budget-values{display:grid;gap:6px;font-size:12px;color:#9aa9bf}.cockpit-budget-values strong{display:block;color:#e6f2ff;font-size:14px}.cockpit-budget-progress{display:grid;gap:6px}.cockpit-budget-progress-meta{display:flex;justify-content:space-between;font-size:11px;color:#9aa9bf}.cockpit-budget-forecast{display:grid;gap:8px;margin-top:6px}.cockpit-budget-forecast-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7f91ad}.cockpit-budget-forecast-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:12px;color:#9aa9bf}.cockpit-budget-forecast-row strong{color:#e6f2ff;font-size:13px}.forecast-bar{height:6px;background:#ffffff14;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:#9aa9bf}.cockpit-budget-empty-illustration{width:min(100%,320px);border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#070f1ed9;box-shadow:inset 0 0 0 1px #ffffff05;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:#fff}.debt-summary-subtitle{font-size:12px;color:#9aa9bf}.debt-summary-details{display:flex;gap:32px}.debt-summary-label{font-size:11px;color:#9aa9bf;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.debt-summary-value{font-size:22px;font-weight:700;color:#fff}.debt-summary-progress{display:flex;flex-direction:column;gap:8px}.debt-summary-bar-bg{height:6px;border-radius:3px;background:#ffffff1a;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:#9aa9bf}.debt-summary-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#9aa9bf}.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:#9aa9bf;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:grid;grid-template-columns:1fr 1.6fr;gap:18px;margin-top:12px}.fire-stats{display:grid;gap:10px}.fire-metric-box{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#080e1873;border:1px solid rgba(42,214,141,.18)}.fire-metric-value{font-size:18px;color:#dff8ee;line-height:1.2}.fire-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7c8aa5}.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:#dfe7f3}.fire-countdown span{color:#9aa9bf;font-size:12px}.fire-progress-meta{display:flex;justify-content:space-between;color:#9aa9bf;font-size:11px}.fire-progress-track{height:8px;border-radius:999px;background:#080e18b3;border:1px solid rgba(255,255,255,.08);overflow:hidden}.fire-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a45,#ffb37b)}.fire-chart{background:#080e1859;border-radius:16px;padding:12px 12px 10px}.fire-chart 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:#8ea0bc;font-size:11px}.cockpit-fire-chart-axis .axis-label{margin-top:4px;font-size:10px;color:#6f82a0}.cockpit-fire-chart-plot{border:1px solid rgba(255,255,255,.06);border-radius:12px;background:linear-gradient(180deg,#0b1422b3,#070d18a6);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:#8ea0bc;font-size:11px}.cockpit-fire-chart-axis-label{margin:4px 0 0;text-align:right;color:#6f82a0;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:#96a6c2}.debt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.debt-card{background:#0c1428d9;border-radius:18px;padding:18px;border:1px solid rgba(255,255,255,.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:#9aa9bf}.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 rgba(255,255,255,.06);text-align:left}.debt-table th{font-size:11px;text-transform:uppercase;color:#7f8ea7;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:#9aa9bf;display:grid;gap:6px;background:#0b1824cc;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:#9aa9bf}.cockpit-category-row{display:grid;gap:6px}.cockpit-category-label{display:flex;justify-content:space-between;font-size:13px;color:#dfe7f3}.cockpit-category-track{position:relative;height:10px;border-radius:999px;background:#080e18b3;border:1px solid rgba(255,255,255,.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:#9aa9bf}.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:#080e1cb3;border:1px solid rgba(255,255,255,.06)}.cockpit-list-row strong{display:block;font-size:13px}.cockpit-list-row span{display:block;font-size:12px;color:#9aa9bf}.subportfolio-list .cockpit-list-row{background:#0a101ebf;border:1px solid rgba(255,255,255,.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:#8fa0ba}.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 rgba(255,255,255,.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:#9aa9bf}.cockpit-metric strong{color:#dfe7f3;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:#9aa9bf}.cockpit-income-box{background:#080e1cbf;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:#ffffff1a}.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 rgba(255,255,255,.1)}.realestate-assets-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8fa3c7}.realestate-list{gap:12px}.realestate-row{padding:12px 14px;background:#070c18cc;border:1px solid rgba(255,255,255,.08)}.realestate-row .cockpit-item-title{align-items:flex-start}.realestate-row .cockpit-item-title strong{font-size:13px;color:#e6efff}.realestate-row .cockpit-item-title span{font-size:11px;color:#8fa0ba}.realestate-metric-line{display:block;line-height:1.35}.realestate-metric-label{color:#8fa0ba;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:#0a101ebf;border:1px solid rgba(255,255,255,.1);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:#080e1cbf;border:1px solid rgba(255,255,255,.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:#8fa0b8}.cockpit-debt-card .debt-metric strong{display:block;font-size:15px;color:#dfe7f3}.debt-progress .debt-meta{display:flex;justify-content:space-between;font-size:11px;color:#8fa0b8}@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}.cockpit-fire-layout{grid-template-columns:1fr}}@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:#eaf1ff}.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:#e5eefb}.admin-header p{color:#8fa0ba;font-size:14px;margin:0}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}.admin-tabs button{padding:10px 20px;background:transparent;border:none;color:#8fa0ba;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:#0c142899;border-radius:8px;padding:16px;border:1px solid rgba(255,255,255,.08)}.excel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px;flex-wrap:wrap}.excel-header strong{color:#e5eefb;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:#091020bf;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:16px}.admin-section h3{font-size:18px;font-weight:700;color:#e5eefb;margin:0}.admin-summary-section{background:linear-gradient(135deg,#2ad68d14,#091020bf)}.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:#c5d6f2;margin-bottom:6px}.ticker-update-bar__track{position:relative;width:100%;height:8px;border-radius:999px;background:#ffffff14;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:#0c142899;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.summary-label{font-size:12px;font-weight:600;color:#8fa0ba;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:#0c1428cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 14px;color:#dfe7f3;font-size:14px}.admin-textarea{background:#0c1428cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;color:#dfe7f3;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:#0c1428cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 12px;color:#dfe7f3;font-size:14px;min-width:200px}.admin-table-container{overflow-x:auto;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.admin-table{width:100%;border-collapse:collapse;background:#060a1499}.admin-table thead{background:#0c1428cc}.admin-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#8fa0ba;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.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:#dfe7f3;border-bottom:1px solid rgba(255,255,255,.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:#9aa9bf}.admin-pagination-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-pagination-page{color:#dfe7f3;font-weight:600}.inline-select{background:#0c1428cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 10px;color:#dfe7f3;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:#091020d9;border:1px solid rgba(255,255,255,.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:#060a1499;border-radius:8px}.api-detail-item{display:flex;flex-direction:column;gap:4px}.api-detail-item strong{color:#8fa0ba;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.api-detail-item span{color:#e5eefb;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:#dfe7f3;font-size:13px;margin:0;line-height:1.6}.api-config-hint code{background:#0c1428cc;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:#e5eefb;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:#dfe7f3;font-size:14px}.config-instructions code{background:#0c1428cc;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;color:#2ad68d}.config-example{background:#060a14cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:16px;color:#dfe7f3;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:#0c122099;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#dfe7f3;margin-bottom:8px}.inst-search-input:focus{outline:none;border-color:#3b82f6;background:#0c1220cc}.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:#9aa9bf;font-size:13px}.inst-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:8px;background:#ffffff08;border:1px solid transparent;width:100%;text-align:left;cursor:pointer;transition:all .2s;color:#e2e8f0}.inst-item:hover{background:#ffffff0f}.inst-item.selected{background:#3b82f626;border-color:#3b82f666}.inst-logo{width:32px;height:32px;flex-shrink:0;background:#1e293b;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:#94a3b8;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 rgba(255,255,255,.1);border-radius:8px;background:transparent;color:#9aa9bf;font-size:14px;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:#ffffff0d}.toggle-btn.active{background:#2ad68d26;border-color:#2ad68d66;color:#2ad68d}.data-source-hint{margin-top:8px;font-size:12px;color:#6b7a8f;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:#fff;margin:0 0 4px}.bank-header p{font-size:13px;color:#6b7a8f;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:#0c122080;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#fff;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:#9aa9bf}.bank-item{display:flex;align-items:center;gap:12px;padding:12px;background:#161e2e99;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.bank-item:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1a}.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:#ffffff0d;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:#94a3b8}.bank-name{flex:1;font-size:14px;font-weight:500;color:#fff}.bank-empty{padding:24px;text-align:center;color:#6b7a8f}.bank-footer{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.bank-footer small{font-size:11px;color:#6b7a8f;line-height:1.5}.hosted-flow-info{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:16px;margin-bottom:16px}.hosted-flow-info p{font-size:14px;color:#c8d0da;margin:0 0 12px}.hosted-flow-info ul{margin:0;padding-left:20px}.hosted-flow-info li{font-size:13px;color:#6b7a8f;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:#fff;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:#6b7a8f}.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 rgba(255,255,255,.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:#ffffff08}.bank-connection-logo{width:40px;height:40px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#ffffff0d;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:#94a3b8}.bank-connection-info{flex:1;display:flex;flex-direction:column;gap:4px}.bank-connection-info strong{font-size:14px;font-weight:500;color:#fff}.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:#9ca3af}.bank-connection-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bank-connection-meta small{font-size:11px;color:#6b7a8f}.expand-icon{color:#6b7a8f;font-size:10px;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.bank-connection-details{border-top:1px solid rgba(255,255,255,.06);padding:16px}.bank-accounts-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:#9aa9bf}.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:#0c122066;border-radius:8px}.bank-account-info{display:flex;flex-direction:column;gap:4px}.bank-account-info strong{font-size:14px;font-weight:500;color:#fff}.bank-account-info small{font-size:12px;color:#6b7a8f;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:#6b7a8f}.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}.bank-connection-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.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:#6b7a8f}.openbanking-callback{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.callback-card{background:#161e2ecc;border:1px solid rgba(255,255,255,.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:#fff;margin:0 0 12px}.callback-card p{font-size:14px;color:#9aa9bf;margin:0}.callback-hint{margin-top:16px!important;font-size:13px!important;color:#6b7a8f!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 rgba(255,255,255,.1);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:#fff;margin-bottom:8px}.admin-openbanking .section-description{color:#94a3b8;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:#1e293b;border:1px solid rgba(255,255,255,.1);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:#fff;margin:0 0 4px;font-size:1.1rem}.provider-info p{color:#94a3b8;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 rgba(255,255,255,.1);padding-top:16px}.credentials-section h5{color:#94a3b8;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:#ffffff0d;padding:4px 8px;border-radius:4px;color:#94a3b8;font-size:.85rem}.missing-creds{color:#f59e0b;font-size:.85rem}.no-credentials p{color:#94a3b8;margin:0 0 4px;font-size:.9rem}.env-vars code{font-family:Fira Code,monospace;background:#ffffff0d;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:#94a3b8;font-size:.9rem}.test-btn{background:#3b82f6;color:#fff;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}.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:#fff;display:block;margin-bottom:4px}.test-result p{color:#94a3b8;margin:0;font-size:.9rem}.sample-banks{margin-top:8px}.sample-banks small{color:#64748b;font-size:.8rem}.sample-banks ul{margin:4px 0 0 16px;padding:0;list-style:disc}.sample-banks li{color:#94a3b8;font-size:.85rem}.stats-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.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:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.stat-card h4{color:#94a3b8;font-size:.8rem;text-transform:uppercase;margin:0 0 8px}.stat-value{color:#fff;font-size:2rem;font-weight:600}.stat-list{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;justify-content:space-between;color:#94a3b8;font-size:.9rem}.stat-item .count{color:#fff;font-weight:500}.recent-syncs h4{color:#fff;margin-bottom:12px}.syncs-table{width:100%;border-collapse:collapse;font-size:.9rem}.syncs-table th{text-align:left;padding:12px;background:#1e293b;color:#94a3b8;font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}.syncs-table td{padding:12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}.syncs-table .error-cell{color:#ef4444;font-size:.8rem}.help-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.help-section h4{color:#fff;margin-bottom:16px}.instructions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.instruction-block{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.instruction-block h5{color:#fff;margin:0 0 12px}.instruction-block ol{margin:0;padding-left:20px;color:#94a3b8}.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:#0f172a;padding:12px;border-radius:6px;margin:8px 0;overflow-x:auto;font-family:Fira Code,monospace;font-size:.8rem;color:#94a3b8}.instruction-block code{font-family:Fira Code,monospace;background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:.85rem;color:#3b82f6}.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:#fff}.tax-report-header p{margin:6px 0 0;color:#94a3b8}.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 rgba(255,255,255,.16);background:#0f172a;color:#fff;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:#94a3b8}.tax-report-grid .cockpit-card strong{font-size:1.45rem;color:#fff}.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:#94a3b8}.tax-report-row strong{color:#fff}.tax-report-table-wrap{overflow-x:auto}.tax-report-disclaimer{margin-top:10px;font-size:.85rem;color:#94a3b8}.tax-report-error{color:#f87171;margin:0}.tax-report-upgrade .plan-upgrade-banner{margin-top:10px}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.skeleton-block{background:#ffffff14;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:#c8d3e6;margin:0}.empty-state-description{font-size:.85rem;color:#6b7a8f;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-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:#ffffff08;border:1px solid rgba(255,255,255,.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:#e8edf5;margin:0 0 4px}.notification-body{font-size:13px;color:#9aa9bf;margin:0 0 6px}.notification-time{font-size:11px;color:#5a6a82}.notification-read-btn{flex-shrink:0;font-size:16px;opacity:.6}.notification-read-btn:hover{opacity:1}.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:#dce9ff;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:linear-gradient(180deg,#05122ef5,#030c20f5)}.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:#dce9ff;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:#dfe7f3}.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:#dfe7f3}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px;color:#dfe7f3}.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 rgba(255,255,255,.08)}.import-preview-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.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:#dfe7f3}.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:#070c1880;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:#9aa9bf}.insights-summary span{padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a}.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 rgba(255,255,255,.12);background:#ffffff08;font-size:12px;color:#c7d5e9}.insights-preferences label{display:inline-flex;align-items:center;gap:6px}.insights-filters select{min-width:170px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#0f172a;color:#fff;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 rgba(255,255,255,.12);background:#0f172abf}.insight-explain-row{margin:0 0 6px;color:#c7d5e9;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:#e8edf5}.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:linear-gradient(180deg,#07111f,#091425)}.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)}}
