/* INSURANCE ARENA — STYLESHEET v5
   Zero-cost · Mobile-first · Low-end Android optimised */
:root{
  --bg:#1A2B4A; --bg-card:#111E35; --bg-border:#2E4A72;
  --teal:#00D4B4; --teal-dim:#00A896; --teal-glow:rgba(0,212,180,0.12);
  --amber:#F59E0B; --white:#FFFFFF;
  --g200:#CBD5E1; --g400:#94A3B8; --g600:#475569;
  --green:#10B981; --red:#EF4444;
  --green-dim:rgba(16,185,129,0.15); --red-dim:rgba(239,68,68,0.15);
  --font-d:'Syne',sans-serif; --font-b:'Inter',sans-serif;
  --r-sm:8px; --r-md:14px; --r-lg:18px; --r-xl:24px;
  --sh-hover:0 8px 36px rgba(0,212,180,0.18);
  --tr:all 0.22s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:var(--font-b);font-size:15px;line-height:1.6;min-height:100vh}
button{cursor:pointer;border:none;background:none;font-family:inherit}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}

/* ── HEADER ── */
.header{background:rgba(17,30,53,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--bg-border);position:sticky;top:0;z-index:100;padding:0 16px}
.header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:54px;gap:16px}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.lm-bars{display:flex;align-items:flex-end;gap:3px;height:24px}
.b1{width:4px;height:5px;background:#5DCAA5;border-radius:2px;display:block}
.b2{width:4px;height:9px;background:#1D9E75;border-radius:2px;display:block}
.b3{width:4px;height:15px;background:#0F6E56;border-radius:2px;display:block}
.b4{width:4px;height:22px;background:var(--teal);border-radius:2px;display:block}
.b-dot{width:4px;height:4px;background:var(--teal);border-radius:50%;margin-bottom:18px;display:block}
.logo-name{display:block;font-family:var(--font-d);font-size:15px;font-weight:700;color:var(--white);line-height:1.2}
.logo-name em{font-style:normal;color:var(--teal)}
.logo-tag{display:block;font-size:8px;color:var(--g400);letter-spacing:.1em;text-transform:uppercase}
.main-nav{display:flex;gap:3px}
.nav-btn{color:var(--g400);font-size:11px;font-weight:500;padding:6px 10px;border-radius:var(--r-sm);transition:var(--tr)}
.nav-btn:hover{color:var(--white);background:rgba(255,255,255,.06)}
.nav-btn.active{background:var(--teal);color:var(--bg);font-weight:700}
.hamburger{display:none;font-size:20px;color:var(--g400);padding:8px;flex-shrink:0}
.mobile-nav{background:var(--bg-card);border-top:1px solid var(--bg-border);padding:10px 16px;display:flex;flex-direction:column;gap:4px}
.mnav-btn{color:var(--g400);font-size:13px;font-weight:500;padding:10px 14px;border-radius:var(--r-sm);text-align:left;transition:var(--tr)}
.mnav-btn:hover{background:rgba(255,255,255,.05);color:var(--white)}
.mnav-btn.active{background:var(--teal);color:var(--bg);font-weight:700}

/* ── HERO ── */
.hero{background:linear-gradient(135deg,#1A2B4A,#1e3560 55%,#1A2B4A);padding:32px 16px 0;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:400px;height:280px;background:radial-gradient(ellipse,rgba(0,212,180,0.08),transparent 70%);pointer-events:none}
.hero-inner{position:relative;max-width:600px;margin:0 auto;padding-bottom:24px}
.hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.hero-headline{font-family:var(--font-d);font-size:clamp(24px,6vw,48px);font-weight:800;line-height:1.08;color:var(--white);margin-bottom:10px}
.hero-accent{color:var(--teal)}
.hero-sub{font-size:12px;color:var(--g200);line-height:1.7}

/* ── CONTINUE LEARNING STRIP ── */
.continue-strip{background:rgba(0,212,180,0.07);border-top:1px solid rgba(0,212,180,0.2);padding:12px 20px}
.continue-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.continue-left{display:flex;align-items:center;gap:10px}
.continue-icon{font-size:20px}
.continue-label{font-size:9px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.continue-topic{font-size:12px;font-weight:600;color:var(--white);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.continue-right{display:flex;align-items:center;gap:12px}
.continue-progress{font-size:10px;color:var(--g400);text-align:right}
.continue-bar{height:4px;width:80px;background:rgba(255,255,255,.1);border-radius:99px;margin-top:4px;overflow:hidden}
.continue-fill{height:100%;background:var(--teal);border-radius:99px;transition:width .5s}
.continue-btn{background:var(--teal);color:var(--bg);font-size:11px;font-weight:700;padding:7px 14px;border-radius:99px;transition:var(--tr)}
.continue-btn:hover{background:var(--teal-dim)}

/* ── SECTION TABS ── */
.section-tabs{background:var(--bg-card);border-bottom:1px solid var(--bg-border);position:sticky;top:54px;z-index:90}
.tabs-inner{max-width:1280px;margin:0 auto;display:flex;width:100%}
.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 4px;color:var(--g400);font-size:10px;font-weight:500;border-bottom:2px solid transparent;transition:var(--tr);min-width:0;overflow:hidden}
.tab-btn:hover{color:var(--white)}
.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal)}
.tab-icon{font-size:14px;flex-shrink:0}
.tab-label{font-weight:600;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tab-sub{font-size:8px;color:var(--g600);display:block;white-space:nowrap}

/* ── MAIN ── */
.main-wrap{max-width:1280px;margin:0 auto;padding:0 16px 60px}
.sec{display:none;padding-top:20px}
.sec.active{display:block}

/* ── COMPARE ── */
.cat-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:12px 16px 0}
.cat-scroll-wrap::-webkit-scrollbar{display:none}
.cat-tabs{display:flex;gap:6px;width:max-content;padding-bottom:6px}
.cat-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:11px;font-weight:500;padding:7px 14px;border-radius:99px;transition:var(--tr);white-space:nowrap}
.cat-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.cat-btn.coming{opacity:.45;cursor:default}
.soon-tag{font-size:8px;background:var(--amber);color:#000;border-radius:4px;padding:1px 4px;margin-left:3px;vertical-align:middle}





.controls-bar{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:10px 12px;margin-bottom:10px}
.controls-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.search-wrap{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.04);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:7px 10px;flex:1;min-width:160px;transition:var(--tr)}
.search-wrap:focus-within{border-color:var(--teal-dim)}
.si{font-size:13px;opacity:.5;flex-shrink:0}
.search-input{background:none;border:none;outline:none;color:var(--white);font-size:13px;font-family:var(--font-b);width:100%}
.search-input::placeholder{color:var(--g400)}
.filter-group{display:flex;gap:5px;flex-wrap:wrap}
.filter-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:10px;font-weight:500;padding:5px 10px;border-radius:99px;transition:var(--tr)}
.filter-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.filter-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.sort-select{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--white);font-size:12px;font-family:var(--font-b);padding:6px 8px;border-radius:var(--r-sm);outline:none;cursor:pointer}
.sort-select option{background:var(--bg-card)}
.view-toggle{display:flex;gap:4px}
.view-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);width:32px;height:32px;border-radius:var(--r-sm);font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.view-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg)}
.results-meta{font-size:11px;color:var(--g600);margin-bottom:12px}

/* ── PLAN CARDS (no rank, no CSR) ── */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.plan-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:var(--tr);animation:fadeUp .3s ease both}
.plan-card:hover{border-color:var(--teal-dim);box-shadow:var(--sh-hover);transform:translateY(-2px)}
.card-header{padding:14px 14px 10px;border-bottom:1px solid var(--bg-border)}
.card-company{font-size:9px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}
.card-plan-name{font-family:var(--font-d);font-size:14px;font-weight:700;color:var(--white);line-height:1.25;margin-bottom:5px}
.card-best-for{font-size:10px;color:var(--teal);font-weight:600;background:var(--teal-glow);border:1px solid rgba(0,212,180,.2);border-radius:99px;padding:3px 9px;display:inline-block}
.card-features{padding:10px 14px;border-bottom:1px solid var(--bg-border);display:flex;flex-wrap:wrap;gap:4px}
.feat-tag{font-size:9px;font-weight:500;padding:3px 7px;border-radius:99px;border:1px solid;white-space:nowrap}
.feat-tag.yes{background:var(--green-dim);border-color:rgba(16,185,129,.3);color:#34D399}
.feat-tag.no{background:var(--red-dim);border-color:rgba(239,68,68,.2);color:#F87171;opacity:.6}
.feat-tag.amber{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:var(--amber)}
.card-stats{padding:10px 14px;border-bottom:1px solid var(--bg-border);display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.card-stat-val{display:block;font-size:12px;font-weight:700;color:var(--white)}
.card-stat-lbl{display:block;font-size:9px;color:var(--g400);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}
.card-pitch{padding:10px 14px;border-bottom:1px solid var(--bg-border)}
.card-pitch-label{font-size:8px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}
.card-pitch-text{font-size:11px;color:var(--g200);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-footer{padding:10px 14px;display:flex;gap:7px}
.btn-calc{flex:1;background:var(--teal);color:var(--bg);font-size:11px;font-weight:700;padding:9px;border-radius:var(--r-sm);text-align:center;display:block;font-family:var(--font-b);transition:var(--tr)}
.btn-calc:hover{background:var(--teal-dim);text-decoration:none}
.btn-details{background:rgba(255,255,255,.05);border:1px solid var(--bg-border);color:var(--g200);font-size:11px;font-weight:500;padding:9px 12px;border-radius:var(--r-sm);transition:var(--tr)}
.btn-details:hover{border-color:var(--teal-dim);color:var(--teal)}

/* ── CSR modal only ── */
.csr-section{padding:10px 0;margin-bottom:12px}
.csr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.csr-label{font-size:9px;font-weight:600;color:var(--g400);text-transform:uppercase;letter-spacing:.07em}
.csr-value{font-family:var(--font-d);font-size:16px;font-weight:800}
.csr-value.high{color:var(--teal)}.csr-value.mid{color:var(--amber)}.csr-value.low{color:var(--red)}
.csr-bar-track{height:5px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
.csr-bar-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.4,0,.2,1)}
.csr-bar-fill.high{background:linear-gradient(90deg,var(--teal-dim),var(--teal))}
.csr-bar-fill.mid{background:linear-gradient(90deg,#D97706,var(--amber))}
.csr-bar-fill.low{background:linear-gradient(90deg,#DC2626,var(--red))}

/* ── Table ── */
.table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--bg-border)}
.compare-table{width:100%;border-collapse:collapse;font-size:12px}
.compare-table th{background:var(--bg-card);color:var(--g400);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--bg-border);white-space:nowrap}
.compare-table td{padding:10px 12px;border-bottom:1px solid rgba(46,74,114,.4);vertical-align:middle}
.compare-table tr:last-child td{border-bottom:none}
.compare-table tr:hover td{background:rgba(0,212,180,.03)}
.tbl-yes{color:var(--green);font-weight:600}.tbl-no{color:var(--g600)}
.tbl-csr.high{color:var(--teal);font-weight:700}.tbl-csr.mid{color:var(--amber);font-weight:700}.tbl-csr.low{color:var(--red);font-weight:700}
.tbl-calc{background:var(--teal);color:var(--bg);font-size:10px;font-weight:700;padding:4px 10px;border-radius:99px;display:inline-block}
.tbl-calc:hover{background:var(--teal-dim);text-decoration:none}
.no-results{text-align:center;padding:60px 20px;color:var(--g400)}
.nr-icon{font-size:44px;display:block;margin-bottom:14px}
.btn-reset{background:var(--teal);color:var(--bg);font-size:13px;font-weight:700;padding:9px 22px;border-radius:var(--r-sm);font-family:var(--font-b);margin-top:14px}

/* ── Modal ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-xl);width:100%;max-width:660px;max-height:90vh;overflow-y:auto;transform:translateY(20px);transition:transform .25s}
.modal-overlay.active .modal{transform:translateY(0)}
.modal-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--tr);z-index:10}
.modal-close:hover{background:rgba(255,255,255,.2)}
.modal-content{padding:16px 20px 24px;clear:both}
.m-company{font-size:10px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.m-plan{font-family:var(--font-d);font-size:20px;font-weight:800;margin-bottom:2px}
.m-best-for{font-size:11px;color:var(--teal);font-weight:600;margin-bottom:12px}
.m-uin{font-size:10px;color:var(--g400);margin-bottom:14px}
.m-sec{font-size:9px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin:12px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--bg-border)}
.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m-fl{font-size:9px;color:var(--g400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.m-fv{font-size:12px;color:var(--white);font-weight:500;line-height:1.4}
.m-feats{display:flex;flex-wrap:wrap;gap:5px}
.m-feat{font-size:10px;padding:4px 8px;border-radius:99px;border:1px solid}
.m-feat.yes{background:var(--green-dim);border-color:rgba(16,185,129,.3);color:#34D399}
.m-feat.no{background:var(--red-dim);border-color:rgba(239,68,68,.2);color:#F87171}
.m-bullets{list-style:none;display:flex;flex-direction:column;gap:5px}
.m-bullets li{font-size:12px;color:var(--g200);padding-left:16px;position:relative;line-height:1.5}
.m-bullets li::before{content:'▸';position:absolute;left:0;color:var(--teal);font-size:10px;top:2px}
.m-pitch-box{background:rgba(0,212,180,.05);border:1px solid rgba(0,212,180,.18);border-radius:var(--r-md);padding:12px;font-size:12px;color:var(--g200);line-height:1.65}
.m-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.m-btn-p{flex:1;min-width:140px;background:var(--teal);color:var(--bg);font-size:12px;font-weight:700;padding:11px;border-radius:var(--r-sm);text-align:center;display:block;font-family:var(--font-b);transition:var(--tr)}
.m-btn-p:hover{background:var(--teal-dim);text-decoration:none}
.m-btn-s{flex:1;min-width:120px;background:rgba(255,255,255,.05);border:1px solid var(--bg-border);color:var(--g200);font-size:12px;padding:11px;border-radius:var(--r-sm);text-align:center;display:block;font-family:var(--font-b);transition:var(--tr)}
.m-btn-s:hover{border-color:var(--teal-dim);color:var(--teal);text-decoration:none}

/* ── NEWS ── */
.news-header{margin-bottom:14px}
.sec-title{font-family:var(--font-d);font-size:21px;font-weight:700;margin-bottom:4px}
.sec-sub{font-size:11px;color:var(--g400)}
.news-search-wrap{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:9px 12px;margin-bottom:12px;transition:var(--tr)}
.news-search-wrap:focus-within{border-color:var(--teal-dim)}
.news-search-clear{background:none;border:none;color:var(--g400);font-size:16px;cursor:pointer;flex-shrink:0;line-height:1}
.news-search-clear:hover{color:var(--white)}
.news-filter-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.news-filter-row::-webkit-scrollbar{display:none}
.news-cat{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:10px;font-weight:500;padding:5px 11px;border-radius:99px;transition:var(--tr);white-space:nowrap;flex-shrink:0}
.news-cat:hover{border-color:var(--teal-dim);color:var(--teal)}
.news-cat.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.news-loading{text-align:center;padding:50px 20px;color:var(--g400);font-size:13px}
.spin{font-size:28px;display:block;margin-bottom:10px;animation:spinAnim 1.5s linear infinite}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:20px}
.news-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:14px;transition:var(--tr)}
.news-card:hover{border-color:var(--teal-dim);box-shadow:var(--sh-hover);transform:translateY(-2px)}
.news-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.news-source{font-size:9px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.06em}
.news-cat-badge{font-size:8px;padding:2px 6px;border-radius:4px;font-weight:600;border:1px solid;white-space:nowrap}
.news-cat-badge.insurance{background:rgba(0,212,180,.1);border-color:var(--teal);color:var(--teal)}
.news-cat-badge.irdai{background:rgba(0,212,180,.15);border-color:var(--teal);color:var(--teal)}
.news-cat-badge.mutualfunds{background:rgba(139,92,246,.12);border-color:#8B5CF6;color:#A78BFA}
.news-cat-badge.tax{background:rgba(245,158,11,.1);border-color:var(--amber);color:var(--amber)}
.news-cat-badge.banking{background:rgba(59,130,246,.12);border-color:#3B82F6;color:#60A5FA}
.news-cat-badge.personalfinance{background:rgba(16,185,129,.12);border-color:var(--green);color:#34D399}
.news-cat-badge.markets{background:rgba(239,68,68,.1);border-color:var(--red);color:#F87171}
.news-title-link{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:600;color:var(--white);line-height:1.45;margin-bottom:6px;text-decoration:none;cursor:pointer}
.news-title-link:hover{color:var(--teal);text-decoration:underline}
.news-summary{font-size:10px;color:var(--g400);line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.news-date{font-size:9px;color:var(--g600)}
.news-read-btn{font-size:10px;font-weight:700;color:var(--bg);background:var(--teal);padding:5px 12px;border-radius:99px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:var(--tr);display:inline-block}
.news-read-btn:hover{background:var(--teal-dim);text-decoration:none;color:var(--bg)}
.news-no-results{text-align:center;padding:40px 20px;color:var(--g400);font-size:13px;grid-column:1/-1}
.news-disclaimer{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.18);border-radius:var(--r-sm);padding:10px 12px;font-size:11px;color:var(--g400);line-height:1.6}
.news-disclaimer strong{color:var(--amber)}

/* ── LEARN ── */
.learn-header{margin-bottom:14px}
.learn-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.learn-progress-badge{background:var(--teal-glow);border:1px solid rgba(0,212,180,.3);color:var(--teal);font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.learn-search-wrap{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:9px 12px;margin-bottom:12px;transition:var(--tr)}
.learn-search-wrap:focus-within{border-color:var(--teal-dim)}
.learn-search-input{background:none;border:none;outline:none;color:var(--white);font-size:13px;font-family:var(--font-b);flex:1}
.learn-search-input::placeholder{color:var(--g400)}
.learn-search-clear{color:var(--g400);font-size:16px;cursor:pointer;flex-shrink:0;line-height:1;border:none;background:none}
.learn-search-clear:hover{color:var(--white)}
.subject-filter-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.subject-filter-row::-webkit-scrollbar{display:none}
.subj-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:10px;font-weight:500;padding:5px 10px;border-radius:99px;transition:var(--tr);white-space:nowrap;flex-shrink:0}
.subj-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.subj-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.diff-filter-row{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.diff-label{font-size:10px;color:var(--g400);font-weight:500}
.diff-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:10px;font-weight:500;padding:4px 10px;border-radius:99px;transition:var(--tr)}
.diff-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.diff-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.topics-count{font-size:11px;color:var(--g600);margin-bottom:10px}
.topics-flat-list{display:flex;flex-direction:column;gap:6px}
.topic-row-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:11px 13px;cursor:pointer;transition:var(--tr)}
.topic-row-item:hover{border-color:var(--teal-dim);background:rgba(0,212,180,.04)}
.topic-row-item.done{border-color:rgba(16,185,129,.25)}
.tri-subject{font-size:9px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.05em;min-width:120px;flex-shrink:0}
.tri-title{font-size:12px;font-weight:600;color:var(--white);flex:1;line-height:1.35}
.tri-diff{font-size:9px;padding:2px 6px;border-radius:4px;border:1px solid;flex-shrink:0}
.tri-diff.Easy{background:var(--green-dim);border-color:rgba(16,185,129,.3);color:#34D399}
.tri-diff.Medium{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:var(--amber)}
.tri-diff.Hard{background:var(--red-dim);border-color:rgba(239,68,68,.2);color:#F87171}
.tri-done{color:var(--green);font-size:13px;flex-shrink:0}
.tri-arr{color:var(--g600);font-size:13px;flex-shrink:0}
.no-topics{text-align:center;padding:36px 20px;color:var(--g400);font-size:13px}
.topic-detail-view{padding-bottom:20px}
.td-back-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.td-back{background:rgba(255,255,255,.05);border:1px solid var(--bg-border);color:var(--g400);font-size:11px;padding:6px 12px;border-radius:var(--r-sm);transition:var(--tr)}
.td-back:hover{border-color:var(--teal-dim);color:var(--teal)}
.td-breadcrumb{font-size:11px;color:var(--g400)}
.topic-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-lg);overflow:hidden}
.tc-head{padding:14px 16px;border-bottom:1px solid var(--bg-border)}
.tc-subject{font-size:9px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.tc-title{font-family:var(--font-d);font-size:16px;font-weight:700}
.block-label{font-size:8px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.tc-nutshell{padding:14px 16px;background:rgba(0,212,180,.04);border-bottom:1px solid var(--bg-border)}
.tc-nut-text{font-size:13px;color:var(--white);line-height:1.65;margin-bottom:8px}
.tc-hinglish{font-size:12px;font-style:italic;color:var(--amber);padding:7px 10px;background:rgba(245,158,11,.07);border-left:3px solid var(--amber);border-radius:0 6px 6px 0}
.tc-example{padding:14px 16px;border-bottom:1px solid var(--bg-border)}
.tc-example-text{font-size:12px;color:var(--g200);line-height:1.65}
.tc-quiz{padding:14px 16px}
.quiz-question{font-size:13px;font-weight:600;color:var(--white);margin-bottom:11px;line-height:1.5}
.quiz-options{display:flex;flex-direction:column;gap:6px}
.quiz-opt{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g200);font-size:12px;padding:9px 12px;border-radius:var(--r-sm);text-align:left;transition:var(--tr);cursor:pointer;font-family:var(--font-b)}
.quiz-opt:hover:not(:disabled){border-color:var(--teal-dim);color:var(--white);background:rgba(0,212,180,.06)}
.quiz-opt.correct{background:var(--green-dim);border-color:rgba(16,185,129,.4);color:#34D399;font-weight:600}
.quiz-opt.wrong{background:var(--red-dim);border-color:rgba(239,68,68,.3);color:#F87171}
.quiz-opt:disabled{cursor:default}
.quiz-result{margin-top:10px;padding:8px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:600;display:none}
.quiz-result.show{display:block}
.quiz-result.right{background:var(--green-dim);border:1px solid rgba(16,185,129,.3);color:#34D399}
.quiz-result.wrong-r{background:var(--red-dim);border:1px solid rgba(239,68,68,.3);color:#F87171}
.tc-nav{padding:12px 16px;border-top:1px solid var(--bg-border);display:flex;align-items:center;gap:8px}
.tc-nav-btn{background:rgba(255,255,255,.05);border:1px solid var(--bg-border);color:var(--g200);font-size:12px;font-weight:500;padding:8px 14px;border-radius:var(--r-sm);transition:var(--tr)}
.tc-nav-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.tc-nav-btn:disabled{opacity:.3;cursor:default}
.tc-nav-btn.primary{flex:1;background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700;text-align:center}
.tc-nav-btn.primary:hover{background:var(--teal-dim)}
.tc-progress{font-size:10px;color:var(--g600);white-space:nowrap}

/* ── TOOLS ── */
.tools-header{margin-bottom:16px}
.tools-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--bg-border);padding-bottom:0}
.tool-tab{color:var(--g400);font-size:12px;font-weight:500;padding:10px 16px;border-bottom:2px solid transparent;transition:var(--tr);white-space:nowrap}
.tool-tab:hover{color:var(--white)}
.tool-tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}
.tool-panel{display:none}
.tool-panel.active{display:block}
.tool-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-lg);padding:24px;max-width:680px}
.tool-card-title{font-family:var(--font-d);font-size:19px;font-weight:700;margin-bottom:5px}
.tool-card-sub{font-size:12px;color:var(--g400);margin-bottom:20px}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.calc-field label{display:block;font-size:10px;font-weight:600;color:var(--g400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.calc-field input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--bg-border);border-radius:var(--r-sm);color:var(--white);font-size:14px;font-family:var(--font-b);padding:10px 12px;outline:none;transition:var(--tr)}
.calc-field input:focus{border-color:var(--teal-dim);background:rgba(0,212,180,.04)}
.calc-field input::placeholder{color:var(--g600)}
.calc-btn{background:var(--teal);color:var(--bg);font-size:13px;font-weight:700;padding:12px 28px;border-radius:var(--r-sm);font-family:var(--font-b);transition:var(--tr)}
.calc-btn:hover{background:var(--teal-dim)}
.calc-result{margin-top:20px;background:rgba(0,212,180,.05);border:1px solid rgba(0,212,180,.2);border-radius:var(--r-md);padding:18px}
.calc-result-main{font-family:var(--font-d);font-size:28px;font-weight:800;color:var(--teal);margin-bottom:6px}
.calc-result-label{font-size:11px;color:var(--g400);margin-bottom:14px}
.calc-result-rows{display:flex;flex-direction:column;gap:8px}
.calc-result-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bg-border)}
.calc-result-row:last-child{border-bottom:none}
.calc-result-row span:first-child{font-size:12px;color:var(--g400)}
.calc-result-row span:last-child{font-size:13px;font-weight:600;color:var(--white)}
.calc-error{color:var(--red);font-size:12px;margin-top:12px;padding:10px 12px;background:var(--red-dim);border:1px solid rgba(239,68,68,.3);border-radius:var(--r-sm)}
.tools-disclaimer{margin-top:20px;background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.18);border-radius:var(--r-sm);padding:10px 12px;font-size:11px;color:var(--g400);line-height:1.6;max-width:680px}
.tools-disclaimer strong{color:var(--amber)}

/* ── FOOTER ── */
.footer{background:var(--bg-card);border-top:1px solid var(--bg-border);padding:20px 16px;margin-top:32px}
.footer-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.footer-disclaimer{font-size:11px;color:var(--g400);background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.15);border-radius:var(--r-sm);padding:9px 12px;line-height:1.6}
.footer-disclaimer strong{color:var(--amber)}
.footer-credit{text-align:center;font-size:12px;color:var(--g400)}
.footer-credit strong{color:var(--teal)}

/* ── UTILS ── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--bg-border);border-radius:99px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes spinAnim{to{transform:rotate(360deg)}}
.plan-card:nth-child(1){animation-delay:.02s}.plan-card:nth-child(2){animation-delay:.05s}
.plan-card:nth-child(3){animation-delay:.08s}.plan-card:nth-child(4){animation-delay:.11s}
.plan-card:nth-child(5){animation-delay:.14s}.plan-card:nth-child(6){animation-delay:.17s}
.plan-card:nth-child(7){animation-delay:.20s}.plan-card:nth-child(8){animation-delay:.23s}
.plan-card:nth-child(9){animation-delay:.26s}.plan-card:nth-child(10){animation-delay:.29s}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .main-nav{display:none}.hamburger{display:block}
  .hero{padding:22px 14px 0}
  .cards-grid{grid-template-columns:1fr}
  .controls-inner{flex-wrap:wrap}.filter-group{order:3;width:100%}
  .m-grid{grid-template-columns:1fr}.m-actions{flex-direction:column}
  .main-wrap{padding:0 12px 50px}
  .tri-subject{min-width:90px;font-size:8px}
  .calc-grid{grid-template-columns:1fr}
  .continue-inner{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:360px){
  .tab-btn{padding:8px 2px;gap:3px}.tab-icon{font-size:13px}
  .tab-label{font-size:9px}.tab-sub{display:none}.logo-tag{display:none}
}
@media(prefers-reduced-motion:reduce){.plan-card{animation:none}*{transition:none!important}}

/* ══════════════════════════════════
   V1.4 NEW COMPONENTS
   Daily Quiz · News Digest · Resources
   Dictionary · Claims Hub
══════════════════════════════════ */

/* ── DAILY QUIZ CHALLENGE CARD ── */
.quiz-challenge-card{background:linear-gradient(135deg,rgba(0,212,180,0.08),rgba(0,212,180,0.03));border-top:1px solid rgba(0,212,180,0.2);padding:12px 20px}
.quiz-challenge-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.qc-left{display:flex;align-items:center;gap:10px}
.qc-icon{font-size:22px}
.qc-label{font-size:12px;font-weight:700;color:var(--white);margin-bottom:2px}
.qc-sub{font-size:10px;color:var(--g400)}
.qc-btn{background:var(--bg);border:1.5px solid var(--teal);color:var(--teal);font-size:12px;font-weight:700;padding:7px 18px;border-radius:99px;transition:var(--tr)}
.qc-btn:hover{background:var(--teal);color:var(--bg)}
.qc-btn.done{border-color:var(--green);color:var(--green)}
.qc-btn.done:hover{background:var(--green);color:var(--bg)}

/* ── DAILY QUIZ MODAL ── */
.dq-content{padding:20px 20px 28px}
.dq-header{margin-bottom:16px}
.dq-title{font-family:var(--font-d);font-size:18px;font-weight:800;margin-bottom:4px}
.dq-meta{font-size:11px;color:var(--g400)}
.dq-progress-bar{height:4px;background:rgba(255,255,255,.08);border-radius:99px;margin:12px 0;overflow:hidden}
.dq-progress-fill{height:100%;background:var(--teal);border-radius:99px;transition:width .4s}
.dq-q-num{font-size:10px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.dq-question{font-size:14px;font-weight:600;color:var(--white);line-height:1.5;margin-bottom:14px}
.dq-options{display:flex;flex-direction:column;gap:7px}
.dq-opt{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g200);font-size:12px;padding:10px 14px;border-radius:var(--r-sm);text-align:left;transition:var(--tr);cursor:pointer;font-family:var(--font-b)}
.dq-opt:hover:not(:disabled){border-color:var(--teal-dim);color:var(--white);background:rgba(0,212,180,.06)}
.dq-opt.correct{background:var(--green-dim);border-color:rgba(16,185,129,.4);color:#34D399;font-weight:600}
.dq-opt.wrong{background:var(--red-dim);border-color:rgba(239,68,68,.3);color:#F87171}
.dq-opt:disabled{cursor:default}
.dq-feedback{margin-top:10px;padding:8px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:600;display:none}
.dq-feedback.show{display:block}
.dq-feedback.right{background:var(--green-dim);border:1px solid rgba(16,185,129,.3);color:#34D399}
.dq-feedback.wrong-r{background:var(--red-dim);border:1px solid rgba(239,68,68,.3);color:#F87171}
.dq-next-btn{margin-top:12px;background:var(--teal);color:var(--bg);font-size:13px;font-weight:700;padding:10px 24px;border-radius:var(--r-sm);font-family:var(--font-b);transition:var(--tr);display:none}
.dq-next-btn.show{display:block}
.dq-next-btn:hover{background:var(--teal-dim)}
.dq-result{text-align:center;padding:10px 0}
.dq-result-score{font-family:var(--font-d);font-size:48px;font-weight:800;color:var(--teal);line-height:1}
.dq-result-out{font-size:16px;color:var(--g400);margin-bottom:8px}
.dq-result-msg{font-size:14px;color:var(--white);font-weight:600;margin-bottom:16px}
.dq-result-badge{display:inline-block;font-size:11px;font-weight:700;padding:5px 14px;border-radius:99px;border:1px solid}
.dq-result-badge.perfect{background:rgba(0,212,180,.15);border-color:var(--teal);color:var(--teal)}
.dq-result-badge.great{background:rgba(16,185,129,.12);border-color:var(--green);color:#34D399}
.dq-result-badge.good{background:rgba(245,158,11,.1);border-color:var(--amber);color:var(--amber)}
.dq-result-badge.keep-going{background:var(--red-dim);border-color:rgba(239,68,68,.3);color:#F87171}
.dq-close-btn{margin-top:18px;background:rgba(255,255,255,.06);border:1px solid var(--bg-border);color:var(--g200);font-size:12px;font-weight:500;padding:9px 20px;border-radius:var(--r-sm);font-family:var(--font-b);transition:var(--tr)}
.dq-close-btn:hover{border-color:var(--teal-dim);color:var(--teal)}

/* ── NEWS DIGEST (Top 5) ── */
.news-digest{background:rgba(0,212,180,0.04);border:1px solid rgba(0,212,180,0.15);border-radius:var(--r-md);padding:14px;margin-bottom:18px}
.digest-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:4px}
.digest-title{font-size:12px;font-weight:700;color:var(--teal)}
.digest-sub{font-size:10px;color:var(--g400)}
.digest-list{display:flex;flex-direction:column;gap:8px}
.digest-item{display:flex;gap:10px;align-items:flex-start}
.digest-num{font-size:10px;font-weight:800;color:var(--teal);width:16px;flex-shrink:0;margin-top:2px}
.digest-body{flex:1;min-width:0}
.digest-cat{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--g600);margin-bottom:2px}
.digest-headline{font-size:11px;font-weight:600;color:var(--white);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.digest-headline:hover{color:var(--teal);text-decoration:underline}
.digest-summary{font-size:10px;color:var(--g400);line-height:1.5;margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ── RESOURCES SECTION ── */
.resources-header{margin-bottom:14px}
.resource-tabs{display:flex;gap:0;border-bottom:1px solid var(--bg-border);margin-bottom:18px}
.res-tab{color:var(--g400);font-size:12px;font-weight:500;padding:10px 18px;border-bottom:2px solid transparent;transition:var(--tr);white-space:nowrap}
.res-tab:hover{color:var(--white)}
.res-tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}
.res-panel{display:none}
.res-panel.active{display:block}

/* ── DICTIONARY ── */
.dict-search-wrap{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:9px 12px;margin-bottom:12px;transition:var(--tr)}
.dict-search-wrap:focus-within{border-color:var(--teal-dim)}
.dict-cat-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}
.dict-cat-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:10px;font-weight:500;padding:5px 10px;border-radius:99px;transition:var(--tr);white-space:nowrap}
.dict-cat-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.dict-cat-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.dict-loading,.claims-loading{text-align:center;padding:40px 20px;color:var(--g400);font-size:13px}
.dict-count{font-size:11px;color:var(--g600);margin-bottom:12px}
.dict-list{display:flex;flex-direction:column;gap:8px}
.dict-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);overflow:hidden;transition:var(--tr)}
.dict-card:hover{border-color:var(--teal-dim)}
.dict-card-header{padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.dict-term{font-size:13px;font-weight:700;color:var(--white)}
.dict-cat-tag{font-size:9px;padding:2px 7px;background:var(--teal-glow);border:1px solid rgba(0,212,180,.2);color:var(--teal);border-radius:4px;white-space:nowrap;flex-shrink:0}
.dict-chevron{color:var(--g600);font-size:12px;transition:var(--tr);flex-shrink:0}
.dict-card.open .dict-chevron{transform:rotate(90deg)}
.dict-body{display:none;padding:0 14px 14px;border-top:1px solid var(--bg-border)}
.dict-card.open .dict-body{display:block}
.dict-section-label{font-size:8px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.09em;margin:10px 0 4px}
.dict-text{font-size:12px;color:var(--g200);line-height:1.65}
.dict-example{font-style:italic;color:var(--amber);font-size:11px;padding:7px 10px;background:rgba(245,158,11,.05);border-left:3px solid var(--amber);border-radius:0 5px 5px 0;margin-top:6px}
.dict-no-results{text-align:center;padding:36px 20px;color:var(--g400);font-size:13px}

/* ── CLAIMS HUB ── */
.claims-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.claim-type-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:11px;font-weight:500;padding:8px 14px;border-radius:99px;transition:var(--tr);white-space:nowrap}
.claim-type-btn:hover{border-color:var(--teal-dim);color:var(--teal)}
.claim-type-btn.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}
.claim-content-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-lg);overflow:hidden;max-width:800px}
.claim-intro{padding:16px;background:rgba(0,212,180,.04);border-bottom:1px solid var(--bg-border)}
.claim-intro-title{font-family:var(--font-d);font-size:17px;font-weight:700;margin-bottom:6px}
.claim-intro-text{font-size:12px;color:var(--g200);line-height:1.6}
.claim-section{padding:14px 16px;border-bottom:1px solid var(--bg-border)}
.claim-section:last-child{border-bottom:none}
.claim-section-title{font-size:10px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.claim-steps{display:flex;flex-direction:column;gap:10px}
.claim-step{display:flex;gap:10px;align-items:flex-start}
.step-num{background:var(--teal);color:var(--bg);font-size:10px;font-weight:800;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.step-body{flex:1}
.step-title{font-size:12px;font-weight:700;color:var(--white);margin-bottom:3px}
.step-detail{font-size:11px;color:var(--g400);line-height:1.55}
.claim-docs{display:flex;flex-direction:column;gap:7px}
.claim-doc{display:flex;gap:8px;align-items:flex-start}
.doc-icon{color:var(--teal);font-size:11px;flex-shrink:0;margin-top:2px}
.doc-name{font-size:12px;font-weight:600;color:var(--white);margin-bottom:1px}
.doc-note{font-size:10px;color:var(--g400)}
.claim-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.claim-list li{font-size:12px;color:var(--g200);padding-left:16px;position:relative;line-height:1.5}
.claim-list li::before{content:'▸';position:absolute;left:0;color:var(--teal);font-size:10px;top:2px}
.claim-list.mistakes li::before{content:'⚠';color:var(--amber)}
.claim-list.tips li::before{content:'💡';color:var(--teal)}
.claim-timeline{background:rgba(0,212,180,.06);border:1px solid rgba(0,212,180,.2);border-radius:var(--r-sm);padding:11px 14px;font-size:12px;color:var(--white);line-height:1.6}
.claim-subtype-tabs{display:flex;gap:5px;margin-bottom:12px}
.subtype-btn{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:11px;font-weight:500;padding:6px 12px;border-radius:99px;transition:var(--tr)}
.subtype-btn:hover{border-color:var(--teal-dim);color:var(--white)}
.subtype-btn.active{background:var(--bg-border);color:var(--white);font-weight:700}

/* 5-tab responsive adjustments */
@media(max-width:480px){
  .tab-btn{padding:8px 2px;gap:3px}
  .tab-icon{font-size:13px}
  .tab-label{font-size:9px}
  .tab-sub{display:none}
}
@media(max-width:360px){
  .tab-label{display:none}
  .tab-btn{padding:8px 0}
  .tab-icon{font-size:16px}
}

/* ══════════════════════════════════
   V1.5 NEW COMPONENTS
   Recently Viewed · Bookmarks
   IRR · TVM · EMI · ULIP Calculators
══════════════════════════════════ */

/* ── TOOL TABS SCROLLABLE (7 tools) ── */
.tool-tab-scroll{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--bg-border);margin-bottom:20px;padding-bottom:0;-ms-overflow-style:none;scrollbar-width:none}
.tool-tab-scroll::-webkit-scrollbar{display:none}
.tool-tab{color:var(--g400);font-size:11px;font-weight:500;padding:10px 14px;border-bottom:2px solid transparent;transition:var(--tr);white-space:nowrap;flex-shrink:0}
.tool-tab:hover{color:var(--white)}
.tool-tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}
.calc-note{margin-top:12px;font-size:10px;color:var(--g400);background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.15);border-radius:var(--r-sm);padding:8px 11px;line-height:1.6}

/* ── TVM MODE TOGGLE ── */
.tvm-mode-row{display:flex;gap:6px;margin-bottom:18px}
.tvm-mode{background:rgba(255,255,255,.04);border:1px solid var(--bg-border);color:var(--g400);font-size:11px;font-weight:500;padding:7px 16px;border-radius:99px;transition:var(--tr)}
.tvm-mode:hover{border-color:var(--teal-dim);color:var(--teal)}
.tvm-mode.active{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700}

/* ── EMI AMORTIZATION ── */
.emi-amort{margin-top:14px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);overflow:hidden;max-width:680px}
.amort-title{padding:10px 14px;font-size:11px;font-weight:700;color:var(--teal);border-bottom:1px solid var(--bg-border);text-transform:uppercase;letter-spacing:.06em}
.amort-table{width:100%;border-collapse:collapse;font-size:11px}
.amort-table th{background:rgba(255,255,255,.03);color:var(--g400);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;text-align:right;border-bottom:1px solid var(--bg-border)}
.amort-table th:first-child{text-align:left}
.amort-table td{padding:8px 12px;border-bottom:1px solid rgba(46,74,114,.3);text-align:right;color:var(--g200)}
.amort-table td:first-child{text-align:left;color:var(--white);font-weight:500}
.amort-table tr:last-child td{border-bottom:none;font-weight:700;color:var(--white)}

/* ── RECENTLY VIEWED ── */
.recent-topics-strip{background:rgba(255,255,255,.02);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px}
.recent-label{font-size:9px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.recent-list{display:flex;flex-direction:column;gap:5px}
.recent-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;transition:var(--tr)}
.recent-item:hover{background:rgba(0,212,180,.06)}
.recent-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0}
.recent-title{font-size:11px;color:var(--g200);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-subj{font-size:9px;color:var(--g600);flex-shrink:0}

/* ── BOOKMARKS TRIGGER ── */
.bookmarks-trigger{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:var(--g200);font-size:11px;font-weight:600;padding:6px 12px;border-radius:99px;transition:var(--tr);flex-shrink:0}
.bookmarks-trigger:hover{background:rgba(255,255,255,.14);color:var(--white)}
.continue-right{display:flex;align-items:center;gap:8px}

/* ── BOOKMARK ICON on items ── */
.bm-icon{background:none;border:none;color:var(--g600);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:var(--tr);flex-shrink:0;line-height:1}
.bm-icon:hover{color:var(--amber)}
.bm-icon.saved{color:var(--amber)}

/* ── BOOKMARKS MODAL ── */
.bm-content{padding:18px 20px 24px}
.bm-title{font-family:var(--font-d);font-size:18px;font-weight:800;margin-bottom:14px}
.bm-tabs{display:flex;gap:0;border-bottom:1px solid var(--bg-border);margin-bottom:16px}
.bm-tab{color:var(--g400);font-size:12px;font-weight:500;padding:9px 16px;border-bottom:2px solid transparent;transition:var(--tr);cursor:pointer}
.bm-tab:hover{color:var(--white)}
.bm-tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}
.bm-panel{display:none}
.bm-panel.active{display:block}
.bm-empty{text-align:center;padding:30px 20px;color:var(--g400);font-size:13px}
.bm-empty-icon{font-size:32px;display:block;margin-bottom:8px}
.bm-list{display:flex;flex-direction:column;gap:7px}
.bm-topic-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;transition:var(--tr)}
.bm-topic-item:hover{border-color:var(--teal-dim)}
.bm-item-title{font-size:12px;font-weight:600;color:var(--white);flex:1}
.bm-item-sub{font-size:10px;color:var(--g400);margin-top:2px}
.bm-remove{color:var(--g600);font-size:12px;cursor:pointer;padding:2px;transition:var(--tr)}
.bm-remove:hover{color:var(--red)}
.bm-news-item{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:10px 12px;transition:var(--tr)}
.bm-news-item:hover{border-color:var(--teal-dim)}
.bm-news-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}
.bm-plan-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:10px 12px;transition:var(--tr)}
.bm-plan-item:hover{border-color:var(--teal-dim);cursor:pointer}

/* ── LEARNING SEGMENT CONTROL (top of section) ── */
.learn-seg-wrap{margin-bottom:14px}
.learn-seg-control{display:flex;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:4px;gap:4px}
.learn-seg{flex:1;padding:10px 6px;border-radius:var(--r-sm);font-size:12px;font-weight:600;color:var(--g400);transition:var(--tr);text-align:center;white-space:nowrap}
.learn-seg:hover{color:var(--white)}
.learn-seg.active{background:var(--teal);color:var(--bg);font-weight:700}
@media(max-width:360px){.learn-seg{font-size:10px;padding:9px 4px}}

/* ── CALCULATOR RESET BUTTON ── */
.calc-reset-btn{background:none;border:1px solid var(--bg-border);color:var(--g400);font-size:11px;font-weight:500;padding:8px 16px;border-radius:var(--r-sm);font-family:var(--font-b);margin-left:8px;transition:var(--tr);cursor:pointer}
.calc-reset-btn:hover{border-color:var(--teal-dim);color:var(--teal)}

/* ── BENCHMARK COMPLETELY REMOVED ── */
/* benchmark-bar, bm-label, bm-pills, pill styles intentionally removed */

/* ── NEWS EMPTY STATE ── */
.news-empty-state{grid-column:1/-1;text-align:center;padding:48px 20px;max-width:400px;margin:0 auto}
.nes-icon{font-size:40px;margin-bottom:12px}
.nes-title{font-family:var(--font-d);font-size:17px;font-weight:700;color:var(--white);margin-bottom:8px}
.nes-text{font-size:13px;color:var(--g400);line-height:1.7;margin-bottom:8px}
.nes-sub{font-size:11px;color:var(--g600);line-height:1.6;background:rgba(255,255,255,.03);border:1px solid var(--bg-border);border-radius:var(--r-sm);padding:10px 12px;margin-top:10px}
.nes-sub em{color:var(--teal);font-style:normal;font-weight:600}

/* ── NEWS FRESHNESS BADGE ── */
.news-freshness-badge{display:flex;align-items:flex-start;gap:10px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:11px 14px;margin-bottom:14px}
.nfb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.nfb-dot.live{background:#10B981;box-shadow:0 0 0 3px rgba(16,185,129,0.2)}
.nfb-dot.seed{background:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,0.2)}
.nfb-info{flex:1;min-width:0}
.nfb-title{font-size:12px;font-weight:700;color:var(--white);margin-bottom:3px}
.nfb-counts{font-size:11px;color:var(--g400);margin-bottom:2px}
.nfb-counts span{color:var(--white);font-weight:600}
.nfb-updated{font-size:10px;color:var(--g600)}

.digest-meta{font-size:9px;color:var(--g600);margin-top:3px}

/* ══════════════════════════════════
   NEWS UX IMPROVEMENTS
   Status Bar · Featured · Skeleton
══════════════════════════════════ */

/* ── NEWS STATUS BAR ── */
.news-status-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(0,212,180,0.05);border:1px solid rgba(0,212,180,0.15);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:14px;font-size:11px;flex-wrap:wrap;gap:6px}
.nsb-left{display:flex;align-items:center;gap:6px;color:var(--g400)}
.nsb-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);flex-shrink:0;box-shadow:0 0 0 3px rgba(0,212,180,0.15)}
.nsb-count{color:var(--white);font-weight:600}
.nsb-sep{color:var(--g600)}
.nsb-cats{color:var(--g400)}
.nsb-right{font-size:10px;color:var(--g600);white-space:nowrap}

/* ── FEATURED STORY CARD ── */
.news-featured-wrap{margin-bottom:16px}
.news-card-featured{background:var(--bg-card);border:1px solid var(--bg-border);border-left:3px solid var(--teal);border-radius:var(--r-md);padding:16px;transition:var(--tr)}
.news-card-featured:hover{border-color:var(--teal);box-shadow:var(--sh-hover)}
.ncf-label{font-size:8px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.ncf-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ncf-title{font-family:var(--font-d);font-size:15px;font-weight:700;color:var(--white);line-height:1.35;margin-bottom:8px;text-decoration:none;display:block}
.ncf-title:hover{color:var(--teal)}
.ncf-summary{font-size:12px;color:var(--g200);line-height:1.65;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ncf-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ncf-meta{font-size:10px;color:var(--g400)}
.ncf-meta strong{color:var(--white)}
.ncf-read{background:var(--teal);color:var(--bg);font-size:11px;font-weight:700;padding:7px 16px;border-radius:99px;text-decoration:none;transition:var(--tr);white-space:nowrap;display:inline-block}
.ncf-read:hover{background:var(--teal-dim);text-decoration:none;color:var(--bg)}

/* ── SKELETON LOADING CARDS ── */
.news-skeletons{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:16px}
.skel-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--r-md);padding:14px;overflow:hidden}
.skel{background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:4px}
.skel-row1{height:8px;width:40%;margin-bottom:10px}
.skel-row2{height:12px;width:90%;margin-bottom:6px}
.skel-row3{height:12px;width:75%;margin-bottom:12px}
.skel-row4{height:9px;width:55%;margin-bottom:6px}
.skel-row5{height:9px;width:40%}
.skel-footer{display:flex;justify-content:space-between;margin-top:14px}
.skel-date{height:8px;width:30%}
.skel-btn{height:24px;width:28%;border-radius:99px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ══════════════════════════════════════════
   ANNUITY COMPARISON MODULE
   ══════════════════════════════════════════ */

/* ── Wrapper ── */
.ann-wrap { padding: 0 0 40px; }

/* ── Header ── */
.ann-header { padding: 20px 16px 12px; background: var(--card); border-radius: 12px; margin-bottom: 12px; border: 1px solid var(--border); }
.ann-hrow { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.ann-title { font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800; color: var(--white); margin: 0 0 2px; }
.ann-subtitle { font-size: 12px; color: var(--g400); margin: 0; }
.ann-meta-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.ann-pill { background: rgba(0,196,180,0.12); border: 1px solid var(--teal); color: var(--teal); padding: 3px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.ann-bench-note { background: rgba(255,200,60,0.08); border-left: 3px solid #FFC83C; padding: 8px 12px; border-radius: 0 8px 8px 0; font-size: 11px; color: var(--g400); display: flex; gap: 8px; align-items: flex-start; }
.ann-bicon { font-size: 14px; flex-shrink: 0; margin-top: 1px; }
.ann-bench-note strong { color: var(--white); }
.ann-badge { background: rgba(0,196,180,0.2); color: var(--teal); padding: 2px 6px; border-radius: 4px; font-size: 10px; font-weight: 700; margin-top: 4px; display: inline-block; }

/* ── Legend ── */
.ann-legend { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 16px; margin-bottom: 10px; }
.aleg { font-size: 11px; padding: 3px 8px; border-radius: 4px; font-weight: 500; }
.aleg-yes    { background: rgba(34,197,94,0.12); color: #22C55E; }
.aleg-no     { background: rgba(239,68,68,0.12); color: #EF4444; }
.aleg-sim    { background: rgba(251,191,36,0.12); color: #FBBF24; }
.aleg-unique { background: rgba(250,204,21,0.15); color: #FACC15; }
.aleg-na     { background: var(--card2); color: var(--g500); }

/* ── View Toggle Bar ── */
.ann-view-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.ann-vtog-group { display: flex; gap: 4px; background: var(--card2); border-radius: 8px; padding: 3px; }
.ann-vtog { padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 600; color: var(--g400); background: transparent; border: none; cursor: pointer; transition: all 0.2s; }
.ann-vtog.active { background: var(--teal); color: #000; }
.ann-matrix-hint { font-size: 11px; color: var(--g500); margin: 0; }

/* ── MATRIX TABLE ── */
.am-scroll-wrap { overflow-x: auto; border-radius: 10px; border: 1px solid var(--border); -webkit-overflow-scrolling: touch; }
.am-table { border-collapse: collapse; white-space: nowrap; font-size: 12px; min-width: 1200px; }

/* Column header */
.am-opt-hdr { position: sticky; left: 0; z-index: 3; background: var(--navy); border-right: 1px solid var(--border); padding: 12px 14px; text-align: left; font-size: 11px; color: var(--g400); font-weight: 600; min-width: 220px; max-width: 260px; white-space: normal; }
.am-col-hdr { background: var(--card); border-bottom: 2px solid var(--border); padding: 10px 10px 14px; text-align: center; min-width: 120px; vertical-align: top; }
.am-col-hdr.am-base-col { background: rgba(0,196,180,0.06); border-bottom: 2px solid var(--teal); }
.am-company { font-weight: 700; color: var(--white); font-size: 13px; }
.am-plan { font-size: 10px; color: var(--g400); margin: 2px 0; line-height: 1.3; white-space: normal; max-width: 110px; margin: 2px auto; }
.am-uin { font-size: 9px; color: var(--g500); margin-top: 2px; }
.am-opts { font-size: 10px; color: var(--teal); font-weight: 600; margin-top: 3px; }
.am-col-rate { font-size: 11px; font-weight: 700; color: #22C55E; margin-top: 4px; }
.am-calc-link { display: inline-block; margin-top: 8px; padding: 4px 8px; background: var(--teal); color: #000 !important; font-size: 10px; font-weight: 700; border-radius: 4px; text-decoration: none; }
.am-calc-link:hover { background: #00e5d3; }

/* Option label cells (sticky) */
.am-opt-label { position: sticky; left: 0; z-index: 2; background: var(--navy); border-right: 1px solid var(--border); border-top: 1px solid var(--border); padding: 8px 14px; vertical-align: top; max-width: 260px; white-space: normal; }
.am-opt-label.am-opt-unique { background: rgba(250,204,21,0.04); border-left: 3px solid #FACC15; }
.am-opt-group { font-size: 9px; font-weight: 700; color: var(--teal); letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 2px; }
.am-opt-name { font-size: 11px; font-weight: 600; color: var(--white); line-height: 1.3; margin-bottom: 2px; }
.am-opt-desc { font-size: 10px; color: var(--g500); white-space: normal; line-height: 1.4; }

/* Data cells */
.am-cell { border-top: 1px solid rgba(255,255,255,0.05); text-align: center; padding: 8px 10px; vertical-align: middle; transition: background 0.15s; min-width: 80px; }
.am-cell:hover { background: rgba(255,255,255,0.04); }
.am-cell.am-base-col { background: rgba(0,196,180,0.04); }
.am-cell.am-base-col:hover { background: rgba(0,196,180,0.08); }
.am-icon { font-size: 18px; display: block; }
.am-lp-note { font-size: 9px; color: var(--g400); white-space: normal; line-height: 1.3; margin-top: 3px; max-width: 90px; margin-left: auto; margin-right: auto; }

/* Status colors */
.am-yes    { }
.am-no     { opacity: 0.7; }
.am-sim    { background: rgba(251,191,36,0.05) !important; }
.am-sim:hover { background: rgba(251,191,36,0.12) !important; }
.am-unique { background: rgba(250,204,21,0.06) !important; }
.am-unique .am-icon { color: #FACC15; }
.am-na     { opacity: 0.4; }

/* Summary & type rows */
.am-divider-row td { height: 6px; background: rgba(255,255,255,0.03); }
.am-summary-row td { font-size: 11px; font-weight: 700; color: var(--teal); padding: 8px; border-top: 2px solid var(--border); }
.am-summary-row .am-opt-label { color: var(--white); }
.am-type-cell { font-size: 10px; color: var(--g400); border-top: 1px solid rgba(255,255,255,0.05); padding: 6px 10px; text-align: center; white-space: normal; }
.am-type-cell.am-base-col { color: var(--teal); }

/* ── COMPANY CARDS ── */
.ann-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; padding: 4px 0; }
.ann-card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.2s; }
.ann-card:hover { border-color: var(--teal); }
.ann-card-base { border-color: var(--teal); background: rgba(0,196,180,0.04); }
.ac-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ac-company { font-size: 15px; font-weight: 700; color: var(--white); }
.ac-plan { font-size: 11px; color: var(--g400); margin-top: 1px; }
.ac-type-badge { background: var(--card2); color: var(--teal); padding: 3px 8px; border-radius: 6px; font-size: 10px; font-weight: 600; white-space: nowrap; flex-shrink: 0; }
.ac-uin { font-size: 10px; color: var(--g500); }
.ac-bm { font-size: 11px; background: rgba(34,197,94,0.08); border-left: 3px solid #22C55E; padding: 6px 10px; border-radius: 0 6px 6px 0; color: var(--g400); }
.ac-bm strong { color: #22C55E; }
.ac-bm-date { font-size: 9px; color: var(--g500); }
.ac-bm-note { border-color: #FFC83C; background: rgba(255,200,60,0.06); color: var(--g500); }
.ac-feat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px; }
.ac-feat { display: flex; flex-direction: column; gap: 1px; }
.ac-fl { font-size: 9px; color: var(--g500); text-transform: uppercase; letter-spacing: 0.3px; }
.ac-fv { font-size: 11px; color: var(--g300); font-weight: 500; line-height: 1.3; }
.ac-flags { display: flex; flex-wrap: wrap; gap: 4px; }
.ac-flag { font-size: 10px; padding: 2px 7px; border-radius: 4px; font-weight: 500; }
.ac-flag.yes { background: rgba(34,197,94,0.12); color: #22C55E; }
.ac-flag.no  { background: rgba(239,68,68,0.08); color: #EF4444; }
.ac-unique { background: rgba(250,204,21,0.06); border: 1px solid rgba(250,204,21,0.2); border-radius: 8px; padding: 8px; }
.ac-u-lbl  { font-size: 10px; font-weight: 700; color: #FACC15; margin-bottom: 4px; }
.ac-u-item { font-size: 11px; color: var(--g300); line-height: 1.4; padding: 1px 0; }
.ac-actions { display: flex; gap: 6px; margin-top: 4px; flex-wrap: wrap; }
.ac-btn-calc { flex: 1; text-align: center; background: var(--teal); color: #000 !important; padding: 7px 10px; border-radius: 8px; font-size: 11px; font-weight: 700; text-decoration: none; min-width: 140px; transition: background 0.2s; }
.ac-btn-calc:hover { background: #00e5d3; }
.ac-btn-bro { padding: 7px 10px; border-radius: 8px; font-size: 11px; font-weight: 600; text-decoration: none; border: 1px solid var(--border); color: var(--g400); transition: all 0.2s; }
.ac-btn-bro:hover { border-color: var(--teal); color: var(--teal); }

/* ── BENCHMARK SECTION ── */
.ann-bm-section { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-top: 16px; }
.ann-bm-title { font-size: 15px; font-weight: 700; color: var(--white); margin: 0 0 4px; }
.ann-bm-params { font-size: 11px; color: var(--teal); font-weight: 600; margin: 0 0 12px; }
.ann-bm-table-wrap { overflow-x: auto; }
.ann-bm-table { border-collapse: collapse; width: 100%; min-width: 480px; font-size: 12px; }
.ann-bm-table th { background: var(--card2); color: var(--g400); padding: 8px 12px; text-align: left; font-size: 11px; font-weight: 600; border-bottom: 1px solid var(--border); }
.ann-bm-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.05); color: var(--g300); vertical-align: top; }
.ann-bm-table td small { color: var(--g500); font-size: 10px; }
.ann-rate-val { text-align: right; font-weight: 600; color: #22C55E; }
.ann-bm-disclaimer { font-size: 10px; color: var(--g500); margin: 10px 0 0; background: rgba(251,191,36,0.06); border-left: 3px solid #FBBF24; padding: 6px 10px; border-radius: 0 4px 4px 0; }
.ann-bm-lp { font-size: 11px; color: var(--g400); background: var(--card2); border-radius: 8px; padding: 10px 12px; margin-top: 10px; line-height: 1.5; }
.ann-bm-lp strong { color: var(--white); }

/* ── NOTE POPUP ── */
.ann-note-popup { position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
.ann-note-popup.active { opacity: 1; pointer-events: all; }
.ann-note-inner { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 20px; max-width: 420px; width: 100%; position: relative; max-height: 80vh; overflow-y: auto; }
.ann-note-close { position: absolute; top: 10px; right: 14px; background: none; border: none; color: var(--g400); font-size: 16px; cursor: pointer; }
.ann-note-plan { font-size: 13px; font-weight: 700; color: var(--white); margin-bottom: 2px; padding-right: 24px; }
.ann-note-opt { font-size: 11px; color: var(--teal); margin-bottom: 8px; }
.ann-note-status { font-size: 11px; font-weight: 600; color: #FBBF24; margin-bottom: 6px; }
.ann-note-text { font-size: 12px; color: var(--g300); line-height: 1.6; }

/* ── SEC ANNUITY SPACING ── */
#sec-annuity { padding: 12px 16px; }
@media(max-width: 480px) {
  #sec-annuity { padding: 8px 10px; }
  .ann-cards-grid { grid-template-columns: 1fr; }
  .am-table { font-size: 11px; }
  .am-icon { font-size: 15px; }
  .ann-bm-section { padding: 12px; }
}

/* ══════════════════════════════════════════
   PRODUCT COMPARISON — SHARED CARDS STYLES
   ══════════════════════════════════════════ */
.prod-wrap { padding: 0 0 40px; }
.prod-header { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 18px; margin-bottom: 12px; }
.prod-title { font-family: 'Syne',sans-serif; font-size: 19px; font-weight: 800; color: var(--white); margin: 0 0 2px; }
.prod-sub { font-size: 12px; color: var(--g400); margin: 0 0 8px; }
.prod-bench { font-size: 11px; color: var(--g400); background: rgba(0,196,180,0.08); border-left: 3px solid var(--teal); padding: 6px 10px; border-radius: 0 6px 6px 0; }
.prod-bench strong { color: var(--white); }
.prod-note-bar { font-size: 11px; color: var(--g400); background: rgba(251,191,36,0.07); border-left: 3px solid #FBBF24; padding: 8px 12px; border-radius: 0 8px 8px 0; margin-bottom: 12px; }
.prod-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 12px; }

/* Card */
.prod-card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.prod-card-base { border-color: var(--teal); background: rgba(0,196,180,0.04); }
.prod-card-warn { border-color: #FBBF24; }
.prod-base-tag { background: var(--teal); color: #000; padding: 2px 7px; border-radius: 4px; font-size: 10px; font-weight: 700; }
.prod-tag { background: rgba(34,197,94,0.15); color: #22C55E; padding: 2px 7px; border-radius: 4px; font-size: 10px; font-weight: 600; }
.prod-warn-tag { background: rgba(251,191,36,0.15); color: #FBBF24; padding: 2px 7px; border-radius: 4px; font-size: 10px; font-weight: 600; }
.prod-rep-tag { background: rgba(239,68,68,0.12); color: #EF4444; padding: 2px 7px; border-radius: 4px; font-size: 10px; font-weight: 600; }

.pc-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.pc-co { font-size: 15px; font-weight: 700; color: var(--white); }
.pc-pl { font-size: 11px; color: var(--g400); margin-top: 1px; line-height: 1.3; }
.pc-type { font-size: 9px; background: var(--card2); color: var(--teal); padding: 3px 7px; border-radius: 5px; text-align: center; flex-shrink: 0; max-width: 100px; line-height: 1.3; }
.pc-type-warn { color: #FBBF24; background: rgba(251,191,36,0.1); }
.pc-uin { font-size: 9px; color: var(--g500); }

/* Nums */
.pc-nums { display: flex; flex-direction: column; gap: 4px; }
.pc-num-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 11px; padding: 3px 0; border-bottom: 1px solid rgba(255,255,255,0.04); }
.pc-nl { color: var(--g400); }
.pc-nv { font-weight: 600; color: var(--white); }
.pc-green { color: #22C55E; }
.pc-blue { color: #60A5FA; }
.pc-highlight { background: rgba(34,197,94,0.06); border-radius: 4px; padding: 4px 6px; margin: 2px -6px; }
.pc-highlight8 { background: rgba(96,165,250,0.06); border-radius: 4px; padding: 4px 6px; margin: 2px -6px; }
.pc-breakup4, .pc-breakup8 { font-size: 9px; color: var(--g500); }
.pc-bonus-note { font-size: 9px; color: #FBBF24; }
.pc-warn { font-size: 9px; color: #FBBF24; background: rgba(251,191,36,0.07); padding: 5px 8px; border-radius: 5px; line-height: 1.5; }
.pc-rep-note { font-size: 9px; color: #EF4444; background: rgba(239,68,68,0.06); padding: 5px 8px; border-radius: 5px; }

/* Pending / NA */
.pc-pending-block, .pc-na-block { background: var(--card2); border-radius: 8px; padding: 10px; text-align: center; font-size: 11px; color: var(--g400); line-height: 1.6; }
.pc-na-block { color: #EF4444; background: rgba(239,68,68,0.06); }

/* Feature list */
.pc-feature-list { display: flex; flex-direction: column; gap: 3px; }
.pc-feat { display: flex; gap: 6px; font-size: 10px; }
.pc-fl { color: var(--g500); min-width: 90px; flex-shrink: 0; }
.pc-fv { color: var(--g300); line-height: 1.4; }

.pc-unique { font-size: 10px; color: var(--g400); line-height: 1.5; padding: 6px 0; border-top: 1px solid rgba(255,255,255,0.05); }
.pc-pitch { font-size: 11px; color: var(--teal); font-style: italic; }
.pc-src { font-size: 9px; color: var(--g500); }
.pc-links { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.pc-btn { background: var(--teal); color: #000 !important; padding: 6px 12px; border-radius: 7px; font-size: 11px; font-weight: 700; text-decoration: none; transition: background 0.2s; flex: 1; text-align: center; min-width: 100px; }
.pc-btn:hover { background: #00e5d3; }
.pc-btn-sec { padding: 6px 12px; border-radius: 7px; font-size: 11px; font-weight: 600; text-decoration: none; border: 1px solid var(--border); color: var(--g400); transition: all 0.2s; }
.pc-btn-sec:hover { border-color: var(--teal); color: var(--teal); }

/* IRR table */
.prod-irr-table { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 14px; margin-top: 14px; }
.prod-irr-title { font-size: 14px; font-weight: 700; color: var(--white); margin: 0 0 8px; }
.prod-irr-scroll { overflow-x: auto; }
.pirr-tbl { border-collapse: collapse; width: 100%; min-width: 480px; font-size: 11px; }
.pirr-tbl th { background: var(--card2); color: var(--g400); padding: 7px 10px; text-align: left; font-size: 10px; font-weight: 600; border-bottom: 1px solid var(--border); }
.pirr-tbl td { padding: 8px 10px; border-bottom: 1px solid rgba(255,255,255,0.04); color: var(--g300); vertical-align: top; }
.pirr-tbl td small { color: var(--g500); font-size: 9px; }
.pirr-base td { background: rgba(0,196,180,0.04); }
.pirr-green { color: #22C55E; font-weight: 600; }
.pirr-blue { color: #60A5FA; font-weight: 600; }
.prod-irr-note { font-size: 9px; color: var(--g500); margin: 8px 0 0; }

/* Excluded */
.prod-excl { background: rgba(239,68,68,0.05); border: 1px solid rgba(239,68,68,0.15); border-radius: 10px; padding: 12px; margin-top: 12px; }
.prod-excl h4 { font-size: 12px; font-weight: 700; color: #EF4444; margin: 0 0 8px; }
.prod-excl-item { font-size: 11px; color: var(--g400); padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,0.04); }

/* Non-Par sub-tabs */
.nonpar-sub-tabs { display: flex; gap: 4px; background: var(--card2); border-radius: 9px; padding: 4px; margin-bottom: 12px; flex-wrap: wrap; }
.npsub { flex: 1; min-width: 120px; padding: 7px 12px; border-radius: 7px; font-size: 11px; font-weight: 600; color: var(--g400); background: transparent; border: none; cursor: pointer; transition: all 0.2s; text-align: center; }
.npsub.active { background: var(--teal); color: #000; }

#sec-par, #sec-nonpar { padding: 12px 16px; }
@media(max-width:480px) {
  #sec-par, #sec-nonpar { padding: 8px 10px; }
  .prod-cards { grid-template-columns: 1fr; }
  .npsub { font-size: 10px; padding: 6px 8px; }
}

/* ══════════════════════════════════════
   SECONDARY ACTION BAR
   ══════════════════════════════════════ */
.cat-action-bar {
  display:flex; gap:6px; padding:8px 16px 4px;
  background:var(--card); border-bottom:1px solid var(--border);
}
.cab-btn {
  padding:6px 14px; border-radius:20px; border:1px solid var(--border);
  background:transparent; color:var(--g400); font-size:11px; font-weight:600;
  cursor:pointer; transition:all 0.15s;
}
.cab-btn.active { background:var(--teal); color:#000; border-color:var(--teal); }
.cab-btn:hover:not(.active) { border-color:var(--teal); color:var(--teal); }

/* ══════════════════════════════════════
   CARD LAYOUT ENHANCEMENTS (P1, P3)
   ══════════════════════════════════════ */
.pc-section-title {
  font-size:10px; font-weight:700; color:var(--teal);
  text-transform:uppercase; letter-spacing:0.5px;
  margin:10px 0 5px; padding-top:8px;
  border-top:1px solid rgba(255,255,255,0.05);
}
.pc-section-title:first-of-type { border-top:none; }
.pc-highlights {
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px;
}
.pc-highlights li {
  font-size:10px; color:var(--g300); line-height:1.5; padding-left:12px; position:relative;
}
.pc-highlights li::before { content:'•'; position:absolute; left:0; color:var(--teal); }
.pc-feat-note { font-size:9px; color:var(--g500); font-style:italic; padding:3px 0; }
.prod-card-pending { opacity:0.85; }
.prod-card-warn { border-color:#FBBF24; }

/* ══════════════════════════════════════
   ANNUITY MATRIX V3 — Scroll-contained
   Both-axis sticky via overflow:auto
   ══════════════════════════════════════ */
#sec-annuity {
  padding:0;
  display:flex;
  flex-direction:column;
  height: calc(100vh - 190px); /* fills below sticky nav (header+tabs+cat-tabs+action-bar) */
  overflow: hidden;
}
.ann-header { padding:14px 16px 10px; background:var(--card); border-bottom:1px solid var(--border); }
.ann-hrow { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.ann-title { font-family:'Syne',sans-serif; font-size:17px; font-weight:800; color:var(--white); margin:0 0 2px; }
.ann-subtitle { font-size:11px; color:var(--g400); }
.ann-meta-pills { display:flex; gap:5px; flex-wrap:wrap; }
.ann-pill { background:rgba(0,196,180,0.12); border:1px solid var(--teal); color:var(--teal); padding:3px 8px; border-radius:20px; font-size:10px; font-weight:600; white-space:nowrap; }
.ann-legend {
  display:flex; gap:6px; flex-wrap:wrap; padding:6px 16px;
  background:rgba(15,23,42,0.97); border-bottom:1px solid var(--border);
  align-items:center;
}
.aleg { font-size:10px; padding:2px 7px; border-radius:20px; font-weight:600; }
.aleg-yes    { background:rgba(34,197,94,0.12); color:#22C55E; }
.aleg-no     { background:rgba(239,68,68,0.1); color:#EF4444; }
.aleg-sim    { background:rgba(251,191,36,0.1); color:#FBBF24; }
.aleg-unique { background:rgba(250,204,21,0.14); color:#FACC15; }
.aleg-na     { color:var(--g500); }
.ann-pin-badge { margin-left:auto; font-size:9px; color:var(--teal); font-weight:700; }

.ann-controls { padding:8px 16px; background:var(--card); border-bottom:1px solid var(--border); }
.ann-filter-label { font-size:9px; color:var(--g500); font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.ann-pills { display:flex; gap:5px; flex-wrap:nowrap; overflow-x:auto; margin-bottom:7px; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; }
.ann-pill { padding:3px 9px; border-radius:20px; border:1px solid var(--border); background:transparent; color:var(--g400); font-size:10px; font-weight:600; cursor:pointer; }
.ann-pill.active { background:var(--teal); color:#000; border-color:var(--teal); }
.ann-vs-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ann-vtog-group { display:flex; gap:3px; background:var(--card2); border-radius:8px; padding:3px; }
.ann-vtog { padding:5px 10px; border-radius:6px; border:none; font-weight:600; font-size:11px; cursor:pointer; background:transparent; color:var(--g400); }
.ann-vtog.active { background:var(--teal); color:#000; }
.ann-vs-btn { padding:5px 12px; border-radius:8px; border:1px solid var(--border); background:transparent; color:var(--g400); font-weight:700; font-size:10px; cursor:pointer; }
.ann-vs-btn.on { border-color:var(--teal); background:rgba(0,196,180,0.12); color:var(--teal); }
.ann-vs-hint { font-size:9px; color:#FBBF24; }

/* The KEY fix: overflow:auto on both axes */
.ann-tbl-box {
  flex: 1;
  min-height: 0; /* critical for flex children with overflow */
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--border);
  border-radius:0 0 10px 10px;
  width:100%;
}
.ann-tbl { border-collapse:collapse; table-layout:fixed; min-width:max-content; }

/* Corner cell — sticky BOTH top and left */
.ann-corner {
  position:sticky; top:0; left:0; z-index:40;
  background:#1E2A3A;
  width:180px; min-width:180px;
  padding:8px 10px; text-align:left;
  font-size:9px; color:var(--g400); font-weight:700;
  border-right:2px solid rgba(0,196,180,.4);
  border-bottom:2px solid rgba(255,255,255,.08);
  white-space:nowrap;
  box-shadow:2px 0 6px rgba(0,0,0,.4);
}
/* Company headers — sticky TOP only */
.ann-co-th {
  position:sticky; top:0; z-index:30;
  width:150px; min-width:150px;
  background:#1A1F35; text-align:center;
  padding:8px 6px 10px;
  border-bottom:2px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.06);
  vertical-align:top; white-space:normal;
}
.ann-base-th { background:#0D2B2A; border-bottom-color:var(--teal); }
.ann-vs-sel  { background:#0D1F38; outline:2px solid #60A5FA; }
.ann-co-name { font-weight:700; font-size:12px; color:var(--white); line-height:1.3; }
.ann-co-name.base { color:var(--teal); }
.ann-co-plan { font-size:9px; color:var(--g400); line-height:1.4; margin:2px 0; word-break:break-word; }
.ann-badge { font-size:7px; background:rgba(0,196,180,.2); color:var(--teal); padding:1px 4px; border-radius:3px; display:inline-block; margin-bottom:2px; }
.am-calc-link { display:inline-block; margin-top:7px; padding:3px 7px; background:var(--teal); color:#000!important; font-size:9px; font-weight:700; border-radius:4px; text-decoration:none; }

/* Score bar */
.ann-score-wrap { max-width:68px; margin:4px auto 0; }
.ann-score-row { display:flex; justify-content:space-between; font-size:8px; margin-bottom:1px; }
.ann-score-track { background:rgba(255,255,255,.08); border-radius:3px; height:4px; overflow:hidden; }
.ann-score-fill { height:100%; border-radius:3px; }

/* Variant label column — sticky LEFT only */
.ann-opt-td {
  position:sticky; left:0; z-index:10;
  background:#131B2E;
  box-shadow:2px 0 6px rgba(0,0,0,.4);
  width:180px; min-width:180px;
  background:#192032;
  border-right:2px solid rgba(0,196,180,.25);
  border-top:1px solid rgba(255,255,255,.04);
  padding:7px 10px; vertical-align:top;
}
.ann-opt-unique { background:#1A1E10; border-left:3px solid #FACC15; }
.ann-opt-hl     { background:#0D2A28!important; }
.ann-opt-name   { font-size:10px; font-weight:600; line-height:1.3; color:var(--white); }
.ann-gold       { color:#FACC15; }
.ann-opt-desc   { font-size:8px; color:var(--g500); line-height:1.4; margin-top:2px; }

/* Group header rows */
.ann-grp-hdr td { background:#0E1828; padding:4px 10px; border-top:1px solid rgba(255,255,255,.08); cursor:pointer; }
.ann-grp-corner { position:sticky; left:0; z-index:10; background:#0E1828; }
.ann-grp-lbl { font-size:8px; font-weight:700; color:var(--teal); letter-spacing:1px; text-transform:uppercase; }

/* Data cells */
.ann-data-td {
  text-align:center; padding:7px 4px;
  width:95px; min-width:95px;
  background:#0F172A;
  border-top:1px solid rgba(255,255,255,.04);
  border-right:1px solid rgba(255,255,255,.04);
}
.ann-base-cell  { background:#0C1F1E; }
.ann-uniq-cell  { background:#1E1B08; }
.ann-sim-cell   { background:#1C1808; }
.ann-hl-data    { background:#0D2622!important; }
.ann-hl-row .ann-opt-td { background:#0D2A28!important; }
.ann-ci   { font-size:15px; line-height:1; display:block; }
.ann-star { color:#FACC15; font-size:14px; font-weight:900; display:block; }
.ann-tap-cue { font-size:7px; color:#FBBF24; font-weight:700; margin-top:1px; }

/* Summary row */
.ann-sum-row td { background:#0A1825; border-top:2px solid var(--teal); padding:6px 4px; text-align:center; font-weight:700; color:var(--teal); font-size:12px; }
.ann-sum-label { text-align:left!important; font-size:10px; color:var(--white)!important; padding:6px 10px!important; }

/* HL info bar */
.ann-hl-info { padding:5px 16px; font-size:10px; color:var(--teal); background:rgba(0,196,180,.08); border-top:1px solid rgba(0,196,180,.15); }

/* Note popup */
.ann-note-popup { position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:200; display:flex; align-items:flex-end; padding:0 0 20px; }
.ann-note-inner { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; margin:0 12px; width:calc(100% - 24px); max-height:55vh; overflow-y:auto; position:relative; }
.ann-note-close { position:absolute; top:10px; right:14px; background:none; border:none; color:var(--g400); font-size:16px; cursor:pointer; }

/* Cards view */
.ann-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; padding:12px; }
.ann-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:8px; }
.ann-card-base { border-color:var(--teal); background:rgba(0,196,180,.04); }
.ac-header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; }
.ac-company { font-weight:700; font-size:14px; color:var(--white); }
.ac-plan { font-size:10px; color:var(--g400); }
.ac-type-badge { font-size:9px; background:var(--card2); color:var(--teal); padding:3px 7px; border-radius:5px; white-space:nowrap; }
.ac-feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:3px 8px; }
.ac-feat { display:flex; flex-direction:column; }
.ac-fl { font-size:9px; color:var(--g500); }
.ac-fv { font-size:10px; color:var(--g300); font-weight:500; }
.ac-score-wrap { margin-top:4px; }
.ac-score-row { display:flex; justify-content:space-between; font-size:9px; margin-bottom:2px; }
.ac-score-track { background:rgba(255,255,255,.08); border-radius:3px; height:5px; overflow:hidden; }
.ac-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
.ac-btn-calc { flex:1; text-align:center; background:var(--teal); color:#000!important; padding:7px 10px; border-radius:8px; font-size:11px; font-weight:700; text-decoration:none; }
.ac-btn-bro { padding:7px 10px; border-radius:8px; font-size:11px; font-weight:600; text-decoration:none; border:1px solid var(--border); color:var(--g400); }

/* ══════════════════════════════════════
   A vs B ENGINE
   ══════════════════════════════════════ */
.avb-wrap, .tk-wrap { padding:12px 14px 40px; }
.avb-header { margin-bottom:12px; }
.avb-title { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:var(--white); margin-bottom:2px; }
.avb-sub { font-size:11px; color:var(--g400); }
.avb-selectors { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:start; margin-bottom:12px; }
.avb-selector-col { display:flex; flex-direction:column; gap:6px; }
.avb-sel-label { font-size:10px; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:.5px; }
.avb-cat-sel, .avb-plan-sel { width:100%; background:var(--card2); border:1px solid var(--border); color:var(--white); padding:8px 10px; border-radius:8px; font-size:12px; }
.avb-vs-divider { font-size:18px; font-weight:900; color:var(--teal); align-self:center; text-align:center; padding-top:24px; }
.avb-compare-btn { width:100%; padding:11px; background:var(--teal); color:#000; border:none; border-radius:10px; font-size:13px; font-weight:800; cursor:pointer; margin-bottom:16px; letter-spacing:.3px; }
.avb-compare-btn:disabled { opacity:.4; cursor:not-allowed; }
.avb-results { display:flex; flex-direction:column; gap:16px; }
.avb-section { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px; }
.avb-sec-title { font-size:13px; font-weight:700; color:var(--white); margin-bottom:10px; }
.avb-score-note { font-size:9px; color:var(--g500); margin-bottom:10px; }
/* Comparison table */
.avb-tbl-scroll { overflow-x:auto; }
.avb-tbl { border-collapse:collapse; width:100%; min-width:480px; font-size:11px; }
.avb-th-field { background:var(--card2); color:var(--g400); padding:8px 10px; text-align:left; font-size:10px; font-weight:600; border-bottom:1px solid var(--border); width:35%; }
.avb-th-a { background:rgba(0,196,180,.08); color:var(--teal); padding:8px 10px; font-size:10px; font-weight:700; border-bottom:1px solid var(--teal); }
.avb-th-b { background:rgba(96,165,250,.06); color:#60A5FA; padding:8px 10px; font-size:10px; font-weight:700; border-bottom:1px solid #3B82F6; }
.avb-th-a small, .avb-th-b small { font-weight:400; color:var(--g400); display:block; font-size:9px; }
.avb-field { padding:8px 10px; color:var(--g400); font-size:10px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.04); }
.avb-val-a,.avb-val-b { padding:8px 10px; color:var(--white); font-size:10px; border-bottom:1px solid rgba(255,255,255,.04); }
.avb-yes { color:#22C55E; }
.avb-no  { color:#EF4444; }
/* Scorecard */
.scorecard { display:flex; flex-direction:column; gap:10px; }
.sc-row { display:flex; align-items:center; gap:10px; }
.sc-attr { font-size:11px; color:var(--white); font-weight:600; min-width:120px; flex-shrink:0; }
.sc-bars { flex:1; display:flex; flex-direction:column; gap:4px; }
.sc-bar-row { display:flex; align-items:center; gap:6px; }
.sc-co { font-size:9px; color:var(--g400); min-width:55px; flex-shrink:0; }
.sc-track { flex:1; background:rgba(255,255,255,.08); border-radius:4px; height:8px; overflow:hidden; }
.sc-fill { height:100%; border-radius:4px; transition:width .3s; }
.sc-val { font-size:10px; font-weight:700; min-width:24px; text-align:right; }
.sc-total-row { border-top:1px solid var(--border); padding-top:10px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.sc-total-label { font-size:12px; font-weight:700; color:var(--white); }
.sc-totals { display:flex; gap:12px; flex-wrap:wrap; }
.sc-total-a,.sc-total-b { font-size:12px; font-weight:600; color:var(--g300); }
/* Why choose */
.avb-why-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.avb-why-box { padding:12px; border-radius:8px; }
.avb-why-box.a { background:rgba(0,196,180,.06); border:1px solid rgba(0,196,180,.2); }
.avb-why-box.b { background:rgba(96,165,250,.06); border:1px solid rgba(96,165,250,.2); }
.avb-why-title { font-size:11px; font-weight:700; color:var(--white); margin-bottom:6px; }
.avb-why-text { font-size:11px; color:var(--g300); line-height:1.6; }
.avb-why-best { font-size:10px; color:var(--g400); margin-top:6px; }
/* Limitations table */
.avb-lim-tbl { border-collapse:collapse; width:100%; min-width:400px; }
.avb-lim-tbl th { background:var(--card2); color:var(--g400); padding:8px 10px; text-align:left; font-size:10px; font-weight:600; border-bottom:1px solid var(--border); }
.avb-lim-val { padding:7px 10px; font-size:10px; color:var(--g300); border-bottom:1px solid rgba(255,255,255,.04); vertical-align:top; line-height:1.5; }
/* Access */
.avb-access-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.avb-access-col { display:flex; flex-direction:column; gap:6px; }
.avb-access-label { font-size:11px; font-weight:600; color:var(--white); }
.avb-access-btns { display:flex; flex-direction:column; gap:5px; }
.avb-url-btn { padding:7px 12px; border-radius:8px; background:var(--teal); color:#000!important; font-size:11px; font-weight:700; text-decoration:none; text-align:center; display:block; }
.avb-url-btn.sec { background:transparent; border:1px solid var(--border); color:var(--g400)!important; }
.avb-url-na { font-size:10px; color:var(--g500); font-style:italic; }
/* Toolkit CTA */
.avb-toolkit-cta { background:rgba(0,196,180,.06); border:1px solid rgba(0,196,180,.2); border-radius:10px; padding:12px; display:flex; flex-direction:column; gap:8px; }
.avb-cta-text { font-size:11px; color:var(--g300); }
.avb-cta-btn { padding:9px 16px; background:var(--teal); color:#000; border:none; border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; }
.avb-pdf-btn { width:100%; padding:10px; background:var(--card2); border:1px solid var(--border); color:var(--g300); border-radius:10px; font-size:12px; font-weight:600; cursor:pointer; }
.avb-disclaimer { font-size:9px; color:var(--g500); text-align:center; padding:8px; line-height:1.5; }

/* ══════════════════════════════════════
   COMMUNICATION TOOLKIT
   ══════════════════════════════════════ */
.tk-header { margin-bottom:14px; }
.tk-title { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:var(--white); margin-bottom:2px; }
.tk-sub { font-size:11px; color:var(--g400); }
.tk-form { display:flex; flex-direction:column; gap:12px; background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px; margin-bottom:14px; }
.tk-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tk-field { display:flex; flex-direction:column; gap:4px; }
.tk-label { font-size:10px; font-weight:700; color:var(--g400); text-transform:uppercase; letter-spacing:.4px; }
.tk-input { background:var(--card2); border:1px solid var(--border); color:var(--white); padding:8px 10px; border-radius:8px; font-size:12px; }
.tk-input:focus { outline:none; border-color:var(--teal); }
.tk-select { background:var(--card2); border:1px solid var(--border); color:var(--white); padding:8px 10px; border-radius:8px; font-size:12px; width:100%; }
.tk-chips { display:flex; flex-wrap:wrap; gap:5px; }
.tk-chip { padding:5px 11px; border-radius:20px; border:1px solid var(--border); background:transparent; color:var(--g400); font-size:11px; cursor:pointer; font-weight:500; }
.tk-chip.active { background:var(--teal); color:#000; border-color:var(--teal); font-weight:700; }
.tk-gen-btn { padding:12px; background:var(--teal); color:#000; border:none; border-radius:10px; font-size:13px; font-weight:800; cursor:pointer; letter-spacing:.3px; }
.tk-outputs { display:flex; flex-direction:column; gap:14px; }
.tk-out-block { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px; }
.tk-out-title { font-size:13px; font-weight:700; color:var(--white); margin-bottom:10px; }
.tk-out-text { background:var(--card2); border:1px solid var(--border); border-radius:8px; padding:12px; font-size:11px; color:var(--g300); line-height:1.7; white-space:pre-wrap; word-break:break-word; max-height:280px; overflow-y:auto; font-family:Arial,sans-serif; margin-bottom:10px; }
.tk-pitch-box { background:rgba(0,196,180,.06); border:1px solid rgba(0,196,180,.2); border-radius:8px; padding:12px; font-size:12px; color:var(--g300); line-height:1.8; margin-bottom:10px; white-space:pre-wrap; }
.tk-out-btns { display:flex; gap:8px; flex-wrap:wrap; }
.tk-copy-btn { padding:7px 14px; border-radius:8px; background:var(--card2); border:1px solid var(--border); color:var(--g300); font-size:11px; font-weight:600; cursor:pointer; }
.tk-share-btn { padding:7px 14px; border-radius:8px; background:#25D366; color:#000; border:none; font-size:11px; font-weight:700; cursor:pointer; }
.tk-disclaimer { font-size:9px; color:var(--g500); text-align:center; padding:8px; line-height:1.5; background:var(--card); border:1px solid var(--border); border-radius:8px; }

/* ── RESPONSIVE ── */
@media(max-width:480px){
  .avb-selectors { grid-template-columns:1fr; }
  .avb-vs-divider { display:none; }
  .avb-why-grid { grid-template-columns:1fr; }
  .avb-access-grid { grid-template-columns:1fr; }
  .tk-row-2 { grid-template-columns:1fr; }
  .cat-action-bar { padding:6px 10px; gap:5px; }
  .cab-btn { font-size:10px; padding:5px 10px; }
  .ann-tbl-box { border-radius:0; }
  .sc-attr { min-width:90px; }
}

/* ═══════════════════════════════════════
   DARK / LIGHT MODE (Feature 9)
   ═══════════════════════════════════════ */
.hdr-actions { display:flex; align-items:center; gap:6px; }
.hdr-icon-btn { background:transparent; border:1px solid var(--border); color:var(--g400); width:34px; height:34px; border-radius:50%; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.hdr-icon-btn:hover { border-color:var(--teal); color:var(--teal); }

body.light-mode { --bg:#F8FAFC; --card:#FFFFFF; --card2:#F1F5F9; --white:#0F172A; --g300:#334155; --g400:#475569; --g500:#64748B; --border:rgba(0,0,0,0.1); }
body.light-mode .header { background:#fff; box-shadow:0 1px 8px rgba(0,0,0,.08); }
body.light-mode .hero { background:linear-gradient(135deg,#F0FDF4 0%,#E0F2FE 100%); }
body.light-mode .hero-headline { color:#0F172A; }
body.light-mode .hero-accent { color:var(--teal); }
body.light-mode .hero-sub, body.light-mode .hero-eyebrow { color:#475569; }
body.light-mode .sec-compare { background:#F8FAFC; }

/* ═══════════════════════════════════════
   SMART SEARCH (Feature 1)
   ═══════════════════════════════════════ */
.gs-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:500; display:flex; align-items:flex-start; justify-content:center; padding:60px 16px 0; backdrop-filter:blur(4px); }
.gs-box { background:var(--card); border:1px solid var(--border); border-radius:16px; width:100%; max-width:560px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.4); }
.gs-input-row { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border); }
.gs-search-icon { font-size:18px; flex-shrink:0; }
.gs-input { flex:1; background:transparent; border:none; color:var(--white); font-size:15px; outline:none; }
.gs-input::placeholder { color:var(--g500); }
.gs-close-btn { background:var(--card2); border:1px solid var(--border); color:var(--g400); padding:4px 10px; border-radius:6px; cursor:pointer; font-size:12px; }
.gs-results-wrap { max-height:380px; overflow-y:auto; }
.gs-hint { padding:20px 16px; font-size:12px; color:var(--g500); text-align:center; }
.gs-result { display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; border-bottom:1px solid var(--border); transition:background 0.15s; }
.gs-result:hover { background:var(--card2); }
.gs-icon { font-size:18px; flex-shrink:0; }
.gs-text { flex:1; }
.gs-title { font-size:13px; font-weight:600; color:var(--white); margin-bottom:2px; }
.gs-sub { font-size:11px; color:var(--g400); }
.gs-type-tag { background:rgba(0,196,180,.12); color:var(--teal); padding:1px 6px; border-radius:4px; font-size:9px; font-weight:700; margin-right:5px; }
.gs-arrow { color:var(--teal); font-size:14px; flex-shrink:0; }

/* ═══════════════════════════════════════
   FLOATING ACTION BUTTON (Feature 7)
   ═══════════════════════════════════════ */
.fab-wrap { position:fixed; bottom:24px; right:18px; z-index:400; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.fab-menu { display:flex; flex-direction:column; align-items:flex-end; gap:6px; margin-bottom:4px; }
.fab-item { background:var(--card); border:1px solid var(--border); color:var(--white); padding:8px 14px; border-radius:20px; font-size:12px; font-weight:600; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.3); white-space:nowrap; transition:all 0.15s; }
.fab-item:hover { background:var(--teal); color:#000; border-color:var(--teal); }
.fab-main-btn { width:52px; height:52px; border-radius:50%; background:var(--teal); color:#000; border:none; font-size:20px; font-weight:800; cursor:pointer; box-shadow:0 4px 20px rgba(0,196,180,.4); transition:transform 0.2s; }
.fab-main-btn:hover { transform:scale(1.08); }

/* ═══════════════════════════════════════
   CARD EXPAND / COLLAPSE (Feature 8)
   ═══════════════════════════════════════ */
.pc-card-body { display:flex; flex-direction:column; gap:8px; }
.pc-card-body.hidden { display:none; }
.pc-expand-btn { background:transparent; border:none; color:var(--teal); font-size:11px; font-weight:600; cursor:pointer; padding:4px 0; text-align:left; }
.pc-expand-btn.pc-expand-open { color:var(--g400); }
.pc-share-btn { background:rgba(37,211,102,.1); border:1px solid rgba(37,211,102,.3); color:#25D366; padding:7px 12px; border-radius:8px; font-size:11px; font-weight:700; cursor:pointer; width:100%; margin-bottom:4px; }
.pc-share-btn:hover { background:#25D366; color:#000; }

/* ═══════════════════════════════════════
   PLAN SHORTLISTING (Feature 16)
   ═══════════════════════════════════════ */
.sl-checkbox-wrap { padding:5px 0; }
.sl-cb-label { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--g400); cursor:pointer; }
.sl-cb-label input[type="checkbox"] { width:15px; height:15px; accent-color:var(--teal); cursor:pointer; }
.shortlist-bar { position:fixed; bottom:0; left:0; right:0; background:var(--teal); color:#000; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; z-index:350; box-shadow:0 -4px 20px rgba(0,196,180,.3); }
#shortlistCount { font-size:13px; font-weight:700; }
.sl-compare-btn { padding:8px 16px; background:#000; color:var(--teal); border:none; border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; }
.sl-clear-btn { background:transparent; border:none; color:rgba(0,0,0,.5); font-size:18px; cursor:pointer; }
/* Shortlist modal */
.sl-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:450; display:flex; align-items:center; justify-content:center; padding:16px; }
.sl-modal-inner { background:var(--card); border-radius:16px; padding:18px; width:100%; max-width:700px; max-height:85vh; overflow-y:auto; position:relative; }
.sl-close-btn { position:absolute; top:12px; right:14px; background:var(--card2); border:1px solid var(--border); color:var(--g400); padding:5px 12px; border-radius:8px; cursor:pointer; font-size:12px; }
.sl-title { font-size:15px; font-weight:800; color:var(--white); margin:0 0 12px; }
.sl-tbl-scroll { overflow-x:auto; }
.sl-tbl { border-collapse:collapse; width:100%; min-width:500px; font-size:11px; }
.sl-tbl th { background:var(--card2); color:var(--g400); padding:8px 10px; text-align:left; font-size:10px; font-weight:600; border-bottom:1px solid var(--border); }
.sl-tbl th:first-child { width:28%; }
.sl-label { padding:8px 10px; color:var(--g400); font-size:10px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.04); }
.sl-tbl td { padding:8px 10px; font-size:10px; color:var(--g300); border-bottom:1px solid rgba(255,255,255,.04); }
.sl-diff { background:rgba(251,191,36,.08); color:#FBBF24; font-weight:600; }

/* ═══════════════════════════════════════
   A vs B: DIFF HIGHLIGHT (Feature 15)
   ═══════════════════════════════════════ */
.avb-diff-row td { background:rgba(251,191,36,.06)!important; }
.avb-diff-row td.avb-val-a, .avb-diff-row td.avb-val-b { color:#FBBF24; }
.diff-toggle-btn { padding:6px 14px; border-radius:20px; border:1px solid var(--border); background:transparent; color:var(--g400); font-size:11px; font-weight:600; cursor:pointer; margin-bottom:8px; }
.diff-toggle-btn.active { background:rgba(251,191,36,.12); border-color:#FBBF24; color:#FBBF24; }
/* Save button */
.avb-save-btn { width:100%; padding:9px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:10px; font-size:12px; font-weight:700; cursor:pointer; margin-bottom:12px; }
.avb-save-btn:hover { background:var(--teal); color:#000; }
/* Saved comparisons */
.saved-comps-title { font-size:11px; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }
.saved-comp-row { display:flex; align-items:center; gap:8px; background:var(--card2); border-radius:8px; padding:8px 10px; margin-bottom:5px; }
.sc-names { flex:1; display:flex; align-items:center; gap:6px; cursor:pointer; flex-wrap:wrap; }
.sc-a, .sc-b { font-size:11px; font-weight:600; color:var(--white); }
.sc-vs { font-size:10px; color:var(--teal); font-weight:700; }
.sc-date { font-size:9px; color:var(--g500); margin-left:4px; }
.sc-del { background:transparent; border:none; color:var(--g500); cursor:pointer; font-size:14px; }
.sc-del:hover { color:#EF4444; }

/* ═══════════════════════════════════════
   FLASHCARD MODE (Feature 11)
   ═══════════════════════════════════════ */
.fc-toggle-btn { display:block; width:calc(100% - 32px); margin:12px 16px; padding:10px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:10px; font-size:13px; font-weight:700; cursor:pointer; text-align:center; }
.fc-toggle-btn.active { background:var(--teal); color:#000; }
.fc-header { padding:4px 0 10px; }
.fc-progress { font-size:12px; color:var(--teal); font-weight:700; text-align:center; }
.fc-tag { font-size:10px; color:var(--g500); text-align:center; margin:2px 0 6px; }
.fc-progress-bar { height:3px; background:var(--card2); border-radius:3px; overflow:hidden; }
.fc-progress-fill { height:100%; background:var(--teal); border-radius:3px; transition:width 0.3s; }
.fc-card { min-height:200px; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:24px; cursor:pointer; position:relative; transition:transform 0.35s; transform-style:preserve-3d; margin:12px 0; }
.fc-card.fc-flipped { background:rgba(0,196,180,.06); border-color:var(--teal); }
.fc-face { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:160px; }
.fc-hint { font-size:10px; color:var(--g500); margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px; }
.fc-q { font-size:16px; font-weight:700; color:var(--white); line-height:1.5; }
.fc-a { font-size:13px; color:var(--g300); line-height:1.7; }
.fc-controls { display:flex; gap:8px; }
.fc-btn { flex:1; padding:9px; background:var(--card2); border:1px solid var(--border); color:var(--g300); border-radius:10px; font-size:12px; font-weight:600; cursor:pointer; }
.fc-btn:hover:not(:disabled) { border-color:var(--teal); color:var(--teal); }
.fc-btn:disabled { opacity:.4; cursor:not-allowed; }
.fc-shuffle { background:rgba(0,196,180,.1); border-color:rgba(0,196,180,.3); color:var(--teal); }

/* ═══════════════════════════════════════
   NEED ANALYSIS CALCULATOR (Feature 19)
   ═══════════════════════════════════════ */
.na-header { margin-bottom:16px; }
.na-title { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:var(--white); margin-bottom:4px; }
.na-sub { font-size:12px; color:var(--g400); }
.na-form { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:16px; margin-bottom:16px; display:flex; flex-direction:column; gap:12px; }
.na-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.na-field { display:flex; flex-direction:column; gap:4px; }
.na-label { font-size:10px; font-weight:700; color:var(--g400); text-transform:uppercase; letter-spacing:.4px; }
.na-input { background:var(--card2); border:1px solid var(--border); color:var(--white); padding:8px 10px; border-radius:8px; font-size:13px; }
.na-input:focus { outline:none; border-color:var(--teal); }
.na-calc-btn { padding:12px; background:var(--teal); color:#000; border:none; border-radius:10px; font-size:13px; font-weight:800; cursor:pointer; }
.na-result-box { background:var(--card); border:1px solid var(--teal); border-radius:14px; padding:18px; }
.na-rec-label { font-size:11px; color:var(--g400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.na-rec-value { font-family:'Syne',sans-serif; font-size:32px; font-weight:800; color:var(--teal); }
.na-rec-sub { font-size:12px; color:var(--g400); margin-bottom:14px; }
.na-breakdown { background:var(--card2); border-radius:10px; padding:12px; margin-bottom:12px; }
.na-bd-title { font-size:10px; font-weight:700; color:var(--g400); text-transform:uppercase; margin-bottom:8px; letter-spacing:.5px; }
.na-bd-row { display:flex; justify-content:space-between; font-size:11px; color:var(--g300); padding:4px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.na-bd-row span:last-child { font-weight:700; color:var(--white); }
.na-note { font-size:10px; color:var(--g500); line-height:1.6; margin-top:8px; }
.na-dep-note { font-size:11px; color:#FBBF24; margin-top:6px; }
.na-error { padding:10px; background:rgba(239,68,68,.08); border-radius:8px; color:#EF4444; font-size:12px; }

/* ═══════════════════════════════════════
   TOAST (shared utility)
   ═══════════════════════════════════════ */
.ia-toast { position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--white); color:var(--bg); padding:10px 20px; border-radius:20px; font-size:12px; font-weight:700; opacity:0; transition:all 0.25s; pointer-events:none; z-index:600; white-space:nowrap; box-shadow:0 4px 20px rgba(0,0,0,.3); }
.ia-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* Flashcard toggle in tools */
.fc-toggle-btn { flex:none; }

/* ─── RESPONSIVE ─── */
@media(max-width:480px){
  .na-row-2 { grid-template-columns:1fr; }
  .fc-q { font-size:14px; }
  .gs-overlay { padding:40px 10px 0; }
  .fab-main-btn { width:46px; height:46px; font-size:18px; }
}

/* ═══════════════════════════════════════
   UNIVERSAL SHARE SYSTEM
   ═══════════════════════════════════════ */
.share-sheet-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:600; display:flex; align-items:flex-end; backdrop-filter:blur(3px); }
.share-sheet { background:var(--card); border-radius:18px 18px 0 0; padding:18px 16px calc(18px + env(safe-area-inset-bottom)); width:100%; box-shadow:0 -8px 30px rgba(0,0,0,.4); animation:sheetUp .25s ease; }
@keyframes sheetUp { from{transform:translateY(100%)} to{transform:translateY(0)} }
.share-sheet-title { font-size:13px; font-weight:700; color:var(--white); text-align:center; margin-bottom:14px; }
.share-sheet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.share-opt { display:flex; flex-direction:column; align-items:center; gap:5px; padding:12px 6px; background:var(--card2); border:1px solid var(--border); border-radius:12px; color:var(--g300); font-size:11px; font-weight:600; cursor:pointer; text-decoration:none; }
.share-opt:hover { border-color:var(--teal); color:var(--teal); }
.share-ico { font-size:22px; }
.share-sheet-cancel { width:100%; padding:11px; background:var(--card2); border:1px solid var(--border); color:var(--g400); border-radius:12px; font-size:13px; font-weight:600; cursor:pointer; }

/* Share buttons */
.pc-share-btn { width:100%; padding:8px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; margin-bottom:6px; }
.pc-share-btn:hover { background:var(--teal); color:#000; }
.td-share-btn { background:transparent; border:1px solid var(--border); color:var(--g400); width:34px; height:34px; border-radius:8px; font-size:14px; cursor:pointer; margin-left:6px; }
.td-share-btn:hover { border-color:var(--teal); color:var(--teal); }
.dict-share-btn { margin-top:10px; padding:7px 14px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:8px; font-size:11px; font-weight:700; cursor:pointer; }
.avb-share-btn { width:100%; padding:10px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:10px; font-size:12px; font-weight:700; cursor:pointer; margin-top:8px; }
.avb-share-btn:hover { background:var(--teal); color:#000; }
.fc-share-btn { width:100%; padding:9px; background:rgba(0,196,180,.1); border:1px solid rgba(0,196,180,.3); color:var(--teal); border-radius:10px; font-size:12px; font-weight:700; cursor:pointer; margin-top:8px; }

/* ═══════════════════════════════════════
   NEWS "SOON" PLACEHOLDER
   ═══════════════════════════════════════ */
.soon-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 24px; min-height:50vh; }
.soon-icon { font-size:48px; margin-bottom:16px; opacity:.7; }
.soon-title { font-family:'Syne',sans-serif; font-size:24px; font-weight:800; color:var(--white); margin-bottom:10px; }
.soon-text { font-size:13px; color:var(--g400); line-height:1.7; max-width:340px; margin-bottom:18px; }
.soon-badge { background:rgba(0,196,180,.12); border:1px solid var(--teal); color:var(--teal); padding:5px 16px; border-radius:20px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }

/* ── LEARN PANEL VISIBILITY FIX ── */
.learn-panel { display: none; }
.learn-panel.active { display: block; }

/* ── FIX 6: STICKY NAVIGATION LAYERS ── */
/* Cat-tabs row sticky below header (54px) + section-tabs (40px) */
.cat-tabs-wrap {
  position: sticky;
  top: 94px;
  z-index: 80;
  background: var(--bg-card);
  border-bottom: 1px solid var(--bg-border);
  padding: 8px 0 4px;
}
/* Secondary action bar sticky below cat-tabs */
.cat-action-bar {
  position: sticky;
  top: 144px;
  z-index: 70;
  background: var(--bg-card);
  border-bottom: 1px solid var(--bg-border);
}
/* Non-par sub-tabs sticky below action bar */
.npsub-wrap {
  position: sticky;
  top: 188px;
  z-index: 65;
  background: var(--bg-card);
  border-bottom: 1px solid var(--bg-border);
  padding: 6px 14px;
}

/* ── FIX: REMOVE LIGHT MODE (Option A) ── */
/* Remove all light-mode styles to prevent confusion */
body.light-mode { all: unset; }
#themeToggleBtn { display: none !important; }

/* Non-par sub-tabs sticky */
.nonpar-sub-tabs {
  position: sticky;
  top: 188px;
  z-index: 65;
  background: var(--bg-card);
  border-bottom: 1px solid var(--bg-border);
  display: flex;
  padding: 6px 12px;
  gap: 8px;
  overflow-x: auto;
}

/* ── FIX: Select dropdowns — CSS vars don't work in native <option> elements ── */
.avb-cat-sel,
.avb-plan-sel,
.tk-select,
select.tk-input {
  background-color: #1E2A3A !important;
  color: #F1F5F9 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  padding: 9px 10px !important;
  font-size: 12px !important;
  -webkit-appearance: auto;
  appearance: auto;
}
/* Option elements — hardcoded because CSS vars don't apply cross-browser */
.avb-cat-sel option,
.avb-plan-sel option,
.tk-select option,
select.tk-input option {
  background-color: #1E2A3A;
  color: #F1F5F9;
}
/* Hover/focus state for selects */
.avb-cat-sel:focus,
.avb-plan-sel:focus,
.tk-select:focus {
  outline: none;
  border-color: #00C4B4 !important;
}

/* Hide scrollbar on filter pills row */
.ann-pills::-webkit-scrollbar { display:none; }
/* Ensure annTopBar doesn't overflow vertically */
#annTopBar { flex-shrink:0; overflow:hidden; }
