:root{--v8navy:#071f49;--v8blue:#0868ef;--v8cyan:#12a6ff;--v8green:#13c96f;--v8ink:#102342;--v8muted:#70809a;--v8line:#dce6f2;--v8bg:#f4f8fd;--v8purple:#7c3aed;--v8orange:#ff8a1f}*{box-sizing:border-box}.v8-shell{width:min(1460px,calc(100% - 40px));margin:auto}.v8-hero{background:linear-gradient(120deg,#061f4b,#075fa9 70%,#0e91d2);color:#fff;padding:54px 0 48px;position:relative;overflow:hidden}.v8-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(49,255,156,.22),transparent 68%);right:-90px;top:-190px}.v8-hero .v8-shell{display:flex;align-items:center;justify-content:space-between;gap:35px}.v8-kicker{font-weight:900;font-size:12px;letter-spacing:1.7px;color:#35f39b}.v8-hero h1{font-size:42px;line-height:1.05;margin:9px 0 10px;letter-spacing:-1.5px}.v8-hero p{max-width:720px;margin:0;color:#d9eaff;font-size:16px;line-height:1.65}.v8-hero-metrics{display:flex;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;backdrop-filter:blur(12px);overflow:hidden}.v8-hero-metrics div{padding:18px 25px;text-align:center;min-width:90px;border-right:1px solid rgba(255,255,255,.16)}.v8-hero-metrics div:last-child{border:0}.v8-hero-metrics b{display:block;font-size:25px}.v8-hero-metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#b9d6f7}.v8-body{padding:28px 0 60px}.v8-filter{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px 150px;gap:10px;background:#fff;border:1px solid var(--v8line);border-radius:16px;padding:12px;box-shadow:0 12px 35px rgba(15,43,81,.07)}.v8-search{display:flex;align-items:center;gap:8px;border:1px solid var(--v8line);border-radius:10px;padding:0 12px}.v8-search input,.v8-filter select{width:100%;border:0;outline:0;background:#fff;height:42px;color:var(--v8ink)}.v8-filter select{border:1px solid var(--v8line);border-radius:10px;padding:0 10px}.v8-filter button{border:0;border-radius:10px;background:linear-gradient(135deg,#0877ff,#0757db);color:#fff;font-weight:800;box-shadow:0 7px 16px rgba(8,104,239,.25)}.v8-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.v8-tabs a{background:#fff;border:1px solid var(--v8line);padding:9px 14px;border-radius:999px;color:var(--v8ink);font-size:12px;font-weight:800;text-decoration:none}.v8-tabs a:hover{background:#eaf3ff;color:#0566e8}.v8-card{background:#fff;border:1px solid var(--v8line);border-radius:18px;box-shadow:0 14px 40px rgba(19,49,87,.07);overflow:hidden}.v8-card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e9eff6}.v8-card-head span{font-size:10px;color:#0872ed;font-weight:900;letter-spacing:1.2px}.v8-card-head h2{font-size:20px;margin:3px 0 0;color:var(--v8ink)}.v8-card-head>a,.v8-card-head>b{font-size:12px;color:#0872ed;text-decoration:none}.v8-table-wrap{overflow-x:auto}.v8-table{width:100%;border-collapse:collapse;min-width:1050px}.v8-table th{background:#f6f9fd;color:#60728e;text-transform:uppercase;letter-spacing:.45px;font-size:9px;text-align:left;padding:12px}.v8-table td{border-top:1px solid #edf2f7;padding:12px;color:#273a58;font-size:12px;vertical-align:middle}.v8-table tbody tr:hover{background:#f8fbff}.v8-company{display:flex;align-items:center;gap:10px;color:var(--v8ink);text-decoration:none;min-width:190px}.v8-company i,.v8-logo-letter{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#e7f2ff,#d7eaff);display:grid;place-items:center;color:#0872ed;font-style:normal;font-weight:900;box-shadow:inset 0 0 0 1px #cfe2f9}.v8-company span{display:flex;flex-direction:column}.v8-company b{font-size:12px}.v8-company small{color:#8997aa;margin-top:2px}.v8-board,.v8-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.v8-board{background:#e9f2ff;color:#0866d9}.v8-board.sme{background:#eee9ff;color:#6a42d8}.v8-status.open{background:#e4f9ee;color:#059552}.v8-status.upcoming{background:#fff3dd;color:#d46d00}.v8-status.closed{background:#f0f2f5;color:#657084}.v8-status.listed{background:#e7efff;color:#315ed2}.v8-green,.v8-gmp{color:#069d55;font-weight:900}.v8-change{color:#069d55;background:#e7faef;border-radius:8px;padding:5px 8px;font-weight:800}.v8-sub{display:inline-block;background:#f0eaff;color:#6938d4;padding:6px 10px;border-radius:9px;font-weight:900}.v8-go{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf3ff;color:#0872ed;text-decoration:none;font-weight:900}.v8-detail-btn{background:#0a6ef0;color:#fff;text-decoration:none;border-radius:8px;padding:7px 11px;font-weight:800}.v8-empty{text-align:center!important;padding:35px!important;color:#8190a4!important}.v8-hero-green{background:linear-gradient(120deg,#062c3d,#075f65,#078b73)}.v8-hero-purple{background:linear-gradient(120deg,#171c55,#47339a,#7649d7)}.v8-hero-orange{background:linear-gradient(120deg,#5d2704,#b5540a,#f08a24)}.v8-hero-news{background:linear-gradient(120deg,#08214c,#084d91,#0878d7)}.v8-hero-faq{background:linear-gradient(120deg,#18244c,#3b4780,#4e62a4)}.v8-orb{width:130px;height:130px;flex:0 0 130px;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 40px rgba(255,255,255,.08)}.v8-orb b{font-size:30px}.v8-orb span{font-size:10px;color:#d9eaff}.v8-info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.v8-info-strip>div{background:#fff;border:1px solid var(--v8line);border-radius:15px;padding:15px;display:flex;gap:12px;align-items:center}.v8-info-strip i{width:40px;height:40px;border-radius:12px;background:#e7f8ef;color:#079653;display:grid;place-items:center;font-style:normal;font-weight:900}.v8-info-strip span{display:flex;flex-direction:column}.v8-info-strip small{color:#8492a5;margin-top:2px}.v8-disclaimer{margin-top:16px;border-radius:14px;background:#fff9e8;border:1px solid #f6e4a9;padding:15px 18px;color:#745d1e}.v8-disclaimer p{margin:4px 0 0;font-size:12px}.v8-calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.v8-date-card{display:flex;background:#fff;border:1px solid var(--v8line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(19,49,87,.06)}.v8-date{width:92px;flex:0 0 92px;background:linear-gradient(180deg,#eaf4ff,#f6faff);display:grid;place-content:center;text-align:center;color:#0872ed}.v8-date b{font-size:30px}.v8-date span{font-size:12px;font-weight:900;text-transform:uppercase}.v8-date-content{padding:16px;flex:1}.v8-date-content h3{margin:9px 0 10px;color:var(--v8ink);font-size:16px}.v8-date-content dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.v8-date-content dl div{background:#f7f9fc;border-radius:8px;padding:7px}.v8-date-content dt{font-size:9px;color:#8492a5}.v8-date-content dd{margin:2px 0 0;font-size:11px;font-weight:800;color:#263b5c}.v8-date-content a{display:inline-block;margin-top:10px;color:#0872ed;text-decoration:none;font-size:11px;font-weight:900}.v8-detail-hero{background:linear-gradient(120deg,#061f4b,#075fa9);color:#fff;padding:34px 0}.v8-breadcrumb{font-size:10px;color:#a9c8ed;margin-bottom:22px}.v8-breadcrumb a{color:#dcecff;text-decoration:none}.v8-breadcrumb span{margin:0 8px}.v8-detail-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.v8-detail-company{display:flex;gap:16px;align-items:center;max-width:900px}.v8-logo-letter{width:64px;height:64px;border-radius:18px;font-size:24px;background:#fff}.v8-detail-company h1{font-size:32px;margin:8px 0 6px}.v8-detail-company p{margin:0;color:#cce1f8;line-height:1.5}.v8-gmp-hero{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:15px 22px;min-width:160px;text-align:center}.v8-gmp-hero small,.v8-gmp-hero span{display:block;color:#bcd8f5;font-size:10px}.v8-gmp-hero b{display:block;color:#38f393;font-size:30px;margin:4px 0}.v8-detail-page{padding:18px 0 55px}.v8-detail-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.v8-detail-nav a{padding:9px 14px;border-radius:9px;background:#fff;border:1px solid var(--v8line);color:#2b4163;text-decoration:none;font-size:11px;font-weight:800}.v8-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.v8-detail-card{margin-bottom:18px}.v8-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.v8-kpis>div{background:#f6f9fd;border:1px solid #e7eef7;border-radius:12px;padding:13px}.v8-kpis small{display:block;color:#8290a5;font-size:9px;text-transform:uppercase}.v8-kpis b{display:block;margin-top:5px;color:#142b4d}.v8-market-cta{display:block;margin:0 18px 18px;background:linear-gradient(135deg,#e9f3ff,#f3f8ff);border:1px solid #d7e8fb;border-radius:10px;padding:11px 13px;color:#0868e8;text-decoration:none;font-weight:800;font-size:11px}.v8-timeline{display:grid;grid-template-columns:repeat(4,1fr);padding:22px;gap:8px}.v8-timeline>div{position:relative;display:flex;gap:9px;align-items:center}.v8-timeline>div:after{content:"";height:2px;background:#d9e7f7;position:absolute;left:38px;right:-5px;top:15px}.v8-timeline>div:last-child:after{display:none}.v8-timeline i{width:30px;height:30px;border-radius:50%;background:#0872ed;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900;z-index:1}.v8-timeline span{z-index:1;background:#fff;padding-right:6px}.v8-timeline small{display:block;color:#8997aa;font-size:9px}.v8-timeline b{font-size:11px}.v8-copy{padding:18px;line-height:1.7;color:#566985}.v8-links{padding:0 18px 18px;display:flex;gap:8px}.v8-links a{background:#eaf3ff;color:#0868e8;text-decoration:none;border-radius:9px;padding:9px 12px;font-weight:800;font-size:11px}.v8-side{background:#fff;border:1px solid var(--v8line);border-radius:17px;padding:18px;box-shadow:0 12px 35px rgba(19,49,87,.07);position:sticky;top:90px}.v8-side>span{font-size:9px;color:#0872ed;font-weight:900;letter-spacing:1px}.v8-side h3{margin:7px 0 14px}.v8-side dl{margin:0}.v8-side dl div{display:flex;justify-content:space-between;border-top:1px solid #edf2f7;padding:10px 0;font-size:11px}.v8-side dt{color:#8190a5}.v8-side dd{margin:0;font-weight:800;text-align:right}.v8-side>a{display:block;text-align:center;margin-top:12px;background:#0872ed;color:#fff;text-decoration:none;border-radius:10px;padding:10px;font-weight:900}.v8-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v8-news{background:#fff;border:1px solid var(--v8line);border-radius:18px;padding:17px;display:flex;gap:15px;box-shadow:0 10px 30px rgba(19,49,87,.06)}.v8-news-icon{width:80px;height:80px;flex:0 0 80px;border-radius:15px;background:linear-gradient(135deg,#0755b8,#0ba4ef);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.v8-news small{color:#8a98ab}.v8-news h2{font-size:16px;margin:5px 0;color:var(--v8ink)}.v8-news p{font-size:12px;color:#687b96;line-height:1.55}.v8-news a{color:#0872ed;text-decoration:none;font-weight:900;font-size:11px}.v8-faq-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.v8-faq-layout aside{background:linear-gradient(160deg,#08224e,#075fa9);color:#fff;border-radius:18px;padding:22px;height:max-content}.v8-faq-layout aside p{color:#c8def6;font-size:12px;line-height:1.6}.v8-faq-layout aside a{display:block;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.15);padding:10px 0;font-size:11px;font-weight:800}.v8-faq details{background:#fff;border:1px solid var(--v8line);border-radius:13px;margin-bottom:10px;overflow:hidden}.v8-faq summary{list-style:none;padding:15px 17px;font-weight:800;color:#1a3153;cursor:pointer;display:flex;justify-content:space-between}.v8-faq summary::-webkit-details-marker{display:none}.v8-faq details p{border-top:1px solid #edf2f7;margin:0;padding:15px 17px;color:#637691;font-size:12px;line-height:1.7}.v8-faq details[open] summary span{transform:rotate(45deg)}
@media(max-width:900px){.v8-shell{width:min(100% - 24px,1460px)}.v8-hero{padding:38px 0}.v8-hero .v8-shell{display:block}.v8-hero h1{font-size:34px}.v8-hero-metrics{margin-top:22px;width:100%;display:grid;grid-template-columns:1fr 1fr}.v8-hero-metrics div{border-bottom:1px solid rgba(255,255,255,.15)}.v8-orb{display:none}.v8-filter{grid-template-columns:1fr 1fr}.v8-search{grid-column:1/-1}.v8-filter button{height:42px}.v8-info-strip{grid-template-columns:1fr}.v8-calendar-grid{grid-template-columns:1fr 1fr}.v8-detail-grid{grid-template-columns:1fr}.v8-side{position:static}.v8-news-grid{grid-template-columns:1fr}.v8-faq-layout{grid-template-columns:1fr}.v8-kpis{grid-template-columns:1fr 1fr}.v8-timeline{grid-template-columns:1fr 1fr;gap:16px}.v8-timeline>div:after{display:none}}
@media(max-width:560px){.v8-shell{width:calc(100% - 18px)}.v8-hero{padding:30px 0}.v8-hero h1{font-size:29px}.v8-hero p{font-size:13px}.v8-filter{grid-template-columns:1fr}.v8-search{grid-column:auto}.v8-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.v8-tabs a{white-space:nowrap}.v8-calendar-grid{grid-template-columns:1fr}.v8-detail-top{display:block}.v8-gmp-hero{margin-top:18px}.v8-detail-company{align-items:flex-start}.v8-logo-letter{width:50px;height:50px;flex:0 0 50px}.v8-detail-company h1{font-size:25px}.v8-kpis{grid-template-columns:1fr}.v8-timeline{grid-template-columns:1fr}.v8-news{display:block}.v8-news-icon{margin-bottom:12px}.v8-links{display:block}.v8-links a{display:block;margin-top:7px}.v8-date-card{display:block}.v8-date{width:100%;height:70px;display:flex;align-items:center;justify-content:center;gap:8px}.v8-date b{font-size:24px}.v8-date-content dl{grid-template-columns:1fr 1fr}}

/* =========================================================
   PHASE 9 - INNER PAGE HEADER / HERO SAFE OFFSET
   Home page is intentionally untouched.
   The global navigation is absolute, so inner-page heroes
   must begin below its footprint instead of underneath it.
   ========================================================= */
@media (min-width:1100px){
  .v8-hero,
  .v8-detail-hero{
    margin-top:94px!important;
  }
  .v8-hero{
    padding-top:48px!important;
  }
  .v8-detail-hero{
    padding-top:34px!important;
  }
  .v8-hero .v8-shell,
  .v8-detail-hero .v8-shell{
    position:relative;
    z-index:2;
  }
  .v8-hero-metrics,
  .v8-orb,
  .v8-gmp-hero{
    max-width:100%;
    flex-shrink:0;
  }
}

/* Tablets: match the shorter responsive navigation height. */
@media (min-width:601px) and (max-width:1099px){
  .v8-hero,
  .v8-detail-hero{
    margin-top:84px!important;
  }
  .v8-hero{
    padding-top:34px!important;
  }
}

/* Phones: keep the hero clear of the mobile header/menu button. */
@media (max-width:600px){
  .v8-hero,
  .v8-detail-hero{
    margin-top:76px!important;
  }
  .v8-hero{
    padding-top:28px!important;
  }
  .v8-hero .v8-shell,
  .v8-detail-hero .v8-shell{
    width:calc(100% - 20px)!important;
  }
}

/* Phase 14 - IPO Mantra admin research flag (detail-page scoped only) */
.v8-detail-page .ipo-research-flag{display:flex;align-items:flex-start;gap:14px;margin:0 0 16px;padding:16px 18px;border:1px solid #d8e4f4;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(13,56,110,.06)}
.v8-detail-page .ipo-research-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;font-size:23px;font-weight:900;background:#eef4ff;color:#155bd7}
.v8-detail-page .ipo-research-copy small{display:block;font-size:10px;font-weight:900;letter-spacing:1.5px;color:#60789a;margin-bottom:3px}
.v8-detail-page .ipo-research-copy h3{margin:0 0 4px;font-size:20px}.v8-detail-page .ipo-research-copy p{margin:0 0 5px;line-height:1.5;color:#18345b}.v8-detail-page .ipo-research-copy span{font-size:11px;color:#71839e}
.v8-detail-page .ipo-research-flag.take{border-color:#bcebd0;background:#f3fff8}.v8-detail-page .ipo-research-flag.take .ipo-research-icon{background:#dff8e9;color:#07883f}
.v8-detail-page .ipo-research-flag.medium{border-color:#ffe1a8;background:#fffbf1}.v8-detail-page .ipo-research-flag.medium .ipo-research-icon{background:#fff0c9;color:#a86400}
.v8-detail-page .ipo-research-flag.risky{border-color:#ffc9c9;background:#fff6f6}.v8-detail-page .ipo-research-flag.risky .ipo-research-icon{background:#ffe2e2;color:#c52a2a}
@media(max-width:640px){.v8-detail-page .ipo-research-flag{padding:13px}.v8-detail-page .ipo-research-copy h3{font-size:18px}}

/* Phase 16 UX correction - listing research visibility only */
.v8-research-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:6px 9px;border-radius:999px;text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.45px;white-space:nowrap}.v8-research-badge.take{background:#e3f9ed;color:#087f43}.v8-research-badge.medium{background:#fff2cf;color:#9a6100}.v8-research-badge.risky{background:#ffe5e5;color:#b42318}.v8-research-badge.locked{background:#eef3fa;color:#536b8d}.v8-research-none{color:#a0adbd}
/* Phase 17 - broker redirect panel */
.ipo-broker-apply{margin:0 0 18px;background:#fff;border:1px solid #dbe7f5;border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(17,65,120,.05)}.ipo-broker-head small{font-weight:900;letter-spacing:1px;color:#087bff}.ipo-broker-head h3{margin:5px 0 4px;font-size:22px}.ipo-broker-head p{margin:0;color:#61748d;font-size:13px}.ipo-broker-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.ipo-broker-btn{min-width:190px;display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #d8e5f5;border-radius:12px;text-decoration:none;color:#102a50;background:#f8fbff}.ipo-broker-btn:hover{border-color:#1478ed;box-shadow:0 5px 16px rgba(18,101,216,.12)}.ipo-broker-btn img{width:28px;height:28px;object-fit:contain}.ipo-broker-btn span{font-weight:800;flex:1}.ipo-broker-btn b{font-size:11px;color:#1265d8}@media(max-width:600px){.ipo-broker-list{display:grid}.ipo-broker-btn{min-width:0;width:100%}}

/* Phase 17E - explicit IPO detail action */
.v8-go.v8-view-details{width:auto;height:auto;min-width:104px;padding:8px 11px;white-space:nowrap;font-size:11px;border:1px solid #d6e7fb;display:inline-flex;justify-content:center}
.v8-go.v8-view-details:hover{background:#0872ed;color:#fff;border-color:#0872ed}
@media(max-width:700px){.v8-go.v8-view-details{min-width:92px;padding:7px 9px;font-size:10px}}

/* Phase 17F: dynamic broker actions on IPO listing */
.v8-row-actions{display:flex;align-items:stretch;gap:7px;white-space:nowrap}
.v8-broker-menu{position:relative}
.v8-broker-menu summary{list-style:none;cursor:pointer;border:1px solid #cfe0f3;border-radius:9px;padding:9px 11px;background:#fff;color:#1265d8;font-size:11px;font-weight:900}
.v8-broker-menu summary::-webkit-details-marker{display:none}
.v8-broker-menu[open] summary{border-color:#1265d8;background:#f5f9ff}
.v8-broker-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:210px;padding:7px;background:#fff;border:1px solid #d8e5f5;border-radius:12px;box-shadow:0 14px 35px rgba(25,57,96,.16)}
.v8-broker-menu-list a{display:flex;align-items:center;gap:9px;padding:9px;border-radius:8px;text-decoration:none;color:#173252}
.v8-broker-menu-list a:hover{background:#f2f7fd}
.v8-broker-menu-list img{width:23px;height:23px;object-fit:contain}
.v8-broker-menu-list span{flex:1;font-weight:800;font-size:12px}
.v8-broker-menu-list b{color:#1265d8}
@media(max-width:700px){.v8-row-actions{flex-direction:column}.v8-broker-menu summary{text-align:center}.v8-broker-menu-list{right:auto;left:0}}

/* Phase 20 - premium IPO detail, scoped to detail page */
.p20-hero .v8-detail-top{align-items:stretch}.p20-hero-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}.p20-hero-actions form{margin:0}.p20-hero-actions button,.p20-hero-actions>a{border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:9px 13px;background:rgba(255,255,255,.11);color:#fff;text-decoration:none;font-size:11px;font-weight:900;cursor:pointer}.p20-hero-actions .p20-watch.saved{background:#fff;color:#0868ef}.p20-market-pulse{display:grid;grid-template-columns:1fr 1fr;min-width:340px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);overflow:hidden}.p20-market-pulse>div{padding:20px;text-align:center}.p20-market-pulse>div+div{border-left:1px solid rgba(255,255,255,.16)}.p20-market-pulse small,.p20-market-pulse span{display:block;color:#cfe4fb}.p20-market-pulse b{display:block;font-size:28px;margin:5px 0}.p20-market-pulse span{font-size:9px}.p20-page{padding-top:22px}.p20-nav{position:sticky;top:82px;z-index:20;background:#fff;border:1px solid var(--v8line);box-shadow:0 8px 24px rgba(19,49,87,.06)}.p20-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.p20-summary-grid>div{background:#fff;border:1px solid var(--v8line);border-radius:14px;padding:15px;box-shadow:0 7px 22px rgba(19,49,87,.045)}.p20-summary-grid small{display:block;color:#8290a4;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.45px}.p20-summary-grid b{display:block;color:#142c4e;margin-top:6px;font-size:14px}.p20-main-grid main{display:grid;gap:16px}.p20-research-body{padding:20px}.p20-research-body p{margin:12px 0 0;color:#425b7b;line-height:1.65}.p20-research-pill{display:inline-flex;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900}.p20-research-pill.take{background:#e3f9ed;color:#087f43}.p20-research-pill.medium{background:#fff2cf;color:#9a6100}.p20-research-pill.risky{background:#ffe5e5;color:#b42318}.p20-empty-research{padding:20px;color:#7c8da5}.p20-section-copy{margin:0;padding:18px 20px 0;color:#627691;font-size:12px}.p20-broker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px 20px}.p20-broker-grid>a{display:flex;align-items:center;gap:10px;border:1px solid #dbe7f5;border-radius:13px;padding:12px;text-decoration:none;color:#173252;background:#fbfdff}.p20-broker-grid>a:hover{border-color:#0a70ed;box-shadow:0 8px 20px rgba(8,104,239,.09)}.p20-broker-logo{width:34px;height:34px;position:relative;display:grid;place-items:center;border-radius:9px;background:#eef5ff;overflow:hidden;color:#0872ed;font-weight:900}.p20-broker-logo img{position:absolute;width:100%;height:100%;object-fit:contain;background:#fff}.p20-broker-logo i{font-style:normal}.p20-broker-grid strong{flex:1;font-size:12px}.p20-broker-grid small{color:#0872ed;font-weight:900}.p20-side{top:150px}
@media(max-width:1100px){.p20-summary-grid{grid-template-columns:repeat(3,1fr)}.p20-broker-grid{grid-template-columns:1fr 1fr}.p20-nav{position:static}.p20-side{top:auto}}
@media(max-width:700px){.p20-market-pulse{min-width:0;width:100%;margin-top:16px}.p20-summary-grid{grid-template-columns:1fr 1fr}.p20-broker-grid{grid-template-columns:1fr}.p20-nav{overflow-x:auto;flex-wrap:nowrap}.p20-nav a{white-space:nowrap}}
@media(max-width:460px){.p20-market-pulse{grid-template-columns:1fr}.p20-market-pulse>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.16)}.p20-summary-grid{grid-template-columns:1fr}}

/* Phase 21 - Allotment / Registrar */
.p21-allotment-body{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:20px}.p21-allotment-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e7f8ef;color:#0b8a50;font-size:21px;font-weight:900}.p21-allotment-copy small{display:block;color:#0874e8;font-size:8px;font-weight:900;letter-spacing:1px}.p21-allotment-copy h3{margin:3px 0 5px;color:#102c50;font-size:16px}.p21-allotment-copy p{max-width:650px;margin:0;color:#6c809a;font-size:11px;line-height:1.55}.p21-allotment-meta{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:10px}.p21-allotment-meta span{color:#8796aa}.p21-allotment-meta b{color:#19395f}.p21-allotment-btn{padding:11px 14px;border-radius:10px;background:#0874e8;color:#fff;text-decoration:none;font-size:10px;font-weight:900;white-space:nowrap}.p21-allotment-pending{padding:10px 12px;border:1px solid #dce6f2;border-radius:10px;background:#f7f9fc;color:#8392a6;font-size:9px;font-weight:800;white-space:nowrap}
@media(max-width:760px){.p21-allotment-body{grid-template-columns:auto 1fr}.p21-allotment-btn,.p21-allotment-pending{grid-column:1/-1;text-align:center;white-space:normal}}


/* Phase 25 - final responsive safeguards. No visual redesign. */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
table{max-width:100%}
input,select,textarea,button{max-width:100%}
.v8-shell,.v8-body{width:100%}
@media(max-width:900px){
  .v8-shell,.v8-body{padding-left:16px;padding-right:16px}
  .v8-news-grid,.v8-faq-layout{min-width:0}
  .v8-news,.v8-faq,.v8-faq-layout>*{min-width:0}
}
@media(max-width:640px){
  .v8-shell,.v8-body{padding-left:12px;padding-right:12px}
  .v8-hero h1{overflow-wrap:anywhere}
  .v8-news h2,.v8-faq summary,.v8-news p,.v8-faq p{overflow-wrap:anywhere}
}
