/*
 * MathPro Tutors — Math Guru inspired theme layer
 * Reference design language: The Math Guru (themathguru.ca)
 * Scope: public site, auth, checkout/enrolment, student/parent/teacher portals,
 * admin/staff tools, generic blog/article surfaces, tables, forms and system pages.
 * This stylesheet is deliberately loaded last so it can unify older module styles
 * without changing business logic or page markup.
 */

:root {
  --guru-pink: #f451b5;
  --guru-pink-dark: #d93898;
  --guru-pink-soft: #ffe4f3;
  --guru-blue: #4d5cff;
  --guru-blue-dark: #343fcf;
  --guru-blue-soft: #e8eaff;
  --guru-black: #0b0b10;
  --guru-charcoal: #15151d;
  --guru-navy: #202039;
  --guru-ink: #17161d;
  --guru-muted: #6e6876;
  --guru-line: #e5dfe7;
  --guru-surface: #ffffff;
  --guru-surface-soft: #fbf7fa;
  --guru-gold: #d7b35b;
  --guru-success: #178662;
  --guru-danger: #bb2945;
  --guru-warning: #a86809;
  --guru-shadow: 0 18px 52px rgba(25, 17, 31, .11);

  /* Legacy application tokens mapped onto the unified theme. */
  --bg: var(--guru-surface-soft);
  --surface: var(--guru-surface);
  --text: var(--guru-ink);
  --muted: var(--guru-muted);
  --line: var(--guru-line);
  --primary: var(--guru-pink);
  --primary-dark: var(--guru-pink-dark);
  --shadow: var(--guru-shadow);

  --sky-surface: var(--guru-surface-soft);
  --sky-surface-low: #f6f0f5;
  --sky-surface-container: #f1eaf0;
  --sky-surface-high: #ece3ea;
  --sky-panel: var(--guru-surface);
  --sky-text: var(--guru-ink);
  --sky-muted: var(--guru-muted);
  --sky-outline: #d9d0da;
  --sky-primary: var(--guru-pink);
  --sky-primary-bright: #ff66c4;
  --sky-primary-soft: var(--guru-pink-soft);
  --sky-secondary: var(--guru-blue);
  --sky-orange: #c56b23;
  --sky-danger: var(--guru-danger);
  --sky-shadow: var(--guru-shadow);
}

html { background: var(--guru-black); }
body.mathguru-theme {
  margin: 0;
  background: var(--guru-surface-soft);
  color: var(--guru-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.mathguru-theme ::selection { color: #fff; background: var(--guru-pink); }
body.mathguru-theme a { text-underline-offset: 3px; }
body.mathguru-theme :focus-visible { outline: 3px solid rgba(77, 92, 255, .48); outline-offset: 2px; }
body.mathguru-theme .container { width: min(1220px, calc(100% - 40px)); }
body.mathguru-theme h1,
body.mathguru-theme h2,
body.mathguru-theme h3,
body.mathguru-theme h4 { color: inherit; font-weight: 850; letter-spacing: -.035em; }
body.mathguru-theme h1 { letter-spacing: -.052em; }

/* Announcement bar + navigation, mirroring the reference site's compact top strip and overlay-style nav. */
body.mathguru-theme .guru-announcement-bar {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 6px 18px;
  color: #34304b;
  background: #fff;
  border-bottom: 1px solid #eee8ef;
  font-size: .69rem;
  font-weight: 750;
  letter-spacing: .015em;
  text-align: center;
}
body.mathguru-theme .guru-announcement-bar a { color: var(--guru-blue); font-weight: 850; text-decoration: none; }
body.mathguru-theme .guru-announcement-bar b { color: var(--guru-pink-dark); }
body.mathguru-theme .site-header,
body.mathguru-theme .pro-site-header {
  z-index: 60;
  top: 0;
  color: #fff;
  background: rgba(11, 11, 16, .96);
  border-bottom: 1px solid rgba(255,255,255,.09);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
body.mathguru-theme .header-inner,
body.mathguru-theme .pro-header-inner { min-height: 72px; }
body.mathguru-theme .brand,
body.mathguru-theme .pro-brand { color: #fff; }
body.mathguru-theme .brand-mark {
  width: 42px;
  height: 42px;
  color: #fff;
  background: linear-gradient(145deg, var(--guru-pink), #ff72c9);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(244,81,181,.13);
}
body.mathguru-theme .pro-brand-copy strong { color: #fff; font-weight: 900; }
body.mathguru-theme .pro-brand-copy small { color: #bbb5c1; }
body.mathguru-theme .header-nav a,
body.mathguru-theme .pro-header-nav a,
body.mathguru-theme .mpt-header-nav > a { color: #f7f4f7; border-radius: 4px; font-weight: 700; }
body.mathguru-theme .header-nav a:hover,
body.mathguru-theme .header-nav a:focus-visible,
body.mathguru-theme .pro-header-nav a:hover,
body.mathguru-theme .pro-header-nav a:focus-visible,
body.mathguru-theme .mpt-header-nav > a:hover { color: #fff; background: rgba(244,81,181,.16); }
body.mathguru-theme .header-nav a.is-current,
body.mathguru-theme .pro-header-nav a.is-current { color: #fff; background: rgba(77,92,255,.20); }
body.mathguru-theme .pro-sign-in { color: #fff !important; border-color: rgba(255,255,255,.32) !important; background: transparent !important; }
body.mathguru-theme .pro-nav-cta,
body.mathguru-theme .header-nav .nav-cta { color: #fff !important; background: var(--guru-pink) !important; border-color: var(--guru-pink) !important; border-radius: 3px !important; }
body.mathguru-theme .pro-nav-cta:hover { background: var(--guru-pink-dark) !important; }
body.mathguru-theme .pro-sign-out { color: #fff; border-color: rgba(255,255,255,.25); background: transparent; }
body.mathguru-theme .mpt-nav-toggle span,
body.mathguru-theme .pro-nav-toggle span { background: #fff; }

/* Buttons use the reference site's high-contrast fuchsia CTA with electric-blue secondary action. */
body.mathguru-theme .button,
body.mathguru-theme button.button,
body.mathguru-theme input[type="submit"].button {
  min-height: 46px;
  border-radius: 4px;
  font-weight: 800;
  letter-spacing: .005em;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
body.mathguru-theme .button:hover { transform: translateY(-1px); }
body.mathguru-theme .button-primary,
body.mathguru-theme .button.primary,
body.mathguru-theme .button-accent,
body.mathguru-theme .mpt-button-amber,
body.mathguru-theme .mpt-button-blue {
  color: #fff !important;
  background: var(--guru-pink) !important;
  border-color: var(--guru-pink) !important;
  box-shadow: 0 9px 24px rgba(244,81,181,.25) !important;
}
body.mathguru-theme .button-primary:hover,
body.mathguru-theme .button.primary:hover,
body.mathguru-theme .button-accent:hover { background: var(--guru-pink-dark) !important; border-color: var(--guru-pink-dark) !important; }
body.mathguru-theme .button-secondary,
body.mathguru-theme .button.secondary {
  color: var(--guru-blue) !important;
  background: #fff !important;
  border-color: #aeb3ff !important;
}
body.mathguru-theme .button-secondary:hover,
body.mathguru-theme .button.secondary:hover { color: #fff !important; background: var(--guru-blue) !important; border-color: var(--guru-blue) !important; }
body.mathguru-theme .button-light { color: var(--guru-ink) !important; background: #fff !important; border-color: #fff !important; }
body.mathguru-theme .button-quiet,
body.mathguru-theme .text-button { color: var(--guru-blue) !important; }
body.mathguru-theme .pro-text-link,
body.mathguru-theme .text-link,
body.mathguru-theme .mp-text-link { color: var(--guru-blue); }

/* Homepage: dark photo/video-like hero, bright pink CTA and blue support accents. */
body.mathguru-theme.mp-homepage .site-header,
body.mathguru-theme.mp-homepage .pro-site-header { background: rgba(7,7,11,.84); }
body.mathguru-theme .pro-home-hero {
  min-height: 650px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(6,6,10,.91) 0%, rgba(10,9,16,.77) 48%, rgba(13,9,16,.70) 100%),
    url('../img/mathguru-theme-hero.svg') center/cover no-repeat;
  border-bottom: 0;
}
body.mathguru-theme .pro-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.18));
}
body.mathguru-theme .pro-home-hero-grid { position: relative; z-index: 2; gap: clamp(36px, 6vw, 86px); }
body.mathguru-theme .pro-home-hero-copy { max-width: 760px; }
body.mathguru-theme .pro-home-hero-copy h1 {
  margin: 12px 0 18px;
  color: #fff;
  font-size: clamp(3rem, 6.4vw, 5.75rem);
  line-height: .98;
  text-shadow: 0 4px 24px rgba(0,0,0,.28);
}
body.mathguru-theme .pro-home-hero-copy > p { color: #f0ebef; font-size: 1.08rem; line-height: 1.75; }
body.mathguru-theme .pro-eyebrow,
body.mathguru-theme .mp-kicker,
body.mathguru-theme .mpt-kicker,
body.mathguru-theme .eyebrow,
body.mathguru-theme .sky-kicker { color: var(--guru-pink); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
body.mathguru-theme .pro-eyebrow-light { color: #ff82cf; }
body.mathguru-theme .pro-inline-trust { color: #e9e3e8; }
body.mathguru-theme .pro-inline-trust li span { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .pro-find-card {
  color: #fff;
  background: rgba(18,17,25,.82);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
body.mathguru-theme .pro-find-card h2 { color: #fff; }
body.mathguru-theme .pro-find-card p,
body.mathguru-theme .pro-find-card label { color: #d9d3dc; }
body.mathguru-theme .pro-find-card-heading > span { color: var(--guru-pink); }
body.mathguru-theme .pro-find-card input,
body.mathguru-theme .pro-find-card select {
  color: var(--guru-ink);
  background: #fff;
  border-color: rgba(255,255,255,.92);
  border-radius: 3px;
}
body.mathguru-theme .pro-find-help { color: #e4dee6; border-top-color: rgba(255,255,255,.16); }
body.mathguru-theme .pro-find-help > span { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .pro-find-help a { color: #ff8bd3; }
body.mathguru-theme .pro-proof-bar { color: #fff; background: var(--guru-blue); border: 0; }
body.mathguru-theme .pro-proof-bar span { border-color: rgba(255,255,255,.22); }
body.mathguru-theme .pro-proof-bar b { color: #fff; }

/* Public marketing pages and sections. */
body.mathguru-theme .pro-section,
body.mathguru-theme .sky-section,
body.mathguru-theme .mp-content-section,
body.mathguru-theme .mp-directory-section,
body.mathguru-theme .mp-profile-section { background: #fff; }
body.mathguru-theme .pro-soft-section,
body.mathguru-theme .sky-role-section { background: linear-gradient(135deg, #fff4fa 0%, #f4f3ff 100%); border-block-color: #eee3ec; }
body.mathguru-theme .pro-section-heading h2,
body.mathguru-theme .sky-section-heading h2 { color: var(--guru-ink); }
body.mathguru-theme .pro-section-heading p,
body.mathguru-theme .sky-section-heading p { color: var(--guru-muted); }
body.mathguru-theme .pro-page-hero,
body.mathguru-theme .mp-page-hero {
  color: #fff;
  background:
    linear-gradient(105deg, rgba(8,8,13,.95), rgba(22,17,29,.83)),
    radial-gradient(circle at 82% 22%, rgba(244,81,181,.42), transparent 28%),
    radial-gradient(circle at 18% 80%, rgba(77,92,255,.35), transparent 30%),
    #111119;
}
body.mathguru-theme .pro-page-hero h1,
body.mathguru-theme .mp-page-hero h1 { color: #fff; }
body.mathguru-theme .pro-page-hero p,
body.mathguru-theme .mp-page-hero p { color: #e7e1e8; }
body.mathguru-theme .pro-hero-summary,
body.mathguru-theme .pro-page-hero .pro-check-list { color: #eee8ed; }
body.mathguru-theme .pro-country-card,
body.mathguru-theme .pro-course-card,
body.mathguru-theme .pro-tutor-card,
body.mathguru-theme .pro-plan-card,
body.mathguru-theme .pro-feature-grid > article,
body.mathguru-theme .pro-country-service-card,
body.mathguru-theme .pro-process-list > li,
body.mathguru-theme .sky-directive-grid article,
body.mathguru-theme .sky-role-grid article,
body.mathguru-theme .mp-tutor-card,
body.mathguru-theme .mp-content-cards article,
body.mathguru-theme .card,
body.mathguru-theme .panel {
  background: #fff;
  border-color: var(--guru-line);
  border-radius: 8px;
  box-shadow: 0 9px 30px rgba(28,18,31,.055);
}
body.mathguru-theme .pro-country-card:hover,
body.mathguru-theme .pro-course-card:hover,
body.mathguru-theme .pro-tutor-card:hover,
body.mathguru-theme .pro-plan-card:hover { border-color: #f0abd4; box-shadow: 0 16px 38px rgba(41,21,42,.10); }
body.mathguru-theme .pro-country-card header > span,
body.mathguru-theme .pro-country-code,
body.mathguru-theme .pro-feature-mark,
body.mathguru-theme .sky-feature-icon,
body.mathguru-theme .mp-contact-icon,
body.mathguru-theme .mp-tutor-avatar,
body.mathguru-theme .mp-profile-avatar { color: #fff; background: var(--guru-pink); border-radius: 4px; }
body.mathguru-theme .pro-tag-list span,
body.mathguru-theme .sky-directory-tags span,
body.mathguru-theme .mp-tutor-tags span { color: #3339a8; background: var(--guru-blue-soft); }
body.mathguru-theme .pro-tutor-avatar,
body.mathguru-theme .sky-directory-avatar { color: #fff; background: linear-gradient(145deg, var(--guru-blue), var(--guru-pink)); }
body.mathguru-theme .pro-plan-card.is-featured { border: 2px solid var(--guru-pink); }
body.mathguru-theme .pro-plan-badge { color: #fff; background: var(--guru-pink); }
body.mathguru-theme .pro-plan-price strong { color: var(--guru-pink-dark); }
body.mathguru-theme .pro-roadmap-section { color: #fff; background: var(--guru-charcoal); }
body.mathguru-theme .pro-roadmap-copy h2 { color: #fff; }
body.mathguru-theme .pro-roadmap-copy p,
body.mathguru-theme .pro-roadmap-copy .pro-check-list { color: #ddd7df; }
body.mathguru-theme .pro-roadmap-preview { color: var(--guru-ink); border-radius: 8px; border-color: rgba(255,255,255,.13); }
body.mathguru-theme .pro-roadmap-preview li.is-current > span { background: var(--guru-pink); }
body.mathguru-theme .pro-roadmap-preview li.is-complete > span { background: var(--guru-blue); }
body.mathguru-theme .pro-review-section { color: #fff; background: linear-gradient(110deg, #4d5cff 0%, #343fcf 52%, #25205c 100%); }
body.mathguru-theme .pro-review-section h2,
body.mathguru-theme .pro-review-section h3 { color: #fff; }
body.mathguru-theme .pro-review-section p { color: #e5e6ff; }
body.mathguru-theme .pro-review-section aside { border-radius: 6px; border-color: rgba(255,255,255,.25); background: rgba(11,11,16,.32); }
body.mathguru-theme .pro-contact-section { background: #fff6fb; }
body.mathguru-theme .pro-cta-band { color: #fff; background: linear-gradient(110deg, var(--guru-pink), #e83aa5 58%, #c72d91); }
body.mathguru-theme .pro-cta-band h2 { color: #fff; }
body.mathguru-theme .pro-cta-band p { color: #fff5fb; }
body.mathguru-theme .sky-about-hero { background: linear-gradient(135deg, #fff 0%, #fff4fa 54%, #eeeeff 100%); }
body.mathguru-theme .sky-math-visual { border-radius: 8px; border-color: #d8cad5; }
body.mathguru-theme .sky-coordinate-plane i:first-child { border-top-color: var(--guru-blue); }
body.mathguru-theme .sky-coordinate-plane i:nth-child(2) { background: var(--guru-pink); box-shadow: 0 0 0 6px rgba(244,81,181,.14); }
body.mathguru-theme .sky-equation { color: #3f3a78; border-radius: 4px; }
body.mathguru-theme .sky-about-cta > .container { border-radius: 8px; background: #f9eef6; border-color: #eadce7; }
body.mathguru-theme .sky-directory-filters { border-color: #e8dfe7; }
body.mathguru-theme .sky-filter-note { color: #3c397b; background: var(--guru-blue-soft); border-color: #ccd0ff; }
body.mathguru-theme .sky-directory-card { border-radius: 8px; }
body.mathguru-theme .sky-approved-chip { color: #8b2269; background: var(--guru-pink-soft); }

/* Forms, authentication, checkout and enrolment. */
body.mathguru-theme input,
body.mathguru-theme select,
body.mathguru-theme textarea {
  border-color: #d3cad3;
  border-radius: 4px;
  background: #fff;
  color: var(--guru-ink);
}
body.mathguru-theme input:focus,
body.mathguru-theme select:focus,
body.mathguru-theme textarea:focus { border-color: var(--guru-blue); box-shadow: 0 0 0 3px rgba(77,92,255,.12); outline: 0; }
body.mathguru-theme .auth-shell { min-height: calc(100vh - 104px); background: linear-gradient(125deg, #0c0c11 0%, #18151e 44%, #252144 100%); }
body.mathguru-theme .auth-panel { border-radius: 8px; border-color: rgba(255,255,255,.14); }
body.mathguru-theme .auth-copy { color: #fff; background: transparent; }
body.mathguru-theme .auth-copy h1,
body.mathguru-theme .auth-copy h2 { color: #fff; }
body.mathguru-theme .auth-copy p,
body.mathguru-theme .auth-copy li { color: #dcd5dd; }
body.mathguru-theme .auth-form-panel { background: #fff; box-shadow: 0 26px 75px rgba(0,0,0,.26); }
body.mathguru-theme .auth-form-panel a,
body.mathguru-theme .form-links a { color: var(--guru-blue); }
body.mathguru-theme .auth-onboarding { background: #fff8fc; }
body.mathguru-theme [class*="checkout"],
body.mathguru-theme [class*="enrollment"],
body.mathguru-theme [class*="enrolment"] { --checkout-primary: var(--guru-pink); --enrollment-primary: var(--guru-pink); }
body.mathguru-theme .checkout-shell,
body.mathguru-theme .enrollment-shell,
body.mathguru-theme .enrolment-shell { background: #fbf7fa; }

/* Generic blog/post/article skin so future and existing publishing screens inherit the same visual language. */
body.mathguru-theme .blog-hero,
body.mathguru-theme .post-hero,
body.mathguru-theme .article-hero,
body.mathguru-theme .news-hero { color: #fff; background: linear-gradient(120deg, var(--guru-black), #24192a 65%, #34263b); }
body.mathguru-theme .blog-grid,
body.mathguru-theme .post-grid,
body.mathguru-theme .article-grid { gap: 24px; }
body.mathguru-theme .blog-card,
body.mathguru-theme .post-card,
body.mathguru-theme .article-card,
body.mathguru-theme article.blog-post,
body.mathguru-theme article.post {
  background: #fff;
  border: 1px solid var(--guru-line);
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(31,21,33,.06);
}
body.mathguru-theme .blog-card a,
body.mathguru-theme .post-card a,
body.mathguru-theme .article-card a,
body.mathguru-theme .blog-post a,
body.mathguru-theme .post-content a,
body.mathguru-theme .article-content a { color: var(--guru-blue); }
body.mathguru-theme .blog-card .category,
body.mathguru-theme .post-card .category,
body.mathguru-theme .article-card .category,
body.mathguru-theme .post-meta .category { color: #fff; background: var(--guru-pink); }
body.mathguru-theme .post-content blockquote,
body.mathguru-theme .article-content blockquote { border-left: 5px solid var(--guru-pink); background: #fff4fa; }

/* Student / parent / teacher portals. */
body.mathguru-theme.mp-portal-dashboard { background: #f7f4f7; }
body.mathguru-theme .student-dashboard-shell,
body.mathguru-theme .teacher-dashboard-shell,
body.mathguru-theme .admin-dashboard-shell { background: #f7f4f7; }
body.mathguru-theme .student-sidebar,
body.mathguru-theme .teacher-sidebar,
body.mathguru-theme .admin-sidebar {
  color: #fff;
  background: var(--guru-charcoal);
  border-color: #292731;
  box-shadow: 8px 0 30px rgba(12,9,14,.08);
}
body.mathguru-theme .student-brand,
body.mathguru-theme .teacher-brand,
body.mathguru-theme .admin-brand { color: #fff; }
body.mathguru-theme .student-brand > span,
body.mathguru-theme .teacher-brand > span,
body.mathguru-theme .admin-brand > span { color: #fff; background: var(--guru-pink); border-radius: 50%; }
body.mathguru-theme .student-brand strong,
body.mathguru-theme .teacher-brand strong,
body.mathguru-theme .admin-brand strong { color: #fff; }
body.mathguru-theme .student-brand small,
body.mathguru-theme .teacher-brand small,
body.mathguru-theme .admin-brand small { color: #aaa4ae; }
body.mathguru-theme .student-profile-card,
body.mathguru-theme .teacher-profile-card,
body.mathguru-theme .admin-profile-card,
body.mathguru-theme .student-sidebar-security,
body.mathguru-theme .teacher-sidebar-security { color: #fff; background: rgba(255,255,255,.065); border-color: rgba(255,255,255,.12); }
body.mathguru-theme .student-profile-card span,
body.mathguru-theme .teacher-profile-card span,
body.mathguru-theme .admin-profile-card span,
body.mathguru-theme .student-sidebar-security span,
body.mathguru-theme .teacher-sidebar-security span { color: #bfb8c2; }
body.mathguru-theme .student-avatar,
body.mathguru-theme .teacher-avatar,
body.mathguru-theme .admin-avatar { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .student-nav-list a,
body.mathguru-theme .student-nav-logout,
body.mathguru-theme .teacher-nav-list a,
body.mathguru-theme .teacher-nav-logout,
body.mathguru-theme .admin-nav a,
body.mathguru-theme .admin-sidebar-signout { color: #d8d2da; border-radius: 4px; }
body.mathguru-theme .student-nav-list a:hover,
body.mathguru-theme .student-nav-logout:hover,
body.mathguru-theme .teacher-nav-list a:hover,
body.mathguru-theme .teacher-nav-logout:hover,
body.mathguru-theme .admin-nav a:hover,
body.mathguru-theme .admin-sidebar-signout:hover { color: #fff; background: rgba(244,81,181,.15); }
body.mathguru-theme .student-nav-list a.is-active,
body.mathguru-theme .teacher-nav-list a.is-active,
body.mathguru-theme .admin-nav a.is-active { color: #fff; background: var(--guru-pink); border-color: var(--guru-pink); }
body.mathguru-theme .student-dashboard-main,
body.mathguru-theme .teacher-dashboard-main,
body.mathguru-theme .admin-dashboard-main,
body.mathguru-theme .pro-admin-main { background: #f7f4f7; }
body.mathguru-theme .student-dashboard-hero,
body.mathguru-theme .teacher-dashboard-hero,
body.mathguru-theme .admin-dashboard-hero,
body.mathguru-theme .pro-admin-hero { color: var(--guru-ink); background: transparent; }
body.mathguru-theme .student-dashboard-hero h1,
body.mathguru-theme .teacher-dashboard-hero h1,
body.mathguru-theme .admin-dashboard-hero h1,
body.mathguru-theme .pro-admin-hero h1 { color: var(--guru-ink); }
body.mathguru-theme .student-dashboard-hero .eyebrow,
body.mathguru-theme .teacher-dashboard-hero .eyebrow,
body.mathguru-theme .admin-eyebrow,
body.mathguru-theme .panel-kicker { color: var(--guru-pink); }
body.mathguru-theme .student-hero-meta > span,
body.mathguru-theme .teacher-hero-meta > span { background: #fff; border-color: #dfd6df; }
body.mathguru-theme .student-summary-card,
body.mathguru-theme .teacher-summary-card,
body.mathguru-theme .admin-metric-card,
body.mathguru-theme .student-panel,
body.mathguru-theme .teacher-panel,
body.mathguru-theme .admin-panel,
body.mathguru-theme .admin-queue-card,
body.mathguru-theme .pro-admin-action-grid > a,
body.mathguru-theme .pro-admin-action-grid > article {
  color: var(--guru-ink);
  background: #fff;
  border-color: #e1d9e1;
  border-radius: 6px;
  box-shadow: 0 8px 26px rgba(29,20,31,.045);
}
body.mathguru-theme .student-summary-card.is-featured,
body.mathguru-theme .teacher-summary-card.is-featured,
body.mathguru-theme .admin-metric-card.is-featured { color: #fff; background: linear-gradient(135deg, var(--guru-pink), #e73da5); border-color: var(--guru-pink); }
body.mathguru-theme .student-summary-card.is-featured *,
body.mathguru-theme .teacher-summary-card.is-featured * { color: #fff !important; }
body.mathguru-theme .summary-icon,
body.mathguru-theme .admin-metric-card .metric-icon { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .student-panel-header h2,
body.mathguru-theme .teacher-panel-header h2,
body.mathguru-theme .admin-panel-header h2,
body.mathguru-theme .admin-section-header h2 { color: var(--guru-ink); }
body.mathguru-theme .student-class-card,
body.mathguru-theme .teacher-class-card,
body.mathguru-theme .student-task-card,
body.mathguru-theme .teacher-task-card,
body.mathguru-theme .admin-queue-item { border-radius: 4px; border-color: #e4dce4; }
body.mathguru-theme .student-mobile-nav-toggle,
body.mathguru-theme .teacher-mobile-nav-toggle,
body.mathguru-theme .admin-mobile-nav-toggle { color: #fff; background: var(--guru-charcoal); border-color: #2b2830; }

/* Admin and operational screens beyond the main dashboard. */
body.mathguru-theme [class*="admin-"][class*="shell"],
body.mathguru-theme [class*="finance-shell"],
body.mathguru-theme [class*="assignment-shell"],
body.mathguru-theme [class*="availability-shell"],
body.mathguru-theme [class*="report-shell"],
body.mathguru-theme [class*="settings-shell"],
body.mathguru-theme [class*="support-shell"],
body.mathguru-theme [class*="calendar-shell"] { background: #f7f4f7; }
body.mathguru-theme .architecture-badge,
body.mathguru-theme .status-badge,
body.mathguru-theme .admin-count-pill,
body.mathguru-theme .teacher-count-pill { border-radius: 999px; }
body.mathguru-theme .architecture-badge { color: #fff; background: var(--guru-charcoal); }
body.mathguru-theme .step-label,
body.mathguru-theme .section-kicker { color: var(--guru-pink); }
body.mathguru-theme .metric-card,
body.mathguru-theme .quick-action-card,
body.mathguru-theme .detail-card,
body.mathguru-theme .filter-panel,
body.mathguru-theme .settings-card,
body.mathguru-theme .support-card,
body.mathguru-theme .report-card,
body.mathguru-theme .notification-card,
body.mathguru-theme .recording-card,
body.mathguru-theme .assignment-card,
body.mathguru-theme .availability-card,
body.mathguru-theme .calendar-day,
body.mathguru-theme .message-card { border-color: #e2dae2; border-radius: 6px; background: #fff; }

/* Tables across admin, reporting, portal and public data views. */
body.mathguru-theme table { border-color: #e3dce4; background: #fff; }
body.mathguru-theme table caption { color: var(--guru-muted); }
body.mathguru-theme thead th {
  color: #fff;
  background: var(--guru-charcoal);
  border-color: #302d36;
}
body.mathguru-theme tbody td,
body.mathguru-theme tbody th { border-color: #eee8ee; }
body.mathguru-theme tbody tr:nth-child(even) { background: #fdf9fc; }
body.mathguru-theme tbody tr:hover { background: #fff1f9; }
body.mathguru-theme .table-scroll,
body.mathguru-theme .responsive-table { border-radius: 6px; border-color: #e2d9e2; }

/* Status colors keep meaning but fit the shared palette. */
body.mathguru-theme .status-approved,
body.mathguru-theme .status-active,
body.mathguru-theme .status-success,
body.mathguru-theme .alert.success,
body.mathguru-theme .alert-success { color: #0b6648 !important; background: #dff7ed !important; border-color: #abe4cf !important; }
body.mathguru-theme .status-pending,
body.mathguru-theme .status-submitted,
body.mathguru-theme .status-warning,
body.mathguru-theme .alert.warning { color: #81500b !important; background: #fff3d8 !important; border-color: #ebd296 !important; }
body.mathguru-theme .status-rejected,
body.mathguru-theme .status-cancelled,
body.mathguru-theme .status-error,
body.mathguru-theme .alert.error,
body.mathguru-theme .alert-error { color: #9b2542 !important; background: #ffe5ec !important; border-color: #f2b6c5 !important; }
body.mathguru-theme .status-draft,
body.mathguru-theme .status-info,
body.mathguru-theme .alert.info,
body.mathguru-theme .alert-info { color: #303ba7 !important; background: var(--guru-blue-soft) !important; border-color: #c9ceff !important; }

/* Notification, messaging, support and calendar accents. */
body.mathguru-theme .notification-unread,
body.mathguru-theme .message-unread { border-left-color: var(--guru-pink); }
body.mathguru-theme .calendar-event.status-border-confirmed,
body.mathguru-theme .calendar-event.status-border-scheduled { border-left-color: var(--guru-blue); }
body.mathguru-theme .calendar-event.status-border-draft { border-left-color: var(--guru-pink); }
body.mathguru-theme .calendar-event:hover { background: #fff2f9; }
body.mathguru-theme .support-priority-high,
body.mathguru-theme .priority-high { border-left-color: var(--guru-pink); }

/* Footer and floating support. */
body.mathguru-theme .site-footer,
body.mathguru-theme .pro-site-footer {
  color: #d6d0d8;
  background: var(--guru-black);
  border-top: 1px solid #2a2730;
}
body.mathguru-theme .pro-footer-grid nav strong { color: #fff; }
body.mathguru-theme .pro-footer-grid nav a,
body.mathguru-theme .pro-footer-contact a { color: #c9c2cb; }
body.mathguru-theme .pro-footer-grid nav a:hover,
body.mathguru-theme .pro-footer-contact a:hover { color: #ff7dce; }
body.mathguru-theme .pro-footer-bottom { color: #8f8992; border-top-color: #2b2831; }
body.mathguru-theme .pro-whatsapp-float { color: #fff; background: var(--guru-pink); border-radius: 4px; box-shadow: 0 13px 30px rgba(244,81,181,.30); }
body.mathguru-theme .pro-whatsapp-float span { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .cookie-banner { border-color: #ded5de; border-radius: 6px; background: #fff; box-shadow: 0 18px 55px rgba(20,13,22,.18); }

/* Offline/error/setup-like surfaces. */
body.mathguru-theme .error-page { background: linear-gradient(135deg, #fff 0%, #fff4fa 55%, #efefff 100%); }
body.mathguru-theme .error-code { color: var(--guru-pink); }
body.mathguru-theme .request-id { border-color: #e1d8e1; border-radius: 4px; }
body.mathguru-theme .debug-box { background: var(--guru-charcoal); }

/* Responsive behaviour. */
@media (max-width: 1040px) {
  body.mathguru-theme .pro-header-nav,
  body.mathguru-theme .mpt-header-nav {
    color: #fff;
    background: rgba(11,11,16,.98) !important;
    border-color: #302d35 !important;
    border-radius: 0 0 6px 6px !important;
  }
  body.mathguru-theme .pro-header-nav a,
  body.mathguru-theme .mpt-header-nav > a { color: #fff !important; }
  body.mathguru-theme .pro-home-hero { min-height: auto; padding: 72px 0; }
}
@media (max-width: 760px) {
  body.mathguru-theme .guru-announcement-bar { font-size: .63rem; }
  body.mathguru-theme .container { width: min(100% - 28px, 1220px); }
  body.mathguru-theme .pro-home-hero-copy h1 { font-size: clamp(2.75rem, 13vw, 4.2rem); }
  body.mathguru-theme .pro-home-hero { background-position: 62% center; }
  body.mathguru-theme .student-sidebar,
  body.mathguru-theme .teacher-sidebar,
  body.mathguru-theme .admin-sidebar { box-shadow: 18px 0 50px rgba(0,0,0,.28); }
}

@media (prefers-reduced-motion: reduce) {
  body.mathguru-theme .button { transition: none; }
  body.mathguru-theme .button:hover { transform: none; }
}

/* Legacy section35 public shell. */
body.mathguru-theme .site-shell { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }
body.mathguru-theme .primary-nav { display: flex; align-items: center; gap: 8px; }
body.mathguru-theme .primary-nav a { color: #f7f4f7; text-decoration: none; font-weight: 700; padding: 9px 10px; border-radius: 4px; }
body.mathguru-theme .primary-nav a:hover { background: rgba(244,81,181,.15); }
body.mathguru-theme .primary-nav .button,
body.mathguru-theme .button-small { color: #fff !important; background: var(--guru-pink) !important; border-color: var(--guru-pink) !important; }
body.mathguru-theme .brand-footer { color: #fff; }

/* Section36 component-system shell: same portal language even when that shell is used. */
body.mathguru-theme .ui-app-shell { background: #f7f4f7; color: var(--guru-ink); }
body.mathguru-theme .ui-sidebar {
  color: #fff;
  background: var(--guru-charcoal);
  border-color: #2b2930;
}
body.mathguru-theme .ui-brand { color: #fff; }
body.mathguru-theme .ui-brand__mark { color: #fff; background: var(--guru-pink); border-radius: 50%; }
body.mathguru-theme .ui-brand__text,
body.mathguru-theme .ui-sidebar__label { color: #fff; }
body.mathguru-theme .ui-sidebar__label { opacity: .58; }
body.mathguru-theme .ui-sidebar__nav a,
body.mathguru-theme .ui-sidebar__footer > a { color: #d8d2da; border-radius: 4px; }
body.mathguru-theme .ui-sidebar__nav a:hover,
body.mathguru-theme .ui-sidebar__footer > a:hover { color: #fff; background: rgba(244,81,181,.15); }
body.mathguru-theme .ui-sidebar__nav a.is-active { color: #fff; background: var(--guru-pink); }
body.mathguru-theme .ui-sidebar__user { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.055); }
body.mathguru-theme .ui-sidebar__user strong { color: #fff; }
body.mathguru-theme .ui-sidebar__user small { color: #aaa4ae; }
body.mathguru-theme .ui-avatar { color: #fff; background: var(--guru-blue); }
body.mathguru-theme .ui-topbar { background: #fff; border-color: #e7dfe7; box-shadow: 0 3px 16px rgba(32,21,34,.04); }
body.mathguru-theme .ui-search-trigger,
body.mathguru-theme .ui-user-menu,
body.mathguru-theme .ui-icon-button { border-color: #ded6de; border-radius: 4px; background: #fff; color: var(--guru-ink); }
body.mathguru-theme .ui-search-trigger:hover,
body.mathguru-theme .ui-user-menu:hover,
body.mathguru-theme .ui-icon-button:hover { border-color: #f0afd5; background: #fff5fa; }
body.mathguru-theme .ui-indicator { color: #fff; background: var(--guru-pink); }
body.mathguru-theme .ui-main { background: #f7f4f7; }
body.mathguru-theme .ui-page-heading h1 { color: var(--guru-ink); }
body.mathguru-theme .ui-page-heading p,
body.mathguru-theme .ui-muted { color: var(--guru-muted); }
body.mathguru-theme .ui-eyebrow { color: var(--guru-pink); }
body.mathguru-theme .ui-card,
body.mathguru-theme .ui-panel,
body.mathguru-theme .ui-table-wrap,
body.mathguru-theme .ui-dialog,
body.mathguru-theme .ui-drawer,
body.mathguru-theme .ui-dropdown__menu { border-color: #e2d9e2; border-radius: 6px; background: #fff; box-shadow: 0 12px 36px rgba(29,19,31,.08); }
body.mathguru-theme .ui-card__header,
body.mathguru-theme .ui-panel__header,
body.mathguru-theme .ui-dialog__header,
body.mathguru-theme .ui-drawer__header { border-color: #ece5ec; }
body.mathguru-theme .ui-button--primary,
body.mathguru-theme .ui-button-primary { color: #fff; background: var(--guru-pink); border-color: var(--guru-pink); }
body.mathguru-theme .ui-button--secondary,
body.mathguru-theme .ui-button-secondary { color: var(--guru-blue); background: #fff; border-color: #b8bdff; }
body.mathguru-theme .ui-command-search input { border-color: #d4cbd4; }
body.mathguru-theme .ui-command-search input:focus { border-color: var(--guru-blue); box-shadow: 0 0 0 3px rgba(77,92,255,.12); }
body.mathguru-theme .ui-notification-dot { background: var(--guru-pink); }
body.mathguru-theme .ui-dropdown__menu a:hover,
body.mathguru-theme .ui-dropdown__menu button:hover { background: #fff2f9; color: var(--guru-pink-dark); }

@media (max-width: 900px) {
  body.mathguru-theme .primary-nav { background: var(--guru-charcoal); }
  body.mathguru-theme .ui-sidebar { box-shadow: 18px 0 48px rgba(0,0,0,.28); }
}
