/* IKONVEX V14 — single typography and spacing system across all pages.
   DM Sans loads from Google Fonts. No font assets are redistributed. */
:root { --ikon-font: 'DM Sans', 'Segoe UI', Arial, sans-serif; --ikon-body: 13px; --ikon-small: 11px; --ikon-heading: 22px; --ikon-subheading: 16px; --ikon-gap: 12px; }
html, body { font-family:var(--ikon-font) !important; font-optical-sizing:auto; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body, button, input, select, textarea, option { font-family:var(--ikon-font) !important; }
button, input, select, textarea { letter-spacing:normal; }
h1,h2,h3,h4,h5,h6 { font-family:var(--ikon-font); line-height:1.23; letter-spacing:-.025em; font-weight:600; }
p,li,small,span,label,td,th { line-height:1.42; }
b,strong { font-weight:650; }
/* Rebalance dashboard hierarchy while maintaining the approved card geometry. */
.top h1, .mobiletitle h1 {font-weight:600;}
.title,.section-heading,.panel-title,.statHead,.panel-head,.final-plan-heading h2 {font-weight:600;letter-spacing:-.015em;}
.nav,.mobile-nav a,.bottomnav a,.navlink {font-weight:500;}
.action,.btn,.pill-btn,.pill,.miniTag,.plan-rate,.final-popular {font-weight:600;}
.metric strong,.stat b,.income-cell b,.hero-amount,.balance {font-weight:650;}
.field-label,.metric-label,.barlabel,.smallcaps {font-weight:500;}
/* Shared aligned top areas and sensible card rhythm. */
.top,.topbar {min-width:0;}
.panel,.metric,.planCard,.feature,.stat,.income,.final-plan-card {min-width:0;}
.feature,.metric,.panel,.final-plan-card {overflow-wrap:break-word;}
button,a,input,select { -webkit-tap-highlight-color:transparent; }
/* Legacy home / profile: these pages contain their own embedded styles. */
.merged-topbar .welcome h1 {font-family:var(--ikon-font);font-weight:600!important;}
.merged-portfolio .balance {font-family:var(--ikon-font);font-weight:650!important;}
.feature strong,.stat b,.income strong,.income-cell b {font-family:var(--ikon-font);font-weight:600!important;}
.feature p,.stat span,.income small,.identity,.notice,.stat-text span {font-weight:400!important;}
.final-plan-card h3 {font-weight:600;}
.final-plan-card p {font-weight:600;}
.auth-card h2,.brand-panel h1 {font-weight:600!important;}
.auth-card .section-title,.auth-card .field-label {font-weight:500!important;}
.connect-btn,.cta,.outline-btn {font-weight:600!important;}
@media(max-width:760px) {
 :root {--ikon-body:13px;--ikon-small:11px;--ikon-heading:20px;--ikon-subheading:15px;--ikon-gap:10px;}
 h1,h2,h3 {line-height:1.24;}
 .top h1,.mobiletitle h1 {font-size:20px;}
 .title {font-size:16px;}
 .metric strong {font-size:18px;}
 .hero-amount {font-size:29px;}
 .action {font-weight:550;}
 .bottomnav a,.mobile-nav a {font-weight:500!important;}
}
@media(max-width:390px){
 .merged-portfolio .balance {font-size:clamp(25px,7.5vw,31px);}
 .feature strong {font-size:12px;}
}
