:root{
  --theme-primary:#1F4E79;
  --theme-primary-dark:#163755;
  --theme-secondary:#F4B942;
  --theme-surface:#F6F8FB;
  --theme-surface-soft:#FAFBFD;
  --theme-text:#172018;
  --theme-muted:#6F766F;
  --theme-primary-rgb:31,78,121;
  --theme-secondary-rgb:244,185,66;

  /* Map old project tokens to the selected academy theme */
  --green:var(--theme-primary);
  --green-dark:var(--theme-primary-dark);
  --green2:var(--theme-primary-dark);
  --green3:var(--theme-primary-dark);
  --green-900:var(--theme-primary-dark);
  --gold:var(--theme-secondary);
  --beige:var(--theme-surface);
  --beige-2:var(--theme-surface-soft);
  --cream:var(--theme-surface-soft);
  --text:var(--theme-text);
  --muted:var(--theme-muted);
}

/* PUBLIC WEBSITE */
.announcement{background:linear-gradient(90deg,var(--theme-primary-dark),var(--theme-primary))!important}
.brand-mark,.hero-blob,.academy-sign,.footer-brand-mark{background:linear-gradient(145deg,var(--theme-primary),var(--theme-primary-dark))!important}
.btn-green,.btn-primary-green,.cta-band,.enroll-submit,.contact-submit{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-dark))!important;
  border-color:var(--theme-primary)!important;color:#fff!important
}
.btn-green:hover,.btn-primary-green:hover,.enroll-submit:hover,.contact-submit:hover{
  background:var(--theme-primary-dark)!important;color:#fff!important
}
.btn-outline-green{border-color:rgba(var(--theme-primary-rgb),.38)!important;color:var(--theme-primary)!important}
.btn-outline-green:hover{background:var(--theme-primary)!important;color:#fff!important}
.nav-link.active,.nav-link:hover,.navbar-brand,.course-icon,.trust-item i,.contact-go,.contact-note i,
.section-title span,.footer-link:hover,.verify-icon,.feature-icon{color:var(--theme-primary)!important}
.eyebrow,.meta-pill,.feature-icon,.course-icon{background:rgba(var(--theme-primary-rgb),.09)!important}
.hero{background:radial-gradient(circle at 82% 16%,rgba(var(--theme-secondary-rgb),.20),transparent 22%),linear-gradient(135deg,#fff 0%,var(--theme-surface-soft) 50%,var(--theme-surface) 100%)!important}
.section-beige,.about-section-soft{background:var(--theme-surface-soft)!important}
.course-card:hover,.contact-card:hover{border-color:rgba(var(--theme-primary-rgb),.25)!important}

/* ADMIN */
.sidebar{background:linear-gradient(180deg,var(--theme-primary-dark) 0%,var(--theme-primary) 58%,var(--theme-primary-dark) 100%)!important}
.side-brand .logo,.side-unread-badge,.dashboard-kicker,.panel a:not(.btn):hover{color:var(--theme-primary)!important}
.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.17)!important}
.btn-green,.view-site-btn,.admin-primary-btn,.request-action.review{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-dark))!important;color:#fff!important
}
.kpi .icon,.quick-link i,.message-avatar,.notification-avatar{
  background:rgba(var(--theme-primary-rgb),.09)!important;color:var(--theme-primary)!important
}
.kpi:after{background:rgba(var(--theme-primary-rgb),.055)!important}
.progress-bar{background:linear-gradient(90deg,var(--theme-primary),var(--theme-secondary))!important}
.form-control:focus,.form-select:focus{border-color:rgba(var(--theme-primary-rgb),.55)!important;box-shadow:0 0 0 .22rem rgba(var(--theme-primary-rgb),.12)!important}
.message-table tbody tr.message-unread td:first-child{box-shadow:inset 3px 0 0 var(--theme-primary)!important}
.message-live-pill,.photo-status.ok,.status-pill.complete{color:var(--theme-primary)!important;background:rgba(var(--theme-primary-rgb),.10)!important}
.admin-chat-message.admin .admin-chat-bubble,.chat-message.mine .chat-bubble{background:rgba(var(--theme-primary-rgb),.10)!important;border-color:rgba(var(--theme-primary-rgb),.20)!important}
.admin-chat-panel-head,.student-panel-head.theme-head{background:linear-gradient(105deg,var(--theme-primary-dark),var(--theme-primary) 72%,var(--theme-secondary))!important}
.theme-current-ring{box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb),.18)!important}

/* STUDENT PORTAL */
.student-topbar{border-bottom-color:rgba(var(--theme-primary-rgb),.16)!important}
.student-brand>span,.portal-logo{background:linear-gradient(145deg,var(--theme-primary),var(--theme-primary-dark))!important}
.student-nav-btn{color:var(--theme-primary)!important}
.student-nav-btn:hover,.student-nav-btn.active,
.student-submit-payment-btn,.student-chat-form button,.student-login-card form>button{
  background:linear-gradient(105deg,var(--theme-primary-dark),var(--theme-primary) 70%,var(--theme-secondary))!important;
  color:#fff!important;border-color:transparent!important
}
.student-nav-roll{border-color:rgba(var(--theme-secondary-rgb),.55)!important;background:linear-gradient(135deg,var(--theme-surface-soft),rgba(var(--theme-secondary-rgb),.17))!important}
.student-nav-roll small,.student-panel-head small,.portal-eyebrow{color:var(--theme-primary)!important}
.student-welcome,.student-panel,.student-stat-card{border-color:rgba(var(--theme-primary-rgb),.11)!important}
.student-chat-box>.student-panel-head{
  background:linear-gradient(105deg,var(--theme-primary-dark),var(--theme-primary) 72%,var(--theme-secondary))!important;
  color:#fff!important
}
.student-chat-box>.student-panel-head small{color:rgba(255,255,255,.82)!important}
.chat-message.mine .chat-bubble{background:rgba(var(--theme-primary-rgb),.10)!important;border-color:rgba(var(--theme-primary-rgb),.20)!important}
.chat-file-btn{color:var(--theme-primary)!important;background:rgba(var(--theme-primary-rgb),.08)!important}
.student-login-body{background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))!important}
.student-login-brand h2,.student-login-card h3{color:var(--theme-text)!important}
.student-login-card .portal-eye-btn{color:var(--theme-primary)!important;background:rgba(var(--theme-primary-rgb),.08)!important}

/* Common focus / links / accents */
a{--bs-link-color-rgb:var(--theme-primary-rgb)}
.text-success{color:var(--theme-primary)!important}
.border-success{border-color:var(--theme-primary)!important}
.bg-success{background-color:var(--theme-primary)!important}


/* V63 — COMPLETE GLOBAL THEME OVERRIDE
   Loaded after all project CSS. This intentionally overrides legacy
   hard-coded green/gold colors left in old components. */
:root{
  --theme-gradient:linear-gradient(110deg,var(--theme-primary-dark) 0%,var(--theme-primary) 58%,var(--theme-secondary) 100%)!important;
  --theme-soft-gradient:
    radial-gradient(circle at 88% 10%,rgba(var(--theme-secondary-rgb),.18),transparent 28%),
    linear-gradient(135deg,var(--theme-surface-soft) 0%,var(--theme-surface) 100%)!important;
  --g:var(--theme-primary)!important;
  --g2:var(--theme-primary)!important;
}

/* ===== PUBLIC: HEADER / HERO / BRAND / CTA ===== */
.announcement,
.site-header .btn-green,
.hero .btn-green,
.hero .btn-primary,
a.btn-green,
button.btn-green,
.btn-green,
.btn-primary-green,
.enroll-submit,
.contact-submit,
.course-card-button,
.featured-course-card .btn-green,
.course-list-card .btn-green,
.verify-search-form .btn-green,
.verify-inline .btn,
.contact-form-card .btn-green,
.contact-cta .btn,
.contact-cta-section .btn,
.course-detail-block ~ .btn-green{
  background:var(--theme-gradient)!important;
  border-color:transparent!important;
  color:#fff!important;
}
.site-header .btn-green:hover,
.hero .btn-green:hover,
a.btn-green:hover,
button.btn-green:hover,
.course-card-button:hover,
.featured-course-card .btn-green:hover,
.course-list-card .btn-green:hover,
.verify-search-form .btn-green:hover,
.contact-form-card .btn-green:hover{
  background:linear-gradient(110deg,var(--theme-primary) 0%,var(--theme-primary-dark) 100%)!important;
  color:#fff!important;
}

.hero h1 span,
.site-header .nav-link.active,
.site-header .nav-link:hover,
.navbar-brand,
.section-title span,
.stat strong,
.contact-go,
.contact-note i,
.footer-link:hover,
.course-side-points i{
  color:var(--theme-primary)!important;
}

.brand-mark,
.footer-brand-mark,
.hero-photo-badge i,
.academy-photo-logo{
  color:var(--theme-primary)!important;
}
.brand-mark,
.portal-logo{
  background:linear-gradient(145deg,var(--theme-primary),var(--theme-primary-dark))!important;
}

.hero{
  background:
    radial-gradient(circle at 84% 14%,rgba(var(--theme-secondary-rgb),.22),transparent 25%),
    linear-gradient(135deg,#fff 0%,var(--theme-surface-soft) 50%,var(--theme-surface) 100%)!important;
}
.hero-photo-blob,
.hero-blob{
  background:linear-gradient(145deg,var(--theme-primary),var(--theme-primary-dark))!important;
  box-shadow:0 30px 60px rgba(var(--theme-primary-rgb),.18)!important;
}
.hero-photo-dots,.hero-dots{
  background-image:radial-gradient(var(--theme-primary) 2px,transparent 2px)!important;
}
.hero .btn-outline-green{
  color:var(--theme-primary)!important;
  border-color:rgba(var(--theme-primary-rgb),.35)!important;
  background:#fff!important;
}
.hero .btn-outline-green:hover{
  background:var(--theme-gradient)!important;color:#fff!important;border-color:transparent!important;
}

/* ===== PUBLIC: COURSE CARDS / ICONS / BORDERS ===== */
.course-icon{
  background:var(--theme-gradient)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(var(--theme-primary-rgb),.20)!important;
}
.course-card,
.course-list-card,
.featured-course-card,
.stat,
.contact-card,
.course-detail-block,
.verify-search-card,
.verify-result-card{
  border-color:rgba(var(--theme-primary-rgb),.16)!important;
}
.about-photo-card,
.about-page-office,
.about-modern .stat,
.section .contact-card,
.course-detail-block,
.verify-search-card,
.verify-result-card,
.popular-section .featured-course-card{
  background-image:
    linear-gradient(#fff,#fff),
    linear-gradient(90deg,var(--theme-primary),var(--theme-secondary))!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
}
.popular-section,
.section-beige,
.timeline-section,
.verify-page-section{
  background:var(--theme-soft-gradient)!important;
}
.page-hero,
.contact-page-hero{
  background:
    radial-gradient(circle at 90% 8%,rgba(var(--theme-secondary-rgb),.17),transparent 30%),
    linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))!important;
}
.course-cover,
.course-side-highlight{
  background:
    radial-gradient(circle at 92% 12%,rgba(var(--theme-secondary-rgb),.27),transparent 30%),
    var(--theme-gradient)!important;
  color:#fff!important;
}
.academy-photo-sign,
.academy-sign,
.contact-highlight{
  background:linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary))!important;
  color:#fff!important;
}
.contact-info-panel{
  background:linear-gradient(145deg,var(--theme-surface),var(--theme-surface-soft))!important;
  border-color:rgba(var(--theme-primary-rgb),.14)!important;
}
.contact-info-item>span,
.captcha-icon,
.eyebrow,
.meta-pill{
  background:rgba(var(--theme-primary-rgb),.09)!important;
  color:var(--theme-primary)!important;
}

/* ===== VERIFY / CTA / FOOTER ===== */
.verify-box,
.verify-result-head,
.contact-cta-section,
.contact-cta-section .contact-cta,
.contact-cta{
  background:var(--theme-gradient)!important;
  color:#fff!important;
}
.verify-check-icon,
.verify-result-kicker{
  color:var(--theme-secondary)!important;
}
.verify-result-card{
  border-bottom-color:var(--theme-secondary)!important;
}
.footer{
  background:
    radial-gradient(circle at 94% 8%,rgba(var(--theme-secondary-rgb),.12),transparent 24%),
    linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary))!important;
  color:rgba(255,255,255,.88)!important;
}
.footer a,.footer .brand-copy small,.footer-bottom{
  color:rgba(255,255,255,.78)!important;
}
.footer-bottom{
  border-top-color:rgba(255,255,255,.16)!important;
}
.smcoder-credit .heart{color:var(--theme-secondary)!important}

/* ===== TIMELINE / WHY / SMALL LEGACY ACCENTS ===== */
.timeline-icon.teal,
.timeline-icon.blue,
.timeline-icon.purple,
.timeline-icon.orange,
.timeline-icon.theme-one,
.timeline-icon.theme-two,
.timeline-icon.theme-three,
.timeline-icon.theme-four{
  background:var(--theme-gradient)!important;color:#fff!important;
}
.why-title:after{
  background:linear-gradient(90deg,var(--theme-primary),var(--theme-secondary))!important;
}
.why-pill,.why-check{
  color:var(--theme-primary)!important;
  border-color:rgba(var(--theme-primary-rgb),.28)!important;
  background:rgba(var(--theme-primary-rgb),.08)!important;
}

/* ===== ADMIN: ALL MAIN ACCENTS ===== */
.sidebar{
  background:linear-gradient(180deg,var(--theme-primary-dark) 0%,var(--theme-primary) 58%,var(--theme-primary-dark) 100%)!important;
}
.view-site-btn,
.admin-primary-btn,
.request-action.review,
.admin-page .btn-success,
.admin-page .btn-primary,
.admin-chat-send button{
  background:var(--theme-gradient)!important;
  border-color:transparent!important;
  color:#fff!important;
}
.side-unread-badge,
.notification-badge,
.chat-unread{
  background:var(--theme-secondary)!important;
  color:var(--theme-primary-dark)!important;
}
.admin-chat-panel-head{
  background:var(--theme-gradient)!important;
}
.admin-chat-message.admin .admin-chat-bubble{
  background:rgba(var(--theme-primary-rgb),.10)!important;
  border-color:rgba(var(--theme-primary-rgb),.22)!important;
}
.admin-chat-message.admin .admin-chat-bubble small,
.dashboard-kicker,
.kpi .icon,
.quick-link i,
.message-avatar{
  color:var(--theme-primary)!important;
}
.admin-live-toast i,
.notification-live-item>i{
  color:var(--theme-primary)!important;
  background:rgba(var(--theme-primary-rgb),.09)!important;
}

/* ===== STUDENT PORTAL: COMPLETE LEGACY GREEN/GOLD OVERRIDE ===== */
.student-nav-btn.active,
.student-nav-btn:hover,
.student-submit-payment-btn,
.student-chat-form button,
.student-login-card form>button,
.student-payment-cta,
.student-photo-change-btn,
.chat-preview-download,
.voucher-amount,
.payment-help-icon,
.selected-voucher-icon{
  background:var(--theme-gradient)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.student-payment-cta,
.student-photo-change-btn,
.student-submit-payment-btn{
  box-shadow:0 12px 26px rgba(var(--theme-primary-rgb),.16)!important;
}
.student-welcome-photo,
.student-welcome-photo small,
.student-notifications-title,
.chat-bubble>small,
.chat-file-btn,
.student-brand,
.portal-eyebrow{
  color:var(--theme-primary)!important;
}
.student-welcome-photo img,
.student-profile-preview img,
.student-photo-empty{
  border-color:var(--theme-secondary)!important;
}
.student-welcome-photo>div,
.student-photo-empty{
  background:linear-gradient(135deg,var(--theme-surface),rgba(var(--theme-secondary-rgb),.20))!important;
}
.student-nav-roll{
  background:linear-gradient(135deg,var(--theme-surface-soft),rgba(var(--theme-secondary-rgb),.18))!important;
  border-color:rgba(var(--theme-secondary-rgb),.55)!important;
}
.student-nav-roll small{color:var(--theme-primary)!important}
.student-notifications{
  border-bottom-color:var(--theme-secondary)!important;
}
.student-chat-box>.student-panel-head,
.student-panel-head.theme-head{
  background:var(--theme-gradient)!important;
}
.chat-message.mine .chat-bubble{
  background:rgba(var(--theme-primary-rgb),.10)!important;
  border-color:rgba(var(--theme-primary-rgb),.22)!important;
}
.student-login-body{
  background:
    radial-gradient(circle at 12% 8%,rgba(var(--theme-secondary-rgb),.15),transparent 28%),
    linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))!important;
}

/* ===== BOOTSTRAP / COMMON UTILITY OVERRIDES ===== */
.text-success{color:var(--theme-primary)!important}
.bg-success{background-color:var(--theme-primary)!important}
.border-success{border-color:var(--theme-primary)!important}
.btn-success{
  background:var(--theme-gradient)!important;
  border-color:transparent!important;
}
.badge.bg-success{background:var(--theme-primary)!important}
.form-control:focus,.form-select:focus{
  border-color:rgba(var(--theme-primary-rgb),.55)!important;
  box-shadow:0 0 0 .22rem rgba(var(--theme-primary-rgb),.12)!important;
}


/* V64 — ADMIN + STUDENT LOGIN ARE GLOBAL-THEME AWARE */
.admin-login-theme-body{
  background:
    radial-gradient(circle at 84% 15%,rgba(var(--theme-secondary-rgb),.18),transparent 32%),
    linear-gradient(135deg,var(--theme-primary-dark),var(--theme-surface))!important;
}
.admin-login-theme-body .box{
  border:1px solid rgba(var(--theme-primary-rgb),.10)!important;
  box-shadow:0 25px 70px rgba(var(--theme-primary-rgb),.18)!important;
}
.admin-login-theme-body .admin-login-kicker{color:var(--theme-primary)!important}
.admin-login-theme-body .btn-login{
  background:var(--theme-gradient)!important;color:#fff!important;
}
.admin-login-theme-body .eye{
  background:rgba(var(--theme-primary-rgb),.08)!important;
  color:var(--theme-primary)!important;
}
.admin-login-theme-body .form-control:focus{
  border-color:var(--theme-primary)!important;
  box-shadow:0 0 0 .22rem rgba(var(--theme-primary-rgb),.12)!important;
}

.student-login-body{
  background:
    radial-gradient(circle at 15% 10%,rgba(var(--theme-secondary-rgb),.18),transparent 28rem),
    linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))!important;
}
.student-login-brand{
  background:linear-gradient(150deg,var(--theme-primary-dark),var(--theme-primary))!important;
}
.student-login-brand .portal-logo{
  background:rgba(255,255,255,.13)!important;
  color:var(--theme-secondary)!important;
}
.student-login-brand h2,.student-login-brand span{color:#fff!important}
.student-login-brand p{color:var(--theme-secondary)!important}
.student-login-card .portal-eyebrow,
.student-login-card .back-site{color:var(--theme-primary)!important}
.student-login-card form>button{
  background:var(--theme-gradient)!important;color:#fff!important
}
.student-login-card .portal-eye-btn{
  background:rgba(var(--theme-primary-rgb),.08)!important;
  color:var(--theme-primary)!important;
}
.student-login-card .portal-eye-btn:hover{
  background:var(--theme-gradient)!important;color:#fff!important;
}
