/* IPOPulse — styles. Brand: deep ink + pulse green, with a warm amber accent. */
:root {
  --ip-brand: #0ea371; --ip-brand-2: #0b8a5f; --ip-brand-soft: #e3f7ef; --ip-accent: #ff9f1c; --ip-ink: #0b1324;
  --ip-bg: #f5f7fa; --ip-surface: #ffffff; --ip-surface-2: #f0f3f7; --ip-border: #e2e7ee; --ip-fg: #0e1626; --ip-muted: #5a6577;
  --ip-up: #0a9b57; --ip-down: #e0434b; --ip-flat: #8a94a6; --ip-warn: #c77d00; --ip-info: #2563eb;
  --ip-radius: 14px; --ip-shadow: 0 1px 2px rgba(14,22,38,.04), 0 6px 20px rgba(14,22,38,.06);
  --ip-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --ip-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ip-brand: #22c58b; --ip-brand-2: #1aa774; --ip-brand-soft: #0f2a22; --ip-bg: #0a0f1a; --ip-surface: #111827; --ip-surface-2: #172033;
    --ip-border: #232e44; --ip-fg: #e7ecf5; --ip-muted: #96a1b5; --ip-up: #2fd27f; --ip-down: #ff6169; --ip-info: #6b9bff;
    --ip-shadow: 0 1px 2px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.3); color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --ip-brand: #22c58b; --ip-brand-2: #1aa774; --ip-brand-soft: #0f2a22; --ip-bg: #0a0f1a; --ip-surface: #111827; --ip-surface-2: #172033;
  --ip-border: #232e44; --ip-fg: #e7ecf5; --ip-muted: #96a1b5; --ip-up: #2fd27f; --ip-down: #ff6169; --ip-info: #6b9bff;
  --ip-shadow: 0 1px 2px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.3); color-scheme: dark;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ip-bg); color: var(--ip-fg); font: 15px/1.6 var(--ip-font); -webkit-font-smoothing: antialiased; }
a { color: var(--ip-brand-2); text-decoration: none; } a:hover { text-decoration: underline; }
:root[data-theme="dark"] a, :root:not([data-theme="light"]) a { color: var(--ip-brand); }
h1, h2, h3, h4 { line-height: 1.2; letter-spacing: -.02em; margin: 0 0 .5em; }
h1 { font-size: clamp(26px, 4vw, 38px); font-weight: 800; } h2 { font-size: 21px; font-weight: 800; } h3 { font-size: 16px; font-weight: 700; }
img { max-width: 100%; display: block; }
.num, .mono { font-family: var(--ip-mono); font-variant-numeric: tabular-nums; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; } .skip:focus { left: 12px; top: 12px; background: var(--ip-surface); padding: 8px 12px; border-radius: 8px; z-index: 99; }
.wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 16px; }
.up { color: var(--ip-up); } .down { color: var(--ip-down); } .flat { color: var(--ip-flat); }
.ip-sub { color: var(--ip-muted); font-size: 13px; }
:focus-visible { outline: 2px solid var(--ip-brand); outline-offset: 2px; }

/* ---------- Announcement + header ---------- */
.ip-announce { background: var(--ip-ink); color: #fff; font-size: 13.5px; text-align: center; padding: 8px 16px; }
.ip-announce a { color: #7ff0c3; font-weight: 700; }
.ip-header { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--ip-surface) 90%, transparent); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--ip-border); }
.ip-header .wrap { display: flex; align-items: center; gap: 14px; height: 62px; }
.ip-logo { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; font-size: 20px; color: var(--ip-fg) !important; letter-spacing: -.03em; white-space: nowrap; }
.ip-logo:hover { text-decoration: none; }
.ip-logo b { color: var(--ip-brand); font-weight: 800; }
.ip-logo .mark { width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, var(--ip-brand), #0a6d4b); display: grid; place-items: center; color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--ip-brand) 35%, transparent); }
.ip-nav { display: flex; gap: 2px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.ip-nav a { color: var(--ip-muted) !important; font-size: 14px; font-weight: 600; padding: 7px 10px; border-radius: 9px; white-space: nowrap; }
.ip-nav a:hover, .ip-nav a[aria-current="page"] { color: var(--ip-fg) !important; background: var(--ip-surface-2); text-decoration: none; }
.ip-nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--ip-brand); }
.ip-hbtns { display: flex; gap: 6px; margin-left: auto; }
.ip-icon-btn { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); display: grid; place-items: center; cursor: pointer; }
.ip-icon-btn:hover { border-color: var(--ip-brand); }
.ip-menu-btn { display: none; }
@media (max-width: 1020px) {
  .ip-nav { display: none; position: absolute; top: 62px; left: 0; right: 0; flex-direction: column; background: var(--ip-surface); border-bottom: 1px solid var(--ip-border); padding: 8px 16px 16px; box-shadow: var(--ip-shadow); }
  .ip-nav.open { display: flex; } .ip-nav a { padding: 11px 12px; font-size: 15px; }
  .ip-menu-btn { display: grid; }
}

/* ---------- Ticker ---------- */
.ip-ticker { display: flex; align-items: center; background: var(--ip-surface); border-bottom: 1px solid var(--ip-border); overflow: hidden; height: 40px; font-size: 13.5px; }
.ip-ticker-label { flex: none; display: flex; align-items: center; gap: 7px; padding: 0 14px; height: 100%; background: var(--ip-brand); color: #fff; font-weight: 800; letter-spacing: .02em; }
.ip-ticker-label i { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: ip-pulse 1.4s infinite; }
.ip-ticker-track { flex: 1; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent); }
.ip-ticker-run { display: inline-flex; gap: 28px; padding-left: 20px; white-space: nowrap; animation: ip-marquee 45s linear infinite; }
@media (hover: hover) { .ip-ticker:hover .ip-ticker-run { animation-play-state: paused; } }
.ip-ticker a { color: var(--ip-fg) !important; } .ip-ticker a b { font-weight: 700; }
@keyframes ip-marquee { to { transform: translateX(-50%); } }
@keyframes ip-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.7); } 70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
/* Live GMP ticker keeps moving even with "reduce motion" on — just slower */
@media (prefers-reduced-motion: reduce) { .ip-ticker-run { animation-duration: 90s; } }

/* ---------- Layout blocks ---------- */
main { padding-bottom: 20px; }
.ip-crumbs { font-size: 13px; color: var(--ip-muted); padding: 16px 0 4px; display: flex; gap: 8px; flex-wrap: wrap; }
.ip-crumbs a { color: var(--ip-muted) !important; } .ip-crumbs > *+*::before { content: "›"; margin-right: 8px; opacity: .6; }
.ip-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding: 10px 0 18px; }
.ip-head p { margin: 0; color: var(--ip-muted); max-width: 720px; }
.ip-card { background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: var(--ip-radius); box-shadow: var(--ip-shadow); }
.ip-pad { padding: 18px; }
.ip-section { margin-top: 28px; }
.ip-sec-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ip-sec-title h2 { margin: 0; } .ip-sec-title a { font-weight: 700; font-size: 14px; }
.ip-grid { display: grid; gap: 16px; }
.ip-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ip-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ip-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { .ip-g3, .ip-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ip-g2, .ip-g3 { grid-template-columns: 1fr; } }
.ip-two { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
@media (max-width: 1020px) { .ip-two { grid-template-columns: 1fr; } }
.ip-side { position: sticky; top: 80px; display: grid; gap: 16px; }
@media (max-width: 1020px) { .ip-side { position: static; } }

/* ---------- Buttons, inputs, chips ---------- */
.ip-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 11px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg) !important; font: 700 14px var(--ip-font); cursor: pointer; white-space: nowrap; text-decoration: none !important; }
.ip-btn:hover { border-color: var(--ip-brand); }
.ip-btn-primary { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff !important; }
.ip-btn-primary:hover { background: var(--ip-brand-2); }
.ip-btn-dark { background: var(--ip-ink); border-color: var(--ip-ink); color: #fff !important; }
.ip-btn-sm { height: 32px; padding: 0 11px; font-size: 13px; border-radius: 9px; }
.ip-btn-danger { color: var(--ip-down) !important; }
.ip-btn:disabled { opacity: .55; cursor: not-allowed; }
.ip-input, .ip-select, .ip-textarea { height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); font: 500 14px var(--ip-font); min-width: 0; }
.ip-textarea { height: auto; padding: 10px 12px; line-height: 1.5; width: 100%; resize: vertical; }
.ip-input:focus, .ip-select:focus, .ip-textarea:focus { outline: none; border-color: var(--ip-brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ip-brand) 18%, transparent); }
.ip-field { display: grid; gap: 5px; font-size: 13px; font-weight: 600; color: var(--ip-muted); }
.ip-field .ip-input, .ip-field .ip-select { width: 100%; }
.ip-seg { display: inline-flex; padding: 3px; gap: 2px; background: var(--ip-surface-2); border: 1px solid var(--ip-border); border-radius: 11px; overflow-x: auto; max-width: 100%; }
.ip-seg button { border: 0; background: none; padding: 6px 12px; border-radius: 8px; font: 700 13px var(--ip-font); color: var(--ip-muted); cursor: pointer; white-space: nowrap; display: inline-flex; gap: 6px; align-items: center; }
.ip-seg button[aria-pressed="true"] { background: var(--ip-surface); color: var(--ip-fg); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.ip-seg button i { font-style: normal; font-size: 11px; background: var(--ip-border); border-radius: 20px; padding: 0 6px; }
.ip-seg button[aria-pressed="true"] i { background: var(--ip-brand); color: #fff; }
.ip-pill { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; background: var(--ip-surface-2); color: var(--ip-muted); white-space: nowrap; }
.ip-pill.open { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); }
.ip-pill.open::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: ip-blink 1.2s infinite; }
.ip-pill.upcoming { background: color-mix(in srgb, var(--ip-info) 13%, transparent); color: var(--ip-info); }
.ip-pill.closed { background: color-mix(in srgb, var(--ip-accent) 16%, transparent); color: var(--ip-warn); }
.ip-pill.listed { background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-pill.off { background: color-mix(in srgb, var(--ip-down) 12%, transparent); color: var(--ip-down); }
@keyframes ip-blink { 50% { opacity: .3; } }
.ip-badge { display: inline-block; font-size: 11px; font-weight: 800; padding: 1px 7px; border-radius: 6px; border: 1px solid var(--ip-border); color: var(--ip-muted); letter-spacing: .03em; }
.ip-badge.sme { border-color: color-mix(in srgb, var(--ip-accent) 60%, transparent); color: var(--ip-warn); }
.ip-tag { display: inline-block; font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 6px; background: var(--ip-brand-soft); color: var(--ip-brand-2); }
.ip-star { border: 0; background: none; cursor: pointer; font-size: 18px; line-height: 1; color: var(--ip-flat); padding: 2px 4px; }
.ip-star[aria-pressed="true"] { color: var(--ip-accent); }
.ip-notice { border: 1px solid var(--ip-border); border-left: 4px solid var(--ip-accent); background: var(--ip-surface); border-radius: 10px; padding: 12px 14px; font-size: 13.5px; color: var(--ip-muted); }
.ip-notice b { color: var(--ip-fg); }
.ip-notice.ok { border-left-color: var(--ip-up); } .ip-notice.bad { border-left-color: var(--ip-down); } .ip-notice.info { border-left-color: var(--ip-info); }
.ip-empty { text-align: center; color: var(--ip-muted); padding: 30px 12px; }
.ip-loading { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--ip-muted); padding: 30px; }
.ip-spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--ip-border); border-top-color: var(--ip-brand); animation: ip-rot .8s linear infinite; }
@keyframes ip-rot { to { transform: rotate(360deg); } }

/* ---------- Hero ---------- */
.ip-hero { position: relative; overflow: hidden; background: radial-gradient(1200px 400px at 85% -10%, color-mix(in srgb, var(--ip-brand) 28%, transparent), transparent 60%), linear-gradient(160deg, #0b1324, #0f1f35 60%, #0c2a24); color: #fff; border-radius: 22px; padding: clamp(24px, 4vw, 44px); margin-top: 18px; }
.ip-hero h1 { color: #fff; max-width: 760px; } .ip-hero h1 em { font-style: normal; color: #5ff0b5; }
.ip-hero p { color: #b9c6da; max-width: 640px; margin: 0 0 20px; font-size: 16px; }
.ip-hero-search { display: flex; gap: 8px; max-width: 560px; position: relative; }
.ip-hero-search .ip-input { flex: 1; height: 48px; font-size: 15px; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff; }
.ip-hero-search .ip-input::placeholder { color: #9fb0c8; }
.ip-hero-search .ip-btn { height: 48px; }
.ip-suggest { position: absolute; top: 52px; left: 0; right: 0; background: var(--ip-surface); color: var(--ip-fg); border: 1px solid var(--ip-border); border-radius: 12px; box-shadow: var(--ip-shadow); z-index: 5; overflow: hidden; }
.ip-suggest a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; color: var(--ip-fg) !important; border-bottom: 1px solid var(--ip-border); }
.ip-suggest a:hover, .ip-suggest a.on { background: var(--ip-surface-2); text-decoration: none; }
.ip-hero-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 26px; }
.ip-hero-stats a { display: block; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 12px 14px; color: #fff !important; }
.ip-hero-stats a:hover { background: rgba(255,255,255,.12); text-decoration: none; }
.ip-hero-stats b { display: block; font-size: 26px; font-weight: 800; font-family: var(--ip-mono); letter-spacing: -.03em; }
.ip-hero-stats span { font-size: 12.5px; color: #b9c6da; font-weight: 600; }
@media (max-width: 860px) { .ip-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ip-hero-stats a:last-child { grid-column: 1/-1; } }

/* ---------- IPO cards ---------- */
.ip-ipo-card { display: flex; flex-direction: column; gap: 12px; padding: 16px; position: relative; transition: transform .15s, box-shadow .15s; }
.ip-ipo-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(14,22,38,.10); }
.ip-ipo-top { display: flex; gap: 12px; align-items: flex-start; }
.ip-avatar { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; font-size: 16px; background: linear-gradient(135deg, var(--c1, #0ea371), var(--c2, #2563eb)); overflow: hidden; }
.ip-avatar img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.ip-ipo-name { font-weight: 800; font-size: 15.5px; line-height: 1.3; color: var(--ip-fg) !important; display: block; }
.ip-ipo-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.ip-kv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ip-kv div { background: var(--ip-surface-2); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.ip-kv span { display: block; font-size: 11.5px; color: var(--ip-muted); font-weight: 600; }
.ip-kv b { font-family: var(--ip-mono); font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.ip-kv b span { display: inline; font-size: .8em; font-weight: 700; color: inherit; vertical-align: 1px; }
.ip-kv small { display: block; font-size: 11.5px; color: var(--ip-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12.5px; color: var(--ip-muted); border-top: 1px dashed var(--ip-border); padding-top: 10px; }

/* Pulse meter */
.ip-meter { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ip-meter-bar { width: 54px; height: 6px; border-radius: 6px; background: var(--ip-surface-2); overflow: hidden; border: 1px solid var(--ip-border); }
.ip-meter-bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #3b82f6, #0ea371, #ff9f1c, #ef4444); background-size: 54px 100%; }
.ip-meter.hot { color: #e2532d; } .ip-meter.strong { color: var(--ip-up); } .ip-meter.moderate { color: var(--ip-warn); } .ip-meter.weak, .ip-meter.cold { color: var(--ip-flat); }

/* ---------- Tables ---------- */
.ip-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ip-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ip-table th { text-align: left; font-size: 12px; font-weight: 700; color: var(--ip-muted); text-transform: uppercase; letter-spacing: .04em; padding: 10px 12px; border-bottom: 1px solid var(--ip-border); background: var(--ip-surface-2); white-space: nowrap; position: sticky; top: 0; }
.ip-table th.sort { cursor: pointer; user-select: none; } .ip-table th.sort:hover { color: var(--ip-fg); }
.ip-table th.sort[data-dir="asc"]::after { content: " ▲"; } .ip-table th.sort[data-dir="desc"]::after { content: " ▼"; }
.ip-table td { padding: 11px 12px; border-bottom: 1px solid var(--ip-border); vertical-align: middle; }
.ip-table tbody tr:hover { background: color-mix(in srgb, var(--ip-brand) 4%, transparent); }
.ip-table .num { text-align: right; white-space: nowrap; }
.ip-table td small { display: block; color: var(--ip-muted); font-size: 12px; font-family: var(--ip-font); }
.ip-table .ip-ipo-name { font-size: 14.5px; }
.ip-table tr.hl td { background: color-mix(in srgb, var(--ip-up) 6%, transparent); }
.ip-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; padding: 14px; border-bottom: 1px solid var(--ip-border); }
.ip-toolbar .grow { flex: 1 1 220px; }

/* ---------- Bars & charts ---------- */
.ip-bars { display: grid; gap: 10px; }
.ip-bar { display: grid; grid-template-columns: 120px 1fr 74px; align-items: center; gap: 10px; font-size: 13.5px; }
.ip-bar span { color: var(--ip-muted); font-weight: 600; } .ip-bar b { text-align: right; font-family: var(--ip-mono); }
.ip-bar .t { height: 10px; border-radius: 10px; background: var(--ip-surface-2); overflow: hidden; }
.ip-bar .t i { display: block; height: 100%; border-radius: 10px; background: linear-gradient(90deg, var(--ip-brand), #33d6a0); }
.ip-bar.total .t i { background: linear-gradient(90deg, var(--ip-accent), #ffc56b); }
.ip-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.ip-chart .ax { fill: var(--ip-muted); font-size: 11px; font-family: var(--ip-mono); }
.ip-chart .gr { stroke: var(--ip-border); stroke-width: 1; }
.ip-spark { vertical-align: middle; }

/* ---------- Stats ---------- */
.ip-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.ip-stat { background: var(--ip-surface-2); border-radius: 12px; padding: 12px 14px; min-width: 0; }
.ip-stat span { display: block; font-size: 12px; font-weight: 700; color: var(--ip-muted); }
.ip-stat b { display: block; font-size: 21px; font-weight: 800; font-family: var(--ip-mono); letter-spacing: -.02em; overflow-wrap: anywhere; }
.ip-stat small { display: block; font-size: 12px; color: var(--ip-muted); }
.ip-stat.big { background: linear-gradient(135deg, color-mix(in srgb, var(--ip-brand) 16%, var(--ip-surface)), var(--ip-surface-2)); }

/* ---------- Detail page ---------- */
.ip-dhead { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; padding: 8px 0 16px; }
.ip-dhead .ip-avatar { width: 58px; height: 58px; font-size: 22px; border-radius: 16px; }
.ip-dhead h1 { margin: 6px 0 4px; }
.ip-share { display: flex; gap: 6px; flex-wrap: wrap; }
.ip-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0; counter-reset: s; }
.ip-timeline li { position: relative; padding: 26px 8px 4px; text-align: center; font-size: 12.5px; }
.ip-timeline li::before { content: ""; position: absolute; top: 9px; left: 0; right: 0; height: 3px; background: var(--ip-border); }
.ip-timeline li::after { content: ""; position: absolute; top: 3px; left: calc(50% - 8px); width: 16px; height: 16px; border-radius: 50%; background: var(--ip-surface); border: 3px solid var(--ip-border); }
.ip-timeline li.done::before, .ip-timeline li.done::after { background: var(--ip-brand); border-color: var(--ip-brand); }
.ip-timeline li.now::after { border-color: var(--ip-accent); background: var(--ip-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--ip-accent) 25%, transparent); }
.ip-timeline span { display: block; color: var(--ip-muted); font-weight: 600; } .ip-timeline b { font-size: 13px; }
.ip-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.ip-dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--ip-border); font-size: 14px; }
.ip-dl dt { color: var(--ip-muted); } .ip-dl dd { margin: 0; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
@media (max-width: 640px) { .ip-dl { grid-template-columns: 1fr; } }
.ip-list { margin: 0; padding-left: 20px; } .ip-list li { margin: 4px 0; }
.ip-sw { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ip-sw > div { border-radius: 12px; padding: 14px; background: color-mix(in srgb, var(--ip-up) 7%, transparent); }
.ip-sw > div + div { background: color-mix(in srgb, var(--ip-down) 7%, transparent); }
@media (max-width: 640px) { .ip-sw { grid-template-columns: 1fr; } }
.ip-tabs-nav { display: flex; gap: 4px; overflow-x: auto; position: sticky; top: 62px; z-index: 10; background: var(--ip-bg); padding: 8px 0; scrollbar-width: none; }
.ip-tabs-nav a { padding: 6px 12px; border-radius: 9px; font-size: 13px; font-weight: 700; color: var(--ip-muted) !important; white-space: nowrap; border: 1px solid var(--ip-border); background: var(--ip-surface); }
.ip-tabs-nav a:hover { color: var(--ip-fg) !important; text-decoration: none; border-color: var(--ip-brand); }
.ip-anchor { scroll-margin-top: 120px; }

/* ---------- Calendar ---------- */
.ip-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--ip-border); border-left: 1px solid var(--ip-border); }
.ip-cal > div { min-height: 104px; border-right: 1px solid var(--ip-border); border-bottom: 1px solid var(--ip-border); padding: 6px; font-size: 12px; min-width: 0; }
.ip-cal .dow { min-height: 0; font-weight: 800; color: var(--ip-muted); text-align: center; background: var(--ip-surface-2); }
.ip-cal .dn { font-weight: 800; color: var(--ip-muted); } .ip-cal .other { background: var(--ip-surface-2); opacity: .55; }
.ip-cal .today { background: color-mix(in srgb, var(--ip-brand) 8%, transparent); } .ip-cal .today .dn { color: var(--ip-brand); }
.ip-ev { display: block; margin-top: 3px; padding: 2px 6px; border-radius: 6px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ip-fg) !important; border-left: 3px solid; background: var(--ip-surface-2); }
.ip-ev.open { border-color: var(--ip-up); } .ip-ev.close { border-color: var(--ip-down); } .ip-ev.allotment { border-color: var(--ip-accent); } .ip-ev.listing { border-color: var(--ip-info); } .ip-ev.refund, .ip-ev.demat, .ip-ev.anchor { border-color: var(--ip-flat); }
@media (max-width: 760px) { .ip-cal { display: none; } }
.ip-agenda { list-style: none; margin: 0; padding: 0; }
.ip-agenda li { display: grid; grid-template-columns: 92px 1fr auto; gap: 12px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--ip-border); }
.ip-agenda .when { font-family: var(--ip-mono); font-weight: 700; font-size: 13px; }

/* ---------- Prose / articles / FAQ ---------- */
.ip-prose { font-size: 16px; line-height: 1.75; } .ip-prose h2 { margin-top: 1.6em; } .ip-prose h3 { margin-top: 1.3em; }
.ip-prose p, .ip-prose ul, .ip-prose ol { margin: 0 0 1em; }
.ip-article { max-width: 780px; } .ip-lead { font-size: 18px; color: var(--ip-muted); }
.ip-faq details { border: 1px solid var(--ip-border); border-radius: 12px; background: var(--ip-surface); margin-bottom: 8px; }
.ip-faq summary { cursor: pointer; padding: 14px 16px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.ip-faq summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--ip-muted); } .ip-faq details[open] summary::after { content: "–"; }
.ip-faq details p { margin: 0; padding: 0 16px 14px; color: var(--ip-muted); }
.ip-news-card { display: flex; flex-direction: column; gap: 6px; padding: 16px; color: var(--ip-fg) !important; }
.ip-news-card:hover { text-decoration: none; border-color: var(--ip-brand); }
.ip-news-card h3 { margin: 0; font-size: 16px; } .ip-news-card p { margin: 0; color: var(--ip-muted); font-size: 14px; }

/* ---------- CTA + footer ---------- */
.ip-cta { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 22px 24px; border-radius: 18px; background: linear-gradient(120deg, var(--ip-brand), #0a7c58); color: #fff; }
.ip-cta h2 { color: #fff; margin: 0 0 4px; } .ip-cta p { margin: 0; color: #d7f7ea; }
.ip-cta .ip-btn { background: #fff; color: #0a6d4b !important; border-color: #fff; }
.ip-footer { margin-top: 56px; background: var(--ip-ink); color: #b9c6da; padding: 44px 0 96px; font-size: 14px; }
.ip-footer .ip-logo { color: #fff !important; }
.ip-footer a { color: #e3eaf5 !important; }
.ip-foot-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 28px; }
.ip-foot-grid h4 { color: #fff; font-size: 13px; text-transform: uppercase; letter-spacing: .07em; margin: 4px 0 12px; }
.ip-foot-grid ul { list-style: none; margin: 0; padding: 0; } .ip-foot-grid li { margin: 7px 0; }
.ip-foot-note { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12.5px; line-height: 1.6; color: #8e9bb2; }
.ip-social { display: flex; gap: 8px; margin-top: 14px; } .ip-social a { padding: 6px 12px; border-radius: 9px; background: rgba(255,255,255,.08); font-weight: 700; font-size: 13px; }
@media (max-width: 860px) { .ip-foot-grid { grid-template-columns: 1fr 1fr; } }
.ip-mbar { position: fixed; bottom: 0; left: 0; right: 0; display: none; background: var(--ip-surface); border-top: 1px solid var(--ip-border); z-index: 30; padding-bottom: env(safe-area-inset-bottom); }
.ip-mbar a { flex: 1; text-align: center; padding: 9px 0 11px; font-size: 11.5px; font-weight: 700; color: var(--ip-muted) !important; display: grid; gap: 2px; justify-items: center; }
.ip-mbar a[aria-current="page"] { color: var(--ip-brand) !important; }
@media (max-width: 760px) { .ip-mbar { display: flex; } }
.ip-toast { position: fixed; left: 50%; bottom: 80px; transform: translateX(-50%); background: var(--ip-ink); color: #fff; padding: 10px 16px; border-radius: 10px; font-size: 14px; font-weight: 600; z-index: 99; box-shadow: var(--ip-shadow); }

/* ---------- Admin ---------- */
.ad-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 18px; }
.ad-menu { position: sticky; top: 80px; display: grid; gap: 4px; }
.ad-menu button { text-align: left; border: 0; background: none; padding: 10px 12px; border-radius: 10px; font: 700 14px var(--ip-font); color: var(--ip-muted); cursor: pointer; display: flex; justify-content: space-between; }
.ad-menu button:hover { background: var(--ip-surface); color: var(--ip-fg); }
.ad-menu button[aria-current="true"] { background: var(--ip-surface); color: var(--ip-fg); box-shadow: inset 3px 0 0 var(--ip-brand), var(--ip-shadow); }
.ad-menu i { font-style: normal; font-size: 11px; background: var(--ip-surface-2); padding: 0 7px; border-radius: 10px; }
@media (max-width: 860px) { .ad-shell { grid-template-columns: minmax(0, 1fr); } .ad-menu { position: static; display: flex; overflow-x: auto; } .ad-menu button { white-space: nowrap; } }
.ad-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ad-form .w2 { grid-column: span 2; } .ad-form .w4 { grid-column: 1/-1; }
@media (max-width: 760px) { .ad-form { grid-template-columns: 1fr 1fr; } .ad-form .w2 { grid-column: 1/-1; } }
.ad-form h3 { grid-column: 1/-1; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--ip-border); font-size: 15px; }
.ad-form h3:first-child { border: 0; padding: 0; margin: 0; }
.ad-actions { display: flex; gap: 8px; flex-wrap: wrap; position: sticky; bottom: 0; background: var(--ip-surface); padding: 14px 18px; border-top: 1px solid var(--ip-border); border-radius: 0 0 var(--ip-radius) var(--ip-radius); }
.ad-mini { width: 92px; height: 34px; }
.ad-check { display: flex; gap: 8px; align-items: center; font-weight: 600; font-size: 14px; color: var(--ip-fg); }
/* Admin: per-website source links */
.ad-srcs { display: grid; gap: 10px; }
.ad-src { border: 1px solid var(--ip-border); border-radius: 10px; padding: 10px 12px; background: var(--ip-surface-2); font-size: 14px; }
.ad-src-site { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin: 6px 0 8px; font-size: 13px; }
.ad-src-site code { font-family: var(--ip-mono); background: var(--ip-surface); border: 1px solid var(--ip-border); padding: 3px 8px; border-radius: 6px; word-break: break-all; }
.ad-src-warn { display: block; margin-top: 4px; color: var(--ip-warn); }
.ad-src-warn[hidden] { display: none; }
.ad-src .ip-input, .ad-src .ip-textarea { width: 100%; box-sizing: border-box; }
.ad-src-in { display: flex; gap: 6px; align-items: center; }
.ad-src-in .ip-input { flex: 1; min-width: 0; }
.ad-src-in .ip-btn { flex: none; }
.ad-form .ad-filled { border-color: var(--ip-up) !important; background: color-mix(in srgb, var(--ip-up) 9%, var(--ip-surface)) !important; }

/* ---------- Ads ---------- */
.ip-ad { margin: 16px 0; min-height: 90px; text-align: center; overflow: hidden; }
.ip-ad[hidden] { display: none; }
.ip-ad-label { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ip-muted); margin-bottom: 4px; }
.ip-ad-test { border: 2px dashed var(--ip-border); border-radius: var(--ip-radius); background: var(--ip-surface-2); color: var(--ip-muted); font-size: 13px; font-weight: 600; padding: 28px 12px; }
.ip-ad .adsbygoogle + .ip-ad-test { margin-top: 6px; padding: 8px 12px; }
/* ---------- Admin: visitors ---------- */
.ad-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.ad-stat { border: 1px solid var(--ip-border); border-radius: var(--ip-radius); padding: 14px; background: var(--ip-surface); }
.ad-stat b { display: block; font-size: 26px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ad-stat span { color: var(--ip-muted); font-size: 13px; }
.ad-bars { display: flex; align-items: flex-end; gap: 3px; height: 160px; padding-top: 8px; border-bottom: 1px solid var(--ip-border); }
.ad-bars div { flex: 1; min-width: 4px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.ad-bars i { display: block; background: var(--ip-brand); border-radius: 3px 3px 0 0; min-height: 1px; }
.ad-bars i.n { background: var(--ip-info); border-radius: 0; }
.ad-bars-x { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--ip-muted); margin-top: 4px; }
.ad-legend { display: flex; gap: 14px; font-size: 13px; color: var(--ip-muted); margin: 6px 0 0; }
.ad-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--ip-brand); margin-right: 5px; vertical-align: -1px; }
.ad-legend i.n { background: var(--ip-info); }

/* Company icons in lists & tables */
.ip-avatar.sm { width: 32px; height: 32px; border-radius: 9px; font-size: 12.5px; }
.ip-avatar.xs { width: 22px; height: 22px; border-radius: 6px; font-size: 10.5px; display: inline-grid; vertical-align: -6px; margin-right: 7px; }
.ip-table td.ip-tdname { min-width: 190px; }
.ip-namecell { display: flex; gap: 10px; align-items: flex-start; }
.ip-namecell > div { min-width: 0; }
.ip-namecell > .ip-avatar { margin-top: 2px; }
.ip-cmp-head { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }

/* IPOPulse Signal */
.ip-sig { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; border: 1px solid currentColor; white-space: nowrap; margin-top: 6px; }
.ip-sig.both { color: #0a9b57; background: color-mix(in srgb, #0a9b57 10%, transparent); }
.ip-sig.listing { color: #c77d00; background: color-mix(in srgb, #c77d00 10%, transparent); }
.ip-sig.long { color: #2563eb; background: color-mix(in srgb, #2563eb 10%, transparent); }
.ip-sig.neutral, .ip-sig.na { color: var(--ip-muted); }
.ip-sig.caution { color: #e0434b; background: color-mix(in srgb, #e0434b 10%, transparent); }
:root[data-theme="dark"] .ip-sig.both { color: #2fd27f; } :root[data-theme="dark"] .ip-sig.long { color: #6b9bff; } :root[data-theme="dark"] .ip-sig.caution { color: #ff6169; } :root[data-theme="dark"] .ip-sig.listing { color: #f0a92b; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-sig.both { color: #2fd27f; } :root:not([data-theme="light"]) .ip-sig.long { color: #6b9bff; } :root:not([data-theme="light"]) .ip-sig.caution { color: #ff6169; } :root:not([data-theme="light"]) .ip-sig.listing { color: #f0a92b; } }
.ip-table .ip-sig { margin-top: 6px; }
.ip-sig-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 10px 0 2px; }
.ip-sig-row .ip-sig { margin: 0; }
.ip-sig-head { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.ip-sig-head .ip-sig { font-size: 14px; padding: 5px 12px; margin: 0; }
.ip-sig-head p { margin: 2px 0 0; flex: 1; min-width: 220px; }
.ip-sig-gauge { background: var(--ip-surface-2); border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.ip-sig-gauge > span { font-size: 12.5px; font-weight: 700; color: var(--ip-muted); }
.ip-sig-gauge b { display: block; font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ip-sig-gauge b small { font-size: 14px; color: var(--ip-muted); font-weight: 600; }
.ip-sig-gauge i { display: block; height: 6px; border-radius: 4px; background: var(--ip-border); overflow: hidden; margin: 4px 0 6px; }
.ip-sig-gauge i em { display: block; height: 100%; background: var(--ip-brand); }
.ip-sig-gauge > small { color: var(--ip-muted); font-size: 12px; }
.ip-sig-f { list-style: none; margin: 0; padding: 0; }
.ip-sig-f li { display: grid; grid-template-columns: 1fr auto 52px; gap: 8px; align-items: baseline; padding: 7px 0 7px 14px; border-bottom: 1px dashed var(--ip-border); font-size: 13.5px; position: relative; }
.ip-sig-f li::before { content: ""; position: absolute; left: 0; top: 13px; width: 7px; height: 7px; border-radius: 50%; background: var(--ip-flat); }
.ip-sig-f li.good::before { background: var(--ip-up); } .ip-sig-f li.bad::before { background: var(--ip-down); } .ip-sig-f li.ok::before { background: var(--ip-warn); }
.ip-sig-f b { font-family: var(--ip-mono); font-size: 12.5px; text-align: right; }
.ip-sig-f em { font-style: normal; color: var(--ip-muted); font-size: 12px; text-align: right; }

/* Company financials (restated) */
.ip-fin-sum { margin: 0 0 14px; line-height: 1.6; }
.ip-fin { display: inline-block; max-width: 100%; border: 1px solid var(--ip-border); border-radius: 12px; padding: 6px 14px 4px; }
.ip-fin .ip-tablewrap { border: 0; margin: 0; }
.ip-fin-t { width: auto; min-width: 420px; }
.ip-fin-t th, .ip-fin-t td { padding: 11px 14px; white-space: nowrap; }
.ip-fin-t thead th { font-family: inherit; font-size: 14px; text-transform: none; letter-spacing: 0; font-weight: 700; color: var(--ip-fg); background: transparent; border-bottom: 1px solid var(--ip-border); }
.ip-fin-t tbody tr:nth-child(odd) td { background: var(--ip-surface-2); }
.ip-fin-t tbody td:first-child { color: var(--ip-info); font-weight: 600; }
.ip-fin-t td.num { font-family: inherit; font-variant-numeric: tabular-nums; }
.ip-fin-unit { text-align: right; font-size: 13px; color: var(--ip-muted); margin: 8px 0 6px; }
.ip-fin-chart { margin-top: 12px; } .ip-fin-chart summary { cursor: pointer; font-weight: 600; color: var(--ip-muted); font-size: 14px; }
@media (max-width: 640px) { .ip-fin { display: block; padding: 4px 6px; } .ip-fin-t { min-width: 0; } .ip-fin-t th, .ip-fin-t td { padding: 9px 8px; } }

/* Admin → status dropdown in the IPO list */
.ad-stsel { height: 34px; min-width: 150px; font-size: 13px; font-weight: 700; padding: 0 8px; }
.ad-stsel.set { border-color: var(--ip-accent); }

/* Admin → SEO */
.ad-serp { border: 1px solid var(--ip-border); border-radius: 12px; padding: 12px 14px; margin: 6px 0; background: var(--ip-surface); max-width: 640px; font-family: Arial, sans-serif; overflow-wrap: anywhere; }
.ad-serp-url { font-size: 12px; color: var(--ip-muted); }
.ad-serp-t { font-size: 18px; line-height: 1.3; color: #1a0dab; margin: 3px 0; }
.ad-serp-d { font-size: 13px; line-height: 1.5; color: var(--ip-muted); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ad-serp-t { color: #8ab4f8; } }
:root[data-theme="dark"] .ad-serp-t { color: #8ab4f8; }
.ad-seo-iss { margin: 0; padding-left: 18px; font-size: 13px; color: var(--ip-muted); }
.ad-seo-steps { margin: 0 0 12px; padding-left: 20px; line-height: 1.7; font-size: 14px; }
.ad-seo-steps code { overflow-wrap: anywhere; }

/* Admin → WhatsApp channel post */
.ad-wa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 14px; }
@media (max-width: 860px) { .ad-wa { grid-template-columns: minmax(0, 1fr); } }
.ad-wa-chat { background: #efeae2; border-radius: 12px; padding: 14px; margin-top: 6px; max-height: 520px; overflow: auto; }
.ad-wa-bubble { background: #fff; color: #111b21; border-radius: 0 10px 10px 10px; padding: 10px 12px; font: 14.2px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; box-shadow: 0 1px .5px rgba(0,0,0,.13); overflow-wrap: anywhere; }
.ad-wa-bubble u { color: #027eb5; text-decoration: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ad-wa-chat { background: #0b141a; } :root:not([data-theme="light"]) .ad-wa-bubble { background: #202c33; color: #e9edef; } :root:not([data-theme="light"]) .ad-wa-bubble u { color: #53bdeb; } }
:root[data-theme="dark"] .ad-wa-chat { background: #0b141a; } :root[data-theme="dark"] .ad-wa-bubble { background: #202c33; color: #e9edef; } :root[data-theme="dark"] .ad-wa-bubble u { color: #53bdeb; }

/* Home: compact agenda cards (Next 10 days / Allotment desk) */
.ip-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 860px) { .ip-duo { grid-template-columns: minmax(0, 1fr); } }
.ip-agenda-c li { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; padding: 10px 14px; }
.ip-agenda-c li:last-child { border-bottom: 0; }
.ip-agenda-c .when { font-size: 12.5px; color: var(--ip-muted); }
.ip-agenda-c .when.today { color: var(--ip-up); }
.ip-agenda-c .ag-name { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--ip-fg); text-decoration: none; }
.ip-agenda-c .ag-name .ip-avatar { width: 32px; height: 32px; border-radius: 9px; font-size: 13px; }
.ip-agenda-c .ag-name > span:last-child { min-width: 0; display: block; }
.ip-agenda-c .ag-name b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-agenda-c .ag-name small { display: block; font-size: 12px; color: var(--ip-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-agenda-c .ag-name:hover b { color: var(--ip-accent-2, var(--ip-info)); }
.ip-agenda-c .ip-ev { font-size: 12px; padding: 3px 8px; }
@media (max-width: 420px) { .ip-agenda-c li { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 8px; padding: 10px 12px; } }

/* Icons */
.ip-ic { flex: none; width: 16px; height: 16px; vertical-align: -3px; }
.ip-has-ic { display: inline-flex; align-items: center; gap: 8px; }
.ip-has-ic .ip-ic { width: 17px; height: 17px; }
.ip-footer .ip-has-ic, footer .ip-has-ic { overflow-wrap: anywhere; }
.ip-share a, .ip-share button { display: inline-flex; align-items: center; gap: 6px; }
.ip-sh-wa .ip-ic, .ip-soc-whatsapp .ip-ic, .ip-join-whatsapp .ip-ic, .ip-ic-whatsapp.wa { color: #25d366; }
.ip-sh-tg .ip-ic, .ip-soc-telegram .ip-ic, .ip-join-telegram .ip-ic { color: #2aabee; }
.ip-soc-youtube .ip-ic { color: #ff0033; }
.ip-social a { display: inline-flex; align-items: center; gap: 7px; }
.ip-btn.ip-join-whatsapp, .ip-cta .ip-btn.ip-join-whatsapp { background: #fff; border-color: #fff; color: #075e54; } .ip-btn.ip-join-whatsapp .ip-ic { color: #25d366; width: 19px; height: 19px; }
.ip-btn.ip-join-telegram, .ip-cta .ip-btn.ip-join-telegram { background: #fff; border-color: #fff; color: #1c6fa3; } .ip-btn.ip-join-telegram .ip-ic { color: #2aabee; width: 19px; height: 19px; }
.ad-wa-btn { display: inline-flex; align-items: center; gap: 8px; } .ad-wa-btn .ip-ic { width: 18px; height: 18px; }
.ip-btn-primary.ad-wa-btn { background: #25d366; border-color: #25d366; color: #fff; }
.ad-menu .ad-wa-btn { display: flex; justify-content: flex-start; gap: 6px; } .ad-menu .ad-wa-btn .ip-ic { width: 16px; height: 16px; color: #25d366; }

/* ================= IPO Ji-style additions: Today strip, chips, brokers, buyback, glossary, key facts, mobile app look ================= */
/* Today strip */
.ip-today { display: flex; gap: 10px; align-items: stretch; overflow-x: auto; scrollbar-width: none; margin: 18px 0 4px; padding: 2px; }
.ip-today::-webkit-scrollbar { display: none; }
.ip-today:empty { display: none; }
.ip-today-h { flex: none; align-self: center; font-weight: 800; font-size: 14px; padding-right: 4px; white-space: nowrap; }
.ip-today-i { flex: 1 0 auto; min-width: 118px; display: flex; align-items: center; gap: 10px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 12px; padding: 10px 14px; color: var(--ip-fg) !important; box-shadow: var(--ip-shadow); }
.ip-today-i:hover { text-decoration: none; border-color: var(--ip-brand); }
.ip-today-i b { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.ip-today-i span { font-size: 12.5px; font-weight: 700; color: var(--ip-muted); line-height: 1.25; }
.ip-today-i.open b { color: var(--ip-up); } .ip-today-i.close b { color: var(--ip-down); } .ip-today-i.allot b { color: var(--ip-warn); } .ip-today-i.list b { color: var(--ip-info); }
.ip-today-i.zero b { color: var(--ip-flat); }
/* Filter chips */
.ip-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 0 14px; padding: 1px; }
.ip-chips::-webkit-scrollbar { display: none; }
.ip-chips button { flex: none; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-muted); font: 700 13px var(--ip-font); padding: 7px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.ip-chips button[aria-pressed="true"] { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
/* Brokers */
.ip-brokers { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.ip-broker { display: grid; gap: 3px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: var(--ip-radius); padding: 14px 16px; color: var(--ip-fg) !important; box-shadow: var(--ip-shadow); }
.ip-broker:hover { text-decoration: none; border-color: var(--ip-brand); }
.ip-broker b { font-size: 16px; } .ip-broker span { font-size: 13px; color: var(--ip-muted); } .ip-broker em { font-style: normal; font-weight: 700; color: var(--ip-brand); font-size: 13px; margin-top: 4px; }
/* Glossary */
.ip-gloss { display: grid; gap: 16px; margin-top: 16px; }
.ip-gloss h2 { margin: 0 0 6px; font-size: 18px; }
.ip-gloss dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.ip-gterm { padding: 10px 0; border-bottom: 1px dashed var(--ip-border); scroll-margin-top: 90px; }
.ip-gterm dt { font-weight: 800; } .ip-gterm dd { margin: 3px 0 0; color: var(--ip-muted); font-size: 14.5px; }
.ip-gterm.hl { background: color-mix(in srgb, var(--ip-brand) 10%, transparent); border-radius: 8px; padding-left: 8px; }
@media (max-width: 760px) { .ip-gloss dl { grid-template-columns: 1fr; } }
/* IPO page: key facts card */
.ip-kfacts { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 18px; padding: 16px 18px; margin-bottom: 12px; align-items: start; }
.ip-kf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 16px; margin: 0; }
.ip-kf div { min-width: 0; } .ip-kf dt { font-size: 12px; font-weight: 700; color: var(--ip-muted); } .ip-kf dd { margin: 2px 0 0; font-weight: 800; font-size: 14.5px; }
.ip-kf dd small { font-weight: 600; color: var(--ip-muted); font-size: 12px; }
.ip-kf-cta { display: grid; gap: 8px; } .ip-kf-cta .ip-btn { justify-content: center; text-align: center; }
.ip-kf-brokers { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .ip-kf-brokers:empty { display: none; }
@media (max-width: 960px) { .ip-kfacts { grid-template-columns: minmax(0, 1fr); } .ip-kf { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ip-kf-cta { grid-template-columns: 1fr 1fr; } .ip-kf-brokers { grid-column: 1 / -1; } }
/* IPO page: no sideways scroll from the tab bar */
.ip-dhead > * { min-width: 0; max-width: 100%; }
.ip-tabs-nav { max-width: 100%; min-width: 0; }
#iv { min-width: 0; }
/* Mobile action bar on IPO pages (replaces the bottom menu) */
.ip-actbar { display: none; }
@media (max-width: 760px) {
  body.has-actbar .ip-mbar { display: none; }
  .ip-actbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 31; display: flex; background: var(--ip-surface); border-top: 1px solid var(--ip-border); padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); gap: 4px; box-shadow: 0 -6px 20px rgba(14,22,38,.08); }
  .ip-actbar a, .ip-actbar button { flex: 1; display: grid; justify-items: center; gap: 1px; padding: 5px 0; border: 0; background: none; font: 700 11px var(--ip-font); color: var(--ip-muted) !important; border-radius: 10px; cursor: pointer; text-decoration: none !important; }
  .ip-actbar span { font-size: 17px; line-height: 1.2; }
  .ip-actbar .go { background: var(--ip-brand); color: #fff !important; flex: 1.2; }
}
/* ---------- Mobile: app-like layout ---------- */
@media (max-width: 760px) {
  body { font-size: 14.5px; padding-bottom: 72px; }
  h1 { font-size: 24px; line-height: 1.2; }
  .ip-hero { padding: 18px 16px 16px; border-radius: 16px; margin-top: 10px; }
  .ip-hero h1 { font-size: 21px; margin: 0 0 12px; }
  .ip-hero > p { display: none; }
  .ip-hero-stats { display: flex; overflow-x: auto; gap: 8px; margin-top: 14px; scrollbar-width: none; }
  .ip-hero-stats::-webkit-scrollbar { display: none; }
  .ip-hero-stats a { flex: none; min-width: 120px; padding: 9px 12px; }
  .ip-hero-stats b { font-size: 19px; }
  .ip-hero-stats a:last-child { grid-column: auto; }
  .ip-section { margin-top: 22px; }
  .ip-sec-title h2 { font-size: 19px; }
  .ip-ipo-card { padding: 14px; }
  .ip-ipo-card .ip-kv { gap: 6px; }
  .ip-ipo-card .ip-kv div { padding: 7px 8px; }
  .ip-ipo-card .ip-kv b { font-size: 14px; }
  .ip-card-foot { font-size: 12px; }
  .ip-grid.ip-g3 { gap: 12px; }
  .ip-tabs-nav { top: 56px; margin: 0 -16px; padding: 8px 16px; }
  .ip-dhead { padding-bottom: 10px; }
  .ip-dhead .ip-avatar { width: 48px; height: 48px; font-size: 18px; }
  .ip-kfacts { padding: 14px; }
  .ip-today { margin-top: 14px; }
  .ip-today-i { min-width: 104px; padding: 9px 12px; }
  .ip-today-h { display: none; }
}
/* Ticker must never widen the page */
.ip-ticker-track { min-width: 0; }
html, body { overflow-x: clip; }
/* "App" button (install as mobile app) + install sheet */
.ip-app-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 11px; border: 1px solid color-mix(in srgb, var(--ip-brand) 55%, var(--ip-border)); background: color-mix(in srgb, var(--ip-brand) 12%, var(--ip-surface)); color: var(--ip-brand-2, var(--ip-brand)); font: 800 13.5px var(--ip-font); cursor: pointer; white-space: nowrap; }
.ip-app-btn:hover { background: var(--ip-brand); color: #fff; }
.ip-app-btn[hidden] { display: none; }
@media (max-width: 420px) { .ip-app-btn { padding: 0 10px; } }
.ip-app-sheet { position: fixed; inset: 0; z-index: 100; background: rgba(5,10,20,.55); display: grid; place-items: center; padding: 16px; }
.ip-app-box { position: relative; width: min(440px, 100%); background: var(--ip-surface); color: var(--ip-fg); border-radius: 20px; padding: 22px 20px 20px; box-shadow: 0 20px 60px rgba(0,0,0,.35); max-height: 90vh; overflow: auto; }
.ip-app-x { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--ip-surface-2); color: var(--ip-muted); font-size: 15px; cursor: pointer; }
.ip-app-hd { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; padding-right: 30px; }
.ip-app-hd img { border-radius: 14px; flex: none; }
.ip-app-hd b { display: block; font-size: 19px; } .ip-app-hd span { color: var(--ip-muted); font-size: 13.5px; }
.ip-app-ft { list-style: none; padding: 0; margin: 0 0 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ip-app-ft li { background: var(--ip-surface-2); border-radius: 10px; padding: 8px 10px; font-size: 13px; font-weight: 600; }
.ip-app-box h4 { margin: 4px 0 6px; font-size: 15px; }
.ip-app-box ol { margin: 0 0 14px; padding-left: 20px; } .ip-app-box ol li { margin: 6px 0; font-size: 14.5px; }
.ip-app-k { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 6px; background: var(--ip-surface-2); border: 1px solid var(--ip-border); font-size: 13px; }
@media (max-width: 760px) { .ip-app-sheet { place-items: end center; padding: 0; } .ip-app-box { border-radius: 20px 20px 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); } }
/* When opened as the installed app: no ticker clutter, safe areas */
.ip-standalone .ip-header { padding-top: env(safe-area-inset-top); }
/* Mobile: keep every block inside the screen */
@media (max-width: 1020px) { .ip-two { grid-template-columns: minmax(0, 1fr); } .ip-two > * { min-width: 0; } }
.ip-side, .ip-card { min-width: 0; }
@media (min-width: 761px) and (max-width: 1360px) { .ip-app-btn span { display: none; } .ip-app-btn { padding: 0 10px; } }
/* Login button + profile */
.ip-login { overflow: hidden; padding: 0; }
.ip-login img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.ip-login b { font-weight: 800; color: #fff; }
.ip-login.in { background: var(--ip-brand) !important; border-color: var(--ip-brand) !important; }
@media (max-width: 420px) { .ip-hide-sm { display: none !important; } }
.ip-pf-hd { display: flex; gap: 14px; align-items: center; margin-bottom: 16px; }
.ip-pf-hd img, .ip-pf-hd .ip-avatar { width: 64px; height: 64px; border-radius: 50%; flex: none; object-fit: cover; font-size: 24px; }
.ip-pf-hd b { display: block; font-size: 19px; } .ip-pf-hd span { display: block; color: var(--ip-muted); }
.ip-pf-form { display: grid; gap: 12px; max-width: 460px; }
@media (min-width: 1021px) and (max-width: 1420px) { .ip-nav a { padding: 7px 7px; font-size: 13.5px; } .ip-hbtns .ip-hide-sm { display: none !important; } }

/* ================= Buybacks (menu, tabs, cards, detail) ================= */
/* Nav dropdown: Open / Upcoming / Closed buybacks */
.ip-dd { position: relative; display: flex; }
.ip-dd > a { display: inline-flex; align-items: center; gap: 4px; }
.ip-dd-car { opacity: .6; transition: transform .15s; }
.ip-dd-menu { display: none; position: absolute; top: calc(100% + 6px); left: -8px; z-index: 40; min-width: 280px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 16px; padding: 8px; box-shadow: 0 16px 40px rgba(14,22,38,.16); }
.ip-dd-menu::before { content: ""; position: absolute; top: -8px; left: 0; right: 0; height: 8px; }
.ip-dd:hover .ip-dd-menu, .ip-dd:focus-within .ip-dd-menu { display: grid; gap: 4px; }
.ip-dd:hover .ip-dd-car { transform: rotate(180deg); }
.ip-nav .ip-dd-i { display: flex !important; align-items: center; gap: 14px; padding: 10px 12px !important; border-radius: 12px; box-shadow: none !important; }
.ip-nav .ip-dd-i:hover { background: var(--ip-surface-2) !important; }
.ip-dd-ic { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--ip-surface-2); color: var(--ip-fg); }
.ip-dd-i.open .ip-dd-ic { background: #6055cd; color: #fff; }
.ip-dd-i b { display: block; font-size: 15px; color: var(--ip-fg); font-weight: 600; } .ip-dd-i small { display: block; font-size: 13px; color: var(--ip-muted); font-weight: 500; }
@media (min-width: 1021px) { .ip-nav { overflow: visible; } }
@media (max-width: 1020px) { .ip-dd { flex-direction: column; } .ip-dd-menu { display: grid; position: static; box-shadow: none; border: 0; padding: 0 0 6px 8px; min-width: 0; background: none; } .ip-dd-car { display: none; } .ip-dd-ic { width: 34px; height: 34px; } }
/* Tabs (Current / Upcoming / Closed) */
.ip-bbtabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 14px; padding: 8px; margin: 14px 0 6px; }
.ip-bbtabs button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; background: none; border-radius: 10px; padding: 10px 8px; font: 600 16px var(--ip-font); color: #5b50c8; cursor: pointer; }
.ip-bbtabs button[aria-selected="true"] { background: color-mix(in srgb, #6055cd 9%, var(--ip-surface)); border-color: #6055cd; }
.ip-bbtabs button i { font-style: normal; font-size: 11.5px; font-weight: 800; background: #6055cd; color: #fff; border-radius: 999px; padding: 1px 7px; }
.ip-bbtabs button i:empty { display: none; }
.ip-bbhead { position: relative; margin: 16px 0 14px; padding-left: 80px; }
.ip-bbhead::before { content: ""; position: absolute; left: 0; right: 0; top: 24px; height: 1px; background: linear-gradient(90deg, var(--ip-fg) 0, var(--ip-border) 6%, var(--ip-border)); opacity: .5; }
.ip-bbhead h1 { display: inline-block; position: relative; background: var(--ip-bg); padding: 0 18px; margin: 0 0 0 -18px; font-size: 34px; }
.ip-bbhead p { margin: 4px 0 0; color: var(--ip-muted); }
/* Cards */
.ip-bbgrid { gap: 16px; }
.ip-bbcard { padding: 18px 20px; display: grid; gap: 14px; }
.ip-bb-top { display: flex; gap: 14px; align-items: flex-start; }
.ip-bb-top .ip-avatar { width: 56px; height: 56px; border-radius: 12px; box-shadow: 0 1px 4px rgba(14,22,38,.12); }
.ip-bb-t { flex: 1; min-width: 0; } .ip-bb-name { display: block; font-weight: 800; font-size: 18px; line-height: 1.3; color: var(--ip-fg) !important; }
.ip-bb-m { flex: none; display: inline-block; font-size: 12.5px; font-weight: 700; color: #5b50c8; background: color-mix(in srgb, #6055cd 10%, var(--ip-surface)); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.ip-bb-kv { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--ip-border); }
.ip-bb-kv span, .ip-bb-foot span { display: block; font-size: 13px; color: var(--ip-muted); } .ip-bb-kv b { font-weight: 600; font-size: 15px; }
.ip-bb-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; } .ip-bb-foot b { font-weight: 500; font-size: 14.5px; }
.ip-bb-foot .ip-btn { flex: none; min-width: 96px; justify-content: center; color: #5b50c8 !important; background: color-mix(in srgb, #6055cd 9%, var(--ip-surface)); border-color: transparent; font-weight: 700; }
@media (max-width: 640px) { .ip-bb-kv { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ip-bbhead { padding-left: 0; } .ip-bbhead::before { display: none; } .ip-bbhead h1 { font-size: 26px; padding: 0; margin: 0; } .ip-bbtabs button { font-size: 14px; gap: 5px; } .ip-bbtabs svg { width: 17px; height: 17px; } }
/* Detail page */
.ip-bb-dates { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ip-bb-dates div { background: var(--ip-surface-2); border-radius: 12px; padding: 12px 14px; }
.ip-bb-dates div.hl { background: color-mix(in srgb, #6055cd 12%, var(--ip-surface)); }
.ip-bb-dates b { display: block; font-size: 17px; font-weight: 800; } .ip-bb-dates span { font-size: 12.5px; color: var(--ip-muted); font-weight: 600; }
@media (max-width: 760px) { .ip-bb-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ip-bb-steps { margin: 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 12px; }
.ip-bb-steps li { counter-increment: s; position: relative; padding-left: 46px; }
.ip-bb-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: #6055cd; color: #fff; display: grid; place-items: center; font-weight: 800; }
.ip-bb-steps b { display: block; } .ip-bb-steps span { color: var(--ip-muted); font-size: 14.5px; }
.ip-bb-calc { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); gap: 12px; }
@media (max-width: 640px) { .ip-bb-calc { grid-template-columns: 1fr; } }
.ip-bb-mini { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--ip-border); color: var(--ip-fg) !important; }
.ip-bb-mini b { display: block; font-size: 14px; } .ip-bb-mini small { color: var(--ip-muted); font-size: 12px; }
.ad-bbst { display: block; margin-top: 3px; font-size: 11.5px; color: var(--ip-muted); }
/* IPO page: contact cards */
.ip-ct { padding: 0; overflow: hidden; }
.ip-ct h3 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 16px 20px; border-bottom: 1px solid var(--ip-border); font-size: 18px; }
.ip-ct-ic { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: #6055cd; color: #fff; }
.ip-ct-ic svg { width: 16px; height: 16px; }
.ip-ct-b { padding: 16px 20px 20px; }
.ip-ct-b > b { display: block; margin-bottom: 10px; }
.ip-ct-b ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ip-ct-b li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; overflow-wrap: anywhere; }
.ip-ct-b li svg { flex: none; margin-top: 3px; color: var(--ip-muted); }
.ip-ct-b a { color: #5b50c8; }

/* ================= IPO mega menu ================= */
.ip-mega { display: none; }
@media (min-width: 1021px) {
  .ip-dd-mega { position: static; }
  .ip-mega { position: absolute; left: 50%; transform: translateX(-50%); top: 100%; z-index: 40; width: min(1240px, calc(100vw - 32px)); background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 18px; padding: 14px; box-shadow: 0 18px 50px rgba(14,22,38,.18); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .ip-mega::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
  .ip-dd-mega:hover .ip-mega, .ip-dd-mega:focus-within .ip-mega { display: grid; }
  .ip-dd-mega:hover .ip-dd-car { transform: rotate(180deg); }
  .ip-header .wrap { position: relative; }
}
.ip-mega-col { display: grid; gap: 2px; align-content: start; }
.ip-mega-h { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; background: color-mix(in srgb, #6055cd 10%, var(--ip-surface)); border: 1px solid color-mix(in srgb, #6055cd 22%, var(--ip-border)); font-weight: 800; font-size: 15px; color: var(--ip-fg); margin-bottom: 6px; }
.ip-mega-h svg { color: #6055cd; }
.ip-mega .ip-dd-i.open .ip-dd-ic { background: var(--ip-surface-2); color: var(--ip-fg); }
@media (max-width: 1020px) {
  .ip-dd-mega { flex-direction: column; }
  .ip-mega { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; padding: 4px 0 8px; }
  .ip-mega-h { padding: 6px 10px; font-size: 13px; margin: 6px 0 2px; }
  .ip-mega .ip-dd-i small { display: none; }
  .ip-mega .ip-dd-ic { width: 30px; height: 30px; border-radius: 8px; }
  .ip-mega .ip-dd-ic svg { width: 16px; height: 16px; }
  .ip-mega .ip-dd-i b { font-size: 14px; }
}
@media (max-width: 420px) { .ip-mega { grid-template-columns: 1fr; } }

/* ================= IPO list page (cards like IPO Ji) ================= */
.ip-iplhead { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 18px 0 8px; }
.ip-iplhead h1 { margin: 0; font-size: 30px; } .ip-iplhead h1 em { font-style: normal; color: #6055cd; }
.ip-pillseg { display: inline-flex; gap: 4px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 999px; padding: 5px; }
.ip-pillseg button { border: 0; background: none; border-radius: 999px; padding: 8px 18px; font: 700 14px var(--ip-font); color: var(--ip-muted); cursor: pointer; }
.ip-pillseg button[aria-pressed="true"] { background: #6055cd; color: #fff; }
.ip-iplgrid { gap: 16px; }
.ip-iplcard { padding: 18px 20px 14px; display: grid; gap: 14px; }
.ip-ipl-top { display: flex; gap: 14px; align-items: flex-start; }
.ip-ipl-top .ip-avatar { width: 52px; height: 52px; border-radius: 12px; box-shadow: 0 1px 4px rgba(14,22,38,.12); }
.ip-ipl-t { flex: 1; min-width: 0; } .ip-ipl-name { display: block; font-weight: 800; font-size: 18px; line-height: 1.3; color: var(--ip-fg) !important; }
.ip-ipl-badges { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 55%; }
.ip-ipl-type { font-size: 12px; font-weight: 700; color: #5b50c8; background: color-mix(in srgb, #6055cd 10%, var(--ip-surface)); padding: 4px 9px; border-radius: 999px; }
.ip-ipl-st { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.ip-ipl-st i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ip-ipl-st.ok { color: #0a8a4a; background: color-mix(in srgb, #0a9b57 13%, var(--ip-surface)); }
.ip-ipl-st.warn { color: #b25b00; background: color-mix(in srgb, #f59e0b 18%, var(--ip-surface)); }
.ip-ipl-st.info { color: #2563eb; background: color-mix(in srgb, #2563eb 12%, var(--ip-surface)); }
.ip-ipl-st.muted { color: var(--ip-muted); background: var(--ip-surface-2); }
.ip-ipl-kv { display: grid; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--ip-border); }
.ip-ipl-kv span, .ip-ipl-prem span { display: block; font-size: 12.5px; color: var(--ip-muted); } .ip-ipl-kv b { font-weight: 600; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.ip-ipl-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ip-ipl-prem b { font-size: 16px; } .ip-ipl-prem b small { font-size: 13px; font-weight: 600; }
.ip-ipl-btns { display: flex; gap: 10px; }
.ip-ipl-view { color: #5b50c8 !important; background: color-mix(in srgb, #6055cd 9%, var(--ip-surface)); border-color: transparent; font-weight: 700; min-width: 80px; justify-content: center; }
.ip-ipl-go { background: #6055cd !important; border-color: #6055cd !important; color: #fff !important; font-weight: 700; min-width: 110px; justify-content: center; }
.ip-ipl-go:hover { filter: brightness(1.08); }
.ip-ipl-sym { margin: 0 -20px -14px; padding: 8px 20px; background: var(--ip-surface-2); border-top: 1px solid var(--ip-border); font-size: 12.5px; font-weight: 700; color: var(--ip-muted); display: flex; gap: 6px; align-items: center; border-radius: 0 0 var(--ip-radius) var(--ip-radius); }
.ip-ipl-sym svg { color: #f59e0b; }
@media (max-width: 640px) { .ip-iplhead h1 { font-size: 23px; } .ip-ipl-kv { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .ip-ipl-foot { flex-wrap: wrap; } .ip-ipl-btns { width: 100%; } .ip-ipl-btns .ip-btn { flex: 1; } .ip-ipl-badges { max-width: 45%; } }
.ip-mega-col { min-width: 0; }
.ip-mega .ip-dd-i { min-width: 0; white-space: normal !important; }
.ip-mega .ip-dd-i > span:last-child { min-width: 0; }
.ip-mega .ip-dd-i small { white-space: normal; line-height: 1.35; }

/* ================= Strategy strip under IPO cards ================= */
.ip-strat { display: grid; gap: 8px; margin: 2px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--ip-surface-2); border: 1px solid var(--ip-border); color: var(--ip-fg) !important; text-decoration: none !important; }
.ip-strat:hover { border-color: #6055cd; }
.ip-strat-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ip-strat-t { font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ip-muted); }
.ip-lvl { display: inline-flex; gap: 3px; align-items: flex-end; }
.ip-lvl i { width: 7px; border-radius: 2px; background: var(--ip-border); }
.ip-lvl i:nth-child(1) { height: 7px; } .ip-lvl i:nth-child(2) { height: 10px; } .ip-lvl i:nth-child(3) { height: 13px; } .ip-lvl i:nth-child(4) { height: 16px; } .ip-lvl i:nth-child(5) { height: 19px; }
.ip-strat-h b { margin-left: auto; font-size: 14px; font-weight: 800; }
.ip-strat.l1 .ip-lvl i.on { background: #e0434b; } .ip-strat.l2 .ip-lvl i.on { background: #f59e0b; } .ip-strat.l3 .ip-lvl i.on { background: #eab308; } .ip-strat.l4 .ip-lvl i.on { background: #22c55e; } .ip-strat.l5 .ip-lvl i.on { background: #0a9b57; }
.ip-strat.l1 .ip-strat-h b { color: var(--ip-down); } .ip-strat.l4 .ip-strat-h b, .ip-strat.l5 .ip-strat-h b { color: var(--ip-up); } .ip-strat.l2 .ip-strat-h b { color: var(--ip-warn); }
.ip-strat-v { display: flex; gap: 8px; align-items: baseline; font-size: 13.5px; line-height: 1.45; }
.ip-strat-tag { flex: none; font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 999px; background: color-mix(in srgb, #6055cd 12%, var(--ip-surface)); color: #5b50c8; white-space: nowrap; }
.ip-strat.both .ip-strat-tag, .ip-strat.long .ip-strat-tag { background: color-mix(in srgb, #0a9b57 14%, var(--ip-surface)); color: #0a8a4a; }
.ip-strat.listing .ip-strat-tag { background: color-mix(in srgb, #f59e0b 18%, var(--ip-surface)); color: #b25b00; }
.ip-strat.caution .ip-strat-tag { background: color-mix(in srgb, #e0434b 14%, var(--ip-surface)); color: #c0262f; }
.ip-strat-why { display: flex; flex-wrap: wrap; gap: 6px; }
.ip-strat-why span { font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 7px; background: var(--ip-surface); border: 1px solid var(--ip-border); font-variant-numeric: tabular-nums; }
.ip-strat-why span.up { color: var(--ip-up); } .ip-strat-why span.down { color: var(--ip-down); }
.ip-strat.na p { margin: 0; font-size: 13px; color: var(--ip-muted); } .ip-strat.na .ip-strat-h b { color: var(--ip-muted); }
.ip-iplcard .ip-strat { margin-top: 0; }
@media (max-width: 640px) { .ip-strat-v { flex-direction: column; gap: 4px; } }
.ip-strat-big { padding: 16px 18px; } .ip-strat-big .ip-strat-h b { font-size: 17px; } .ip-strat-big .ip-lvl i { width: 9px; }
/* Join channel buttons: always readable (text was white-on-white when the button also had ip-btn-primary) */
.ip-btn.ip-join-whatsapp { background: #25d366 !important; border-color: #25d366 !important; color: #fff !important; font-weight: 800; }
.ip-btn.ip-join-whatsapp .ip-ic { color: #fff !important; }
.ip-btn.ip-join-whatsapp:hover { background: #1ebe5a !important; }
.ip-btn.ip-join-telegram { background: #2aabee !important; border-color: #2aabee !important; color: #fff !important; font-weight: 800; }
.ip-btn.ip-join-telegram .ip-ic { color: #fff !important; }
.ip-cta .ip-btn.ip-join-whatsapp, .ip-cta .ip-btn.ip-join-telegram { background: #fff !important; border-color: #fff !important; }
.ip-cta .ip-btn.ip-join-whatsapp { color: #075e54 !important; } .ip-cta .ip-btn.ip-join-whatsapp .ip-ic { color: #25d366 !important; }
.ip-cta .ip-btn.ip-join-telegram { color: #1c6fa3 !important; } .ip-cta .ip-btn.ip-join-telegram .ip-ic { color: #2aabee !important; }
[data-join] span { white-space: nowrap; }

/* ================= Home: IPO board (rail + type switch + quick links) ================= */
.ip-board-wrap { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 18px; align-items: start; }
.ip-rail { position: sticky; top: 76px; display: grid; gap: 8px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 18px; padding: 10px; box-shadow: var(--ip-shadow); }
.ip-rail-h { display: flex; align-items: center; gap: 7px; padding: 6px 8px 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ip-muted); }
.ip-rail button { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; border: 1px solid transparent; background: none; border-radius: 14px; padding: 10px; cursor: pointer; font: inherit; color: var(--ip-fg); transition: background .15s, border-color .15s; }
.ip-rail button:hover { background: var(--ip-surface-2); }
.ip-rail button[aria-selected="true"] { background: color-mix(in srgb, var(--ip-brand) 11%, var(--ip-surface)); border-color: color-mix(in srgb, var(--ip-brand) 45%, var(--ip-border)); }
.ip-rail button[aria-selected="true"]::before { content: ""; position: absolute; left: -11px; top: 14px; bottom: 14px; width: 4px; border-radius: 0 4px 4px 0; background: var(--ip-brand); }
.ip-rail-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-rail button[aria-selected="true"] .ip-rail-ic { background: var(--ip-brand); color: #fff; box-shadow: 0 6px 14px color-mix(in srgb, var(--ip-brand) 35%, transparent); }
.ip-rail-t { flex: 1; min-width: 0; } .ip-rail-t b { display: block; font-size: 15px; } .ip-rail-t small { display: block; font-size: 12px; color: var(--ip-muted); }
.ip-rail button i { font-style: normal; font-size: 12px; font-weight: 800; min-width: 24px; text-align: center; padding: 2px 6px; border-radius: 999px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-rail button[aria-selected="true"] i { background: var(--ip-brand); color: #fff; }
.ip-board-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ip-tseg { display: inline-flex; background: var(--ip-surface); border: 1px solid var(--ip-border); border-radius: 12px; padding: 4px; gap: 2px; }
.ip-tseg button { border: 0; background: none; padding: 8px 16px; border-radius: 9px; font: 700 14px var(--ip-font); color: var(--ip-muted); cursor: pointer; }
.ip-tseg button[aria-pressed="true"] { background: var(--ip-ink, #0e1626); color: #fff; }
:root[data-theme="dark"] .ip-tseg button[aria-pressed="true"] { background: #e7ecf5; color: #0e1626; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-tseg button[aria-pressed="true"] { background: #e7ecf5; color: #0e1626; } }
.ip-qlinks { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-qlinks a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg) !important; font-weight: 700; font-size: 13.5px; text-decoration: none !important; }
.ip-qlinks a svg { color: var(--ip-brand); }
.ip-qlinks a:hover { border-color: var(--ip-brand); background: color-mix(in srgb, var(--ip-brand) 8%, var(--ip-surface)); }
@media (max-width: 960px) {
  .ip-board-wrap { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ip-rail { position: static; display: flex; overflow-x: auto; padding: 6px; gap: 6px; border-radius: 14px; scrollbar-width: none; }
  .ip-rail::-webkit-scrollbar { display: none; }
  .ip-rail-h { display: none; }
  .ip-rail button { flex: 1 0 auto; width: auto; padding: 8px 10px; gap: 8px; }
  .ip-rail button[aria-selected="true"]::before { display: none; }
  .ip-rail-ic { width: 32px; height: 32px; border-radius: 10px; } .ip-rail-ic svg { width: 17px; height: 17px; }
  .ip-rail-t small { display: none; } .ip-rail-t b { font-size: 14px; white-space: nowrap; }
}
@media (max-width: 640px) { .ip-board-bar { flex-direction: column; align-items: stretch; } .ip-tseg { display: flex; } .ip-tseg button { flex: 1; } .ip-qlinks { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; } .ip-qlinks a { flex: none; } }
/* IPO cards in IPOPulse colours (not a copy of other sites) */
.ip-ipl-go { background: var(--ip-brand) !important; border-color: var(--ip-brand) !important; }
.ip-ipl-go:hover { background: var(--ip-brand-2, var(--ip-brand)) !important; filter: none; }
.ip-ipl-view { color: var(--ip-brand-2, var(--ip-brand)) !important; background: color-mix(in srgb, var(--ip-brand) 10%, var(--ip-surface)); }
.ip-ipl-type { color: var(--ip-muted); background: var(--ip-surface-2); border: 1px solid var(--ip-border); }
.ip-iplcard { border-top: 3px solid transparent; }
.ip-iplcard:hover { border-top-color: var(--ip-brand); }
.ip-iplhead h1 em { color: var(--ip-brand); }
.ip-pillseg button[aria-pressed="true"] { background: var(--ip-brand); }
/* Home: two balanced columns (no empty gap under the GMP table) */
.ip-hgrid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.ip-hcol { display: grid; gap: 20px; min-width: 0; }
.ip-hgrid .ip-card { min-width: 0; }
@media (max-width: 1020px) { .ip-hgrid { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 761px) and (max-width: 1020px) { .ip-hgrid > .ip-hcol:last-child { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
/* Watchlist needs login */
.ip-icon-btn[hidden] { display: none !important; }
.ip-guest .ip-star { opacity: .45; }
.ip-guest .ip-star:hover { opacity: .8; }

/* ---------- Subscription status (v2) ---------- */
.ip-subhead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-bottom:14px}
.ip-subhead h1{font-size:22px;margin:0;display:flex;align-items:center;gap:10px}
.ip-subhead p{margin:4px 0 0;color:var(--ip-muted);font-size:13px}
.ip-live-dot{font-size:11px;font-weight:800;letter-spacing:.06em;color:#fff;background:#e5484d;border-radius:999px;padding:3px 9px 3px 20px;position:relative}
.ip-live-dot::before{content:"";position:absolute;left:8px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#fff;animation:ipBlink 1.2s infinite}
@keyframes ipBlink{50%{opacity:.25}}
.ip-subhead-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ip-subtabs{display:flex;gap:4px;padding:4px;border:1px solid var(--ip-border);border-radius:999px;background:var(--ip-surface-2)}
.ip-subtabs button{border:0;background:transparent;color:var(--ip-fg);font:inherit;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:8px}
.ip-subtabs button i{font-style:normal;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--ip-brand) 14%,transparent);color:var(--ip-brand)}
.ip-subtabs button[aria-pressed="true"]{background:var(--ip-brand);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--ip-brand) 35%,transparent)}
.ip-subtabs button[aria-pressed="true"] i{background:rgba(255,255,255,.25);color:#fff}
.ip-yearnav{display:flex;align-items:center;gap:6px}
.ip-yearnav button{width:36px;height:40px;border-radius:10px;border:1px solid var(--ip-border);background:var(--ip-surface);color:var(--ip-brand);font-size:20px;cursor:pointer}
.ip-yearnav button:disabled{opacity:.35;cursor:default}
.ip-yearnav b{min-width:72px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--ip-brand);color:#fff;font-size:17px}
.ip-subcard{padding:0;overflow:hidden}
.ip-subtable thead th{white-space:nowrap;font-size:13px;background:color-mix(in srgb,var(--ip-brand) 12%,var(--ip-surface));color:var(--ip-fg)}
.ip-subtable thead th:first-child{background:var(--ip-surface);min-width:230px}
.ip-subtable tbody td{vertical-align:middle;padding-top:10px;padding-bottom:10px}
.ip-subtable tr.ip-sub-open td{background:color-mix(in srgb,var(--ip-brand) 5%,transparent)}
.ip-exb{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px;margin-right:4px;border:1px solid}
.ip-exb-nse{color:#d9730d;border-color:#f3c79c;background:#fff6ec}
.ip-exb-bse{color:#2b6cb0;border-color:#a9cdee;background:#eef6fd}
.ip-exb-sme{color:#7c3aed;border-color:#d4c2fb;background:#f5f0ff}
.ip-exb-live{color:#fff;border-color:#e5484d;background:#e5484d}
.ip-subtot{padding:3px 8px;border-radius:7px}
.ip-subtot.hi{background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d}
.ip-subtot.mid{background:color-mix(in srgb,#ca8a04 15%,transparent);color:#a16207}
.ip-subtot.lo{background:color-mix(in srgb,#dc2626 13%,transparent);color:#b91c1c}
.ip-subapps{color:var(--ip-brand);font-weight:700}
.ip-subsize{color:#16a34a;font-weight:700;white-space:nowrap}
.ip-subnote{padding:10px 16px;margin:0;border-top:1px solid var(--ip-border);font-size:12.5px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ip-exb-nse,:root:not([data-theme="light"]) .ip-exb-bse,:root:not([data-theme="light"]) .ip-exb-sme{background:transparent}}
:root[data-theme="dark"] .ip-exb-nse,:root[data-theme="dark"] .ip-exb-bse,:root[data-theme="dark"] .ip-exb-sme{background:transparent}
@media (max-width:700px){.ip-subhead{padding:14px}.ip-subhead h1{font-size:19px}.ip-subhead-r{width:100%;justify-content:space-between}.ip-subtabs button{padding:7px 10px;font-size:13px}.ip-subtable thead th:first-child,.ip-subtable td:first-child{position:sticky;left:0;z-index:1;background:var(--ip-surface);min-width:170px}}
.ip-subtable thead th{text-transform:none;letter-spacing:0;font-family:inherit;font-size:12.5px;padding:10px 9px}
.ip-subtable tbody td{padding:9px 9px;font-size:13.5px}
.ip-subtable thead th:first-child{min-width:200px}
.ip-subtable .ip-ipo-name{font-size:14px}
@media (max-width:700px){.ip-subhead-r{flex-wrap:nowrap;gap:6px}.ip-subtabs button{padding:6px 8px;gap:5px;font-size:12.5px}.ip-subtabs button i{padding:1px 6px}.ip-yearnav button{width:26px;height:34px;font-size:16px}.ip-yearnav b{min-width:52px;height:34px;font-size:15px}.ip-subtable thead th:first-child,.ip-subtable td:first-child{min-width:150px;max-width:160px}.ip-subtable td:first-child .ip-avatar{display:none}}
@media (max-width:700px){.ip-subhead-r{flex-wrap:wrap}.ip-subtabs{flex:1;justify-content:space-between}.ip-yearnav{margin-left:auto}}
/* Google button: stop the browser painting a white box behind Google's iframe in dark mode */
.ip-gwrap, .ip-gwrap iframe { color-scheme: light; background: transparent !important; }
.ip-gwrap { display: inline-block; border-radius: 999px; line-height: 0; }
/* ---------- Strategy: login to unlock ---------- */
.ip-guest .ip-strat-real, .ip-guest .ip-sig-more { display: none !important; }
body:not(.ip-guest) .ip-strat-lock { display: none !important; }
.ip-strat-lock { cursor: pointer; position: relative; }
.ip-strat-lock .ip-strat-h b { color: var(--ip-muted); }
.ip-strat-lock .ip-lvl i.on { opacity: .35; }
.ip-strat-lockb { display: flex; align-items: center; gap: 12px; justify-content: space-between; flex-wrap: wrap; margin-top: 8px; }
.ip-strat-lockb p { margin: 0; flex: 1 1 200px; font-size: 13px; color: var(--ip-muted); line-height: 1.45; }
.ip-strat-lockb p b { display: block; color: var(--ip-fg); font-size: 14px; margin-bottom: 2px; }
.ip-strat-lockb .ip-btn { white-space: nowrap; }
.ip-strat-lock:hover .ip-btn, .ip-strat-lock:focus-visible .ip-btn { filter: brightness(1.08); }
/* ---------- Admin sign-in popup ---------- */
.ad-shell[hidden], #ad-logout[hidden], .ad-login-pop[hidden] { display: none !important; }
.ad-login-pop { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 16px; background: color-mix(in srgb, var(--ip-bg) 70%, rgba(0,0,0,.55)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ad-login-box { width: min(420px, 100%); box-shadow: 0 24px 60px rgba(0,0,0,.35); animation: adPop .18s ease-out; }
.ad-login-hd { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ad-login-hd img { border-radius: 12px; }
.ad-login-hd h2 { margin: 0; font-size: 20px; }
.ad-login-back { display: block; text-align: center; margin-top: 12px; font-size: 13px; }
@keyframes adPop { from { transform: translateY(8px) scale(.98); opacity: 0; } }
/* Listed card: listing price strip */
.ip-ipl-lp { margin: 0 -20px -14px; padding: 10px 20px; overflow: hidden; border-top: 1px solid var(--ip-border); font-size: 13.5px; display: flex; gap: 8px; align-items: center; background: color-mix(in srgb, #f0a92b 9%, var(--ip-surface)); border-radius: 0 0 var(--ip-radius, 14px) var(--ip-radius, 14px); }
.ip-ipl-lp.up b { color: var(--ip-up, #16a34a); }
.ip-ipl-lp.down b { color: var(--ip-down, #dc2626); }
.ip-ipl-lp.wait { color: var(--ip-muted); }
/* Exchange badges everywhere (cards, tables, IPO page) */
.ip-ipo-meta .ip-exb, .ip-exrow .ip-exb { margin: 0 4px 0 0; vertical-align: middle; }
.ip-ipo-meta .ip-badge + .ip-exb { margin-left: 4px; }
.ip-exrow { display: flex; gap: 0; margin-top: 5px; }
/* ---------- Company financials card (v2) ---------- */
.ip-fincard { padding: 0; overflow: hidden; }
.ip-fin-hd { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--ip-border); }
.ip-fin-hd h2 { margin: 0; font-size: 19px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ip-fin-hd h2 svg { color: var(--ip-brand); flex: none; }
.ip-fin-hd h2 small { font-size: 14px; color: var(--ip-muted); font-weight: 700; }
.ip-fin-tog { display: flex; gap: 8px; flex: none; }
.ip-fin-tog button { width: 42px; height: 40px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-muted); cursor: pointer; }
.ip-fin-tog button[aria-pressed="true"] { border-color: var(--ip-brand); color: var(--ip-brand); background: color-mix(in srgb, var(--ip-brand) 10%, var(--ip-surface)); }
.ip-fin-body { padding: 18px 22px 20px; }
.ip-fincard .ip-fin-t thead th { background: var(--ip-surface-2); font-size: 13px; padding: 12px 10px; white-space: nowrap; }
.ip-fincard .ip-fin-t td { padding: 12px 10px; font-size: 14.5px; }
.ip-fincard .ip-fin-t td:first-child { font-weight: 700; white-space: nowrap; }
.ip-fincard .ip-fin-t td.num { font-variant-numeric: tabular-nums; }
.ip-fin-foot { margin: 0; padding: 12px 22px; border-top: 1px solid var(--ip-border); color: var(--ip-muted); font-size: 13.5px; background: var(--ip-surface-2); }
@media (max-width: 600px) { .ip-fin-hd, .ip-fin-body { padding-left: 14px; padding-right: 14px; } .ip-fin-hd h2 { font-size: 17px; } .ip-fincard .ip-fin-t td:first-child, .ip-fincard .ip-fin-t th:first-child { position: sticky; left: 0; background: var(--ip-surface); z-index: 1; } .ip-fincard .ip-fin-t thead th:first-child { background: var(--ip-surface-2); } }
/* Admin financials grid */
.ad-fin-bar { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.ad-fin-bar .ip-sub { font-size: 12.5px; }
.ad-fin-paste { margin-bottom: 10px; }
.ad-fin-t th, .ad-fin-t td { padding: 4px !important; }
.ad-fin-t tbody th { text-align: left; font-size: 13px; white-space: nowrap; padding-right: 10px !important; }
.ad-fin-in { width: 100%; min-width: 96px; text-align: right; padding: 6px 8px; height: 34px; }
.ad-fin-ph { display: flex; gap: 4px; align-items: center; }
.ad-fin-ph .ip-input { min-width: 96px; height: 34px; padding: 6px 8px; }
.ad-fin-other .ad-fin-ph .ip-input { min-width: 160px; text-align: left; }
.ad-fin-x { border: 0; background: transparent; color: var(--ip-muted); cursor: pointer; font-size: 13px; padding: 4px; border-radius: 6px; }
.ad-fin-x:hover { color: var(--ip-down, #dc2626); background: color-mix(in srgb, #dc2626 10%, transparent); }
.ip-fincard [data-finview][hidden] { display: none !important; }
.ip-fincard .ip-fin { border: 0; padding: 0; background: none; box-shadow: none; max-width: none; width: 100%; }
.ip-fincard .ip-fin .ip-tablewrap { border: 0; }
.ip-fincard .ip-fin-t { width: 100%; }
.ip-fincard .ip-fin-t tbody td:first-child { color: var(--ip-fg); background: none; }
.ip-fincard .ip-fin-t tbody tr:nth-child(odd) td { background: none; }
.ip-fincard .ip-fin-t tbody tr td { border-bottom: 1px solid var(--ip-border); }
/* Admin: allotment out / awaited switch */
.ad-allot { display: block; margin-top: 6px; width: 100%; border: 1px solid #f0a92b; background: color-mix(in srgb, #f0a92b 12%, transparent); color: #b7791f; border-radius: 8px; padding: 5px 8px; font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; text-align: left; }
.ad-allot.on { border-color: var(--ip-up, #16a34a); background: color-mix(in srgb, #16a34a 12%, transparent); color: var(--ip-up, #16a34a); }
.ad-allot-l { display: block; margin-top: 6px; font-size: 12px; color: var(--ip-muted); }
/* ---------- Mobile: IPO cards, header & bottom bar (fits small phones and large font settings) ---------- */
.ip-iplcard, .ip-iplcard > *, .ip-ipl-t, .ip-ipl-kv > div { min-width: 0; }
.ip-ipl-name { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ip-iplcard { padding: 14px 14px 14px; gap: 12px; }
  .ip-ipl-top { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 10px 12px; align-items: start; }
  .ip-ipl-top .ip-avatar { width: 46px; height: 46px; border-radius: 11px; }
  .ip-ipl-name { font-size: 16.5px; line-height: 1.25; }
  .ip-ipl-t .ip-ipl-dates { display: block; font-size: 12.5px; margin-top: 3px; }
  .ip-ipl-badges { grid-column: 1 / -1; max-width: none !important; justify-content: flex-start !important; gap: 6px; }
  .ip-ipl-type, .ip-ipl-st { font-size: 11.5px; padding: 4px 9px; }
  .ip-exrow { margin-top: 6px; }
  .ip-ipl-kv { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px 12px; padding-bottom: 12px; }
  .ip-ipl-kv span, .ip-ipl-prem span { font-size: 12px; }
  .ip-ipl-kv b { font-size: 14.5px; }
  .ip-ipl-foot { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ip-ipl-btns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
  .ip-ipl-btns .ip-btn { min-width: 0 !important; width: 100%; height: 42px; padding: 0 8px; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; justify-content: center; }
  .ip-ipl-sym, .ip-ipl-lp { margin: 0 -14px -14px; padding: 9px 14px; }
  .ip-iplcard .ip-strat { padding: 12px; }
  .ip-iplcard .ip-strat-h { flex-wrap: wrap; row-gap: 4px; }
  .ip-iplcard .ip-strat-h b { font-size: 14px; }
  .ip-strat-lockb { flex-direction: column; align-items: stretch; }
  .ip-strat-lockb .ip-btn { width: 100%; justify-content: center; }
  /* header: keep every button on screen */
  .ip-header .wrap { gap: 8px; }
  .ip-logo { font-size: 18px; gap: 7px; min-width: 0; flex-shrink: 1; }
  .ip-logo .mark { flex: none; }
  .ip-hbtns { gap: 5px; flex-shrink: 0; }
  .ip-hbtns .ip-icon-btn, .ip-hbtns > a, .ip-hbtns > button { width: 38px; height: 38px; min-width: 38px; padding: 0; justify-content: center; }
  .ip-app-btn span { display: none; }
  .ip-app-btn { width: 38px; padding: 0 !important; justify-content: center; }
  /* bottom bar labels */
  .ip-mbar a { min-width: 0; font-size: 10.5px; padding: 8px 2px 10px; }
  .ip-mbar a span, .ip-mbar a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (max-width: 360px) { .ip-logo { font-size: 16px; } .ip-hbtns .ip-icon-btn, .ip-hbtns > a, .ip-hbtns > button, .ip-app-btn { width: 34px; height: 34px; min-width: 34px; } .ip-ipl-kv b { font-size: 13.5px; } }
@media (max-width: 640px) {
  .ip-board-wrap > *, .ip-board-bar, .ip-board-bar > * { min-width: 0; max-width: 100%; }
  .ip-tseg { width: 100%; box-sizing: border-box; }
  .ip-tseg button { min-width: 0; padding-left: 6px; padding-right: 6px; white-space: nowrap; }
}
@media (max-width: 340px) { .ip-mbar a { font-size: 9.5px; } .ip-mbar svg { width: 20px; height: 20px; } }
/* Subscription: status filter + row badges */
.ip-stattabs button i { background: color-mix(in srgb, var(--ip-muted) 16%, transparent); color: var(--ip-muted); }
.ip-exb-closed { color: #b7791f; border-color: #f0c674; background: color-mix(in srgb, #f0a92b 12%, transparent); }
.ip-exb-listed { color: var(--ip-muted); border-color: var(--ip-border); background: var(--ip-surface-2); }
@media (max-width: 700px) { .ip-stattabs { flex: 1 1 100%; overflow-x: auto; scrollbar-width: none; } .ip-stattabs button { white-space: nowrap; } }
/* ---------- IPO calendar v2: week strip, smart filters, list & month views ---------- */
:root { --ev-open: #16a34a; --ev-close: #e5484d; --ev-allotment: #f0a92b; --ev-listing: #3b82f6; --ev-anchor: #8b5cf6; --ev-refund: #0ea5e9; --ev-demat: #14b8a6; }
.ip-cal-week { margin-bottom: 14px; }
.ip-cal-week-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.ip-cal-week-h h2 { margin: 0; font-size: 17px; }
.ip-cal-week-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.ip-cal-day { display: grid; justify-items: center; gap: 1px; padding: 10px 4px 9px; border-radius: 14px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); font: inherit; cursor: pointer; min-width: 0; transition: border-color .15s, transform .15s; }
.ip-cal-day:hover { border-color: var(--ip-brand); transform: translateY(-1px); }
.ip-cal-day .w { font-size: 11.5px; font-weight: 700; color: var(--ip-muted); text-transform: uppercase; letter-spacing: .04em; }
.ip-cal-day b { font-size: 22px; line-height: 1.15; }
.ip-cal-day .m { font-size: 11px; color: var(--ip-muted); }
.ip-cal-day .dots { display: flex; gap: 3px; min-height: 7px; margin: 5px 0 3px; }
.ip-cal-day .dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--ev-open); }
.ip-cal-day .n { font-size: 11px; color: var(--ip-muted); white-space: nowrap; }
.ip-cal-day.empty { opacity: .6; }
.ip-cal-day.today { border-color: var(--ip-brand); background: color-mix(in srgb, var(--ip-brand) 10%, var(--ip-surface)); }
.ip-cal-day.today .w { color: var(--ip-brand); }
.ip-cal-day.on { border-color: var(--ip-brand); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ip-brand) 40%, transparent); }
.dots i.open, .ip-cal-chip.open i { background: var(--ev-open); } .dots i.close, .ip-cal-chip.close i { background: var(--ev-close); } .dots i.allotment, .ip-cal-chip.allotment i { background: var(--ev-allotment); }
.dots i.listing, .ip-cal-chip.listing i { background: var(--ev-listing); } .dots i.anchor, .ip-cal-chip.anchor i { background: var(--ev-anchor); } .dots i.refund, .ip-cal-chip.refund i { background: var(--ev-refund); } .dots i.demat, .ip-cal-chip.demat i { background: var(--ev-demat); }
.ip-cal-filters { padding: 14px 16px; display: grid; gap: 12px; margin-bottom: 14px; }
.ip-cal-f1 { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ip-cal-f1 .ip-input { flex: 1 1 220px; min-width: 0; }
.ip-cal-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-cal-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-muted); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.ip-cal-chip i { width: 9px; height: 9px; border-radius: 50%; opacity: .45; }
.ip-cal-chip small { font-size: 11.5px; font-weight: 800; padding: 1px 7px; border-radius: 999px; background: var(--ip-surface-2); }
.ip-cal-chip[aria-pressed="true"] { color: var(--ip-fg); border-color: color-mix(in srgb, var(--ip-fg) 25%, var(--ip-border)); background: var(--ip-surface-2); }
.ip-cal-chip[aria-pressed="true"] i { opacity: 1; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 0%, transparent); }
.ip-cal-f3 { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.ip-cal-nav { display: flex; align-items: center; gap: 8px; }
.ip-cal-nav b { min-width: 130px; text-align: center; font-size: 17px; }
.ip-cal-tg { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ip-cal-sw { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.ip-cal-sw input { accent-color: var(--ip-brand); width: 16px; height: 16px; }
.ip-cal-sel { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; padding: 8px 12px; border-radius: 10px; background: color-mix(in srgb, var(--ip-brand) 9%, transparent); }
.ip-cal-sel[hidden], .ip-cal-month[hidden], .ip-cal-list[hidden] { display: none !important; }
.ip-cal-month { padding: 0; overflow: hidden; margin-bottom: 14px; }
.ip-cal-month .ip-cal { border-top: 0; }
.ip-cal > div[data-day] { cursor: pointer; }
.ip-cal > div.past .ip-ev { opacity: .6; }
.ip-cal > div.on { box-shadow: inset 0 0 0 2px var(--ip-brand); }
.ip-cal .ip-ev.open { border-color: var(--ev-open); } .ip-cal .ip-ev.close { border-color: var(--ev-close); } .ip-cal .ip-ev.allotment { border-color: var(--ev-allotment); } .ip-cal .ip-ev.listing { border-color: var(--ev-listing); } .ip-cal .ip-ev.anchor { border-color: var(--ev-anchor); } .ip-cal .ip-ev.refund { border-color: var(--ev-refund); } .ip-cal .ip-ev.demat { border-color: var(--ev-demat); }
.ip-cal-more { border: 0; background: none; color: var(--ip-brand); font: inherit; font-size: 11.5px; font-weight: 700; padding: 2px 0; cursor: pointer; }
.ip-cal-list { padding: 0; overflow: hidden; }
.ip-cal-list-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 14px 16px 6px; }
.ip-cal-list-h h2 { margin: 0; font-size: 17px; }
.ip-cal-g { border-bottom: 1px solid var(--ip-border); }
.ip-cal-g:last-child { border-bottom: 0; }
.ip-cal-gh { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; background: var(--ip-surface-2); font-size: 13.5px; position: sticky; top: 62px; z-index: 2; }
.ip-cal-gh span { color: var(--ip-muted); font-size: 12.5px; }
.ip-cal-g.today .ip-cal-gh { background: color-mix(in srgb, var(--ip-brand) 14%, var(--ip-surface)); }
.ip-cal-g.today .ip-cal-gh b { color: var(--ip-brand); }
.ip-cal-g.past { opacity: .62; }
.ip-cal-row { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 16px; border-top: 1px solid var(--ip-border); }
.ip-cal-g .ip-cal-row:first-of-type { border-top: 0; }
.ip-cal-tag { justify-self: start; font-size: 12px; font-weight: 800; padding: 4px 9px; border-radius: 8px; border-left: 3px solid var(--ev-open); background: color-mix(in srgb, var(--ev-open) 12%, transparent); color: var(--ip-fg); white-space: nowrap; }
.ip-cal-tag.close { border-color: var(--ev-close); background: color-mix(in srgb, var(--ev-close) 12%, transparent); } .ip-cal-tag.allotment { border-color: var(--ev-allotment); background: color-mix(in srgb, var(--ev-allotment) 14%, transparent); }
.ip-cal-tag.listing { border-color: var(--ev-listing); background: color-mix(in srgb, var(--ev-listing) 12%, transparent); } .ip-cal-tag.anchor { border-color: var(--ev-anchor); background: color-mix(in srgb, var(--ev-anchor) 12%, transparent); }
.ip-cal-tag.refund { border-color: var(--ev-refund); background: color-mix(in srgb, var(--ev-refund) 12%, transparent); } .ip-cal-tag.demat { border-color: var(--ev-demat); background: color-mix(in srgb, var(--ev-demat) 12%, transparent); }
.ip-cal-co { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--ip-fg) !important; text-decoration: none; }
.ip-cal-co > span { min-width: 0; }
.ip-cal-co b { display: block; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-cal-co small { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: 12px; color: var(--ip-muted); margin-top: 2px; }
.ip-cal-co small .ip-exb { margin: 0; }
.ip-cal-ty { font-weight: 700; }
.ip-cal-act { white-space: nowrap; }
@media (max-width: 760px) {
  .ip-cal-week-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
  .ip-cal-week-row::-webkit-scrollbar { display: none; }
  .ip-cal-day { flex: 0 0 82px; scroll-snap-align: start; }
  .ip-cal-view { display: none; }
  .ip-cal-f1 .ip-tseg { width: 100%; } .ip-cal-f1 .ip-tseg button { flex: 1; }
  .ip-cal-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
  .ip-cal-chip { flex: none; }
  .ip-cal-f3 { flex-direction: column; align-items: stretch; }
  .ip-cal-nav { justify-content: space-between; } .ip-cal-nav b { flex: 1; min-width: 0; }
  .ip-cal-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "tag act" "co co"; gap: 8px 10px; padding: 12px 14px; }
  .ip-cal-tag { grid-area: tag; } .ip-cal-act { grid-area: act; } .ip-cal-co { grid-area: co; }
  .ip-cal-gh { top: 56px; padding: 9px 14px; }
}
/* ---------- Admin: visitors trend (Day / Week / Month / Year) ---------- */
.ad-vt-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ad-vt-f { display: flex; gap: 8px; flex-wrap: wrap; }
.ad-vt-sum { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 16px 0 18px; }
.ad-vt-sum > div { border: 1px solid var(--ip-border); border-radius: 12px; padding: 10px 12px; background: var(--ip-surface-2); min-width: 0; }
.ad-vt-sum span { display: block; font-size: 12px; color: var(--ip-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-vt-sum b { font-size: 22px; font-family: var(--ip-mono); margin-right: 6px; }
.ad-vt-sum b.n { color: var(--ip-info); }
.ad-vt-sum em { font-style: normal; font-size: 12px; font-weight: 800; }
.ad-vt-sum em.up { color: var(--ip-up, #16a34a); } .ad-vt-sum em.down { color: var(--ip-down, #dc2626); }
.ad-vt-sum small { display: block; font-size: 11.5px; color: var(--ip-muted); margin-top: 2px; }
.ad-vchart { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
.ad-vy { display: flex; flex-direction: column; justify-content: space-between; height: 200px; padding-top: 8px; font-size: 11px; color: var(--ip-muted); text-align: right; font-family: var(--ip-mono); }
.ad-vplot { position: relative; min-width: 0; }
.ad-vgrid { position: absolute; inset: 8px 0 0 0; height: 192px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.ad-vgrid i { border-top: 1px dashed var(--ip-border); }
.ad-vbars { display: grid !important; height: 200px; gap: 4px; position: relative; }
.ad-vbars .ad-vb { min-width: 0; cursor: pointer; border-radius: 4px 4px 0 0; outline: none; }
.ad-vbars .ad-vb:hover, .ad-vbars .ad-vb.on { background: color-mix(in srgb, var(--ip-brand) 10%, transparent); }
.ad-vbars .ad-vb.on i { filter: brightness(1.15); }
.ad-bars i.pv, .ad-legend i.pv { background: #a78bfa; }
.ad-vx { display: grid; gap: 4px; margin-top: 5px; font-size: 11px; color: var(--ip-muted); }
.ad-vx span { text-align: center; white-space: nowrap; overflow: visible; }
.ad-vtip { position: absolute; top: 0; z-index: 5; min-width: 170px; padding: 10px 12px; border-radius: 10px; background: var(--ip-surface); border: 1px solid var(--ip-border); box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: 12.5px; pointer-events: none; }
.ad-vtip[hidden] { display: none; }
.ad-vtip b { display: block; margin-bottom: 6px; font-size: 13px; }
.ad-vtip div { display: flex; align-items: center; gap: 7px; padding: 2px 0; }
.ad-vtip div span { margin-left: auto; font-weight: 800; font-family: var(--ip-mono); }
.ad-vtip i { width: 9px; height: 9px; border-radius: 2px; background: var(--ip-brand); }
.ad-vtip i.n { background: var(--ip-info); } .ad-vtip i.r { background: color-mix(in srgb, var(--ip-brand) 55%, var(--ip-muted)); } .ad-vtip i.pv { background: #a78bfa; }
.ad-vshare { height: 8px; border-radius: 99px; background: var(--ip-surface-2); overflow: hidden; }
.ad-vshare i { display: block; height: 100%; background: var(--ip-brand); border-radius: 99px; }
@media (max-width: 900px) { .ad-vt-sum { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ad-vt-sum > div:last-child { grid-column: 1 / -1; } }
.ad-vt-sum em.flat { color: var(--ip-muted); }
/* Strategy: "Should you apply?" call */
.ip-strat-call { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 4px 10px; margin: 10px 0 8px; padding: 9px 12px; border-radius: 12px; border: 1px solid; }
.ip-strat-call-i { font-size: 20px; line-height: 1; }
.ip-strat-call-t small { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ip-muted); }
.ip-strat-call-t b { display: block; font-size: 16px; font-weight: 800; white-space: nowrap; }
.ip-strat-call-s { font-size: 12.5px; color: var(--ip-muted); line-height: 1.35; padding-left: 10px; border-left: 1px solid var(--ip-border); }
.ip-strat-call.apply { border-color: color-mix(in srgb, #16a34a 45%, transparent); background: color-mix(in srgb, #16a34a 12%, transparent); } .ip-strat-call.apply b { color: #22c55e; }
.ip-strat-call.long { border-color: color-mix(in srgb, #3b82f6 45%, transparent); background: color-mix(in srgb, #3b82f6 12%, transparent); } .ip-strat-call.long b { color: #60a5fa; }
.ip-strat-call.listing { border-color: color-mix(in srgb, #f0a92b 50%, transparent); background: color-mix(in srgb, #f0a92b 12%, transparent); } .ip-strat-call.listing b { color: #f0a92b; }
.ip-strat-call.wait { border-color: color-mix(in srgb, #94a3b8 45%, transparent); background: color-mix(in srgb, #94a3b8 10%, transparent); } .ip-strat-call.wait b { color: var(--ip-fg); }
.ip-strat-call.avoid { border-color: color-mix(in srgb, #e5484d 50%, transparent); background: color-mix(in srgb, #e5484d 12%, transparent); } .ip-strat-call.avoid b { color: #f87171; }
:root[data-theme="light"] .ip-strat-call.apply b { color: #15803d; } :root[data-theme="light"] .ip-strat-call.long b { color: #1d4ed8; } :root[data-theme="light"] .ip-strat-call.listing b { color: #b45309; } :root[data-theme="light"] .ip-strat-call.avoid b { color: #b91c1c; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .ip-strat-call.apply b { color: #15803d; } :root:not([data-theme="dark"]) .ip-strat-call.long b { color: #1d4ed8; } :root:not([data-theme="dark"]) .ip-strat-call.listing b { color: #b45309; } :root:not([data-theme="dark"]) .ip-strat-call.avoid b { color: #b91c1c; } }
@media (max-width: 480px) { .ip-strat-call { grid-template-columns: auto minmax(0, 1fr); } .ip-strat-call-s { grid-column: 1 / -1; padding-left: 0; border-left: 0; } }
/* ---------- Footer v2 (icons, alert CTA, trust points) ---------- */
.ip-footer { padding: 0 0 96px; background: linear-gradient(180deg, color-mix(in srgb, var(--ip-ink) 92%, #0b3d2c) 0%, var(--ip-ink) 260px); }
.ip-foot-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; transform: translateY(-50%); margin-bottom: -6px; padding: 18px 22px; border-radius: 18px; background: linear-gradient(120deg, #0f7a53, #13a06d 55%, #1cbf83); color: #fff; box-shadow: 0 18px 40px rgba(16,160,109,.25); }
.ip-foot-cta-t { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ip-foot-cta-ic { width: 46px; height: 46px; flex: none; border-radius: 13px; display: grid; place-items: center; background: rgba(255,255,255,.18); }
.ip-foot-cta-ic .ip-fi { width: 22px; height: 22px; }
.ip-foot-cta b { display: block; font-size: 18px; }
.ip-foot-cta-t span { font-size: 13.5px; opacity: .92; }
.ip-foot-cta-b { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-foot-cta .ip-btn { background: #fff !important; color: #0b6b48 !important; border-color: #fff !important; font-weight: 800; }
.ip-foot-cta .ip-foot-app { background: rgba(255,255,255,.14) !important; color: #fff !important; border-color: rgba(255,255,255,.45) !important; display: inline-flex; align-items: center; gap: 7px; }
.ip-foot-cta .ip-btn[hidden], .ip-foot-app[hidden] { display: none !important; }
.ip-foot-grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-top: 8px; }
.ip-foot-brand p { margin: 12px 0 14px; max-width: 360px; line-height: 1.65; color: #9fb0c8; }
.ip-foot-trust { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 8px; }
.ip-foot-trust li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #c9d5e6; margin: 0 !important; }
.ip-foot-trust .ip-fi { color: #34d399; flex: none; }
.ip-foot-col h4 { display: flex; align-items: center; gap: 8px; }
.ip-foot-col h4::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.08); }
.ip-foot-col li { margin: 4px 0 !important; }
.ip-foot-col a { display: flex; align-items: center; gap: 10px; padding: 6px 8px; margin: 0 -8px; border-radius: 9px; color: #d5deeb !important; text-decoration: none !important; transition: background .15s, color .15s; }
.ip-foot-col a:hover { background: rgba(255,255,255,.06); color: #fff !important; }
.ip-fi-b { width: 28px; height: 28px; flex: none; border-radius: 8px; display: grid; place-items: center; background: rgba(52,211,153,.1); color: #34d399; transition: background .15s; }
.ip-foot-col a:hover .ip-fi-b { background: #13a06d; color: #fff; }
.ip-foot-mail { margin-top: 22px; }
.ip-foot-mail a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); font-weight: 600; }
.ip-foot-mail a:hover { background: rgba(255,255,255,.1); }
.ip-foot-note { display: flex; gap: 10px; align-items: flex-start; }
.ip-foot-note > .ip-fi { flex: none; color: #f0a92b; margin-top: 2px; }
.ip-foot-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 14px; font-size: 12.5px; color: #8e9bb2; }
.ip-footer .ip-social a { display: inline-flex; align-items: center; gap: 7px; }
@media (max-width: 860px) {
  .ip-foot-grid { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .ip-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ip-foot-cta { transform: translateY(-34px); margin-bottom: -14px; padding: 16px; }
  .ip-foot-cta-b, .ip-foot-cta-b .ip-btn { width: 100%; } .ip-foot-cta-b .ip-btn { justify-content: center; flex: 1; }
  .ip-foot-grid { grid-template-columns: 1fr; }
  .ip-foot-col ul { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; }
  .ip-foot-col a { font-size: 13px; gap: 8px; }
  .ip-fi-b { width: 26px; height: 26px; }
}
.ip-foot-cta .ip-btn[data-join] { background: #fff !important; color: #0b6b48 !important; } .ip-foot-cta .ip-btn[data-join] svg { color: #25d366 !important; fill: #25d366 !important; } .ip-foot-cta .ip-join-telegram svg { color: #229ed9 !important; fill: #229ed9 !important; }
/* ---------- Admin side menu v2 (grouped, icons) ---------- */
.ad-shell { grid-template-columns: 236px minmax(0, 1fr); }
.ad-menu { gap: 2px; padding: 10px; border-radius: 16px; background: var(--ip-surface); border: 1px solid var(--ip-border); max-height: calc(100vh - 100px); overflow-y: auto; scrollbar-width: thin; }
.ad-mgrp { display: grid; gap: 2px; padding: 4px 0 8px; }
.ad-mgrp + .ad-mgrp { border-top: 1px solid var(--ip-border); padding-top: 10px; }
.ad-mh { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--ip-muted); padding: 2px 10px 6px; opacity: .8; }
.ad-menu button, .ad-mopen { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 10px; padding: 8px 10px !important; border-radius: 10px; font: 600 14px var(--ip-font); color: var(--ip-muted); text-decoration: none !important; }
.ad-menu .ad-mi { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--ip-surface-2); color: var(--ip-muted); transition: background .15s, color .15s; }
.ad-menu .ad-mi svg, .ad-menu .ad-wa-btn .ad-mi .ip-ic { width: 16px; height: 16px; }
.ad-menu .ad-ml { flex: 1; min-width: 0; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-menu button:hover, .ad-mopen:hover { background: var(--ip-surface-2); color: var(--ip-fg); }
.ad-menu button:hover .ad-mi { color: var(--ip-brand); }
.ad-menu button[aria-current="true"] { background: color-mix(in srgb, var(--ip-brand) 12%, var(--ip-surface)); color: var(--ip-fg); box-shadow: none; font-weight: 700; }
.ad-menu button[aria-current="true"] .ad-mi { background: var(--ip-brand); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--ip-brand) 35%, transparent); }
.ad-menu .ad-wa-btn .ad-mi { color: #25d366; }
.ad-menu .ad-wa-btn[aria-current="true"] .ad-mi { background: #25d366; color: #fff; } .ad-menu .ad-wa-btn[aria-current="true"] .ad-mi .ip-ic { color: #fff; }
.ad-menu i { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 800; min-width: 22px; text-align: center; padding: 2px 7px; border-radius: 99px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ad-menu i:empty { display: none; }
.ad-menu button[aria-current="true"] i { background: var(--ip-brand); color: #fff; }
.ad-mopen { margin-top: 6px; border: 1px dashed var(--ip-border); }
.ad-mopen .ad-mi { background: transparent !important; }
@media (max-width: 860px) {
  .ad-shell { grid-template-columns: minmax(0, 1fr); }
  .ad-menu { position: static; display: flex !important; flex-wrap: nowrap; overflow-x: auto; max-height: none; padding: 6px; gap: 4px; scrollbar-width: none; }
  .ad-menu::-webkit-scrollbar { display: none; }
  .ad-mgrp { display: flex; padding: 0 !important; border: 0 !important; gap: 4px; }
  .ad-mgrp + .ad-mgrp { border-left: 1px solid var(--ip-border) !important; padding-left: 4px !important; }
  .ad-mh { display: none; }
  .ad-menu button, .ad-mopen { flex: none; padding: 6px 10px 6px 6px !important; margin: 0 !important; }
  .ad-menu .ad-mi { width: 26px; height: 26px; }
}
@media (min-width: 861px) {
  .ad-menu { top: 76px; padding: 8px; }
  .ad-mgrp { padding: 2px 0 6px; } .ad-mgrp + .ad-mgrp { padding-top: 6px; }
  .ad-mh { padding: 2px 10px 4px; font-size: 10px; }
  .ad-menu button, .ad-mopen { padding: 5px 8px !important; font-size: 13.5px; }
  .ad-menu .ad-mi { width: 28px; height: 28px; border-radius: 8px; }
}
@media (min-width: 861px) and (max-height: 820px) { .ad-mh { display: none; } .ad-mgrp + .ad-mgrp { padding-top: 4px; } .ad-menu button, .ad-mopen { padding: 3px 8px !important; } .ad-menu .ad-mi { width: 26px; height: 26px; } }
.ad-menu .ad-wa-btn { gap: 10px !important; }
/* ---------- Allotment page v2: steps, smart chips, cards ---------- */
.ip-al-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.ip-al-steps > div { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; background: var(--ip-surface); border: 1px solid var(--ip-border); font-size: 13.5px; color: var(--ip-muted); min-width: 0; }
.ip-al-steps b { width: 26px; height: 26px; flex: none; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--ip-brand) 15%, transparent); color: var(--ip-brand); font-size: 13px; }
.ip-al-steps em { font-style: normal; font-weight: 700; color: var(--ip-fg); }
.ip-al-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.ip-al-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.ip-al-chip b { font-size: 12px; padding: 1px 8px; border-radius: 99px; background: var(--ip-surface-2); }
.ip-al-chip[aria-pressed="true"] { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
.ip-al-chip[aria-pressed="true"] b { background: rgba(255,255,255,.25); }
.ip-al-chip.today:not([aria-pressed="true"]) { border-color: #f0a92b; }
.ip-al-bar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; padding: 12px 14px; margin-bottom: 16px; }
.ip-al-bar .ip-input { flex: 1 1 220px; min-width: 0; }
.ip-al-bar .ip-select { min-width: 180px; }
.ip-al-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.ip-al-card { padding: 16px 18px; display: grid; gap: 14px; border-top: 3px solid var(--ip-border); min-width: 0; }
.ip-al-card.today { border-top-color: #f0a92b; box-shadow: 0 0 0 1px color-mix(in srgb, #f0a92b 35%, transparent), var(--ip-shadow); }
.ip-al-card.out { border-top-color: var(--ip-up, #16a34a); }
.ip-al-card.awaited { border-top-color: #3b82f6; }
.ip-al-card.listed { opacity: .9; }
.ip-al-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.ip-al-top .ip-avatar { width: 46px; height: 46px; border-radius: 12px; }
.ip-al-name { display: block; font-weight: 800; font-size: 16.5px; line-height: 1.25; color: var(--ip-fg) !important; overflow-wrap: anywhere; }
.ip-al-meta { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; margin-top: 5px; }
.ip-al-meta .ip-exb { margin: 0; }
.ip-al-top .ip-ipl-st { align-self: start; }
.ip-al-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); position: relative; }
.ip-al-tl::before { content: ""; position: absolute; left: 7px; right: 7px; top: 6px; height: 2px; background: var(--ip-border); }
.ip-al-tl li { position: relative; display: grid; justify-items: center; text-align: center; gap: 2px; font-size: 11px; color: var(--ip-muted); min-width: 0; }
.ip-al-tl li:first-child { justify-items: start; text-align: left; } .ip-al-tl li:last-child { justify-items: end; text-align: right; }
.ip-al-tl i { width: 14px; height: 14px; border-radius: 50%; background: var(--ip-surface); border: 2px solid var(--ip-border); position: relative; z-index: 1; }
.ip-al-tl li.done i { background: var(--ip-brand); border-color: var(--ip-brand); }
.ip-al-tl li.now i { background: #f0a92b; border-color: #f0a92b; box-shadow: 0 0 0 4px color-mix(in srgb, #f0a92b 25%, transparent); }
.ip-al-tl b { font-size: 11.5px; color: var(--ip-fg); white-space: nowrap; }
.ip-al-tl li.now b { color: #f0a92b; }
.ip-al-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; padding: 12px; border-radius: 12px; background: var(--ip-surface-2); }
.ip-al-kv > div { min-width: 0; } .ip-al-kv > div.w { grid-column: 1 / -1; }
.ip-al-kv span { display: block; font-size: 11.5px; color: var(--ip-muted); }
.ip-al-kv b { font-size: 14px; font-weight: 700; display: block; overflow: hidden; text-overflow: ellipsis; }
.ip-al-kv b small { font-weight: 600; }
.ip-al-btns { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.ip-al-btns .ip-btn { justify-content: center; height: 40px; white-space: nowrap; }
.ip-al-go { background: var(--ip-brand) !important; border-color: var(--ip-brand) !important; color: #fff !important; font-weight: 800; overflow: hidden; text-overflow: ellipsis; }
.ip-al-go.dis { background: var(--ip-surface-2) !important; border-color: var(--ip-border) !important; color: var(--ip-muted) !important; cursor: default; font-weight: 700; }
.ip-al-note { margin: -4px 0 0; font-size: 12.5px; color: var(--ip-muted); }
.ip-al-regs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ip-al-reg { display: flex; align-items: center; gap: 12px; padding: 12px 14px; color: var(--ip-fg) !important; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.ip-al-reg:hover { border-color: var(--ip-brand); transform: translateY(-1px); }
.ip-al-rl { width: 38px; height: 38px; flex: none; border-radius: 10px; display: grid; place-items: center; font-weight: 800; font-size: 13px; background: color-mix(in srgb, var(--ip-brand) 14%, transparent); color: var(--ip-brand); }
.ip-al-reg.ex .ip-al-rl { background: color-mix(in srgb, #3b82f6 14%, transparent); color: #3b82f6; }
.ip-al-reg > span:nth-child(2) { flex: 1; min-width: 0; }
.ip-al-reg b { display: block; font-size: 14px; } .ip-al-reg small { display: block; font-size: 12px; color: var(--ip-muted); }
.ip-al-reg > i { font-style: normal; color: var(--ip-muted); }
@media (max-width: 640px) {
  .ip-al-steps { grid-template-columns: 1fr; gap: 6px; } .ip-al-steps > div { padding: 8px 12px; }
  .ip-al-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px 12px; padding: 0 16px; } .ip-al-chip { flex: none; }
  .ip-al-bar .ip-tseg { width: 100%; } .ip-al-bar .ip-tseg button { flex: 1; } .ip-al-bar .ip-select { flex: 1 1 100%; }
  .ip-al-grid { grid-template-columns: minmax(0, 1fr); }
  .ip-al-card { padding: 14px; }
  .ip-al-top { grid-template-columns: auto minmax(0, 1fr); } .ip-al-top .ip-ipl-st { grid-column: 1 / -1; justify-self: start; }
  .ip-al-tl b { font-size: 10.5px; } .ip-al-tl span { font-size: 10px; }
  .ip-al-btns { grid-template-columns: 1fr 1fr; } .ip-al-btns .ip-al-go { grid-column: 1 / -1; }
}
.ip-al-top { grid-template-columns: auto minmax(0, 1fr) auto !important; }
.ip-al-top .ip-star { align-self: start; }
.ip-al-meta .ip-ipl-st { font-size: 11.5px; padding: 3px 9px; }
.ip-al-meta .ip-ipl-type { font-size: 11.5px; padding: 3px 9px; }
/* Admin menu: no inner scroll — full height; sticky only when the whole menu fits on screen */
@media (min-width: 861px) {
  .ad-menu { max-height: none !important; overflow: visible !important; position: static; }
}
@media (min-width: 861px) and (min-height: 860px) { .ad-menu { position: sticky; top: 76px; } }
/* ---------- Smart bar (Live GMP & Subscription) ---------- */
.ip-smart { display: grid; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--ip-border); }
.ip-card.ip-smart { border-top: 1px solid var(--ip-border); margin-bottom: 14px; }
.ip-smart-sort, .ip-smart-q { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.ip-smart-l { font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--ip-muted); width: 44px; flex: none; }
.ip-smart-c { border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-muted); font: inherit; font-size: 13px; font-weight: 700; padding: 5px 11px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.ip-smart-c:hover { color: var(--ip-fg); border-color: color-mix(in srgb, var(--ip-brand) 50%, var(--ip-border)); }
.ip-smart-c[aria-pressed="true"] { background: color-mix(in srgb, var(--ip-brand) 14%, var(--ip-surface)); border-color: var(--ip-brand); color: var(--ip-fg); }
.ip-smart-c.q[aria-pressed="true"] { background: var(--ip-brand); color: #fff; }
.ip-smart-sp { flex: 1; }
.ip-smart-v button { padding: 6px 12px; font-size: 13px; }
.ip-gcards[hidden], .ip-scards[hidden], .ip-tablewrap[hidden] { display: none !important; }
/* GMP cards */
.ip-gcards, .ip-scards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; padding: 14px; }
.ip-gcard, .ip-scard { display: grid; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-top: 3px solid var(--ip-border); min-width: 0; }
.ip-gcard.open, .ip-scard.open { border-top-color: var(--ip-up, #16a34a); }
.ip-gcard.upcoming { border-top-color: #3b82f6; } .ip-gcard.closed, .ip-scard.closed { border-top-color: #f0a92b; }
.ip-gc-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px 12px; align-items: start; }
.ip-gc-top .ip-avatar { width: 44px; height: 44px; border-radius: 11px; }
.ip-gc-name { display: block; font-weight: 800; font-size: 16px; line-height: 1.25; color: var(--ip-fg) !important; overflow-wrap: anywhere; }
.ip-gc-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; align-items: center; }
.ip-gc-meta .ip-exb { margin: 0; }
.ip-gc-d { display: block; margin-top: 5px; font-size: 12.5px; }
.ip-gc-gmp { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px; border-radius: 12px; background: var(--ip-surface-2); }
.ip-gc-gmp span { display: block; font-size: 11.5px; color: var(--ip-muted); }
.ip-gc-gmp b { font-size: 20px; font-family: var(--ip-mono); white-space: nowrap; }
.ip-gc-gmp em { display: block; font-style: normal; font-weight: 800; font-size: 13px; }
.ip-gc-gmp .r { text-align: right; } .ip-gc-gmp .r b { font-size: 16px; }
.ip-gc-sp { display: flex; justify-content: center; min-width: 0; overflow: hidden; }
.ip-gc-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; }
.ip-gc-kv > div { min-width: 0; }
.ip-gc-kv span { display: block; font-size: 11.5px; color: var(--ip-muted); }
.ip-gc-kv b { display: block; font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-gc-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--ip-border); min-width: 0; }
.ip-gc-foot .ip-sub { font-size: 12px; white-space: nowrap; }
.ip-gc-sig { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: -2px; }
.ip-gc-sig .ip-btn { flex: none; }
/* Subscription cards */
.ip-sc-tot { text-align: right; padding: 6px 10px; border-radius: 12px; background: var(--ip-surface-2); }
.ip-sc-tot span { display: block; font-size: 11px; color: var(--ip-muted); }
.ip-sc-tot b { font-size: 20px; font-family: var(--ip-mono); }
.ip-sc-tot.hi b { color: var(--ip-up, #16a34a); } .ip-sc-tot.mid b { color: #d4a017; } .ip-sc-tot.lo b { color: var(--ip-down, #dc2626); }
.ip-sc-bars { display: grid; gap: 7px; }
.ip-sc-b { display: grid; grid-template-columns: 62px minmax(0, 1fr) 70px; gap: 8px; align-items: center; font-size: 12.5px; }
.ip-sc-b span { color: var(--ip-muted); font-weight: 600; }
.ip-sc-b i { height: 8px; border-radius: 99px; background: var(--ip-surface-2); overflow: hidden; }
.ip-sc-b em { display: block; height: 100%; border-radius: 99px; background: var(--ip-brand); }
.ip-sc-b em.mid { background: #e0b12e; } .ip-sc-b em.lo { background: #e5484d; }
.ip-sc-b b { text-align: right; font-family: var(--ip-mono); font-size: 12.5px; }
.ip-gc-kv.c3 { padding-top: 10px; border-top: 1px solid var(--ip-border); }
@media (max-width: 760px) {
  .ip-smart { padding: 10px 12px; }
  .ip-smart-sort, .ip-smart-q { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -12px; padding: 0 12px; }
  .ip-smart-sort::-webkit-scrollbar, .ip-smart-q::-webkit-scrollbar { display: none; }
  .ip-smart-l { width: auto; }
  .ip-smart-sp { display: none; }
  .ip-smart-v { flex: none; }
  .ip-gcards, .ip-scards { grid-template-columns: minmax(0, 1fr); padding: 10px; gap: 10px; }
  .ip-gcard, .ip-scard { padding: 12px 14px; }
  .ip-gc-gmp b { font-size: 18px; }
}
@media (max-width: 380px) { .ip-gc-gmp { grid-template-columns: auto auto; } .ip-gc-sp { display: none; } .ip-gc-kv { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ip-gc-gmp b.ip-gc-na { font-family: inherit; font-size: 14px; color: var(--ip-muted); font-weight: 700; } .ip-gc-gmp.none { padding: 10px 12px; }
/* Quick GMP: auto fetch */
.ad-gmp-auto { display: flex; gap: 8px; flex-wrap: wrap; }
.ad-mini.ad-fetched { border-color: var(--ip-up, #16a34a) !important; background: color-mix(in srgb, #16a34a 12%, var(--ip-surface)) !important; }
.ad-g1 { padding: 2px 8px !important; min-height: 0; height: 26px; margin-left: 6px; }
/* ---------- Home hero: two columns with "Today's IPOs" box ---------- */
.ip-hero2 { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: center; }
.ip-hero-main { min-width: 0; }
.ip-tbox { --t-live: #6d5dfc; --t-open: #16a34a; --t-close: #e5484d; --t-allot: #f0a92b; --t-listing: #0f8a4f; background: var(--ip-surface); color: var(--ip-fg); border-radius: 18px; padding: 14px 16px 16px; box-shadow: 0 18px 40px rgba(0,0,0,.28); border: 1px solid color-mix(in srgb, var(--ip-border) 70%, transparent); min-width: 0; }
.ip-tbox-h { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--ip-border); }
.ip-tbox-h b { font-size: 16px; }
.ip-tbox-ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--t-live); background: color-mix(in srgb, var(--t-live) 14%, transparent); }
.ip-tbox-d { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--ip-muted); }
.ip-tbox-steps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 14px 0 4px; }
.ip-tbox-steps::before { content: ""; position: absolute; left: 10%; right: 10%; top: 10px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--t-live), var(--t-open), var(--t-close), var(--t-allot), var(--t-listing)); opacity: .35; }
.ip-tbox-s { position: relative; display: grid; justify-items: center; gap: 3px; border: 0; background: none; padding: 0 2px 6px; font: inherit; color: var(--ip-fg); cursor: pointer; border-radius: 10px; min-width: 0; }
.ip-tbox-s i { width: 22px; height: 22px; border-radius: 50%; background: var(--ip-surface); border: 3px solid var(--c); position: relative; z-index: 1; transition: transform .15s, background .15s; }
.ip-tbox-s span { font-size: 10px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: var(--ip-muted); white-space: nowrap; }
.ip-tbox-s b { font-size: 20px; line-height: 1; color: var(--c); }
.ip-tbox-s.zero b { opacity: .55; }
.ip-tbox-s:hover i { transform: scale(1.12); }
.ip-tbox-s.on i { background: var(--c); box-shadow: 0 0 0 5px color-mix(in srgb, var(--c) 22%, transparent); }
.ip-tbox-s.on span { color: var(--c); }
.ip-tbox-s.live { --c: var(--t-live); } .ip-tbox-s.open { --c: var(--t-open); } .ip-tbox-s.close { --c: var(--t-close); } .ip-tbox-s.allot { --c: var(--t-allot); } .ip-tbox-s.listing { --c: var(--t-listing); }
.ip-tbox-list { display: grid; gap: 4px; margin: 8px 0 2px; padding: 8px; border-radius: 12px; background: var(--ip-surface-2); max-height: 170px; overflow-y: auto; scrollbar-width: thin; }
.ip-tbox-list[hidden] { display: none; }
.ip-tbox-lh { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ip-muted); padding: 0 4px 2px; }
.ip-tbox-list a { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 8px; color: var(--ip-fg) !important; text-decoration: none !important; font-size: 13.5px; font-weight: 600; min-width: 0; }
.ip-tbox-list a:hover { background: var(--ip-surface); }
.ip-tbox-list a > span:not(.ip-avatar) { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-tbox-list a .ip-avatar { width: 26px; height: 26px; flex: none; border-radius: 7px; font-size: 11px; }
.ip-tbox-list a em { font-style: normal; font-size: 11px; color: var(--ip-muted); }
.ip-tbox-list .ip-sub { margin: 2px 4px; font-size: 12.5px; }
.ip-tbox-cal { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 10px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--t-live) 35%, var(--ip-border)); background: color-mix(in srgb, var(--t-live) 8%, transparent); color: var(--t-live) !important; font-weight: 800; font-size: 14px; text-decoration: none !important; }
.ip-tbox-cal:hover { background: color-mix(in srgb, var(--t-live) 15%, transparent); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-tbox { --t-live: #8b7dff; --t-listing: #22c55e; } }
:root[data-theme="dark"] .ip-tbox { --t-live: #8b7dff; --t-listing: #22c55e; }
@media (max-width: 960px) { .ip-hero2 { grid-template-columns: minmax(0, 1fr); gap: 16px; } .ip-tbox { max-width: 520px; } }
@media (max-width: 420px) { .ip-tbox { padding: 12px; } .ip-tbox-s span { font-size: 9.5px; letter-spacing: .02em; } .ip-tbox-s b { font-size: 18px; } .ip-tbox-s i { width: 20px; height: 20px; } }
/* ---------- IPO calendar v3: smart ranges + day-grouped event cards ---------- */
.ip-cal-range { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-cal-rc { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.ip-cal-rc b { font-size: 12px; padding: 1px 8px; border-radius: 99px; background: var(--ip-surface-2); }
.ip-cal-rc:hover { border-color: color-mix(in srgb, var(--ip-brand) 55%, var(--ip-border)); }
.ip-cal-rc[aria-pressed="true"] { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
.ip-cal-rc[aria-pressed="true"] b { background: rgba(255,255,255,.25); }
.ip-cal-nav[hidden] { display: none !important; }
.ip-cal-sum { font-size: 13px; font-weight: 700; color: var(--ip-muted); margin-right: auto; }
.ip-cal-f3 { gap: 12px; }
.ip-cal-feed { display: grid; gap: 18px; }
.ip-cday-h { display: flex; align-items: center; gap: 12px; padding: 10px 14px; margin-bottom: 10px; border-radius: 14px; background: var(--ip-surface); border: 1px solid var(--ip-border); position: sticky; top: 66px; z-index: 3; }
.ip-cday.today .ip-cday-h { border-color: var(--ip-brand); background: color-mix(in srgb, var(--ip-brand) 10%, var(--ip-surface)); }
.ip-cday-n { width: 46px; height: 46px; flex: none; border-radius: 12px; display: grid; place-items: center; align-content: center; background: var(--ip-surface-2); line-height: 1; }
.ip-cday-n b { font-size: 19px; } .ip-cday-n small { font-size: 10.5px; font-weight: 800; text-transform: uppercase; color: var(--ip-muted); margin-top: 2px; }
.ip-cday.today .ip-cday-n { background: var(--ip-brand); color: #fff; } .ip-cday.today .ip-cday-n small { color: rgba(255,255,255,.85); }
.ip-cday-t { display: grid; min-width: 0; } .ip-cday-t b { font-size: 16px; } .ip-cday-t small { font-size: 12.5px; color: var(--ip-muted); }
.ip-cday-c { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.ip-cday-c i { font-style: normal; font-size: 11.5px; font-weight: 800; padding: 3px 9px; border-radius: 99px; color: var(--ip-fg); background: color-mix(in srgb, var(--ev-open) 14%, transparent); white-space: nowrap; }
.ip-cday-c i.close { background: color-mix(in srgb, var(--ev-close) 14%, transparent); } .ip-cday-c i.allotment { background: color-mix(in srgb, var(--ev-allotment) 16%, transparent); } .ip-cday-c i.listing { background: color-mix(in srgb, var(--ev-listing) 14%, transparent); }
.ip-cday-c i.anchor { background: color-mix(in srgb, var(--ev-anchor) 14%, transparent); } .ip-cday-c i.refund { background: color-mix(in srgb, var(--ev-refund) 14%, transparent); } .ip-cday-c i.demat { background: color-mix(in srgb, var(--ev-demat) 14%, transparent); }
.ip-cday.past { opacity: .7; }
.ip-cday-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.ip-cev { --ec: var(--ev-open); display: grid; gap: 10px; align-content: start; padding: 14px; border-radius: 16px; background: var(--ip-surface); border: 1px solid var(--ip-border); border-left: 4px solid var(--ec); min-width: 0; transition: transform .15s, box-shadow .15s; }
.ip-cev:hover { transform: translateY(-2px); box-shadow: var(--ip-shadow); }
.ip-cev.close { --ec: var(--ev-close); } .ip-cev.allotment { --ec: var(--ev-allotment); } .ip-cev.listing { --ec: var(--ev-listing); } .ip-cev.anchor { --ec: var(--ev-anchor); } .ip-cev.refund { --ec: var(--ev-refund); } .ip-cev.demat { --ec: var(--ev-demat); }
.ip-cev-h { display: flex; align-items: center; gap: 8px; }
.ip-cev-rel { font-size: 12px; font-weight: 700; color: var(--ip-muted); margin-right: auto; }
.ip-cev-h .ip-star { margin: -4px -4px -4px 0; }
.ip-cev-co { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--ip-fg) !important; text-decoration: none !important; }
.ip-cev-co .ip-avatar { width: 40px; height: 40px; border-radius: 10px; flex: none; }
.ip-cev-co > span { min-width: 0; }
.ip-cev-co b { display: block; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.ip-cev-co small { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; margin-top: 3px; font-size: 12px; color: var(--ip-muted); }
.ip-cev-co small .ip-exb { margin: 0; }
.ip-cev-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; padding: 10px 12px; border-radius: 12px; background: var(--ip-surface-2); }
.ip-cev-kv > div { min-width: 0; }
.ip-cev-kv span { display: block; font-size: 11px; color: var(--ip-muted); }
.ip-cev-kv b { display: block; font-size: 13.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-cev-kv b small { font-weight: 600; }
.ip-cev-go { justify-content: center; width: 100%; background: color-mix(in srgb, var(--ec) 12%, transparent) !important; border-color: color-mix(in srgb, var(--ec) 40%, transparent) !important; color: var(--ip-fg) !important; font-weight: 800; }
.ip-cev-go:hover { background: color-mix(in srgb, var(--ec) 22%, transparent) !important; }
.ip-cev.past .ip-cev-go { opacity: .8; }
@media (max-width: 760px) {
  .ip-cal-range { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
  .ip-cal-range::-webkit-scrollbar { display: none; }
  .ip-cal-rc { flex: none; padding: 7px 12px; }
  .ip-cal-f3 { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .ip-cal-nav { width: 100%; }
  .ip-cday-h { top: 58px; padding: 8px 12px; }
  .ip-cday-c { display: none; }
  .ip-cday-g { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
/* Admin: auto-update status bar */
.ad-auto-wrap { margin: 0 14px 12px; }
.ad-auto-wrap:empty { display: none; }
form .ad-auto-wrap { margin: 6px 0 14px; }
.ad-auto { display: flex; gap: 12px; align-items: flex-start; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--ip-border); background: var(--ip-surface-2); }
.ad-auto.on { border-color: color-mix(in srgb, #16a34a 45%, var(--ip-border)); background: color-mix(in srgb, #16a34a 8%, var(--ip-surface-2)); }
.ad-auto-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--ip-muted); }
.ad-auto.on .ad-auto-dot { background: #22c55e; box-shadow: 0 0 0 4px color-mix(in srgb, #22c55e 25%, transparent); animation: ipBlink 1.6s infinite; }
.ad-auto-t { flex: 1; min-width: 0; display: grid; gap: 2px; font-size: 13px; }
.ad-auto-t > span { color: var(--ip-muted); }
.ad-auto-t details { margin-top: 4px; font-size: 12.5px; } .ad-auto-t summary { cursor: pointer; color: var(--ip-brand); font-weight: 700; }
.ad-auto-t ul { margin: 6px 0 0; padding-left: 18px; color: var(--ip-muted); }
.ad-auto-b { display: flex; gap: 6px; flex-wrap: wrap; flex: none; }
@media (max-width: 640px) { .ad-auto { flex-wrap: wrap; } .ad-auto-b { width: 100%; } }
/* Admin: form title (Editing IPO / Add IPO) */
.ad-ftitle { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ad-ftitle .ip-avatar { width: 44px; height: 44px; border-radius: 11px; flex: none; }
.ad-ftitle h2 { margin: 2px 0 0; font-size: 22px; line-height: 1.2; }
.ad-ftag { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: 3px 9px; border-radius: 99px; color: var(--ip-brand); background: color-mix(in srgb, var(--ip-brand) 13%, transparent); }
/* Listed card: listing-day open / high / low / close */
.ip-ipl-lp { flex-direction: column; align-items: stretch !important; gap: 8px !important; }
.ip-ipl-lp-t { display: flex; gap: 8px; align-items: center; }
.ip-ipl-ohlc { display: grid; grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)); gap: 6px; }
.ip-ipl-ohlc-h { grid-column: 1 / -1; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ip-muted); }
.ip-ipl-ohlc > div { padding: 6px 8px; border-radius: 9px; background: color-mix(in srgb, var(--ip-surface) 70%, transparent); border: 1px solid var(--ip-border); min-width: 0; }
.ip-ipl-ohlc span { display: block; font-size: 10.5px; color: var(--ip-muted); }
.ip-ipl-ohlc b { display: block; font-family: var(--ip-font); font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-ipl-ohlc > div { overflow: hidden; }
.ip-ipl-lp .ip-ipl-ohlc b { color: var(--ip-fg); } .ip-ipl-lp .ip-ipl-ohlc b.up { color: var(--ip-up, #16a34a); } .ip-ipl-lp .ip-ipl-ohlc b.down { color: var(--ip-down, #dc2626); }
/* Admin IPO form: numbered category headings */
.ad-form h3.ad-sec { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 22px 0 2px; padding: 10px 12px; border-radius: 12px; background: var(--ip-surface-2); border: 1px solid var(--ip-border); font-size: 15.5px; }
.ad-form h3.ad-sec:first-child { margin-top: 0; }
.ad-sec-n { width: 26px; height: 26px; flex: none; border-radius: 8px; display: grid; place-items: center; font-size: 12.5px; font-weight: 800; background: var(--ip-brand); color: #fff; }
.ad-sec-t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; }
.ad-sec-t small { font-size: 12.5px; font-weight: 500; color: var(--ip-muted); }
.ad-form textarea::placeholder { color: color-mix(in srgb, var(--ip-muted) 75%, transparent); }
/* Min. investment highlight on cards */
.ip-ipl-kv > div:nth-child(3) b, .ip-gc-min b { color: var(--ip-brand); }
.ip-ipl-kv span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* IPO page: Promoter(s) card */
.ip-promo { padding: 0; overflow: hidden; }
.ip-promo-hd { padding: 16px 20px; border-bottom: 1px solid var(--ip-border); }
.ip-promo-hd h2 { margin: 0; font-size: 19px; display: flex; align-items: center; gap: 10px; }
.ip-promo-hd svg { color: #6d5dfc; flex: none; }
.ip-promo-t { margin: 0; padding: 14px 20px; line-height: 1.65; font-size: 14.5px; }
.ip-promo-h { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 20px 16px; }
.ip-promo-h > div { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--ip-border); background: var(--ip-surface-2); }
.ip-promo-h span:not(.ip-promo-ic) { font-size: 13.5px; color: var(--ip-muted); }
.ip-promo-h b { font-size: 17px; font-family: var(--ip-mono); }
.ip-promo-ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: 14px; font-weight: 800; }
.ip-promo-ic.pre { color: #6d5dfc; background: color-mix(in srgb, #6d5dfc 14%, transparent); }
.ip-promo-ic.post { color: #16a34a; background: color-mix(in srgb, #16a34a 14%, transparent); }
.ip-promo-n { margin: -4px 20px 16px; font-size: 13px; color: var(--ip-muted); }
@media (max-width: 520px) { .ip-promo-h { grid-template-columns: 1fr; } .ip-promo-hd, .ip-promo-t { padding-left: 14px; padding-right: 14px; } .ip-promo-h { padding: 0 14px 14px; } .ip-promo-n { margin: -2px 14px 14px; } }

/* ---------- Reports page + SME risk meter + source line ---------- */
.ip-rp-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 6px; margin: 6px 0 14px; scrollbar-width: none; }
.ip-rp-tabs::-webkit-scrollbar { display: none; }
.ip-rp-tabs button { flex: 0 0 auto; border: 1px solid var(--ip-border); background: var(--ip-surface); color: var(--ip-fg); padding: 9px 14px; border-radius: 999px; font: 700 14px var(--ip-font); cursor: pointer; }
.ip-rp-tabs button[aria-pressed="true"] { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
.ip-rp-bar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.ip-rp-bar:empty { display: none; }
.ip-rp-ok { color: var(--ip-up); font-weight: 700; white-space: nowrap; }
.ip-rp-bad { color: var(--ip-down); font-weight: 700; white-space: nowrap; }
.ip-rp-past { opacity: .55; }
.ip-rp-soon td:first-child b { color: var(--ip-warn); }
.ip-rp-risk { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; padding: 16px; }
.ip-rp-rc { padding: 14px; border-left: 4px solid var(--ip-flat); }
.ip-rp-rc.high { border-left-color: var(--ip-down); } .ip-rp-rc.medium { border-left-color: var(--ip-warn); } .ip-rp-rc.low { border-left-color: var(--ip-up); }
.ip-rp-rh { display: flex; gap: 10px; align-items: center; }
.ip-rp-rh > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ip-rp-rc ul, .ip-risklist { margin: 10px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.55; }
.ip-risk { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font: 800 11px var(--ip-font); letter-spacing: .02em; white-space: nowrap; text-transform: uppercase; margin-left: 4px; }
.ip-risk.low { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); }
.ip-risk.medium { background: color-mix(in srgb, var(--ip-warn) 16%, transparent); color: var(--ip-warn); }
.ip-risk.high { background: color-mix(in srgb, var(--ip-down) 14%, transparent); color: var(--ip-down); }
.ip-riskhd { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.ip-riskbar { height: 10px; border-radius: 999px; margin-top: 14px; background: linear-gradient(90deg, var(--ip-up), var(--ip-warn) 50%, var(--ip-down)); position: relative; overflow: hidden; }
.ip-riskbar i { position: absolute; inset: 0 auto 0 0; border-right: 3px solid var(--ip-fg); background: transparent; box-shadow: 0 0 0 9999px color-mix(in srgb, var(--ip-surface) 55%, transparent); clip-path: inset(0 -9999px 0 0); }
.ip-riskscale { display: flex; justify-content: space-between; font-size: 12px; color: var(--ip-muted); margin-top: 4px; }
.ip-srcline { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 12px 0 0; font-size: 13px; color: var(--ip-muted); }
.ip-btn.ip-btn-flag { color: var(--ip-down); border-color: color-mix(in srgb, var(--ip-down) 40%, var(--ip-border)); }
.ip-ipl-badges .ip-risk { margin-left: 0; }

/* ---------- Portfolio / Family PAN ---------- */
.ip-pf-add .ip-pf-row { display: grid; grid-template-columns: 2fr 1fr 1fr .7fr auto; gap: 10px; align-items: end; }
#pf-mem .ip-pf-row { grid-template-columns: 1.2fr 1fr 1fr 1fr auto; }
.ip-pf-add .ip-field { margin: 0; }
.ip-pf-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 14px; }
.ip-pf-app { padding: 14px; border-top: 3px solid var(--ip-info); display: flex; flex-direction: column; gap: 10px; }
.ip-pf-app.allotted { border-top-color: var(--ip-up); } .ip-pf-app.sold { border-top-color: var(--ip-brand-2); } .ip-pf-app.notallotted { border-top-color: var(--ip-flat); opacity: .85; }
.ip-pf-ah { display: flex; gap: 10px; align-items: center; }
.ip-pf-at { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ip-pf-at small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-pf-del { padding: 4px 9px; min-height: 0; }
.ip-pf-f { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; }
.ip-pf-f .ip-field { margin: 0; font-size: 12px; }
.ip-pf-pl { display: flex; justify-content: space-between; gap: 8px; align-items: center; background: var(--ip-surface-2); border-radius: 10px; padding: 8px 12px; font-size: 13px; }
.ip-pf-pl b { font-size: 16px; }
.ip-pf-act { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-pf-dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 0; }
.ip-pf-dl div { background: var(--ip-surface-2); border-radius: 10px; padding: 8px; text-align: center; }
.ip-pf-dl dt { font-size: 12px; color: var(--ip-muted); } .ip-pf-dl dd { margin: 2px 0 0; font-weight: 800; }
.ip-pf-plan { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.ip-pf-chk { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ip-pf-ck { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--ip-border); border-radius: 999px; padding: 6px 12px; cursor: pointer; font-weight: 600; font-size: 14px; }
.ip-pf-ck.on { background: var(--ip-brand-soft); border-color: var(--ip-brand); color: var(--ip-brand-2); }
.ip-pf-ck input { accent-color: var(--ip-brand); }
@media (max-width: 720px) { .ip-pf-add .ip-pf-row, #pf-mem .ip-pf-row { grid-template-columns: 1fr 1fr; } .ip-pf-add .ip-pf-row > :first-child { grid-column: 1 / -1; } .ip-pf-add .ip-btn-primary { grid-column: 1 / -1; } .ip-pf-list, .ip-pf-plan { grid-template-columns: 1fr; } }

/* ---------- Compare 2.0 ---------- */
.ip-cp-sels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ip-cp-sels .ip-field { margin: 0; }
@media (max-width: 720px) { .ip-cp-sels { grid-template-columns: 1fr 1fr; } }
.ip-cp-table th, .ip-cp-table td { min-width: 150px; vertical-align: middle; }
.ip-cp-table .ip-cp-lab { position: sticky; left: 0; z-index: 1; background: var(--ip-surface); font-weight: 700; color: var(--ip-muted); min-width: 130px; box-shadow: 1px 0 0 var(--ip-border); }
.ip-cp-table thead .ip-cp-lab { z-index: 2; }
.ip-cp-best { background: color-mix(in srgb, var(--ip-up) 12%, transparent); box-shadow: inset 3px 0 0 var(--ip-up); font-weight: 700; }
.ip-cp-score { margin-top: 6px; font-size: 12px; font-weight: 800; color: var(--ip-muted); }
.ip-cp-score.win { color: var(--ip-up); }
@media (max-width: 720px) { .ip-cp-table th, .ip-cp-table td { min-width: 128px; font-size: 13px; } .ip-cp-table .ip-cp-lab { min-width: 104px; max-width: 110px; white-space: normal; } }

/* ---------- Alerts sheet + offline bar ---------- */
.ip-al-box { max-width: 440px; }
.ip-al-ic { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; font-size: 28px; background: var(--ip-brand-soft); flex: 0 0 auto; }
.ip-al-sec { border-top: 1px solid var(--ip-border); padding-top: 14px; margin-top: 14px; }
.ip-al-sec h4 { margin: 0 0 8px; font-size: 15px; }
.ip-al-seg { display: flex; width: 100%; } .ip-al-seg button { flex: 1; padding: 8px 10px; font-size: 13px; }
.ip-offline { position: sticky; top: 0; z-index: 60; background: #c77d00; color: #fff; text-align: center; font-size: 13.5px; padding: 8px 14px; }
.ip-foot-cta-b .ip-foot-al { background: #fff; color: #0b8a5f; border-color: #fff; font-weight: 800; }
.ad-alform { display: grid; gap: 12px; max-width: 560px; }
.ad-alform .ip-field { margin: 0; }
.ad-alck { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.ad-log { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 14px; }

/* ---------- Review, Hindi, stories, sponsor, in-feed ad ---------- */
.ip-rv-col { border-radius: 12px; padding: 12px 14px; background: var(--ip-surface-2); }
.ip-rv-col h3 { margin: 0 0 6px; font-size: 15px; }
.ip-rv-col ul { margin: 0; padding-left: 18px; line-height: 1.6; font-size: 14.5px; }
.ip-rv-col.good { box-shadow: inset 3px 0 0 var(--ip-up); } .ip-rv-col.bad { box-shadow: inset 3px 0 0 var(--ip-warn); }
.ip-hindi p { line-height: 1.85; font-size: 16px; }
.ip-hi-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 0; }
.ip-hi-kv div { background: var(--ip-surface-2); border-radius: 10px; padding: 8px 10px; }
.ip-hi-kv dt { font-size: 12px; color: var(--ip-muted); } .ip-hi-kv dd { margin: 2px 0 0; font-weight: 800; }
.ip-hi-steps { line-height: 1.8; padding-left: 20px; margin: 0; }
.ip-stories { margin-top: 18px; }
.ip-stories-row { display: flex; gap: 14px; overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.ip-stories-row::-webkit-scrollbar { display: none; }
.ip-story { flex: 0 0 auto; width: 74px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none !important; color: var(--ip-fg); }
.ip-story-ring { padding: 3px; border-radius: 50%; background: conic-gradient(var(--ip-brand), #7ff0c0, var(--ip-brand)); }
.ip-story-ring.upcoming { background: conic-gradient(var(--ip-info), #9ec0ff, var(--ip-info)); } .ip-story-ring.closed { background: conic-gradient(var(--ip-warn), #ffd27a, var(--ip-warn)); } .ip-story-ring.listed { background: var(--ip-flat); }
.ip-story-ring .ip-avatar { width: 60px; height: 60px; border-radius: 50%; border: 3px solid var(--ip-bg); font-size: 18px; }
.ip-story-n { font-size: 12px; font-weight: 600; text-align: center; line-height: 1.25; max-width: 74px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ip-spon { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin: 16px 0; position: relative; text-decoration: none !important; color: var(--ip-fg); border: 1px dashed color-mix(in srgb, var(--ip-brand) 45%, var(--ip-border)); }
.ip-spon img { border-radius: 12px; object-fit: contain; background: #fff; flex: 0 0 auto; }
.ip-spon-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } .ip-spon-t span { color: var(--ip-muted); font-size: 14px; }
.ip-spon-tag { position: absolute; top: -9px; left: 14px; background: var(--ip-surface); padding: 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ip-muted); }
@media (max-width: 560px) { .ip-spon { flex-wrap: wrap; } .ip-spon .ip-btn { width: 100%; justify-content: center; } }
.ip-ad-feed { grid-column: 1 / -1; }

/* ---------- Portfolio: allotment check ---------- */
.ip-ac-row { grid-template-columns: minmax(0, 1fr) auto !important; }
.ip-ac-state { align-self: end; padding: 10px 14px; border-radius: 10px; font-weight: 700; font-size: 14px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-ac-state.on { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); }
.ip-ac-state.due { background: color-mix(in srgb, var(--ip-warn) 14%, transparent); color: var(--ip-warn); }
.ip-ac-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.ip-ac-prog { margin-top: 14px; position: relative; background: var(--ip-surface-2); border-radius: 10px; overflow: hidden; }
.ip-ac-prog div { position: relative; z-index: 1; padding: 8px 12px; font-size: 14px; }
.ip-ac-prog i { position: absolute; inset: 0 auto 0 0; background: color-mix(in srgb, var(--ip-brand) 22%, transparent); }
#al-next { margin-top: 12px; }
.ip-ac-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 14px; }
.ip-ac-p { padding: 14px; display: flex; flex-direction: column; gap: 10px; border-left: 4px solid var(--ip-border); }
.ip-ac-p.allotted, .ip-ac-p.sold { border-left-color: var(--ip-up); } .ip-ac-p.notallotted { border-left-color: var(--ip-flat); }
.ip-ac-p.cur { box-shadow: 0 0 0 2px var(--ip-brand); }
.ip-ac-badge { font-size: 12px; font-weight: 800; white-space: nowrap; padding: 3px 9px; border-radius: 999px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-ac-badge.allotted, .ip-ac-badge.sold { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); }
.ip-ac-act { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-ac-pan { display: flex; gap: 8px; } .ip-ac-pan .ip-input { flex: 1; min-width: 0; }
.ip-ac-p.allotted .ip-ac-yes, .ip-ac-p.sold .ip-ac-yes { background: var(--ip-up); color: #fff; border-color: var(--ip-up); }
.ip-ac-p.notallotted .ip-ac-no { background: var(--ip-flat); color: #fff; border-color: var(--ip-flat); }
@media (max-width: 720px) { .ip-ac-row { grid-template-columns: 1fr !important; } .ip-ac-list { grid-template-columns: 1fr; } }

/* ---------- Admin: All IPOs as cards ---------- */
.ad-ipobar { padding: 14px; display: grid; gap: 10px; margin-bottom: 14px; }
.ad-ipobar-r { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ad-ipobar-r .grow { flex: 1 1 240px; }
.ad-ipobar .ip-seg button small { opacity: .7; font-weight: 600; margin-left: 2px; }
.ad-ipobar-sort { display: flex; align-items: center; gap: 6px; margin-left: auto; font-size: 13px; color: var(--ip-muted); font-weight: 600; }
.ad-ipobar-sort .ip-select { width: auto; min-width: 170px; }
.ad-ipogrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.ad-ipocard { padding: 14px; display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--ip-flat); min-width: 0; }
.ad-ipocard.open { border-top-color: var(--ip-up); } .ad-ipocard.upcoming { border-top-color: var(--ip-info); } .ad-ipocard.closed { border-top-color: var(--ip-warn); } .ad-ipocard.listed { border-top-color: var(--ip-brand-2); }
.ad-ic-hd { display: flex; gap: 10px; align-items: center; }
.ad-ic-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ad-ic-t b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15.5px; }
.ad-ic-t > span { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.ad-ic-feat { color: #f5a524; font-weight: 800; }
.ad-ic-view { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--ip-border); border-radius: 9px; text-decoration: none !important; color: var(--ip-fg); flex: 0 0 auto; }
.ad-ic-dates { font-size: 13px; color: var(--ip-muted); display: flex; flex-wrap: wrap; gap: 4px; }
.ad-ic-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; }
.ad-ic-kv div { background: var(--ip-surface-2); border-radius: 9px; padding: 7px 9px; min-width: 0; }
.ad-ic-kv dt { font-size: 11px; color: var(--ip-muted); font-weight: 600; } .ad-ic-kv dd { margin: 2px 0 0; font-weight: 800; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-ic-kv dd small { font-weight: 700; font-size: 11.5px; }
.ad-ic-old { color: var(--ip-warn); }
.ad-ic-todo { display: flex; flex-wrap: wrap; gap: 5px; } .ad-ic-todo span { font-size: 12px; font-weight: 700; color: var(--ip-warn); background: color-mix(in srgb, var(--ip-warn) 12%, transparent); border-radius: 999px; padding: 3px 9px; }
.ad-ic-ok { font-size: 12px; font-weight: 700; color: var(--ip-up); }
.ad-ic-st { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; } .ad-ic-st .ip-select { flex: 1 1 160px; } .ad-ic-st .ad-allot { flex: 1 1 140px; }
.ad-ic-act { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 4px; border-top: 1px solid var(--ip-border); padding-top: 10px; } .ad-ic-act .ip-btn { flex: 1; justify-content: center; }
@media (max-width: 560px) { .ad-ipogrid { grid-template-columns: 1fr; } .ad-ipobar-sort { margin-left: 0; width: 100%; } .ad-ipobar-sort .ip-select { flex: 1; } }
.ad-ipobar, .ad-ipogrid, .ad-ipobar-r > * { min-width: 0; }
.ad-ipobar .ip-seg { flex-wrap: wrap; max-width: 100%; height: auto; }
.ad-ic-kv dd { white-space: normal; overflow-wrap: anywhere; font-size: 13.5px; line-height: 1.3; }
@media (max-width: 560px) { .ad-ipobar-r .grow { flex-basis: 100%; } .ad-ipobar-r .ip-btn-primary { width: 100%; justify-content: center; } .ad-ipobar .ip-seg { width: 100%; } .ad-ipobar .ip-seg button { flex: 1 1 auto; } }

/* ---------- Broker icons + sponsor on/off switch ---------- */
.ad-brrow { border: 1px solid var(--ip-border); border-radius: 12px; padding: 12px; }
.ad-brlogo > div { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
.ad-brlogo .ip-avatar { width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--ip-muted); font-size: 20px; overflow: hidden; }
.ad-brlogo .ip-avatar img { width: 100%; height: 100%; object-fit: contain; }
.ad-sp-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.ad-switch { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--ip-border); background: var(--ip-surface-2); color: var(--ip-muted); border-radius: 999px; padding: 6px 14px 6px 6px; font: 700 13.5px var(--ip-font); cursor: pointer; }
.ad-switch i { width: 40px; height: 22px; border-radius: 999px; background: var(--ip-flat); position: relative; transition: background .2s; }
.ad-switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; }
.ad-switch.on { color: var(--ip-up); border-color: color-mix(in srgb, var(--ip-up) 45%, var(--ip-border)); } .ad-switch.on i { background: var(--ip-up); } .ad-switch.on i::after { transform: translateX(18px); }
.ip-broker.has-logo { grid-template-columns: 36px 1fr; column-gap: 12px; align-items: center; } .ip-broker.has-logo > :not(.ip-broker-ic) { grid-column: 2; }
.ip-broker-ic { grid-row: 1 / span 3; width: 36px; height: 36px; border-radius: 10px; object-fit: contain; background: #fff; }
.ip-brbtn img { border-radius: 4px; object-fit: contain; background: #fff; margin-right: 2px; }

/* ---------- Auto-update schedule editor ---------- */
.ad-sched { margin-top: 8px; padding: 14px; border: 1px solid var(--ip-border); border-radius: 12px; background: var(--ip-surface); display: grid; gap: 12px; }
.ad-sched-g { display: grid; grid-template-columns: 1fr 1fr 1fr 2.4fr; gap: 12px; align-items: end; }
.ad-sched-g .ip-field { margin: 0; }
.ad-sched-days > div { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.ad-day input { position: absolute; opacity: 0; pointer-events: none; }
.ad-day span { display: inline-block; min-width: 44px; text-align: center; padding: 8px 6px; border-radius: 9px; border: 1px solid var(--ip-border); font-weight: 700; font-size: 13px; cursor: pointer; color: var(--ip-muted); }
.ad-day input:checked + span { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
.ad-day input:focus-visible + span { outline: 2px solid var(--ip-brand); outline-offset: 2px; }
.ad-sched-q, .ad-sched-a { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
@media (max-width: 760px) { .ad-sched-g { grid-template-columns: 1fr 1fr; } .ad-sched-g .ip-field:first-child, .ad-sched-days { grid-column: 1 / -1; } }
.ad-warn { color: var(--ip-warn); font-weight: 700; }
.ad-rw { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.ad-rw small { font-size: 12px; }
.ad-rw [hidden] { display: none !important; }
.ip-pf-lock { text-align: center; max-width: 620px; margin: 0 auto; }
.ip-pf-lock-ic { font-size: 44px; }
.ip-pf-lock-l { list-style: none; padding: 0; margin: 14px auto 0; display: grid; gap: 8px; max-width: 360px; text-align: left; font-weight: 600; }

/* ---------- Admin: push alerts ---------- */
.ad-kinds { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.ad-kind { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--ip-border); border-radius: 12px; padding: 10px 12px; cursor: pointer; }
.ad-kind input { margin-top: 4px; accent-color: var(--ip-brand); }
.ad-kind span { display: flex; flex-direction: column; } .ad-kind small { color: var(--ip-muted); font-size: 12.5px; }
.ad-qh { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 12px; } .ad-qh .ip-input { width: auto; }
.ad-send { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .ad-send .w2 { grid-column: 1 / -1; } .ad-send .ip-field { margin: 0; }
@media (max-width: 640px) { .ad-send { grid-template-columns: 1fr; } }
.ad-npv-wrap { margin: 14px 0; display: grid; gap: 6px; }
.ad-npv { display: flex; gap: 12px; align-items: flex-start; background: #202124; color: #e8eaed; border-radius: 16px; padding: 14px; max-width: 420px; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-family: system-ui, sans-serif; }
.ad-npv img, .ad-npv-ic { width: 46px; height: 46px; border-radius: 12px; object-fit: contain; background: #fff; flex: 0 0 auto; display: grid; place-items: center; font-weight: 800; color: #0b8a5f; }
.ad-npv div { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .ad-npv b { font-size: 14.5px; } .ad-npv span { font-size: 13.5px; color: #bdc1c6; } .ad-npv small { font-size: 11.5px; color: #9aa0a6; }
.ad-npv em { display: flex; gap: 16px; font-style: normal; margin-top: 6px; } .ad-npv em i { font-style: normal; color: #8ab4f8; font-weight: 700; font-size: 13px; }
.ad-npv.sm { max-width: none; padding: 10px 12px; } .ad-nlist { display: grid; gap: 8px; }
.ad-autoset { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; border: 2px solid color-mix(in srgb, var(--ip-brand) 55%, var(--ip-border)); background: color-mix(in srgb, var(--ip-brand) 7%, var(--ip-surface)); }
.ad-autoset > div { flex: 1 1 320px; display: grid; gap: 4px; } .ad-autoset b { font-size: 17px; } .ad-autoset span { font-size: 13.5px; color: var(--ip-muted); }
.ad-autoset .ip-btn-primary { font-size: 15px; padding: 12px 18px; }
.ad-as-steps { margin: 8px 0 0; padding-left: 18px; font-size: 14px; display: grid; gap: 4px; } .ad-as-steps .bad { color: var(--ip-warn); }
.ad-as-steps[hidden] { display: none; }

/* IPO documents card (DRHP / RHP / Anchor) */
.ip-docs { padding: 0; overflow: hidden; }
.ip-fin-hd h2 svg { flex: none; }
.ip-docs-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; padding: 18px 22px; }
.ip-doc { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--ip-border); border-radius: 14px; background: var(--ip-surface); min-width: 0; }
.ip-doc-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--ip-brand-soft); color: var(--ip-brand); flex: none; }
.ip-doc-t { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ip-doc-t b { font-size: 16px; letter-spacing: .02em; }
.ip-doc-t small { color: var(--ip-muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-doc-a { display: flex; gap: 6px; flex: none; }
.ip-doc-b { position: relative; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; border: 1px solid var(--ip-border); background: var(--ip-surface-2); color: var(--ip-fg); cursor: pointer; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.ip-doc-b span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ip-doc-b:hover, .ip-doc-b:focus-visible { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }

/* Valuations card (Earnings · Returns · Fundamentals) */
.ip-valcard { padding: 0; overflow: hidden; }
.ip-val-g { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 32px; padding: 18px 22px 20px; }
.ip-val-c h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ip-muted); }
.ip-val-c h3 svg { color: var(--ip-brand); }
.ip-val-c dl { margin: 0; }
.ip-val-c dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--ip-border); }
.ip-val-c dl div:last-child { border-bottom: 0; }
.ip-val-c dt { color: var(--ip-muted); }
.ip-val-c dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }

/* In-page PDF viewer */
body.ip-noscroll { overflow: hidden; }
.ip-pdfv { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; background: #1b2130; }
.ip-pdfv-bar { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: var(--ip-surface); color: var(--ip-fg); border-bottom: 1px solid var(--ip-border); }
.ip-pdfv-t { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ip-pdfv-pg { font-size: 13px; color: var(--ip-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ip-pdfv-sp { flex: 1; }
.ip-pdfv-bar button, .ip-pdfv-bar a { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--ip-border); background: var(--ip-surface-2); color: var(--ip-fg); font-size: 18px; font-weight: 700; cursor: pointer; text-decoration: none; }
.ip-pdfv-bar [data-close] { background: var(--ip-brand); border-color: var(--ip-brand); color: #fff; }
.ip-pdfv-body { flex: 1; overflow: auto; padding: 12px; display: flex; flex-direction: column; align-items: center; gap: 12px; -webkit-overflow-scrolling: touch; }
.ip-pdfv-body canvas { background: #fff; box-shadow: 0 4px 18px rgba(0, 0, 0, .35); border-radius: 4px; max-width: none; flex: none; }
.ip-pdfv-msg { margin: auto; color: #fff; text-align: center; font-size: 15px; }
@media (max-width: 560px) { .ip-pdfv-bar { gap: 6px; padding: 8px; } .ip-pdfv-pg { display: none; } .ip-docs-g, .ip-val-g { padding: 14px 16px; } }

/* Admin: IPO documents uploader */
.ad-docs { display: grid; gap: 10px; }
.ad-doc { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px dashed var(--ip-border); border-radius: 12px; flex-wrap: wrap; }
.ad-doc.has { border-style: solid; background: color-mix(in srgb, var(--ip-brand) 6%, var(--ip-surface)); }
.ad-doc-ic { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--ip-brand-soft); color: var(--ip-brand); flex: none; }
.ad-doc-t { flex: 1 1 160px; display: grid; gap: 3px; min-width: 0; } .ad-doc-t small { color: var(--ip-muted); font-size: 12.5px; }
.ad-doc-bar { height: 6px; border-radius: 99px; background: var(--ip-surface-2); overflow: hidden; } .ad-doc-bar[hidden] { display: none; } .ad-doc-bar i { display: block; height: 100%; width: 0; background: var(--ip-brand); transition: width .2s; }
.ad-doc-act { display: flex; gap: 6px; flex-wrap: wrap; } .ad-doc-act .disabled { pointer-events: none; opacity: .5; }
.ip-ct-ph { display: flex; flex-wrap: wrap; gap: 2px 0; } .ip-ct-ph a + a::before { content: "/"; margin: 0 6px; color: var(--ip-muted); }
.ad-doc.err { border-color: var(--ip-down); border-style: solid; } .ad-doc.err small { color: var(--ip-down); font-weight: 600; }
.ad-doc-warn { line-height: 1.6; } .ad-doc-warn code { font-size: 12.5px; word-break: break-all; }
.ad-doc.has .ad-doc-t small::before { content: "✅ Uploaded · "; color: var(--ip-up); font-weight: 700; }

/* Legal pages (Privacy Policy, Terms & Conditions) + footer legal links */
.ip-foot-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13.5px; }
.ip-foot-legal a { color: #c9d3e3; text-decoration: none; } .ip-foot-legal a:hover { color: #fff; text-decoration: underline; }
.ip-foot-legal + .ip-foot-mail { margin-top: 14px; }
.ip-legal-date { margin: 0 0 6px; font-size: 13px; color: var(--ip-muted); font-weight: 600; }
.ip-legal h1 { margin-top: 0; }
.ip-legal h2 { scroll-margin-top: 90px; font-size: 21px; }
.ip-legal h3 { font-size: 16.5px; }
.ip-legal-toc { margin: 18px 0 8px; padding: 14px 18px; border: 1px solid var(--ip-border); border-radius: 14px; background: var(--ip-surface-2); font-size: 14.5px; line-height: 1.6; }
.ip-legal-toc ol { margin: 6px 0 0; padding-left: 20px; columns: 2 220px; column-gap: 28px; }
.ip-legal-toc a { text-decoration: none; } .ip-legal-toc a:hover { text-decoration: underline; }
.ip-legal-box { border: 1px solid color-mix(in srgb, var(--ip-brand) 35%, var(--ip-border)); background: color-mix(in srgb, var(--ip-brand) 7%, var(--ip-surface)); border-radius: 14px; padding: 14px 18px; margin: 0 0 1em; }
.ip-legal-box ul { margin: 0; }
.ip-legal-t { font-size: 14px; } .ip-legal-t td, .ip-legal-t th { vertical-align: top; } .ip-legal-t code { font-size: 12.5px; white-space: nowrap; }
.ad-rw small.ad-rw-ok { color: var(--ip-up); font-weight: 600; } .ad-rw small.ad-rw-bad { color: var(--ip-down); font-weight: 600; }
@keyframes ad-rw-flash { from { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ip-brand) 60%, transparent); background: color-mix(in srgb, var(--ip-brand) 12%, var(--ip-surface)); } to { box-shadow: none; } }
.ad-rw-flash { animation: ad-rw-flash 2.2s ease-out; }
/* Buyback timeline: one row that scrolls sideways when there are many steps (instead of wrapping) */
.ip-timeline-x { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(104px, 1fr); overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
@media (max-width: 640px) { .ip-timeline-x { -webkit-mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent); } }

/* ---------- Unlisted shares ---------- */
/* Menu: highlighted "Unlisted shares" button with a NEW badge and a soft pulse */
.ip-nav a.ip-nav-hot { position: relative; display: inline-flex; align-items: center; gap: 6px; color: #8a4b00 !important; background: linear-gradient(135deg, #fff1d6, #ffe2a8); border: 1px solid #f5c26b; padding: 6px 10px !important; }
.ip-nav a.ip-nav-hot i { font-style: normal; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; background: #ff7a00; color: #fff; padding: 2px 5px; border-radius: 5px; line-height: 1.2; }
.ip-nav a.ip-nav-hot:hover, .ip-nav a.ip-nav-hot[aria-current] { background: linear-gradient(135deg, #ffe7b8, #ffd27a); color: #6b3a00 !important; }
.ip-nav-dot { width: 7px; height: 7px; border-radius: 50%; background: #ff7a00; box-shadow: 0 0 0 0 rgba(255, 122, 0, .6); animation: ip-hot 1.8s infinite; flex: none; }
@keyframes ip-hot { 0% { box-shadow: 0 0 0 0 rgba(255, 122, 0, .55); } 70% { box-shadow: 0 0 0 7px rgba(255, 122, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 122, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .ip-nav-dot { animation: none; } }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-nav a.ip-nav-hot { color: #ffd08a !important; background: linear-gradient(135deg, #3a2608, #4a2f0a); border-color: #7a4a10; } }
:root[data-theme="dark"] .ip-nav a.ip-nav-hot { color: #ffd08a !important; background: linear-gradient(135deg, #3a2608, #4a2f0a); border-color: #7a4a10; }

.ip-ul-tag { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; background: #fff1d6; color: #8a4b00; }
.ip-ulhead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin: 14px 0 12px; }
.ip-ulhead h1 { margin: 8px 0 4px; font-size: 30px; } .ip-ulhead h1 em { font-style: normal; color: var(--ip-brand); } .ip-ulhead p { margin: 0; color: var(--ip-muted); max-width: 640px; }
.ip-ul-tools { display: flex; gap: 8px; flex-wrap: wrap; } .ip-ul-tools .ip-input { min-width: 220px; }
.ip-ul-warn { margin-bottom: 16px; border-left-color: #ff7a00; }
.ip-ulgrid { align-items: stretch; }
.ip-ulcard { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.ip-ulcard.feat { border-color: color-mix(in srgb, #ff9f1c 55%, var(--ip-border)); }
.ip-ul-top { display: flex; gap: 12px; align-items: center; color: inherit; text-decoration: none; min-width: 0; }
.ip-ul-t { display: grid; min-width: 0; flex: 1; } .ip-ul-t b { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .ip-ul-t small { color: var(--ip-muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-ul-hot { font-size: 11px; font-weight: 800; color: #b86b00; background: #fff3e0; padding: 3px 8px; border-radius: 99px; flex: none; }
.ip-ul-price { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; } .ip-ul-pv { display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap; min-width: 0; } .ip-ul-pv small { flex-basis: 100%; font-size: 11.5px; color: var(--ip-muted); font-weight: 600; } .ip-ul-spark { flex: none; } .ip-ul-spark.up { color: var(--ip-up); } .ip-ul-spark.down { color: var(--ip-down); } .ip-ul-meta { display: inline-flex; flex-direction: column; gap: 4px; align-items: flex-start; } .ip-ul-price b { font-size: 24px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ip-ul-chg { font-size: 12.5px; font-weight: 800; padding: 2px 8px; border-radius: 99px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-ul-chg.up { color: var(--ip-up); background: color-mix(in srgb, var(--ip-up) 12%, transparent); } .ip-ul-chg.down { color: var(--ip-down); background: color-mix(in srgb, var(--ip-down) 12%, transparent); }
.ip-ul-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ip-ul-kv div { background: var(--ip-surface-2); border-radius: 10px; padding: 8px 10px; min-width: 0; } .ip-ul-kv span { display: block; font-size: 11.5px; color: var(--ip-muted); } .ip-ul-kv b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.ip-ul-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.ip-ul-st { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: var(--ip-surface-2); color: var(--ip-muted); }
.ip-ul-st.plan { background: #eef4ff; color: #2b5bd7; } .ip-ul-st.drhp { background: #fff3e0; color: #b86b00; } .ip-ul-st.ok { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); } .ip-ul-st.listed { background: var(--ip-brand-soft); color: var(--ip-brand); }
.ip-ul-hero { display: grid; grid-template-columns: minmax(200px, 1fr) 2fr; gap: 18px; align-items: center; }
.ip-ul-hero > div:first-child { display: grid; gap: 4px; } .ip-ul-hero > div:first-child span { color: var(--ip-muted); font-size: 13px; font-weight: 600; } .ip-ul-hero > div:first-child b { font-size: 34px; font-weight: 800; letter-spacing: -.02em; } .ip-ul-hero small { color: var(--ip-muted); font-size: 12.5px; } .ip-ul-hero .ip-ul-chg { justify-self: start; }
.ip-ul-hero-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ip-ul-hero-kv div { background: var(--ip-surface-2); border-radius: 12px; padding: 10px 12px; min-width: 0; } .ip-ul-hero-kv span { display: block; font-size: 12px; color: var(--ip-muted); } .ip-ul-hero-kv b { display: block; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) { .ip-ul-hero { grid-template-columns: 1fr; } }
.ip-ul-buy { border: 2px solid color-mix(in srgb, var(--ip-brand) 45%, var(--ip-border)); }
.ip-ul-plats { display: grid; gap: 10px; }
.ip-ul-plat { display: grid; grid-template-columns: minmax(140px, 1.2fr) 2fr auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--ip-border); border-radius: 14px; }
.ip-ul-plat.best { background: color-mix(in srgb, var(--ip-brand) 6%, var(--ip-surface)); border-color: color-mix(in srgb, var(--ip-brand) 40%, var(--ip-border)); }
.ip-ul-pn { display: grid; gap: 3px; } .ip-ul-pn b { font-size: 16px; } .ip-ul-pn small { color: var(--ip-muted); font-size: 12px; }
.ip-ul-best { justify-self: start; font-size: 11px; font-weight: 800; color: var(--ip-brand); background: var(--ip-brand-soft); padding: 2px 8px; border-radius: 99px; }
.ip-ul-pp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .ip-ul-pp span { display: block; font-size: 11.5px; color: var(--ip-muted); } .ip-ul-pp b { font-size: 15px; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .ip-ul-plat { grid-template-columns: 1fr; } .ip-ul-plat .ip-btn { justify-self: stretch; text-align: center; } }

/* Admin: unlisted */
.ad-ul-plats { display: grid; gap: 8px; }
.ad-ul-plat { display: grid; grid-template-columns: 1.2fr 2fr .8fr .8fr .7fr 1.2fr auto; gap: 6px; align-items: center; }
.ad-ul-plat .ip-input { min-width: 0; padding: 8px 9px; font-size: 13.5px; }
.ad-ul-plh { font-size: 11.5px; color: var(--ip-muted); font-weight: 700; }
.ad-ul-pre { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
@media (max-width: 900px) { .ad-ul-plat { grid-template-columns: 1fr 1fr; } .ad-ul-plh { display: none; } }
.ad-ul-qp { display: flex; gap: 4px; align-items: center; } .ad-ul-qp .ip-input { width: 96px; padding: 6px 8px; }

/* Admin card notice on IPO cards (e.g. issue extended) */
.ip-ipo-notice { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; padding: 8px 12px; background: #fff7e6; border: 1px solid #ffe2a8; border-radius: 10px; font-size: 12.5px; line-height: 1.45; color: #6b4a00; font-weight: 600; }
[data-theme="dark"] .ip-ipo-notice { background: #3a2c0c; border-color: #5c4512; color: #ffd98a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-ipo-notice { background: #3a2c0c; border-color: #5c4512; color: #ffd98a; } }
.ip-ipo-notice > span:first-child { flex: none; }
.ip-ipo-card > .ip-ipo-notice { margin-top: 0; }
.ad-form .w3n { grid-column: span 3; } @media (max-width: 760px) { .ad-form .w3n { grid-column: 1/-1; } }

/* Day-wise subscription chart */
.ip-subchart { margin: 6px 0 12px; } .ip-subchart svg { width: 100%; height: auto; display: block; }
.ip-subchart text { font-size: 11px; fill: var(--ip-muted); font-family: inherit; } .ip-subchart .g { stroke: var(--ip-border); stroke-width: 1; }
.ip-subchart figcaption { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--ip-muted); margin-top: 4px; } .ip-subchart figcaption i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
[data-theme="dark"] .ip-subchart polyline[stroke="#1f2937"] { stroke: #e5e7eb; } [data-theme="dark"] .ip-subchart circle[fill="#1f2937"], [data-theme="dark"] .ip-subchart figcaption i[style*="#1f2937"] { fill: #e5e7eb; background: #e5e7eb !important; }

.ip-peer-me td { background: var(--ip-brand-soft); font-weight: 700; }

/* Apply or Skip poll */
.ip-poll-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.ip-poll-b { min-width: 130px; justify-content: center; font-weight: 800; font-size: 15px; padding: 10px 18px; }
.ip-poll-b.a.on { background: var(--ip-up); border-color: var(--ip-up); color: #fff; } .ip-poll-b.s.on { background: var(--ip-down); border-color: var(--ip-down); color: #fff; }
.ip-poll-res { margin-top: 14px; display: grid; gap: 8px; }
.ip-poll-row { display: grid; grid-template-columns: 80px 1fr 48px; gap: 10px; align-items: center; font-size: 14px; } .ip-poll-row b { text-align: right; font-variant-numeric: tabular-nums; }
.ip-poll-bar { height: 12px; border-radius: 99px; background: var(--ip-surface-2); overflow: hidden; } .ip-poll-bar i { display: block; height: 100%; border-radius: 99px; } .ip-poll-bar i.a { background: var(--ip-up); } .ip-poll-bar i.s { background: var(--ip-down); }

/* WhatsApp + Telegram join buttons side by side */
[data-join] + [data-join2] { margin-left: 8px; } [data-join2] span { white-space: nowrap; }
.ip-cta .ip-btn[data-join2] { background: #fff !important; border-color: #fff !important; }
.ip-foot-cta .ip-btn[data-join2] { background: #fff !important; color: #1c6fa3 !important; } .ip-foot-cta .ip-btn[data-join2] svg { color: #2aabee !important; fill: #2aabee !important; }
.ip-join-g { display: flex; gap: 10px; flex-wrap: wrap; } .ip-join-g [data-join2] { margin-left: 0; }

/* Admin auto-post card */
.ad-soc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } @media (max-width: 860px) { .ad-soc { grid-template-columns: 1fr; } }
.ad-soc-c { border: 1px solid var(--ip-border); border-radius: 12px; padding: 14px; min-width: 0; } .ad-soc-c h3 { margin: 0 0 8px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; } .ad-soc-c h3 .ip-ic { width: 20px; height: 20px; }
.ad-soc-c details { margin-bottom: 10px; } .ad-soc-c summary { cursor: pointer; font-weight: 700; font-size: 13.5px; } .ad-soc-c ol { margin: 6px 0 0; padding-left: 20px; line-height: 1.6; }
.ad-soc-st { font-size: 11.5px; font-weight: 800; padding: 2px 9px; border-radius: 99px; background: var(--ip-surface-2); color: var(--ip-muted); } .ad-soc-st.on { background: color-mix(in srgb, var(--ip-up) 14%, transparent); color: var(--ip-up); }
.ad-soc-log { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 4px; font-size: 13px; } .ad-soc-log li { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; } .ad-soc-log li span { color: var(--ip-fg); }

.ip-share-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; } .ip-share-row .ip-share { margin: 0; }

/* Pipeline & Rights/NCD */
#pl-st, #ri-k { flex-wrap: wrap; max-width: 100%; }
.ip-pl-t td { vertical-align: top; } .ip-pl-links { display: flex; gap: 4px 12px; flex-wrap: wrap; margin-top: 4px; font-size: 12.5px; font-weight: 700; }
.ip-ri-card { display: flex; flex-direction: column; gap: 4px; } .ip-ri-card h3 { margin: 8px 0 2px; font-size: 18px; }
.ip-ri-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.ip-ri-kind { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; background: #eef4ff; color: #2b5bd7; } .ip-ri-kind.ncd { background: #fff3e0; color: #b86b00; }

/* NEW highlight for Pipeline / Rights & NCD links (footer + IPO menu) */
.ip-new-b { display: inline-block; font-style: normal; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; background: #ff7a00; color: #fff; padding: 2px 6px; border-radius: 5px; line-height: 1.3; margin-left: 8px; vertical-align: middle; animation: ip-newp 1.8s ease-in-out infinite; }
@keyframes ip-newp { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,122,0,.55); } 50% { box-shadow: 0 0 0 5px rgba(255,122,0,0); } }
@media (prefers-reduced-motion: reduce) { .ip-new-b { animation: none; } }
.ip-foot-col a.ip-foot-new { color: #ffd08a !important; font-weight: 700; }
.ip-foot-col a.ip-foot-new .ip-fi-b { background: rgba(255,122,0,.18) !important; color: #ffb347 !important; box-shadow: 0 0 0 1px rgba(255,122,0,.45); }
.ip-dd-i.ip-dd-new { background: linear-gradient(135deg, #fff7e6, #ffefd0); border-radius: 10px; }
.ip-dd-i.ip-dd-new .ip-dd-ic { background: #ffe2a8 !important; color: #b85c00 !important; }
[data-theme="dark"] .ip-dd-i.ip-dd-new { background: linear-gradient(135deg, #3a2608, #2e1f07); } [data-theme="dark"] .ip-dd-i.ip-dd-new .ip-dd-ic { background: #4a2f0a !important; color: #ffd08a !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ip-dd-i.ip-dd-new { background: linear-gradient(135deg, #3a2608, #2e1f07); } :root:not([data-theme="light"]) .ip-dd-i.ip-dd-new .ip-dd-ic { background: #4a2f0a !important; color: #ffd08a !important; } }

.ip-ri-co { display: flex; gap: 12px; align-items: center; margin-top: 10px; } .ip-ri-co h3 { margin: 0; }
.ip-ri-about { margin-top: 10px; font-size: 13.5px; } .ip-ri-about summary { cursor: pointer; font-weight: 700; color: var(--ip-brand); } .ip-ri-about p { margin: 6px 0 0; color: var(--ip-muted); line-height: 1.55; }
.ip-ri-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; } .ip-ri-btns:empty { display: none; }

/* Follow IPOPulse (home) + social brand buttons */
.ip-follow { display: flex; gap: 16px 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; } .ip-follow h2 { margin: 0 0 4px; } .ip-follow p { margin: 0; }
.ip-follow-l { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-follow-l a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 11px; font-weight: 800; font-size: 14px; color: #fff !important; text-decoration: none; transition: transform .12s, filter .12s; }
.ip-follow-l a:hover { transform: translateY(-1px); filter: brightness(1.06); } .ip-follow-l a .ip-ic { width: 18px; height: 18px; color: #fff !important; }
.ip-follow-l .ip-soc-whatsapp { background: #25d366; } .ip-follow-l .ip-soc-telegram { background: #2aabee; } .ip-follow-l .ip-soc-instagram { background: linear-gradient(45deg, #f9a825, #e1306c 45%, #833ab4); }
.ip-follow-l .ip-soc-facebook { background: #1877f2; } .ip-follow-l .ip-soc-twitter { background: #111; } .ip-follow-l .ip-soc-youtube { background: #ff0000; } .ip-follow-l .ip-soc-linkedin { background: #0a66c2; }
[data-theme="dark"] .ip-follow-l .ip-soc-twitter { background: #2b2b2b; }
.ip-footer .ip-social { flex-wrap: wrap; }
/* Admin social form */
.ad-sm { display: grid; gap: 10px; } .ad-sm-row { display: grid; grid-template-columns: 36px 150px 1fr auto; gap: 10px; align-items: center; }
.ad-sm-ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--ip-surface-2); } .ad-sm-ic .ip-ic { width: 20px; height: 20px; }
.ad-sm-t { font-weight: 700; font-size: 14px; }
.ad-sm-row.ip-soc-whatsapp .ip-ic { color: #25d366; } .ad-sm-row.ip-soc-telegram .ip-ic { color: #2aabee; } .ad-sm-row.ip-soc-instagram .ip-ic { color: #e1306c; } .ad-sm-row.ip-soc-facebook .ip-ic { color: #1877f2; } .ad-sm-row.ip-soc-youtube .ip-ic { color: #ff0000; } .ad-sm-row.ip-soc-linkedin .ip-ic { color: #0a66c2; }
@media (max-width: 640px) { .ad-sm-row { grid-template-columns: 36px 1fr auto; } .ad-sm-row input { grid-column: 1 / -1; } }
.ad-sm-row [hidden] { display: none !important; }
