/* The Quran Tuition — Premium Ever Integrity + Graphics Layer v18.9.0
   Final stylesheet loaded after all legacy/premium layers and before dynamic
   administrator variables. This file intentionally avoids layout rewrites.
   It normalizes semantic surfaces, locks browser auto dark-mode behavior,
   strengthens every shared page type, and completes the coloured SVG system.
*/

:root {
  color-scheme: only light;
  --pe19-shadow-xs: 0 5px 16px rgba(7,31,48,.06);
  --pe19-shadow-sm: 0 12px 30px rgba(7,31,48,.09);
  --pe19-shadow-md: 0 22px 56px rgba(7,31,48,.13);
  --pe19-shadow-lg: 0 34px 90px rgba(7,31,48,.18);
  --pe19-focus: 0 0 0 4px rgba(217,180,74,.22);
  --pe19-glass-bg: rgba(255,255,255,.10);
  --pe19-glass-border: rgba(255,255,255,.18);
}

html { color-scheme: only light !important; background: var(--theme-body-bg) !important; }
body.public-body,
body.admin-body,
body.portal-body { background: var(--theme-body-bg) !important; color: var(--theme-body-text) !important; }

/* Never let browser/OS dark mode silently recolor native controls. */
input,select,textarea,button { color-scheme: only light; }
input[type="checkbox"],input[type="radio"],input[type="range"] { accent-color: var(--gold); }

/* --------------------------------------------------------------------------
   A. Semantic surface registry — covers rare pages missed by older layers
   -------------------------------------------------------------------------- */
.public-body :is(
  .accordion details,.module-list article,.lesson-list article,.resource-list article,
  .faq-card,.method-card,.process-card,.calendar-event,.calendar-day-empty,
  .premium-filter-form,.filter-form,.file-preview,.article-share,.trial-policy-card,
  .premium-choice-panel,.premium-split-callout,.split-callout,.opening-message
),
.admin-body :is(
  .admin-runtime-notice,.maintenance-head-badge,.maintenance-note,.maintenance-format-card,
  .maintenance-restore-card,.maintenance-primary-form,.maintenance-upload-form,
  .maintenance-manual-card,.maintenance-section,.maintenance-action-card,.file-preview,
  .bulk-actions,.canned-replies,.table-scroll,.theme-contrast-report,.audit-history,
  .bar-chart,.stat-card,.permission-grid,.trial-admin-panel,.support-admin-thread,
  .admin-ticket-thread
),
.portal-body :is(
  .calendar-event,.calendar-day-empty,.file-preview,.attachment-link,.ticket-thread,
  .trial-step-strip,.trial-submit-row,.premium-filter-form,.filter-form,.table-scroll
) {
  color: var(--theme-surface-text) !important;
  background: var(--theme-surface) !important;
  border-color: var(--line) !important;
}

.public-body :is(
  .accordion details,.module-list article,.lesson-list article,.resource-list article,
  .faq-card,.method-card,.process-card,.premium-filter-form,.filter-form,.file-preview,
  .article-share,.trial-policy-card,.premium-choice-panel,.premium-split-callout,.split-callout
) :is(h1,h2,h3,h4,h5,h6,strong,b,summary),
.admin-body :is(
  .admin-runtime-notice,.maintenance-head-badge,.maintenance-note,.maintenance-format-card,
  .maintenance-restore-card,.maintenance-primary-form,.maintenance-upload-form,
  .maintenance-manual-card,.maintenance-section,.maintenance-action-card,.file-preview,
  .bulk-actions,.canned-replies,.theme-contrast-report,.audit-history,.stat-card,
  .permission-grid,.trial-admin-panel
) :is(h1,h2,h3,h4,h5,h6,strong,b),
.portal-body :is(
  .file-preview,.ticket-thread,.trial-step-strip,.premium-filter-form,.filter-form
) :is(h1,h2,h3,h4,h5,h6,strong,b) {
  color: var(--theme-surface-heading) !important;
}

.public-body :is(
  .accordion details,.module-list article,.lesson-list article,.resource-list article,
  .faq-card,.method-card,.process-card,.premium-filter-form,.filter-form,.file-preview,
  .article-share,.trial-policy-card,.premium-choice-panel,.premium-split-callout,.split-callout
) :is(p,li,small,.muted,.form-hint,.field-help),
.admin-body :is(
  .admin-runtime-notice,.maintenance-head-badge,.maintenance-note,.maintenance-format-card,
  .maintenance-restore-card,.maintenance-primary-form,.maintenance-upload-form,
  .maintenance-manual-card,.maintenance-section,.maintenance-action-card,.file-preview,
  .bulk-actions,.canned-replies,.theme-contrast-report,.audit-history,.stat-card,
  .permission-grid,.trial-admin-panel
) :is(p,li,small,.muted,.form-hint,.field-help),
.portal-body :is(
  .file-preview,.ticket-thread,.trial-step-strip,.premium-filter-form,.filter-form
) :is(p,li,small,.muted,.form-hint,.field-help) {
  color: var(--theme-surface-muted) !important;
}

/* Warning / informational surfaces stay readable regardless of body palette. */
.settings-intro,
.notice,
.notice-card,
.admin-runtime-notice,
.maintenance-head-badge,
.maintenance-note,
.theme-contrast-report {
  color: var(--theme-soft-text) !important;
  background: var(--ivory) !important;
  border-color: var(--line) !important;
}
.settings-intro :is(h1,h2,h3,h4,strong,b),
.notice :is(h1,h2,h3,h4,strong,b),
.notice-card :is(h1,h2,h3,h4,strong,b),
.admin-runtime-notice :is(h1,h2,h3,h4,strong,b),
.maintenance-head-badge :is(h1,h2,h3,h4,strong,b),
.maintenance-note :is(h1,h2,h3,h4,strong,b),
.theme-contrast-report :is(h1,h2,h3,h4,strong,b) { color: var(--theme-soft-heading) !important; }
.settings-intro :is(p,small,span,.muted),
.notice :is(p,small,span,.muted),
.notice-card :is(p,small,span,.muted),
.admin-runtime-notice :is(p,small,span,.muted),
.maintenance-head-badge :is(p,small,span,.muted),
.maintenance-note :is(p,small,span,.muted),
.theme-contrast-report :is(p,small,span,.muted) { color: var(--theme-soft-muted) !important; }

/* --------------------------------------------------------------------------
   B. Card, list, CMS and article completeness
   -------------------------------------------------------------------------- */
.public-body :is(
  .feature-card,.course-card,.teacher-card,.blog-card,.price-card,.testimonial,.testimonial-card,
  .content-card,.form-card,.auth-card,.contact-panel,.aside-panel,.note-card,.notice-card,
  .invoice-card,.faq-card,.method-card,.process-card,.module-list article,.lesson-list article,
  .resource-list article,.accordion details,.article-share,.premium-choice-panel,
  .trial-policy-card,.split-callout,.premium-split-callout
),
.admin-body :is(
  .admin-panel,.admin-stat-card,.statistics-card,.stat-card,.detail-card,.admin-form,.form-card,
  .health-summary-card,.maintenance-action-card,.maintenance-manual-card,.maintenance-section,
  .maintenance-restore-card,.danger-zone,.settings-nav
),
.portal-body :is(
  .admin-panel,.admin-stat-card,.statistics-card,.stat-card,.detail-card,.admin-form,.form-card,
  .invoice-card,.note-card,.notice-card,.ticket-message,.opening-message
) {
  background-image: none !important;
  background-color: var(--theme-surface) !important;
  color: var(--theme-surface-text) !important;
  border-color: var(--line) !important;
}

.public-body :is(.rich-content,.cms-content,.article-content) {
  color: var(--theme-body-text) !important;
}
.public-body :is(.rich-content,.cms-content,.article-content) :is(h1,h2,h3,h4,h5,h6,strong,b) {
  color: var(--theme-body-heading) !important;
}
.public-body :is(.rich-content,.cms-content,.article-content) :is(p,li,small,blockquote,figcaption) {
  color: var(--theme-body-text) !important;
}
.public-body :is(.rich-content,.cms-content,.article-content) a:not(.btn) {
  color: var(--theme-body-heading) !important;
  text-decoration-color: var(--gold);
}

/* Links inside a card use the card foreground, not the page foreground. */
.public-body :is(
  .feature-card,.course-card,.teacher-card,.blog-card,.price-card,.testimonial,.testimonial-card,
  .content-card,.form-card,.auth-card,.contact-panel,.aside-panel,.note-card,.notice-card,
  .invoice-card,.faq-card,.method-card,.process-card,.article-share,.premium-choice-panel
) a:not(.btn):not(.text-arrow),
.admin-body :is(.admin-panel,.detail-card,.admin-form,.form-card,.settings-nav) a:not(.btn),
.portal-body :is(.admin-panel,.detail-card,.form-card,.invoice-card,.ticket-message) a:not(.btn) {
  color: var(--theme-surface-heading) !important;
}

/* Accordion and structured list states. */
.accordion details { overflow: clip; box-shadow: var(--pe19-shadow-xs) !important; }
.accordion summary { background: var(--theme-surface) !important; color: var(--theme-surface-heading) !important; }
.accordion details[open] summary { background: var(--ivory) !important; color: var(--theme-soft-heading) !important; }
.module-list article,.lesson-list article,.resource-list article { box-shadow: var(--pe19-shadow-xs) !important; }
.number-list li::marker,.check-list li::marker { color: var(--gold); }

/* --------------------------------------------------------------------------
   C. Dark semantic areas: one exact base = deterministic contrast
   -------------------------------------------------------------------------- */
.hero,.page-hero,.course-hero,.article-hero,.trial-page-hero,.premium-page-hero,
.section-navy,.final-cta,.maintenance-hero {
  background-color: var(--navy) !important;
  color: var(--theme-on-hero) !important;
}
:is(.hero,.page-hero,.course-hero,.article-hero,.trial-page-hero,.premium-page-hero,.section-navy,.final-cta,.maintenance-hero)
:is(h1,h2,h3,h4,h5,h6,strong,b,summary,code) { color: var(--theme-on-hero) !important; }
:is(.hero,.page-hero,.course-hero,.article-hero,.trial-page-hero,.premium-page-hero,.section-navy,.final-cta,.maintenance-hero)
:is(p,li,small,.lead,.muted,.eyebrow,.maintenance-kicker) { color: var(--theme-on-hero-muted) !important; }
:is(.hero,.page-hero,.course-hero,.article-hero,.trial-page-hero,.premium-page-hero,.section-navy,.final-cta,.maintenance-hero)
a:not(.btn) { color: var(--theme-on-hero) !important; }

/* Fixed dark-area glass panels cannot become white-on-white. */
:is(.hero,.course-hero,.trial-page-hero,.section-navy,.maintenance-hero)
:is(.hero-card,.hero-card-glass,.course-summary,.statistics-card,.trial-info-panel,.maintenance-format-card) {
  color: var(--theme-on-hero) !important;
  background: var(--pe19-glass-bg) !important;
  border-color: var(--pe19-glass-border) !important;
  box-shadow: var(--pe19-shadow-md) !important;
}
:is(.hero,.course-hero,.trial-page-hero,.section-navy,.maintenance-hero)
:is(.hero-card,.hero-card-glass,.course-summary,.statistics-card,.trial-info-panel,.maintenance-format-card)
:is(h1,h2,h3,h4,strong,b,code) { color: var(--theme-on-hero) !important; }
:is(.hero,.course-hero,.trial-page-hero,.section-navy,.maintenance-hero)
:is(.hero-card,.hero-card-glass,.course-summary,.statistics-card,.trial-info-panel,.maintenance-format-card)
:is(p,li,small,.muted) { color: var(--theme-on-hero-muted) !important; }

/* --------------------------------------------------------------------------
   D. Header/menu/footer — coloured SVG icons on desktop and mobile
   -------------------------------------------------------------------------- */
.site-header { background: var(--theme-header-bg) !important; color: var(--theme-header-text) !important; border-color: var(--theme-header-border) !important; }
.site-nav > .nav-item > a { color: var(--theme-header-text) !important; }
.site-header .brand :is(strong,b) { color: var(--theme-header-text) !important; }
.site-header .brand small { color: var(--theme-header-muted) !important; }

/* v18.6 hid public menu SVGs on desktop; v18.9 intentionally shows compact chips. */
@media (min-width:1101px) {
  .site-nav > .nav-item > a { display:inline-flex !important; align-items:center; gap:6px !important; }
  .site-nav > .nav-item > a .nav-svg-chip {
    display:inline-grid !important;
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
    border-radius:8px !important;
  }
  .site-nav > .nav-item > a .nav-svg-chip .premium-svg-icon { width:13px !important; height:13px !important; }
}

.nav-submenu,.header-more-menu,body.public-nav-open .site-nav,.site-nav.open,.site-nav.is-open {
  background: var(--theme-surface) !important;
  color: var(--theme-surface-text) !important;
  border-color: var(--line) !important;
}
.nav-submenu a,.header-more-links a,body.public-nav-open .site-nav a,.site-nav.open a,.site-nav.is-open a {
  color: var(--theme-surface-text) !important;
}

.site-footer { background: var(--theme-footer-bg) !important; color: var(--theme-footer-text) !important; }
.site-footer :is(h1,h2,h3,h4,h5,h6,strong,b) { color: var(--theme-footer-link) !important; }
.site-footer :is(p,small,span) { color: var(--theme-footer-text) !important; }
.site-footer a { color: var(--theme-footer-link) !important; }
.site-footer a .nav-svg-chip {
  display:inline-grid !important;
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  background: rgba(255,255,255,.09) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow:none !important;
}
.site-footer .footer-grid > section:not(:first-child) > a,
.site-footer .footer-bottom a { display:flex; align-items:center; gap:8px; }

/* Sidebars retain selected palette while every icon remains visible. */
.admin-sidebar,.portal-sidebar { background:var(--theme-sidebar-bg) !important; color:var(--theme-sidebar-text) !important; }
.admin-nav .nav-group-links a,.portal-sidebar .admin-nav > a,.admin-nav .nav-group-toggle { color:var(--theme-sidebar-text) !important; }
.admin-nav .nav-group-links a.active,.portal-sidebar .admin-nav > a.active {
  color:var(--theme-sidebar-active-text) !important;
  background:var(--theme-sidebar-active-bg) !important;
}
.admin-nav .nav-group-links a .nav-svg-chip,.portal-sidebar .admin-nav > a .nav-svg-chip {
  display:inline-grid !important;
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:none !important;
}
.admin-nav .nav-group-links a.active .nav-svg-chip,.portal-sidebar .admin-nav > a.active .nav-svg-chip {
  color:var(--theme-sidebar-active-text) !important;
  background:rgba(255,255,255,.28) !important;
}

/* --------------------------------------------------------------------------
   E. Forms / file inputs / controls
   -------------------------------------------------------------------------- */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
select,textarea,option,
.maintenance-file-field input[type="file"] {
  background: var(--theme-input-bg) !important;
  color: var(--theme-input-text) !important;
  border-color: var(--theme-input-border) !important;
}
input::placeholder,textarea::placeholder { color:var(--theme-surface-muted) !important; opacity:.78; }
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:2px solid var(--gold) !important;
  outline-offset:2px;
  box-shadow:var(--pe19-focus) !important;
}
input[type="file"]::file-selector-button {
  color:var(--theme-on-primary);
  background:var(--navy);
  border:0;
  border-radius:8px;
  padding:8px 11px;
  margin-right:10px;
  font-weight:800;
}
.switch { background:#9aaab4 !important; }
.switch:checked { background:var(--gold) !important; }
.switch::before { background:#fff !important; }

/* --------------------------------------------------------------------------
   F. Tables, pagination, filters, calendars and slots
   -------------------------------------------------------------------------- */
.admin-table-wrap,.portal-table-wrap,.maintenance-table-wrap,.table-scroll,.responsive-table {
  background:var(--theme-surface) !important;
  color:var(--theme-surface-text) !important;
  border-color:var(--line) !important;
}
.admin-table,.portal-table,.maintenance-table,.responsive-table table {
  background:var(--theme-surface) !important;
  color:var(--theme-surface-text) !important;
}
.admin-table th,.portal-table th,.maintenance-table th,.responsive-table th {
  background:var(--ivory) !important;
  color:var(--theme-soft-heading) !important;
  border-color:var(--line) !important;
}
.admin-table td,.portal-table td,.maintenance-table td,.responsive-table td { color:var(--theme-surface-text) !important; border-color:var(--line) !important; }
.admin-table tbody tr:nth-child(even),.portal-table tbody tr:nth-child(even),.maintenance-table tbody tr:nth-child(even) { background:transparent !important; }
.admin-table tbody tr:hover,.portal-table tbody tr:hover,.maintenance-table tbody tr:hover { background:var(--ivory) !important; }

.admin-filterbar,.premium-filter-form,.filter-form,.search-field,.bulk-actions,.pagination a,.file-current {
  background:var(--theme-surface) !important;
  color:var(--theme-surface-text) !important;
  border-color:var(--line) !important;
}
.pagination a.active { background:var(--navy) !important; color:var(--theme-on-primary) !important; border-color:var(--navy) !important; }

.calendar-weekday,.permission-row,.trial-step-strip { background:var(--ivory) !important; color:var(--theme-soft-text) !important; border-color:var(--line) !important; }
.calendar-day,.slot-choice,.plan-choice,.calendar-day-empty,.calendar-event {
  background:var(--theme-surface) !important;
  color:var(--theme-surface-text) !important;
  border-color:var(--line) !important;
}
.calendar-day :is(strong,b),.slot-choice :is(strong,b),.plan-choice :is(strong,b),.calendar-event :is(strong,b) { color:var(--theme-surface-heading) !important; }
.calendar-day :is(small,p),.slot-choice :is(small,p),.plan-choice :is(small,p),.calendar-event :is(small,p) { color:var(--theme-surface-muted) !important; }
.slot-choice.is-selected,.plan-choice.is-selected { background:var(--navy) !important; color:var(--theme-on-primary) !important; border-color:var(--gold) !important; }
.slot-choice.is-selected :is(strong,b,small,p),.plan-choice.is-selected :is(strong,b,small,p) { color:var(--theme-on-primary) !important; }

/* --------------------------------------------------------------------------
   G. Status, alert and toast contrast — derived PHP foregrounds
   -------------------------------------------------------------------------- */
.status-badge,.maintenance-status { border:1px solid transparent !important; }
:is(.status-active,.status-approved,.status-paid,.status-completed,.status-pass,.status-present,.status-resolved,.status-published,.status-success,.status-done),
.status-badge.status-active,.status-badge.status-approved,.status-badge.status-paid,.status-badge.status-completed {
  color:var(--theme-on-success) !important;
  background:var(--success) !important;
  border-color:var(--success) !important;
}
:is(.status-rejected,.status-failed,.status-cancelled,.status-missed,.status-overdue,.status-error,.status-danger),
.status-badge.status-rejected,.status-badge.status-failed,.status-badge.status-cancelled {
  color:var(--theme-on-danger) !important;
  background:var(--danger) !important;
  border-color:var(--danger) !important;
}
:is(.status-pending,.status-open,.status-draft,.status-review,.status-unpaid,.status-processing,.status-scheduled) {
  color:var(--theme-on-accent) !important;
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}
.toast { color:var(--theme-on-primary) !important; background:var(--navy) !important; }
.toast-success { color:var(--theme-on-success) !important; background:var(--success) !important; }
.toast-error { color:var(--theme-on-danger) !important; background:var(--danger) !important; }

/* --------------------------------------------------------------------------
   H. Premium graphics — every section, heading, card, action and trust item
   -------------------------------------------------------------------------- */
.premium-svg-icon { display:block; max-width:100%; max-height:100%; }
.nav-svg-chip,.section-svg-chip,.heading-svg-chip,.footer-heading-svg-chip,
.trust-svg-icon,.feature-icon,.card-watermark-icon,.action-svg-icon-wrap,.control-svg-icon {
  color:var(--icon-tone,var(--gold));
}

.section-svg-chip,.heading-svg-chip,.nav-svg-chip,.trust-svg-icon,.card-watermark-icon {
  background:var(--icon-soft,rgba(217,180,74,.13));
  border:1px solid rgba(127,127,127,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 7px 18px rgba(7,31,48,.07);
}

/* Gentle section separators make every area feel designed without changing flow. */
.public-body main section.premium-section-enhanced {
  position:relative;
  isolation:isolate;
  border-top:1px solid transparent;
}
.public-body main section.premium-section-enhanced:not(.hero):not(.page-hero):not(.course-hero):not(.article-hero):not(.trial-page-hero):not(.premium-page-hero):not(.section-navy):not(.final-cta)::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:240px;
  height:240px;
  right:-150px;
  top:24px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,180,74,.09) 0,rgba(217,180,74,.035) 40%,rgba(217,180,74,0) 72%);
  pointer-events:none;
}

/* Premium cards get a tiny accent rail; dimensions are unaffected. */
.public-body :is(.feature-card,.course-card,.teacher-card,.blog-card,.price-card,.testimonial,.testimonial-card,.content-card,.form-card,.contact-panel,.aside-panel),
.admin-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card,.admin-form,.health-summary-card),
.portal-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card,.form-card,.invoice-card) {
  position:relative;
  border-radius:var(--theme-radius) !important;
  box-shadow:var(--pe19-shadow-sm) !important;
}
.public-body :is(.feature-card,.course-card,.teacher-card,.blog-card,.price-card,.testimonial,.testimonial-card,.content-card,.form-card,.contact-panel,.aside-panel)::after,
.admin-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card,.admin-form,.health-summary-card)::after,
.portal-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card,.form-card,.invoice-card)::after {
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:2px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.65;
  pointer-events:none;
}

.card-watermark-icon {
  z-index:2;
  background:var(--icon-soft,rgba(217,180,74,.13)) !important;
  border-color:rgba(127,127,127,.16) !important;
}

/* Headline icon chips are consistent across public/Admin/portal. */
.premium-icon-heading,.panel-head h2,.panel-head h3,.form-card > h2,.form-card > h3,
.detail-card > h2,.detail-card > h3,.admin-panel > h2,.admin-panel > h3,
.aside-panel > h2,.aside-panel > h3,.contact-panel > h2,.contact-panel > h3,
.auth-card > h1,.auth-card > h2 {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.heading-svg-chip,.section-svg-chip,.footer-heading-svg-chip { flex:none; }

/* Dark surfaces retain coloured glyphs but use translucent glass chips. */
:is(.hero,.page-hero,.course-hero,.article-hero,.trial-page-hero,.premium-page-hero,.section-navy,.final-cta,.maintenance-hero,.site-footer,.admin-sidebar,.portal-sidebar)
:is(.section-svg-chip,.heading-svg-chip,.footer-heading-svg-chip,.nav-svg-chip,.trust-svg-icon,.card-watermark-icon) {
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.15) !important;
  box-shadow:none !important;
}

.action-svg-icon { flex:0 0 auto; }
.btn:has(> .action-svg-icon),.text-arrow:has(> .action-svg-icon),.pagination a:has(> .action-svg-icon),.breadcrumbs a:has(> .action-svg-icon) {
  gap:7px;
}

/* --------------------------------------------------------------------------
   I. Page-head, breadcrumbs, avatars and visual polish
   -------------------------------------------------------------------------- */
.admin-page-head {
  background:var(--theme-surface) !important;
  color:var(--theme-surface-text) !important;
  border-color:var(--line) !important;
  border-left-color:var(--gold) !important;
  box-shadow:var(--pe19-shadow-md) !important;
}
.admin-page-head h1 { color:var(--theme-surface-heading) !important; }
.admin-page-head p { color:var(--theme-surface-muted) !important; }
.breadcrumbs { color:var(--theme-body-muted) !important; }
.breadcrumbs a { color:var(--theme-body-heading) !important; }
.teacher-avatar,.topbar-avatar {
  background:var(--navy) !important;
  color:var(--theme-on-primary) !important;
  border-color:var(--gold) !important;
}
.stars { color:var(--gold) !important; }
.card-label,.eyebrow.gold,.section-kicker-row { color:var(--gold) !important; }

/* Buttons keep exact foreground/background pairs. */
.btn-gold { background:var(--gold) !important; color:var(--theme-on-accent) !important; border-color:var(--gold) !important; }
.btn-navy { background:var(--navy) !important; color:var(--theme-on-primary) !important; border-color:var(--navy) !important; }
.btn-danger { background:var(--danger) !important; color:var(--theme-on-danger) !important; border-color:var(--danger) !important; }
.btn-outline,.btn-ghost { background:var(--theme-surface) !important; color:var(--theme-surface-heading) !important; border-color:var(--line) !important; }
.btn-outline-light { background:transparent !important; color:var(--theme-on-hero) !important; border-color:currentColor !important; }

/* --------------------------------------------------------------------------
   J. Responsive safeguards
   -------------------------------------------------------------------------- */
.public-body img,.admin-body img,.portal-body img,
.public-body video,.admin-body video,.portal-body video,
.public-body iframe,.admin-body iframe,.portal-body iframe { max-width:100%; }
.rich-content,.cms-content,.article-content,.panel-head,.admin-page-head,.card-body { overflow-wrap:anywhere; }

@media (max-width:1100px) {
  body.public-nav-open .site-nav,.site-nav.open,.site-nav.is-open {
    background:var(--theme-surface) !important;
    color:var(--theme-surface-text) !important;
    box-shadow:-22px 0 70px rgba(7,31,48,.24) !important;
  }
  .site-nav .nav-item > a .nav-svg-chip { display:inline-grid !important; }
}

@media (max-width:920px) {
  .admin-sidebar.open,.portal-sidebar.open {
    background:var(--theme-sidebar-bg) !important;
    box-shadow:24px 0 80px rgba(0,0,0,.30) !important;
  }
  .admin-topbar,.portal-topbar { background:var(--theme-surface) !important; color:var(--theme-surface-heading) !important; }
}

@media (max-width:720px) {
  table.responsive-table tr {
    background:var(--theme-surface) !important;
    color:var(--theme-surface-text) !important;
    border-color:var(--line) !important;
  }
  table.responsive-table td::before { color:var(--theme-surface-muted) !important; }
  .public-body main section.premium-section-enhanced::after { width:170px; height:170px; right:-115px; }
  .section-svg-chip,.heading-svg-chip { transform:none !important; }
  .admin-page-head,.admin-panel,.detail-card,.form-card { max-width:100%; }
}

@media (max-width:480px) {
  .site-footer .footer-grid > section:not(:first-child) > a { align-items:flex-start; }
  .heading-svg-chip,.section-svg-chip { flex-basis:28px !important; width:28px !important; height:28px !important; }
  .premium-section-corner { opacity:.42; }
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .public-body :is(.feature-card,.course-card,.teacher-card,.blog-card,.price-card,.testimonial,.testimonial-card):hover,
  .admin-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card):hover,
  .portal-body :is(.admin-panel,.detail-card,.admin-stat-card,.statistics-card,.stat-card):hover {
    transform:translateY(-3px);
    box-shadow:var(--pe19-shadow-md) !important;
  }
  .nav-svg-chip,.section-svg-chip,.heading-svg-chip,.trust-svg-icon,.card-watermark-icon { transition:transform .2s ease,box-shadow .2s ease; }
  a:hover > .nav-svg-chip,.btn:hover > .action-svg-icon,.feature-card:hover .card-watermark-icon { transform:translateY(-1px) scale(1.04); }
}

@media (prefers-reduced-motion:reduce) {
  .public-body *, .admin-body *, .portal-body * { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

/* Print intentionally remains fixed white/paper-safe and excludes decoration. */
@media print {
  html,body,.premium-print-document,.print-document,.invoice-print,.receipt-print {
    color:#1f2937 !important;
    background:#fff !important;
    color-scheme:only light !important;
  }
  .section-svg-chip,.heading-svg-chip,.footer-heading-svg-chip,.card-watermark-icon,
  .premium-section-corner,.premium-section-enhanced::after,.nav-svg-chip,.action-svg-icon { display:none !important; }
  .premium-print-document::after,.print-document::after,.invoice-print::after { content:none !important; }
}

/* --------------------------------------------------------------------------
   K. Final explicit legacy-conflict overrides found by the v18.9 cascade audit
   -------------------------------------------------------------------------- */
.admin-shell,.portal-shell,.admin-main,.admin-content,.portal-content {
  background:var(--theme-body-bg) !important;
  color:var(--theme-body-text) !important;
}
.section-ivory,.pricing-light { background:var(--ivory) !important; color:var(--theme-soft-text) !important; }
.section-ivory :is(h1,h2,h3,h4,h5,h6,strong,b),.pricing-light :is(h1,h2,h3,h4,h5,h6,strong,b) { color:var(--theme-soft-heading) !important; }
.section-ivory :is(p,li,small,.muted),.pricing-light :is(p,li,small,.muted) { color:var(--theme-soft-muted) !important; }

.pricing-grid .price-card { background:var(--theme-surface) !important; color:var(--theme-surface-text) !important; border-color:var(--line) !important; }
.pricing-grid .price-card :is(h1,h2,h3,h4,strong,b,.price,.price-card-top) { color:var(--theme-surface-heading) !important; }
.pricing-grid .price-card :is(p,li,small,.muted,.price-note) { color:var(--theme-surface-muted) !important; }

.header-more-heading { background:var(--navy) !important; color:var(--theme-on-primary) !important; }
.header-more-heading :is(span,small,strong,b) { color:var(--theme-on-primary) !important; }
.nav-toggle,.header-more-toggle { background:var(--theme-header-bg) !important; color:var(--theme-header-text) !important; border-color:var(--theme-header-border) !important; }
.site-header .text-link,.site-header .text-link:hover { color:var(--theme-header-text) !important; }

.admin-brand :is(a,b,strong),.portal-sidebar .admin-brand :is(a,b,strong),.sidebar-user strong { color:var(--theme-sidebar-text) !important; }
.admin-brand small,.sidebar-user small { color:var(--theme-sidebar-muted) !important; }
.sidebar-user { color:var(--theme-sidebar-text) !important; background:rgba(0,0,0,.10) !important; border-color:rgba(255,255,255,.12) !important; }
.sidebar-toggle,.sidebar-collapse { background:var(--theme-surface) !important; color:var(--theme-surface-heading) !important; border-color:var(--line) !important; }
.topbar-actions a,.topbar-actions a:hover,.topbar-signout-button { color:var(--theme-surface-heading) !important; }

.maintenance-note-info { background:var(--ivory) !important; color:var(--theme-soft-text) !important; border-color:var(--line) !important; }
.maintenance-card-icon { background:var(--ivory) !important; color:var(--theme-soft-heading) !important; border-color:var(--line) !important; }
.auth-shell { background:var(--theme-body-bg) !important; color:var(--theme-body-text) !important; }
