/* EduProd production refinements — loaded after the original design system */

.brand-logo-image { width: 176px; height: auto; display: block; }
.footer-brand-image { width: 168px; height: auto; display: block; margin-bottom: 1rem; }
.header-scrolled { box-shadow: 0 10px 32px rgba(0,0,0,.34) !important; background: rgba(10,14,26,.97) !important; }
.section-kicker { display: inline-block; margin-bottom: .65rem; color: var(--color-primary, #5ce1e6); text-transform: uppercase; letter-spacing: .13em; font-weight: 800; font-size: .78rem; }
.hero-audience { margin-top: 1.25rem; color: var(--text-muted, #b6c8e8); font-size: .95rem; max-width: 760px; }
.hero-content { transform: translateY(var(--hero-shift, 0)); }

/* Restrained card movement: preserve the original effect without excessive motion. */
.portals-grid .portal-card { transition: transform .32s cubic-bezier(.22,.61,.36,1), box-shadow .32s ease, border-color .32s ease !important; }
.portals-grid .portal-card:nth-child(1).scroll-tilt { transform: translateY(-3px) rotate(-2deg) !important; }
.portals-grid .portal-card:nth-child(2).scroll-tilt { transform: translateY(-2px) rotate(-1deg) !important; }
.portals-grid .portal-card:nth-child(3).scroll-tilt { transform: translateY(-2px) rotate(1deg) !important; }
.portals-grid .portal-card:nth-child(4).scroll-tilt { transform: translateY(-3px) rotate(2deg) !important; }
.portals-grid .portal-card:hover { transform: translateY(-6px) scale(1.012) !important; }
.portal-card-link:hover { transform: none !important; }

.portal-badge-development { color: #f4c95d; border-color: rgba(244,201,93,.42); background: rgba(244,201,93,.10); }
.portal-badge-soon { color: #b6c8e8; }
.portal-cta-disabled { opacity: .72; }

.section-dark { position: relative; padding: 6rem 0; background: rgba(6,10,20,.66); border-block: 1px solid rgba(255,255,255,.06); }
.free-trials { overflow: hidden; }
.trial-grid, .comparison-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.trial-card, .comparison-card, .educator-card, .faq-item, .legal-page .container { border: 1px solid rgba(255,255,255,.10); background: rgba(17,25,44,.80); box-shadow: 0 20px 52px rgba(0,0,0,.24); border-radius: 22px; }
.trial-card { padding: 2rem; position: relative; overflow: hidden; }
.trial-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#5ce1e6,#8b5cf6); }
.chemistry-trial::before { background: linear-gradient(90deg,#4db8b8,#f4c95d); }
.trial-tag { display: inline-flex; gap: .5rem; align-items: center; color: #bdeff1; font-weight: 800; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.trial-card h3 { margin: 1rem 0 .8rem; font-size: clamp(1.45rem,2.5vw,2rem); }
.trial-card p, .trial-card li { color: var(--text-secondary,#b6c8e8); line-height: 1.7; }
.trial-card ul { margin: 1rem 0 1.5rem; padding-left: 1.2rem; }

.comparison-section { padding: 6rem 0; }
.comparison-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.comparison-card { padding: 1.8rem; }
.comparison-card.highlighted { border-color: rgba(92,225,230,.45); transform: translateY(-6px); }
.comparison-card p { color: var(--text-secondary,#b6c8e8); line-height: 1.7; }

.educator-section { padding: 6rem 0; }
.educator-card { padding: clamp(1.5rem,4vw,3rem); display: grid; grid-template-columns: 1.25fr .75fr; gap: 2rem; align-items: center; }
.educator-card p { color: var(--text-secondary,#b6c8e8); line-height: 1.8; }
.educator-card blockquote { margin: 0; padding: 1.5rem; border-left: 4px solid #5ce1e6; background: rgba(92,225,230,.07); border-radius: 0 16px 16px 0; font-size: 1.08rem; line-height: 1.7; }

.faq-section { padding: 6rem 0; }
.faq-list { max-width: 920px; margin: 0 auto; display: grid; gap: 1rem; }
.faq-item { padding: 0; overflow: hidden; }
.faq-item summary { list-style: none; cursor: pointer; padding: 1.3rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-weight: 750; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary i { transition: transform .25s ease; }
.faq-item[open] summary i { transform: rotate(180deg); }
.faq-item p { margin: 0; padding: 0 1.5rem 1.4rem; color: var(--text-secondary,#b6c8e8); line-height: 1.75; }

.page-hero { min-height: 58vh; display: grid; align-items: center; padding: 9rem 0 5rem; text-align: center; }
.page-hero h1 { font-size: clamp(2.4rem,7vw,5rem); margin: .5rem 0 1rem; }
.page-hero p { max-width: 850px; margin: 0 auto 1.5rem; color: var(--text-secondary,#b6c8e8); line-height: 1.8; font-size: 1.08rem; }
.page-hero .hero-cta-group { justify-content: center; }
.legal-page { padding: 9rem 0 6rem; }
.legal-page .container { max-width: 900px; padding: clamp(1.5rem,4vw,3rem); }
.legal-page h1 { font-size: clamp(2.2rem,5vw,3.8rem); }
.legal-page h2 { margin-top: 2rem; }
.legal-page p { color: var(--text-secondary,#b6c8e8); line-height: 1.8; }
.legal-updated { font-style: italic; }

.footer-grid-enhanced { display: grid !important; grid-template-columns: 1.45fr repeat(3,1fr); gap: 2rem; }
.footer-links-group { display: flex; flex-direction: column; gap: .7rem; }
.footer-links-group h3 { margin: 0 0 .4rem; font-size: 1rem; }
.footer-links-group a { color: var(--text-secondary,#b6c8e8); text-decoration: none; }
.footer-links-group a:hover { color: #5ce1e6; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 2rem; padding-top: 1.2rem; color: var(--text-muted,#8b9cb8); }

.preview-modal[aria-hidden="true"] { visibility: hidden; }
.preview-modal.active { visibility: visible; }
.modal-content { outline: none; }

@media (max-width: 900px) {
  .trial-grid, .comparison-grid, .educator-card, .footer-grid-enhanced { grid-template-columns: 1fr; }
  .comparison-card.highlighted { transform: none; }
  .brand-logo-image { width: 150px; }
}

@media (hover: none), (pointer: coarse) {
  .portals-grid .portal-card.scroll-tilt, .portals-grid .portal-card:hover { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .portals-grid .portal-card.scroll-tilt, .portals-grid .portal-card:hover, .hero-content { transform: none !important; }
}

/* ===== Account, pricing and Razorpay-facing public pages ===== */
.nav-inline-form { display: inline-flex; margin: 0; }
.nav-button-link { border: 0; background: transparent; font: inherit; cursor: pointer; }
.compact-page-hero { min-height: 44vh; padding-bottom: 2.5rem; }

.auth-section, .dashboard-section, .pricing-section { padding: 8.5rem 0 6rem; }
.auth-container { display: flex; justify-content: center; }
.auth-card { width: min(760px, 100%); padding: clamp(1.5rem, 4vw, 2.7rem); border: 1px solid rgba(255,255,255,.11); border-radius: 24px; background: rgba(17,25,44,.88); box-shadow: 0 24px 64px rgba(0,0,0,.28); }
.auth-card-narrow { width: min(560px, 100%); }
.auth-card h1 { margin: .4rem 0 .6rem; }
.auth-intro { color: var(--text-secondary,#b6c8e8); margin-bottom: 1.6rem; line-height: 1.7; }
.auth-form { display: grid; gap: 1rem; }
.auth-form label { display: grid; gap: .5rem; font-weight: 700; color: #edf4ff; }
.auth-form input, .auth-form select { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: .9rem 1rem; background: rgba(7,12,24,.76); color: #fff; font: inherit; outline: none; }
.auth-form input:focus, .auth-form select:focus { border-color: #5ce1e6; box-shadow: 0 0 0 3px rgba(92,225,230,.12); }
.auth-form select option { color: #111827; background: #fff; }
.auth-form small { color: var(--text-muted,#8b9cb8); font-weight: 500; }
.form-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.checkbox-label { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 500 !important; color: var(--text-secondary,#b6c8e8) !important; }
.checkbox-label input { width: auto; margin-top: .2rem; accent-color: #5ce1e6; }
.checkbox-label a, .auth-switch a, .form-help-row a { color: #5ce1e6; }
.auth-submit { justify-content: center; width: 100% !important; max-width: none !important; border: 0; margin-top: .4rem; }
.auth-switch { text-align: center; color: var(--text-secondary,#b6c8e8); margin: 1.3rem 0 0; }
.form-help-row { display: flex; justify-content: flex-end; margin-top: -.25rem; }
.flash-stack { display: grid; gap: .65rem; margin: 0 0 1.2rem; }
.flash-message { padding: .85rem 1rem; border-radius: 12px; line-height: 1.5; border: 1px solid transparent; }
.flash-success { background: rgba(52,211,153,.10); border-color: rgba(52,211,153,.34); color: #baf7dd; }
.flash-error { background: rgba(248,113,113,.10); border-color: rgba(248,113,113,.34); color: #fecaca; }

.pricing-section { padding-top: 1rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.pricing-card { display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid rgba(92,225,230,.22); background: rgba(17,25,44,.84); border-radius: 22px; box-shadow: 0 18px 48px rgba(0,0,0,.22); }
.pricing-card-muted { opacity: .82; border-color: rgba(255,255,255,.10); }
.pricing-status, .access-badge { display: inline-flex; align-self: flex-start; padding: .35rem .65rem; border-radius: 999px; background: rgba(92,225,230,.10); border: 1px solid rgba(92,225,230,.28); color: #bdeff1; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.pricing-card h2 { margin: 1rem 0 .4rem; }
.price-line { display: flex; align-items: flex-start; gap: .15rem; margin: .4rem 0 0; }
.currency { font-weight: 800; font-size: 1.25rem; padding-top: .45rem; }
.price { font-size: clamp(2.6rem,5vw,4rem); font-weight: 900; line-height: 1; }
.price-note { color: var(--text-muted,#8b9cb8); font-size: .9rem; }
.pricing-features { list-style: none; padding: 0; margin: 1.2rem 0 1.5rem; display: grid; gap: .75rem; color: var(--text-secondary,#b6c8e8); }
.pricing-features i { color: #5ce1e6; margin-right: .45rem; }
.pricing-action { margin-top: auto; justify-content: center; font-size: 1rem; padding: .8rem 1rem; }
.validity-panel, .combo-notice, .account-note { margin-top: 2rem; padding: clamp(1.3rem,3vw,2rem); border-radius: 20px; border: 1px solid rgba(255,255,255,.10); background: rgba(17,25,44,.76); }
.validity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.validity-grid > div { padding: 1rem; background: rgba(92,225,230,.05); border-radius: 14px; }
.validity-grid p, .policy-note, .combo-notice p, .account-note p { color: var(--text-secondary,#b6c8e8); line-height: 1.7; }

.dashboard-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.2rem; }
.dashboard-head h1 { margin: .25rem 0; }
.dashboard-head p { color: var(--text-secondary,#b6c8e8); }
.account-note { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.4rem; }
.account-note > i { color: #5ce1e6; font-size: 1.3rem; margin-top: .2rem; }
.account-note p { margin: .25rem 0 0; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.dashboard-subject-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 250px; padding: 1.5rem; border-radius: 20px; border: 1px solid rgba(255,255,255,.10); background: rgba(17,25,44,.78); }
.dashboard-subject-card p { color: var(--text-secondary,#b6c8e8); line-height: 1.7; }
.dashboard-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.dashboard-card-footer a { color: #5ce1e6; font-weight: 700; }
.access-badge { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #b6c8e8; }
.dashboard-validity { margin-top: 1.4rem; }
.contact-response-note { margin-top: 1.5rem !important; font-size: .92rem !important; }

@media (max-width: 1100px) { .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .auth-section, .dashboard-section { padding-top: 7rem; }
  .form-two-col, .pricing-grid, .validity-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-head { align-items: flex-start; flex-direction: column; }
}


/* ===== Admin dashboard v1 ===== */
.dashboard-head-actions { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: flex-end; }
.admin-section { padding-bottom: 6rem; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 1.2rem 0; }
.admin-stat-card { padding: 1.35rem; border: 1px solid rgba(92,225,230,.18); border-radius: 18px; background: rgba(17,25,44,.82); }
.admin-stat-card span { display: block; color: var(--text-secondary,#b6c8e8); font-size: .9rem; }
.admin-stat-card strong { display: block; margin-top: .35rem; font-size: 2rem; color: #fff; }
.admin-two-col { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1rem; margin-top: 1rem; }
.admin-panel { padding: 1.4rem; border: 1px solid rgba(255,255,255,.10); border-radius: 20px; background: rgba(17,25,44,.80); }
.admin-panel h2 { margin: .2rem 0 1rem; }
.admin-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .7rem; }
.admin-panel-head a, .admin-table a { color: #5ce1e6; font-weight: 700; }
.admin-panel-head p { color: var(--text-secondary,#b6c8e8); margin: .2rem 0 0; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 650px; }
.admin-table th, .admin-table td { padding: .9rem .75rem; text-align: left; border-bottom: 1px solid rgba(255,255,255,.08); vertical-align: middle; }
.admin-table th { color: #edf4ff; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.admin-table td { color: var(--text-secondary,#b6c8e8); }
.admin-table td strong { color: #fff; }
.admin-table td small { display: block; color: var(--text-muted,#8b9cb8); margin-top: .2rem; }
.admin-status, .admin-badge { display: inline-flex; align-items: center; padding: .3rem .6rem; border-radius: 999px; font-size: .76rem; font-weight: 800; }
.admin-status.is-active { background: rgba(52,211,153,.11); color: #baf7dd; border: 1px solid rgba(52,211,153,.30); }
.admin-status.is-inactive { background: rgba(248,113,113,.10); color: #fecaca; border: 1px solid rgba(248,113,113,.30); }
.admin-badge { margin-left: .35rem; background: rgba(92,225,230,.10); color: #bdeff1; border: 1px solid rgba(92,225,230,.28); }
.system-status-list { display: grid; gap: .15rem; }
.system-status-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .82rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.status-good { color: #baf7dd; }
.status-warn { color: #fde68a; }
.admin-note { margin-top: 1rem; }
.admin-empty { color: var(--text-secondary,#b6c8e8); line-height: 1.6; }
.admin-filter-bar { display: grid; grid-template-columns: minmax(240px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto auto; gap: .75rem; align-items: end; margin: 1rem 0; padding: 1rem; border-radius: 18px; border: 1px solid rgba(255,255,255,.10); background: rgba(17,25,44,.70); }
.admin-filter-bar label { display: grid; gap: .4rem; color: #edf4ff; font-weight: 700; font-size: .88rem; }
.admin-filter-bar input, .admin-filter-bar select { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; padding: .75rem .85rem; background: rgba(7,12,24,.76); color: #fff; font: inherit; }
.admin-filter-bar select option { color: #111827; background: #fff; }
.admin-filter-button { min-height: 44px; justify-content: center; white-space: nowrap; }
.admin-detail-list { margin: 0; display: grid; }
.admin-detail-list > div { display: grid; grid-template-columns: minmax(120px,.8fr) 1.5fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.admin-detail-list dt { color: var(--text-muted,#8b9cb8); }
.admin-detail-list dd { margin: 0; color: #edf4ff; overflow-wrap: anywhere; }
.admin-actions-panel { margin-top: 1rem; }
.btn-danger { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(248,113,113,.45); border-radius: 12px; padding: .78rem 1rem; background: rgba(248,113,113,.12); color: #fecaca; font: inherit; font-weight: 800; cursor: pointer; }
@media (max-width: 1000px) { .admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .admin-two-col { grid-template-columns: 1fr; } .admin-filter-bar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .admin-stat-grid, .admin-filter-bar { grid-template-columns: 1fr; } .dashboard-head-actions { justify-content: flex-start; } .admin-detail-list > div { grid-template-columns: 1fr; gap: .25rem; } }

/* Admin v1.1 */
.admin-header-actions { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.admin-checkbox-row { display:flex; gap:1.5rem; flex-wrap:wrap; margin:1rem 0; }
.admin-delete-form { margin-top:1rem; }
.admin-user-form .two-col-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
@media (max-width: 720px) { .admin-user-form .two-col-form { grid-template-columns:1fr; } }

/* ===== Admin console v1.2 ===== */
.admin-console-title { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin-bottom:1rem; }
.admin-console-title h1 { margin:.2rem 0 .35rem; }
.admin-console-title p { margin:0; color:var(--text-secondary,#b6c8e8); }
.admin-signed-in { color:#bdeff1; border:1px solid rgba(92,225,230,.24); background:rgba(92,225,230,.08); border-radius:999px; padding:.55rem .8rem; font-weight:700; font-size:.86rem; white-space:nowrap; }
.admin-console-nav { display:flex; gap:.55rem; flex-wrap:wrap; padding:.7rem; margin:1rem 0 1.25rem; border:1px solid rgba(255,255,255,.10); background:rgba(17,25,44,.78); border-radius:16px; }
.admin-console-nav a { display:inline-flex; align-items:center; gap:.5rem; padding:.68rem .85rem; border-radius:10px; color:#dbeafe; font-weight:750; text-decoration:none; }
.admin-console-nav a:hover, .admin-console-nav a.active { color:#fff; background:rgba(92,225,230,.12); box-shadow:inset 0 0 0 1px rgba(92,225,230,.20); }
.admin-stat-card a { display:inline-block; margin-top:.5rem; color:#5ce1e6; font-size:.82rem; font-weight:750; }
.admin-user-management { margin-top:1rem; }
.admin-management-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.admin-action-card { display:grid; grid-template-columns:auto 1fr; column-gap:.8rem; row-gap:.18rem; padding:1rem; border:1px solid rgba(92,225,230,.16); border-radius:15px; background:rgba(7,12,24,.38); text-decoration:none; }
.admin-action-card i { grid-row:1 / span 2; font-size:1.25rem; color:#5ce1e6; margin-top:.12rem; }
.admin-action-card strong { color:#fff; }
.admin-action-card span { color:var(--text-secondary,#b6c8e8); font-size:.84rem; line-height:1.45; }
.admin-action-card:hover { transform:translateY(-1px); border-color:rgba(92,225,230,.38); }
.admin-row-actions { display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; }
.admin-row-actions form { margin:0; }
.admin-mini-btn { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:.4rem .62rem; border:1px solid rgba(92,225,230,.30); border-radius:8px; background:rgba(92,225,230,.08); color:#d9fbfc !important; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; text-decoration:none; white-space:nowrap; }
.admin-mini-btn.danger { border-color:rgba(248,113,113,.34); background:rgba(248,113,113,.10); color:#fecaca !important; }
.admin-mini-btn.success { border-color:rgba(52,211,153,.35); background:rgba(52,211,153,.10); color:#baf7dd !important; }
.admin-mini-btn.danger-outline { border-color:rgba(248,113,113,.28); background:transparent; color:#fecaca !important; }
.admin-self-label { font-size:.78rem; color:var(--text-muted,#8b9cb8); }
.admin-users-table { min-width:900px; }
.admin-dashboard-table { min-width:720px; }
@media (max-width:850px) { .admin-management-actions { grid-template-columns:1fr; } .admin-console-title { align-items:flex-start; flex-direction:column; } }

/* ===== Admin console v1.3: clear operational UI ===== */
.admin-section .container { max-width: 1280px; }
.admin-primary-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0 1.25rem; }
.admin-primary-action { display:grid; grid-template-columns:auto 1fr auto; gap:.9rem; align-items:center; padding:1.1rem 1.15rem; border:1px solid rgba(92,225,230,.20); border-radius:16px; background:linear-gradient(145deg,rgba(18,29,50,.96),rgba(11,18,33,.96)); text-decoration:none; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.admin-primary-action:hover { border-color:rgba(92,225,230,.48); transform:translateY(-2px); }
.admin-primary-action strong { display:block; color:#fff; font-size:1rem; margin-bottom:.18rem; }
.admin-primary-action small { display:block; color:#aebfda; line-height:1.45; }
.admin-primary-action > i { color:#5ce1e6; }
.admin-action-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:rgba(92,225,230,.10); color:#5ce1e6; font-size:1.05rem; }

.admin-users-panel { padding:0; overflow:hidden; }
.admin-users-panel .admin-panel-head { padding:1.25rem 1.35rem .8rem; }
.admin-directory-head, .admin-user-row { display:grid; grid-template-columns:minmax(280px,2fr) 1fr .7fr .9fr .8fr 90px; align-items:center; gap:.85rem; }
.admin-directory-head { padding:.75rem 1.2rem; background:rgba(255,255,255,.045); border-top:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.08); color:#91a4c1; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.admin-user-list { display:grid; }
.admin-user-row { padding:.95rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.075); color:#dbeafe; text-decoration:none; transition:background .18s ease,border-color .18s ease; }
.admin-user-row:hover { background:rgba(92,225,230,.065); }
.admin-user-row:last-child { border-bottom:0; }
.admin-user-list.compact .admin-user-row { grid-template-columns:auto minmax(220px,1fr) auto auto auto; padding:.85rem .15rem; }
.admin-user-main { display:flex; align-items:center; gap:.8rem; min-width:0; }
.admin-user-cell { color:#c5d3e8; min-width:0; overflow-wrap:anywhere; }
.admin-user-identity { min-width:0; }
.admin-user-identity strong { display:block; color:#fff; font-size:.94rem; }
.admin-user-identity small { display:block; color:#8fa4c3; margin-top:.18rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-avatar { width:38px; height:38px; border-radius:11px; flex:0 0 auto; display:grid; place-items:center; background:linear-gradient(145deg,rgba(92,225,230,.18),rgba(139,92,246,.18)); border:1px solid rgba(92,225,230,.20); color:#e8feff; font-weight:900; }
.admin-avatar.large { width:54px; height:54px; border-radius:15px; font-size:1.15rem; }
.admin-open-cell { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; color:#75e9ed; font-weight:800; font-size:.8rem; }
.admin-row-chevron { color:#5ce1e6; font-size:.8rem; }
.admin-user-meta { color:#b8c8dd; }
.admin-title-with-avatar { display:flex; gap:1rem; align-items:center; }

.admin-user-controlbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1rem 0 1.15rem; }
.admin-user-controlbar form { margin:0; min-width:0; }
.admin-control-btn { width:100%; min-height:76px; display:grid; grid-template-columns:42px 1fr; gap:.75rem; align-items:center; padding:.85rem 1rem; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:#15223a; color:#fff !important; text-align:left; text-decoration:none; font:inherit; cursor:pointer; box-sizing:border-box; }
.admin-control-btn > i { width:42px; height:42px; border-radius:11px; display:grid; place-items:center; font-size:1rem; background:rgba(255,255,255,.08); }
.admin-control-btn strong { display:block; color:inherit; font-size:.94rem; margin-bottom:.15rem; }
.admin-control-btn small { display:block; color:rgba(255,255,255,.76); line-height:1.35; font-size:.76rem; }
.admin-control-btn.details { background:linear-gradient(145deg,#174358,#16324a); border-color:#2f8ea0; }
.admin-control-btn.activate { background:linear-gradient(145deg,#15563f,#174631); border-color:#2f9b74; }
.admin-control-btn.deactivate { background:linear-gradient(145deg,#6b4215,#53330f); border-color:#c48733; }
.admin-control-btn.delete { background:linear-gradient(145deg,#6a2530,#521c26); border-color:#c34d60; }
.admin-control-btn.disabled { opacity:.62; cursor:not-allowed; background:#273246; }
.admin-control-btn:not(.disabled):hover { filter:brightness(1.1); transform:translateY(-1px); }
.admin-safety-note { display:flex; align-items:flex-start; gap:.65rem; margin:1rem 0 0; padding:.85rem 1rem; border-radius:12px; border:1px solid rgba(92,225,230,.14); background:rgba(92,225,230,.055); color:#b8c8dd; line-height:1.55; font-size:.88rem; }
.admin-safety-note i { color:#5ce1e6; margin-top:.15rem; }

/* Force high-contrast operational status text. */
.admin-status.is-active { background:#123f31 !important; color:#d6ffef !important; border-color:#2d8a69 !important; }
.admin-status.is-inactive { background:#56222a !important; color:#ffe0e4 !important; border-color:#a84151 !important; }
.status-good { color:#8ff0c7 !important; }
.status-warn { color:#ffd978 !important; }

.practice-console-banner { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.8rem 1rem; margin-bottom:1rem; border:1px solid rgba(92,225,230,.18); border-radius:14px; background:rgba(92,225,230,.06); color:#c5d8ef; }
.practice-console-banner strong { color:#fff; }

@media (max-width: 1000px) {
  .admin-primary-actions { grid-template-columns:1fr; }
  .admin-directory-head { display:none; }
  .admin-user-row { grid-template-columns:1fr 1fr; gap:.55rem 1rem; }
  .admin-user-main { grid-column:1 / -1; }
  .admin-user-cell[data-label]::before { content:attr(data-label) ": "; color:#7f93b0; font-size:.75rem; font-weight:800; }
  .admin-open-cell { grid-column:1 / -1; justify-content:flex-start; padding-top:.2rem; }
  .admin-user-controlbar { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .admin-user-row { grid-template-columns:1fr; }
  .admin-user-list.compact .admin-user-row { grid-template-columns:auto 1fr auto; }
  .admin-user-list.compact .admin-user-meta { display:none; }
  .admin-user-list.compact .admin-status { display:none; }
  .admin-title-with-avatar { align-items:flex-start; }
}
/* v1.5 homepage additions */
.coming-soon-section{padding:1rem 0 5rem}.clat-coming-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr 1.45fr;gap:2rem;padding:2.2rem;border-radius:28px;background:linear-gradient(135deg,#111827,#312e81 55%,#581c87);color:#fff;box-shadow:0 24px 60px rgba(49,46,129,.24)}.clat-coming-card:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-110px;top:-160px;background:rgba(255,255,255,.08)}.coming-badge{display:inline-flex;padding:.45rem .8rem;border-radius:999px;background:#fbbf24;color:#422006;font-weight:900;margin-bottom:.8rem}.clat-coming-card .section-kicker{display:block;color:#c4b5fd}.clat-coming-card h2{font-size:clamp(2rem,4vw,3.5rem);margin:.3rem 0}.clat-lead{font-size:1.05rem;line-height:1.7;color:#e0e7ff;max-width:650px}.clat-tagline{display:block;margin-top:1rem;color:#fde68a}.clat-features{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-content:center}.clat-features div{padding:1rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:15px;backdrop-filter:blur(8px)}.clat-features b{display:block;margin-bottom:.35rem}.clat-features span{display:block;color:#ddd6fe;font-size:.88rem;line-height:1.5}.clat-features div:last-child{grid-column:1/-1}.four-demo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.math-trial{border-top:4px solid #8b5cf6}.biology-trial{border-top:4px solid #22c55e}.four-demo-grid .trial-card{display:flex;flex-direction:column}.four-demo-grid .trial-card .btn-primary{margin-top:auto;justify-content:center}@media(max-width:1100px){.four-demo-grid{grid-template-columns:1fr 1fr}.clat-coming-card{grid-template-columns:1fr}}@media(max-width:650px){.four-demo-grid,.clat-features{grid-template-columns:1fr}.clat-features div:last-child{grid-column:auto}.clat-coming-card{padding:1.4rem}}


/* v1.5.4 canonical primary CTA: compact cyan */
a.btn-primary, button.btn-primary, input.btn-primary, .btn-primary {
  background:linear-gradient(135deg,#0891b2,#06b6d4) !important;
  color:#fff !important;
  padding:.72rem 1.35rem !important;
  border-radius:10px !important;
  font-size:.98rem !important;
  line-height:1.15 !important;
  box-shadow:0 7px 20px rgba(6,182,212,.24) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
a.btn-primary:hover, button.btn-primary:hover, .btn-primary:hover {
  background:linear-gradient(135deg,#0e7490,#0891b2) !important;
  box-shadow:0 10px 26px rgba(6,182,212,.34) !important;
  transform:translateY(-2px);
}

/* v1.5.6 frozen KCET combo pricing */
.pricing-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.pricing-card-featured{border-color:rgba(92,225,230,.55);box-shadow:0 20px 55px rgba(92,225,230,.10)}
.pricing-card-best-value{border-color:rgba(34,197,94,.55);background:linear-gradient(180deg,rgba(17,25,44,.94),rgba(16,45,42,.92));box-shadow:0 20px 55px rgba(34,197,94,.10)}
.pricing-plan-grid .pricing-action{margin-top:auto}
@media(max-width:1100px){.pricing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.pricing-plan-grid{grid-template-columns:1fr}}
