/*
  badges.css — single source for IPO Ji badge colors and board/status rules.
  Edit colors in :root (and body.ipoji-dark-mode) only; pages consume via var(--badge-*).
*/

/* ============================================================
   Tokens (light)
   ============================================================ */
:root {
	--badge-type-bg: #eef1f5;
	--badge-type-text: #475569;
	--badge-type-border: #e2e8f0;

	--badge-mainboard-bg: #f1edfb;
	--badge-mainboard-text: #6d28d9;
	--badge-mainboard-border: #e4d9f7;

	--badge-bse-sme-bg: #e0f2fe;
	--badge-bse-sme-text: #075985;
	--badge-bse-sme-border: #bae6fd;

	--badge-nse-sme-bg: #fff7ed;
	--badge-nse-sme-text: #c2410c;
	--badge-nse-sme-border: #fed7aa;

	--badge-tender-bg: #f1f4ff;
	--badge-tender-text: var(--color-primary, #6055cd);
	--badge-tender-border: #c7d2fe;

	--badge-sme-generic-bg: #efe7fb;
	--badge-sme-generic-text: #5a1d9c;

	/* Aliases used by subscription / legacy selectors */
	--badge-sme-bg: var(--badge-bse-sme-bg);
	--badge-sme-text: var(--badge-bse-sme-text);
	--badge-sme-border: var(--badge-bse-sme-border);
	--badge-nsesme-bg: var(--badge-nse-sme-bg);
	--badge-nsesme-text: var(--badge-nse-sme-text);
	--badge-nsesme-border: var(--badge-nse-sme-border);
	--badge-border: var(--badge-type-border);

	/* IPO lifecycle status (also used by shareFunction.getStatusColor) */
	--badge-status-live-bg: #ffb4b47a;
	--badge-status-live-text: #dc2626;
	/* Closed is inert (can't act anymore) — neutral gray, so red stays exclusive to Live/Cancelled */
	--badge-status-closed-bg: #e2e8f0;
	--badge-status-closed-text: #64748b;
	--badge-status-preapply-bg: #fef3c7;
	--badge-status-preapply-text: #b45309;
	--badge-status-allotment-awaited-bg: #ffa50021;
	--badge-status-allotment-awaited-text: #b45309;
	--badge-status-listing-tomorrow-bg: #4747ff30;
	--badge-status-listing-tomorrow-text: #2563eb;
	--badge-status-allotment-out-bg: #d1fae5;
	--badge-status-allotment-out-text: #059669;
	--badge-status-listing-today-bg: var(--badge-status-allotment-out-bg);
	--badge-status-listing-today-text: var(--badge-status-allotment-out-text);
	--badge-status-cancelled-bg: #fee2e2;
	--badge-status-cancelled-text: #991b1b;

	/* Event calendar milestone badges */
	--badge-event-open-bg: #cce5ff;
	--badge-event-open-text: #004085;
	--badge-event-listing-bg: #fff3cd;
	--badge-event-listing-text: #856404;
	--badge-event-other-bg: #ffe5d4;
	--badge-event-other-text: #ff6f61;
}

/* ============================================================
   Tokens (dark)
   ============================================================ */
body.ipoji-dark-mode {
	--badge-type-bg: color-mix(in srgb, var(--color-primary, #6055cd) 14%, #181a1f);
	--badge-type-text: #c4b5fd;
	--badge-type-border: #2d3140;

	--badge-mainboard-bg: color-mix(in srgb, #8b5cf6 22%, #181a1f);
	--badge-mainboard-text: #c4b5fd;
	--badge-mainboard-border: #2d3140;

	--badge-bse-sme-bg: color-mix(in srgb, #1c7ed6 22%, #181a1f);
	--badge-bse-sme-text: #7dd3fc;
	--badge-bse-sme-border: #2d3140;

	--badge-nse-sme-bg: color-mix(in srgb, #f59e0b 20%, #181a1f);
	--badge-nse-sme-text: #fcd34d;
	--badge-nse-sme-border: #2d3140;

	--badge-sme-generic-bg: #2a1640;
	--badge-sme-generic-text: #d4b3ff;

	/* Re-declare aliases so they re-resolve against dark board tokens */
	--badge-sme-bg: var(--badge-bse-sme-bg);
	--badge-sme-text: var(--badge-bse-sme-text);
	--badge-sme-border: var(--badge-bse-sme-border);
	--badge-nsesme-bg: var(--badge-nse-sme-bg);
	--badge-nsesme-text: var(--badge-nse-sme-text);
	--badge-nsesme-border: var(--badge-nse-sme-border);
	--badge-border: var(--badge-type-border);

	--badge-status-live-bg: #3a1212;
	--badge-status-live-text: #ff8a80;
	--badge-status-closed-bg: #262a33;
	--badge-status-closed-text: #9aa4b2;
	--badge-status-preapply-bg: #2e2200;
	--badge-status-preapply-text: #ffd77a;
	--badge-status-allotment-awaited-bg: #2e2200;
	--badge-status-allotment-awaited-text: #ffd77a;
	--badge-status-listing-tomorrow-bg: #0d1f3a;
	--badge-status-listing-tomorrow-text: #90caf9;
	--badge-status-allotment-out-bg: #0d2e1e;
	--badge-status-allotment-out-text: #6fcf97;
	--badge-status-listing-today-bg: #0d2e1e;
	--badge-status-listing-today-text: #6fcf97;
	--badge-status-cancelled-bg: #3a1212;
	--badge-status-cancelled-text: #ff8a80;

	--badge-event-open-bg: #0d1f3a;
	--badge-event-open-text: #90caf9;
	--badge-event-listing-bg: #2e2200;
	--badge-event-listing-text: #ffd77a;
	--badge-event-other-bg: #3a1a0d;
	--badge-event-other-text: #ffb185;
}

/* ============================================================
   Default type / role badges
   ============================================================ */
[data-role="type"],
.ipo-card-market-badge,
.ipoListCard span[data-ipotype] {
	background-color: var(--badge-type-bg);
	color: var(--badge-type-text);
}

/* All badges (card market badges AND detail/subscription type badges) are
   flat/borderless — the tinted (or neutral) fill alone defines the pill. This
   also keeps type + status badges the same height when they sit side by side
   (a 1px border would add 2px at auto height and make the type badge taller). */

/* View button: soft brand-tonal secondary — pairs with the solid purple
   primary ("Apply"/"Check Allotment") without competing. Kept on its own
   colors (not the neutral --badge-type-* token) so badge changes don't move it. */
.ipoListCard .viewBtn {
	background-color: #eef2ff;
	border: 1px solid #e0e7ff;
	color: #4338ca;
	border-radius: 6px;
}

/* ============================================================
   Board / exchange badges (Mainboard, BSE SME, NSE SME)
   ============================================================ */
.ipo-card-market-badge[data-ipotype="Mainboard"],
.ipoListCard span[data-ipotype="Mainboard"],
span[data-role="type"][data-ipotype="Mainboard"],
span[data-ipotype="Mainboard"],
.gmp-type-mainboard {
	background-color: var(--badge-mainboard-bg);
	border-color: var(--badge-mainboard-border);
	color: var(--badge-mainboard-text);
}

.ipo-card-market-badge[data-ipotype="BSE SME"],
.ipoListCard span[data-ipotype="BSE SME"],
span[data-role="type"][data-ipotype="BSE SME"],
span[data-ipotype="BSE SME"],
.gmp-type-bse-sme {
	background-color: var(--badge-bse-sme-bg);
	border-color: var(--badge-bse-sme-border);
	color: var(--badge-bse-sme-text);
}

.ipo-card-market-badge[data-ipotype="NSE SME"],
.ipoListCard span[data-ipotype="NSE SME"],
span[data-role="type"][data-ipotype="NSE SME"],
span[data-ipotype="NSE SME"],
.gmp-type-nse-sme {
	background-color: var(--badge-nse-sme-bg);
	border-color: var(--badge-nse-sme-border);
	color: var(--badge-nse-sme-text);
}

.gmp-type-sme {
	background-color: var(--badge-sme-generic-bg);
	color: var(--badge-sme-generic-text);
}

.buybackcard.ipo-card-new .ipo-card-market-badge[data-ipotype="Tender Offer"] {
	background-color: var(--badge-tender-bg);
	color: var(--badge-tender-text);
}

/* ============================================================
   Dashboard exchange badges (NSE / BSE) — same tokens as IPO card board badges
   ============================================================ */
.ipo-dashboard-exchange-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	line-height: 1.2;
	white-space: nowrap;
}

.ipo-dashboard-exchange-badge--nse {
	background-color: var(--badge-nse-sme-bg) !important;
	border-color: var(--badge-nse-sme-border);
	color: var(--badge-nse-sme-text) !important;
}

.ipo-dashboard-exchange-badge--bse {
	background-color: var(--badge-bse-sme-bg) !important;
	border-color: var(--badge-bse-sme-border);
	color: var(--badge-bse-sme-text) !important;
}

/* ============================================================
   Status badges (class helpers + cancelled)
   ============================================================ */
.ipo-card-status-badge.cancelled,
.badge-status-cancelled {
	background-color: var(--badge-status-cancelled-bg);
	color: var(--badge-status-cancelled-text);
}

.badge-status-live {
	background-color: var(--badge-status-live-bg);
	color: var(--badge-status-live-text);
}

.badge-status-closed {
	background-color: var(--badge-status-closed-bg);
	color: var(--badge-status-closed-text);
}

.badge-status-preapply {
	background-color: var(--badge-status-preapply-bg);
	color: var(--badge-status-preapply-text);
}

.badge-status-allotment-awaited {
	background-color: var(--badge-status-allotment-awaited-bg);
	color: var(--badge-status-allotment-awaited-text);
}

.badge-status-listing-tomorrow {
	background-color: var(--badge-status-listing-tomorrow-bg);
	color: var(--badge-status-listing-tomorrow-text);
}

.badge-status-allotment-out {
	background-color: var(--badge-status-allotment-out-bg);
	color: var(--badge-status-allotment-out-text);
}

.badge-status-listing-today {
	background-color: var(--badge-status-listing-today-bg);
	color: var(--badge-status-listing-today-text);
}

/* ============================================================
   Event calendar helpers
   ============================================================ */
.badge-event-open {
	background-color: var(--badge-event-open-bg);
	color: var(--badge-event-open-text);
}

.badge-event-listing {
	background-color: var(--badge-event-listing-bg);
	color: var(--badge-event-listing-text);
}

.badge-event-other {
	background-color: var(--badge-event-other-bg);
	color: var(--badge-event-other-text);
}
