/* Calibra Unified Portal v3.1 — Full UX Overhaul */
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100vw}
a,button,.card,.badge,.btn,table tbody tr,.tab{transition:all 150ms ease}

:root{--bg:#0D1223;--surface:#111a2e;--surface-hover:#182840;--sidebar-bg:#111a2e;--topbar-bg:#111a2e;--border:#23324B;--border-light:#2E4060;--primary:#0052FF;--primary-hover:#1A6AFF;--success:#10B981;--gold:#EAB308;--danger:#EF4444;--text:#E2E8F0;--text-secondary:#8291A5;--text-muted:#8291A5;--hover:rgba(255,255,255,0.05);--card-gradient:linear-gradient(135deg,#111a2e 0%,rgba(0,82,255,0.08) 100%);--table-row-hover:#182840;--input-bg:#111a2e;--shadow:0 1px 3px rgba(0,0,0,0.3);--shadow-lg:0 4px 12px rgba(0,0,0,0.4);--class-a:#0052FF;--class-b:#10B981;--class-t:#F59E0B;--origin-contributed:#F59E0B;--origin-purchased:#0052FF;--sidebar-width:220px;--sidebar-collapsed:56px;--topbar-height:52px}
[data-theme="light"]{--bg:#F5F7FA;--surface:#FFFFFF;--surface-hover:#F0F2F8;--sidebar-bg:#F0F2F8;--topbar-bg:#FFFFFF;--border:#D1D5E0;--border-light:#E2E5F0;--text:#111425;--text-secondary:#4B5563;--text-muted:#6B7280;--hover:rgba(0,0,0,0.04);--card-gradient:linear-gradient(135deg,#FFFFFF 0%,rgba(0,82,255,0.04) 100%);--table-row-hover:rgba(0,0,0,0.02);--input-bg:#F0F2F8;--shadow:0 1px 3px rgba(0,0,0,0.08);--shadow-lg:0 4px 12px rgba(0,0,0,0.12);--gold:#B8860B;--success:#00A651;--danger:#DC2626;--class-b:#00A651;--class-t:#B8860B;--origin-contributed:#B8860B}

body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;min-height:100vh;transition:background 0.25s,color 0.25s}

/* TOP BAR */
.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);background:var(--topbar-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:90;transition:left 0.25s,background 0.25s}
.topbar-left{display:flex;align-items:center;gap:16px}
.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--text-muted)}
.topbar-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color 0.15s}
.topbar-breadcrumb a:hover{color:var(--primary)}
.topbar-breadcrumb .sep{color:var(--border)}
.topbar-breadcrumb .current{color:var(--text);font-weight:600}
.topbar-status{font-size:0.75rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}
.topbar-status .live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.topbar-right{display:flex;align-items:center;gap:12px}
.topbar-search{position:relative}
.topbar-search input{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:6px 12px 6px 32px;color:var(--text);font-size:0.82rem;width:200px;transition:all 0.2s;outline:none}
.topbar-search input:focus{border-color:var(--primary);width:280px}
.topbar-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:0.8rem}
.topbar-search .kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:0.65rem;color:var(--text-muted);background:var(--bg);padding:1px 5px;border-radius:3px;border:1px solid var(--border)}
.topbar-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s;color:var(--text-secondary);font-size:1rem;position:relative;background:transparent;border:none}
.topbar-icon:hover{background:var(--hover);color:var(--text)}
.topbar-icon .notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--topbar-bg)}
.topbar-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.75rem;font-weight:700;cursor:pointer}

/* SIDEBAR */
.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;overflow-x:hidden;z-index:100;transition:width 0.25s,background 0.25s;display:flex;flex-direction:column;padding:12px 10px}
.sidebar.collapsed{width:var(--sidebar-collapsed)}
.sidebar.collapsed .sidebar-brand .name,.sidebar.collapsed .sidebar-brand .sub,.sidebar.collapsed .sidebar-lang,.sidebar.collapsed .sidebar-user .name,.sidebar.collapsed .sidebar-user .label,.sidebar.collapsed .sidebar-user .role-tag,.sidebar.collapsed .sidebar-section,.sidebar.collapsed .sidebar-footer .version,.sidebar.collapsed .sidebar-nav a span,.sidebar.collapsed .sidebar-footer a span,.sidebar.collapsed .admin-select{display:none}
.sidebar.collapsed .sidebar-nav a{padding:10px;justify-content:center;font-size:1.1rem}
.sidebar.collapsed .sidebar-footer a{padding:8px;font-size:1rem}
.sidebar-collapse-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:6px;margin-bottom:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:0.9rem;transition:all 0.15s}
.sidebar-collapse-btn:hover{background:var(--hover);color:var(--text)}
.sidebar-logo{text-align:center;margin-bottom:4px}
.sidebar-logo svg{width:32px;height:32px}
.sidebar-brand{text-align:center;margin-bottom:2px}
.sidebar-brand .name{font-size:1.2rem;font-weight:800;color:var(--text)}
.sidebar-brand .sub{color:#2E75B6;font-size:0.65rem;font-weight:700;letter-spacing:3px}
.sidebar-lang{margin:8px 0;text-align:center}
.sidebar-lang select{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:0.78rem;width:100%}
.sidebar-user{background:rgba(0,82,255,0.08);border:1px solid rgba(0,82,255,0.25);border-radius:8px;padding:8px 10px;margin:8px 0}
.sidebar-user .label{color:var(--text-muted);font-size:0.6rem;text-transform:uppercase;letter-spacing:1px}
.sidebar-user .name{color:var(--text);font-size:0.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user .role-tag{color:var(--primary);font-size:0.65rem;font-weight:600}
.sidebar-section{color:var(--text-muted);font-size:0.6rem;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;margin:14px 0 4px;padding-left:4px}
.sidebar-nav a{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 7px;border-radius:0 8px 8px 0;color:#8291A5;text-decoration:none;font-size:0.84rem;font-weight:400;margin:1px 0;transition:all 0.15s;white-space:nowrap;overflow:hidden;border-left:3px solid transparent}
.sidebar-nav a .nav-icon{flex-shrink:0;width:20px;text-align:center;font-size:0.9rem}
.sidebar-nav a:hover{background:rgba(25,40,65,0.5);color:#E2E8F0}
.sidebar-nav a.active{background:rgba(25,40,65,0.4);border-left-color:#0052FF;color:#E2E8F0;font-weight:500}
.admin-select{width:100%;padding:5px 8px;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:0.75rem;margin-bottom:8px}
.topbar-theme-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s;color:var(--text-secondary);background:transparent;border:none}
.topbar-theme-btn:hover{background:var(--hover);color:var(--text)}
.sidebar-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}
.sidebar-footer a{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:0.8rem;border:1px solid var(--border);margin:3px 0;transition:all 0.15s}
.sidebar-footer a:hover{border-color:var(--primary);color:var(--text)}
.sidebar-footer .version{color:var(--text-muted);font-size:0.65rem;text-align:center;margin-top:6px}

/* MAIN */
.main{margin-left:var(--sidebar-width);padding-top:calc(var(--topbar-height) + 24px);padding-left:32px;padding-right:32px;padding-bottom:40px;min-height:100vh;transition:margin-left 0.25s}
.sidebar.collapsed~.topbar{left:var(--sidebar-collapsed)}
.sidebar.collapsed~.main{margin-left:var(--sidebar-collapsed)}
.page-title{font-size:1.7rem;font-weight:700;margin-bottom:2px;color:var(--text)}
.page-subtitle{color:var(--text-muted);font-size:0.9rem;margin-bottom:20px}
.section-divider{height:1px;background:var(--border);margin:24px 0}
.section-block{padding:20px 32px;margin:0 -32px}
.section-alt{background:rgba(255,255,255,0.025)}
[data-theme="light"] .section-alt{background:rgba(0,0,0,0.015)}
.section-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.section-header .accent-bar{width:4px;height:24px;border-radius:2px;flex-shrink:0}
.section-header h2{font-size:1.3rem;font-weight:600;margin:0 0 2px;color:var(--text)}
.section-subtitle{font-size:0.8rem;color:var(--text-muted)}
.comparison-section{margin-top:24px}
.comparison-section-label{font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
@media(max-width:900px){.section-block{padding:16px 16px;margin:0 -16px}}
@media(max-width:600px){.section-block{padding:14px 10px;margin:0 -10px}}
.sub-stepper{display:flex;align-items:flex-start;margin-bottom:24px;max-width:480px}
.sub-step{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:72px}
.sub-step .step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:700;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all 0.2s;flex-shrink:0}
.sub-step .step-label{font-size:0.7rem;font-weight:500;color:var(--text-muted);white-space:nowrap;text-align:center}
.step-connector{flex:1;height:2px;background:var(--border);margin:0 6px;margin-bottom:18px;transition:background 0.2s;min-width:24px}
.sub-step.active .step-circle{border-color:var(--primary);background:var(--primary);color:#fff}
.sub-step.active .step-label{color:var(--primary);font-weight:600}
.sub-step.done .step-circle{border-color:var(--success);background:var(--success);color:#fff}
.sub-step.done .step-label{color:var(--success)}
.step-connector.done{background:var(--success)}
.ack-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:none;border-left:3px solid var(--border);border-radius:0 8px 8px 0;background:var(--surface);margin-bottom:10px;cursor:pointer;transition:border-color 0.2s,background 0.2s}
.ack-item:hover{border-left-color:var(--primary)}
.ack-item.checked{border-left-color:var(--primary);background:rgba(0,82,255,0.05)}
.ack-item input[type="checkbox"]{width:18px;height:18px;min-width:18px;margin-top:2px;cursor:pointer;accent-color:var(--primary)}
.ack-content{flex:1}
.ack-title{font-weight:500;font-size:0.95rem;margin-bottom:4px}
.ack-text{color:var(--text-secondary);font-size:0.875rem;font-weight:400;line-height:1.5}
.product-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg);border-radius:10px;padding:16px;margin-bottom:20px}
.product-preview .pp-item{display:flex;flex-direction:column;gap:2px}
.product-preview .pp-label{font-size:0.65rem;font-weight:600;letter-spacing:0.06em;color:var(--text-muted);text-transform:uppercase}
.product-preview .pp-value{font-size:0.92rem;font-weight:600;color:var(--text)}
.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.confirm-item{display:flex;flex-direction:column;gap:3px;background:var(--bg);border-radius:8px;padding:12px}
.confirm-item .ci-label{font-size:0.65rem;font-weight:600;letter-spacing:0.05em;color:var(--text-muted);text-transform:uppercase}
.confirm-item .ci-value{font-size:0.95rem;font-weight:600;color:var(--text)}
@media(max-width:640px){.sub-stepper{max-width:100%}.product-preview,.confirm-grid{grid-template-columns:1fr}}

/* HERO METRIC */
.hero-metric .hero-label{color:var(--text-muted);font-size:0.7rem;font-weight:400;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.hero-metric .hero-value{font-size:2.8rem;font-weight:800;color:var(--text);line-height:1.1;letter-spacing:-1px}
.hero-metric .hero-change{font-size:1rem;margin-top:2px;font-weight:600}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow);transition:all 0.2s}
.card:hover{box-shadow:var(--shadow-lg);background:#1E3352}
.card-clickable{cursor:pointer}
.card-clickable:hover{border-color:var(--primary);transform:translateY(-1px)}
.card-header{font-size:1.05rem;font-weight:500;margin-bottom:10px;color:var(--text)}
.main h2{font-weight:600}.main h3{font-weight:600}.card h3,.card h4{font-weight:500}.card p{font-weight:400}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}
.card-grid-3 .card{display:flex;flex-direction:column}
.featured-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.featured-card{display:flex;flex-direction:column;background:var(--surface-tint,rgba(255,255,255,0.03));padding:20px}
.card-grid-2.equal-height .card{display:flex;flex-direction:column}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.product-grid .card{display:flex;flex-direction:column;min-height:220px}
.buy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:stretch}
.buy-grid .card{display:flex;flex-direction:column}

/* FINANCIAL SOVEREIGNTY */
.sovereignty-section{margin:4px 0}
.sovereignty-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:16px 20px;background:rgba(0,82,255,0.06);border-left:4px solid var(--primary);border-radius:0 8px 8px 0}
.sovereignty-icon{color:var(--primary);flex-shrink:0}
.sovereignty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sovereignty-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}
.sovereignty-card-title{font-weight:600;font-size:0.88rem;color:var(--primary);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.04em}
.sovereignty-card-desc{color:var(--text-secondary);font-size:0.85rem;line-height:1.55;margin:0}
.sovereignty-nominee{color:var(--text-muted);font-size:0.8rem;font-style:italic;margin-top:14px;padding:0 2px}

/* METRICS */
.metric{text-align:center}
.metric .label{color:var(--text-muted);font-size:0.65rem;text-transform:uppercase;letter-spacing:1px}
.metric .value{font-size:1.4rem;font-weight:700;color:var(--text)}
.metric .delta{font-size:0.75rem;margin-top:1px}
.delta-pos{color:var(--success)}
.delta-neg{color:var(--danger)}
.metrics-row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.metrics-row .metric{flex:1;min-width:100px}
.metrics-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:12px 0}
.metrics-compact .mc-item{padding:8px 12px;background:var(--bg);border-radius:8px}
.metrics-compact .mc-item .label{color:var(--text-muted);font-size:0.6rem;text-transform:uppercase;letter-spacing:0.5px;font-weight:400}
.metrics-compact .mc-item .value{font-size:1.1rem;font-weight:700;color:var(--text)}

/* TABLES */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}
th{background-color:#111a2e;color:#8291A5;font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;text-align:left;padding:8px 10px;border-bottom:1px solid #23324B;white-space:nowrap;font-weight:500}
td{padding:8px 10px;border-bottom:1px solid var(--border);color:#E2E8F0;font-size:0.85rem}
tr{transition:background 0.15s ease}
tr:hover td{background-color:#182840}

/* P&L TINTING */
.delta-pos{color:#10B981}
.delta-neg{color:#EF4444}
.delta-neu{color:#8291A5}
td.delta-pos{background-color:rgba(16,185,129,0.08)}
td.delta-neg{background-color:rgba(239,68,68,0.08)}
tr:hover td.delta-pos{background-color:rgba(16,185,129,0.15)}
tr:hover td.delta-neg{background-color:rgba(239,68,68,0.15)}
.pnl-pos{background-color:rgba(16,185,129,0.08);color:#10B981}
.pnl-neg{background-color:rgba(239,68,68,0.08);color:#EF4444}
.pnl-neutral{color:#8291A5}

/* BADGES */
.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:0.65rem;font-weight:600;white-space:nowrap}
.badge-blue{background:rgba(46,117,182,0.2);color:#2E75B6}
.badge-green{background:rgba(16,185,129,0.2);color:#10B981}
.badge-gold{background:rgba(245,158,11,0.2);color:#F59E0B}
.badge-red{background:rgba(239,68,68,0.2);color:#EF4444}
.badge-muted{background:rgba(107,114,128,0.2);color:#6B7280}
.badge-class-a{background:rgba(0,82,255,0.15);color:var(--class-a);border:1px solid rgba(0,82,255,0.25)}
.badge-class-b{background:rgba(16,185,129,0.15);color:#10B981;border:1px solid rgba(16,185,129,0.25)}
.badge-class-t{background:rgba(245,158,11,0.15);color:#F59E0B;border:1px solid rgba(245,158,11,0.25)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:0.88rem;font-weight:600;cursor:pointer;border:none;transition:all 0.15s;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:#FFF}
.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,82,255,0.3)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:rgba(46,117,182,0.15)}
.btn-success{background:var(--success);color:#FFF}
.btn-success:hover{opacity:0.9}
.btn-danger{background:var(--danger);color:#FFF}
.btn-danger:hover{opacity:0.9}
.btn-sm{padding:5px 12px;font-size:0.78rem}
.btn-full{width:100%}
.btn[disabled]{opacity:0.4;cursor:not-allowed;transform:none!important}

/* FORMS */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.form-group{margin-bottom:10px}
.form-group label{display:block;color:var(--text-muted);font-size:0.78rem;margin-bottom:4px;font-weight:500}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:0.88rem;transition:border-color 0.2s;outline:none}
.form-group input:focus,.form-group select:focus{border-color:var(--primary)}
.form-group input[type="range"]{padding:0;background:transparent;border:none}

/* PRODUCT CARDS */
.product-card{background:var(--card-gradient);border:1px solid var(--border);border-radius:12px;padding:18px;transition:all 0.2s}
.product-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}

/* COLLAR */
.collar-bar{position:relative;height:22px;background:rgba(16,185,129,0.12);border-radius:11px;margin:8px 0}
.collar-bar .current{position:absolute;top:-3px;width:28px;height:28px;background:var(--primary);border-radius:50%;border:2px solid var(--surface);z-index:2;transition:left 0.3s}
.collar-labels{display:flex;justify-content:space-between;font-size:0.7rem;color:var(--text-muted)}

/* HOLDINGS */
.holding-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow);transition:all 0.2s;display:block;text-decoration:none;color:inherit}
.holding-card-link{cursor:pointer}
.holding-card-link:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-1px)}
.holding-view-details{margin-top:14px;font-size:0.85rem;font-weight:600;color:var(--primary);text-align:right}
.your-position-card{border-left:3px solid var(--primary)}
.holding-card .holding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.holding-card .holding-name{font-size:1rem;font-weight:600;color:var(--text)}
.holding-card .holding-metrics{display:flex;gap:20px;margin-bottom:10px;flex-wrap:wrap}
.holding-card .holding-metric .label{color:var(--text-muted);font-size:0.6rem;text-transform:uppercase;letter-spacing:1px}
.holding-card .holding-metric .value{font-size:1.15rem;font-weight:700;color:var(--text)}
.view-toggle{display:flex;gap:2px;background:var(--bg);border-radius:6px;padding:2px}
.view-toggle button{padding:4px 10px;border:none;background:transparent;color:var(--text-muted);font-size:0.75rem;border-radius:4px;cursor:pointer;transition:all 0.15s}
.view-toggle button.active{background:var(--surface);color:var(--text);font-weight:600}

/* TABS */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab{padding:8px 18px;color:var(--text-muted);font-size:0.85rem;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;white-space:nowrap;text-decoration:none}
.tab:hover{color:var(--text)}
.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;background:#1E3352;border-radius:6px 6px 0 0}
.tab-content{display:none}
.tab-content.active{display:block}

/* INFO BOXES */
.info-box{background:rgba(46,117,182,0.06);border:1px solid rgba(46,117,182,0.2);border-radius:10px;padding:14px;margin:14px 0}
.gold-box{background:rgba(245,158,11,0.06);border:1px solid rgba(245,158,11,0.15);border-radius:10px;padding:14px;margin:14px 0}
.risk-box{background:rgba(239,68,68,0.05);border:1px solid rgba(239,68,68,0.2);border-radius:10px;padding:14px;margin:14px 0}
.risk-box .title{color:var(--danger);font-weight:600;margin-bottom:4px}
.risk-box p{color:var(--text-secondary);font-size:0.85rem;line-height:1.5}
.success-box{background:rgba(16,185,129,0.06);border:1px solid rgba(16,185,129,0.2);border-radius:10px;padding:14px;margin:14px 0}

/* FLASH */
.flash-success,.flash-error,.flash-info,.flash-warning{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:0.85rem;animation:flashIn 0.3s ease;text-align:center}
.flash-success{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.3);color:#10B981}
.flash-error{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);color:#EF4444}
.flash-info{background:rgba(46,117,182,0.1);border:1px solid rgba(46,117,182,0.3);color:#2E75B6}
.flash-warning{background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.3);color:#F59E0B}
@keyframes flashIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* EMPTY STATES */
.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}
.empty-state .empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:0.5}
.empty-state .empty-title{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}
.empty-state .empty-desc{font-size:0.88rem;margin-bottom:16px;max-width:400px;margin-left:auto;margin-right:auto}

/* ADMIN */
.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.admin-metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow)}
.admin-metric .label{color:var(--text-muted);font-size:0.65rem;text-transform:uppercase;letter-spacing:1px}
.admin-metric .value{font-size:1.6rem;font-weight:700;color:var(--text)}

/* LOGIN */
.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg);flex-direction:column;padding:20px}
.login-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:36px;width:100%;max-width:500px;box-shadow:var(--shadow-lg)}
.login-logo{text-align:center;margin-bottom:20px}
.login-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--border)}
.login-tab{flex:1;padding:8px;text-align:center;color:var(--text-muted);cursor:pointer;font-size:0.85rem;border-bottom:2px solid transparent;transition:all 0.2s}
.login-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
.jurisdiction-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.jurisdiction-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;text-align:center;cursor:pointer;transition:all 0.2s}
.jurisdiction-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.jurisdiction-card .title{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:6px}
.jurisdiction-card .desc{color:var(--text-secondary);font-size:0.82rem;line-height:1.5;margin-bottom:14px}
.jurisdiction-disclaimer{text-align:center;color:var(--text-muted);font-size:0.72rem;line-height:1.7;max-width:600px;margin:16px auto 0}

/* MISC */
.yusd-banner{background:linear-gradient(135deg,rgba(0,82,255,0.08),rgba(255,215,0,0.06));border:1px solid rgba(0,82,255,0.2);border-radius:10px;padding:12px 18px;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.viewing-banner{background:rgba(255,184,0,0.1);border:1px solid rgba(255,184,0,0.3);color:var(--gold);padding:8px 14px;border-radius:8px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;font-size:0.85rem}
.viewing-banner a{color:var(--primary);text-decoration:none;font-weight:600}
.k1-banner{position:relative;display:flex;align-items:center;gap:12px;background:rgba(0,120,212,0.08);border:1px solid rgba(0,120,212,0.22);border-radius:10px;padding:10px 14px 10px 18px;margin-bottom:16px;min-height:48px;overflow:hidden}
.k1-banner-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);border-radius:10px 0 0 10px}
.k1-banner-icon{color:var(--primary);flex-shrink:0;display:flex;align-items:center}
.k1-banner-body{flex:1;font-size:0.9rem;color:var(--text-primary);line-height:1.4}
.k1-banner-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.3rem;line-height:1;padding:0 2px;flex-shrink:0;transition:color .15s}
.k1-banner-close:hover{color:var(--text-primary)}
.page-footer{margin-top:40px;padding:16px 24px;border-top:1px solid #23324B;background:#080C19;text-align:center}
.page-footer p{color:#8291A5;font-size:0.72rem;line-height:1.7;margin-bottom:8px}
.page-footer .bold-warn{font-weight:600;color:#E2E8F0}

/* COMMAND PALETTE */
.cmd-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:none;backdrop-filter:blur(4px)}
.cmd-overlay.open{display:flex;justify-content:center;padding-top:20vh}
.cmd-palette{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:520px;box-shadow:var(--shadow-lg);overflow:hidden;max-height:400px}
.cmd-palette input{width:100%;padding:14px 18px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:1rem;outline:none}
.cmd-results{max-height:300px;overflow-y:auto;padding:6px}
.cmd-result{padding:8px 14px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:0.88rem;color:var(--text-secondary);transition:background 0.1s}
.cmd-result:hover,.cmd-result.selected{background:var(--hover);color:var(--text)}
.cmd-result .cmd-icon{flex-shrink:0;width:20px;text-align:center}

/* MOBILE */
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99;display:none}
.mobile-overlay.open{display:block}
.hamburger{display:none;position:fixed;top:10px;left:10px;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px;color:var(--text);font-size:1.1rem;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* ===== BUILD PORTFOLIO ADVISOR ===== */
.bpa-wrap{max-width:640px}
.bpa-progress-wrap{margin-bottom:28px}
.bpa-progress{display:flex;align-items:center;margin-bottom:10px}
.bpa-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all 0.2s;user-select:none}
.bpa-dot.active{border-color:var(--primary);background:var(--primary);color:#fff}
.bpa-dot.done{border-color:var(--success);background:var(--success);color:#fff;font-size:0}
.bpa-dot.done::after{content:'✓';font-size:0.8rem}
.bpa-dot-line{flex:1;height:2px;background:var(--border);margin:0 4px;transition:background 0.3s}
.bpa-dot-line.done{background:var(--success)}
.bpa-prog-label{font-size:0.8rem;color:var(--text-muted)}
.bpa-steps-container{min-height:280px}
.bpa-step{display:none}
.bpa-step.bpa-active{display:block;animation:bpa-in 200ms ease forwards}
.bpa-step.bpa-out{display:block;animation:bpa-out 200ms ease forwards}
@keyframes bpa-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
@keyframes bpa-out{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-20px)}}
.bpa-question{font-size:1.3rem;font-weight:600;color:var(--text);margin-bottom:20px;line-height:1.3}
.bpa-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.bpa-options-3{grid-template-columns:repeat(3,1fr)}
.bpa-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:16px 14px;cursor:pointer;transition:border-color 0.15s,background 0.15s,transform 0.1s;text-align:left}
.bpa-card:hover{border-color:var(--primary);transform:translateY(-1px)}
.bpa-card.selected{border-color:var(--primary);background:rgba(0,82,255,0.08)}
.bpa-card-icon{width:32px;height:32px;border-radius:50%;background:rgba(0,82,255,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--primary);flex-shrink:0}
.bpa-card-label{font-weight:600;font-size:0.93rem;color:var(--text);margin-bottom:4px}
.bpa-card-desc{font-size:0.78rem;color:var(--text-muted);line-height:1.4}
.bpa-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.bpa-pill{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:7px 16px;font-size:0.85rem;font-weight:600;color:var(--text);cursor:pointer;transition:all 0.15s}
.bpa-pill:hover{border-color:var(--primary);color:var(--primary)}
.bpa-pill.active{border-color:var(--primary);background:var(--primary);color:#fff}
.bpa-amount-wrap{margin-bottom:8px}
.bpa-amount-input{width:100%;padding:10px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem}
.bpa-amount-input:focus{outline:none;border-color:var(--primary)}
.bpa-nav{margin-top:16px;min-height:36px}
.bpa-result-wrap{}
.bpa-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.bpa-result-label{font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.bpa-result-profile{font-size:1.6rem;font-weight:800;color:var(--primary);margin:0}
.bpa-chart-row{display:flex;gap:32px;align-items:center;margin:0 0 28px}
.bpa-chart-wrap{position:relative;flex-shrink:0;width:200px;height:200px}
.bpa-chart-wrap canvas{display:block}
.bpa-chart-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.bpa-chart-center-amount{font-size:1.15rem;font-weight:700;color:var(--text);white-space:nowrap}
.bpa-chart-center-label{font-size:0.72rem;color:var(--text-muted);margin-top:2px}
.bpa-legend{flex:1;display:flex;flex-direction:column;gap:8px}
.bpa-legend-item{display:flex;align-items:center;gap:10px}
.bpa-legend-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.bpa-legend-text{display:flex;align-items:center;gap:8px;font-size:0.85rem}
.bpa-legend-sym{font-weight:600;color:var(--text)}
.bpa-legend-pct{color:var(--text-muted)}
.bpa-alloc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.bpa-alloc-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}
.bpa-alloc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.bpa-alloc-sym{font-weight:700;font-size:0.82rem;color:var(--primary)}
.bpa-alloc-pct-badge{font-size:1rem;font-weight:800;color:var(--text)}
.bpa-alloc-name{font-size:0.8rem;color:var(--text-secondary);font-weight:500}
.bpa-alloc-amount{font-size:1.1rem;font-weight:700;color:var(--text);margin:2px 0}
.bpa-alloc-reason{font-size:0.76rem;color:var(--text-muted);line-height:1.4;margin-top:4px}
@media(max-width:640px){.bpa-options,.bpa-options-3{grid-template-columns:1fr}.bpa-chart-row{flex-direction:column;align-items:flex-start;gap:20px}.bpa-chart-wrap{width:180px;height:180px}.bpa-alloc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.bpa-alloc-grid{grid-template-columns:1fr}.bpa-question{font-size:1.1rem}.bpa-pill{padding:6px 12px;font-size:0.8rem}}
/* RESPONSIVE */
@media(max-width:1024px){.topbar-search input{width:140px}.topbar-search input:focus{width:180px}.topbar-search .kbd{display:none}.card-grid-4{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hamburger{display:flex}.sidebar{transform:translateX(-100%);position:fixed;top:0;left:0;width:100vw;max-width:100vw;height:100vh;z-index:200}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{transform:translateX(-100%)}.topbar{left:0;padding-left:50px}.main{margin-left:0;padding:calc(var(--topbar-height) + 16px) 16px 30px;overflow-x:hidden}.card-grid-2,.card-grid-3,.card-grid-4,.featured-product-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.jurisdiction-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr}.metrics-row{flex-direction:column;gap:8px}.hero-metric .hero-value{font-size:2rem}.holding-card .holding-metrics{flex-direction:column;gap:6px}.topbar-search{display:none}.topbar-status{display:none}.metrics-compact .mc-item{text-align:center}.section-block{margin-left:0!important;margin-right:0!important}}
@media(max-width:640px){.product-grid,.buy-grid,.sovereignty-grid{grid-template-columns:1fr}}
@media(max-width:600px){.main{padding:calc(var(--topbar-height) + 12px) 10px 64px;overflow-x:hidden}.page-title{font-size:1.3rem}.metric .value{font-size:1.1rem}.hero-metric .hero-value{font-size:1.6rem}.card{padding:14px}.btn{padding:7px 14px;font-size:0.82rem}.hero-metric{text-align:center;width:100%}.hero-metric+div{text-align:center!important;width:100%}.section-block{margin-left:0!important;margin-right:0!important}.s721-row-highlight{margin-left:0!important;margin-right:0!important;border-radius:6px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}img,svg,video,canvas{max-width:100%!important;height:auto!important}.welcome-cmp-table{min-width:0!important}pre,code{overflow-x:auto;max-width:100%;word-break:break-word}}

/* MOBILE BOTTOM NAV */
.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--bg);border-top:1px solid var(--border);z-index:100;justify-content:space-around;align-items:center;padding:4px 0}
.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);text-decoration:none;font-size:0.65rem;padding:4px 12px}
.mobile-bottom-nav a.active{color:var(--primary)}
@media(max-width:640px){.mobile-bottom-nav{display:flex}.main{padding-bottom:80px}#scrollTopBtn{bottom:90px;right:12px}}
@media(max-width:768px){.topbar{padding-top:env(safe-area-inset-top,0px)!important}.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)!important;height:calc(56px + env(safe-area-inset-bottom,0px))}.topbar-breadcrumb{font-size:0.75rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}#scrollTopBtn{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;right:12px!important}.sidebar{position:fixed!important;top:0!important;left:0!important;width:85vw!important;max-width:320px!important;height:100vh!important;height:100dvh!important;z-index:501!important;transform:translateX(-100%)!important;transition:transform 0.2s ease!important;overflow-y:auto!important}.sidebar.sidebar-mobile-open{transform:translateX(0)!important}#sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:500}#sidebar-backdrop.active{display:block}}
/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px 24px;max-width:440px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.4)}
/* SCROLLBAR */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}

/* ANIMATIONS */
@keyframes countUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.animate-in{animation:countUp 0.4s ease-out}

/* RTL Support (Arabic) */
[dir="rtl"] .sidebar{left:auto;right:0;border-right:none;border-left:1px solid var(--border)}
[dir="rtl"] .topbar{left:0;right:var(--sidebar-width)}
[dir="rtl"] .main{margin-left:0;margin-right:var(--sidebar-width)}
[dir="rtl"] .sidebar.collapsed~.topbar{right:var(--sidebar-collapsed);left:0}
[dir="rtl"] .sidebar.collapsed~.main{margin-right:var(--sidebar-collapsed);margin-left:0}
[dir="rtl"] .sidebar-nav a{flex-direction:row-reverse}
[dir="rtl"] .topbar-breadcrumb{direction:rtl}
[dir="rtl"] .topbar-search input{padding:6px 32px 6px 12px}
[dir="rtl"] .topbar-search .search-icon{left:auto;right:10px}
[dir="rtl"] .topbar-search .kbd{right:auto;left:8px}
[dir="rtl"] th{text-align:right}
[dir="rtl"] .metrics-compact .mc-item,.metric{text-align:right}
[dir="rtl"] .hero-metric{text-align:right}
[dir="rtl"] .form-group label{text-align:right}
[dir="rtl"] .page-footer{text-align:right}
[dir="rtl"] .viewing-banner{flex-direction:row-reverse}
[dir="rtl"] .hamburger{left:auto;right:10px}
@media(max-width:900px){[dir="rtl"] .sidebar{transform:translateX(100%)}[dir="rtl"] .sidebar.open{transform:translateX(0)}[dir="rtl"] .topbar{right:0;padding-right:50px;padding-left:24px}}

/* ── REFERRAL DASHBOARD ── */
.card-title{font-size:1rem;font-weight:600;color:var(--text)}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}
.stat-card.boost-active{border-color:rgba(16,185,129,0.4);background:rgba(16,185,129,0.05)}
.stat-label{font-size:0.75rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.stat-number{font-size:2.2rem;font-weight:800;line-height:1;color:var(--text);margin-bottom:4px}
.stat-card.boost-active .stat-number.boost-pct-num{color:#10B981}
.stat-sub{font-size:0.75rem;color:var(--text-muted)}
.referral-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1024px){.referral-stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.referral-stats-grid{grid-template-columns:1fr}}
.ref-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.ref-two-col{grid-template-columns:1fr}}
.ref-link-box{flex:1;min-width:0;font-family:monospace;font-size:0.9rem;font-weight:600;padding:10px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--primary);letter-spacing:0.02em;word-break:break-all}
.share-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;font-size:0.82rem;font-weight:600;text-decoration:none;transition:opacity 0.15s,transform 0.15s;white-space:nowrap}
.share-btn:hover{opacity:0.85;transform:translateY(-1px)}
.share-wa{background:#25D366;color:#fff}
.share-tg{background:#2AABEE;color:#fff}
.share-tw{background:#000;color:#fff}
.share-em{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.ref-step{display:flex;gap:12px;align-items:flex-start;font-size:0.88rem;line-height:1.5;color:var(--text)}
.ref-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:0.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.ref-tier-track{height:8px;background:var(--border);border-radius:99px;overflow:hidden}
.ref-tier-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#0052FF,#3b82f6);transition:width 0.6s ease}
.ref-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:99px;font-size:0.75rem;font-weight:600;white-space:nowrap}
.ref-badge-green{background:rgba(16,185,129,0.15);color:#10B981}
.ref-badge-blue{background:rgba(59,130,246,0.15);color:#3b82f6}
.ref-badge-yellow{background:rgba(234,179,8,0.15);color:#ca8a04}

/* ── SIDEBAR FOOTER "How It Works" LINK ─────────────────── */
.sidebar-hiw-link{display:block;text-align:center;color:var(--text-muted);font-size:0.72rem;text-decoration:none;margin-top:6px;letter-spacing:0.02em;transition:color 0.15s}
.sidebar-hiw-link:hover{color:var(--text-secondary)}

/* ── WELCOME OVERLAY ─────────────────────────────────────── */
.welcome-backdrop{position:fixed;inset:0;background:rgba(5,6,18,0.82);backdrop-filter:blur(8px);z-index:400;display:flex;align-items:center;justify-content:center;padding:20px}
.welcome-card{background:var(--surface);border:1px solid var(--border-light);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:800px;min-height:400px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;max-height:100vh;max-height:100dvh}
.welcome-screens{display:flex;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1)}
.welcome-screen{min-width:100%;padding:44px 48px 36px;box-sizing:border-box;padding-bottom:24px}
@media(max-width:640px){.welcome-screen{padding:28px 24px 24px}}
.welcome-screen-title{font-size:1.6rem;font-weight:700;margin-bottom:8px;line-height:1.3}
.welcome-screen-sub{color:var(--text-secondary);font-size:0.95rem;margin-bottom:24px;line-height:1.6}
.welcome-gap-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:6px;font-weight:500}
.welcome-cmp-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:12px;padding:24px 28px;margin-bottom:20px;gap:8px}
@media(max-width:500px){.welcome-cmp-grid{grid-template-columns:1fr;gap:0}}
.welcome-cmp-col{text-align:center;padding:8px}
.welcome-cmp-vs{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px;color:var(--text-muted);font-size:0.65rem;font-weight:700;letter-spacing:0.08em}
.welcome-cmp-vs::before,.welcome-cmp-vs::after{content:'';display:block;width:1px;height:28px;background:var(--border)}
@media(max-width:500px){.welcome-cmp-vs{flex-direction:row;padding:12px 0;justify-content:center}.welcome-cmp-vs::before,.welcome-cmp-vs::after{width:40px;height:1px}}
.welcome-cmp-big{font-size:1.8rem;font-weight:700;margin:8px 0 4px;line-height:1}
.welcome-cmp-big.danger{color:var(--danger)}
.welcome-cmp-big.success{color:var(--success)}
.welcome-cmp-sub{font-size:0.85rem;color:var(--text-secondary);margin-bottom:4px}
.welcome-cmp-detail{font-size:0.72rem;color:var(--text-muted)}
.welcome-stat-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}
.welcome-stat-pill{background:rgba(0,82,255,0.1);color:var(--primary);font-size:0.75rem;padding:4px 12px;border-radius:20px;white-space:nowrap}
.welcome-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
@media(max-width:600px){.welcome-cards{grid-template-columns:1fr}}
.welcome-step-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px 16px}
.welcome-step-num{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:0.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.welcome-step-title{font-size:0.9rem;font-weight:600;margin-bottom:6px}
.welcome-step-body{font-size:0.82rem;color:var(--text-secondary);line-height:1.55}
.welcome-fee-note{font-size:0.82rem;color:var(--text-muted);margin-bottom:6px;line-height:1.5}
.welcome-tax-note{font-size:0.82rem;color:var(--gold);margin-bottom:20px;line-height:1.5}
.welcome-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 48px 24px;background:var(--bg);border-top:1px solid var(--border);position:sticky;bottom:0;z-index:10}
@media(max-width:640px){.welcome-footer{padding:14px 24px 20px}}
.welcome-dots{display:flex;gap:8px}
.welcome-dot{width:8px;height:8px;border-radius:50%;background:var(--border-light);transition:background 0.2s,transform 0.2s}
.welcome-dot.active{background:var(--primary);transform:scale(1.2)}

/* ── TAX CALLOUT CARD (products page) ───────────────────── */
.tax-callout-card{border-left:4px solid var(--success);background:rgba(16,185,129,0.05);border-radius:10px;padding:20px 24px;margin-bottom:24px}
.tax-callout-inner{display:flex;gap:20px;align-items:flex-start}
.tax-callout-icon{font-size:1.1rem;font-weight:800;color:var(--success);background:rgba(16,185,129,0.12);border-radius:8px;padding:8px 12px;white-space:nowrap;align-self:center;letter-spacing:-0.5px}
.tax-callout-body{flex:1}
.tax-callout-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:6px}
.tax-callout-text{color:var(--text-secondary);font-size:0.88rem;line-height:1.6;margin:0}
@media(max-width:600px){.tax-callout-inner{flex-direction:column;gap:12px}.tax-callout-icon{align-self:flex-start}}

/* ── SECTION 721 CALCULATOR (estate_planner) ─────────────── */
.s721-results{display:flex;flex-direction:column;gap:12px}
.s721-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.s721-row:last-child{border-bottom:none}
.s721-row-highlight{background:rgba(16,185,129,0.06);margin:0 -16px;padding:10px 16px;border-radius:6px;border-bottom:none}
.s721-label{color:var(--text-secondary);font-size:0.85rem}
.s721-val{font-weight:700;font-size:1.05rem}
.s721-summary{color:var(--text-secondary);font-size:0.85rem;margin-top:16px;line-height:1.6;font-style:italic}

/* ── COLLAR REFERENCE TOGGLE ─────────────────────────────── */
.collar-ref-section{}
.collar-ref-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 16px;cursor:pointer;color:var(--text);font-size:0.88rem;font-weight:600;letter-spacing:0.01em;transition:background 0.15s,border-color 0.15s}
.collar-ref-toggle:hover{background:var(--surface-hover);border-color:var(--border-light)}
.collar-ref-arrow{font-size:0.75rem;color:var(--text-muted);transition:transform 0.2s}
.collar-ref-body{overflow:hidden;transition:max-height 0.3s ease}

/* ── COLLAR PARAMS HORIZONTAL ROW (product_detail) ────────── */
.collar-params-row{display:flex;align-items:center;gap:0;flex-wrap:wrap;gap:12px}
.collar-param-item{text-align:center;min-width:80px}
.collar-param-label{font-size:0.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:4px}
.collar-param-val{font-size:1.15rem;font-weight:700;color:var(--text)}
.collar-param-sep{color:var(--border-light);font-size:1.2rem;padding:0 4px;align-self:center}
@media(max-width:600px){.collar-param-sep{display:none}.collar-params-row{justify-content:space-around}}

/* IDLE SESSION WARNING */
#idle-warning{position:fixed;bottom:0;left:0;right:0;height:48px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:16px;font-size:0.85rem;color:var(--text-secondary);z-index:300;transform:translateY(100%);transition:transform 0.3s ease;box-shadow:0 -2px 8px rgba(0,0,0,0.12)}
#idle-warning.visible{transform:translateY(0)}
#idle-warning-dismiss{font-size:0.8rem;color:var(--primary);cursor:pointer;font-weight:600;background:none;border:none;padding:0}

/* === FONT WEIGHT NORMALIZATION === */
.main h1{font-weight:700}
.main h2{font-weight:600 !important}
.main h3{font-weight:600 !important}
.main h4{font-weight:500 !important}
.card h3,.card h4,.card-title,.strat-name{font-weight:500 !important}
.metric-label,.stat-label,[class*="label"]{font-weight:400 !important}
.sidebar-section{font-weight:400 !important;letter-spacing:1.5px}
.sidebar-nav a{font-weight:400 !important}
.sidebar-nav a.active{font-weight:500 !important;background:rgba(25,40,65,0.4)!important;border-left-color:#0052FF!important;color:#E2E8F0!important}
.main th{font-weight:600 !important}
.main p,.main li,.card-body,.desc{font-weight:400 !important}
.btn,button,[type="submit"]{font-weight:500 !important}
.collar-label,.gauge-label{font-weight:400 !important}
.welcome-card h2{font-weight:700 !important}
.welcome-card p,.welcome-card span{font-weight:400 !important}
.welcome-step-title{font-weight:600 !important}

/* === WELCOME OVERLAY SLIDE REDESIGN === */
.welcome-stat-row{display:flex;justify-content:center;align-items:stretch;margin-bottom:28px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.welcome-stat-block{text-align:center;flex:1;padding:20px 16px;border-right:1px solid var(--border)}
.welcome-stat-block:last-child{border-right:none}
.welcome-stat-num{font-size:2.2rem;font-weight:700;color:var(--text);line-height:1}
.welcome-stat-desc{font-size:0.8rem;color:var(--text-muted);margin-top:6px;line-height:1.4}
@media(max-width:500px){.welcome-stat-row{flex-direction:column}.welcome-stat-block{border-right:none;border-bottom:1px solid var(--border)}.welcome-stat-block:last-child{border-bottom:none}}
.welcome-table-wrap{overflow-x:auto;margin-bottom:20px}
.welcome-cmp-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;border:1px solid var(--border);min-width:360px}
.welcome-cmp-table th{background:rgba(255,255,255,0.05);padding:10px 14px;text-align:left;font-size:0.78rem;font-weight:600;color:var(--text-secondary);letter-spacing:0.04em;border-bottom:1px solid var(--border)}
.welcome-cmp-table td{padding:11px 14px;font-size:0.85rem;color:var(--text);border-bottom:1px solid var(--border)}
.welcome-cmp-table tr:last-child td{border-bottom:none}
.welcome-cmp-table td:first-child{color:var(--text-muted);font-size:0.78rem;font-weight:500;white-space:nowrap}
.welcome-cmp-table .col-bad{color:var(--text-secondary)}
.welcome-cmp-table .col-good{color:var(--primary);font-weight:500}
.welcome-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin-bottom:28px}
.welcome-flow-step{background:var(--primary);color:#fff;font-size:0.78rem;font-weight:600;padding:8px 16px;border-radius:20px;white-space:nowrap}
.welcome-flow-arrow{color:var(--text-muted);font-size:1rem;padding:0 2px;flex-shrink:0}
@media(max-width:560px){.welcome-flow{flex-direction:column;align-items:flex-start;gap:8px;margin-left:8px}.welcome-flow-arrow{transform:rotate(90deg);padding:0 0 0 22px}}
.welcome-trust-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.welcome-trust-item{display:flex;align-items:flex-start;gap:10px;font-size:0.87rem;color:var(--text-secondary);line-height:1.5}
.welcome-trust-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:7px}

/* === WELCOME SLIDE LOGO + INTL PRODUCT CARDS === */
.welcome-slide-logo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:20px}
.welcome-slide-logo-text{font-size:0.7rem;font-weight:700;letter-spacing:0.18em;color:var(--text-secondary)}
.welcome-prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
@media(max-width:600px){.welcome-prod-grid{grid-template-columns:1fr}}
.welcome-prod-card{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px;padding:18px 16px}
.welcome-prod-label{font-size:0.65rem;font-weight:600;letter-spacing:0.1em;color:var(--primary);text-transform:uppercase;margin-bottom:8px}
.welcome-prod-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px}
.welcome-prod-desc{font-size:0.8rem;color:var(--text-secondary);line-height:1.55}
/* INTERNATIONAL WELCOME SCREENS */
.wintl-stat-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.wintl-stat-item{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}
.wintl-prod-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.wintl-prod-card{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px;padding:12px 14px;border-left-width:3px;border-left-style:solid}
.wintl-blue{border-left-color:var(--primary)}.wintl-gold{border-left-color:var(--gold)}
.wintl-prod-cat{font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px}
.wintl-cat-blue{color:var(--primary)}.wintl-cat-gold{color:var(--gold)}
.wintl-prod-name{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:5px;line-height:1.3}
.wintl-prod-body{font-size:0.78rem;color:var(--text-secondary);line-height:1.5}
.wintl-flow-v{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}
.wintl-flow-pill{background:var(--primary);color:#fff;font-size:0.82rem;font-weight:600;padding:10px 22px;border-radius:24px;text-align:center}
.wintl-flow-down{color:var(--text-muted);font-size:1.1rem;line-height:1;text-align:center}
.wintl-trust-list{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}
.wintl-trust-item{text-align:center;font-size:0.85rem;color:var(--text-secondary);line-height:1.5}

/* === PRODUCT DETAIL TABLE === */
.detail-table{width:100%;border-collapse:collapse}
.detail-table tr{border-bottom:1px solid var(--border)}
.detail-table tr:last-child{border-bottom:none}
.detail-table td{padding:10px 4px;font-size:0.88rem;line-height:1.5}
.detail-label{color:var(--text-muted);width:42%;font-weight:500;padding-right:16px}
.detail-value{color:var(--text);font-weight:400}

/* === DE-BOLD PASS — Prompt 75 === */
body{font-weight:400}
strong,b{font-weight:500}
table td strong,table td b{font-weight:400}
table td{font-weight:400}
.card p,.card li,.card label{font-weight:400}
.info-box p,.info-box span{font-weight:400}
.page-subtitle{font-weight:400}
.section-subtitle{font-weight:400}
.ack-text{font-weight:400}
.label{font-weight:400}
.metric .label{font-weight:400}
.form-group label{font-weight:400}
.footer-disclaimer p,.page-footer p,.login-disclaimer{font-weight:400}
/* Sidebar: active item uses left-border accent, not full background fill */
.sidebar-nav a.active{font-weight:500;background:rgba(25,40,65,0.4);border-left-color:#0052FF;color:#E2E8F0}
