/* =====================================================
   QUICK ADMISSION GLOBAL COLOR THEME
   Loaded after existing page styles so it wins the cascade.
===================================================== */

:root {
  /* Core colors */
  --primary:#002b4c!important;
  --primary-dark:#002b4c!important;
  --primary-hover:#003a66!important;
  --primary-light:#c0ebff!important;
  --secondary:#f59e71!important;

  /* Accent */
  --accent:#f59e71!important;
  --accent-dark:#e1814f!important;
  --accent-light:rgba(245,158,113,.22)!important;

  /* Backgrounds */
  --page-bg:#c0ebff!important;
  --body-bg:#c0ebff!important;
  --sidebar-bg:#002b4c!important;
  --sidebar-hover:#002b4c!important;
  --card-bg:rgba(192,235,255,.5)!important;
  --input-bg:#ffffff!important;
  --table-bg:#ffffff!important;

  /* Text */
  --text-primary:#002b4c!important;
  --text-secondary:#002b4c!important;
  --text-light:#c0ebff!important;
  --text-white:#ffffff!important;
  --text-muted:rgba(0,43,76,.72)!important;

  /* Borders */
  --border:#001619!important;
  --border-dark:#001619!important;

  /* Status colours */
  --success:#12b76a!important;
  --success-light:rgba(18,183,106,.18)!important;
  --warning:#f59e0b!important;
  --warning-light:rgba(245,158,11,.2)!important;
  --danger:#dc3545!important;
  --danger-light:rgba(220,53,69,.17)!important;
  --info:#2563eb!important;
  --info-light:rgba(192,235,255,.55)!important;

  /* Existing app variable aliases */
  --bg:#c0ebff!important;
  --surface:rgba(192,235,255,.5)!important;
  --surface-2:rgba(192,235,255,.25)!important;
  --ink:#002b4c!important;
  --ink-soft:#002b4c!important;
  --muted:rgba(0,43,76,.72)!important;
  --line:#001619!important;
  --primary-deep:#002b4c!important;
  --primary-soft:rgba(192,235,255,.55)!important;
  --accent-soft:rgba(245,158,113,.22)!important;
  --sb:#002b4c!important;
  --sb-text:#c0ebff!important;
  --sb-active:#002b4c!important;
  --muted-green:#002b4c!important;

  /* Effects */
  --shadow-sm:0 4px 16px rgba(0,43,76,.1)!important;
  --shadow-md:0 8px 24px rgba(0,43,76,.14)!important;
  --shadow:0 4px 16px rgba(0,43,76,.1)!important;
  --radius-sm:8px!important;
  --radius-md:10px!important;
  --radius-lg:14px!important;
  --r-sm:8px!important;
  --r:10px!important;
  --transition:all .25s ease!important;
}

html,
body {
  background:var(--body-bg)!important;
  color:var(--text-primary)!important;
}

body,
.app,
.main,
.content,
.main-content,
.content-wrapper,
.dashboard-content,
.screen,
.auth,
.pbody,
.qa-stack,
.app-frame,
#authGate,
.gate-screen,
.boot-splash {
  background:var(--body-bg)!important;
  color:var(--text-primary)!important;
}

body * {
  border-color:var(--border)!important;
  text-shadow:none!important;
}

/* Sidebar */
.sidebar,
.admin-sidebar,
.psidebar,
aside.sidebar,
aside,
.main-sidebar,
.side-menu,
.nav,
.sb-foot {
  background:var(--sidebar-bg)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
}

.sidebar .brand,
.sidebar-brand,
.brand-link,
.sidebar-header,
.sidebar-logo,
.brand {
  background:var(--sidebar-bg)!important;
  color:var(--text-primary)!important;
  border-bottom:1px solid var(--border)!important;
}

.sidebar *,
.psidebar *,
.brand-name,
.brand-sub,
.nav-label,
.sidebar-section-title,
.sidebar-menu-label,
.sb-foot small {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.sidebar a,
.sidebar .nav-link,
.sidebar .nav-item,
.sidebar .nav-parent,
.sidebar .nav-sub,
.main-sidebar a,
.side-menu a,
.psidebar .pnav button,
.pnav button {
  background:transparent!important;
  color:var(--text-light)!important;
  border:1px solid transparent!important;
  border-radius:var(--radius-md)!important;
  box-shadow:none!important;
  font-weight:600!important;
}

.sidebar a *,
.sidebar .nav-link *,
.sidebar .nav-item *,
.sidebar .nav-parent *,
.sidebar .nav-sub *,
.main-sidebar a *,
.side-menu a *,
.psidebar .pnav button *,
.pnav button * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.sidebar a:hover,
.sidebar .nav-link:hover,
.sidebar .nav-item:hover,
.sidebar .nav-parent:hover,
.sidebar .nav-sub:hover,
.main-sidebar a:hover,
.side-menu a:hover,
.psidebar .pnav button:hover,
.pnav button:hover {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-color:var(--border)!important;
  transform:none!important;
}

.sidebar a.active,
.sidebar .nav-link.active,
.sidebar .nav-item.active,
.sidebar .nav-parent.active,
.sidebar .nav-sub.active,
.sidebar .active,
.main-sidebar .active,
.side-menu .active,
.psidebar .pnav button.active,
.pnav button.active {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
}

.sidebar a:hover *,
.sidebar .nav-link:hover *,
.sidebar .nav-item:hover *,
.sidebar .nav-parent:hover *,
.sidebar .nav-sub:hover *,
.sidebar a.active *,
.sidebar .nav-link.active *,
.sidebar .nav-item.active *,
.sidebar .nav-parent.active *,
.sidebar .nav-sub.active *,
.sidebar .active *,
.main-sidebar .active *,
.side-menu .active *,
.psidebar .pnav button:hover *,
.psidebar .pnav button.active *,
.pnav button:hover *,
.pnav button.active * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.sidebar-section-title,
.sidebar-menu-label,
.nav-label {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

/* Top navigation */
.navbar,
.topbar,
.admin-header,
.header,
.ptopbar,
.qa-tabs {
  background:#FFFFFF!important;
  color:var(--text-primary)!important;
  border-bottom:1px solid var(--border)!important;
  box-shadow:var(--shadow-sm)!important;
}

.navbar *,
.topbar *,
.admin-header *,
.header *,
.ptopbar *,
.qa-tabs * {
  color:var(--text-primary)!important;
  -webkit-text-fill-color:var(--text-primary)!important;
}

/* Page headings and text */
h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.pagetitle,
.display,
.stat .val,
.panel-head h3,
.auth-head h1,
.auth-hero h2,
.portal-login-form h2,
.portal-info-head h2 {
  color:var(--primary-dark)!important;
  -webkit-text-fill-color:var(--primary-dark)!important;
}

p,
small,
label,
legend,
.page-subtitle,
.section-description,
.text-muted,
.sub,
.hint,
.pagetitle small,
.panel-head .sub,
.stat .lbl,
.stat .delta,
.auth-hero p.lead,
.hero-feat small,
.card p,
.card2 p,
.portal-info-copy,
.portal-charge,
.portal-token-note {
  color:var(--text-secondary)!important;
}

/* Cards and panels */
.card,
.dashboard-card,
.stat-card,
.info-box,
.small-box,
.widget,
.stat,
.panel,
.card2,
.welcome,
.docs,
.wu,
.report-box,
.token-show,
.declare,
.dropzone,
.disc-modal,
.modal,
.modal-content,
.modal-head,
.modal-body,
.modal-foot,
.boot-card,
.school-admin-login-card,
.super-login-card,
.auth-card,
.hero-feat,
.submit-success,
.finance-reset-card,
.verify-card,
.portal-login-brand,
.portal-login-shell,
.portal-login-info,
.portal-login-form,
.portal-info-item,
.portal-token-note,
.login-input-shell,
.login-school-panel,
.login-school-option,
.filter-panel,
.filters-container,
.search-section,
.qa-disc-modal,
.qa-disc-head,
.qa-disc-body,
.qa-disc-foot {
  background:var(--card-bg)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  box-shadow:var(--shadow-sm)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

.card:hover,
.dashboard-card:hover,
.stat:hover,
.panel:hover {
  border-color:var(--border)!important;
  box-shadow:var(--shadow-md)!important;
}

.card-header,
.panel-header,
.panel-heading,
.widget-header,
.panel-head,
.modal-header {
  background:transparent!important;
  color:var(--primary-dark)!important;
  border-bottom:1px solid var(--border)!important;
}

.card-footer,
.panel-footer,
.widget-footer {
  background:transparent!important;
  color:var(--text-primary)!important;
  border-top:1px solid var(--border)!important;
}

.stat-card.primary,
.card-primary {
  border-left:4px solid var(--primary)!important;
}

.stat-card.success,
.card-success {
  border-left:4px solid var(--success)!important;
}

.stat-card.warning,
.card-warning {
  border-left:4px solid var(--warning)!important;
}

.stat-card.info,
.card-info {
  border-left:4px solid var(--info)!important;
}

.stat-icon,
.stat .ico,
.qa-disc-mark {
  background:var(--primary-light)!important;
  color:var(--primary)!important;
  border-color:var(--border)!important;
}

/* Forms */
label,
.form-label {
  color:var(--text-primary)!important;
  font-weight:600!important;
}

input,
select,
textarea,
.form-control,
.form-select,
.login-school-search,
.nav-select {
  background:var(--input-bg)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-sm)!important;
  box-shadow:none!important;
}

input::placeholder,
textarea::placeholder {
  color:rgba(0,43,76,.6)!important;
}

input:hover,
select:hover,
textarea:hover,
.form-control:hover {
  border-color:var(--border)!important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  border-color:var(--primary)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(192,235,255,.55)!important;
}

/* Buttons */
button,
.btn,
.qa-tab,
.qa-disc-btn,
input[type="submit"],
.act,
.qa,
.icon-btn,
.hamburger,
.pay-opt,
.corner-nav a,
#loginBtn,
#buyTokenBtn,
#s-login .portal-link-btn {
  background:var(--primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  color:var(--text-light)!important;
  box-shadow:none!important;
  font-weight:600!important;
  text-shadow:none!important;
  transform:none!important;
}

button *,
button svg,
.btn *,
.btn svg,
.qa-tab *,
.qa-disc-btn *,
.act *,
.qa *,
.icon-btn *,
.hamburger *,
.pay-opt *,
.corner-nav a *,
#s-login .portal-link-btn * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

button:hover,
.btn:hover,
.qa-tab:hover,
.qa-disc-btn:hover,
input[type="submit"]:hover,
.act:hover,
.qa:hover,
.icon-btn:hover,
.hamburger:hover,
.pay-opt:hover,
.corner-nav a:hover,
#loginBtn:hover,
#buyTokenBtn:hover,
#s-login .portal-link-btn:hover {
  background:var(--primary-hover)!important;
  border-color:var(--border)!important;
  color:var(--text-white)!important;
  transform:none!important;
  filter:none!important;
}

.btn-success,
.btn-verify,
.btn-save,
.btn-grn,
.pill.ok,
.checklist .n,
.step.done .dot,
.checkbox.on,
.file-done .fi {
  background:var(--accent)!important;
  border-color:var(--border)!important;
  color:#FFFFFF!important;
}

.btn-success:hover,
.btn-verify:hover,
.btn-save:hover,
.btn-grn:hover {
  background:var(--accent-dark)!important;
  border-color:var(--accent-dark)!important;
}

.btn-secondary,
.btn-outline-primary,
.btn-ghost {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
}

.btn-secondary *,
.btn-outline-primary *,
.btn-ghost * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.btn-secondary:hover,
.btn-outline-primary:hover,
.btn-ghost:hover {
  background:var(--primary-hover)!important;
  color:var(--text-white)!important;
}

.btn-warning {
  background:var(--warning)!important;
  border-color:var(--warning)!important;
  color:#FFFFFF!important;
}

.btn-danger,
.btn-delete,
.act.danger {
  background:var(--danger)!important;
  border-color:var(--danger)!important;
  color:#FFFFFF!important;
}

.btn-danger:hover,
.btn-delete:hover,
.act.danger:hover {
  background:#A92E38!important;
  border-color:#A92E38!important;
}

/* Tables */
table,
.data-table,
.table,
.tbl-wrap table {
  width:100%!important;
  background:var(--table-bg)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
  border:1px solid var(--border)!important;
  border-collapse:collapse!important;
  box-shadow:var(--shadow-sm)!important;
}

thead,
thead th,
table thead th,
.table thead,
.table thead th,
.sec-h {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-color:var(--primary)!important;
  font-weight:600!important;
}

thead *,
thead th *,
table thead th *,
.sec-h * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

tbody tr,
tbody td,
table td,
th,
td,
fieldset,
.tabs,
.tab {
  border-color:var(--border)!important;
}

tbody tr:nth-child(even) {
  background:#FFFFFF!important;
}

tbody tr:hover {
  background:rgba(192,235,255,.35)!important;
}

table td,
tbody td {
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
}

/* Status badges */
.badge,
.status-badge,
.pill,
.env-badge,
.nav-badge,
.verify-status,
.verify-active-filters span {
  border-radius:999px!important;
  font-weight:600!important;
}

.badge-success,
.status-verified,
.status-open,
.status-active,
.pill.open,
.pill.approved,
.pill.enrolled,
.pill.completed {
  background:var(--success-light)!important;
  color:var(--success)!important;
  border-color:var(--success-light)!important;
}

.badge-warning,
.status-pending,
.pill.pending {
  background:var(--warning-light)!important;
  color:var(--warning)!important;
  border-color:var(--warning-light)!important;
}

.badge-danger,
.status-rejected,
.status-closed,
.pill.closed,
.pill.failed {
  background:var(--danger-light)!important;
  color:var(--danger)!important;
  border-color:var(--danger-light)!important;
}

.badge-info,
.status-processing {
  background:var(--info-light)!important;
  color:var(--info)!important;
  border-color:var(--info-light)!important;
}

/* Alerts */
.alert-success {
  background:var(--success-light)!important;
  color:var(--success)!important;
  border:1px solid #BFE5D6!important;
}

.alert-warning {
  background:var(--warning-light)!important;
  color:#8A5505!important;
  border:1px solid #F1D594!important;
}

.alert-danger {
  background:var(--danger-light)!important;
  color:var(--danger)!important;
  border:1px solid #F1BDC2!important;
}

.alert-info {
  background:var(--info-light)!important;
  color:#195C8B!important;
  border:1px solid #BCDDF3!important;
}

/* Tabs and pagination */
.nav-tabs {
  border-bottom:1px solid var(--border)!important;
}

.nav-tabs .nav-link,
.tab {
  color:var(--text-secondary)!important;
}

.nav-tabs .nav-link:hover,
.tab:hover {
  color:var(--primary)!important;
}

.nav-tabs .nav-link.active,
.tab.active {
  color:var(--primary)!important;
  border-bottom:3px solid var(--accent)!important;
}

.pagination .page-link {
  color:var(--primary)!important;
  background:#FFFFFF!important;
  border-color:var(--border)!important;
}

.pagination .page-item.active .page-link {
  background:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#FFFFFF!important;
}

/* Modal and danger zone */
.modal-content {
  background:#FFFFFF!important;
  border:none!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:0 20px 55px rgba(10,41,71,.20)!important;
}

.modal-header {
  background:var(--primary)!important;
  color:#FFFFFF!important;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;
}

.modal-header * {
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

.modal-header .btn-close {
  filter:brightness(0) invert(1)!important;
}

.danger-zone {
  background:var(--danger-light)!important;
  border:1px solid #F0BCC1!important;
  border-left:4px solid var(--danger)!important;
}

/* Footer */
footer,
.admin-footer,
body>footer,
.portal-footer {
  background:#FFFFFF!important;
  color:var(--text-primary)!important;
  border-top:1px solid var(--border)!important;
}

/* =========================================================
   Latest attached global color theme enforcement
   ========================================================= */
html,
body,
.content-wrapper,
.main-content,
.page-content,
.content,
.main,
.dashboard-content,
.screen,
.auth,
.pbody,
.qa-stack,
.app-frame {
  background:var(--body-bg)!important;
  color:var(--text-primary)!important;
}

.sidebar,
.main-sidebar,
.side-menu,
.psidebar,
aside {
  background:var(--sidebar-bg)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
  border-right:1px solid var(--border)!important;
}

.sidebar-brand,
.brand-link,
.sidebar-header,
.sidebar .brand,
.brand {
  background:var(--sidebar-bg)!important;
  color:var(--text-primary)!important;
  border-bottom:1px solid var(--border)!important;
}

.sidebar a,
.sidebar .nav-link,
.sidebar .nav-item,
.sidebar .nav-parent,
.sidebar .nav-sub,
.main-sidebar a,
.side-menu a,
.pnav button {
  background:transparent!important;
  color:var(--text-light)!important;
  border-color:transparent!important;
  border-radius:var(--radius-md)!important;
  font-weight:600!important;
  box-shadow:none!important;
}

.sidebar a *,
.sidebar .nav-link *,
.sidebar .nav-item *,
.sidebar .nav-parent *,
.sidebar .nav-sub *,
.main-sidebar a *,
.side-menu a *,
.pnav button * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.sidebar a:hover,
.sidebar .nav-link:hover,
.sidebar .nav-item:hover,
.sidebar .nav-parent:hover,
.sidebar .nav-sub:hover,
.sidebar .active,
.sidebar .nav-link.active,
.sidebar .nav-item.active,
.sidebar .nav-parent.active,
.sidebar .nav-sub.active,
.main-sidebar a:hover,
.main-sidebar .active,
.side-menu a:hover,
.side-menu .active,
.pnav button:hover,
.pnav button.active {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-color:var(--border)!important;
  border-radius:var(--radius-md)!important;
}

.sidebar a:hover *,
.sidebar .nav-link:hover *,
.sidebar .nav-item:hover *,
.sidebar .nav-parent:hover *,
.sidebar .nav-sub:hover *,
.sidebar .active *,
.sidebar .nav-link.active *,
.sidebar .nav-item.active *,
.sidebar .nav-parent.active *,
.sidebar .nav-sub.active *,
.main-sidebar a:hover *,
.main-sidebar .active *,
.side-menu a:hover *,
.side-menu .active *,
.pnav button:hover *,
.pnav button.active * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.sidebar i,
.sidebar svg,
.main-sidebar i,
.side-menu i {
  color:currentColor!important;
  fill:currentColor!important;
}

.header,
.navbar,
.main-header,
.topbar,
.ptopbar,
.qa-tabs {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border-bottom:1px solid var(--border)!important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
span {
  color:inherit;
}

button,
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger,
.btn-dark,
input[type="button"],
input[type="submit"],
input[type="reset"],
.act,
.qa,
.icon-btn,
.hamburger,
.pay-opt,
.corner-nav a,
.qa-tab,
.qa-disc-btn,
#loginBtn,
#buyTokenBtn,
#s-login .portal-link-btn {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  font-weight:600!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

button *,
.btn *,
.act *,
.qa *,
.icon-btn *,
.hamburger *,
.pay-opt *,
.corner-nav a *,
.qa-tab *,
.qa-disc-btn *,
#s-login .portal-link-btn * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

button:hover,
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-info:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-dark:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.act:hover,
.qa:hover,
.icon-btn:hover,
.hamburger:hover,
.pay-opt:hover,
.corner-nav a:hover,
.qa-tab:hover,
.qa-disc-btn:hover,
#loginBtn:hover,
#buyTokenBtn:hover,
#s-login .portal-link-btn:hover {
  background:var(--primary-hover)!important;
  color:var(--text-white)!important;
  border-color:var(--border)!important;
  transform:none!important;
}

.card,
.info-box,
.small-box,
.stat-card,
.dashboard-card,
.widget,
.panel,
.stat,
.card2,
.welcome,
.docs,
.wu,
.report-box,
.token-show,
.declare,
.dropzone,
.disc-modal,
.modal,
.modal-content,
.boot-card,
.school-admin-login-card,
.super-login-card,
.auth-card,
.hero-feat,
.submit-success,
.finance-reset-card,
.verify-card,
.filter-panel,
.filters-container,
.search-section {
  background:var(--card-bg)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:var(--shadow)!important;
}

.card-header,
.panel-heading,
.widget-header,
.panel-head,
.card-footer,
.panel-footer,
.widget-footer {
  background:transparent!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}

.table-responsive,
.table-container {
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  overflow:hidden!important;
}

table,
.table,
.data-table,
.tbl-wrap table {
  width:100%!important;
  background:var(--table-bg)!important;
  color:var(--text-primary)!important;
  border-collapse:collapse!important;
  border:1px solid var(--border)!important;
}

table thead,
.table thead,
table thead th,
.table thead th,
thead th,
.sec-h {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
  font-weight:700!important;
}

table tbody td,
.table tbody td,
tbody td,
td,
th {
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
}

table tbody tr,
.table tbody tr {
  background:#ffffff!important;
}

table tbody tr:hover,
.table tbody tr:hover {
  background:rgba(192,235,255,.35)!important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background:rgba(192,235,255,.18)!important;
}

input,
select,
textarea,
.form-control,
.form-select,
.search-box,
.search-input,
.dataTables_filter input {
  width:100%;
  background:var(--input-bg)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
}

input::placeholder,
textarea::placeholder {
  color:rgba(0,43,76,.6)!important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  outline:none!important;
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(192,235,255,.55)!important;
}

.modal-content {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-lg)!important;
}

.modal-header {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-bottom:1px solid var(--border)!important;
}

.modal-header *,
.modal-header .modal-title {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

.dropdown-menu,
.breadcrumb,
.list-group-item,
.accordion-item {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
}

.dropdown-item,
.breadcrumb a,
.list-group-item {
  color:var(--text-primary)!important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.list-group-item:hover,
.list-group-item.active,
.accordion-button:not(.collapsed),
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active,
.pagination .page-link:hover,
.pagination .page-item.active .page-link {
  background:var(--primary)!important;
  color:var(--text-light)!important;
  border-color:var(--border)!important;
}

.badge-primary,
.badge-info {
  background:var(--primary)!important;
  color:var(--text-light)!important;
}

.badge-success,
.status-approved,
.status-active,
.status-verified {
  background:var(--success)!important;
  color:#ffffff!important;
}

.badge-warning,
.status-pending {
  background:var(--warning)!important;
  color:var(--border)!important;
}

.badge-danger,
.status-rejected,
.status-inactive {
  background:var(--danger)!important;
  color:#ffffff!important;
}

.alert {
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
}

.alert-primary,
.alert-info {
  background:rgba(192,235,255,.55)!important;
}

.alert-success {
  background:rgba(18,183,106,.18)!important;
}

.alert-warning {
  background:rgba(245,158,11,.2)!important;
}

.alert-danger {
  background:rgba(220,53,69,.17)!important;
}

.dataTables_wrapper,
.dataTables_length,
.dataTables_filter,
.dataTables_info,
.dataTables_paginate {
  color:var(--text-primary)!important;
}

a {
  color:var(--primary)!important;
  text-decoration:none;
}

a:hover {
  color:var(--primary-hover)!important;
}

footer,
.main-footer,
.admin-footer,
body>footer,
.portal-footer {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border-top:1px solid var(--border)!important;
}

/* =========================================================
   Final button cleanup: remove old per-button colours
   ========================================================= */
body button,
body .btn,
body .btn.btn-primary,
body .btn.btn-secondary,
body .btn.btn-success,
body .btn.btn-info,
body .btn.btn-warning,
body .btn.btn-danger,
body .btn.btn-dark,
body .btn.btn-ghost,
body .btn.btn-accent,
body .btn.btn-grn,
body .btn.btn-verify,
body .btn.btn-save,
body .btn.btn-delete,
body .icon-btn,
body .icon-btn.btn-ghost,
body .hamburger,
body .act,
body .act.danger,
body .qa,
body .modal-x,
body .sb-logout,
body .exp-btn,
body .verify-fab,
body .pay-opt,
body .corner-nav a,
body .qa-tab,
body .qa-disc-btn,
body .admin-login-button,
body .admin-login-button.btn,
body .finance-request-btn,
body input[type="button"],
body input[type="submit"],
body input[type="reset"],
body #loginBtn,
body #buyTokenBtn,
body #s-login #loginBtn,
body #s-login #buyTokenBtn,
body #s-login .portal-link-btn,
body .ptopbar .out,
body .ptopbar .ham,
body .sms-vars button,
body .rep-actions button {
  background:var(--primary)!important;
  background-image:none!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-md)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

body button *,
body button svg,
body .btn *,
body .btn svg,
body .btn.btn-primary *,
body .btn.btn-secondary *,
body .btn.btn-success *,
body .btn.btn-info *,
body .btn.btn-warning *,
body .btn.btn-danger *,
body .btn.btn-dark *,
body .btn.btn-ghost *,
body .btn.btn-accent *,
body .btn.btn-grn *,
body .btn.btn-verify *,
body .btn.btn-save *,
body .btn.btn-delete *,
body .icon-btn *,
body .icon-btn svg,
body .hamburger *,
body .hamburger svg,
body .act *,
body .qa *,
body .modal-x *,
body .sb-logout *,
body .sb-logout svg,
body .exp-btn *,
body .verify-fab *,
body .pay-opt *,
body .corner-nav a *,
body .qa-tab *,
body .qa-disc-btn *,
body .admin-login-button *,
body .finance-request-btn *,
body #loginBtn *,
body #buyTokenBtn *,
body #s-login #loginBtn *,
body #s-login #buyTokenBtn *,
body #s-login .portal-link-btn *,
body .ptopbar .out *,
body .ptopbar .ham *,
body .sms-vars button *,
body .rep-actions button * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}

body button:hover,
body .btn:hover,
body .btn.btn-primary:hover,
body .btn.btn-secondary:hover,
body .btn.btn-success:hover,
body .btn.btn-info:hover,
body .btn.btn-warning:hover,
body .btn.btn-danger:hover,
body .btn.btn-dark:hover,
body .btn.btn-ghost:hover,
body .btn.btn-accent:hover,
body .btn.btn-grn:hover,
body .btn.btn-verify:hover,
body .btn.btn-save:hover,
body .btn.btn-delete:hover,
body .icon-btn:hover,
body .icon-btn.btn-ghost:hover,
body .hamburger:hover,
body .act:hover,
body .act.danger:hover,
body .qa:hover,
body .modal-x:hover,
body .sb-logout:hover,
body .exp-btn:hover,
body .verify-fab:hover,
body .pay-opt:hover,
body .corner-nav a:hover,
body .qa-tab:hover,
body .qa-disc-btn:hover,
body .admin-login-button:hover,
body .finance-request-btn:hover,
body input[type="button"]:hover,
body input[type="submit"]:hover,
body input[type="reset"]:hover,
body #loginBtn:hover,
body #buyTokenBtn:hover,
body #s-login #loginBtn:hover,
body #s-login #buyTokenBtn:hover,
body #s-login .portal-link-btn:hover,
body .ptopbar .out:hover,
body .ptopbar .ham:hover,
body .sms-vars button:hover,
body .rep-actions button:hover {
  background:var(--primary-hover)!important;
  background-image:none!important;
  color:var(--text-white)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

/* Sidebar menu buttons are navigation, not normal action buttons. */
body .sidebar .nav-item,
body .sidebar .nav-parent,
body .sidebar .nav-sub,
body .psidebar .pnav button,
body .pnav button {
  background:transparent!important;
  background-image:none!important;
  color:var(--text-light)!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}

body .sidebar .nav-item *,
body .sidebar .nav-parent *,
body .sidebar .nav-sub *,
body .psidebar .pnav button *,
body .pnav button * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

body .sidebar .nav-item:hover,
body .sidebar .nav-parent:hover,
body .sidebar .nav-sub:hover,
body .sidebar .nav-item.active,
body .sidebar .nav-parent.active,
body .sidebar .nav-sub.active,
body .psidebar .pnav button:hover,
body .psidebar .pnav button.active,
body .pnav button:hover,
body .pnav button.active {
  background:var(--primary)!important;
  background-image:none!important;
  color:var(--text-light)!important;
  border-color:var(--border)!important;
}

body .sidebar .nav-item:hover *,
body .sidebar .nav-parent:hover *,
body .sidebar .nav-sub:hover *,
body .sidebar .nav-item.active *,
body .sidebar .nav-parent.active *,
body .sidebar .nav-sub.active *,
body .psidebar .pnav button:hover *,
body .psidebar .pnav button.active *,
body .pnav button:hover *,
body .pnav button.active * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

/* Sidebar text, admin logo, admission badge and template page fixes */
body .sidebar,
body .psidebar,
body .main-sidebar,
body .side-menu {
  color:var(--text-light)!important;
}

@media (min-width:1025px) {
  body .app.sidebar-hidden {
    grid-template-columns:minmax(0,1fr)!important;
  }

  body .app.sidebar-hidden .sidebar,
  body .app.sidebar-hidden .psidebar,
  body .app.sidebar-hidden .main-sidebar,
  body .app.sidebar-hidden .side-menu {
    display:none!important;
  }

  body .app.sidebar-hidden .main,
  body .app.sidebar-hidden .content,
  body .app.sidebar-hidden .dashboard-content {
    width:100%!important;
    max-width:none!important;
  }
}

body .sidebar *,
body .psidebar *,
body .main-sidebar *,
body .side-menu *,
body .brand-name,
body .brand-sub,
body .nav-label,
body .sidebar-section-title,
body .sidebar-menu-label,
body .sb-foot small {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

body .sidebar .brand-mark,
body .brand-mark,
body .sidebar-logo,
body .sidebar .brand-default-logo {
  background:#ffffff!important;
  color:var(--primary)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}

body .sidebar .brand-mark *,
body .brand-mark *,
body .brand-logo-text,
body .sidebar .brand-logo-text {
  color:var(--primary)!important;
  -webkit-text-fill-color:var(--primary)!important;
}

body .brand-mark img,
body .brand-default-logo {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

body .adm-badge,
body .adm-badge.open,
body .adm-badge.closed {
  background:var(--primary)!important;
  background-image:none!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}

body .adm-badge *,
body .adm-badge.open *,
body .adm-badge.closed * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

body .adm-badge .d,
body .adm-badge.open .d,
body .adm-badge.closed .d {
  background:var(--text-light)!important;
  box-shadow:none!important;
}

body #tplCard,
body .tpl-toolbar,
body .tpl-fieldbar {
  background:var(--card-bg)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}

body .tpl-toolbar button,
body .tpl-fieldbar button,
body .tpl-vars button {
  background:var(--primary)!important;
  background-image:none!important;
  color:var(--text-light)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}

body .tpl-toolbar button *,
body .tpl-fieldbar button *,
body .tpl-vars button * {
  color:var(--text-light)!important;
  -webkit-text-fill-color:var(--text-light)!important;
}

body .tpl-toolbar button:hover,
body .tpl-fieldbar button:hover,
body .tpl-vars button:hover {
  background:var(--primary-hover)!important;
  color:var(--text-white)!important;
}

body .tpl-toolbar select {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
}

body .tpl-page {
  background:var(--body-bg)!important;
  border-color:var(--border)!important;
}

body .tpl-editor {
  background:#ffffff!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
}

body .tpl-editor h1,
body .tpl-editor h2,
body .tpl-editor h3,
body .tpl-editor p,
body .tpl-editor td,
body .tpl-editor li {
  color:var(--text-primary)!important;
}

body .tpl-editor h2 {
  border-bottom-color:var(--primary)!important;
}

/* Remove decorative animation layers */
.login-butterfly-field,
#authGate::before,
#authGate::after,
#s-login::before,
#s-login::after,
.auth::before,
.auth::after,
.portal-login-brand::before,
.portal-login-brand::after,
.brand-mark::before,
.brand-mark::after {
  display:none!important;
  content:none!important;
}

/* Keep the site still: no animations/transitions. */
*,
*::before,
*::after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important;
}

@media (max-width:768px) {
  .card,
  .dashboard-card,
  .filter-panel {
    border-radius:10px!important;
  }

  table thead th {
    white-space:nowrap!important;
  }

  .btn {
    min-height:38px!important;
  }
}

/* =========================================================
   Index/student portal hard override
   Beats older #s-login rules embedded inside index.html.
   ========================================================= */
body,
body #s-login,
body #s-dashboard,
body #s-login .auth,
body #s-login .screen,
body #s-login .portal-login-wrap,
body #s-login .portal-login-shell,
body #s-login .portal-login-info,
body #s-login .portal-login-form,
body #s-login .portal-info-item,
body #s-login .portal-token-note,
body #s-login .login-input-shell,
body #s-login .login-school-panel,
body #s-login .login-school-option,
body #s-login .card,
body #s-login .card2,
body #s-login .hero-feat,
body #s-login .submit-success,
body #s-login .disc-modal {
  background:#c0ebff!important;
  background-image:none!important;
  color:#002b4c!important;
  border-color:#002b4c!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

body #s-login .portal-login-brand,
body #s-login .ptopbar,
body #s-login .welcome .wh {
  background:#002b4c!important;
  background-image:none!important;
  color:#c0ebff!important;
  border-color:#002b4c!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

body #s-login .portal-login-brand *,
body #s-login .ptopbar *,
body #s-login .welcome .wh *,
body #s-login .portal-brand-helpdesk-label,
body #s-login .portal-brand-helpdesk-links a,
body #s-login .portal-brand-helpdesk-sep {
  color:#c0ebff!important;
  -webkit-text-fill-color:#c0ebff!important;
}

body #s-login h1,
body #s-login h2,
body #s-login h3,
body #s-login p,
body #s-login small,
body #s-login label,
body #s-login .portal-info-head h2,
body #s-login .portal-form-head h2,
body #s-login .portal-info-head p,
body #s-login .portal-info-copy,
body #s-login .portal-info-item b,
body #s-login .portal-info-item span,
body #s-login .portal-form-head p,
body #s-login .portal-login-form .field label,
body #s-login .portal-login-form .hint,
body #s-login .portal-charge,
body #s-login .portal-token-note,
body #s-login .portal-login-foot,
body #s-login .login-school-trigger,
body #s-login .login-school-trigger-caret,
body #s-login .login-school-option,
body #s-login .login-school-option small,
body #s-login .login-school-empty {
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  text-shadow:none!important;
}

body #s-login input,
body #s-login select,
body #s-login textarea,
body #s-login .login-school-search {
  background:#c0ebff!important;
  background-image:none!important;
  color:#002b4c!important;
  border:1px solid #002b4c!important;
  box-shadow:none!important;
}

body #s-login button,
body #s-login .btn,
body #s-login .btn-primary,
body #s-login .btn-accent,
body #s-login .btn-ghost,
body #s-login #loginBtn,
body #s-login #buyTokenBtn,
body #s-login .portal-link-btn,
body #s-login .pay-opt,
body #s-login .corner-nav a,
body #s-login .ptopbar .out,
body #s-login .ptopbar .ham {
  background:#002b4c!important;
  background-image:none!important;
  color:#c0ebff!important;
  border:1px solid #002b4c!important;
  box-shadow:none!important;
  text-shadow:none!important;
  transform:none!important;
}

body #s-login button *,
body #s-login button svg,
body #s-login .btn *,
body #s-login .btn svg,
body #s-login #loginBtn *,
body #s-login #buyTokenBtn *,
body #s-login .portal-link-btn *,
body #s-login .portal-link-btn svg,
body #s-login .pay-opt *,
body #s-login .ptopbar .out *,
body #s-login .ptopbar .ham * {
  color:#c0ebff!important;
  -webkit-text-fill-color:#c0ebff!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}

body #s-login .psidebar,
body #s-login .sidebar,
body #s-login .pnav,
body #s-login .sb-foot {
  background:#002b4c!important;
  background-image:none!important;
  color:#c0ebff!important;
  border-color:#002b4c!important;
  box-shadow:none!important;
}

body #s-login .psidebar *,
body #s-login .sidebar *,
body #s-login .pnav button,
body #s-login .pnav button * {
  color:#c0ebff!important;
  -webkit-text-fill-color:#c0ebff!important;
}

body #s-login .pnav button {
  background:rgba(192,235,255,.08)!important;
  background-image:none!important;
  border:1px solid rgba(192,235,255,.35)!important;
  box-shadow:none!important;
}

/* =========================================================
   Final dropdown, field and icon colour enforcement
   ========================================================= */
body select,
body option,
body optgroup,
body .dropdown-menu,
body .dropdown-list,
body .dropdown-content,
body .select-menu,
body .select-options,
body .choices,
body .choices__inner,
body .choices__list,
body .choices__list--dropdown,
body .choices__item,
body .login-school-panel,
body .login-school-search,
body .login-school-option,
body .colvis-menu,
body .nav-select {
  background:#ffffff!important;
  background-image:none!important;
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  border-color:#002b4c!important;
}

body select *,
body option *,
body .dropdown-menu *,
body .dropdown-list *,
body .dropdown-content *,
body .select-menu *,
body .select-options *,
body .choices *,
body .login-school-trigger,
body .login-school-trigger *,
body .login-school-trigger-text,
body .login-school-trigger-caret,
body .login-school-panel *,
body .login-school-option *,
body .login-school-option span,
body .login-school-option strong,
body .login-school-option small,
body .colvis-menu * {
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
}

body input,
body select,
body textarea,
body button,
body .login-school-picker,
body .login-school-trigger,
body .login-school-panel,
body .login-school-search,
body .login-school-option {
  pointer-events:auto!important;
}

body .login-school-picker {
  position:relative!important;
  z-index:100!important;
}

body .login-school-panel {
  z-index:9999!important;
}

body #s-app .field,
body #s-app .stepcard,
body #s-app #classRows,
body #s-app #houseRows {
  position:relative!important;
  z-index:1!important;
}

body #s-app input,
body #s-app select,
body #s-app textarea,
body #s-app datalist,
body #s-app .cls-row,
body #s-app .house-row {
  background:#ffffff!important;
  background-image:none!important;
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  border-color:#002b4c!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:2!important;
}

body #s-app .rail h4,
body #s-app .step .lbl,
body #s-app .step.active .lbl,
body #s-app .step.done .lbl,
body #s-app .stepcard .card2-head h2,
body #s-app .stepcard .sub-h,
body #s-app .rev-head .t {
  color:#f59e71!important;
  -webkit-text-fill-color:#f59e71!important;
}

body #s-app .steps::before {
  background:rgba(245,158,113,.45)!important;
}

body #s-app .step .dot {
  background:#ffffff!important;
  background-image:none!important;
  border-color:#f59e71!important;
  color:#f59e71!important;
  -webkit-text-fill-color:#f59e71!important;
  box-shadow:none!important;
}

body #s-app .step.active .dot,
body #s-app .step.done .dot,
body #s-app .progress-line i {
  background:#f59e71!important;
  background-image:none!important;
  border-color:#f59e71!important;
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
}

body #s-app .step.active .dot *,
body #s-app .step.done .dot *,
body #s-app .step.active .dot svg,
body #s-app .step.done .dot svg {
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}

body .login-input-icon,
body .portal-info-icon,
body .qa-brand-icon,
body .qa-support-icon,
body .brand-icon,
body .brand-mark,
body .crest,
body .sch-crest,
body .admin-login-icon,
body .admin-login-input-icon,
body .stat-icon,
body .stat .ico,
body .feed-ico,
body .qa .ico,
body .portal-link-btn .ico,
body .icon,
body .ico,
body .icon-btn,
body .disc-ico,
body .file-done .fi,
body .step-number,
body .qa-step-number,
body .checklist .n,
body .step.done .dot,
body .progress-line i,
body .checkbox.on,
body .prog-card .pc-code,
body .prog-card.sel .radio-tick,
body .verify-status,
body .verify-active-filters span,
body .env-badge,
body .nav-badge,
body .sb-avatar {
  background:#f59e71!important;
  background-image:none!important;
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  border-color:#002b4c!important;
  box-shadow:none!important;
}

body .login-input-icon *,
body .login-input-icon svg,
body .portal-info-icon *,
body .portal-info-icon svg,
body .qa-brand-icon *,
body .qa-brand-icon svg,
body .qa-support-icon *,
body .qa-support-icon svg,
body .brand-icon *,
body .brand-icon svg,
body .brand-mark *,
body .brand-mark svg,
body .crest *,
body .sch-crest *,
body .admin-login-icon *,
body .admin-login-icon svg,
body .admin-login-input-icon *,
body .admin-login-input-icon svg,
body .stat-icon *,
body .stat-icon svg,
body .stat .ico *,
body .stat .ico svg,
body .feed-ico *,
body .feed-ico svg,
body .qa .ico *,
body .qa .ico svg,
body .portal-link-btn .ico *,
body .portal-link-btn .ico svg,
body .icon *,
body .icon svg,
body .ico *,
body .ico svg,
body .icon-btn *,
body .icon-btn svg,
body .disc-ico *,
body .disc-ico svg,
body .file-done .fi *,
body .file-done .fi svg,
body .step-number *,
body .qa-step-number *,
body .checklist .n *,
body .step.done .dot *,
body .checkbox.on *,
body .prog-card .pc-code *,
body .prog-card.sel .radio-tick *,
body .verify-status *,
body .verify-active-filters span *,
body .env-badge *,
body .nav-badge *,
body .sb-avatar * {
  color:#002b4c!important;
  -webkit-text-fill-color:#002b4c!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
