:root,
[data-theme="dark"] {
	--app-bg: #070b12;
	--app-bg-rgb: 7, 11, 18;
	--surface-1: #0d141e;
	--surface-2: #111a26;
	--surface-3: #151f2d;
	--surface-elevated: #181f2f;
	--surface-glass: rgba(13, 20, 30, .82);
	--surface-muted: rgba(255, 255, 255, .035);
	--surface-hover: rgba(96, 101, 255, .09);
	--surface-gradient: linear-gradient(145deg, rgba(20, 27, 39, .96), rgba(9, 14, 22, .98));
	--surface-gradient-soft: linear-gradient(135deg, rgba(20, 29, 44, .92), rgba(13, 20, 31, .96));
	--surface-gradient-accent: linear-gradient(135deg, rgba(20, 27, 43, .98), rgba(12, 17, 28, .98));
	--page-background: radial-gradient(circle at 50% 12%, rgba(28, 42, 68, .16), transparent 34%), var(--app-bg);
	--text-primary: #f5f7fb;
	--text-secondary: #aeb8ca;
	--text-tertiary: #7f8ba0;
	--text-on-accent: #ffffff;
	--border-primary: #273244;
	--border-soft: rgba(255, 255, 255, .08);
	--border-subtle: rgba(148, 163, 184, .18);
	--primary: #6673ff;
	--primary-hover: #7478ff;
	--primary-light: #8e98ff;
	--primary-soft: rgba(102, 115, 255, .14);
	--primary-border: rgba(102, 115, 255, .32);
	--success: #4cdb6b;
	--success-strong: #42d477;
	--success-soft: rgba(76, 219, 107, .12);
	--success-border: rgba(76, 219, 107, .28);
	--danger: #ff5964;
	--danger-soft: rgba(255, 89, 100, .12);
	--danger-border: rgba(255, 89, 100, .28);
	--warning: #d5b873;
	--warning-soft: rgba(213, 184, 115, .12);
	--warning-fill: #ffc107;
	--warning-fill-hover: #ffca2c;
	--warning-fill-disabled: #ffe8a1;
	--warning-on-fill: #212529;
	--payment-accent: #f58220;
	--input-bg: #0b1220;
	--input-placeholder: #748095;
	--nav-bg: rgba(7, 11, 18, .96);
	--header-bg: rgba(7, 11, 18, .94);
	--modal-bg: #151c29;
	--overlay-bg: rgba(1, 5, 12, .88);
	--table-header-bg: rgba(17, 26, 38, .94);
	--table-row-bg: rgba(13, 20, 30, .72);
	--table-row-hover: rgba(96, 101, 255, .08);
	--shadow-card: 0 16px 42px rgba(0, 0, 0, .18);
	--shadow-nav: 0 -14px 38px rgba(0, 0, 0, .28);
	--shadow-modal: 0 30px 80px rgba(0, 0, 0, .52);
	--icon-container: rgba(255, 255, 255, .045);
	--autofill-bg: #111a26;
	--qr-background: #ffffff;
	--theme-color: #070b12;

	--otp-bg: var(--app-bg);
	--otp-surface: var(--surface-1);
	--otp-surface-2: var(--surface-2);
	--otp-surface-hover: var(--surface-3);
	--otp-border: var(--border-primary);
	--otp-border-soft: var(--border-soft);
	--otp-primary: var(--primary);
	--otp-primary-light: var(--primary-hover);
	--otp-primary-soft: var(--primary-soft);
	--otp-success: var(--success);
	--otp-danger: var(--danger);
	--otp-text: var(--text-primary);
	--otp-muted: var(--text-secondary);
	--dashboard-surface: var(--surface-glass);
	--dashboard-surface-strong: var(--surface-elevated);
	--dashboard-border: var(--border-subtle);
	--dashboard-text: var(--text-primary);
	--dashboard-muted: var(--text-secondary);
	--dashboard-accent: var(--primary);
	--dashboard-accent-soft: var(--primary-soft);
	--dashboard-success: var(--success-strong);
	--dashboard-danger: var(--danger);
	--profile-surface: var(--surface-glass);
	--profile-surface-strong: var(--surface-elevated);
	--profile-border: var(--border-subtle);
	--profile-text: var(--text-primary);
	--profile-muted: var(--text-secondary);
	--profile-accent: var(--primary);
	--profile-accent-soft: var(--primary-soft);
	--profile-success: var(--success-strong);
	--public-primary: var(--primary);
	--public-primary-light: var(--primary-hover);
	--public-surface: var(--surface-1);
	--public-surface-soft: var(--surface-2);
	--public-border: var(--border-primary);
	--public-text: var(--text-primary);
	--public-muted: var(--text-secondary);
	--public-success: var(--success);
	--public-danger: var(--danger);
}

[data-theme="light"] {
	--app-bg: #f4f6fa;
	--app-bg-rgb: 244, 246, 250;
	--surface-1: #ffffff;
	--surface-2: #f8f9fc;
	--surface-3: #eef1f6;
	--surface-elevated: #ffffff;
	--surface-glass: rgba(255, 255, 255, .94);
	--surface-muted: rgba(20, 30, 50, .035);
	--surface-hover: rgba(95, 96, 232, .08);
	--surface-gradient: linear-gradient(145deg, #ffffff, #f8f9fc);
	--surface-gradient-soft: linear-gradient(135deg, #ffffff, #f6f8fc);
	--surface-gradient-accent: linear-gradient(135deg, #ffffff, #f4f5ff);
	--page-background: radial-gradient(circle at 50% 8%, rgba(95, 96, 232, .055), transparent 34%), var(--app-bg);
	--text-primary: #171a22;
	--text-secondary: #5f6b7e;
	--text-tertiary: #7d889a;
	--text-on-accent: #ffffff;
	--border-primary: #d7dee8;
	--border-soft: rgba(20, 30, 50, .08);
	--border-subtle: rgba(92, 108, 132, .2);
	--primary: #5f60e8;
	--primary-hover: #5152d8;
	--primary-light: #6466e8;
	--primary-soft: rgba(95, 96, 232, .1);
	--primary-border: rgba(95, 96, 232, .28);
	--success: #1f9d4c;
	--success-strong: #198f43;
	--success-soft: rgba(31, 157, 76, .1);
	--success-border: rgba(31, 157, 76, .26);
	--danger: #d83d4a;
	--danger-soft: rgba(216, 61, 74, .1);
	--danger-border: rgba(216, 61, 74, .25);
	--warning: #98651a;
	--warning-soft: rgba(183, 121, 31, .1);
	--input-bg: #ffffff;
	--input-placeholder: #7f8999;
	--nav-bg: rgba(255, 255, 255, .96);
	--header-bg: rgba(255, 255, 255, .95);
	--modal-bg: #ffffff;
	--overlay-bg: rgba(20, 30, 50, .38);
	--table-header-bg: #eef1f6;
	--table-row-bg: #ffffff;
	--table-row-hover: #f3f4ff;
	--shadow-card: 0 8px 24px rgba(25, 40, 70, .08);
	--shadow-nav: 0 -10px 28px rgba(25, 40, 70, .1);
	--shadow-modal: 0 26px 70px rgba(25, 40, 70, .22);
	--icon-container: #f1f3f8;
	--autofill-bg: #eef1f6;
	--theme-color: #f4f6fa;
}

html {
	background: var(--app-bg);
	color-scheme: dark;
}

html[data-theme="light"] { color-scheme: light; }

body {
	background: var(--page-background);
	color: var(--text-primary);
}

.main-app,
.public-page,
.dashboard-screen,
.otp-screen,
.profile-screen,
.recharge-page,
.admin-summary-screen,
.admin-otp-detail,
.admin-popular-screen,
.admin-user-details { color: var(--text-primary); }

.header,
.public-shell .public-header {
	border-bottom-color: var(--border-soft);
	background: var(--header-bg);
	box-shadow: 0 8px 28px rgba(25, 40, 70, .1);
}

.nav .navbar-brand .temp-brand-part,
.public-shell .navbar-brand .temp-brand-part { color: var(--text-primary); }
.nav .navbar-brand .sms-brand-part,
.public-shell .navbar-brand .sms-brand-part { color: var(--primary); }

.header-balance-chip,
.header-action-btn {
	border-color: var(--border-primary);
	background: var(--surface-glass);
}
.header-balance-chip > i { color: var(--text-primary); }
.header-balance-chip .balance { color: var(--success) !important; }
.header-action-btn:hover { border-color: var(--primary-border); background: var(--primary-soft); }

.header-theme-controls {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}
.header-theme-button {
	display: inline-grid;
	width: 30px;
	height: 30px;
	place-items: center;
	padding: 0;
	color: var(--text-tertiary);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 9px;
	font-size: 1rem;
}
.header-theme-button:hover,
.header-theme-button:focus-visible,
.header-theme-button.is-selected {
	color: var(--primary-hover);
	background: var(--primary-soft);
	border-color: var(--primary-border);
	outline: none;
}

.app-bottom-nav,
.public-bottom-nav,
.nav__menu {
	border-color: var(--border-soft);
	background: var(--nav-bg);
	box-shadow: var(--shadow-nav);
}
.app-bottom-nav-link,
.public-bottom-nav-link,
.nav__link { color: var(--text-secondary); }
.app-bottom-nav-link:hover,
.app-bottom-nav-link:focus-visible,
.app-bottom-nav-link.active-link,
.public-bottom-nav-link:hover,
.public-bottom-nav-link:focus-visible,
.public-bottom-nav-link.active-link,
.nav__link.active-link {
	color: var(--primary-hover);
	background: var(--primary-soft);
	border-color: var(--primary-border);
}

input,
select,
textarea,
.form-control,
.form-select,
.search-input,
.admin-table-search-input,
.admin-server-search-input {
	color: var(--text-primary);
	background-color: var(--input-bg);
	border-color: var(--border-primary);
}
input::placeholder,
textarea::placeholder,
.form-control::placeholder { color: var(--input-placeholder); opacity: 1; }
input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
	color: var(--text-primary);
	background-color: var(--input-bg);
	border-color: var(--primary);
	box-shadow: 0 0 0 3px var(--primary-soft);
}
input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly] { color: var(--text-tertiary); background: var(--surface-3); }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--text-primary);
	caret-color: var(--text-primary);
	box-shadow: 0 0 0 1000px var(--autofill-bg) inset;
	transition: background-color 9999s ease-out 0s;
}

.table {
	--bs-table-bg: var(--table-row-bg);
	--bs-table-color: var(--text-primary);
	--bs-table-border-color: var(--border-primary);
	--bs-table-hover-bg: var(--table-row-hover);
	--bs-table-hover-color: var(--text-primary);
	color: var(--text-primary);
}
.table thead,
.table thead tr,
.table > :not(caption) > * > th { color: var(--text-secondary); background: var(--table-header-bg); }
.table tbody tr { color: var(--text-primary); background: var(--table-row-bg); }
.table tbody tr:hover { background: var(--table-row-hover); }
.list-group-item,
.list-group-item-light,
.accordion-item,
.accordion-button,
.accordion-body,
.dropdown-menu,
.dropdown-item {
	color: var(--text-primary);
	background-color: var(--surface-1);
	border-color: var(--border-primary);
}
.list-group-item:hover,
.list-group-item:focus,
.dropdown-item:hover,
.dropdown-item:focus,
.accordion-button:not(.collapsed) { color: var(--primary-hover); background: var(--primary-soft); }
.page-link { color: var(--primary); background: var(--surface-1); border-color: var(--border-primary); }
.page-link:hover { color: var(--primary-hover); background: var(--surface-3); border-color: var(--border-primary); }
.page-item.active .page-link { color: var(--text-on-accent); background: var(--primary); border-color: var(--primary); }
hr { color: var(--border-primary); opacity: 1; }

/* Legacy fragments still share the same shell. Keep their Bootstrap-era
   controls readable without changing their structure or behavior. */
.container,
.container2,
.text,
.number,
.otp,
.otp2 { color: var(--text-primary); }
code { color: var(--primary-hover); }
.text-muted { color: var(--text-secondary) !important; }
.form-checkbox,
.password-help { color: var(--text-secondary); }
.error-password,
.admin-table-no-results td { color: var(--danger); }
.lds-ellipsis div { background: var(--primary); }
.selected,
.select-box .options-container {
	color: var(--text-primary);
	background: var(--surface-2);
	border: 1px solid var(--border-primary);
}
.select-box .option:hover { background: var(--surface-hover); }
.select-box .options-container::-webkit-scrollbar { background: var(--surface-1); }
.select-box .options-container::-webkit-scrollbar-thumb { background: var(--text-tertiary); }
.search-box input { color: var(--text-primary); background: var(--input-bg); border-color: var(--border-primary); }
.table-striped > tbody > tr:nth-of-type(odd) > * { color: var(--text-primary); background: var(--surface-2); }
.modal-header,
.modal-footer { color: var(--text-primary); background: var(--surface-1); border-color: var(--border-primary); }
.btn-close { filter: none; }
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.btn-outline-primary { color: var(--primary-hover); border-color: var(--primary); }
.btn-outline-primary:hover,
.btn-outline-primary:focus-visible { color: var(--text-on-accent); background: var(--primary); border-color: var(--primary); }
.btn-secondary-cstm { color: var(--text-secondary); border-color: var(--border-primary); }
.profile-card { color: var(--text-primary); background: var(--surface-gradient); }
.profile-element { color: var(--text-primary); background: var(--surface-2); }
.profile-element div { color: var(--text-primary); }
.profile-element div::before { color: var(--text-secondary); }
.admin-table-search-count,
.search-box-admin .icon { color: var(--primary-hover); }
.admin-branding-title { color: var(--text-primary); }
.admin-branding-help,
.admin-branding-status,
.admin-service-logo-hint { color: var(--text-secondary); }
.bg-success { color: var(--success); background: var(--success-soft) !important; }
.theme-danger-text { color: var(--danger) !important; }
.theme-warning-text { color: var(--warning) !important; }
.theme-warning-callout {
	color: var(--warning);
	background: var(--warning-soft);
	border: 1px solid var(--warning);
	border-radius: .4rem;
}
.list-group { box-shadow: var(--shadow-card); }
.list-group:hover { box-shadow: var(--shadow-card); }
.list-group-item:nth-child(odd),
.list-group-item:nth-child(even),
.list-group-item:nth-child(odd):hover,
.list-group-item:nth-child(even):hover {
	color: var(--text-primary);
	background: var(--surface-1);
	text-shadow: none;
}
.list-group-item:nth-child(odd):hover,
.list-group-item:nth-child(even):hover { color: var(--primary-hover); background: var(--surface-hover); }

#svgWrap_1,
#svgWrap_2 {
	display: block;
	width: min(100%, 600px);
	height: auto;
	margin: 24px auto 0;
	fill: transparent;
}
#id1_1, #id2_1, #id3_1 { fill: transparent; stroke: var(--danger); stroke-width: 3px; }
#id1_2, #id2_2, #id3_2 { fill: transparent; stroke: var(--border-primary); stroke-width: 3px; }
.main-app > #svgWrap_1 ~ h2 { color: var(--text-primary); text-align: center; }

.dashboard-wallet-card,
.profile-identity-card {
	border-color: var(--primary-border);
	background: radial-gradient(circle at 95% 0%, var(--primary-soft), transparent 42%), var(--surface-gradient-accent);
	box-shadow: var(--shadow-card);
}
.dashboard-action-card,
.dashboard-service-card,
.dashboard-country-panel,
.dashboard-international-session,
.dashboard-announcement-card,
.dashboard-search-wrap,
.dashboard-number-card,
.dashboard-empty-state,
.dashboard-filter-empty,
.dashboard-message-result,
.dashboard-session-message,
.otp-search-shell,
.otp-service-result,
.otp-selected-service-card,
.otp-server-card,
.otp-session-card,
.otp-quick-service,
.otp-message-card,
.profile-activity-card,
.profile-security-row,
.profile-support-card,
.profile-appearance-card {
	color: var(--text-primary);
	background: var(--surface-gradient);
	border-color: var(--border-subtle);
	box-shadow: var(--shadow-card);
}
.dashboard-action-card:hover,
.dashboard-service-card:hover,
.dashboard-service-card.is-open,
.otp-service-result:hover,
.otp-service-result:focus-visible,
.otp-server-card:hover,
.otp-server-card:focus-visible,
.otp-quick-service:hover,
.profile-security-row:hover,
.profile-security-row:focus-visible { color: var(--text-primary); background: var(--surface-3); border-color: var(--primary-border); }
.dashboard-primary-button,
.auth-primary-button,
.recharge-done-button {
	color: var(--text-on-accent);
	background: linear-gradient(135deg, var(--primary), var(--primary-hover));
	border-color: var(--primary);
}
.dashboard-secondary-button,
.otp-outline-action,
.admin-user-load-more,
.admin-user-copy-number,
.admin-user-copy-otp,
.admin-user-message-toggle {
	color: var(--primary-hover);
	background: var(--primary-soft);
	border-color: var(--primary-border);
}
.dashboard-danger-button,
.dashboard-number-cancel,
.otp-cancel-action { color: var(--danger); background: var(--danger-soft); border-color: var(--danger-border); }
.dashboard-action-card > i:last-child,
.dashboard-service-card > i:last-child,
.dashboard-search-clear,
.services-card-chevron,
.otp-result-chevron,
.otp-search-clear { color: var(--text-tertiary); }
.dashboard-action-icon,
.dashboard-field-label,
.dashboard-session-status,
.dashboard-number-label,
.dashboard-number-meta,
.dashboard-empty-state,
.dashboard-filter-empty,
.dashboard-message-result > span,
.dashboard-session-message > span,
.otp-search-copy > label,
.otp-service-search::placeholder,
.otp-service-result-copy small,
.otp-no-results span,
.otp-search-helper,
.otp-selected-service-copy small,
.otp-section-heading p,
.otp-field-label,
.otp-status-copy p,
.otp-quick-heading h2,
.otp-quick-service small,
.otp-message-card > span,
.otp-detected-label { color: var(--text-secondary); }
.dashboard-message-value,
.dashboard-session-message-value,
.otp-message-text { color: var(--text-primary); }
.dashboard-status-chip,
.otp-selected-label,
.recharge-status-chip,
.admin-otp-status { color: var(--primary-hover); background: var(--primary-soft); }
.dashboard-status-chip.is-received,
.otp-live-status.is-received,
.admin-otp-status.is-received,
.admin-user-success-chip { color: var(--success); background: var(--success-soft); border-color: var(--success-border); }
.dashboard-status-chip.is-expired,
.dashboard-status-chip.is-error,
.admin-otp-status.is-terminal { color: var(--danger); background: var(--danger-soft); border-color: var(--danger-border); }
.dashboard-action-icon,
.dashboard-service-icon,
.dashboard-number-service-icon,
.otp-service-icon,
.services-card-logo,
.admin-service-logo-preview,
.admin-service-logo-small,
.admin-user-service-icon { background: var(--icon-container); border-color: var(--border-soft); }
.dashboard-country-select,
.dashboard-number-search-input,
.otp-search-control,
.otp-service-search,
.services-search-input,
.auth-field input,
.recharge-amount-input { color: var(--text-primary); background: var(--input-bg); border-color: var(--border-primary); }
.dashboard-country-select option { color: var(--text-primary); background: var(--surface-1); }
.dashboard-message-result,
.dashboard-session-message,
.otp-message-card,
.otp-runtime-message { background: var(--surface-2); border-color: var(--border-soft); }
.otp-server-card.is-selected { background: var(--surface-gradient-accent); border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft), var(--shadow-card); }
.otp-session-card.is-new-purchase { border-color: var(--success-border); box-shadow: 0 0 0 2px var(--success-soft), var(--shadow-card); }
.otp-status-visual { color: var(--primary-hover); background: radial-gradient(circle, var(--primary-soft), var(--surface-2) 65%); border-color: var(--primary-border); }
.otp-live-status.is-received .otp-status-visual { color: var(--success); background: radial-gradient(circle, var(--success-soft), var(--surface-2) 65%); border-color: var(--success-border); }
.otp-chat-bubble { background: var(--text-primary); }
.otp-chat-bubble::after { border-top-color: var(--text-primary); }
.otp-runtime-message { color: var(--text-secondary); }
.otp-runtime-message.is-error { color: var(--danger); background: var(--danger-soft); border-color: var(--danger-border); }
.otp-runtime-message.is-success { color: var(--success); background: var(--success-soft); border-color: var(--success-border); }

.profile-appearance-card { overflow: hidden; }
.profile-theme-option {
	display: flex;
	width: 100%;
	min-height: 48px;
	align-items: center;
	gap: 12px;
	padding: 11px 15px;
	color: var(--text-primary);
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--profile-border);
	text-align: left;
}
.profile-theme-option:last-child { border-bottom: 0; }
.profile-theme-option:hover,
.profile-theme-option:focus-visible,
.profile-theme-option.is-selected { color: var(--primary-hover); background: var(--primary-soft); outline: none; }
.profile-theme-option > i:first-child { width: 26px; color: var(--text-tertiary); font-size: 1.2rem; text-align: center; }
.profile-theme-option.is-selected > i:first-child { color: var(--primary-hover); }
.profile-theme-option-copy { display: grid; min-width: 0; flex: 1; gap: 2px; }
.profile-theme-option-copy strong { color: inherit; font-size: .9rem; font-weight: 680; }
.profile-theme-option-copy small { color: var(--text-secondary); font-size: .72rem; }
.theme-choice-check { color: var(--primary-hover); font-size: 1.2rem; opacity: 0; }
.profile-theme-option.is-selected .theme-choice-check { opacity: 1; }

.auth-card,
.services-card,
.recharge-balance-card,
.recharge-premium-form,
.recharge-warning,
.recharge-state-content,
.rk-modal-content,
.modal-content {
	color: var(--text-primary);
	background: var(--surface-gradient);
	border-color: var(--border-subtle);
	box-shadow: var(--shadow-card);
}
.auth-heading h1,
.services-heading h1,
.auth-field > label:first-child,
.recharge-premium-form label { color: var(--text-primary); }
.auth-heading p,
.auth-field small,
.auth-account-link,
.auth-support-link,
.services-heading p,
.services-result-summary,
.recharge-state-content > p,
.recharge-state-amount span,
.recharge-countdown,
.recharge-pending-content small { color: var(--text-secondary); }
.services-card:hover,
.services-card:focus-visible { color: var(--text-primary); background: var(--surface-3); border-color: var(--primary-border); }
.card,
.bg-dark.text-white { color: var(--text-primary) !important; background-color: var(--surface-1) !important; border-color: var(--border-primary) !important; }
.recharge-state-modal,
.rk-modal { background: var(--overlay-bg); }
.recharge-state-amount,
.recharge-countdown,
.rk-modal-body { color: var(--text-primary); background: var(--surface-2); border-color: var(--border-soft); }
.recharge-state-amount strong,
.recharge-countdown strong { color: var(--text-primary); }
.recharge-pending-content img { background: var(--qr-background); }

.admin-summary-screen,
.admin-otp-detail,
.admin-popular-screen {
	--admin-surface: var(--surface-glass);
	--admin-border: var(--border-subtle);
	color: var(--text-primary);
}
.admin-metric-card,
.admin-provider-card,
.admin-otp-identity-card,
.admin-otp-meta-grid > div,
.admin-otp-live-card,
.admin-popular-add,
.admin-popular-row,
.admin-recharge-row,
.admin-premium-table,
.admin-premium-empty,
#admin-add-service-branding,
.admin-user-metric,
.admin-user-favorite,
.admin-user-recharge-item,
.admin-user-otp-item,
.admin-user-empty {
	color: var(--text-primary);
	background: var(--surface-gradient);
	border-color: var(--border-subtle);
	box-shadow: var(--shadow-card);
}
.admin-user-details {
	--admin-user-surface: var(--surface-glass);
	--admin-user-border: var(--border-subtle);
	--admin-user-muted: var(--text-secondary);
	--admin-user-accent: var(--primary);
}
.admin-premium-heading h1,
.admin-summary-section-heading h2,
.admin-metric-card strong,
.admin-provider-card strong,
.admin-recharge-row b,
.admin-raw-message p,
.admin-user-identity h1,
.admin-user-section > h2,
.admin-user-section-heading h2,
.admin-user-metric strong,
.admin-user-favorite strong { color: var(--text-primary); }
.admin-premium-heading p,
.admin-metric-card > span,
.admin-provider-card > span,
.admin-metric-card small,
.admin-summary-section-heading p,
.admin-provider-card small,
.admin-recharge-row span,
.admin-premium-table th,
.admin-premium-empty,
.admin-otp-identity-card > div span,
.admin-otp-waiting p,
.admin-otp-terminal p,
.admin-popular-add label,
.admin-popular-copy small,
.admin-user-back,
.admin-user-section-heading > span,
.admin-user-reference span,
.admin-user-reference code,
.admin-user-recharge-item time,
.admin-user-otp-item time,
.admin-user-raw-otp-message { color: var(--text-secondary); }
.admin-raw-message,
.admin-user-raw-otp-message,
.admin-popular-search,
.admin-popular-add select { color: var(--text-primary); background: var(--surface-2); border-color: var(--border-soft); }
.admin-popular-actions button { color: var(--text-secondary); background: var(--surface-muted); border-color: var(--border-primary); }
.admin-eyebrow,
.admin-copy-number,
.admin-live-orb,
.admin-detected-otp strong,
.admin-popular-position,
.admin-user-detected-otp strong,
.admin-user-load-more { color: var(--primary-hover); }
.admin-metric-card.is-accent,
.admin-user-success-chip { border-color: var(--success-border); }
.admin-metric-card.is-accent strong,
.admin-user-metric strong.is-success,
.admin-user-history-primary strong { color: var(--success); }
.admin-provider-card.is-unavailable strong,
.admin-popular-actions .admin-popular-remove { color: var(--danger); }

#overlay { background: var(--overlay-bg); }
#snackbar { color: var(--text-on-accent); }
.spinner { border-color: var(--border-primary); border-top-color: var(--primary); }

html.theme-ready body,
html.theme-ready .header,
html.theme-ready .app-bottom-nav,
html.theme-ready .public-bottom-nav,
html.theme-ready input,
html.theme-ready select,
html.theme-ready textarea {
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

@media (max-width: 576px) {
	.header-theme-button { width: 27px; height: 27px; border-radius: 8px; font-size: .9rem; }
}

@media (max-width: 380px) {
	.nav-container { padding-inline: 6px; }
	.nav .navbar-brand { font-size: .86rem; }
	.header-actions { gap: 2px; }
	.header-theme-controls { gap: 1px; }
	.header-theme-button { width: 24px; height: 24px; font-size: .8rem; }
	.header-balance-chip { min-width: 64px; height: 30px; padding-inline: 4px; }
	.header-balance-chip .balance { font-size: .72rem; }
	.header-action-btn { width: 27px; height: 27px; }
	.header-action-btn img { width: 18px; height: 18px; }
	.logout-header-action .logout-icon { font-size: 1.05rem; }
}

@media (prefers-reduced-motion: reduce) {
	html.theme-ready body,
	html.theme-ready .header,
	html.theme-ready .app-bottom-nav,
	html.theme-ready .public-bottom-nav,
	html.theme-ready input,
	html.theme-ready select,
	html.theme-ready textarea { transition: none; }
}
