/* SDPI Digital Campus v1.12.335 frontend runtime bundle. Generated from approved ordered UI layers; source files retained for audit/debug. */

/* ===== readability-contrast-v1201.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.201 — Readability / Contrast Lock
   Final visual layer. This file intentionally uses a new filename so stale
   enterprise-ui.css caches cannot keep old low-contrast micro typography.
   ========================================================= */

:root{
  --sdpi-read-body:#2d4153;
  --sdpi-read-muted:#526779;
  --sdpi-read-on-dark:#f5f9fd;
  --sdpi-read-on-dark-muted:#e6eef7;
  --sdpi-read-small:13.5px;
  --sdpi-read-copy:14px;
  --sdpi-read-dark-copy:14.5px;
}

/* -------------------------------------------------------------------------
   1. GLOBAL ORDINARY COPY FLOOR
   Beat legacy 9px/10px/11px/12px !important rules inside operational modules.
   Status codes and purpose-built compact badges are intentionally not targeted.
   ------------------------------------------------------------------------- */
html body.sdpi-portal-body .sdpi-portal-main p,
html body.sdpi-portal-body .sdpi-admin-module-host p,
html body.sdpi-portal-body .sdpi-scm-wrap p,
html body.sdpi-portal-body .sdpi-cac-wrap p,
html body.sdpi-portal-body .sdpi-etm-admin p,
html body.sdpi-portal-body .sdpi-operations-workspace p,
html body.sdpi-portal-body .sdpi-device-control p{
  font-size:var(--sdpi-read-copy)!important;
  line-height:1.48!important;
}

html body.sdpi-portal-body .sdpi-portal-main small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-admin-module-host small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-scm-wrap small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-cac-wrap small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-etm-admin small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-operations-workspace small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-device-control small:not(.sdpi-allow-micro),
html body.sdpi-portal-body .sdpi-portal-main .description,
html body.sdpi-portal-body .sdpi-admin-module-host .description,
html body.sdpi-portal-body .sdpi-scm-wrap .description,
html body.sdpi-portal-body .sdpi-cac-wrap .description,
html body.sdpi-portal-body .sdpi-etm-admin .description,
html body.sdpi-portal-body .sdpi-operations-workspace .description,
html body.sdpi-portal-body .sdpi-device-control .description,
html body.sdpi-portal-body .sdpi-portal-main [class*="-help"],
html body.sdpi-portal-body .sdpi-portal-main [class*="-hint"]{
  font-size:var(--sdpi-read-small)!important;
  line-height:1.45!important;
  opacity:1!important;
}

/* Explicitly beat high-specificity legacy form rules such as
   .sdpi-scm-wrap label small { font-size:9.4px!important }. */
html body.sdpi-portal-body .sdpi-admin-module-host .sdpi-scm-wrap label small,
html body.sdpi-portal-body .sdpi-admin-module-host .sdpi-cac-wrap label small,
html body.sdpi-portal-body .sdpi-scm-wrap .sdpi-form-grid label small,
html body.sdpi-portal-body .sdpi-cac-wrap .sdpi-form-grid label small,
html body.sdpi-portal-body .sdpi-scm-wrap label .description,
html body.sdpi-portal-body .sdpi-cac-wrap label .description,
html body.sdpi-portal-body .sdpi-registration-series-form label small,
html body.sdpi-portal-body .sdpi-centre-form-view label small,
html body.sdpi-portal-body .sdpi-fees-module label small,
html body.sdpi-portal-body .sdpi-admission-crm label small{
  font-size:13.5px!important;
  line-height:1.45!important;
  color:var(--sdpi-read-muted)!important;
  opacity:1!important;
}

/* Table secondary lines are allowed to be compact, never microscopic. */
html body.sdpi-portal-body .sdpi-admin-module-host table small,
html body.sdpi-portal-body .sdpi-scm-wrap table small,
html body.sdpi-portal-body .sdpi-cac-wrap table small,
html body.sdpi-portal-body .sdpi-admission-crm .sdpi-crm-table tbody td small,
html body.sdpi-portal-body .sdpi-student-register-dense small{
  font-size:12.75px!important;
  line-height:1.35!important;
  color:#586f82!important;
  opacity:1!important;
}

/* Page / card subtitles and overview explanations. */
html body.sdpi-portal-body .sdpi-admin-head p,
html body.sdpi-portal-body .sdpi-hub-overview-bar p,
html body.sdpi-portal-body .sdpi-card-title p,
html body.sdpi-portal-body .sdpi-section-heading p,
html body.sdpi-portal-body .sdpi-launch-section>header p,
html body.sdpi-portal-body .sdpi-launch-setup>header p,
html body.sdpi-portal-body .sdpi-launch-work>header p,
html body.sdpi-portal-body .sdpi-control-section-heading p,
html body.sdpi-portal-body .sdpi-control-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-crm-register-head p,
html body.sdpi-portal-body .sdpi-demo-page-head p,
html body.sdpi-portal-body .sdpi-demo-launchpad-head p{
  font-size:14px!important;
  line-height:1.48!important;
  color:var(--sdpi-read-muted)!important;
  opacity:1!important;
}

/* Centre cards / setup-order secondary lines. */
html body.sdpi-portal-body .sdpi-launch-link small,
html body.sdpi-portal-body .sdpi-demo-how-grid small,
html body.sdpi-portal-body .sdpi-centre-section-head p,
html body.sdpi-portal-body .sdpi-logo-control-compact small{
  font-size:13.5px!important;
  line-height:1.43!important;
  color:#566b7d!important;
  opacity:1!important;
}

/* -------------------------------------------------------------------------
   2. DARK / BLUE SURFACE CONTRAST LOCK
   The exact issue visible in UAT: helper text inherited dark grey on navy.
   ------------------------------------------------------------------------- */

/* Public unified login — left navy panel. */
html body.sdpi-portal-body.sdpi-portal-page-login .sdpi-portal-main .sdpi-login-clean-brand>p{
  color:var(--sdpi-read-on-dark)!important;
  font-size:15px!important;
  line-height:1.5!important;
  opacity:1!important;
}
html body.sdpi-portal-body.sdpi-portal-page-login .sdpi-portal-main .sdpi-login-clean-brand .sdpi-login-brand-points strong{
  color:#fff!important;
  font-size:14.5px!important;
  line-height:1.3!important;
}
html body.sdpi-portal-body.sdpi-portal-page-login .sdpi-portal-main .sdpi-login-clean-brand .sdpi-login-brand-points small{
  color:var(--sdpi-read-on-dark-muted)!important;
  font-size:13.5px!important;
  line-height:1.38!important;
  opacity:1!important;
}
html body.sdpi-portal-body.sdpi-portal-page-login .sdpi-portal-main .sdpi-login-clean-brand .sdpi-login-quick-links a{
  color:#fff!important;
  font-size:13.5px!important;
  opacity:1!important;
}

/* Main Admin blue welcome / priority dashboard hero. */
html body.sdpi-portal-body .sdpi-admin-module-host .sdpi-launch-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-launch-hero>div:first-child>p{
  color:var(--sdpi-read-on-dark)!important;
  font-size:15px!important;
  line-height:1.5!important;
  opacity:1!important;
}

/* Typing / shorthand / assessment blue headers. */
html body.sdpi-portal-body .sdpi-portal-main .sdpi-scm-header>p,
html body.sdpi-portal-body .sdpi-portal-main .sdpi-typing-selection-header>p{
  color:var(--sdpi-read-on-dark)!important;
  font-size:15px!important;
  line-height:1.5!important;
  opacity:1!important;
}

/* Staff login and staff dashboard navy surfaces. */
html body.sdpi-portal-body .sdpi-staff-login-copy>p,
html body.sdpi-portal-body .sdpi-staff-role-cards small,
html body.sdpi-portal-body .sdpi-staff-security-note small,
html body.sdpi-portal-body .sdpi-staff-dashboard-head p{
  color:var(--sdpi-read-on-dark-muted)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-staff-login-copy>p,
html body.sdpi-portal-body .sdpi-staff-dashboard-head p{
  color:var(--sdpi-read-on-dark)!important;
  font-size:14.5px!important;
}

/* Other real dark operational surfaces that carry explanatory copy. */
html body.sdpi-portal-body .sdpi-fee-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-mcq-test-header p,
html body.sdpi-portal-body .sdpi-mcq-test-header small,
html body.sdpi-portal-body .sdpi-crm-fee-preview small,
html body.sdpi-portal-body .sdpi-workspace-group-head p,
html body.sdpi-portal-body .sdpi-profile-hero .sdpi-profile-identity small,
html body.sdpi-portal-body .sdpi-profile-hero .sdpi-profile-identity p,
html body.sdpi-portal-body .sdpi-operations-hero>div>p{
  color:var(--sdpi-read-on-dark-muted)!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-fee-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-operations-hero>div>p{
  font-size:14.5px!important;
  line-height:1.48!important;
}
html body.sdpi-portal-body .sdpi-workspace-group-head p,
html body.sdpi-portal-body .sdpi-mcq-test-header small,
html body.sdpi-portal-body .sdpi-crm-fee-preview small{
  font-size:13.5px!important;
  line-height:1.4!important;
}

/* Sidebar identity secondary line is on a dark surface too. */
html body.sdpi-portal-body .sdpi-admin-sidebar .sdpi-admin-brand small{
  color:#e3edf6!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  opacity:1!important;
}

/* White/light surfaces: never use ultra-pale grey for normal explanatory copy. */
html body.sdpi-portal-body .sdpi-portal-main :is(.description,.sdpi-help,.sdpi-hint,.sdpi-muted,.sdpi-field-help,.sdpi-field-note){
  color:var(--sdpi-read-muted)!important;
  opacity:1!important;
}

@media(max-width:782px){
  html body.sdpi-portal-body .sdpi-portal-main small:not(.sdpi-allow-micro),
  html body.sdpi-portal-body .sdpi-admin-module-host small:not(.sdpi-allow-micro),
  html body.sdpi-portal-body .sdpi-scm-wrap small:not(.sdpi-allow-micro),
  html body.sdpi-portal-body .sdpi-cac-wrap small:not(.sdpi-allow-micro){
    font-size:13px!important;
  }
  html body.sdpi-portal-body.sdpi-portal-page-login .sdpi-portal-main .sdpi-login-clean-brand>p,
  html body.sdpi-portal-body .sdpi-portal-main .sdpi-scm-header>p{
    font-size:14px!important;
  }
}

/* Legacy/alternate branded blue surfaces retained for routes that still reuse them. */
html body.sdpi-portal-body .sdpi-campus-hero-copy>p,
html body.sdpi-portal-body .sdpi-login-intro>p,
html body.sdpi-portal-body .sdpi-login-hub-copy>p,
html body.sdpi-portal-body .sdpi-login-hub-points small{
  color:var(--sdpi-read-on-dark-muted)!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-campus-hero-copy>p,
html body.sdpi-portal-body .sdpi-login-intro>p,
html body.sdpi-portal-body .sdpi-login-hub-copy>p{
  font-size:15px!important;
  line-height:1.5!important;
}
html body.sdpi-portal-body .sdpi-login-hub-points small{
  font-size:13.5px!important;
  line-height:1.4!important;
}

/* ===== readability-sweep-v1202.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.202 — Portal Readability Sweep
   Final layer for ordinary subtitles, helper copy and operational tables.
   Compact status/code tokens remain compact; ordinary information does not.
   ========================================================= */

:root{
  --sdpi-v1202-copy:#2c4255;
  --sdpi-v1202-muted:#465d70;
  --sdpi-v1202-helper:14px;
  --sdpi-v1202-body:14.5px;
  --sdpi-v1202-table:13.75px;
  --sdpi-v1202-table-head:13.25px;
  --sdpi-v1202-on-dark:#f7fbff;
  --sdpi-v1202-on-dark-muted:#e8f0f8;
}

/* 1) Ordinary explanatory text across branded operational modules. */
html body.sdpi-portal-body .sdpi-admin-module-host :is(p,li),
html body.sdpi-portal-body .sdpi-scm-wrap :is(p,li),
html body.sdpi-portal-body .sdpi-cac-wrap :is(p,li),
html body.sdpi-portal-body .sdpi-etm-admin :is(p,li),
html body.sdpi-portal-body .sdpi-operations-workspace :is(p,li),
body.wp-admin .sdpi-scm-wrap :is(p,li),
body.wp-admin .sdpi-cac-wrap :is(p,li){
  font-size:var(--sdpi-v1202-body)!important;
  line-height:1.48!important;
}

html body.sdpi-portal-body .sdpi-admin-module-host :is(.description,small),
html body.sdpi-portal-body .sdpi-scm-wrap :is(.description,small),
html body.sdpi-portal-body .sdpi-cac-wrap :is(.description,small),
html body.sdpi-portal-body .sdpi-etm-admin :is(.description,small),
html body.sdpi-portal-body .sdpi-operations-workspace :is(.description,small),
body.wp-admin .sdpi-scm-wrap :is(.description,small),
body.wp-admin .sdpi-cac-wrap :is(.description,small){
  font-size:var(--sdpi-v1202-helper)!important;
  line-height:1.45!important;
  color:var(--sdpi-v1202-muted)!important;
  opacity:1!important;
}

/* Keep genuinely compact tokens compact. */
html body.sdpi-portal-body :is(.sdpi-mini-badge,.sdpi-status-badge,.sdpi-chip,.sdpi-pill,.sdpi-module-status,.sdpi-control-eyebrow,.sdpi-setup-group,.sdpi-step-badge,.sdpi-allow-micro),
body.wp-admin :is(.sdpi-mini-badge,.sdpi-status-badge,.sdpi-chip,.sdpi-pill,.sdpi-module-status,.sdpi-control-eyebrow,.sdpi-setup-group,.sdpi-step-badge,.sdpi-allow-micro){
  font-size:12px!important;
  line-height:1.25!important;
}

/* 2) Headings/subtitles/card descriptions: one predictable hierarchy. */
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-student-page-head,.sdpi-card-title,.sdpi-section-heading,.sdpi-control-section-heading,.sdpi-hub-overview-bar,.sdpi-launch-section>header,.sdpi-launch-setup>header,.sdpi-launch-work>header,.sdpi-centre-section-head) p,
body.wp-admin :is(.sdpi-student-page-head,.sdpi-card-title,.sdpi-section-heading,.sdpi-control-section-heading,.sdpi-centre-section-head) p{
  font-size:14.5px!important;
  line-height:1.48!important;
  color:var(--sdpi-v1202-muted)!important;
  opacity:1!important;
}

html body.sdpi-portal-body .sdpi-launch-link small,
html body.sdpi-portal-body .sdpi-demo-how-grid small,
html body.sdpi-portal-body .sdpi-centre-setup-order small,
html body.sdpi-portal-body .sdpi-exams-tools-accordion summary small,
body.wp-admin .sdpi-demo-how-grid small{
  font-size:14px!important;
  line-height:1.45!important;
  color:#465d70!important;
  opacity:1!important;
}

/* 3) Form labels and field guidance. */
html body.sdpi-portal-body :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) label,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) label{
  font-size:13.75px!important;
  line-height:1.35!important;
}
html body.sdpi-portal-body :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) label :is(small,.description),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) label :is(small,.description){
  font-size:13.75px!important;
  line-height:1.45!important;
  color:#4a6073!important;
  opacity:1!important;
}

/* 4) Operational tables/registers: no micro-print. */
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-operations-workspace) table.widefat th,
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-operations-workspace) table th,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) table.widefat th{
  font-size:var(--sdpi-v1202-table-head)!important;
  line-height:1.35!important;
  color:#263f55!important;
  font-weight:800!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-operations-workspace) table.widefat td,
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-operations-workspace) table td,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) table.widefat td{
  font-size:var(--sdpi-v1202-table)!important;
  line-height:1.43!important;
  color:#344b5f!important;
  opacity:1!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-operations-workspace) table small,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) table small{
  font-size:13px!important;
  line-height:1.38!important;
  color:#506779!important;
  opacity:1!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap) table code,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) table code{
  font-size:13px!important;
  line-height:1.35!important;
}

/* 5) Recent Audit / audit registers — exact UAT page from Centre Master. */
html body.sdpi-portal-body .sdpi-audit-accordion>summary strong,
body.wp-admin .sdpi-audit-accordion>summary strong{font-size:17px!important;line-height:1.3!important;color:#173f6d!important}
html body.sdpi-portal-body .sdpi-audit-accordion>summary small,
body.wp-admin .sdpi-audit-accordion>summary small{font-size:14px!important;line-height:1.4!important;color:#4b6174!important;opacity:1!important}
html body.sdpi-portal-body .sdpi-audit-accordion>summary b,
html body.sdpi-portal-body .sdpi-audit-accordion[open]>summary b:after,
body.wp-admin .sdpi-audit-accordion>summary b,
body.wp-admin .sdpi-audit-accordion[open]>summary b:after{font-size:14px!important;line-height:1.3!important}
html body.sdpi-portal-body .sdpi-audit-accordion-body table th,
body.wp-admin .sdpi-audit-accordion-body table th{font-size:13.5px!important;padding:9px 10px!important;line-height:1.35!important}
html body.sdpi-portal-body .sdpi-audit-accordion-body table td,
body.wp-admin .sdpi-audit-accordion-body table td{font-size:14px!important;padding:9px 10px!important;line-height:1.42!important;color:#334b5e!important}
html body.sdpi-portal-body .sdpi-audit-accordion-body table code,
body.wp-admin .sdpi-audit-accordion-body table code{font-size:13px!important;color:#2e4b66!important}

/* 6) Dark/blue surfaces: all ordinary explanatory copy must visibly contrast. */
html body.sdpi-portal-body .sdpi-login-clean-brand>p,
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points small,
html body.sdpi-portal-body .sdpi-launch-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-scm-header>p,
html body.sdpi-portal-body .sdpi-typing-selection-header>p,
html body.sdpi-portal-body .sdpi-staff-login-copy>p,
html body.sdpi-portal-body .sdpi-staff-dashboard-head p,
html body.sdpi-portal-body .sdpi-fee-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-operations-hero>div>p{
  color:var(--sdpi-v1202-on-dark)!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points small,
html body.sdpi-portal-body .sdpi-staff-role-cards small,
html body.sdpi-portal-body .sdpi-staff-security-note small{
  color:var(--sdpi-v1202-on-dark-muted)!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-login-clean-brand>p,
html body.sdpi-portal-body .sdpi-launch-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-scm-header>p,
html body.sdpi-portal-body .sdpi-typing-selection-header>p{
  font-size:15px!important;
  line-height:1.5!important;
}
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points small{
  font-size:14px!important;
  line-height:1.42!important;
}

/* 7) Centre Master exact secondary copy, including accordion rows and logo notes. */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-title p,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-section-head p,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-note,
html body.sdpi-portal-body .sdpi-centre-list-view .sdpi-card-title p,
body.wp-admin .sdpi-centre-form-view .sdpi-centre-section-head p{
  font-size:14px!important;
  line-height:1.45!important;
  color:#4a6073!important;
  opacity:1!important;
}

/* 8) Small-screen readability remains readable; layout may stack instead. */
@media(max-width:782px){
  html body.sdpi-portal-body .sdpi-admin-module-host :is(p,li),
  html body.sdpi-portal-body .sdpi-scm-wrap :is(p,li),
  html body.sdpi-portal-body .sdpi-cac-wrap :is(p,li){font-size:14px!important}
  html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap) :is(small,.description){font-size:13.5px!important}
  html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap) table th{font-size:12.75px!important}
  html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap) table td{font-size:13.25px!important}
}

/* ========================================================================
   v1.12.203 — Centre Setup card typography trial ONLY
   Route: sdpi-cac-hub-centres
   User-approved trial values:
   Card Title       17px / 700 / #0B4F8A
   Card Description 14.5px / #1F2937
   No other hub/page is visually changed by these rules.
   ======================================================================== */
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-launch-link strong,
body.wp-admin .sdpi-launch-hub-centres .sdpi-launch-link strong,
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article strong,
body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article strong{
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.3!important;
  color:#0B4F8A!important;
}

html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-launch-link small,
body.wp-admin .sdpi-launch-hub-centres .sdpi-launch-link small,
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article small,
body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article small{
  font-size:14.5px!important;
  font-weight:400!important;
  line-height:1.45!important;
  color:#1F2937!important;
  opacity:1!important;
}

/* ===== card-typography-v1204.css ===== */
/* ========================================================================
   SDPI Digital Campus v1.12.204 — Global card typography + Centre Setup grid

   Approved card standard:
   - Card Title:       16px / bold / #0B4F8A
   - Card Description: 14.5px / #1F2937

   This file is intentionally enqueued after the enterprise/readability layers
   so older module-specific 9–13px rules cannot silently shrink card copy.
   ======================================================================== */

:root{
  --sdpi-card-title-size:16px;
  --sdpi-card-title-colour:#0B4F8A;
  --sdpi-card-description-size:14.5px;
  --sdpi-card-description-colour:#1F2937;
}

/* ------------------------------------------------------------------------
   1) Shared card titles — operational cards, hub cards and reusable cards.
   Avoid KPI-number-only strong elements; target semantic title locations.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body :is(
  .sdpi-launch-link strong,
  .sdpi-wp-maintenance-card strong,
  .sdpi-demo-how-grid article strong,
  .sdpi-operation-card strong,
  .sdpi-ops-card-grid>a>b,
  .sdpi-mcq-test-card h3,
  .sdpi-admission-continue-card h3,
  .sdpi-enquiry-start-card h3,
  .sdpi-card-title h2,
  .sdpi-card-title h3,
  .sdpi-card>h2,
  .sdpi-card>h3,
  .sdpi-department-card>header h3,
  .sdpi-library-card-head h2,
  .sdpi-login-hub-card-head h2,
  .sdpi-home-update-card strong,
  .sdpi-affiliation-card>summary span,
  .sdpi-checkbox-card strong,
  .sdpi-centre-demo-shortcut strong
),
body.wp-admin :is(
  .sdpi-launch-link strong,
  .sdpi-wp-maintenance-card strong,
  .sdpi-demo-how-grid article strong,
  .sdpi-operation-card strong,
  .sdpi-ops-card-grid>a>b,
  .sdpi-mcq-test-card h3,
  .sdpi-admission-continue-card h3,
  .sdpi-enquiry-start-card h3,
  .sdpi-card-title h2,
  .sdpi-card-title h3,
  .sdpi-card>h2,
  .sdpi-card>h3,
  .sdpi-department-card>header h3,
  .sdpi-library-card-head h2,
  .sdpi-login-hub-card-head h2,
  .sdpi-home-update-card strong,
  .sdpi-affiliation-card>summary span,
  .sdpi-checkbox-card strong,
  .sdpi-centre-demo-shortcut strong
){
  font-size:var(--sdpi-card-title-size)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-card-title-colour)!important;
  opacity:1!important;
}

/* ------------------------------------------------------------------------
   2) Shared card descriptions / helper copy.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body :is(
  .sdpi-launch-link small,
  .sdpi-wp-maintenance-card span,
  .sdpi-demo-how-grid article small,
  .sdpi-operation-card small,
  .sdpi-ops-card-grid>a>small,
  .sdpi-mcq-test-card p,
  .sdpi-admission-continue-card p,
  .sdpi-enquiry-start-card p,
  .sdpi-card-title p,
  .sdpi-card>p.description,
  .sdpi-card>.description,
  .sdpi-department-card>header p,
  .sdpi-library-card-head>small,
  .sdpi-login-hub-card-head p,
  .sdpi-home-update-card span,
  .sdpi-affiliation-card>summary small,
  .sdpi-checkbox-card small,
  .sdpi-centre-demo-shortcut span
),
body.wp-admin :is(
  .sdpi-launch-link small,
  .sdpi-wp-maintenance-card span,
  .sdpi-demo-how-grid article small,
  .sdpi-operation-card small,
  .sdpi-ops-card-grid>a>small,
  .sdpi-mcq-test-card p,
  .sdpi-admission-continue-card p,
  .sdpi-enquiry-start-card p,
  .sdpi-card-title p,
  .sdpi-card>p.description,
  .sdpi-card>.description,
  .sdpi-department-card>header p,
  .sdpi-library-card-head>small,
  .sdpi-login-hub-card-head p,
  .sdpi-home-update-card span,
  .sdpi-affiliation-card>summary small,
  .sdpi-checkbox-card small,
  .sdpi-centre-demo-shortcut span
){
  font-size:var(--sdpi-card-description-size)!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--sdpi-card-description-colour)!important;
  opacity:1!important;
}

/* More generic reusable card title blocks used by several legacy modules. */
html body.sdpi-portal-body :is(.sdpi-card-title,.sdpi-section-head,.sdpi-control-section-heading) :is(h2,h3),
body.wp-admin :is(.sdpi-card-title,.sdpi-section-head,.sdpi-control-section-heading) :is(h2,h3){
  font-size:var(--sdpi-card-title-size)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-card-title-colour)!important;
}
html body.sdpi-portal-body :is(.sdpi-card-title,.sdpi-section-head,.sdpi-control-section-heading)>div>p,
body.wp-admin :is(.sdpi-card-title,.sdpi-section-head,.sdpi-control-section-heading)>div>p{
  font-size:var(--sdpi-card-description-size)!important;
  line-height:1.45!important;
  color:var(--sdpi-card-description-colour)!important;
  opacity:1!important;
}


/* Hub/section headings and the line directly beneath them follow the same
   visual hierarchy as cards so the page does not fall back to micro-copy. */
html body.sdpi-portal-body :is(.sdpi-launch-section>header h2,.sdpi-launch-setup>header h2,.sdpi-launch-work>header h2),
body.wp-admin :is(.sdpi-launch-section>header h2,.sdpi-launch-setup>header h2,.sdpi-launch-work>header h2){
  font-size:var(--sdpi-card-title-size)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-card-title-colour)!important;
}
html body.sdpi-portal-body :is(.sdpi-hub-overview-bar p,.sdpi-launch-section>header p,.sdpi-launch-setup>header p,.sdpi-launch-work>header p),
body.wp-admin :is(.sdpi-hub-overview-bar p,.sdpi-launch-section>header p,.sdpi-launch-setup>header p,.sdpi-launch-work>header p){
  font-size:var(--sdpi-card-description-size)!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--sdpi-card-description-colour)!important;
  opacity:1!important;
}

/* ------------------------------------------------------------------------
   3) Main operational page title alignment.
   Keep the page title/subtitle on the same left edge as the green eyebrow.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-head>div:first-child{
  margin-left:0!important;
  padding-left:0!important;
  text-align:left!important;
  justify-self:start!important;
}
html body.sdpi-portal-body .sdpi-admin-head h1{
  margin-left:0!important;
  padding-left:0!important;
  text-indent:0!important;
  text-align:left!important;
  transform:none!important;
}

/* ------------------------------------------------------------------------
   4) Centre Setup — six setup steps as a balanced 3 x 2 grid on desktop.
   Every card uses the approved 16px / 14.5px typography above.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid,
body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article,
body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article{
  width:100%!important;
  min-width:0!important;
  min-height:128px!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:14px 14px 14px 48px!important;
}
html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article>b,
body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article>b{
  top:14px!important;
  left:14px!important;
}

@media(max-width:1100px){
  html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid,
  body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid,
  body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
    grid-template-columns:1fr!important;
  }
  html body.sdpi-portal-body .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article,
  body.wp-admin .sdpi-launch-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article{
    min-height:0!important;
  }
}

/* ------------------------------------------------------------------------
   5) v1.12.205 — Section description width / natural single-line flow.
   Legacy admin.css capped launch-section descriptions at 620px, which caused
   unnecessary wrapping even when the card had ample horizontal space.
   Use the full available header width. Text stays on one line when it fits
   naturally and wraps only when the viewport/content genuinely requires it.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body :is(
  .sdpi-launch-section>header,
  .sdpi-launch-setup>header,
  .sdpi-launch-work>header
)>div,
body.wp-admin :is(
  .sdpi-launch-section>header,
  .sdpi-launch-setup>header,
  .sdpi-launch-work>header
)>div{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
}

html body.sdpi-portal-body :is(
  .sdpi-launch-section>header p,
  .sdpi-launch-setup>header p,
  .sdpi-launch-work>header p
),
body.wp-admin :is(
  .sdpi-launch-section>header p,
  .sdpi-launch-setup>header p,
  .sdpi-launch-work>header p
){
  width:auto!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Module Overview has the same rule: let its copy use the available row. */
html body.sdpi-portal-body .sdpi-hub-overview-bar>div:first-child,
body.wp-admin .sdpi-hub-overview-bar>div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
}
html body.sdpi-portal-body .sdpi-hub-overview-bar p,
body.wp-admin .sdpi-hub-overview-bar p{
  width:auto!important;
  max-width:none!important;
}

@media(max-width:782px){
  html body.sdpi-portal-body :is(
    .sdpi-launch-section>header p,
    .sdpi-launch-setup>header p,
    .sdpi-launch-work>header p,
    .sdpi-hub-overview-bar p
  ),
  body.wp-admin :is(
    .sdpi-launch-section>header p,
    .sdpi-launch-setup>header p,
    .sdpi-launch-work>header p,
    .sdpi-hub-overview-bar p
  ){
    white-space:normal!important;
  }
}

/* ===== centre-setup-final-v1206.css ===== */
/* ========================================================================
   SDPI Digital Campus v1.12.206 — Centre Setup final UI lock
   Route: /admin-portal/?sdpi_route=sdpi-cac-hub-centres

   FINAL TYPOGRAPHY HIERARCHY (approved):
   - Page Title:                  24px
   - Section Heading:             18px
   - Card / Step Title:           16px
   - Normal subtitle/description: 14.5px
   - Compact eyebrow/badge/meta:  13px

   Colours:
   - Card/Step title blue: #0B4F8A
   - Normal descriptive text: #1F2937
   - Section heading navy: #123F63
   - Compact SDPI eyebrow: #5F8F00

   Scope is intentionally limited to the Centre Setup hub until live approval.
   ======================================================================== */

/* ------------------------------------------------------------------------
   1) Page header: brand kicker / page title / subtitle.
   Keep the title on the same LEFT edge as the brand kicker.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-admin-head>div:first-child{
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:start!important;
  align-self:center!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-admin-head>div:first-child>span{
  display:block!important;
  margin:0 0 3px!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  color:#5F8F00!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-admin-head h1{
  margin:0!important;
  padding:0!important;
  font-size:24px!important;
  line-height:1.18!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
  color:#123F63!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-admin-head p{
  margin:4px 0 0!important;
  padding:0!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:#1F2937!important;
  opacity:1!important;
}

/* ------------------------------------------------------------------------
   2) Module Overview: section eyebrow + intro/helper line.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-hub-overview-label{
  display:block!important;
  margin:0 0 4px!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  color:#5F8F00!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-hub-overview-bar p{
  margin:0!important;
  width:auto!important;
  max-width:none!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:#1F2937!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-hub-overview-actions .button{
  font-size:13px!important;
  font-weight:700!important;
}

/* ------------------------------------------------------------------------
   3) Section headings / section descriptions / utility badges.
   Applies to Create and control centres, Correct setup order, Quick Guide.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header>div{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header h2{
  margin:0!important;
  padding:0!important;
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#123F63!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header p{
  margin:4px 0 0!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:#1F2937!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header>span{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  padding:4px 9px!important;
  border-radius:7px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#0B4F8A!important;
  background:#EEF6FB!important;
}

/* On wide desktop, keep the normal section description on one line when
   there is enough space. Mobile/tablet continue to wrap naturally. */
@media (min-width:1180px){
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header p{
    white-space:nowrap!important;
  }
}

/* ------------------------------------------------------------------------
   4) Main tool cards.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link{
  min-height:92px!important;
  padding:14px 15px!important;
  gap:13px!important;
  border-radius:12px!important;
  align-items:center!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link-icon{
  width:42px!important;
  height:42px!important;
  border-radius:9px!important;
  font-size:21px!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link strong{
  display:block!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#0B4F8A!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link small{
  display:block!important;
  margin:4px 0 0!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:#1F2937!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link>b{
  font-size:18px!important;
  line-height:1!important;
}

/* ------------------------------------------------------------------------
   5) Correct setup order: exactly 3 x 2 equal cards on desktop.
   Equal column width and equal row height. Number marker remains compact.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:142px!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:15px 15px 15px 50px!important;
  border-radius:10px!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article>b{
  position:absolute!important;
  top:15px!important;
  left:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:25px!important;
  height:25px!important;
  border-radius:6px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#fff!important;
  background:#1D4982!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article strong{
  display:block!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#0B4F8A!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article small{
  display:block!important;
  margin:6px 0 0!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:#1F2937!important;
  opacity:1!important;
}

/* ------------------------------------------------------------------------
   6) Quick Guide uses the same 18/14.5 hierarchy, but remains compact.
   ------------------------------------------------------------------------ */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-how-to-use{
  padding-top:17px!important;
  padding-bottom:17px!important;
}

/* ------------------------------------------------------------------------
   7) Responsive behaviour.
   ------------------------------------------------------------------------ */
@media (max-width:1100px){
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header p{
    white-space:normal!important;
  }
}
@media (max-width:782px){
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-admin-head h1{
    font-size:22px!important;
  }
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-section>header{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-launch-link-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:650px){
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid{
    grid-template-columns:1fr!important;
  }
  html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article{
    min-height:0!important;
  }
}

/* ===== global-approved-ui-v1207.css ===== */
/* ========================================================================
   SDPI Digital Campus v1.12.207 — Approved Global UI Rollout
   Approved reference: Centre Setup hub v1.12.206.

   GLOBAL TYPOGRAPHY
   Page Title: 24px
   Section Heading: 18px
   Card / Step Title: 16px
   Normal subtitle / description / helper: 14.5px
   Compact eyebrow / badge / metadata / numbering: 13px

   COLOURS
   Card / Step Title: #0B4F8A
   Normal descriptive text: #1F2937
   Section heading: #123F63
   SDPI Green: #A4CE3A
   Green marker text: #1F2937
   ======================================================================== */

:root{
  --sdpi-ui-page-title:24px;
  --sdpi-ui-section-title:18px;
  --sdpi-ui-card-title:16px;
  --sdpi-ui-copy:14.5px;
  --sdpi-ui-compact:13px;
  --sdpi-ui-card-blue:#0B4F8A;
  --sdpi-ui-section-navy:#123F63;
  --sdpi-ui-copy-dark:#1F2937;
  --sdpi-ui-green:#A4CE3A;
}

/* 1) Page headers on branded operational screens. */
html body.sdpi-portal-body .sdpi-admin-head>div:first-child,
html body.sdpi-portal-body .sdpi-student-page-head>div:first-child{
  margin-left:0!important;
  padding-left:0!important;
  text-align:left!important;
}
html body.sdpi-portal-body .sdpi-admin-head>div:first-child>span,
html body.sdpi-portal-body .sdpi-student-page-head>div:first-child>span,
html body.sdpi-portal-body :is(.sdpi-control-eyebrow,.sdpi-eyebrow,.sdpi-campus-eyebrow,.sdpi-section-label){
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
html body.sdpi-portal-body .sdpi-admin-head h1,
html body.sdpi-portal-body .sdpi-student-page-head h1{
  font-size:var(--sdpi-ui-page-title)!important;
  line-height:1.18!important;
  font-weight:700!important;
  color:var(--sdpi-ui-section-navy)!important;
  text-align:left!important;
}
html body.sdpi-portal-body .sdpi-admin-head p,
html body.sdpi-portal-body .sdpi-student-page-head p{
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}

/* 2) Section eyebrows, headings and descriptions on operational screens. */
html body.sdpi-portal-body :is(
  .sdpi-admin-module-host,
  .sdpi-scm-public-wrap,
  .sdpi-ops-module-host,
  .sdpi-online-admission,
  .sdpi-operations-workspace,
  .sdpi-etm-admin
) :is(
  .sdpi-section-heading>span,
  .sdpi-section-head>span,
  .sdpi-control-section-heading>span,
  .sdpi-student-panel-head>span,
  .sdpi-student-journey-head>span,
  .sdpi-public-panel-head>span,
  .sdpi-student-welcome-copy>span
){
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
html body.sdpi-portal-body :is(
  .sdpi-admin-module-host,
  .sdpi-scm-public-wrap,
  .sdpi-ops-module-host,
  .sdpi-online-admission,
  .sdpi-operations-workspace,
  .sdpi-etm-admin
) :is(
  .sdpi-section-heading h2,
  .sdpi-section-head h2,
  .sdpi-section-head h3,
  .sdpi-control-section-heading h2,
  .sdpi-student-panel-head h2,
  .sdpi-student-journey-head h2,
  .sdpi-public-panel-head h3,
  .sdpi-launch-section>header h2,
  .sdpi-launch-setup>header h2,
  .sdpi-launch-work>header h2
){
  font-size:var(--sdpi-ui-section-title)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-ui-section-navy)!important;
}
html body.sdpi-portal-body :is(
  .sdpi-admin-module-host,
  .sdpi-scm-public-wrap,
  .sdpi-ops-module-host,
  .sdpi-online-admission,
  .sdpi-operations-workspace,
  .sdpi-etm-admin
) :is(
  .sdpi-section-heading p,
  .sdpi-section-head p,
  .sdpi-control-section-heading p,
  .sdpi-student-panel-head p,
  .sdpi-student-journey-head p,
  .sdpi-public-panel-head p,
  .sdpi-launch-section>header p,
  .sdpi-launch-setup>header p,
  .sdpi-launch-work>header p
){
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
  max-width:none!important;
}

/* 3) Shared card titles. */
html body.sdpi-portal-body :is(
  .sdpi-launch-link strong,
  .sdpi-wp-maintenance-card strong,
  .sdpi-demo-how-grid article strong,
  .sdpi-operation-card strong,
  .sdpi-ops-card-grid>a>strong,
  .sdpi-ops-card-grid>a>b:not(:first-child),
  .sdpi-mcq-test-card h3,
  .sdpi-admission-continue-card h3,
  .sdpi-enquiry-start-card h3,
  .sdpi-card-title h2,
  .sdpi-card-title h3,
  .sdpi-card>h2,
  .sdpi-card>h3,
  .sdpi-department-card>header h3,
  .sdpi-library-card-head h2,
  .sdpi-login-hub-card-head h2,
  .sdpi-home-update-card strong,
  .sdpi-affiliation-card>summary span,
  .sdpi-checkbox-card strong,
  .sdpi-centre-demo-shortcut strong,
  .sdpi-student-quick-grid strong,
  .sdpi-student-step-row article strong,
  .sdpi-guided-steps strong,
  .sdpi-launch-steps strong,
  .sdpi-fee-action-grid strong,
  .sdpi-login-brand-points strong
){
  font-size:var(--sdpi-ui-card-title)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-ui-card-blue)!important;
  opacity:1!important;
}

/* 4) Shared card descriptions / helper copy. */
html body.sdpi-portal-body :is(
  .sdpi-launch-link small,
  .sdpi-wp-maintenance-card span,
  .sdpi-demo-how-grid article small,
  .sdpi-operation-card small,
  .sdpi-ops-card-grid>a>span,
  .sdpi-ops-card-grid>a>small,
  .sdpi-mcq-test-card p,
  .sdpi-admission-continue-card p,
  .sdpi-enquiry-start-card p,
  .sdpi-card-title p,
  .sdpi-card>p.description,
  .sdpi-card>.description,
  .sdpi-department-card>header p,
  .sdpi-library-card-head>small,
  .sdpi-login-hub-card-head p,
  .sdpi-home-update-card span,
  .sdpi-affiliation-card>summary small,
  .sdpi-checkbox-card small,
  .sdpi-centre-demo-shortcut span,
  .sdpi-student-quick-grid small,
  .sdpi-student-step-row article small,
  .sdpi-guided-steps small,
  .sdpi-launch-steps small,
  .sdpi-fee-action-grid span,
  .sdpi-help-text,
  .sdpi-lead,
  .sdpi-login-brand-points small
){
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}

/* Student dashboard page title and supporting copy. */
html body.sdpi-portal-body .sdpi-student-welcome-copy h1{
  font-size:var(--sdpi-ui-page-title)!important;
  line-height:1.18!important;
  font-weight:700!important;
  color:var(--sdpi-ui-section-navy)!important;
}
html body.sdpi-portal-body .sdpi-student-welcome-copy>p,
html body.sdpi-portal-body .sdpi-student-profile-lock small{
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}


/* Login form hierarchy follows the same approved scale without shrinking the hero welcome title. */
html body.sdpi-portal-body .sdpi-login-clean-head>span{
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-login-clean-head h2{
  font-size:var(--sdpi-ui-page-title)!important;
  line-height:1.18!important;
  font-weight:700!important;
  color:var(--sdpi-ui-section-navy)!important;
}
html body.sdpi-portal-body .sdpi-login-clean-head p{
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}

/* Staff/role operation section headers use the same 18/14.5/13 hierarchy. */
html body.sdpi-portal-body .sdpi-ops-section-title>div>span{
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1.25!important;
  font-weight:800!important;
}
html body.sdpi-portal-body .sdpi-ops-section-title h2{
  font-size:var(--sdpi-ui-section-title)!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:var(--sdpi-ui-section-navy)!important;
}
html body.sdpi-portal-body .sdpi-ops-section-title>p{
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}

/* Ordinary field help/description lines are normal readable copy, not metadata. */
html body.sdpi-portal-body :is(
  .sdpi-admin-module-host,.sdpi-scm-public-wrap,.sdpi-ops-module-host,
  .sdpi-online-admission,.sdpi-operations-workspace,.sdpi-etm-admin
) :is(label>small,label>.description,p.description,.sdpi-field-help,.sdpi-field-hint){
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-copy-dark)!important;
  opacity:1!important;
}

/* 5) Compact UI only: 13px. */
html body.sdpi-portal-body :is(
  .sdpi-badge,.sdpi-pill,.sdpi-mini-badge,.sdpi-chip,.sdpi-status-badge,
  .sdpi-access-status,.sdpi-selected-count,.sdpi-module-status,
  .sdpi-test-session-badge,.sdpi-state-pill,.sdpi-route-number,
  .sdpi-step-badge,.sdpi-menu-step-number,.sdpi-public-progress>span,
  .sdpi-page-size-label,.sdpi-pagination,.sdpi-page-button
){
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1.25!important;
}

/* 6) GLOBAL NUMBER / STEP MARKERS — approved SDPI green + dark text. */
html body.sdpi-portal-body :is(
  .sdpi-demo-how-grid article>b,
  .sdpi-student-quick-grid i,
  .sdpi-student-quick-grid>span.is-locked i,
  .sdpi-student-step-row article>b,
  .sdpi-guide-step-number,
  .sdpi-ops-card-grid>a>b,
  .sdpi-student-lifecycle-grid article>b,
  .sdpi-guided-steps>a>span,
  .sdpi-launch-steps>a>b,
  .sdpi-promo-icon,
  .sdpi-route-number,
  .sdpi-menu-step-number,
  .sdpi-workshop-form-sections legend b
){
  background:var(--sdpi-ui-green)!important;
  color:var(--sdpi-ui-copy-dark)!important;
  border-radius:6px!important;
  font-size:var(--sdpi-ui-compact)!important;
  line-height:1!important;
  font-weight:800!important;
  opacity:1!important;
  box-shadow:none!important;
}
/* Keep state meaning on the card itself; the number marker stays globally green. */
html body.sdpi-portal-body .sdpi-student-step-row article.is-current>b,
html body.sdpi-portal-body .sdpi-student-step-row article.is-done>b{
  background:var(--sdpi-ui-green)!important;
  color:var(--sdpi-ui-copy-dark)!important;
}

/* 7) Professional hover for large CLICKABLE cards/boxes. */
html body.sdpi-portal-body :is(
  .sdpi-launch-link,
  .sdpi-wp-maintenance-card,
  .sdpi-cac-action,
  .sdpi-module-tile,
  .sdpi-ops-card-grid>a,
  .sdpi-operation-card[href],
  .sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,
  .sdpi-launch-steps>a,
  .sdpi-fee-action-grid>a,
  .sdpi-home-update-card[href],
  .sdpi-checkbox-card,
  .sdpi-toggle-card,
  .sdpi-switch-card,
  .sdpi-tone-option
){
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease!important;
}
html body.sdpi-portal-body :is(
  .sdpi-launch-link,
  .sdpi-wp-maintenance-card,
  .sdpi-cac-action,
  .sdpi-module-tile,
  .sdpi-ops-card-grid>a,
  .sdpi-operation-card[href],
  .sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,
  .sdpi-launch-steps>a,
  .sdpi-fee-action-grid>a,
  .sdpi-home-update-card[href],
  .sdpi-checkbox-card,
  .sdpi-toggle-card,
  .sdpi-switch-card,
  .sdpi-tone-option
):is(:hover,:focus-visible){
  transform:translateY(-3px)!important;
  border-color:#9FBE63!important;
  box-shadow:0 10px 24px rgba(18,54,95,.12)!important;
  outline:none!important;
}

/* 8) DARK / BLUE PANELS — secondary copy must remain clearly readable. */
html body.sdpi-portal-body .sdpi-login-clean-brand>p,
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points small,
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points strong,
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-quick-links a,
html body.sdpi-portal-body .sdpi-login-simple-header p,
html body.sdpi-portal-body .sdpi-login-simple-header small,
html body.sdpi-portal-body .sdpi-control-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-control-hero>div:first-child>small,
html body.sdpi-portal-body .sdpi-fee-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-fee-hero>div:first-child>small,
html body.sdpi-portal-body .sdpi-command-hero p,
html body.sdpi-portal-body .sdpi-simple-hero p,
html body.sdpi-portal-body .sdpi-operations-hero>div:first-child>p,
html body.sdpi-portal-body .sdpi-department-card>header p,
html body.sdpi-portal-body .sdpi-department-card>header small{
  color:rgba(255,255,255,.94)!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-login-clean-brand .sdpi-login-brand-points small,
html body.sdpi-portal-body .sdpi-login-clean-brand>p{
  font-size:var(--sdpi-ui-copy)!important;
  line-height:1.45!important;
}

/* Admin/sidebar secondary identity should remain readable on dark navy. */
html body.sdpi-portal-body .sdpi-admin-sidebar :is(.sdpi-admin-user-meta,small,p),
html body.sdpi-portal-body .sdpi-student-side-nav :is(small,p){
  color:rgba(255,255,255,.86)!important;
  opacity:1!important;
}

/* 9) Natural width for section descriptions: one line when there is room. */
html body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header>div{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
}
html body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(min-width:1180px){
  html body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{
    white-space:nowrap!important;
  }
}

/* 10) Responsive: keep hierarchy readable without forcing desktop sizes into tiny viewports. */
@media(max-width:700px){
  html body.sdpi-portal-body .sdpi-admin-head h1,
  html body.sdpi-portal-body .sdpi-student-page-head h1,
  html body.sdpi-portal-body .sdpi-student-welcome-copy h1{
    font-size:22px!important;
  }
  html body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{
    white-space:normal!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body.sdpi-portal-body :is(
    .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
    .sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,
    .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-update-card[href],
    .sdpi-checkbox-card,.sdpi-toggle-card,.sdpi-switch-card,.sdpi-tone-option
  ){
    transition:none!important;
  }
  html body.sdpi-portal-body :is(
    .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
    .sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,
    .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-update-card[href],
    .sdpi-checkbox-card,.sdpi-toggle-card,.sdpi-switch-card,.sdpi-tone-option
  ):is(:hover,:focus-visible){
    transform:none!important;
  }
}

/* ===== global-approved-ui-v1208.css ===== */
/* ========================================================================
   SDPI Digital Campus v1.12.208 — Approved Global Design Lock
   Reference approved by Main Admin: Centre Setup v1.12.206.

   24 Page Title / 18 Section Heading / 16 Card & Step Title /
   14.5 normal descriptions, subtitles & helpers / 13 compact UI only.
   ======================================================================== */
:root{
  --sdpi-v1208-page:24px;
  --sdpi-v1208-section:18px;
  --sdpi-v1208-card:16px;
  --sdpi-v1208-copy:14.5px;
  --sdpi-v1208-compact:13px;
  --sdpi-v1208-blue:#0B4F8A;
  --sdpi-v1208-navy:#123F63;
  --sdpi-v1208-copy-dark:#1F2937;
  --sdpi-v1208-green:#A4CE3A;
  --sdpi-v1208-border:#D7E0E8;
}

/* ---------- Global page / section hierarchy ---------- */
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-student-page-head) h1,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) > h1,
body.sdpi-portal-body .sdpi-wp h1{
  font-size:var(--sdpi-v1208-page)!important;line-height:1.18!important;font-weight:700!important;
  color:var(--sdpi-v1208-navy)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-student-page-head) p,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) > p{
  font-size:var(--sdpi-v1208-copy)!important;line-height:1.45!important;color:var(--sdpi-v1208-copy-dark)!important;opacity:1!important;
}
body.sdpi-portal-body :is(.sdpi-section-heading,.sdpi-section-head,.sdpi-control-section-heading) :is(h2,h3),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-section-heading,.sdpi-section-head,.sdpi-control-section-heading) :is(h2,h3),
body.sdpi-portal-body .sdpi-wp h2,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap) .postbox > h2{
  font-size:var(--sdpi-v1208-section)!important;line-height:1.3!important;font-weight:700!important;color:var(--sdpi-v1208-navy)!important;
}
body.sdpi-portal-body :is(.sdpi-section-heading,.sdpi-section-head,.sdpi-control-section-heading) p,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-section-heading,.sdpi-section-head,.sdpi-control-section-heading) p{
  font-size:var(--sdpi-v1208-copy)!important;line-height:1.45!important;color:var(--sdpi-v1208-copy-dark)!important;opacity:1!important;max-width:none!important;
}

/* ---------- Card title / description lock ---------- */
body.sdpi-portal-body :is(
  .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
  .sdpi-operation-card,.sdpi-ops-card-grid>a,.sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,
  .sdpi-home-service-card,.sdpi-home-update-card,.sdpi-login-brand-points>div
) :is(h2,h3,strong):not(.sdpi-kpi-value),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-cac-action,.sdpi-module-tile,.sdpi-operation-card,.sdpi-card,.postbox
) :is(h3,strong.sdpi-card-title){
  font-size:var(--sdpi-v1208-card)!important;line-height:1.3!important;font-weight:700!important;color:var(--sdpi-v1208-blue)!important;opacity:1!important;
}
body.sdpi-portal-body :is(
  .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
  .sdpi-operation-card,.sdpi-ops-card-grid>a,.sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,
  .sdpi-home-service-card,.sdpi-home-update-card,.sdpi-login-brand-points>div
) :is(p,small,span.sdpi-description,.description),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-card-description,.description,.sdpi-help-text,.sdpi-field-help,.sdpi-field-hint){
  font-size:var(--sdpi-v1208-copy)!important;line-height:1.45!important;font-weight:400!important;color:var(--sdpi-v1208-copy-dark)!important;opacity:1!important;
}

/* ---------- Ordinary explanatory text must not become micro-copy ---------- */
body.sdpi-portal-body :is(.sdpi-help-text,.sdpi-field-help,.sdpi-field-hint,label>small,p.description,.sdpi-wp-muted),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-help,.sdpi-help-text,.sdpi-field-help,.sdpi-field-hint,label>small,p.description){
  font-size:var(--sdpi-v1208-copy)!important;line-height:1.45!important;color:var(--sdpi-v1208-copy-dark)!important;opacity:1!important;
}
/* Truly compact metadata remains 13px. */
body.sdpi-portal-body :is(.sdpi-eyebrow,.sdpi-section-label,.sdpi-badge,.sdpi-chip,.sdpi-status-badge,.sdpi-mini-badge,.sdpi-pagination,.sdpi-page-size-label),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-eyebrow,.sdpi-section-label,.sdpi-badge,.sdpi-chip,.sdpi-status-badge,.sdpi-mini-badge,.sdpi-pagination,.sdpi-page-size-label){
  font-size:var(--sdpi-v1208-compact)!important;line-height:1.25!important;
}

/* ---------- Work Progress approved hierarchy ---------- */
body.sdpi-portal-body .sdpi-wp{color:var(--sdpi-v1208-copy-dark)!important;}
body.sdpi-portal-body .sdpi-wp h1{font-size:var(--sdpi-v1208-page)!important;}
body.sdpi-portal-body .sdpi-wp h2{font-size:var(--sdpi-v1208-section)!important;}
body.sdpi-portal-body .sdpi-wp-card > strong{
  font-size:var(--sdpi-v1208-card)!important;color:var(--sdpi-v1208-blue)!important;line-height:1.3!important;font-weight:700!important;
}
body.sdpi-portal-body .sdpi-wp :is(.sdpi-wp-muted,label,summary,p,td,th){color:var(--sdpi-v1208-copy-dark)!important;}
body.sdpi-portal-body .sdpi-wp .sdpi-wp-muted{font-size:var(--sdpi-v1208-copy)!important;line-height:1.45!important;}
body.sdpi-portal-body .sdpi-wp table{font-size:var(--sdpi-v1208-compact)!important;}
body.sdpi-portal-body .sdpi-wp .status{border-radius:6px!important;font-size:var(--sdpi-v1208-compact)!important;}

/* ---------- Student Attendance native admin readability ---------- */
body.wp-admin .sdpi-scm-wrap :is(.widefat,table){font-size:var(--sdpi-v1208-compact)!important;}
body.wp-admin .sdpi-scm-wrap :is(.widefat,table) th{font-weight:700!important;color:var(--sdpi-v1208-navy)!important;}
body.wp-admin .sdpi-scm-wrap :is(.widefat,table) td{color:var(--sdpi-v1208-copy-dark)!important;}
body.wp-admin .sdpi-scm-wrap details > summary > strong{font-size:var(--sdpi-v1208-card)!important;color:var(--sdpi-v1208-blue)!important;}

/* ---------- GLOBAL NUMBER / STEP BOXES ---------- */
body.sdpi-portal-body :is(
  .sdpi-demo-how-grid article>b,.sdpi-student-quick-grid i,.sdpi-student-step-row article>b,
  .sdpi-guide-step-number,.sdpi-ops-card-grid>a>b,.sdpi-student-lifecycle-grid article>b,
  .sdpi-guided-steps>a>span,.sdpi-launch-steps>a>b,.sdpi-route-number,.sdpi-menu-step-number,
  .sdpi-workshop-form-sections legend b,.sdpi-step-badge,.sdpi-promo-icon
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-guide-step-number,.sdpi-route-number,.sdpi-menu-step-number,.sdpi-step-badge,
  .sdpi-workshop-form-sections legend b,.sdpi-demo-live-uat-grid>a>span
){
  background:var(--sdpi-v1208-green)!important;color:var(--sdpi-v1208-copy-dark)!important;
  border:1px solid rgba(31,41,55,.08)!important;border-radius:6px!important;
  font-size:var(--sdpi-v1208-compact)!important;line-height:1!important;font-weight:800!important;box-shadow:none!important;
}
/* Kill legacy circular/pill geometry on ordinary status/number controls. */
body.sdpi-portal-body :is(.sdpi-badge,.sdpi-chip,.sdpi-status-badge,.sdpi-mini-badge,.sdpi-step-badge,.sdpi-route-number,.sdpi-menu-step-number),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-badge,.sdpi-chip,.sdpi-status-badge,.sdpi-mini-badge,.sdpi-step-badge,.sdpi-route-number,.sdpi-menu-step-number){border-radius:6px!important;}

/* ---------- Approved subtle hover for large clickable boxes ---------- */
body.sdpi-portal-body :is(
  .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
  .sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-service-card,
  .sdpi-home-update-card[href]
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(a.sdpi-cac-action,a.sdpi-module-tile,a.sdpi-operation-card){
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease!important;
}
body.sdpi-portal-body :is(
  .sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,
  .sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,
  .sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-service-card,
  .sdpi-home-update-card[href]
):is(:hover,:focus-visible),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(a.sdpi-cac-action,a.sdpi-module-tile,a.sdpi-operation-card):is(:hover,:focus-visible){
  transform:translateY(-3px)!important;border-color:#9FBE63!important;box-shadow:0 10px 24px rgba(18,54,95,.12)!important;outline:none!important;
}

/* ---------- Dark / blue panels: never render secondary copy dark-on-blue ---------- */
body.sdpi-portal-body :is(
  .sdpi-login-clean-brand,.sdpi-control-hero>div:first-child,.sdpi-fee-hero>div:first-child,
  .sdpi-command-hero,.sdpi-simple-hero,.sdpi-operations-hero>div:first-child,.sdpi-campus-hero-copy
) :is(p,small,.description,.sdpi-help-text){
  color:rgba(255,255,255,.95)!important;opacity:1!important;
}
body.sdpi-portal-body .sdpi-campus-hero-copy>p{color:rgba(255,255,255,.96)!important;}

/* ---------- Natural-width section copy ---------- */
body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header>div{flex:1 1 auto!important;min-width:0!important;max-width:none!important;}
body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;}
@media(min-width:1180px){body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{white-space:nowrap!important;}}

@media(max-width:700px){
  body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-student-page-head) h1,body.sdpi-portal-body .sdpi-wp h1{font-size:22px!important;}
  body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work)>header p{white-space:normal!important;}
}
@media(prefers-reduced-motion:reduce){
  body.sdpi-portal-body :is(.sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,.sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,.sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-service-card,.sdpi-home-update-card[href]){transition:none!important;}
  body.sdpi-portal-body :is(.sdpi-launch-link,.sdpi-wp-maintenance-card,.sdpi-cac-action,.sdpi-module-tile,.sdpi-ops-card-grid>a,.sdpi-operation-card[href],.sdpi-student-quick-grid>a,.sdpi-guided-steps>a,.sdpi-launch-steps>a,.sdpi-fee-action-grid>a,.sdpi-home-service-card,.sdpi-home-update-card[href]):is(:hover,:focus-visible){transform:none!important;}
}

/* v1.12.212 — portal-wide approved number-marker and boolean-control lock. */
body.sdpi-portal-body .sdpi-course-architecture .sdpi-step-target > span,
body.wp-admin .sdpi-course-architecture .sdpi-step-target > span,
body.sdpi-portal-body :is(.sdpi-step-number,.sdpi-number-marker,.sdpi-section-number,.sdpi-card-number),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-step-number,.sdpi-number-marker,.sdpi-section-number,.sdpi-card-number){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:22px!important;width:auto!important;height:22px!important;padding:0 6px!important;
  background:var(--sdpi-v1208-green)!important;color:#1F2937!important;border:1px solid rgba(31,41,55,.08)!important;
  border-radius:6px!important;font-size:13px!important;line-height:1!important;font-weight:800!important;box-shadow:none!important;
}
/* Compact enterprise checkbox/toggle rows. Never stretch a boolean input like a text field. */
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-inline-check),
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-inline-check){
  min-height:0!important;height:auto!important;padding:9px 10px!important;gap:9px!important;
  display:flex!important;align-items:flex-start!important;border-radius:7px!important;
  border:1px solid #D7E0E8!important;background:#fff!important;box-shadow:none!important;transform:none!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-inline-check) input[type="checkbox"],
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-inline-check) input[type="checkbox"],
body.sdpi-portal-body .sdpi-reminder-plan input[type="checkbox"],
body.wp-admin .sdpi-etm-admin .sdpi-reminder-plan input[type="checkbox"]{
  -webkit-appearance:checkbox!important;appearance:auto!important;display:inline-block!important;flex:0 0 18px!important;
  width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;
  margin:2px 0 0!important;padding:0!important;border-radius:3px!important;accent-color:#1D4982!important;box-shadow:none!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card) > span,
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card) > span{
  display:flex!important;min-width:0!important;flex:1 1 auto!important;flex-direction:column!important;gap:2px!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card) strong,
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card) strong{
  font-size:14.5px!important;line-height:1.35!important;font-weight:700!important;color:#1F2937!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card) small,
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card) small{
  font-size:14.5px!important;line-height:1.4!important;color:#1F2937!important;opacity:.82!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card):is(:hover,:focus-within),
body.wp-admin :is(.sdpi-etm-admin,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card):is(:hover,:focus-within){
  transform:none!important;box-shadow:none!important;border-color:#A8B7C5!important;background:#F8FAFC!important;
}
body.sdpi-portal-body .sdpi-reminder-plan,
body.wp-admin .sdpi-etm-admin .sdpi-reminder-plan{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;padding:8px 10px!important;}
body.sdpi-portal-body .sdpi-reminder-plan label,
body.wp-admin .sdpi-etm-admin .sdpi-reminder-plan label{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important;min-height:28px!important;font-size:14.5px!important;}
.sdpi-emergency-recall-button{background:#B42318!important;color:#fff!important;font-weight:800!important;border:0!important;border-radius:7px!important;padding:10px 15px!important;}


/* v1.12.220 — ordinary status chips remain soft-rectangular portal-wide. */
body.sdpi-portal-body :is(.sdpi-pill,.sdpi-state-pill,.sdpi-status-key span,.sdpi-item-status,.sdpi-student-profile-status,.sdpi-hindi-font-badge),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pill,.sdpi-state-pill,.sdpi-status-key span,.sdpi-item-status){border-radius:6px!important}

/* ===== design-system-v1258.css ===== */
/*
 * SDPI Digital Campus v1.12.258
 * Shared UI foundation loaded LAST.
 * Goal: one developer / one product visual language across branded Campus routes.
 */
:root{
  --sdpi-blue:#0B4F8A;
  --sdpi-blue-deep:#123F5F;
  --sdpi-green:#A4CE3A;
  --sdpi-text:#1F2937;
  --sdpi-muted:#64748B;
  --sdpi-border:#D7E0E8;
  --sdpi-soft:#F8FAFC;
  --sdpi-radius:6px;
  --sdpi-shadow:0 3px 12px rgba(15,56,91,.06);
  --sdpi-page-title:24px;
  --sdpi-section-title:18px;
  --sdpi-card-title:16px;
  --sdpi-body:14.5px;
  --sdpi-meta:13px;
}

/* Global branded Campus typography — do not allow legacy 9/10px rules to win. */
.sdpi-admin-shell,.sdpi-ops-shell,.sdpi-scm-public-wrap{color:var(--sdpi-text);font-size:var(--sdpi-body);line-height:1.45}
.sdpi-admin-shell .sdpi-admin-head h1,.sdpi-ops-shell .sdpi-ops-head h1{font-size:var(--sdpi-page-title)!important;line-height:1.2!important;color:var(--sdpi-blue)!important}
.sdpi-admin-shell .sdpi-admin-head p,.sdpi-ops-shell .sdpi-ops-head p{font-size:var(--sdpi-body)!important;color:var(--sdpi-text)!important}
.sdpi-admin-shell .sdpi-admin-head>div>span,.sdpi-ops-shell .sdpi-ops-head>div>span{font-size:var(--sdpi-meta)!important}
.sdpi-admin-module-host h2,.sdpi-ops-module-host h2{font-size:var(--sdpi-section-title);color:var(--sdpi-blue);line-height:1.3}
.sdpi-admin-module-host h3,.sdpi-ops-module-host h3{font-size:var(--sdpi-card-title);color:var(--sdpi-blue);line-height:1.35}
.sdpi-admin-module-host p,.sdpi-admin-module-host li,.sdpi-admin-module-host td,.sdpi-ops-module-host p,.sdpi-ops-module-host li,.sdpi-ops-module-host td{font-size:var(--sdpi-body)}
.sdpi-admin-module-host label,.sdpi-ops-module-host label{font-size:var(--sdpi-meta);color:#334155}
.sdpi-admin-module-host small,.sdpi-admin-module-host .description,.sdpi-admin-module-host .sdpi-help,.sdpi-ops-module-host small,.sdpi-ops-module-host .description,.sdpi-ops-module-host .sdpi-help{font-size:var(--sdpi-meta)!important;line-height:1.4;color:var(--sdpi-muted)}
.sdpi-admin-module-host input:not([type=checkbox]):not([type=radio]),.sdpi-admin-module-host select,.sdpi-admin-module-host textarea,.sdpi-ops-module-host input:not([type=checkbox]):not([type=radio]),.sdpi-ops-module-host select,.sdpi-ops-module-host textarea{font-size:var(--sdpi-body)!important;border-radius:var(--sdpi-radius)!important}
.sdpi-admin-module-host input:not([type=checkbox]):not([type=radio]),.sdpi-admin-module-host select,.sdpi-ops-module-host input:not([type=checkbox]):not([type=radio]),.sdpi-ops-module-host select{min-height:36px}
.sdpi-admin-module-host .button,.sdpi-ops-module-host .button,.sdpi-ui-btn{font-size:var(--sdpi-meta)!important;font-weight:700;line-height:1.2;border-radius:var(--sdpi-radius)!important}

/* Ordinary status/number indicators are soft rectangles, never circular pills. */
.sdpi-admin-module-host .sdpi-badge,.sdpi-admin-module-host .sdpi-status,.sdpi-admin-module-host .sdpi-chip,.sdpi-ops-module-host .sdpi-badge,.sdpi-ops-module-host .sdpi-status,.sdpi-ops-module-host .sdpi-chip{border-radius:5px!important}

/* Shared action buttons used by native branded modules. */
.sdpi-ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:7px 11px;border:1px solid #CBD5E1;background:#fff;color:var(--sdpi-blue);text-decoration:none;white-space:nowrap;box-sizing:border-box}
.sdpi-ui-btn:hover{border-color:#9FB5C8;box-shadow:var(--sdpi-shadow);color:#083E6D}
.sdpi-ui-btn-primary{background:var(--sdpi-blue);border-color:var(--sdpi-blue);color:#fff!important}
.sdpi-ui-btn.small{min-height:30px;padding:5px 8px;font-size:12.5px!important}
.sdpi-ui-chip{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border-radius:5px;font-size:12px;font-weight:800;line-height:1}
.sdpi-ui-chip.demo{background:#EAF2FB;color:#0B4F8A}.sdpi-ui-chip.live{background:#EEF7E4;color:#365314}.sdpi-ui-chip.active{background:#E8F6DF;color:#2F6212}.sdpi-ui-chip.inactive{background:#F1F5F9;color:#64748B}
.sdpi-ui-notice{margin:10px 14px;padding:9px 11px;border:1px solid var(--sdpi-border);border-left:4px solid var(--sdpi-blue);border-radius:5px;background:#fff;font-size:13px}.sdpi-ui-notice.success{border-left-color:#65A30D;background:#FBFFF3}.sdpi-ui-notice.error{border-left-color:#B91C1C;background:#FFF7F7}

/* USERS & ACCESS — old-portal density, current Campus branding. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-admin-module-host,
.sdpi-admin-route-sdpi-cac-user-add .sdpi-admin-module-host,
.sdpi-admin-route-sdpi-cac-users .sdpi-admin-module-host{padding-top:12px}
.sdpi-user-master{max-width:none!important;margin:0!important}
.sdpi-user-register{background:#fff;border:1px solid var(--sdpi-border);border-radius:7px;overflow:hidden;box-shadow:none}
.sdpi-user-register-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--sdpi-border)}
.sdpi-user-register-head h2{margin:0!important;font-size:18px!important;color:var(--sdpi-blue)!important}.sdpi-user-register-head p{margin:1px 0 0!important;font-size:13px!important;color:var(--sdpi-text)!important}
.sdpi-user-filterbar{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(145px,1fr) minmax(125px,.75fr) minmax(125px,.75fr) minmax(220px,1.4fr) auto;gap:8px;align-items:end;padding:10px 14px;background:var(--sdpi-soft);border-bottom:1px solid var(--sdpi-border)}
.sdpi-user-filterbar label>span{display:block;margin:0 0 3px;font-size:12.5px;font-weight:700;color:#475569}.sdpi-user-filterbar input,.sdpi-user-filterbar select{width:100%;min-height:34px!important;margin:0!important;padding-top:4px!important;padding-bottom:4px!important}.sdpi-user-filter-actions{display:flex;gap:6px}
.sdpi-user-tablebar{display:flex;justify-content:space-between;gap:10px;padding:7px 14px;background:#FBFFF2;border-bottom:1px solid #E7EFCF;color:var(--sdpi-text);font-size:12.5px}
.sdpi-user-table-wrap{overflow-x:auto}.sdpi-user-table{width:100%;border-collapse:collapse;table-layout:auto}.sdpi-user-table th{padding:8px 9px;text-align:left;background:#F3F6F8;border-bottom:1px solid #CFD8E3;border-right:1px solid #E2E8F0;color:#334155;font-size:12.5px;font-weight:800;white-space:nowrap}.sdpi-user-table th:last-child{border-right:0}.sdpi-user-table td{padding:7px 9px;border-bottom:1px solid #E5EAF0;vertical-align:middle;color:var(--sdpi-text);font-size:13px!important}.sdpi-user-table tbody tr:hover{background:#FBFDFF}.sdpi-user-table tbody tr:last-child td{border-bottom:0}
.sdpi-user-namecell{display:flex;align-items:center;gap:8px;min-width:150px}.sdpi-user-namecell img{width:34px;height:34px;object-fit:cover;border:1px solid #D7E0E8;border-radius:5px}.sdpi-user-namecell strong{display:block;color:var(--sdpi-blue);font-size:13.5px}.sdpi-user-namecell small{display:block;font-size:11.5px!important;color:#64748B;margin-top:1px}.sdpi-login-id{display:inline-block;padding:2px 5px;border-radius:4px;background:#F1F5F9;color:#0B4F8A;font-size:12.5px;font-weight:800;white-space:nowrap}.sdpi-user-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:150px}.sdpi-test-pw{font-size:11.5px!important;color:#64748B;white-space:nowrap}.sdpi-user-empty{text-align:center!important;padding:18px!important;color:#64748B!important}.sdpi-user-register-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-top:1px solid var(--sdpi-border);background:var(--sdpi-soft)}.sdpi-user-register-footer form{margin:0}.sdpi-user-register-footer label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700}.sdpi-user-register-footer select{min-width:70px;min-height:31px!important}

/* Add/Edit User: compact first screen, extras remain accordions. */
.sdpi-user-layout{max-width:none!important}.sdpi-user-card{border-radius:7px!important;box-shadow:none!important}.sdpi-user-card-head{padding:10px 14px!important}.sdpi-user-card-head h2{font-size:18px!important}.sdpi-user-card-head p{font-size:13.5px!important}.sdpi-user-body{padding:11px 14px!important}.sdpi-user-master .sdpi-form-grid{gap:8px 10px!important}.sdpi-user-accordion{margin-bottom:8px!important;border-radius:6px!important}.sdpi-user-accordion summary{padding:8px 10px!important;font-size:14px!important}.sdpi-user-accordion-body{padding:10px!important}.sdpi-user-submit{padding-top:8px!important;padding-bottom:8px!important}

@media(max-width:1180px){.sdpi-user-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.sdpi-user-filter-actions{align-self:end}}
@media(max-width:760px){
  .sdpi-user-filterbar{grid-template-columns:1fr 1fr}.sdpi-user-search{grid-column:1/-1}.sdpi-user-filter-actions{grid-column:1/-1}
  .sdpi-user-table thead{display:none}.sdpi-user-table,.sdpi-user-table tbody,.sdpi-user-table tr,.sdpi-user-table td{display:block;width:100%}.sdpi-user-table tr{padding:8px 10px;border-bottom:1px solid var(--sdpi-border)}.sdpi-user-table td{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;padding:5px 0;border:0}.sdpi-user-table td:before{content:attr(data-label);font-size:12px;font-weight:800;color:#64748B}.sdpi-user-table td[data-label="User"]{display:block}.sdpi-user-table td[data-label="User"]:before{display:none}.sdpi-user-row-actions{min-width:0}.sdpi-user-register-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){.sdpi-user-filterbar{grid-template-columns:1fr}.sdpi-user-search,.sdpi-user-filter-actions{grid-column:auto}.sdpi-user-register-head{align-items:flex-start;flex-direction:column}.sdpi-user-register-head .sdpi-ui-btn{width:100%}}

/* Native Users module must not depend on wp-admin's button/notice stylesheet. */
.sdpi-user-master .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px!important;padding:6px 10px!important;border:1px solid #CBD5E1!important;border-radius:6px!important;background:#fff!important;color:#0B4F8A!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important;line-height:1.2!important;box-shadow:none!important}
.sdpi-user-master .button:hover{border-color:#9FB5C8!important;box-shadow:var(--sdpi-shadow)!important}
.sdpi-user-master .button-primary{background:#0B4F8A!important;border-color:#0B4F8A!important;color:#fff!important}
.sdpi-user-master .notice{margin:8px 0!important;padding:8px 10px!important;border:1px solid #D7E0E8!important;border-left:4px solid #0B4F8A!important;border-radius:5px!important;background:#fff!important;color:#1F2937!important}.sdpi-user-master .notice-success{border-left-color:#65A30D!important;background:#FBFFF3!important}.sdpi-user-master .notice-warning{border-left-color:#D97706!important;background:#FFFBEB!important}.sdpi-user-master .notice-error{border-left-color:#B91C1C!important;background:#FFF7F7!important}.sdpi-user-master .notice p{margin:0!important;font-size:13px!important}

/* v1.12.254 — final compact pagination / action language. */
.sdpi-inline-reset-form{display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important}
.sdpi-inline-reset-form button{margin:0!important}
.sdpi-user-pagination{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.sdpi-user-pagination .sdpi-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 8px;border:1px solid #D1DBE3;border-radius:5px;background:#fff;color:#0B4F8A;text-decoration:none;font-size:12.5px;font-weight:750;line-height:1}
.sdpi-user-pagination .sdpi-page-link:hover{border-color:#9FB5C8;background:#F8FAFC}
.sdpi-user-pagination .sdpi-page-link.current{background:#A4CE3A;color:#1F2937;border-color:#92BC2E;font-weight:850}
.sdpi-user-pagination .sdpi-page-link.nav{min-width:auto;padding:0 10px}
.sdpi-user-pagination .sdpi-page-gap{padding:0 2px;color:#64748B;font-size:13px}

/* One pagination language across Campus modules: compact rectangular controls,
   SDPI green current page, dark readable text. */
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) :is(.page-numbers,.sdpi-page-button),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) :is(.page-numbers,.sdpi-page-button){
  border-radius:5px!important;font-size:12.5px!important;font-weight:750!important;
}
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) :is(.current,.is-current),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) :is(.current,.is-current){
  background:#A4CE3A!important;color:#1F2937!important;border-color:#92BC2E!important;border-radius:5px!important;
}

/* User workspace: blue headings, dark body, compact white cards, no oversized pills. */
.sdpi-user-master :is(.sdpi-badge,.sdpi-status,.sdpi-chip){border-radius:5px!important}
.sdpi-user-master :is(h2,h3){color:#0B4F8A!important}
.sdpi-user-master :is(p,td,label,small,.description){color:#1F2937}
@media(max-width:760px){.sdpi-user-pagination{justify-content:flex-start}}


/* v1.12.256 — approved readability and one-pagination lock. */
.sdpi-admin-main .sdpi-admin-module-host{color:#1F2937!important;font-size:14.5px!important;line-height:1.45!important}
.sdpi-admin-main .sdpi-admin-module-host :is(p,li,td,input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:14.5px!important;color:#1F2937!important}
.sdpi-admin-main .sdpi-admin-module-host :is(label,small,.description,.sdpi-help,.sdpi-meta,.sdpi-card-title>div>span){font-size:13px!important;color:#1F2937!important}
.sdpi-admin-main .sdpi-admin-module-host th{font-size:13px!important;color:#1F2937!important;font-weight:800!important}
.sdpi-admin-main .sdpi-admin-module-host h2{font-size:18px!important;color:#0B4F8A!important}
.sdpi-admin-main .sdpi-admin-module-host h3,.sdpi-admin-main .sdpi-admin-module-host .sdpi-card-title h2{font-size:16px!important;color:#0B4F8A!important}
.sdpi-user-table td{font-size:14.5px!important;color:#1F2937!important}
.sdpi-user-namecell strong{font-size:14.5px!important}
.sdpi-user-namecell small,.sdpi-test-pw{font-size:13px!important;color:#1F2937!important}
.sdpi-user-filterbar label>span,.sdpi-user-tablebar{font-size:13px!important;color:#1F2937!important}
.sdpi-user-register-head p{font-size:14.5px!important;color:#1F2937!important}
.sdpi-admin-main .sdpi-admin-module-host :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;color:#1F2937!important;font-size:13px!important}
.sdpi-admin-main .sdpi-admin-module-host :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) .tablenav-pages{display:flex!important;gap:5px!important;align-items:center!important;flex-wrap:wrap!important}
.sdpi-admin-main .sdpi-admin-module-host :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) .page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;height:34px!important;padding:0 9px!important;border:1px solid #D1DBE3!important;border-radius:5px!important;background:#fff!important;color:#0B4F8A!important;text-decoration:none!important;font-size:13px!important;font-weight:750!important;line-height:1!important}
.sdpi-admin-main .sdpi-admin-module-host :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination) .page-numbers.current{background:#A4CE3A!important;color:#1F2937!important;border-color:#92BC2E!important;font-weight:850!important}


/* v1.12.257 — Users & Access final readability lock. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register,
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register :is(td,p,input,select){color:#1F2937!important;font-size:14.5px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register :is(th,label,small,.sdpi-ui-chip,.sdpi-ui-btn){font-size:13px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register :is(th,label,small){color:#1F2937!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register .page-numbers{border-radius:5px!important;min-width:34px!important;height:34px!important;color:#0B4F8A!important;background:#fff!important;border:1px solid #D1DBE3!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register .page-numbers.current{background:#A4CE3A!important;color:#1F2937!important;border-color:#92BC2E!important}

/* v1.12.258 — Users & Access route isolation + final compact register lock. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:10px!important;padding:8px 12px!important;min-height:0!important;height:auto!important;
  background:#F8FAFC!important;border-top:1px solid #D7E0E8!important;
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer>form{
  display:inline-flex!important;align-items:center!important;width:auto!important;max-width:none!important;
  min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer>form>label{
  display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;
  margin:0!important;padding:0!important;font-size:14.5px!important;line-height:1.3!important;
  color:#1F2937!important;font-weight:700!important;background:transparent!important;border:0!important;
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer select{
  width:76px!important;min-width:76px!important;max-width:76px!important;height:34px!important;min-height:34px!important;
  margin:0!important;padding:4px 26px 4px 8px!important;font-size:14.5px!important;color:#1F2937!important;
  background-color:#fff!important;border:1px solid #D1DBE3!important;border-radius:5px!important;box-shadow:none!important;
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar label>span{font-size:14.5px!important;color:#1F2937!important;font-weight:700!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar :is(input,select){font-size:14.5px!important;color:#1F2937!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td{font-size:14.5px!important;color:#1F2937!important;line-height:1.35!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th{font-size:13px!important;color:#1F2937!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-namecell strong{font-size:16px!important;color:#0B4F8A!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-namecell small,
.sdpi-admin-route-sdpi-cac-user-list .sdpi-test-pw{font-size:13px!important;color:#1F2937!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-tablebar,
.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-pagination{font-size:13px!important;color:#1F2937!important}
.sdpi-ui-runtime-error{margin:12px 0;padding:16px 18px;background:#fff;border:1px solid #E2B8B8;border-left:4px solid #B42318;border-radius:6px;color:#1F2937;font-size:14.5px;line-height:1.45}
.sdpi-ui-runtime-error h2{margin:0 0 6px!important;font-size:18px!important;color:#0B4F8A!important}.sdpi-ui-runtime-error p{margin:4px 0!important;color:#1F2937!important;font-size:14.5px!important}
@media(max-width:760px){.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer{align-items:flex-start!important;flex-direction:column!important}}

/* ===== ui-naming-guide-v1271.css ===== */
/*
 * SDPI Digital Campus v1.12.271
 * AUTHORITATIVE UI NAMING GUIDE — loaded after every legacy/shared layer.
 * Final hierarchy: 24 -> 18 -> 16 -> 14.5 -> 13.
 * Light surfaces: #1F2937 body/helper text. Dark/blue surfaces: white/light.
 * Geometry remains compact; this file normalises typography, pagination,
 * number/status markers and large clickable-card interaction only.
 */
:root{
  --sdpi-ui-page-title:24px;
  --sdpi-ui-section-heading:18px;
  --sdpi-ui-card-title:16px;
  --sdpi-ui-body:14.5px;
  --sdpi-ui-meta:13px;
  --sdpi-ui-blue:#0B4F8A;
  --sdpi-ui-text:#1F2937;
  --sdpi-ui-green:#A4CE3A;
  --sdpi-ui-border:#D7E0E8;
  --sdpi-ui-radius:6px;
}

/* One readable base language across branded portal and native SDPI admin. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap,.sdpi-scm-wrap),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin){
  color:var(--sdpi-ui-text)!important;
  font-size:var(--sdpi-ui-body)!important;
  line-height:1.45!important;
}
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap,.sdpi-scm-wrap) :is(p,li,td),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(p,li,td){
  color:var(--sdpi-ui-text)!important;
  font-size:var(--sdpi-ui-body)!important;
}

body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) th,
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) th{
  font-size:var(--sdpi-ui-meta)!important;color:var(--sdpi-ui-text)!important;font-weight:800!important;
}

/* Page title / subtitle — includes the branded operational header that older
   portal-shell rules had compressed to 20px / 11px. */
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-scm-header,.sdpi-control-hero,.sdpi-user-hero) :is(h1,.sdpi-page-title),
body.wp-admin :is(.sdpi-control-hero,.sdpi-user-hero,.sdpi-scm-wrap,.sdpi-cac-wrap)>h1:not(.screen-reader-text){
  margin-top:0!important;
  font-size:var(--sdpi-ui-page-title)!important;
  line-height:1.2!important;
  color:var(--sdpi-ui-blue)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-scm-header,.sdpi-control-hero,.sdpi-user-hero) :is(p,.sdpi-page-subtitle),
body.wp-admin :is(.sdpi-control-hero,.sdpi-user-hero) p{
  font-size:var(--sdpi-ui-body)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-text)!important;
}

/* Eyebrow / brand kicker / compact technical metadata only. */
body.sdpi-portal-body :is(.sdpi-control-eyebrow,.sdpi-admin-head>div>span,.sdpi-ops-head>div>span,.sdpi-page-eyebrow,.sdpi-section-eyebrow,.sdpi-section-label,.sdpi-meta,.sdpi-metadata),
body.wp-admin :is(.sdpi-control-eyebrow,.sdpi-page-eyebrow,.sdpi-section-eyebrow,.sdpi-section-label,.sdpi-meta,.sdpi-metadata){
  font-size:var(--sdpi-ui-meta)!important;
  line-height:1.3!important;
}

/* Section headings and card/step titles. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(.sdpi-section-heading,h2),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(.sdpi-section-heading,h2){
  font-size:var(--sdpi-ui-section-heading)!important;
  line-height:1.3!important;
  color:var(--sdpi-ui-blue)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(.sdpi-card-title,.sdpi-step-title,h3),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(.sdpi-card-title,.sdpi-step-title,h3){
  font-size:var(--sdpi-ui-card-title)!important;
  line-height:1.35!important;
  color:var(--sdpi-ui-blue)!important;
}

/* Card/step title is 16px even where legacy markup uses H2 inside a card. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(.sdpi-card,.sdpi-step-card) > h2,
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(.sdpi-card,.sdpi-step-card) > h2,
body.sdpi-portal-body :is(.sdpi-card-title h2,.sdpi-step-card-title),
body.wp-admin :is(.sdpi-card-title h2,.sdpi-step-card-title){
  font-size:var(--sdpi-ui-card-title)!important;color:var(--sdpi-ui-blue)!important;line-height:1.35!important;
}
body.sdpi-portal-body :is(.sdpi-card,.sdpi-step-card) :is(p,.sdpi-card-description,.sdpi-step-description,.description),
body.wp-admin :is(.sdpi-card,.sdpi-step-card) :is(p,.sdpi-card-description,.sdpi-step-description,.description){
  font-size:var(--sdpi-ui-body)!important;color:var(--sdpi-ui-text)!important;line-height:1.45!important;
}

/* Field labels and actual helper/hint lines are NORMAL readable text, not metadata. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) label,
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) label{
  font-size:var(--sdpi-ui-body)!important;
  color:var(--sdpi-ui-text)!important;
}
body.sdpi-portal-body :is(.sdpi-form-grid,.sdpi-grid-2,.sdpi-grid-3,.sdpi-field,.sdpi-form-row) label>small,
body.wp-admin :is(.sdpi-form-grid,.sdpi-grid-2,.sdpi-grid-3,.sdpi-field,.sdpi-form-row) label>small,
body.sdpi-portal-body :is(.sdpi-field-helper,.sdpi-field-hint,.sdpi-helper-line,.sdpi-section-description,.sdpi-section-intro),
body.wp-admin :is(.sdpi-field-helper,.sdpi-field-hint,.sdpi-helper-line,.sdpi-section-description,.sdpi-section-intro){
  font-size:var(--sdpi-ui-body)!important;
  line-height:1.45!important;
  color:var(--sdpi-ui-text)!important;
}
/* Generic compact secondary info stays 13px. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(.sdpi-badge,.sdpi-chip,.sdpi-ui-chip,.sdpi-status,.sdpi-mini-badge,.sdpi-count,.sdpi-number-marker,.sdpi-step-number,.sdpi-onoff b,.sdpi-onoff em),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(.sdpi-badge,.sdpi-chip,.sdpi-ui-chip,.sdpi-status,.sdpi-mini-badge,.sdpi-count,.sdpi-number-marker,.sdpi-step-number,.sdpi-onoff b,.sdpi-onoff em){
  font-size:var(--sdpi-ui-meta)!important;
  border-radius:5px!important;
}

/* Inputs use body size; buttons use compact metadata size. */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  font-size:var(--sdpi-ui-body)!important;
  color:var(--sdpi-ui-text)!important;
  border-radius:var(--sdpi-ui-radius)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap) :is(.button,.sdpi-ui-btn,button),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(.button,.sdpi-ui-btn,button){
  font-size:var(--sdpi-ui-meta)!important;
  border-radius:var(--sdpi-ui-radius)!important;
}

/* Final numbering treatment: SDPI green, dark text, soft rectangle, never circle. */
body.sdpi-portal-body :is(.sdpi-number-marker,.sdpi-step-number,.sdpi-seq,.sdpi-index-box),
body.wp-admin :is(.sdpi-number-marker,.sdpi-step-number,.sdpi-seq,.sdpi-index-box){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:30px!important;min-height:26px!important;padding:3px 7px!important;
  border-radius:5px!important;background:var(--sdpi-ui-green)!important;color:var(--sdpi-ui-text)!important;
  font-size:var(--sdpi-ui-meta)!important;font-weight:800!important;line-height:1!important;
}

/* One pagination language everywhere, including modules that use only WP's
   tablenav-pages instead of a named SDPI pagination wrapper. */
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages){
  color:var(--sdpi-ui-text)!important;font-size:var(--sdpi-ui-meta)!important;
}
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages) :is(.page-numbers,.sdpi-page-button),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages) :is(.page-numbers,.sdpi-page-button){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:34px!important;height:34px!important;padding:0 9px!important;margin:2px!important;
  border:1px solid #D1DBE3!important;border-radius:5px!important;background:#fff!important;
  color:var(--sdpi-ui-blue)!important;text-decoration:none!important;font-size:var(--sdpi-ui-meta)!important;
  font-weight:750!important;line-height:1!important;box-shadow:none!important;
}
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages) :is(.page-numbers.current,.sdpi-page-button.current,.sdpi-page-button.is-current),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.tablenav-pages) :is(.page-numbers.current,.sdpi-page-button.current,.sdpi-page-button.is-current){
  background:var(--sdpi-ui-green)!important;color:var(--sdpi-ui-text)!important;border-color:#92BC2E!important;
}

/* Large clickable cards share one subtle professional hover — no movement on
   non-clickable form/summary cards. */
body.sdpi-portal-body :is(a.sdpi-card,.sdpi-card[data-href],.sdpi-action-card,.sdpi-hub-card,.sdpi-service-card),
body.wp-admin :is(a.sdpi-card,.sdpi-card[data-href],.sdpi-action-card,.sdpi-hub-card,.sdpi-service-card){
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
body.sdpi-portal-body :is(a.sdpi-card,.sdpi-card[data-href],.sdpi-action-card,.sdpi-hub-card,.sdpi-service-card):hover,
body.wp-admin :is(a.sdpi-card,.sdpi-card[data-href],.sdpi-action-card,.sdpi-hub-card,.sdpi-service-card):hover{
  transform:translateY(-1px);box-shadow:0 5px 16px rgba(15,56,91,.08)!important;border-color:#B9CAD7!important;
}

/* Dark/blue surfaces must never inherit dark helper text. */
body.sdpi-portal-body :is(.sdpi-dark-panel,.sdpi-blue-panel,.sdpi-login-brand-panel) :is(h1,h2,h3,h4,p,small,span,label,strong),
body.wp-admin :is(.sdpi-dark-panel,.sdpi-blue-panel) :is(h1,h2,h3,h4,p,small,span,label,strong){
  color:#F8FAFC!important;
}

@media(max-width:782px){
  body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination){align-items:flex-start!important}
}

/* =========================================================
   v1.12.275 — residual legacy marker lock
   The final UI rule applies to actual status/step/number markers, while
   profile photos, radio controls and purely decorative artwork may remain
   circular where that shape is semantically appropriate.
   ========================================================= */
body.sdpi-portal-body :is(
  .sdpi-role-confirmation>span,
  .sdpi-mcq-question legend>span,
  .sdpi-live-lifecycle-grid article>span,
  .sdpi-demo-live-uat-grid>a>span,
  .sdpi-demo-preflight-grid>a>span,
  .sdpi-course-architecture .sdpi-step-target span,
  .sdpi-wcm-flow b,
  .sdpi-workshop-form-sections legend b,
  .sdpi-demo-login-hint>span
),
body.wp-admin :is(
  .sdpi-role-confirmation>span,
  .sdpi-mcq-question legend>span,
  .sdpi-live-lifecycle-grid article>span,
  .sdpi-demo-live-uat-grid>a>span,
  .sdpi-demo-preflight-grid>a>span,
  .sdpi-course-architecture .sdpi-step-target span,
  .sdpi-wcm-flow b,
  .sdpi-workshop-form-sections legend b,
  .sdpi-demo-login-hint>span
){
  border-radius:5px!important;
}
body.sdpi-portal-body :is(
  .sdpi-mcq-question legend>span,
  .sdpi-live-lifecycle-grid article>span,
  .sdpi-demo-live-uat-grid>a>span,
  .sdpi-demo-preflight-grid>a>span,
  .sdpi-course-architecture .sdpi-step-target span,
  .sdpi-wcm-flow b,
  .sdpi-workshop-form-sections legend b
),
body.wp-admin :is(
  .sdpi-mcq-question legend>span,
  .sdpi-live-lifecycle-grid article>span,
  .sdpi-demo-live-uat-grid>a>span,
  .sdpi-demo-preflight-grid>a>span,
  .sdpi-course-architecture .sdpi-step-target span,
  .sdpi-wcm-flow b,
  .sdpi-workshop-form-sections legend b
){
  background:var(--sdpi-ui-green)!important;
  color:var(--sdpi-ui-text)!important;
  font-size:var(--sdpi-ui-meta)!important;
  font-weight:800!important;
}
:is(.sdpi-build-dot,.sdpi-live-dot,.sdpi-status-dot,.sdpi-demo-isolation-badge i){
  width:10px!important;height:6px!important;min-width:10px!important;
  border-radius:2px!important;box-shadow:none!important;
}

/* ===== go-live-controls-v1277.css ===== */
/* SDPI Digital Campus v1.12.277 — Go-Live / Demo / Employee Profile UI lock */
:root{
  --sdpi-live-green:#14804a;
  --sdpi-live-green-soft:#eef9f2;
  --sdpi-army:#31553a;
  --sdpi-gold:#b88a2b;
  --sdpi-cream:#fbfaf4;
  --sdpi-ink:#1F2937;
  --sdpi-blue:#0B4F8A;
  --sdpi-line:#d7e0e8;
}
.sdpi-demo-institute-page .sdpi-demo-page-head{border-radius:8px!important;padding:14px 16px!important;margin:8px 0 12px!important;box-shadow:none!important}
.sdpi-demo-institute-page .sdpi-demo-page-head h1{font-size:24px!important;color:var(--sdpi-blue)!important;margin:2px 0 4px!important}
.sdpi-demo-institute-page .sdpi-demo-page-head p{font-size:14.5px!important;color:var(--sdpi-ink)!important;line-height:1.45!important}
.sdpi-demo-isolation-badge{border-radius:5px!important;font-size:13px!important;padding:6px 9px!important;color:var(--sdpi-ink)!important;background:#fff!important;border:1px solid var(--sdpi-line)!important}
.sdpi-demo-isolation-badge i{width:10px!important;height:4px!important;border-radius:2px!important;box-shadow:none!important;background:var(--sdpi-live-green)!important}
.sdpi-demo-isolation-badge.is-on{border-color:#b8d7c3!important;background:var(--sdpi-live-green-soft)!important}
.sdpi-demo-isolation-badge.is-off{border-color:#d6c18f!important;background:var(--sdpi-cream)!important}
.sdpi-demo-isolation-badge.is-off i{background:var(--sdpi-gold)!important}
.sdpi-demo-visibility-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,360px);gap:16px;align-items:center;background:#fff;border:1px solid var(--sdpi-line);border-left:4px solid var(--sdpi-live-green);border-radius:8px;padding:14px 16px;margin:0 0 12px;box-shadow:none}
.sdpi-demo-visibility-control.is-on{border-left-color:var(--sdpi-gold);background:linear-gradient(90deg,#fff 0%,#fff 72%,#fffaf0 100%)}
.sdpi-demo-control-kicker{display:block;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--sdpi-live-green);margin-bottom:2px}
.sdpi-demo-visibility-control.is-on .sdpi-demo-control-kicker{color:#87651d}
.sdpi-demo-control-copy h2{font-size:18px;line-height:1.25;color:var(--sdpi-blue);margin:0 0 4px}
.sdpi-demo-control-copy p{font-size:14.5px;color:var(--sdpi-ink);line-height:1.45;margin:0}
.sdpi-demo-control-copy small{display:block;margin-top:6px;font-size:13px;color:#5c6978}
.sdpi-demo-control-action{display:grid;gap:9px;padding:11px;border:1px solid var(--sdpi-line);border-radius:7px;background:#f8fafc}
.sdpi-demo-switch-row{display:flex!important;align-items:center;gap:9px;font-size:14.5px;color:var(--sdpi-ink);margin:0!important}
.sdpi-demo-switch-row input{width:18px;height:18px;margin:0;flex:0 0 auto}
.sdpi-demo-switch-row span{display:grid;gap:1px}.sdpi-demo-switch-row strong{font-size:14.5px}.sdpi-demo-switch-row small{font-size:13px;color:#5c6978;font-weight:500}
.sdpi-demo-control-action .button{min-height:38px;border-radius:5px;font-weight:700}
.sdpi-demo-off-help{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:var(--sdpi-live-green-soft);border:1px solid #c9e4d3;border-radius:6px;color:var(--sdpi-ink);font-size:14.5px}
.sdpi-demo-inline-card{margin:10px 0 12px!important;border-radius:7px!important;box-shadow:none!important}
.sdpi-demo-inline-card.is-off{border-left:4px solid var(--sdpi-live-green)!important}.sdpi-demo-inline-card.is-on{border-left:4px solid var(--sdpi-gold)!important}
.sdpi-demo-inline-body{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px 12px;font-size:14.5px;color:var(--sdpi-ink)}
.sdpi-demo-inline-body code{font-size:14px;padding:3px 6px;border-radius:4px}
.sdpi-user-section-note{margin:0 0 10px;padding:8px 10px;border:1px solid #dbe7c1;background:#fbfff3;border-radius:5px;color:var(--sdpi-ink);font-size:14px;line-height:1.4}
.sdpi-personal-wishes-grid [data-sdpi-married-field]{transition:opacity .15s ease}
.sdpi-personal-wishes-grid [data-sdpi-married-field].is-hidden{display:none!important}
.sdpi-personal-wishes-grid select[data-sdpi-marital-status]{font-weight:650}
.sdpi-ui-chip.live{border-radius:5px!important;background:var(--sdpi-live-green-soft)!important;color:#0f693d!important;border:1px solid #c9e4d3!important}
.sdpi-library-module .sdpi-library-master-refresh>summary{border-radius:0!important}
.sdpi-library-module .sdpi-library-master-refresh>summary strong{font-size:16px!important;color:var(--sdpi-blue)!important}
.sdpi-library-module .sdpi-library-master-refresh>summary small{font-size:13px!important;color:var(--sdpi-ink)!important}
@media(max-width:900px){.sdpi-demo-visibility-control{grid-template-columns:1fr}.sdpi-demo-control-action{max-width:none}}
@media(max-width:640px){.sdpi-demo-visibility-control{padding:12px}.sdpi-demo-inline-body{align-items:stretch;flex-direction:column}.sdpi-demo-inline-body .button,.sdpi-demo-control-action .button{width:100%;text-align:center}}
.sdpi-stat-grid.sdpi-stat-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){.sdpi-stat-grid.sdpi-stat-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.sdpi-stat-grid.sdpi-stat-grid-three{grid-template-columns:1fr!important}}
/* v1.12.278 — compact DEMO → LIVE employee identity controls */
.sdpi-demo-live-identities{margin:12px 0;background:#fff;border:1px solid #d7e0e8;border-radius:8px;padding:12px 14px}
.sdpi-demo-live-user-list{display:grid;gap:9px}
.sdpi-demo-live-user{border:1px solid #d7e0e8;border-radius:6px;padding:10px 11px;background:#fff}
.sdpi-demo-live-user.is-archived{background:#f8fafc}
.sdpi-demo-live-user-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sdpi-demo-live-user-head strong{display:block;font-size:16px;color:#0B4F8A}.sdpi-demo-live-user-head small{display:block;margin-top:2px;font-size:13px;color:#475569}
.sdpi-demo-live-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;margin-top:9px;padding-top:9px;border-top:1px solid #e5e7eb}
.sdpi-demo-live-form label{font-size:14.5px;font-weight:700;color:#1F2937}.sdpi-demo-live-form input[type=text],.sdpi-demo-live-form input[type=email]{width:100%;min-height:36px;margin-top:4px;border-radius:5px}.sdpi-demo-live-form small{display:block;font-size:13px;font-weight:400;color:#475569;margin-top:2px}
.sdpi-demo-live-centres{grid-column:1/-1;border:1px solid #e2e8f0;border-radius:5px;padding:8px 9px;background:#fbfdff}.sdpi-demo-live-centres>strong{font-size:14.5px;color:#0B4F8A}.sdpi-demo-live-centre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 9px;margin-top:6px}.sdpi-demo-live-centre-grid label{display:flex;gap:6px;align-items:flex-start;font-weight:500}
.sdpi-demo-live-form .button{grid-column:1/-1;justify-self:start;min-height:36px}.sdpi-demo-live-linked{margin-top:8px;padding:7px 9px;border-radius:5px;background:#f1f5f9;color:#1F2937;font-size:14px}
@media(max-width:850px){.sdpi-demo-live-form{grid-template-columns:1fr}.sdpi-demo-live-centre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.sdpi-demo-live-centre-grid{grid-template-columns:1fr}.sdpi-demo-live-user-head{flex-direction:column}}

/* ===== sidebar-army-green-v1285.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.285 — Shared Army Green Sidebar
   Exact SDPI Team Wishes palette for every branded left navigation.
   Loaded last so older compact/sidebar rules cannot shrink or recolour it.
   ========================================================= */
:root{
  --sdpi-side-green:#233B2D;
  --sdpi-side-green-deep:#192C21;
  --sdpi-side-green-mid:#304F3C;
  --sdpi-side-gold:#C7A24B;
  --sdpi-side-cream:#F6EFDF;
  --sdpi-side-gold-soft:#F6E9B9;
  --sdpi-side-width:284px;
}

/* ---------- Main Admin / management portal ---------- */
html body.sdpi-portal-body .sdpi-admin-shell{
  grid-template-columns:var(--sdpi-side-width) minmax(0,1fr)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar{
  background:linear-gradient(180deg,var(--sdpi-side-green) 0%,var(--sdpi-side-green-deep) 100%)!important;
  border-right:1px solid rgba(199,162,75,.24)!important;
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-brand{
  min-height:72px!important;
  padding:13px 14px!important;
  background:var(--sdpi-side-green-deep)!important;
  border-bottom:1px solid rgba(199,162,75,.30)!important;
}
html body.sdpi-portal-body .sdpi-admin-brand>span{
  width:42px!important;height:42px!important;border-radius:9px!important;
  background:var(--sdpi-side-gold)!important;
  color:var(--sdpi-side-green-deep)!important;
  font-size:13px!important;font-weight:900!important;
}
html body.sdpi-portal-body .sdpi-admin-brand strong{
  color:#fff!important;font-size:15px!important;line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-admin-brand small{
  color:var(--sdpi-side-cream)!important;font-size:13px!important;line-height:1.35!important;opacity:.92!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav{
  padding:9px 8px 11px!important;gap:3px!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav a,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary{
  min-height:42px!important;
  padding:6px 9px!important;
  gap:9px!important;
  border-radius:7px!important;
  border-left:4px solid transparent!important;
  background:transparent!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:760!important;
  line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav a b,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link b,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary b{
  width:29px!important;height:29px!important;border-radius:6px!important;
  background:rgba(246,239,223,.12)!important;
  border:1px solid rgba(246,239,223,.12)!important;
  color:var(--sdpi-side-cream)!important;
  font-size:9px!important;font-weight:900!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav a:hover,
html body.sdpi-portal-body .sdpi-admin-sidebar nav a:focus-visible,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link:hover,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link:focus-visible,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary:hover,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary:focus-visible{
  background:var(--sdpi-side-green-mid)!important;
  color:#fff!important;
  outline:none!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav a.is-active,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current>.sdpi-admin-nav-group-link,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current>summary{
  background:var(--sdpi-side-green-mid)!important;
  color:#fff!important;
  border-left-color:var(--sdpi-side-gold)!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav a.is-active b,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current b{
  background:var(--sdpi-side-gold)!important;
  border-color:var(--sdpi-side-gold)!important;
  color:var(--sdpi-side-green-deep)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary i:before,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary i:after{
  background:var(--sdpi-side-gold-soft)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children{
  padding:3px 5px 6px 40px!important;gap:2px!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:link,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:visited{
  display:block!important;
  min-height:32px!important;
  padding:6px 8px!important;
  border-left:3px solid transparent!important;
  border-radius:5px!important;
  color:var(--sdpi-side-cream)!important;
  font-size:14.5px!important;
  font-weight:650!important;
  line-height:1.3!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:hover,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:focus-visible{
  background:rgba(246,239,223,.10)!important;color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active{
  background:rgba(199,162,75,.18)!important;
  color:#fff!important;
  border-left-color:var(--sdpi-side-gold)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children .sdpi-admin-nav-overview{
  color:var(--sdpi-side-gold-soft)!important;
}
html body.sdpi-portal-body .sdpi-admin-logout{
  min-height:40px!important;margin:8px!important;border-radius:7px!important;
  border:1px solid rgba(199,162,75,.55)!important;
  background:rgba(25,44,33,.38)!important;
  color:var(--sdpi-side-cream)!important;
  font-size:14.5px!important;font-weight:750!important;
}
html body.sdpi-portal-body .sdpi-admin-logout:hover{background:var(--sdpi-side-green-mid)!important;color:#fff!important}


/* ---------- Sidebar scrolling: keep accordions, hide the distracting idle scroll track ----------
   Navigation remains vertically scrollable when expanded groups exceed the viewport.
   The track is hidden at rest and becomes a slim gold/green scrollbar only while the
   pointer is over the navigation area. This does not change <details> accordion behavior. */
html body.sdpi-portal-body .sdpi-admin-sidebar nav,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav::-webkit-scrollbar,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav::-webkit-scrollbar{
  width:0;height:0;
}
@media (hover:hover) and (pointer:fine){
  html body.sdpi-portal-body .sdpi-admin-sidebar nav:hover,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav:hover{
    scrollbar-width:thin;
    scrollbar-color:rgba(199,162,75,.78) rgba(25,44,33,.20);
  }
  html body.sdpi-portal-body .sdpi-admin-sidebar nav:hover::-webkit-scrollbar,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav:hover::-webkit-scrollbar{
    width:6px;height:6px;
  }
  html body.sdpi-portal-body .sdpi-admin-sidebar nav:hover::-webkit-scrollbar-track,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav:hover::-webkit-scrollbar-track{
    background:rgba(25,44,33,.20);
  }
  html body.sdpi-portal-body .sdpi-admin-sidebar nav:hover::-webkit-scrollbar-thumb,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav:hover::-webkit-scrollbar-thumb{
    background:rgba(199,162,75,.78);
    border-radius:6px;
  }
}
/* Touch devices keep native finger scrolling but no permanent scrollbar chrome. */
html body.sdpi-portal-body .sdpi-admin-sidebar nav,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav{
  -webkit-overflow-scrolling:touch;
}

/* ---------- Centre Manager / Faculty / Staff operational portal ---------- */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-shell{
  grid-template-columns:var(--sdpi-side-width) minmax(0,1fr)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar{
  background:linear-gradient(180deg,var(--sdpi-side-green) 0%,var(--sdpi-side-green-deep) 100%)!important;
  border-right:1px solid rgba(199,162,75,.24)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand{
  background:var(--sdpi-side-green-deep)!important;
  border-bottom-color:rgba(199,162,75,.30)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand-mark{
  background:var(--sdpi-side-gold)!important;color:var(--sdpi-side-green-deep)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-person strong{
  color:#fff!important;font-size:15px!important;line-height:1.25!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-person small,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand>em{
  color:var(--sdpi-side-cream)!important;font-size:13px!important;line-height:1.35!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a:link,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a:visited{
  min-height:41px!important;padding:6px 9px!important;gap:9px!important;
  border-left:4px solid transparent!important;border-radius:7px!important;
  background:transparent!important;color:#fff!important;
  font-size:15px!important;font-weight:750!important;line-height:1.25!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a b{
  width:28px!important;height:28px!important;border-radius:6px!important;
  background:rgba(246,239,223,.12)!important;color:var(--sdpi-side-cream)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a:hover,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a:focus-visible{
  background:var(--sdpi-side-green-mid)!important;color:#fff!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a.is-active{
  background:var(--sdpi-side-green-mid)!important;color:#fff!important;
  border-left-color:var(--sdpi-side-gold)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a.is-active b{
  background:var(--sdpi-side-gold)!important;color:var(--sdpi-side-green-deep)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary{
  min-height:40px!important;padding:6px 9px!important;border-radius:7px!important;
  background:transparent!important;color:#fff!important;font-size:15px!important;font-weight:780!important;line-height:1.25!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary:hover,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group.is-current>summary{
  background:var(--sdpi-side-green-mid)!important;
  box-shadow:inset 4px 0 0 var(--sdpi-side-gold)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary i:before,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary i:after{
  background:var(--sdpi-side-gold-soft)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div{
  padding:4px 0 6px 12px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a{
  min-height:34px!important;padding:6px 8px!important;font-size:14.5px!important;font-weight:650!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-logout{
  min-height:40px!important;margin:8px!important;border:1px solid rgba(199,162,75,.55)!important;
  background:rgba(25,44,33,.38)!important;color:var(--sdpi-side-cream)!important;font-size:14.5px!important;
}

/* ---------- Student portal left navigation ---------- */
html body.sdpi-portal-body .sdpi-student-classic-shell{
  grid-template-columns:var(--sdpi-side-width) minmax(0,1fr)!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav{
  background:linear-gradient(180deg,var(--sdpi-side-green) 0%,var(--sdpi-side-green-deep) 100%)!important;
  border-color:rgba(199,162,75,.35)!important;
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-student-side-profile{
  border-bottom-color:rgba(199,162,75,.28)!important;
}
html body.sdpi-portal-body .sdpi-student-side-profile strong{
  color:#fff!important;font-size:15px!important;line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-student-side-profile small{
  color:var(--sdpi-side-cream)!important;font-size:13px!important;line-height:1.35!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav>nav a,
html body.sdpi-portal-body .sdpi-student-side-logout{
  min-height:41px!important;padding:6px 9px!important;gap:9px!important;
  border-left:4px solid transparent!important;border-radius:7px!important;
  background:transparent!important;color:#fff!important;
  font-size:15px!important;font-weight:720!important;line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav>nav a i,
html body.sdpi-portal-body .sdpi-student-side-logout i{
  width:28px!important;height:28px!important;border-radius:6px!important;
  background:rgba(246,239,223,.12)!important;color:var(--sdpi-side-cream)!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav>nav a:hover,
html body.sdpi-portal-body .sdpi-student-side-nav>nav a:focus-visible{
  background:var(--sdpi-side-green-mid)!important;color:#fff!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav>nav a.is-active{
  background:var(--sdpi-side-green-mid)!important;color:#fff!important;
  border-left-color:var(--sdpi-side-gold)!important;padding-left:9px!important;
}
html body.sdpi-portal-body .sdpi-student-side-nav>nav a.is-active i{
  background:var(--sdpi-side-gold)!important;color:var(--sdpi-side-green-deep)!important;
}
html body.sdpi-portal-body .sdpi-student-side-logout{
  border:1px solid rgba(199,162,75,.55)!important;color:var(--sdpi-side-cream)!important;
}

/* Slightly narrower only when the viewport starts getting tight. */
@media(max-width:1180px) and (min-width:783px){
  :root{--sdpi-side-width:252px}
  html body.sdpi-portal-body .sdpi-admin-sidebar nav a,
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link,
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary,
  html body.sdpi-portal-body .sdpi-student-side-nav>nav a,
  html body.sdpi-portal-body .sdpi-student-side-logout{font-size:14.5px!important}
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a{font-size:14px!important}
}

/* Existing mobile behavior remains compact/collapsed; never force a fixed sidebar width. */
@media(max-width:782px){
  :root{--sdpi-side-width:100%}
  html body.sdpi-portal-body .sdpi-admin-shell,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-shell,
  html body.sdpi-portal-body .sdpi-student-classic-shell{grid-template-columns:1fr!important}
  html body.sdpi-portal-body .sdpi-admin-sidebar nav a,
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group-link,
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group>summary,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>summary,
  html body.sdpi-portal-body .sdpi-student-side-nav>nav a,
  html body.sdpi-portal-body .sdpi-student-side-logout{font-size:14.5px!important}
  html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a,
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a{font-size:14px!important}
}

/* ===== portal-army-green-v1286.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.286 — Portal-wide Army Green Design System
   Approved from SDPI Team Wishes. Loaded after all legacy/shared layers.
   Goal: one compact enterprise visual language across every branded module.
   ========================================================= */
:root{
  --sdpi-brand-army:#233B2D;
  --sdpi-brand-army-deep:#192C21;
  --sdpi-brand-army-mid:#304F3C;
  --sdpi-brand-gold:#C7A24B;
  --sdpi-brand-cream:#F6EFDF;
  --sdpi-brand-gold-soft:#F6E9B9;
  --sdpi-brand-surface:#FFFFFF;
  --sdpi-brand-canvas:#F6F8F5;
  --sdpi-brand-soft:#FBFAF6;
  --sdpi-brand-line:#DFD8C7;
  --sdpi-brand-line-strong:#CFC3A7;
  --sdpi-brand-ink:#1F2937;
  --sdpi-brand-muted:#5F6B72;
  --sdpi-brand-radius:9px;
  --sdpi-brand-control-radius:6px;
  --sdpi-brand-shadow:0 1px 3px rgba(25,44,33,.06);
  --sdpi-brand-shadow-hover:0 9px 24px rgba(25,44,33,.11);

  /* Authoritative naming-guide aliases. Existing modules using these variables
     inherit the approved palette without requiring page-by-page CSS rewrites. */
  --sdpi-ui-blue:var(--sdpi-brand-army);
  --sdpi-ui-green:var(--sdpi-brand-gold);
  --sdpi-ui-text:var(--sdpi-brand-ink);
  --sdpi-ui-border:var(--sdpi-brand-line);
  --sdpi-ui-radius:var(--sdpi-brand-control-radius);
}

/* ---------- Portal canvas and branded page header ---------- */
body.sdpi-portal-body{
  background:var(--sdpi-brand-canvas)!important;
  color:var(--sdpi-brand-ink)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main){
  background:var(--sdpi-brand-canvas)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head,.sdpi-scm-header){
  background:#fff!important;
  border:1px solid var(--sdpi-brand-line)!important;
  border-left:4px solid var(--sdpi-brand-gold)!important;
  border-radius:var(--sdpi-brand-radius)!important;
  box-shadow:var(--sdpi-brand-shadow)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head,.sdpi-scm-header) :is(h1,.sdpi-page-title){
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head,.sdpi-scm-header) :is(p,.sdpi-page-subtitle){
  color:var(--sdpi-brand-muted)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-head>div>span,.sdpi-ops-head>div>span,.sdpi-page-eyebrow,.sdpi-section-eyebrow,.sdpi-section-label,.sdpi-control-eyebrow,.sdpi-eyebrow){
  color:#7A621F!important;
}

/* ---------- Hero / welcome panels: Team Wishes language ---------- */
body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero){
  background:linear-gradient(135deg,var(--sdpi-brand-army) 0%,var(--sdpi-brand-army-deep) 100%)!important;
  border:1px solid #314C3A!important;
  border-bottom:4px solid var(--sdpi-brand-gold)!important;
  border-radius:12px!important;
  box-shadow:0 8px 24px rgba(25,44,33,.12)!important;
  color:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero) :is(h1,h2,h3,strong){
  color:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero) :is(p,small,.description,.sdpi-help-text){
  color:rgba(255,255,255,.94)!important;
}
body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero) :is(.sdpi-control-eyebrow,.sdpi-eyebrow,.sdpi-page-eyebrow){
  color:var(--sdpi-brand-gold-soft)!important;
}
body.sdpi-portal-body .sdpi-control-hero::after{
  background:rgba(199,162,75,.12)!important;
}

/* Dashboard's split welcome hero and similar blue copy blocks. */
body.sdpi-portal-body :is(.sdpi-campus-hero-copy,.sdpi-operations-hero>div:first-child,.sdpi-fee-hero>div:first-child){
  background:linear-gradient(135deg,var(--sdpi-brand-army) 0%,var(--sdpi-brand-army-deep) 100%)!important;
  color:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-campus-hero-copy,.sdpi-operations-hero>div:first-child,.sdpi-fee-hero>div:first-child) :is(h1,h2,h3,strong){color:#fff!important}
body.sdpi-portal-body :is(.sdpi-campus-hero-copy,.sdpi-operations-hero>div:first-child,.sdpi-fee-hero>div:first-child) :is(p,small,span){color:rgba(255,255,255,.94)!important}

/* ---------- One normal card language across modules ---------- */
body.sdpi-portal-body :is(
  .sdpi-card,.sdpi-summary-card,.sdpi-panel,.sdpi-form-panel,.sdpi-workspace-panel,
  .sdpi-wp-card,.sdpi-wp-section,.sdpi-public-panel,.sdpi-student-panel-card,
  .sdpi-library-compact-panel,.sdpi-library-list-head,.sdpi-step-panel,.sdpi-assignment-box,
  .sdpi-modal-card,.sdpi-user-accordion,.sdpi-centre-section,.sdpi-crm-register,
  .sdpi-operation-card,.sdpi-module-tile,.sdpi-start-testing,.sdpi-empty-state,
  .sdpi-report-toolbar,.sdpi-toolbar,.sdpi-enterprise-filterbar,.sdpi-crm-filter-panel
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-card,.sdpi-summary-card,.sdpi-panel,.sdpi-form-panel,.sdpi-workspace-panel,
  .sdpi-wp-card,.sdpi-wp-section,.sdpi-public-panel,.sdpi-library-compact-panel,
  .sdpi-step-panel,.sdpi-assignment-box,.sdpi-modal-card,.sdpi-user-accordion,
  .sdpi-centre-section,.sdpi-crm-register,.sdpi-module-tile,.sdpi-empty-state,
  .sdpi-report-toolbar,.sdpi-toolbar,.sdpi-enterprise-filterbar,.sdpi-crm-filter-panel
){
  background:var(--sdpi-brand-surface)!important;
  border-color:var(--sdpi-brand-line)!important;
  border-radius:var(--sdpi-brand-radius)!important;
  box-shadow:var(--sdpi-brand-shadow)!important;
}

/* Cards intended to be clickable get the subtle approved Team-Wishes-like lift. */
body.sdpi-portal-body :is(
  a.sdpi-operation-card,.sdpi-module-tile[href],.sdpi-ops-card-grid>a,
  .sdpi-student-quick-grid>a,.sdpi-launch-link,.sdpi-home-service-card,
  .sdpi-home-update-card[href],.sdpi-guided-steps>a,.sdpi-launch-steps>a
){
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease!important;
}
body.sdpi-portal-body :is(
  a.sdpi-operation-card,.sdpi-module-tile[href],.sdpi-ops-card-grid>a,
  .sdpi-student-quick-grid>a,.sdpi-launch-link,.sdpi-home-service-card,
  .sdpi-home-update-card[href],.sdpi-guided-steps>a,.sdpi-launch-steps>a
):is(:hover,:focus-visible){
  border-color:var(--sdpi-brand-gold)!important;
  background:#FFFDF8!important;
  box-shadow:var(--sdpi-brand-shadow-hover)!important;
  transform:translateY(-2px)!important;
  outline:none!important;
}

/* ---------- Typography: keep the already-approved 24 / 18 / 16 / 14.5 / 13 ladder ---------- */
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap,.sdpi-scm-wrap) :is(h2,.sdpi-section-heading,.sdpi-control-section-heading),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(h2,.sdpi-section-heading,.sdpi-control-section-heading){
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-public-wrap,.sdpi-cac-wrap,.sdpi-scm-wrap) :is(h3,.sdpi-card-title,.sdpi-step-title,.sdpi-panel-heading h3),
body.wp-admin :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) :is(h3,.sdpi-card-title,.sdpi-step-title,.sdpi-panel-heading h3){
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body :is(.sdpi-panel-heading>span,.sdpi-section-heading>span,.sdpi-student-panel-head span,.sdpi-student-journey-head span),
body.wp-admin :is(.sdpi-panel-heading>span,.sdpi-section-heading>span){
  color:#7A621F!important;
}
body.sdpi-portal-body :is(p,li,td,label,.description,.sdpi-help,.sdpi-help-text,.sdpi-field-helper,.sdpi-field-hint){
  color:var(--sdpi-brand-ink)!important;
}
body.sdpi-portal-body :is(small,.sdpi-meta,.sdpi-metadata,.sdpi-wp-muted){
  color:var(--sdpi-brand-muted)!important;
}

/* ---------- KPI / compact summary boxes ---------- */
body.sdpi-portal-body :is(.sdpi-stat,.sdpi-kpi,.sdpi-summary-card,.sdpi-student-summary,.sdpi-student-stat-row>div,.sdpi-student-fee-strip>div),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-stat,.sdpi-kpi,.sdpi-summary-card){
  background:#fff!important;
  border:1px solid var(--sdpi-brand-line)!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(25,44,33,.04)!important;
}
body.sdpi-portal-body :is(.sdpi-stat,.sdpi-kpi,.sdpi-summary-card,.sdpi-student-summary) :is(strong,b),
body.wp-admin :is(.sdpi-stat,.sdpi-kpi,.sdpi-summary-card) :is(strong,b){
  color:var(--sdpi-brand-army)!important;
}

/* ---------- Forms / filters ---------- */
body.sdpi-portal-body :is(.sdpi-form-grid,.sdpi-grid-2,.sdpi-grid-3,.sdpi-form-row,.sdpi-field) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  border-color:#CFCFC7!important;
  background:#fff!important;
  color:var(--sdpi-brand-ink)!important;
  box-shadow:none!important;
}
body.sdpi-portal-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{
  border-color:var(--sdpi-brand-gold)!important;
  box-shadow:0 0 0 2px rgba(199,162,75,.16)!important;
  outline:none!important;
}
body.sdpi-portal-body :is(.sdpi-enterprise-filterbar,.sdpi-crm-filter-panel,.sdpi-compact-filterbar,.sdpi-filterbar,.sdpi-user-filterbar){
  background:var(--sdpi-brand-soft)!important;
  border-color:var(--sdpi-brand-line)!important;
}

/* Boolean/config cards: title on top, description beneath, no giant blue blocks. */
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-switch-card,.sdpi-inline-check),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-switch-card,.sdpi-inline-check){
  background:#fff!important;
  border-color:var(--sdpi-brand-line)!important;
}
body.sdpi-portal-body :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-switch-card) strong,
body.wp-admin :is(.sdpi-toggle-card,.sdpi-checkbox-card,.sdpi-switch-card) strong{
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body input[type=checkbox],body.sdpi-portal-body input[type=radio]{accent-color:var(--sdpi-brand-army)!important}

/* ---------- Buttons ---------- */
body.sdpi-portal-body :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary){
  background:var(--sdpi-brand-army)!important;
  border-color:var(--sdpi-brand-army)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.sdpi-portal-body :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary):is(:hover,:focus-visible),
body.wp-admin :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary):is(:hover,:focus-visible){
  background:var(--sdpi-brand-army-mid)!important;
  border-color:var(--sdpi-brand-gold)!important;
  color:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-scm-secondary,.sdpi-btn-light,.button-secondary,.sdpi-ui-btn:not(.is-primary)),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-scm-secondary,.sdpi-btn-light,.button-secondary){
  background:#fff!important;
  border-color:var(--sdpi-brand-line-strong)!important;
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body :is(.sdpi-scm-secondary,.sdpi-btn-light,.button-secondary,.sdpi-ui-btn:not(.is-primary)):is(:hover,:focus-visible){
  background:var(--sdpi-brand-cream)!important;
  border-color:var(--sdpi-brand-gold)!important;
  color:var(--sdpi-brand-army-deep)!important;
}
/* Preserve semantic danger actions. */
body.sdpi-portal-body :is(.button-link-delete,.sdpi-danger,.is-danger,.sdpi-emergency-recall-button){
  color:#fff!important;
}

/* ---------- Tabs / segmented controls / quick filters ---------- */
body.sdpi-portal-body :is(.sdpi-tabs,.sdpi-segmented-tabs,.sdpi-crm-quick-filters){
  border-color:var(--sdpi-brand-line)!important;
  background:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-tab,.sdpi-segmented-tabs>a,.sdpi-crm-quick-filters .sdpi-quick-chip){
  color:var(--sdpi-brand-army)!important;
  border-color:var(--sdpi-brand-line)!important;
  background:#fff!important;
}
body.sdpi-portal-body :is(.sdpi-tab.is-active,.sdpi-tab.active,.sdpi-segmented-tabs>a.is-active,.sdpi-crm-quick-filters .sdpi-quick-chip.active){
  background:var(--sdpi-brand-army)!important;
  color:#fff!important;
  border-color:var(--sdpi-brand-army)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-brand-gold)!important;
}

/* ---------- Tables ---------- */
body.sdpi-portal-body :is(.sdpi-table-scroll,.sdpi-table-wrap,.sdpi-compact-table,.sdpi-wp-table,.sdpi-crm-register),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-table-scroll,.sdpi-table-wrap,.sdpi-compact-table,.sdpi-wp-table,.sdpi-crm-register){
  border-color:var(--sdpi-brand-line)!important;
  border-radius:8px!important;
}
body.sdpi-portal-body :is(.sdpi-table-scroll,.sdpi-table-wrap,.sdpi-compact-table,.sdpi-wp-table,.widefat) th,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-table-scroll,.sdpi-table-wrap,.sdpi-compact-table,.sdpi-wp-table,.widefat) th{
  background:#F7F4EB!important;
  color:var(--sdpi-brand-army)!important;
  border-bottom-color:var(--sdpi-brand-line)!important;
}
body.sdpi-portal-body table td,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) table td{
  border-bottom-color:#EEE9DC!important;
}

/* ---------- Accordions / details ---------- */
body.sdpi-portal-body :is(.sdpi-card,.sdpi-panel,.sdpi-user-accordion,.sdpi-centre-section,.sdpi-student-panel-card) details,
body.sdpi-portal-body details.sdpi-user-accordion,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) details{
  border-color:var(--sdpi-brand-line)!important;
}
body.sdpi-portal-body :is(.sdpi-card,.sdpi-panel,.sdpi-user-accordion,.sdpi-centre-section,.sdpi-student-panel-card) details>summary,
body.sdpi-portal-body details.sdpi-user-accordion>summary,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) details>summary{
  background:#FAF8F2!important;
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body details[open]>summary,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) details[open]>summary{
  border-bottom-color:var(--sdpi-brand-line)!important;
}

/* Centre native accordions keep their robust <details> behaviour; visual-only change. */
body.sdpi-portal-body .sdpi-centre-section>summary,
body.sdpi-portal-body .sdpi-centre-section-head{
  background:#FAF8F2!important;
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body .sdpi-section-toggle{
  background:#fff!important;
  border-color:var(--sdpi-brand-line-strong)!important;
  color:var(--sdpi-brand-army)!important;
}

/* ---------- Pagination ---------- */
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.sdpi-user-pagination,.tablenav-pages) :is(.page-numbers,.sdpi-page-button,.sdpi-page-link),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.sdpi-user-pagination,.tablenav-pages) :is(.page-numbers,.sdpi-page-button,.sdpi-page-link){
  background:#fff!important;
  color:var(--sdpi-brand-army)!important;
  border-color:var(--sdpi-brand-line-strong)!important;
}
body.sdpi-portal-body :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.sdpi-user-pagination,.tablenav-pages) :is(.current,.is-current),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-pagination,.sdpi-register-pagination,.sdpi-crm-pagination,.sdpi-library-pagination,.sdpi-history-pagination,.sdpi-user-pagination,.tablenav-pages) :is(.current,.is-current){
  background:var(--sdpi-brand-gold)!important;
  color:var(--sdpi-brand-army-deep)!important;
  border-color:var(--sdpi-brand-gold)!important;
}

/* ---------- Number / sequence markers ---------- */
body.sdpi-portal-body :is(.sdpi-number-marker,.sdpi-step-number,.sdpi-seq,.sdpi-index-box,.sdpi-section-number,.sdpi-card-number),
body.wp-admin :is(.sdpi-number-marker,.sdpi-step-number,.sdpi-seq,.sdpi-index-box,.sdpi-section-number,.sdpi-card-number){
  background:var(--sdpi-brand-gold)!important;
  color:var(--sdpi-brand-army-deep)!important;
  border-color:rgba(25,44,33,.08)!important;
}

/* ---------- Neutral status chips. Semantic success/warning/error variants remain untouched. ---------- */
body.sdpi-portal-body :is(.sdpi-chip,.sdpi-ui-chip,.sdpi-badge,.sdpi-mini-badge,.sdpi-status-chip,.sdpi-pill):not(.is-success):not(.success):not(.is-error):not(.error):not(.is-danger):not(.danger):not(.is-warning):not(.warning),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-chip,.sdpi-ui-chip,.sdpi-badge,.sdpi-mini-badge,.sdpi-status-chip,.sdpi-pill):not(.is-success):not(.success):not(.is-error):not(.error):not(.is-danger):not(.danger):not(.is-warning):not(.warning){
  background:#EEF3EF!important;
  color:var(--sdpi-brand-army)!important;
  border-color:#D6E1D8!important;
}

/* ---------- Neutral notices / information strips ---------- */
body.sdpi-portal-body :is(.sdpi-public-info-note,.sdpi-practice-admin-note,.sdpi-module-banner,.sdpi-ui-notice):not(.is-error):not(.error):not(.is-warning):not(.warning):not(.is-success):not(.success){
  background:#FBFAF6!important;
  border-color:var(--sdpi-brand-line)!important;
  border-left-color:var(--sdpi-brand-gold)!important;
  color:var(--sdpi-brand-ink)!important;
}

/* ---------- Links in operational content ---------- */
/* Content links only. Never scope this rule to the outer portal wrapper because that
   wrapper also contains the shared left navigation. Sidebar colours are owned by the
   dedicated navigation theme/lock. */
/* v1.12.296: content-link colouring must never outrank selected navigation/control
   contrast. The earlier broad selector had higher specificity than the active-tab
   rule, which could turn Army Green selected tabs Army Green-on-Army Green. */
body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-cac-wrap,.sdpi-scm-wrap) :where(a:not(.button):not(.sdpi-ui-btn):not(.sdpi-btn):not(.sdpi-admin-logout):not(.sdpi-tab):not(.sdpi-workspace-tab):not(.sdpi-quick-chip):not(.nav-tab):not(.is-active):not(.active):not(.is-current):not([aria-current="page"]):not([aria-selected="true"])){
  color:var(--sdpi-brand-army)!important;
}
body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-cac-wrap,.sdpi-scm-wrap) :where(a:not(.button):not(.sdpi-ui-btn):not(.sdpi-btn):not(.sdpi-tab):not(.sdpi-workspace-tab):not(.sdpi-quick-chip):not(.nav-tab):not(.is-active):not(.active):not(.is-current):not([aria-current="page"]):not([aria-selected="true"]):hover){
  color:var(--sdpi-brand-army-mid)!important;
}

/* ---------- Mobile ---------- */
@media(max-width:782px){
  body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero){
    border-radius:9px!important;
  }
  body.sdpi-portal-body :is(.sdpi-card,.sdpi-summary-card,.sdpi-panel,.sdpi-form-panel,.sdpi-workspace-panel,.sdpi-wp-card,.sdpi-public-panel,.sdpi-student-panel-card,.sdpi-library-compact-panel,.sdpi-step-panel){
    border-radius:8px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.sdpi-portal-body :is(a.sdpi-operation-card,.sdpi-module-tile[href],.sdpi-ops-card-grid>a,.sdpi-student-quick-grid>a,.sdpi-launch-link,.sdpi-home-service-card,.sdpi-home-update-card[href],.sdpi-guided-steps>a,.sdpi-launch-steps>a){transition:none!important}
  body.sdpi-portal-body :is(a.sdpi-operation-card,.sdpi-module-tile[href],.sdpi-ops-card-grid>a,.sdpi-student-quick-grid>a,.sdpi-launch-link,.sdpi-home-service-card,.sdpi-home-update-card[href],.sdpi-guided-steps>a,.sdpi-launch-steps>a):is(:hover,:focus-visible){transform:none!important}
}

/* ---------- Main dashboard / launch workspace ---------- */
body.sdpi-portal-body .sdpi-launch-hero{
  background:linear-gradient(115deg,var(--sdpi-brand-army) 0%,var(--sdpi-brand-army-mid) 68%,#F8F7F1 68%,#FFFEFB 100%)!important;
  border-color:var(--sdpi-brand-line)!important;
  border-bottom:4px solid var(--sdpi-brand-gold)!important;
  border-radius:12px!important;
  box-shadow:0 8px 24px rgba(25,44,33,.10)!important;
}
body.sdpi-portal-body .sdpi-launch-hero>div:first-child>span{color:var(--sdpi-brand-gold-soft)!important}
body.sdpi-portal-body .sdpi-launch-hero h1{color:#fff!important}
body.sdpi-portal-body .sdpi-launch-hero p{color:rgba(255,255,255,.94)!important}
body.sdpi-portal-body .sdpi-launch-hero-actions>em{color:var(--sdpi-brand-army)!important}
body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work,.sdpi-launch-foundation,.sdpi-launch-quick){
  background:#fff!important;
  border-color:var(--sdpi-brand-line)!important;
  border-radius:var(--sdpi-brand-radius)!important;
  box-shadow:var(--sdpi-brand-shadow)!important;
}
body.sdpi-portal-body :is(.sdpi-launch-section,.sdpi-launch-setup,.sdpi-launch-work,.sdpi-launch-foundation,.sdpi-launch-quick) :is(h2,h3,strong){color:var(--sdpi-brand-army)!important}

/* Explicit destructive-action protection after all generic button rules. */
body.sdpi-portal-body :is(.button-link-delete,.sdpi-danger,.is-danger,.sdpi-emergency-recall-button),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.button-link-delete,.sdpi-danger,.is-danger,.sdpi-emergency-recall-button){
  background:#B42318!important;
  border-color:#B42318!important;
  color:#fff!important;
}
body.sdpi-portal-body :is(.button-link-delete,.sdpi-danger,.is-danger,.sdpi-emergency-recall-button):is(:hover,:focus-visible){
  background:#8F1C13!important;
  border-color:#8F1C13!important;
  color:#fff!important;
}

@media(max-width:1250px){
  body.sdpi-portal-body .sdpi-launch-hero{
    background:linear-gradient(135deg,var(--sdpi-brand-army),var(--sdpi-brand-army-deep))!important;
  }
  body.sdpi-portal-body .sdpi-launch-hero-actions>em{color:var(--sdpi-brand-gold-soft)!important}
}

/* ===== sidebar-colour-lock-v1287.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.287 — Final Sidebar Colour Isolation Lock
   Prevent any portal/content theme from recolouring branded navigation.
   Loaded after portal-army-green-v1286.css.
   ========================================================= */
:root{
  --sdpi-side-green:#233B2D;
  --sdpi-side-green-deep:#192C21;
  --sdpi-side-green-mid:#304F3C;
  --sdpi-side-gold:#C7A24B;
  --sdpi-side-cream:#F6EFDF;
  --sdpi-side-gold-soft:#F6E9B9;
}

/* Main Admin / Sub Admin navigation: labels must always stay readable. */
html body.sdpi-portal-body .sdpi-admin-sidebar,
html body.sdpi-portal-body .sdpi-admin-sidebar nav{
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav :is(a,.sdpi-admin-nav-group-link),
html body.sdpi-portal-body .sdpi-admin-sidebar nav :is(a,.sdpi-admin-nav-group-link) > span,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group > summary,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group > summary > span{
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a > span{
  color:var(--sdpi-side-cream)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:is(:hover,:focus-visible,.is-active),
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a:is(:hover,:focus-visible,.is-active) > span{
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children .sdpi-admin-nav-overview,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children .sdpi-admin-nav-overview > span{
  color:var(--sdpi-side-gold-soft)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav :is(a,.sdpi-admin-nav-group-link,.sdpi-admin-nav-group>summary):is(:hover,:focus-visible,.is-active),
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current > :is(a,summary),
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current > :is(a,summary) > span{
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-brand strong{color:#fff!important}
html body.sdpi-portal-body .sdpi-admin-brand small{color:var(--sdpi-side-cream)!important}
html body.sdpi-portal-body .sdpi-admin-logout{color:var(--sdpi-side-cream)!important}
html body.sdpi-portal-body .sdpi-admin-logout:is(:hover,:focus-visible){color:#fff!important}

/* Centre Manager / Faculty / Staff portal navigation. */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav{color:#fff!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav a > span,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > summary,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > summary > span{color:#fff!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > div > a,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > div > a > span{color:var(--sdpi-side-cream)!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > div > a:is(:hover,:focus-visible,.is-active),
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group > div > a:is(:hover,:focus-visible,.is-active) > span{color:#fff!important}

/* Student classic navigation. */
html body.sdpi-portal-body .sdpi-student-side-nav,
html body.sdpi-portal-body .sdpi-student-side-nav > nav{color:#fff!important}
html body.sdpi-portal-body .sdpi-student-side-nav > nav a,
html body.sdpi-portal-body .sdpi-student-side-nav > nav a > span{color:#fff!important}
html body.sdpi-portal-body .sdpi-student-side-logout,
html body.sdpi-portal-body .sdpi-student-side-logout > span{color:var(--sdpi-side-cream)!important}

/* Defensive isolation: generic content-link styling must never enter any branded sidebar. */
html body.sdpi-portal-body :is(.sdpi-admin-sidebar,.sdpi-ops-sidebar,.sdpi-student-side-nav) a:not(.sdpi-danger),
html body.sdpi-portal-body :is(.sdpi-admin-sidebar,.sdpi-ops-sidebar,.sdpi-student-side-nav) a:not(.sdpi-danger) span{
  text-decoration-color:currentColor!important;
}

/* ===== portal-complete-ui-v1288.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.288 — Complete Portal Visual Rollout
   One shared Army Green + Gold + Cream system for all branded web panels.
   Keeps semantic danger/warning/success colours intact.
   ========================================================= */
:root{
  --sdpi-blue:#233B2D;
  --sdpi-blue-dark:#192C21;
  --sdpi-blue-soft:#304F3C;
  --sdpi-green:#C7A24B;
  --sdpi-green-dark:#7A621F;
  --sdpi-light:#F6EFDF;
  --sdpi-soft:#FBFAF6;
  --sdpi-border:#DFD8C7;
  --sdpi-text:#1F2937;
  --sdpi-muted:#5F6B72;
}

/* Header brand/logo: same original image, never distorted or crowded. */
body.sdpi-portal-body .sdpi-portal-header-inner{gap:24px!important}
body.sdpi-portal-body .sdpi-portal-brand{
  flex:0 0 auto!important;
  min-width:166px!important;
  padding:4px 22px 4px 0!important;
  margin-right:4px!important;
  overflow:visible!important;
}
body.sdpi-portal-body .sdpi-portal-brand img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:152px!important;
  max-height:60px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  transform:none!important;
}
body.sdpi-portal-body .sdpi-staff-compact-header .sdpi-portal-brand img{max-width:148px!important;max-height:58px!important}
body.sdpi-portal-body .sdpi-portal-nav{margin-left:2px!important}

/* White page header -> fixed-height module highlight -> content. */
body.sdpi-portal-body .sdpi-module-highlight{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:136px;
  box-sizing:border-box;
  margin:12px 0 14px;
  padding:18px 22px;
  border:1px solid #314C3A;
  border-bottom:4px solid #C7A24B;
  border-radius:12px;
  background:linear-gradient(135deg,#233B2D 0%,#192C21 100%);
  box-shadow:0 8px 24px rgba(25,44,33,.12);
  color:#fff;
}
body.sdpi-portal-body .sdpi-module-highlight::after{
  content:"";
  position:absolute;
  right:-45px;
  top:-72px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(199,162,75,.11);
  pointer-events:none;
}
body.sdpi-portal-body .sdpi-module-highlight-copy{position:relative;z-index:1;min-width:0;max-width:980px}
body.sdpi-portal-body .sdpi-module-highlight-eyebrow{
  display:block;
  margin:0 0 4px;
  color:#F6E9B9!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:850!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
body.sdpi-portal-body .sdpi-module-highlight h2{
  margin:0!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.2px!important;
}
body.sdpi-portal-body .sdpi-module-highlight p{
  max-width:900px;
  margin:6px 0 0!important;
  color:rgba(255,255,255,.92)!important;
  font-size:14.5px!important;
  line-height:1.48!important;
  font-weight:500!important;
}
body.sdpi-portal-body .sdpi-module-highlight-badge{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px;
  border:1px solid rgba(246,233,185,.58);
  border-radius:6px;
  background:rgba(246,239,223,.11);
  color:#F6E9B9!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
  white-space:nowrap;
}
/* Existing purpose-built heroes become the same standard height/language rather than duplicating. */
body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero).sdpi-module-highlight-source{
  min-height:136px!important;
  box-sizing:border-box!important;
  margin:12px 0 14px!important;
  padding:18px 22px!important;
  border-radius:12px!important;
}

/* Cards/boxes: the same warm Team Wishes surface language across operational roles. */
body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main) :is(
 .sdpi-card,.sdpi-panel,.sdpi-summary-card,.sdpi-operation-card,.sdpi-module-tile,
 .sdpi-student-panel-card,.sdpi-wp-card,.sdpi-wp-section,.sdpi-library-compact-panel,
 .sdpi-crm-register,.sdpi-form-panel,.sdpi-workspace-panel,.sdpi-user-accordion,.sdpi-centre-section
){border-color:#DFD8C7!important;box-shadow:0 1px 3px rgba(25,44,33,.06)!important}
body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main) :is(.sdpi-card,.sdpi-panel,.sdpi-operation-card,.sdpi-module-tile) :is(h2,h3,strong){text-wrap:pretty}

/* Public brand harmonisation: public remains public-facing, but same SDPI colour family. */
body.sdpi-portal-body :is(.sdpi-campus-hero,.sdpi-login-stage,.sdpi-login-hub-stage){
  background:linear-gradient(135deg,#192C21 0%,#233B2D 58%,#304F3C 100%)!important;
}
body.sdpi-portal-body .sdpi-login-hub-stage::before{
  background:radial-gradient(circle at 17% 20%,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 45% 86%,rgba(199,162,75,.18),transparent 23%)!important;
}
body.sdpi-portal-body .sdpi-scm-public-wrap>.sdpi-scm-header,
body.sdpi-portal-body .sdpi-admission-public-head{
  background:linear-gradient(135deg,#233B2D,#192C21)!important;
  border-bottom:4px solid #C7A24B!important;
}
body.sdpi-portal-body :is(.sdpi-campus-hero,.sdpi-login-stage,.sdpi-login-hub-stage,.sdpi-scm-public-wrap>.sdpi-scm-header) :is(h1,h2,h3,strong){color:#fff!important}
body.sdpi-portal-body :is(.sdpi-campus-hero,.sdpi-login-stage,.sdpi-login-hub-stage,.sdpi-scm-public-wrap>.sdpi-scm-header) :is(p,small){color:rgba(255,255,255,.9)!important}
body.sdpi-portal-body :is(.sdpi-campus-eyebrow,.sdpi-login-hub-card-head>span,.sdpi-admission-public-head>div>span){color:#C7A24B!important}
body.sdpi-portal-body .sdpi-portal-footer{background:#192C21!important}
body.sdpi-portal-body .sdpi-portal-footer a:hover{color:#F6E9B9!important}
body.sdpi-portal-body .sdpi-trust-strip{border-color:#DFD8C7!important;background:#FBFAF6!important}
body.sdpi-portal-body .sdpi-login-hub-card,
body.sdpi-portal-body .sdpi-login-card,
body.sdpi-portal-body .sdpi-enquiry-start-card,
body.sdpi-portal-body .sdpi-admission-continue-card{border-color:#DFD8C7!important;box-shadow:0 12px 32px rgba(25,44,33,.11)!important}
body.sdpi-portal-body .sdpi-title-mark{background:#C7A24B!important}
body.sdpi-portal-body :is(.sdpi-login-hub-card-head h2,.sdpi-login-panel-title strong,.sdpi-login-card-header h2,.sdpi-admission-continue-card h3){color:#233B2D!important}
body.sdpi-portal-body .sdpi-role-tab-icon{background:#F6EFDF!important;color:#233B2D!important}
body.sdpi-portal-body .sdpi-login-role-tabs button[aria-selected="true"] .sdpi-role-tab-icon{background:#C7A24B!important;color:#1F2937!important}

/* Public form/card brand controls without changing semantic errors/warnings. */
body.sdpi-portal-body :is(.sdpi-public-form-steps button.active,.sdpi-scm-primary,.sdpi-demo-fill-login){background:#233B2D!important;border-color:#233B2D!important;color:#fff!important}
body.sdpi-portal-body :is(.sdpi-public-progress>i>b,.sdpi-cac-action::before){background:#C7A24B!important}
body.sdpi-portal-body :is(.sdpi-public-panel-head h3,.sdpi-public-review strong,.sdpi-public-qualification-list article>strong){color:#233B2D!important}
body.sdpi-portal-body :is(.sdpi-public-panel,.sdpi-public-document-grid label,.sdpi-public-qualification-list article,.sdpi-public-scheme-toggle,.sdpi-public-declaration){border-color:#DFD8C7!important;background:#FBFAF6!important}

/* Never let the complete theme alter approved sidebar colours or semantic alerts. */
body.sdpi-portal-body :is(.sdpi-admin-sidebar,.sdpi-ops-sidebar,.sdpi-student-side-nav){--sdpi-blue:#233B2D;--sdpi-green:#C7A24B}
body.sdpi-portal-body :is(.notice-error,.error,.is-error,.sdpi-error,.sdpi-danger,.sdpi-status-danger){--sdpi-blue:initial;--sdpi-green:initial}

@media(max-width:980px){
  body.sdpi-portal-body .sdpi-portal-header-inner{gap:14px!important}
  body.sdpi-portal-body .sdpi-portal-brand{min-width:140px!important;padding-right:14px!important}
  body.sdpi-portal-body .sdpi-portal-brand img{max-width:132px!important;max-height:52px!important}
  body.sdpi-portal-body .sdpi-module-highlight{min-height:126px;padding:17px 18px}
}
@media(max-width:700px){
  body.sdpi-portal-body .sdpi-portal-brand{min-width:0!important;padding-right:10px!important;margin-right:0!important}
  body.sdpi-portal-body .sdpi-portal-brand img{max-width:118px!important;max-height:47px!important}
  body.sdpi-portal-body .sdpi-module-highlight{min-height:0;align-items:flex-start;flex-direction:column;gap:10px;padding:16px;margin:10px 0 12px}
  body.sdpi-portal-body .sdpi-module-highlight h2{font-size:21px!important}
  body.sdpi-portal-body .sdpi-module-highlight-badge{align-self:flex-start}
  body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero).sdpi-module-highlight-source{min-height:0!important;padding:16px!important}
}

/* Broad public/control harmonisation for legacy hard-coded blue selectors. */
body.sdpi-portal-body .sdpi-scm-public-wrap :is(h2,h3,.sdpi-card-title,.sdpi-panel-title,.sdpi-action-title),
body.sdpi-portal-body :is(.sdpi-login-hub-card,.sdpi-login-card,.sdpi-online-admission,.sdpi-student-dashboard) :is(h2,h3){color:#233B2D!important}
body.sdpi-portal-body .sdpi-scm-public-wrap a:not(.sdpi-danger):not(.is-error):not(.button-primary):not(.sdpi-scm-primary){color:#233B2D}
body.sdpi-portal-body :is(.sdpi-scm-primary,.button-primary,.sdpi-primary-action,.sdpi-action-primary):not(.is-danger){
  background:#233B2D!important;border-color:#233B2D!important;color:#fff!important
}
body.sdpi-portal-body :is(.sdpi-scm-secondary,.sdpi-secondary-action):not(.is-danger){
  background:#fff!important;border-color:#233B2D!important;color:#233B2D!important
}
body.sdpi-portal-body :is(.sdpi-login-role-tabs button[aria-selected="true"],.sdpi-public-form-steps button.active,.sdpi-tabs a.is-active,.sdpi-tabs button.is-active){
  border-color:#C7A24B!important;box-shadow:inset 0 -3px 0 #C7A24B!important
}
body.sdpi-portal-body :is(.sdpi-home-update-card,.sdpi-cac-action,.sdpi-home-service-card,.sdpi-admission-continue-card){border-color:#DFD8C7!important}
body.sdpi-portal-body :is(.sdpi-home-update-card,.sdpi-cac-action,.sdpi-home-service-card,.sdpi-admission-continue-card):hover{border-color:#C7A24B!important}

/* ===== portal-header-system-v1289.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.289 — Single blended page header
   Removes v1.12.288 double module boxes and locks one compact
   White/Cream + Army Green + Gold professional top hierarchy.
   ========================================================= */
:root{
  --sdpi-head-army:#233B2D;
  --sdpi-head-deep:#192C21;
  --sdpi-head-mid:#304F3C;
  --sdpi-head-gold:#C7A24B;
  --sdpi-head-cream:#F6EFDF;
  --sdpi-head-gold-soft:#F6E9B9;
  --sdpi-head-ink:#1F2937;
  --sdpi-head-line:#DFD8C7;
}

/* v1.12.288 generated banner is obsolete: one page header only. */
html body.sdpi-portal-body .sdpi-module-highlight{display:none!important}

/* One compact blended card at the top of each branded operational page. */
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-height:92px!important;
  margin:0 0 11px!important;
  padding:14px 16px!important;
  border:1px solid var(--sdpi-head-line)!important;
  border-bottom:3px solid var(--sdpi-head-gold)!important;
  border-radius:11px!important;
  background:linear-gradient(90deg,#fff 0%,#fff 72%,#FBFAF6 100%)!important;
  box-shadow:0 4px 16px rgba(25,44,33,.06)!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head>div:first-child{
  position:relative!important;z-index:2!important;min-width:0!important;align-self:center!important;padding-right:8px!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head>div:first-child>span,
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head .sdpi-page-eyebrow{
  display:block!important;margin:0 0 3px!important;color:#7A621F!important;font-size:13px!important;line-height:1.2!important;font-weight:850!important;letter-spacing:.075em!important;text-transform:uppercase!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head :is(h1,.sdpi-page-title){
  margin:0!important;color:var(--sdpi-head-army)!important;font-size:24px!important;line-height:1.18!important;font-weight:850!important;letter-spacing:-.2px!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head p{
  max-width:980px!important;margin:5px 0 0!important;color:var(--sdpi-head-ink)!important;font-size:14.5px!important;line-height:1.38!important;font-weight:500!important;
}

/* Army-green action/status side is part of the SAME card, not a second box. */
html body.sdpi-portal-body :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-blended-page-head>.sdpi-head-actions){
  position:relative!important;z-index:2!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){
  flex:0 0 auto!important;min-width:210px!important;margin:-14px -16px -14px 0!important;padding:13px 14px!important;
  display:flex!important;align-items:center!important;align-content:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important;
  border-left:3px solid var(--sdpi-head-gold)!important;
  background:linear-gradient(135deg,var(--sdpi-head-army),var(--sdpi-head-deep))!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,button){
  min-height:32px!important;padding:6px 9px!important;border:1px solid rgba(246,239,223,.42)!important;border-radius:6px!important;background:rgba(246,239,223,.08)!important;color:#fff!important;font-size:13px!important;line-height:1.2!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,button):hover{
  background:rgba(246,239,223,.16)!important;border-color:var(--sdpi-head-gold-soft)!important;color:#fff!important;
}
html body.sdpi-portal-body .sdpi-head-status{
  display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:6px 9px!important;border:1px solid rgba(199,162,75,.68)!important;border-radius:6px!important;background:var(--sdpi-head-gold-soft)!important;color:var(--sdpi-head-ink)!important;font-size:13px!important;line-height:1.15!important;font-weight:850!important;white-space:nowrap!important;
}

/* When no right-side actions exist, retain a restrained Army/Gold accent inside the same card. */
html body.sdpi-portal-body .sdpi-blended-page-head:not(:has(.sdpi-admin-head-actions)):not(:has(.sdpi-ops-head-actions)):not(:has(.sdpi-head-actions)):not(:has(.sdpi-student-head-actions)){
  padding-right:74px!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head:not(:has(.sdpi-admin-head-actions)):not(:has(.sdpi-ops-head-actions)):not(:has(.sdpi-head-actions)):not(:has(.sdpi-student-head-actions))::after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:54px;background:linear-gradient(180deg,var(--sdpi-head-army),var(--sdpi-head-deep));border-left:3px solid var(--sdpi-head-gold);
}

/* Purpose-built content heroes are allowed only when they add a DIFFERENT message (e.g. Namaste).
   They are compact; duplicated same-title heroes are removed by v1289 JS. */
html body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero).sdpi-module-highlight-source,
html body.sdpi-portal-body :is(.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero){
  min-height:0!important;margin:10px 0 12px!important;padding:14px 18px!important;
}

/* Old separate Module Overview strip should never survive as a second page header. */
html body.sdpi-portal-body .sdpi-hub-overview-bar{margin-top:0!important}

/* Sidebar secondary/helper text: never faint/invisible on Army Green. */
html body.sdpi-portal-body :is(.sdpi-admin-sidebar,.sdpi-ops-sidebar,.sdpi-student-side-nav) :is(small,p,.sdpi-admin-user-meta,.sdpi-nav-helper,.sdpi-nav-description,.sdpi-ops-nav-description){
  color:var(--sdpi-head-cream)!important;opacity:.9!important;font-size:13px!important;line-height:1.35!important;font-weight:550!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-sidebar,.sdpi-ops-sidebar,.sdpi-student-side-nav) nav :is(a,summary) small{
  display:block!important;margin-top:2px!important;color:var(--sdpi-head-gold-soft)!important;opacity:.95!important;font-size:12.5px!important;line-height:1.3!important;font-weight:600!important;
}

@media(max-width:900px){
  html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head{min-height:0!important;flex-direction:column!important;padding:13px 14px!important;gap:10px!important}
  html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){min-width:0!important;width:calc(100% + 28px)!important;margin:0 -14px -13px!important;padding:10px 14px!important;border-left:0!important;border-top:3px solid var(--sdpi-head-gold)!important;justify-content:flex-start!important}
  html body.sdpi-portal-body .sdpi-blended-page-head:not(:has(.sdpi-admin-head-actions)):not(:has(.sdpi-ops-head-actions)):not(:has(.sdpi-head-actions)):not(:has(.sdpi-student-head-actions)){padding-right:56px!important}
  html body.sdpi-portal-body .sdpi-blended-page-head:not(:has(.sdpi-admin-head-actions)):not(:has(.sdpi-ops-head-actions)):not(:has(.sdpi-head-actions)):not(:has(.sdpi-student-head-actions))::after{width:38px!important}
}
@media(max-width:600px){
  html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head :is(h1,.sdpi-page-title){font-size:21px!important}
  html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head p{font-size:14px!important}
}

/* ===== portal-polish-v1291.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.291 — Cumulative fast-setup + canonical public login polish
   Final shared-control normalization, signed-in identity sidebar,
   blended header refinement and public Home/Login first impression.
   Visual-only: business logic, permissions and accordion behavior unchanged.
   ========================================================= */
:root{
  --sdpi-v1290-army:#233B2D;
  --sdpi-v1290-deep:#192C21;
  --sdpi-v1290-mid:#304F3C;
  --sdpi-v1290-gold:#C7A24B;
  --sdpi-v1290-cream:#F6EFDF;
  --sdpi-v1290-gold-soft:#F6E9B9;
  --sdpi-v1290-ink:#1F2937;
  --sdpi-v1290-line:#DFD8C7;
  --sdpi-v1290-soft:#FBFAF6;
}

/* ---------- Signed-in identity: Main Admin / Sub Admin ---------- */
html body.sdpi-portal-body .sdpi-admin-brand.sdpi-admin-profile-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:72px!important;
  padding:12px 13px!important;
}
html body.sdpi-portal-body .sdpi-admin-brand.sdpi-admin-profile-brand>.sdpi-admin-profile-avatar{
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:0!important;
  border:2px solid rgba(199,162,75,.78)!important;
  border-radius:9px!important;
  background:rgba(246,239,223,.12)!important;
  color:var(--sdpi-v1290-cream)!important;
  box-shadow:0 2px 9px rgba(0,0,0,.12)!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-avatar i{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:var(--sdpi-v1290-gold)!important;
  color:var(--sdpi-v1290-deep)!important;
  font-size:17px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-brand>div{min-width:0!important}
html body.sdpi-portal-body .sdpi-admin-profile-brand strong{
  display:block!important;
  overflow:hidden!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:820!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-brand small{
  display:block!important;
  margin-top:2px!important;
  color:var(--sdpi-v1290-gold-soft)!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  font-weight:600!important;
  opacity:1!important;
}
/* Existing role/student official photos use the same compact identity treatment. */
html body.sdpi-portal-body :is(.sdpi-ops-person img,.sdpi-student-side-avatar img){
  object-fit:cover!important;
  object-position:center!important;
}

/* ---------- One blended page header: final compact hierarchy ---------- */
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head{
  min-height:94px!important;
  max-height:none!important;
  margin-bottom:12px!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){
  min-width:196px!important;
  max-width:38%!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,button){
  min-height:32px!important;
  padding:6px 10px!important;
  border-radius:6px!important;
  font-size:13px!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head .sdpi-head-status{
  border-radius:6px!important;
  background:var(--sdpi-v1290-gold-soft)!important;
  color:var(--sdpi-v1290-ink)!important;
}
/* Never allow the retired v1.12.288 second header strip to flash/reappear. */
html body.sdpi-portal-body .sdpi-module-highlight{display:none!important}

/* ---------- Canonical Team Wishes control language portal-wide ---------- */
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-scm-public-wrap) :is(
  .button,.sdpi-btn,.sdpi-ui-btn,.sdpi-scm-primary,.sdpi-scm-secondary,.sdpi-btn-primary,.sdpi-btn-light,
  .sdpi-tw-btn,.sdpi-page-button,.sdpi-page-link,.sdpi-quick-chip,.sdpi-tab
){
  min-height:34px!important;
  box-sizing:border-box!important;
  padding:6px 11px!important;
  border-radius:6px!important;
  font-size:13.5px!important;
  line-height:1.25!important;
  font-weight:780!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-scm-public-wrap) :is(
  .button-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-scm-primary,.sdpi-tw-btn.primary,.sdpi-tw-btn.gold
):not(.button-link-delete):not(.sdpi-danger):not(.is-danger){
  border:1px solid var(--sdpi-v1290-army)!important;
  background:var(--sdpi-v1290-army)!important;
  color:#fff!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-scm-public-wrap) :is(
  .button-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-scm-primary,.sdpi-tw-btn.primary,.sdpi-tw-btn.gold
):not(.button-link-delete):not(.sdpi-danger):not(.is-danger):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1290-gold)!important;
  background:var(--sdpi-v1290-mid)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(199,162,75,.16)!important;
  outline:none!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-scm-public-wrap) :is(
  .button:not(.button-primary):not(.button-link-delete),.button-secondary,.sdpi-scm-secondary,.sdpi-btn-light,.sdpi-tw-btn.secondary
):not(.sdpi-danger):not(.is-danger){
  border:1px solid #CFC3A7!important;
  background:#fff!important;
  color:var(--sdpi-v1290-army)!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-scm-public-wrap) :is(
  .button:not(.button-primary):not(.button-link-delete),.button-secondary,.sdpi-scm-secondary,.sdpi-btn-light,.sdpi-tw-btn.secondary
):not(.sdpi-danger):not(.is-danger):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1290-gold)!important;
  background:var(--sdpi-v1290-cream)!important;
  color:var(--sdpi-v1290-deep)!important;
  outline:none!important;
}
html body.sdpi-portal-body :is(.sdpi-tab.active,.sdpi-tab.is-active,.sdpi-quick-chip.active,.sdpi-quick-chip.is-active,[aria-selected="true"].sdpi-tab){
  border-color:var(--sdpi-v1290-army)!important;
  background:var(--sdpi-v1290-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1290-gold)!important;
}
html body.sdpi-portal-body :is(.button,.sdpi-btn,.sdpi-ui-btn,.sdpi-tw-btn,.sdpi-tab,.sdpi-quick-chip):disabled,
html body.sdpi-portal-body :is(.button,.sdpi-btn,.sdpi-ui-btn,.sdpi-tw-btn,.sdpi-tab,.sdpi-quick-chip)[aria-disabled="true"]{
  cursor:not-allowed!important;
  opacity:.58!important;
  box-shadow:none!important;
}
/* Explicit semantic danger protection after generic controls. */
html body.sdpi-portal-body :is(.button-link-delete,.sdpi-danger,.is-danger,.sdpi-emergency-recall-button){
  border-color:#B42318!important;
  background:#B42318!important;
  color:#fff!important;
}

/* ---------- Dark-surface contrast lock ---------- */
html body.sdpi-portal-body :is(
  .sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero,
  .sdpi-campus-hero-copy,.sdpi-login-clean-brand,.sdpi-operations-hero>div:first-child,.sdpi-fee-hero>div:first-child
) :is(h1,h2,h3,h4,strong,b){color:#fff!important}
html body.sdpi-portal-body :is(
  .sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-user-hero,.sdpi-tw-hero,
  .sdpi-campus-hero-copy,.sdpi-login-clean-brand,.sdpi-operations-hero>div:first-child,.sdpi-fee-hero>div:first-child
) :is(p,small,.description,.sdpi-help,.sdpi-help-text){color:rgba(255,255,255,.93)!important}

/* ---------- Public Home: preserve earlier composition, re-theme only ---------- */
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-hero{
  background:
    radial-gradient(circle at 19% 25%,rgba(255,255,255,.08),transparent 28%),
    radial-gradient(circle at 46% 83%,rgba(199,162,75,.13),transparent 23%),
    linear-gradient(112deg,var(--sdpi-v1290-deep) 0%,var(--sdpi-v1290-army) 54%,#F3F0E7 54%,#FBFAF6 100%)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-hero::before{
  background:linear-gradient(120deg,rgba(255,255,255,.02),transparent 45%)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-hero-copy{
  background:transparent!important;
  box-shadow:none!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-service-icon{
  background:rgba(246,239,223,.10)!important;
  border-color:rgba(246,233,185,.30)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.10)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-service-icon svg{stroke:var(--sdpi-v1290-cream)!important}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-login-promo{
  border-color:rgba(199,162,75,.38)!important;
  border-bottom:4px solid var(--sdpi-v1290-gold)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 22px 54px rgba(25,44,33,.18)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-login-promo h2{color:var(--sdpi-v1290-army)!important}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-login-promo .sdpi-promo-row{
  border-color:var(--sdpi-v1290-line)!important;
  background:#FFFDF8!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-promo-icon{
  background:var(--sdpi-v1290-cream)!important;
  color:var(--sdpi-v1290-army)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-cac-action{
  border-color:var(--sdpi-v1290-line)!important;
  background:#fff!important;
  box-shadow:0 9px 26px rgba(25,44,33,.07)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-cac-action::before{background:var(--sdpi-v1290-gold)!important}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-cac-action:hover{
  border-color:var(--sdpi-v1290-gold)!important;
  box-shadow:0 15px 34px rgba(25,44,33,.12)!important;
}
html body.sdpi-portal-page-sdpi-digital-campus .sdpi-action-icon{
  background:var(--sdpi-v1290-cream)!important;
  color:var(--sdpi-v1290-army)!important;
}

/* ---------- Public Login: retain left/right layout, restore depth/readability ---------- */
html body.sdpi-portal-page-login .sdpi-login-clean-shell{
  border-color:rgba(199,162,75,.42)!important;
  box-shadow:0 20px 52px rgba(25,44,33,.16)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-brand{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.08),transparent 28%),
    radial-gradient(circle at 86% 88%,rgba(199,162,75,.18),transparent 28%),
    linear-gradient(145deg,var(--sdpi-v1290-army),var(--sdpi-v1290-deep))!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-brand::after{
  background:rgba(199,162,75,.12)!important;
}
html body.sdpi-portal-page-login .sdpi-login-brand-line{background:var(--sdpi-v1290-gold)!important}
html body.sdpi-portal-page-login .sdpi-login-brand-points>div{
  border-color:rgba(246,233,185,.24)!important;
  background:rgba(246,239,223,.07)!important;
}
html body.sdpi-portal-page-login .sdpi-login-brand-points>div>span{
  border-radius:7px!important;
  background:var(--sdpi-v1290-gold)!important;
  color:var(--sdpi-v1290-deep)!important;
}
html body.sdpi-portal-page-login .sdpi-login-quick-links a{
  color:var(--sdpi-v1290-gold-soft)!important;
  border-bottom-color:rgba(246,233,185,.62)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-head>span{color:#7A621F!important}
html body.sdpi-portal-page-login .sdpi-login-clean-head h2{color:var(--sdpi-v1290-army)!important}
html body.sdpi-portal-page-login .sdpi-login-clean-form :is(input[type=text],input[type=password],input[type=email]){
  border-color:#CFCFC7!important;
  background:#fff!important;
  color:var(--sdpi-v1290-ink)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-form :is(input[type=text],input[type=password],input[type=email]):focus{
  border-color:var(--sdpi-v1290-gold)!important;
  box-shadow:0 0 0 3px rgba(199,162,75,.14)!important;
  outline:none!important;
}
html body.sdpi-portal-page-login .sdpi-login-submit{
  border:1px solid var(--sdpi-v1290-army)!important;
  background:var(--sdpi-v1290-army)!important;
  color:#fff!important;
}
html body.sdpi-portal-page-login .sdpi-login-submit:is(:hover,:focus-visible){
  border-color:var(--sdpi-v1290-gold)!important;
  background:var(--sdpi-v1290-mid)!important;
}
html body.sdpi-portal-page-login .sdpi-hub-password-toggle{
  background:var(--sdpi-v1290-cream)!important;
  color:var(--sdpi-v1290-army)!important;
}

@media(max-width:980px){
  html body.sdpi-portal-page-sdpi-digital-campus .sdpi-campus-hero{
    background:linear-gradient(145deg,var(--sdpi-v1290-deep),var(--sdpi-v1290-army) 68%,var(--sdpi-v1290-mid))!important;
  }
  html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){max-width:none!important}
}
@media(max-width:600px){
  html body.sdpi-portal-body .sdpi-admin-brand.sdpi-admin-profile-brand{min-height:66px!important;padding:10px 12px!important}
  html body.sdpi-portal-body .sdpi-admin-brand.sdpi-admin-profile-brand>.sdpi-admin-profile-avatar{flex-basis:40px!important;width:40px!important;height:40px!important}
}
@media(prefers-reduced-motion:reduce){
  html body.sdpi-portal-body :is(.button,.sdpi-btn,.sdpi-ui-btn,.sdpi-tw-btn,.sdpi-page-button,.sdpi-page-link,.sdpi-quick-chip,.sdpi-tab){transition:none!important}
}

/* ---------- Public Online Admission: readable compact enterprise form ---------- */
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-admission-public-head{
  border:1px solid #314C3A!important;
  border-bottom:4px solid var(--sdpi-v1290-gold)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--sdpi-v1290-army),var(--sdpi-v1290-deep))!important;
  box-shadow:0 8px 24px rgba(25,44,33,.11)!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-admission-public-head>div>span{
  color:var(--sdpi-v1290-gold-soft)!important;
  font-size:13px!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-admission-public-head h2{color:#fff!important}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-admission-public-head p{
  color:rgba(255,255,255,.94)!important;
  font-size:14.5px!important;
  line-height:1.45!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-admission-public-head>strong{
  border-radius:6px!important;
  border-color:rgba(246,233,185,.50)!important;
  background:rgba(246,239,223,.10)!important;
  color:var(--sdpi-v1290-gold-soft)!important;
  font-size:13px!important;
}
/* Override legacy ultra-small UAT form rules: helper text must remain readable. */
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-panel-head>span{
  color:#7A621F!important;
  font-size:13px!important;
  line-height:1.3!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-panel-head h3{
  color:var(--sdpi-v1290-army)!important;
  font-size:18px!important;
  line-height:1.3!important;
  margin:3px 0 4px!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-panel-head p{
  color:var(--sdpi-v1290-ink)!important;
  font-size:14.5px!important;
  line-height:1.45!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-progress>span{
  min-width:86px!important;
  color:var(--sdpi-v1290-army)!important;
  font-size:13px!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-progress>i{background:#E7E3D9!important}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-progress>i>b{background:var(--sdpi-v1290-gold)!important}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-form-steps button{
  min-height:34px!important;
  border-radius:6px!important;
  border-color:var(--sdpi-v1290-line)!important;
  background:#fff!important;
  color:var(--sdpi-v1290-army)!important;
  font-size:13px!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission .sdpi-public-form-steps button.active{
  border-color:var(--sdpi-v1290-army)!important;
  background:var(--sdpi-v1290-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1290-gold)!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission :is(.sdpi-public-panel,.sdpi-public-document-grid label,.sdpi-public-qualification-list article,.sdpi-public-scheme-toggle,.sdpi-public-declaration,.sdpi-public-login-fields){
  border-color:var(--sdpi-v1290-line)!important;
  background:var(--sdpi-v1290-soft)!important;
}
html body.sdpi-portal-page-admission .sdpi-online-admission :is(label,.sdpi-public-info-note span,.sdpi-public-review span,.sdpi-public-review small,.sdpi-public-document-grid small){
  color:var(--sdpi-v1290-ink)!important;
  font-size:14px!important;
  line-height:1.4!important;
}

/* ---------- Public Certificate Verification ---------- */
html body.sdpi-portal-page-certificate-verification .sdpi-scm-public-wrap>.sdpi-scm-header{
  border:1px solid #314C3A!important;
  border-bottom:4px solid var(--sdpi-v1290-gold)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--sdpi-v1290-army),var(--sdpi-v1290-deep))!important;
  box-shadow:0 8px 24px rgba(25,44,33,.10)!important;
}
html body.sdpi-portal-page-certificate-verification .sdpi-scm-public-wrap>.sdpi-scm-header h2{color:#fff!important}
html body.sdpi-portal-page-certificate-verification .sdpi-scm-public-wrap>.sdpi-scm-header p{
  color:rgba(255,255,255,.94)!important;
  font-size:14.5px!important;
}
html body.sdpi-portal-page-certificate-verification .sdpi-verify-form{
  border-color:var(--sdpi-v1290-line)!important;
  border-radius:10px!important;
  box-shadow:0 3px 14px rgba(25,44,33,.06)!important;
}
html body.sdpi-portal-page-certificate-verification .sdpi-verify-form label span{
  color:var(--sdpi-v1290-army)!important;
  font-size:14.5px!important;
}
html body.sdpi-portal-page-certificate-verification .sdpi-verify-form input{
  border-color:#CFCFC7!important;
  color:var(--sdpi-v1290-ink)!important;
}
html body.sdpi-portal-page-certificate-verification .sdpi-verify-form input:focus{
  border-color:var(--sdpi-v1290-gold)!important;
  box-shadow:0 0 0 3px rgba(199,162,75,.14)!important;
  outline:none!important;
}

/* ---------- v1.12.291 public entry consolidation ---------- */
html body.sdpi-portal-body .sdpi-portal-nav>a.is-active{
  border-color:var(--sdpi-v1290-gold)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1290-gold)!important;
  color:var(--sdpi-v1290-army)!important;
}
html body.sdpi-portal-page-login .sdpi-login-register-button{
  border:1px solid #B38C34!important;
  background:var(--sdpi-v1290-gold)!important;
  color:var(--sdpi-v1290-deep)!important;
  box-shadow:0 7px 17px rgba(199,162,75,.20)!important;
}
html body.sdpi-portal-page-login .sdpi-login-register-button:is(:hover,:focus-visible){
  background:#D4B45E!important;
  border-color:var(--sdpi-v1290-army)!important;
  color:var(--sdpi-v1290-deep)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer{
  display:block!important;
  text-align:center!important;
  padding-top:10px!important;
  margin-top:12px!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer>small{
  display:block!important;
  max-width:none!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-size:12.5px!important;
  color:#526258!important;
}
html body.sdpi-portal-body .sdpi-portal-footer-bottom>span:first-child{white-space:nowrap}
@media(max-width:720px){
  html body.sdpi-portal-page-login .sdpi-login-clean-footer>small,
  html body.sdpi-portal-body .sdpi-portal-footer-bottom>span:first-child{white-space:normal!important}
}

/* ===== portal-safety-v1292.css ===== */
/* SDPI Digital Campus v1.12.292 — fast-create / long-form safety polish */
html body.sdpi-portal-body [data-sdpi-form-state],
html body.sdpi-portal-body [data-sdpi-form-state-for]{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:3px 9px;
  border:1px solid #d7e0d8;
  border-radius:5px;
  background:#fff;
  color:#425247;
  font-size:13px;
  font-weight:700;
}
html body.sdpi-portal-body [data-sdpi-form-state][data-state="dirty"],
html body.sdpi-portal-body [data-sdpi-form-state-for][data-state="dirty"]{
  border-color:#C7A24B;
  background:#FFF9E9;
  color:#5A4619;
}
html body.sdpi-portal-body [data-sdpi-form-state][data-state="saving"],
html body.sdpi-portal-body [data-sdpi-form-state][data-state="saved"],
html body.sdpi-portal-body [data-sdpi-form-state-for][data-state="saving"],
html body.sdpi-portal-body [data-sdpi-form-state-for][data-state="saved"]{
  border-color:#8DAA94;
  background:#F4F8F4;
  color:#233B2D;
}
html body.sdpi-portal-body .sdpi-save-attention{
  outline:3px solid rgba(199,162,75,.32)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 1px #C7A24B!important;
}
html body.sdpi-portal-body .sdpi-fast-create-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
html body.sdpi-portal-body .sdpi-fast-create-actions .button{
  min-height:34px;
  padding:3px 12px;
}
html body.sdpi-portal-body .sdpi-new-centre-deferred{
  margin:8px 0 10px;
  padding:9px 11px;
  border:1px solid #E7D9B3;
  border-left:3px solid #C7A24B;
  border-radius:6px;
  background:#FFFCF4;
  color:#1F2937;
  font-size:14px;
  line-height:1.4;
}
html body.sdpi-portal-body .sdpi-new-centre-deferred strong{color:#233B2D}
@media(max-width:760px){
  html body.sdpi-portal-body .sdpi-fast-create-actions{width:100%;justify-content:stretch}
  html body.sdpi-portal-body .sdpi-fast-create-actions .button{flex:1 1 auto;text-align:center}
}
@media(min-width:900px){
  html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar{
    position:sticky!important;
    top:8px!important;
    z-index:24!important;
  }
}

/* ===== portal-consistency-v1293.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.293 — Portal consistency lock
   Team Wishes Army Green + Gold + Cream is the canonical UI.
   Fixes unreadable blended-header actions, blue legacy centre tabs,
   signed-in identity fallback and duplicate dashboard action drift.
   ========================================================= */
:root{
  --sdpi-v1293-army:#233B2D;
  --sdpi-v1293-deep:#192C21;
  --sdpi-v1293-mid:#304F3C;
  --sdpi-v1293-gold:#C7A24B;
  --sdpi-v1293-cream:#F6EFDF;
  --sdpi-v1293-gold-soft:#F6E9B9;
  --sdpi-v1293-ink:#1F2937;
  --sdpi-v1293-line:#DFD8C7;
}

/* Header actions: dark panel + clearly visible cream controls. */
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,a:link,a:visited,button){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:6px 11px!important;
  border:1px solid rgba(199,162,75,.82)!important;
  border-radius:6px!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
  opacity:1!important;
  text-shadow:none!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,button):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold-soft)!important;
  background:var(--sdpi-v1293-gold)!important;
  color:var(--sdpi-v1293-deep)!important;
  outline:2px solid rgba(246,233,185,.34)!important;
  outline-offset:1px!important;
}

/* Sidebar user identity: official photo when stored; neutral user placeholder otherwise. */
html body.sdpi-portal-body .sdpi-admin-profile-avatar i.dashicons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--sdpi-v1293-gold)!important;
  color:var(--sdpi-v1293-deep)!important;
  font-size:23px!important;
  line-height:1!important;
  font-style:normal!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-avatar i.dashicons:before{
  width:auto!important;
  height:auto!important;
  font-size:23px!important;
  line-height:1!important;
}

/* Centre Setup workspace navigation: retire the legacy blue tab treatment. */
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:8px 0 11px!important;
  padding:7px!important;
  border:1px solid var(--sdpi-v1293-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(25,44,33,.05)!important;
}
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a,
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a:link,
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  height:auto!important;
  padding:6px 11px!important;
  border:1px solid #CFC3A7!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--sdpi-v1293-army)!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:780!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a:is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold)!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
  outline:none!important;
}
html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a.is-active{
  border-color:var(--sdpi-v1293-army)!important;
  background:var(--sdpi-v1293-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1293-gold)!important;
}

/* Shared tab/navigation classes: same canonical treatment, no random blue. */
html body.sdpi-portal-body :is(.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav) :is(a,button),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip){
  border-color:#CFC3A7!important;
  background:#fff!important;
  color:var(--sdpi-v1293-army)!important;
}
html body.sdpi-portal-body :is(.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav) :is(a,button):is(:hover,:focus-visible),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold)!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
}
html body.sdpi-portal-body :is(.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav) :is(.is-active,.active,[aria-selected="true"]),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip):is(.is-active,.active,[aria-selected="true"]){
  border-color:var(--sdpi-v1293-army)!important;
  background:var(--sdpi-v1293-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1293-gold)!important;
}

/* Dashboard secondary action remains compact; no second login CTA. */
html body.sdpi-portal-body .sdpi-launch-hero-actions .button{
  min-height:34px!important;
  padding:6px 11px!important;
  border:1px solid #CFC3A7!important;
  border-radius:6px!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
  font-size:13.5px!important;
  font-weight:780!important;
}
html body.sdpi-portal-body .sdpi-launch-hero-actions .button:is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold)!important;
  background:var(--sdpi-v1293-gold-soft)!important;
  color:var(--sdpi-v1293-deep)!important;
}

@media(max-width:760px){
  html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
  }
  html body.sdpi-portal-body :is(.sdpi-centre-list-view,.sdpi-centre-form-view)>.sdpi-centre-workspace-nav>a{flex:0 0 auto!important}
}

/* Public entry corrections: v1.12.291 rules were historically appended with
   escaped newlines; repeat them here in the final loaded layer so LIVE output
   cannot depend on browser recovery of malformed legacy CSS. */
html body.sdpi-portal-body .sdpi-portal-nav>a.is-active{
  border-color:var(--sdpi-v1293-gold)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1293-gold)!important;
  color:var(--sdpi-v1293-army)!important;
}
html body.sdpi-portal-page-login .sdpi-login-register-button{
  border:1px solid #B38C34!important;
  background:var(--sdpi-v1293-gold)!important;
  color:var(--sdpi-v1293-deep)!important;
  box-shadow:0 7px 17px rgba(199,162,75,.20)!important;
}
html body.sdpi-portal-page-login .sdpi-login-register-button:is(:hover,:focus-visible){
  background:#D4B45E!important;
  border-color:var(--sdpi-v1293-army)!important;
  color:var(--sdpi-v1293-deep)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer{
  display:block!important;
  text-align:center!important;
  padding-top:10px!important;
  margin-top:12px!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer>small{
  display:block!important;
  max-width:none!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-size:12.5px!important;
  color:#526258!important;
}
html body.sdpi-portal-body .sdpi-portal-footer-bottom>span:first-child{white-space:nowrap!important}

/* Known legacy navigation families: one canonical Team Wishes treatment. */
html body.sdpi-portal-body .sdpi-form-tabs{
  gap:5px!important;
  padding:7px!important;
  border:1px solid var(--sdpi-v1293-line)!important;
  border-radius:8px!important;
  background:#fff!important;
}
html body.sdpi-portal-body .sdpi-form-tabs .sdpi-form-tab,
html body.sdpi-portal-body .sdpi-segmented-tabs>a,
html body.sdpi-portal-body .sdpi-crm-quick-filters .sdpi-quick-chip,
html body.sdpi-portal-body .sdpi-workspace-tab{
  border-color:#CFC3A7!important;
  background:#fff!important;
  color:var(--sdpi-v1293-army)!important;
  border-radius:6px!important;
  box-shadow:none!important;
  font-weight:780!important;
}
html body.sdpi-portal-body .sdpi-form-tabs .sdpi-form-tab:is(:hover,:focus-visible),
html body.sdpi-portal-body .sdpi-segmented-tabs>a:is(:hover,:focus-visible),
html body.sdpi-portal-body .sdpi-crm-quick-filters .sdpi-quick-chip:is(:hover,:focus-visible),
html body.sdpi-portal-body .sdpi-workspace-tab:is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold)!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
}
html body.sdpi-portal-body .sdpi-form-tabs .sdpi-form-tab.active,
html body.sdpi-portal-body .sdpi-segmented-tabs>a.is-active,
html body.sdpi-portal-body .sdpi-crm-quick-filters .sdpi-quick-chip.active,
html body.sdpi-portal-body .sdpi-workspace-tab.active{
  border-color:var(--sdpi-v1293-army)!important;
  background:var(--sdpi-v1293-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1293-gold)!important;
}
html body.sdpi-portal-body .sdpi-workspace-tab>b,
html body.sdpi-portal-body .sdpi-step-target>span{
  border-radius:5px!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
}
html body.sdpi-portal-body .sdpi-workspace-tab.active>b,
html body.sdpi-portal-body .sdpi-step-target.is-active>span,
html body.sdpi-portal-body .sdpi-step-target.active>span{
  background:var(--sdpi-v1293-gold)!important;
  color:var(--sdpi-v1293-deep)!important;
}

/* Legacy WordPress nav tabs rendered inside branded Campus routes. */
html body.sdpi-portal-body .sdpi-admin-module-host .nav-tab-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:8px 0 11px!important;
  padding:7px!important;
  border:1px solid var(--sdpi-v1293-line)!important;
  border-radius:8px!important;
  background:#fff!important;
}
html body.sdpi-portal-body .sdpi-admin-module-host .nav-tab-wrapper .nav-tab{
  float:none!important;
  margin:0!important;
  min-height:34px!important;
  padding:6px 11px!important;
  border:1px solid #CFC3A7!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--sdpi-v1293-army)!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:780!important;
}
html body.sdpi-portal-body .sdpi-admin-module-host .nav-tab-wrapper .nav-tab:is(:hover,:focus-visible){
  border-color:var(--sdpi-v1293-gold)!important;
  background:var(--sdpi-v1293-cream)!important;
  color:var(--sdpi-v1293-deep)!important;
}
html body.sdpi-portal-body .sdpi-admin-module-host .nav-tab-wrapper .nav-tab.nav-tab-active{
  border-color:var(--sdpi-v1293-army)!important;
  background:var(--sdpi-v1293-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1293-gold)!important;
}

@media(max-width:720px){
  html body.sdpi-portal-page-login .sdpi-login-clean-footer>small,
  html body.sdpi-portal-body .sdpi-portal-footer-bottom>span:first-child{white-space:normal!important}
}

/* ===== portal-global-ui-v1294.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.294 — Global Portal UI Sweep
   Canonical visual language: Team Wishes / Army Green + Gold + Cream.
   Purpose: one shared correction layer for same-class regressions across
   all branded portal routes. No business logic is changed here.
   ========================================================= */
:root{
  --sdpi-v1294-army:#233B2D;
  --sdpi-v1294-deep:#192C21;
  --sdpi-v1294-mid:#304F3C;
  --sdpi-v1294-gold:#C7A24B;
  --sdpi-v1294-cream:#F6EFDF;
  --sdpi-v1294-gold-soft:#F6E9B9;
  --sdpi-v1294-ink:#1F2937;
  --sdpi-v1294-muted:#526258;
  --sdpi-v1294-line:#DFD8C7;
  --sdpi-v1294-white:#fff;
}

/* ---------- ONE canonical blended page header ---------- */
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:94px!important;
  margin:0 0 12px!important;
  border:1px solid var(--sdpi-v1294-line)!important;
  border-bottom:3px solid var(--sdpi-v1294-gold)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(25,44,33,.06)!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head>div:first-child{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head>div:first-child>span{
  color:#7E621D!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head :is(h1,.sdpi-page-title){
  color:var(--sdpi-v1294-army)!important;
  font-size:24px!important;
  line-height:1.18!important;
  font-weight:850!important;
  margin:4px 0 4px!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head>div:first-child>p{
  max-width:900px!important;
  margin:0!important;
  color:var(--sdpi-v1294-ink)!important;
  font-size:14.5px!important;
  line-height:1.4!important;
  font-weight:500!important;
}

/* The right accent/action panel gets the same restrained shade on every page. */
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  align-self:stretch!important;
  min-width:232px!important;
  padding:14px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  border-left:3px solid var(--sdpi-v1294-gold)!important;
  background:linear-gradient(135deg,var(--sdpi-v1294-army),var(--sdpi-v1294-deep))!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions)::before{
  content:""!important;
  position:absolute!important;
  width:178px!important;
  height:178px!important;
  right:-72px!important;
  top:-73px!important;
  border-radius:50%!important;
  background:rgba(199,162,75,.15)!important;
  box-shadow:0 0 0 34px rgba(246,233,185,.045)!important;
  pointer-events:none!important;
  z-index:0!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions)::after{
  content:""!important;
  position:absolute!important;
  width:110px!important;
  height:110px!important;
  left:-52px!important;
  bottom:-76px!important;
  border-radius:50%!important;
  background:rgba(246,239,223,.055)!important;
  pointer-events:none!important;
  z-index:0!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions)>*{
  position:relative!important;
  z-index:2!important;
}

/* Header actions must be readable even if an old module declares dark-on-dark. */
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,a:link,a:visited,button,.button),
html body.sdpi-portal-body .sdpi-blended-page-head .sdpi-head-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  height:auto!important;
  padding:7px 12px!important;
  border:1px solid rgba(246,233,185,.78)!important;
  border-radius:7px!important;
  background:rgba(246,239,223,.98)!important;
  color:var(--sdpi-v1294-deep)!important;
  opacity:1!important;
  text-shadow:none!important;
  text-decoration:none!important;
  font-size:13.5px!important;
  line-height:1.15!important;
  font-weight:850!important;
  box-shadow:0 2px 7px rgba(0,0,0,.10)!important;
}
html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions) :is(a,button,.button):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1294-gold-soft)!important;
  background:var(--sdpi-v1294-gold)!important;
  color:var(--sdpi-v1294-deep)!important;
  outline:2px solid rgba(246,233,185,.38)!important;
  outline-offset:1px!important;
}

/* Public top hero/header boxes use the same subtle right-side shade. */
html body.sdpi-portal-body :is(.sdpi-admission-public-head,.sdpi-scm-public-wrap>.sdpi-scm-header){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
html body.sdpi-portal-body :is(.sdpi-admission-public-head,.sdpi-scm-public-wrap>.sdpi-scm-header)::after{
  content:""!important;
  position:absolute!important;
  right:-64px!important;
  top:-58px!important;
  width:190px!important;
  height:190px!important;
  border-radius:50%!important;
  background:rgba(199,162,75,.14)!important;
  box-shadow:0 0 0 34px rgba(246,233,185,.04)!important;
  pointer-events:none!important;
  z-index:0!important;
}
html body.sdpi-portal-body :is(.sdpi-admission-public-head,.sdpi-scm-public-wrap>.sdpi-scm-header)>*{
  position:relative!important;
  z-index:1!important;
}

/* ---------- Remove visual leftovers from old second-header system ---------- */
html body.sdpi-portal-body .sdpi-admin-module-host>.sdpi-v1294-merged-intro,
html body.sdpi-portal-body .sdpi-admin-module-host .sdpi-v1294-merged-intro{
  display:none!important;
}
html body.sdpi-portal-body .sdpi-admin-module-host .sdpi-module-banner{
  margin:8px 0 10px!important;
  padding:8px 11px!important;
  border:1px solid #D9E3C0!important;
  border-left:3px solid var(--sdpi-v1294-gold)!important;
  border-radius:7px!important;
  background:#FBFCF5!important;
  color:var(--sdpi-v1294-ink)!important;
  font-size:13px!important;
  line-height:1.4!important;
}

/* ---------- Canonical shared buttons / tabs / chips ---------- */
html body.sdpi-portal-body :is(
  .sdpi-centre-workspace-nav,
  .sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,
  .sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,
  .sdpi-centre-editor-toolbar-links
) :is(a,button,.nav-tab),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip,.sdpi-workspace-tab){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  height:auto!important;
  padding:6px 11px!important;
  border:1px solid #CFC3A7!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--sdpi-v1294-army)!important;
  text-decoration:none!important;
  text-shadow:none!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body :is(
  .sdpi-centre-workspace-nav,
  .sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,
  .sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,
  .sdpi-centre-editor-toolbar-links
) :is(a,button,.nav-tab):is(:hover,:focus-visible),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip,.sdpi-workspace-tab):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1294-gold)!important;
  background:var(--sdpi-v1294-cream)!important;
  color:var(--sdpi-v1294-deep)!important;
  outline:none!important;
}
html body.sdpi-portal-body :is(
  .sdpi-centre-workspace-nav,
  .sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,
  .sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper
) :is(.is-active,.active,.nav-tab-active,[aria-selected="true"],[aria-current="page"]),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-quick-chip,.sdpi-workspace-tab):is(.is-active,.active,[aria-selected="true"],[aria-current="page"]){
  border-color:var(--sdpi-v1294-army)!important;
  background:var(--sdpi-v1294-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1294-gold)!important;
}

/* Centre jump controls are navigation helpers, not giant floating pills. */
html body.sdpi-portal-body .sdpi-centre-editor-toolbar-links{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
html body.sdpi-portal-body .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section]{
  min-height:34px!important;
  padding:6px 10px!important;
  background:#fff!important;
  color:var(--sdpi-v1294-army)!important;
  border-color:#CFC3A7!important;
}
html body.sdpi-portal-body .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section].is-current{
  background:var(--sdpi-v1294-gold)!important;
  color:var(--sdpi-v1294-army)!important;
  -webkit-text-fill-color:var(--sdpi-v1294-army)!important;
  border-color:#A9872E!important;
  font-weight:800!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1294-army)!important;
}

/* ---------- Centre logo row: no overlap, no giant dead strip ---------- */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control.sdpi-logo-control-compact{
  overflow:hidden!important;
  border:1px solid var(--sdpi-v1294-line)!important;
  background:#FBFAF6!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-title strong{
  color:var(--sdpi-v1294-army)!important;
  font-size:14px!important;
  font-weight:800!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-title small,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-note{
  color:var(--sdpi-v1294-muted)!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-preview{
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px dashed #CFC3A7!important;
  border-radius:6px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-centre-logo-actions :is(.button,.sdpi-file-button){
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
  padding:6px 10px!important;
  border-radius:6px!important;
  border:1px solid #CFC3A7!important;
  background:#fff!important;
  color:var(--sdpi-v1294-army)!important;
  font-size:12.5px!important;
  line-height:20px!important;
  font-weight:800!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-centre-logo-actions :is(.button,.sdpi-file-button):is(:hover,:focus-visible){
  border-color:var(--sdpi-v1294-gold)!important;
  background:var(--sdpi-v1294-cream)!important;
  color:var(--sdpi-v1294-deep)!important;
}

/* ---------- Centre form typography: compact, but not microscopic ---------- */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-title>div>span,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-section-head>span{
  font-size:13px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-title h2{
  color:var(--sdpi-v1294-army)!important;
  font-size:18px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-title p,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-section-head p,
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-main span{
  color:var(--sdpi-v1294-muted)!important;
  font-size:14px!important;
  line-height:1.35!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-section-head h3{
  color:var(--sdpi-v1294-army)!important;
  font-size:16px!important;
  line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-card label{
  color:var(--sdpi-v1294-ink)!important;
  font-size:13.5px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-card label :is(small,.description),
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-card .sdpi-help{
  color:var(--sdpi-v1294-muted)!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-card :is(input[type=text],input[type=email],input[type=url],input[type=date],input[type=tel],input[type=number],select){
  min-height:38px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:6px!important;
  font-size:14px!important;
  line-height:36px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-form-card textarea{
  min-height:70px!important;
  padding:8px 10px!important;
  border-radius:6px!important;
  font-size:14px!important;
  line-height:1.4!important;
}

/* ---------- Sidebar signed-in identity ---------- */
html body.sdpi-portal-body .sdpi-admin-profile-brand{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-avatar{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  overflow:hidden!important;
  border:1px solid rgba(246,233,185,.42)!important;
  border-radius:8px!important;
  background:var(--sdpi-v1294-mid)!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:0!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-brand strong{
  display:block!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:850!important;
  overflow-wrap:anywhere!important;
}
html body.sdpi-portal-body .sdpi-admin-profile-brand small{
  display:block!important;
  margin-top:2px!important;
  color:var(--sdpi-v1294-cream)!important;
  opacity:.94!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* ---------- Organisation/logo brand protection ---------- */
html body.sdpi-portal-body .sdpi-portal-brand img,
html body.sdpi-portal-body :is(.sdpi-portal-brand-logo,.sdpi-public-brand-logo,.sdpi-site-logo,.sdpi-header-logo) img,
html body.sdpi-portal-body header img[alt*="SDPI" i],
html body.sdpi-portal-body header img[alt*="Sai Digitech" i]{
  width:auto!important;
  height:auto!important;
  max-width:152px!important;
  max-height:76px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}

/* ---------- Public login: dark-panel quick links must remain visible ---------- */
html body.sdpi-portal-page-login .sdpi-login-quick-links{
  display:flex!important;
  gap:14px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin-top:10px!important;
}
html body.sdpi-portal-page-login .sdpi-login-quick-links :is(a,a:link,a:visited){
  color:var(--sdpi-v1294-cream)!important;
  opacity:1!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(199,162,75,.78)!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
html body.sdpi-portal-page-login .sdpi-login-quick-links a:is(:hover,:focus-visible){
  color:var(--sdpi-v1294-gold-soft)!important;
  border-bottom-color:var(--sdpi-v1294-gold-soft)!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
}
html body.sdpi-portal-page-login .sdpi-login-clean-footer>small{
  display:block!important;
  max-width:none!important;
  white-space:nowrap!important;
  color:#66736B!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}

/* Public nav selected state: Gold/Cream, never blue selection. */
html body.sdpi-portal-body .sdpi-portal-nav>a.is-active,
html body.sdpi-portal-body .sdpi-portal-nav>a[aria-current="page"]{
  border-color:var(--sdpi-v1294-gold)!important;
  background:var(--sdpi-v1294-cream)!important;
  color:var(--sdpi-v1294-army)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1294-gold)!important;
}

/* ---------- Global readable dark-panel rule ---------- */
html body.sdpi-portal-body :is(.sdpi-user-hero,.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-launch-hero)[style*="background"],
html body.sdpi-portal-body :is(.sdpi-user-hero,.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-launch-hero){
  border-bottom:3px solid var(--sdpi-v1294-gold)!important;
}
html body.sdpi-portal-body :is(.sdpi-user-hero,.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-launch-hero) :is(h1,h2,h3,strong){
  color:#fff!important;
}
html body.sdpi-portal-body :is(.sdpi-user-hero,.sdpi-control-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-launch-hero) :is(p,small){
  color:rgba(246,239,223,.94)!important;
}

@media(max-width:900px){
  html body.sdpi-portal-body :is(.sdpi-admin-head,.sdpi-ops-head,.sdpi-student-page-head).sdpi-blended-page-head{
    min-height:0!important;
  }
  html body.sdpi-portal-body .sdpi-blended-page-head :is(.sdpi-admin-head-actions,.sdpi-ops-head-actions,.sdpi-head-actions,.sdpi-student-head-actions){
    min-width:0!important;
    width:calc(100% + 28px)!important;
    margin:0 -14px -13px!important;
    padding:10px 14px!important;
    border-left:0!important;
    border-top:3px solid var(--sdpi-v1294-gold)!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:720px){
  html body.sdpi-portal-page-login .sdpi-login-clean-footer>small{white-space:normal!important}
  html body.sdpi-portal-body .sdpi-centre-editor-toolbar-links{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important}
  html body.sdpi-portal-body .sdpi-centre-editor-toolbar-links button{flex:0 0 auto!important}
}

/* ===== portal-global-ui-v1295.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.295 — Portal Header / Setup Completion Sweep
   Loaded after v1.12.294. Fixes the same defect class globally:
   one authoritative outer page header, readable Army Green/Gold controls,
   compact setup spacing and no hidden text on selected/dark surfaces.
   ========================================================= */
:root{
  --sdpi-v1295-army:#233B2D;
  --sdpi-v1295-deep:#192C21;
  --sdpi-v1295-mid:#304F3C;
  --sdpi-v1295-gold:#C7A24B;
  --sdpi-v1295-cream:#F6EFDF;
  --sdpi-v1295-gold-soft:#F6E9B9;
  --sdpi-v1295-ink:#1F2937;
  --sdpi-v1295-muted:#526258;
  --sdpi-v1295-line:#DFD8C7;
}

/* The branded outer shell is authoritative. JS marks any module-local top hero
   that merely repeats page identity; hide it without touching real content. */
html body.sdpi-portal-body .sdpi-v1295-secondary-page-head{
  display:none!important;
}

/* If a legacy module leaves a tiny empty wrapper after its hero is removed,
   collapse only the empty shell, never forms/tables/content. */
html body.sdpi-portal-body .sdpi-admin-module-host :is(.wrap,.sdpi-scm-wrap):has(> .sdpi-v1295-secondary-page-head):not(:has(form,table,.sdpi-card,.sdpi-grid-2,.sdpi-stat-grid,.notice)){
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

/* Reduce the dead strip between the canonical header and first real content. */
html body.sdpi-portal-body .sdpi-admin-module-host,
html body.sdpi-portal-body .sdpi-ops-module-host{
  padding-top:0!important;
}
html body.sdpi-portal-body .sdpi-admin-module-host > :first-child,
html body.sdpi-portal-body .sdpi-ops-module-host > :first-child{
  margin-top:0!important;
}

/* Centre workspace tabs: selected text must remain visible. */
html body.sdpi-portal-body .sdpi-centre-workspace-nav{
  margin:0 0 8px!important;
  padding:5px!important;
  gap:5px!important;
  border:1px solid var(--sdpi-v1295-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-centre-workspace-nav > a{
  min-height:34px!important;
  padding:6px 11px!important;
  border:1px solid #CFC3A7!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--sdpi-v1295-army)!important;
  opacity:1!important;
  text-shadow:none!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
html body.sdpi-portal-body .sdpi-centre-workspace-nav > a.is-active,
html body.sdpi-portal-body .sdpi-centre-workspace-nav > a[aria-current="page"]{
  border-color:var(--sdpi-v1295-army)!important;
  background:var(--sdpi-v1295-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1295-gold)!important;
}
html body.sdpi-portal-body .sdpi-centre-workspace-nav > a.is-active :is(span,strong,small),
html body.sdpi-portal-body .sdpi-centre-workspace-nav > a[aria-current="page"] :is(span,strong,small){color:#fff!important}

/* Centre editor toolbar: no unexplained blank column between section jumps and save actions. */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar{
  display:grid!important;
  grid-template-columns:minmax(210px,1.2fr) minmax(340px,1.4fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 10px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-main{
  min-width:0!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links{
  min-width:0!important;
  justify-content:flex-start!important;
  align-content:center!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-fast-create-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-fast-create-actions [data-sdpi-form-state]{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:5px 9px!important;
  border:1px solid #D8CDAF!important;
  border-radius:6px!important;
  background:var(--sdpi-v1295-cream)!important;
  color:var(--sdpi-v1295-army)!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

/* Centre draft readiness is a real checklist, not one long sentence. */
html body.sdpi-portal-body .sdpi-centre-draft-note{
  margin:8px 0 10px!important;
  padding:10px 11px!important;
  border:1px solid #E6D8B5!important;
  border-left:4px solid var(--sdpi-v1295-gold)!important;
  border-radius:7px!important;
  background:#FFFCF5!important;
}
html body.sdpi-portal-body .sdpi-centre-draft-note > p:first-child{
  margin:0 0 7px!important;
  color:var(--sdpi-v1295-army)!important;
  font-size:14px!important;
}
html body.sdpi-portal-body .sdpi-centre-readiness-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0 0 7px!important;
}
html body.sdpi-portal-body .sdpi-centre-readiness-item{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:36px!important;
  padding:6px 8px!important;
  border:1px solid #DDD4C1!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--sdpi-v1295-ink)!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-centre-readiness-item b{
  flex:0 0 auto!important;
  padding:3px 6px!important;
  border-radius:5px!important;
  background:#EEF4E9!important;
  color:var(--sdpi-v1295-army)!important;
  font-size:11.5px!important;
}
html body.sdpi-portal-body .sdpi-centre-readiness-item.is-pending b{
  background:#FFF1CF!important;
  color:#6E5316!important;
}

/* Last-load typography/contrast safety for dark legacy panels that remain as
   functional cards rather than page headers. */
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-course-workhead,.sdpi-compact-workhead,.sdpi-crm-workspace-head)[style*="background"],
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero){
  border-color:var(--sdpi-v1295-gold)!important;
}
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero) :is(h1,h2,h3,strong,span){
  color:#fff!important;
}
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero) :is(p,small){
  color:rgba(246,239,223,.96)!important;
}

/* Legacy blue headings/section titles inside direct modules: Army Green lock. */
html body.sdpi-portal-body .sdpi-admin-module-host :is(.sdpi-card-title h2,.sdpi-centre-form-title h2,.sdpi-centre-section-head h3,.sdpi-shift-card>h2,.sdpi-shift-section h3,.sdpi-guided-settings-grid h2){
  color:var(--sdpi-v1295-army)!important;
}

/* Aadhaar field should visibly communicate masked/protected state. */
html body.sdpi-portal-body .sdpi-aadhaar-protected-note{
  display:block!important;
  margin-top:4px!important;
  color:var(--sdpi-v1295-muted)!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}

@media(max-width:1180px){
  html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar{
    grid-template-columns:1fr 1fr!important;
  }
  html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-fast-create-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:820px){
  html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar{grid-template-columns:1fr!important}
  html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-fast-create-actions{grid-column:auto!important;flex-wrap:wrap!important;min-width:0!important}
  html body.sdpi-portal-body .sdpi-centre-readiness-list{grid-template-columns:1fr!important}
  html body.sdpi-portal-body .sdpi-centre-workspace-nav{overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important}
  html body.sdpi-portal-body .sdpi-centre-workspace-nav>a{flex:0 0 auto!important}
}

/* ---------- v1.12.295 completion: common direct-rendered controls ---------- */
html body.sdpi-portal-body :is(.nav-tab-wrapper,.sdpi-segmented-tabs,.sdpi-form-tabs){
  border-color:var(--sdpi-v1295-line)!important;
}
html body.sdpi-portal-body :is(.nav-tab,.sdpi-segmented-tabs>a,.sdpi-form-tab){
  border-radius:6px!important;
  font-weight:800!important;
  text-shadow:none!important;
}
html body.sdpi-portal-body :is(.nav-tab.nav-tab-active,.sdpi-segmented-tabs>a.is-active,.sdpi-form-tab.active){
  background:var(--sdpi-v1295-army)!important;
  border-color:var(--sdpi-v1295-army)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1295-gold)!important;
}
html body.sdpi-portal-body :is(.nav-tab.nav-tab-active,.sdpi-segmented-tabs>a.is-active,.sdpi-form-tab.active) :is(span,strong,small){
  color:#fff!important;
}
html body.sdpi-portal-body :is(.description,.sdpi-help,.sdpi-lead){
  opacity:1!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) :is(.sdpi-card,.sdpi-form-grid,.sdpi-user-card,.sdpi-centre-form-card) :is(.description,.sdpi-help,.sdpi-lead){
  color:var(--sdpi-v1295-muted)!important;
}
html body.sdpi-portal-body :is(.sdpi-status-chip,.sdpi-module-status,.sdpi-study-session-meta span){
  border-radius:5px!important;
}

/* Centre logo preview: reserve enough vertical room for both the actual logo
   and its source line. Older compact CSS used a 52px clipped box. */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-preview{
  min-height:64px!important;
  height:64px!important;
  padding:5px 6px!important;
  gap:3px!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-preview img{
  max-height:36px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-logo-control-compact .sdpi-logo-source{
  display:block!important;
  max-width:168px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--sdpi-v1295-ink)!important;
  opacity:1!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

/* Direct staff/operations modules may still carry old blue local CSS. Keep
   functional cards, but normalize their headings/actions to the shared brand. */
html body.sdpi-portal-body :is(.sdpi-study-card h2,.sdpi-study-session h3,.sdpi-study-form label),
html body.sdpi-portal-body :is(.sdpi-operations-card h2,.sdpi-operations-card h3){
  color:var(--sdpi-v1295-army)!important;
}
html body.sdpi-portal-body .sdpi-study-hero>a,
html body.sdpi-portal-body .sdpi-operations-hero>a{
  background:var(--sdpi-v1295-army)!important;
  border-color:var(--sdpi-v1295-army)!important;
  color:#fff!important;
}

/* Users & Access uses the same portal controls even though older inline CSS
   still exists in the module. The final shared layer wins without rewriting
   user-management business logic. */
html body.sdpi-portal-body .sdpi-user-master :is(.sdpi-user-card-head h2,.sdpi-user-accordion summary,.sdpi-user-section-note strong,.sdpi-centre-readiness>strong){
  color:var(--sdpi-v1295-army)!important;
}
html body.sdpi-portal-body .sdpi-user-master :is(.button.button-primary,.sdpi-user-submit .button-primary){
  background:var(--sdpi-v1295-army)!important;
  border-color:var(--sdpi-v1295-army)!important;
  color:#fff!important;
}
html body.sdpi-portal-body .sdpi-user-master :is(.button.button-primary,.sdpi-user-submit .button-primary):is(:hover,:focus-visible){
  background:var(--sdpi-v1295-deep)!important;
  border-color:var(--sdpi-v1295-gold)!important;
}
html body.sdpi-portal-body .sdpi-user-master :is(.sdpi-badge,.sdpi-status,.sdpi-status-badge){
  border-radius:5px!important;
}
html body.sdpi-portal-body .sdpi-user-master .sdpi-user-card{
  border-radius:8px!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-user-master .sdpi-user-card-head{
  background:#FBFAF6!important;
  border-color:var(--sdpi-v1295-line)!important;
}
html body.sdpi-portal-body .sdpi-user-master .sdpi-user-accordion summary{
  background:#FBFAF6!important;
}
html body.sdpi-portal-body .sdpi-user-master .sdpi-user-accordion[open] summary{
  box-shadow:inset 3px 0 0 var(--sdpi-v1295-gold)!important;
}

/* ===== portal-contrast-guard-v1296.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.296 — Global Contrast Guard
   Last-load safety layer for the defect class found in live UAT:
   any selected/primary control on a dark SDPI surface must retain
   high-contrast readable text, regardless of older link typography rules.
   ========================================================= */
:root{
  --sdpi-v1296-army:#233B2D;
  --sdpi-v1296-deep:#192C21;
  --sdpi-v1296-mid:#304F3C;
  --sdpi-v1296-gold:#C7A24B;
  --sdpi-v1296-cream:#F6EFDF;
  --sdpi-v1296-white:#FFFFFF;
}

/* 1) Selected navigation/tabs. Deliberately more specific than the historical
   operational-content link rule that caused green-on-green selected labels. */
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-cac-wrap,.sdpi-scm-wrap)
:is(.sdpi-centre-workspace-nav,.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,.sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,.sdpi-centre-editor-toolbar-links,.sdpi-crm-quick-filters)
:is(a,button,.nav-tab,.sdpi-form-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,.nav-tab-active,[aria-current="page"],[aria-selected="true"]),
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-cac-wrap,.sdpi-scm-wrap)
:is(a.sdpi-tab,button.sdpi-tab,.sdpi-workspace-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,[aria-current="page"],[aria-selected="true"]){
  background:var(--sdpi-v1296-army)!important;
  border-color:var(--sdpi-v1296-army)!important;
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
  text-shadow:none!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1296-gold)!important;
}
html body.sdpi-portal-body :is(.sdpi-admin-main,.sdpi-ops-main,.sdpi-student-main,.sdpi-portal-main,.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-cac-wrap,.sdpi-scm-wrap)
:is(.sdpi-centre-workspace-nav,.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,.sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,.sdpi-centre-editor-toolbar-links,.sdpi-crm-quick-filters)
:is(a,button,.nav-tab,.sdpi-form-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,.nav-tab-active,[aria-current="page"],[aria-selected="true"])
:is(span,strong,b,small,em,i,label),
html body.sdpi-portal-body :is(a.sdpi-tab,button.sdpi-tab,.sdpi-workspace-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,[aria-current="page"],[aria-selected="true"])
:is(span,strong,b,small,em,i,label){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
}

/* Keep selected labels readable on hover/visited/focus too. */
html body.sdpi-portal-body .sdpi-centre-workspace-nav>a:is(.is-active,[aria-current="page"]):is(:link,:visited,:hover,:focus-visible),
html body.sdpi-portal-body :is(.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,.sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,.sdpi-crm-quick-filters)
:is(a,button,.nav-tab,.sdpi-form-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,.nav-tab-active,[aria-current="page"],[aria-selected="true"]):is(:hover,:focus-visible){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
}

/* 2) Primary actions. Nested legacy spans/icons must inherit the light label. */
html body.sdpi-portal-body :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-primary-action),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host,.sdpi-user-master,.sdpi-library-module,.sdpi-control-centre)
:is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-primary-action){
  background:var(--sdpi-v1296-army)!important;
  border-color:var(--sdpi-v1296-army)!important;
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  text-shadow:none!important;
}
html body.sdpi-portal-body :is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-primary-action) :is(span,strong,b,small,em,i),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host,.sdpi-user-master,.sdpi-library-module,.sdpi-control-centre)
:is(.button-primary,.sdpi-scm-primary,.sdpi-btn-primary,.sdpi-ui-btn.is-primary,.sdpi-btn.primary,.sdpi-primary-action) :is(span,strong,b,small,em,i){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
}

/* 3) Known full-dark functional panels that remain after one-header dedupe. */
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot),
body.wp-admin :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot){
  color:var(--sdpi-v1296-white)!important;
}
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot)
:is(h1,h2,h3,h4,p,li,a,span,strong,b,small,em,label,.description,.sdpi-help,.sdpi-lead),
body.wp-admin :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot)
:is(h1,h2,h3,h4,p,li,a,span,strong,b,small,em,label,.description,.sdpi-help,.sdpi-lead){
  color:var(--sdpi-v1296-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-cream)!important;
  opacity:1!important;
}
html body.sdpi-portal-body :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot) :is(h1,h2,h3,h4,strong,b),
body.wp-admin :is(.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero,.sdpi-guide-troubleshoot) :is(h1,h2,h3,h4,strong,b){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
}

/* 4) Runtime-discovered dark controls. JS adds this only when computed
   background is dark, so light secondary buttons are never changed. */
html body.sdpi-portal-body .sdpi-v1296-dark-control,
body.wp-admin .sdpi-v1296-dark-control{
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.sdpi-portal-body .sdpi-v1296-dark-control :is(span,strong,b,small,em,i,label),
body.wp-admin .sdpi-v1296-dark-control :is(span,strong,b,small,em,i,label){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
}

/* Disabled dark controls remain readable but visibly disabled. */
html body.sdpi-portal-body .sdpi-v1296-dark-control:is(:disabled,.disabled,[aria-disabled="true"]),
body.wp-admin .sdpi-v1296-dark-control:is(:disabled,.disabled,[aria-disabled="true"]){
  opacity:.62!important;
}

/* 5) Signed/native SDPI module renderer: same selected-control guarantee. */
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-user-master,.sdpi-library-module,.sdpi-control-centre,.sdpi-course-architecture,.sdpi-admission-crm,.sdpi-academic-ops)
:is(.sdpi-centre-workspace-nav,.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,.sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,.sdpi-centre-editor-toolbar-links,.sdpi-crm-quick-filters)
:is(a,button,.nav-tab,.sdpi-form-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,.nav-tab-active,[aria-current="page"],[aria-selected="true"]){
  background:var(--sdpi-v1296-army)!important;
  border-color:var(--sdpi-v1296-army)!important;
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
  text-shadow:none!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1296-gold)!important;
}
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-user-master,.sdpi-library-module,.sdpi-control-centre,.sdpi-course-architecture,.sdpi-admission-crm,.sdpi-academic-ops)
:is(.sdpi-centre-workspace-nav,.sdpi-tab-nav,.sdpi-tabs,.sdpi-workspace-tabs,.sdpi-module-tabs,.sdpi-subnav,.sdpi-form-tabs,.sdpi-segmented-tabs,.nav-tab-wrapper,.sdpi-centre-editor-toolbar-links,.sdpi-crm-quick-filters)
:is(a,button,.nav-tab,.sdpi-form-tab,.sdpi-quick-chip):is(.is-active,.active,.is-current,.current,.selected,.nav-tab-active,[aria-current="page"],[aria-selected="true"])
:is(span,strong,b,small,em,i,label){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
}

/* 6) Runtime-normalised selected navigation catches legacy/custom tab class names
   that are not part of the shared selector vocabulary. */
html body.sdpi-portal-body .sdpi-v1296-selected-control,
body.wp-admin .sdpi-v1296-selected-control{
  background:var(--sdpi-v1296-army)!important;
  border-color:var(--sdpi-v1296-army)!important;
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
  text-shadow:none!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1296-gold)!important;
}
html body.sdpi-portal-body .sdpi-v1296-selected-control :is(span,strong,b,small,em,i,label),
body.wp-admin .sdpi-v1296-selected-control :is(span,strong,b,small,em,i,label){
  color:var(--sdpi-v1296-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1296-white)!important;
  opacity:1!important;
}

/* ===== portal-density-v1297.css ===== */
/* ================================================================
   SDPI Digital Campus v1.12.297 — Compact Operational Density
   Scope: Employee Operations module cards + Course Master step navigator.
   Goal: remove oversized/dead card space while preserving touch/readability.
   ================================================================ */

/* Employee Operations: 4 compact cards on normal desktop signed-module width. */
html body :is(.sdpi-operations-workspace,.sdpi-admin-module-host) .sdpi-operation-section{
  margin-top:14px!important;
}
html body :is(.sdpi-operations-workspace,.sdpi-admin-module-host) .sdpi-operation-section>header{
  margin:0 2px 8px!important;
}
html body :is(.sdpi-operations-workspace,.sdpi-admin-module-host) .sdpi-operation-section>header h2{
  margin:3px 0 2px!important;
  font-size:18px!important;
  line-height:1.25!important;
}
html body :is(.sdpi-operations-workspace,.sdpi-admin-module-host) .sdpi-operation-section>header p{
  font-size:14.5px!important;
  line-height:1.4!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
html body .sdpi-operations-workspace a.sdpi-operation-card-tile{
  min-height:136px!important;
  height:auto!important;
  padding:14px 14px 12px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile .sdpi-module-status{
  top:11px!important;
  right:11px!important;
  padding:3px 7px!important;
  border-radius:6px!important;
  font-size:10px!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile .sdpi-module-icon{
  width:38px!important;
  height:38px!important;
  margin:0 0 9px!important;
  border-radius:9px!important;
  font-size:20px!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile>strong{
  font-size:16px!important;
  line-height:1.25!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile>p{
  min-height:0!important;
  margin:5px 0 10px!important;
  font-size:14.5px!important;
  line-height:1.38!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile .sdpi-module-open{
  font-size:13px!important;
  line-height:1.2!important;
}
html body .sdpi-operations-workspace .sdpi-operation-card-tile .sdpi-module-open b{
  font-size:15px!important;
}

/* Keep the runtime notice useful but visually subordinate to the work cards. */
html body .sdpi-operations-workspace .sdpi-runtime-note{
  margin-bottom:12px!important;
  padding:9px 12px!important;
  gap:10px!important;
}
html body .sdpi-operations-workspace .sdpi-runtime-note>.dashicons{
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
}

/* Course Master: seven desktop steps should occupy one compact row where space allows. */
@media (min-width:921px){
  html body .sdpi-course-architecture .sdpi-step-navigation{
    flex-wrap:nowrap!important;
    gap:5px!important;
    padding:6px 7px!important;
    overflow-x:auto!important;
    scrollbar-width:thin;
  }
  html body .sdpi-course-architecture .sdpi-step-target{
    flex:0 1 auto!important;
    min-height:30px!important;
    padding:4px 7px!important;
    gap:5px!important;
    border-radius:7px!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target span{
    flex:0 0 19px!important;
    width:19px!important;
    height:19px!important;
    font-size:10px!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target strong{
    font-size:11.25px!important;
    font-weight:600!important;
    line-height:1.12!important;
    white-space:nowrap!important;
  }
}

/* Tablet: compact 2-column cards; phone: one clear touch-friendly column. */
@media (max-width:1020px){
  html body .sdpi-operations-workspace .sdpi-operation-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:680px){
  html body .sdpi-operations-workspace .sdpi-operation-card-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  html body .sdpi-operations-workspace a.sdpi-operation-card-tile{
    min-height:0!important;
    padding:13px!important;
  }
}

/* ===== portal-density-v1298.css ===== */
/* ======================================================================
   SDPI Digital Campus v1.12.298 — FINAL PORTAL-WIDE COMPACT DENSITY LOCK
   Purpose: enforce the approved compact enterprise UI once at shared-class
   level instead of page-by-page.  Business logic/layout semantics remain.
   ====================================================================== */

:root{
  --sdpi-density-gap:10px;
  --sdpi-density-gap-sm:7px;
  --sdpi-density-pad-y:11px;
  --sdpi-density-pad-x:13px;
  --sdpi-density-radius:9px;
  --sdpi-density-ink:#1F2937;
  --sdpi-density-army:#233B2D;
  --sdpi-density-deep:#192C21;
  --sdpi-density-gold:#C7A24B;
  --sdpi-density-cream:#F6EFDF;
  --sdpi-density-line:#DDD4C1;
  --sdpi-density-soft:#FBFAF6;
}

/* 1) One spacing rhythm across native + framed + branded operational modules. */
html body :is(
  .sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,
  .sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-workflow-settings,
  .sdpi-module-one,.sdpi-fees-module,.sdpi-study-desk,.sdpi-employee-operations,
  .sdpi-library-module,.sdpi-shift-master
) :is(
  .sdpi-card,.sdpi-panel,.sdpi-form-panel,.sdpi-workspace-panel,.sdpi-wp-card,
  .sdpi-wp-section,.sdpi-step-panel,.sdpi-assignment-box,.sdpi-centre-section,
  .sdpi-library-compact-panel,.sdpi-public-panel,.sdpi-empty-state
){
  padding:var(--sdpi-density-pad-y) var(--sdpi-density-pad-x)!important;
  margin-bottom:var(--sdpi-density-gap)!important;
  border-radius:var(--sdpi-density-radius)!important;
  box-shadow:0 1px 2px rgba(25,44,33,.035)!important;
}

html body :is(
  .sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,
  .sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-workflow-settings,
  .sdpi-module-one,.sdpi-fees-module,.sdpi-study-desk,.sdpi-employee-operations
) :is(
  .sdpi-form-grid,.sdpi-form-grid-compact,.sdpi-grid-2,.sdpi-grid-3,.sdpi-scm-grid,
  .sdpi-check-grid,.sdpi-wp-grid,.sdpi-wp-formgrid,.sdpi-guided-settings-grid
){
  gap:var(--sdpi-density-gap-sm) var(--sdpi-density-gap)!important;
}

/* 2) Approved typography hierarchy inside operational content. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-section-heading h2,.sdpi-panel-heading h2,.sdpi-control-section-heading h2){
  font-size:18px!important;
  line-height:1.25!important;
  color:var(--sdpi-density-army)!important;
  margin:0 0 4px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-card-title h2,.sdpi-card h3,.sdpi-panel h3,.sdpi-form-panel h3,.sdpi-shift-section h3){
  font-size:16px!important;
  line-height:1.25!important;
  color:var(--sdpi-density-army)!important;
  margin:0 0 4px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-card p,.sdpi-panel p,.sdpi-form-panel p,.sdpi-section-heading p,.sdpi-control-section-heading p,.sdpi-shift-section>p){
  font-size:14.5px!important;
  line-height:1.38!important;
  color:var(--sdpi-density-ink)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(small,.description,.sdpi-help,.sdpi-help-text,.sdpi-field-helper,.sdpi-field-hint,.sdpi-meta,.sdpi-metadata){
  font-size:13px!important;
  line-height:1.35!important;
}

/* 3) Generic form density — same control height and no giant field gaps. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  label{
  margin:0!important;
  line-height:1.25!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select){
  min-height:36px!important;
  height:36px!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  textarea{
  min-height:82px!important;
  padding:7px 9px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-form-actions,.sdpi-head-actions,.sdpi-wp-actions,.sdpi-library-actions-row){
  gap:7px!important;
  margin-top:8px!important;
  padding-top:8px!important;
}

/* 4) Navigation/action cards: compact enough to scan, not giant empty tiles. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-module-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  a.sdpi-module-tile{
  display:flex!important;
  flex-direction:column!important;
  min-height:132px!important;
  height:auto!important;
  padding:12px 13px 11px!important;
  border-radius:10px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-module-tile .sdpi-module-icon{
  width:36px!important;
  height:36px!important;
  margin:0 0 8px!important;
  border-radius:8px!important;
  font-size:20px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-module-tile>strong{
  font-size:16px!important;
  line-height:1.25!important;
  color:var(--sdpi-density-army)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-module-tile>p{
  min-height:0!important;
  margin:5px 0 8px!important;
  font-size:14.5px!important;
  line-height:1.35!important;
  color:var(--sdpi-density-ink)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-module-tile>.sdpi-module-open{
  margin-top:auto!important;
  font-size:13px!important;
  line-height:1.2!important;
}

/* 5) HR Dashboard: turn the previously loose text values into a proper compact KPI strip. */
html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 10px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stat-card{
  min-height:62px!important;
  padding:8px 10px!important;
  border:1px solid var(--sdpi-density-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(25,44,33,.03)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stat-card strong{
  display:block!important;
  margin:0 0 2px!important;
  color:var(--sdpi-density-army)!important;
  font-size:17px!important;
  line-height:1.2!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stat-card span{
  display:block!important;
  color:var(--sdpi-density-ink)!important;
  font-size:13px!important;
  line-height:1.25!important;
}

/* 6) Shift & Duty Master: six logical sections remain clear but lose dead space. */
html body .sdpi-shift-master .sdpi-shift-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
html body .sdpi-shift-master .sdpi-shift-card{
  padding:11px 12px!important;
  border-radius:9px!important;
  margin:0!important;
}
html body .sdpi-shift-master .sdpi-shift-card>h2{
  margin:0 0 8px!important;
  font-size:18px!important;
  line-height:1.25!important;
  color:var(--sdpi-density-army)!important;
}
html body .sdpi-shift-master .sdpi-shift-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
html body .sdpi-shift-master .sdpi-shift-section{
  gap:7px 9px!important;
  padding:9px 10px!important;
  border-radius:8px!important;
  align-content:start!important;
  min-height:0!important;
}
html body .sdpi-shift-master .sdpi-shift-section>p{
  margin:0 0 1px!important;
  font-size:13px!important;
  line-height:1.32!important;
}
html body .sdpi-shift-master .sdpi-shift-section label{
  gap:4px!important;
  font-size:13px!important;
}
html body .sdpi-shift-master .sdpi-shift-duration-summary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
html body .sdpi-shift-master .sdpi-shift-duration-summary>span{
  padding:7px 8px!important;
  border-radius:7px!important;
}
html body .sdpi-shift-master .sdpi-day-grid{gap:5px!important}
html body .sdpi-shift-master .sdpi-day-chip{
  padding:5px 7px!important;
  border-radius:6px!important;
  gap:5px!important;
  min-height:30px!important;
}
html body .sdpi-shift-master .sdpi-shift-action-bar{
  padding:8px 0 0!important;
  gap:7px!important;
}

/* 7) Checkbox/toggle/summary cards are controls, not large feature tiles. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-checkbox-card,.sdpi-toggle-card,.sdpi-switch-card,.sdpi-inline-check){
  min-height:0!important;
  padding:8px 9px!important;
  border-radius:7px!important;
  gap:6px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-pill,.sdpi-badge,.sdpi-chip,.sdpi-status-chip,.sdpi-mini-badge){
  border-radius:5px!important;
}

/* 8) Section headings should not consume a large empty band. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-control-section-heading,.sdpi-section-heading,.sdpi-panel-heading,.sdpi-section-head){
  margin-top:10px!important;
  margin-bottom:7px!important;
  gap:10px!important;
}

/* 9) Dense tables/filters: keep scanning area compact without shrinking text. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-enterprise-filterbar,.sdpi-compact-filterbar,.sdpi-filterbar,.sdpi-user-filterbar,.sdpi-crm-filter-panel,.sdpi-report-toolbar){
  padding:9px 10px!important;
  gap:8px!important;
  margin-bottom:9px!important;
  border-radius:8px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.widefat,.sdpi-wp-table,.sdpi-compact-table) :is(th,td){
  padding-top:7px!important;
  padding-bottom:7px!important;
}

/* Responsive density: never force four tiny columns on smaller work areas. */
@media(max-width:1180px){
  html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) .sdpi-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  html body .sdpi-shift-master .sdpi-shift-form{grid-template-columns:1fr!important}
  html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) .sdpi-module-grid,
  html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap) .sdpi-stats-grid{
    grid-template-columns:1fr!important;
  }
  html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin) a.sdpi-module-tile{
    min-height:0!important;
  }
}

/* 10) Older admin launch/workspace tiles: remove inherited 155–174px minimums. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-workspace-links,.sdpi-start-grid,.sdpi-ops-card-grid,.sdpi-action-grid){
  gap:9px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  :is(.sdpi-workspace-links>a,.sdpi-start-step,a.sdpi-operation-card,.sdpi-ops-card-grid>a,.sdpi-launch-link){
  min-height:0!important;
  padding:11px 12px!important;
  border-radius:9px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-workspace-links>a{
  min-height:116px!important;
  grid-template-rows:auto auto auto auto!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-workspace-links .dashicons{
  width:34px!important;
  height:34px!important;
  margin-bottom:7px!important;
  border-radius:8px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-workspace-links small{
  margin:4px 0 7px!important;
  font-size:13px!important;
  line-height:1.32!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-start-step{
  min-height:112px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-start-step strong{margin-top:7px!important;font-size:16px!important}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host,.sdpi-operations-workspace,.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin)
  .sdpi-start-step small{margin-top:4px!important;font-size:13px!important;line-height:1.32!important}

/* 11) Branded Staff/Student portals use the same compact enterprise density. */
body.sdpi-portal-body .sdpi-staff-module-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:18px!important;
}
body.sdpi-portal-body .sdpi-staff-module{
  min-height:124px!important;
  padding:12px 13px!important;
  border-radius:9px!important;
}
body.sdpi-portal-body .sdpi-staff-module h2{
  margin:24px 0 5px!important;
  color:var(--sdpi-density-army)!important;
  font-size:16px!important;
  line-height:1.25!important;
}
body.sdpi-portal-body .sdpi-staff-module p{
  margin:0 0 7px!important;
  color:var(--sdpi-density-ink)!important;
  font-size:14.5px!important;
  line-height:1.35!important;
}
body.sdpi-portal-body .sdpi-staff-module small{font-size:13px!important}
body.sdpi-portal-body .sdpi-staff-module-status{
  top:9px!important;
  right:9px!important;
  padding:3px 6px!important;
  border-radius:5px!important;
  font-size:11px!important;
}
body.sdpi-portal-body .sdpi-student-operations .sdpi-module-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
body.sdpi-portal-body .sdpi-student-operations .sdpi-module-tile{
  min-height:132px!important;
  padding:12px 13px!important;
  border-radius:9px!important;
}
body.sdpi-portal-body .sdpi-student-operations .sdpi-control-section-heading{margin-top:10px!important;margin-bottom:7px!important}

/* If a legacy module-highlight slips past de-duplication, keep it compact rather than a second giant banner. */
body.sdpi-portal-body .sdpi-module-highlight{
  min-height:0!important;
  padding:10px 12px!important;
  margin-bottom:9px!important;
  border-radius:9px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-scm-wrap,.sdpi-cac-wrap) .sdpi-demo-how-grid article{
  min-height:0!important;
  padding:10px 11px!important;
  border-radius:8px!important;
}

@media(max-width:1180px){
  body.sdpi-portal-body .sdpi-staff-module-grid,
  body.sdpi-portal-body .sdpi-student-operations .sdpi-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  body.sdpi-portal-body .sdpi-staff-module-grid,
  body.sdpi-portal-body .sdpi-student-operations .sdpi-module-grid{grid-template-columns:1fr!important}
  body.sdpi-portal-body .sdpi-staff-module{min-height:0!important}
}

/* ===== portal-palette-step-lock-v1299.css ===== */
/* ======================================================================
   SDPI Digital Campus v1.12.299 — PALETTE + WIZARD STEP FINAL LOCK
   Last-load safety layer for two repeated UAT defect classes:
   1) legacy blue/dark-blue feature/help panels surviving inside native frames;
   2) Course Master step navigation leaving unused desktop width / losing the
      active label because an older white-surface rule and contrast guard clash.
   Business logic is unchanged.
   ====================================================================== */
:root{
  --sdpi-v1299-army:#233B2D;
  --sdpi-v1299-deep:#192C21;
  --sdpi-v1299-mid:#304F3C;
  --sdpi-v1299-gold:#C7A24B;
  --sdpi-v1299-cream:#F6EFDF;
  --sdpi-v1299-soft:#FBFAF6;
  --sdpi-v1299-ink:#1F2937;
  --sdpi-v1299-line:#DDD4C1;
  --sdpi-v1299-white:#FFFFFF;
}

/* 1) Legacy full-dark information / utility panels must use the approved
      Army Green family rather than an old SDPI blue gradient.  Apply in both
      branded portal shell and signed/native SDPI module renderers. */
html body.sdpi-portal-body :is(
  .sdpi-guide-troubleshoot,.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,
  .sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host,.sdpi-control-centre)
:is(.sdpi-guide-troubleshoot,.sdpi-shift-hero,.sdpi-control-hero,.sdpi-user-hero,.sdpi-command-hero,.sdpi-simple-hero,.sdpi-tw-hero){
  background:linear-gradient(135deg,var(--sdpi-v1299-army) 0%,var(--sdpi-v1299-deep) 100%)!important;
  border:1px solid #314C3A!important;
  border-bottom:3px solid var(--sdpi-v1299-gold)!important;
  color:var(--sdpi-v1299-cream)!important;
  box-shadow:0 5px 14px rgba(25,44,33,.10)!important;
}
html body.sdpi-portal-body .sdpi-guide-troubleshoot,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-troubleshoot{
  margin:14px 0!important;
  padding:14px 16px!important;
  border-radius:10px!important;
}
html body.sdpi-portal-body .sdpi-guide-troubleshoot h2,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-troubleshoot h2{
  margin:0 0 10px!important;
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
  font-size:18px!important;
  line-height:1.25!important;
}
html body.sdpi-portal-body .sdpi-guide-trouble-grid,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-trouble-grid{
  gap:8px!important;
}
html body.sdpi-portal-body .sdpi-guide-trouble-grid>div,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-trouble-grid>div{
  padding:9px 10px!important;
  border:1px solid rgba(199,162,75,.42)!important;
  border-radius:7px!important;
  background:rgba(246,239,223,.075)!important;
}
html body.sdpi-portal-body .sdpi-guide-trouble-grid strong,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-trouble-grid strong{
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
  font-size:13px!important;
}
html body.sdpi-portal-body .sdpi-guide-trouble-grid span,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-trouble-grid span{
  margin-top:3px!important;
  color:var(--sdpi-v1299-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-cream)!important;
  font-size:12.5px!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-guide-troubleshoot p,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-troubleshoot p{
  margin:10px 0 0!important;
  color:var(--sdpi-v1299-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-cream)!important;
  font-size:13.5px!important;
  opacity:1!important;
}

/* Other small legacy blue markers in this same Guide screen. */
html body.sdpi-portal-body .sdpi-guide-step-number,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-step-number{
  border-radius:7px!important;
  background:var(--sdpi-v1299-gold)!important;
  border:1px solid #B48D32!important;
  color:var(--sdpi-v1299-ink)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-ink)!important;
}
html body.sdpi-portal-body .sdpi-guide-expected strong,
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-admin-module-host) .sdpi-guide-expected strong{
  color:var(--sdpi-v1299-army)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-army)!important;
}

/* 2) Course Master wizard: use the whole available desktop row.  Seven equal
      columns remove the remaining dead width without over-bold labels. */
@media(min-width:1101px){
  html body .sdpi-course-architecture .sdpi-step-navigation{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:5px!important;
    padding:6px 8px!important;
    overflow:visible!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:5px 7px!important;
    gap:5px!important;
    justify-content:flex-start!important;
    border-radius:7px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target strong{
    min-width:0!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target span{
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
    font-size:10px!important;
    border-radius:5px!important;
  }
}

/* Non-active steps remain cream/white enterprise controls. */
html body .sdpi-course-architecture .sdpi-step-target:not(.is-active){
  background:#FFFFFF!important;
  border-color:var(--sdpi-v1299-line)!important;
  color:var(--sdpi-v1299-army)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-army)!important;
  box-shadow:none!important;
}
html body .sdpi-course-architecture .sdpi-step-target:not(.is-active)>strong{
  color:var(--sdpi-v1299-army)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-army)!important;
}
html body .sdpi-course-architecture .sdpi-step-target:not(.is-active)>span{
  background:var(--sdpi-v1299-gold)!important;
  color:var(--sdpi-v1299-ink)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-ink)!important;
}

/* Active step is unmistakably selected.  Explicit nested label colour avoids
   the v1.12.298 symptom where step 1 became a white/blank-looking chip. */
html body .sdpi-course-architecture .sdpi-step-target.is-active{
  background:var(--sdpi-v1299-army)!important;
  border-color:var(--sdpi-v1299-army)!important;
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1299-gold)!important;
}
html body .sdpi-course-architecture .sdpi-step-target.is-active>strong{
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
  opacity:1!important;
}
html body .sdpi-course-architecture .sdpi-step-target.is-active>span{
  background:var(--sdpi-v1299-gold)!important;
  border:1px solid #B48D32!important;
  color:var(--sdpi-v1299-ink)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-ink)!important;
  opacity:1!important;
}
html body .sdpi-course-architecture .sdpi-step-target.is-complete:not(.is-active){
  background:#FAF7ED!important;
  border-color:#D8C89E!important;
  color:var(--sdpi-v1299-army)!important;
}
html body .sdpi-course-architecture .sdpi-step-target.is-complete:not(.is-active)>span{
  background:var(--sdpi-v1299-mid)!important;
  border-color:var(--sdpi-v1299-mid)!important;
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
}

/* 3) A few known current/selected remnants from old blue module CSS. */
html body.sdpi-portal-body .sdpi-category-pagination .current,
body.wp-admin .sdpi-course-architecture .sdpi-category-pagination .current,
html body.sdpi-portal-body .sdpi-crm-quick-filters .sdpi-quick-chip.active,
body.wp-admin .sdpi-crm-quick-filters .sdpi-quick-chip.active{
  background:var(--sdpi-v1299-army)!important;
  border-color:var(--sdpi-v1299-army)!important;
  color:var(--sdpi-v1299-white)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-white)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1299-gold)!important;
}

@media(max-width:1100px) and (min-width:783px){
  html body .sdpi-course-architecture .sdpi-step-navigation{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target{width:100%!important;justify-content:flex-start!important}
}
@media(max-width:782px){
  html body .sdpi-course-architecture .sdpi-step-navigation{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
    white-space:normal!important;
  }
  html body .sdpi-course-architecture .sdpi-step-target strong{
    white-space:normal!important;
    font-size:11.5px!important;
  }
}

/* 4) Source-wide surviving full-blue operational surfaces found in the final
      v1.12.299 palette audit. These are presentation-only containers; danger
      semantics remain red and data/status logic is untouched. */
html body.sdpi-portal-body :is(.sdpi-app-header,.sdpi-login-simple-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-app-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero){
  background:linear-gradient(135deg,var(--sdpi-v1299-army),var(--sdpi-v1299-deep))!important;
  border-color:#314C3A!important;
  color:var(--sdpi-v1299-cream)!important;
}
html body.sdpi-portal-body :is(.sdpi-app-header,.sdpi-login-simple-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero) :is(h1,h2,h3,h4,strong,b),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-app-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero) :is(h1,h2,h3,h4,strong,b){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.sdpi-portal-body :is(.sdpi-app-header,.sdpi-login-simple-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero) :is(p,small,.description),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(.sdpi-app-header,.sdpi-management-banner.main_admin,.sdpi-operations-hero) :is(p,small,.description){
  color:var(--sdpi-v1299-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-cream)!important;
}

/* 5) Known full-blue legacy surfaces from the final source scan.  This is a
      palette normalisation (not renderer hiding): all are presentation
      surfaces and keep their existing links/data/actions. */
html body.sdpi-portal-body :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-staff-dashboard-head,.sdpi-mcq-test-header,
  .sdpi-staff-login-copy,.sdpi-simple-hero,.sdpi-department-card>header
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-simple-hero,.sdpi-department-card>header
){
  background:linear-gradient(135deg,var(--sdpi-v1299-army),var(--sdpi-v1299-deep))!important;
  border-color:#314C3A!important;
  color:var(--sdpi-v1299-cream)!important;
}
html body.sdpi-portal-body :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-staff-dashboard-head,.sdpi-mcq-test-header,
  .sdpi-staff-login-copy,.sdpi-simple-hero,.sdpi-department-card>header
) :is(h1,h2,h3,h4,strong,b),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-simple-hero,.sdpi-department-card>header
) :is(h1,h2,h3,h4,strong,b){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.sdpi-portal-body :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-staff-dashboard-head,.sdpi-mcq-test-header,
  .sdpi-staff-login-copy,.sdpi-simple-hero,.sdpi-department-card>header
) :is(p,small,.description),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-profile-hero,.sdpi-fee-hero,.sdpi-launch-hero,.sdpi-workspace-group-head,
  .sdpi-crm-fee-preview,.sdpi-simple-hero,.sdpi-department-card>header
) :is(p,small,.description){
  color:var(--sdpi-v1299-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-cream)!important;
}

/* Current/selected controls and compact status markers found in older module
   files. Use the same Army Green / Gold / Cream language everywhere. */
html body.sdpi-portal-body :is(
  .sdpi-public-form-steps button.active,.sdpi-live-lifecycle-grid article.is-current>span,
  .sdpi-tab.active,.sdpi-page-button.is-current,.sdpi-pagination .current,
  .sdpi-register-pagination span.page-numbers.current,.sdpi-crm-pagination .page-numbers.current,
  .sdpi-library-module .page-numbers.current,.sdpi-category-manager summary,
  .sdpi-selected-count,.sdpi-message-metric strong,.sdpi-task-field-metric strong,
  .sdpi-admin-task-metric strong,.sdpi-conversion-stage.current b
),
body.wp-admin :is(.sdpi-scm-wrap,.sdpi-cac-wrap,.sdpi-etm-admin,.sdpi-admin-module-host) :is(
  .sdpi-tab.active,.sdpi-page-button.is-current,.sdpi-pagination .current,
  .sdpi-register-pagination span.page-numbers.current,.sdpi-crm-pagination .page-numbers.current,
  .sdpi-library-module .page-numbers.current,.sdpi-category-manager summary,
  .sdpi-selected-count,.sdpi-message-metric strong,.sdpi-task-field-metric strong,
  .sdpi-admin-task-metric strong,.sdpi-conversion-stage.current b
){
  background:var(--sdpi-v1299-army)!important;
  border-color:var(--sdpi-v1299-army)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.sdpi-portal-body :is(.sdpi-workshop-form-sections legend b,.sdpi-guide-login-map span,.sdpi-launch-steps>a>b,.sdpi-demo-how-grid article>b,.sdpi-student-step-row article.is-current>b,.sdpi-live-lifecycle-grid article.is-current>span){
  background:var(--sdpi-v1299-gold)!important;
  border-color:#B48D32!important;
  color:var(--sdpi-v1299-ink)!important;
  -webkit-text-fill-color:var(--sdpi-v1299-ink)!important;
  border-radius:6px!important;
}

/* ===== course-wizard-state-v1300.css ===== */
/* ======================================================================
   SDPI Digital Campus v1.12.300 — COURSE WIZARD STATE GUARANTEE
   The active step uses Light Gold/Cream + Army Green text. This keeps the
   selected label readable even if a legacy white-surface hover rule survives.
   The stepper JS also applies the same state inline with !important after each
   transition, so stylesheet order cannot make Step 1 blank again.
   ====================================================================== */
html body .sdpi-course-architecture .sdpi-step-navigation{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
html body .sdpi-course-architecture button.sdpi-step-target{
  min-width:0!important;
  width:100%!important;
}
html body .sdpi-course-architecture button.sdpi-step-target>.sdpi-step-label{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
}
html body .sdpi-course-architecture button.sdpi-step-target.is-active,
html body .sdpi-course-architecture button.sdpi-step-target.is-active:hover,
html body .sdpi-course-architecture button.sdpi-step-target.is-active:focus,
html body .sdpi-course-architecture button.sdpi-step-target.is-active:focus-visible,
html body .sdpi-course-architecture button.sdpi-step-target[aria-current="step"]{
  background:#F6E9B9!important;
  background-image:none!important;
  border-color:#C7A24B!important;
  color:#233B2D!important;
  -webkit-text-fill-color:#233B2D!important;
  box-shadow:inset 0 -3px 0 #233B2D!important;
}
html body .sdpi-course-architecture button.sdpi-step-target.is-active>.sdpi-step-label,
html body .sdpi-course-architecture button.sdpi-step-target[aria-current="step"]>.sdpi-step-label{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
  color:#233B2D!important;
  -webkit-text-fill-color:#233B2D!important;
}
html body .sdpi-course-architecture button.sdpi-step-target.is-active>span,
html body .sdpi-course-architecture button.sdpi-step-target[aria-current="step"]>span{
  background:#233B2D!important;
  border-color:#233B2D!important;
  color:#F6EFDF!important;
  -webkit-text-fill-color:#F6EFDF!important;
}
@media(max-width:1100px){
  html body .sdpi-course-architecture .sdpi-step-navigation{
    display:flex!important;
    flex-wrap:wrap!important;
  }
  html body .sdpi-course-architecture button.sdpi-step-target{
    width:auto!important;
  }
}

/* ===== portal-workflow-v1300.css ===== */
/* SDPI Digital Campus v1.12.300 — compact workflow readability locks. */
:root{--sdpi-control-h:38px}
body[class*="sdpi"] .sdpi-enterprise-filterbar,
.sdpi-scm-wrap .sdpi-enterprise-filterbar{column-gap:10px!important;row-gap:8px!important;align-items:end!important}
body[class*="sdpi"] .sdpi-enterprise-filterbar label,
.sdpi-scm-wrap .sdpi-enterprise-filterbar label{min-width:0!important;overflow:visible!important;line-height:1.3!important}
body[class*="sdpi"] .sdpi-enterprise-filterbar input,
body[class*="sdpi"] .sdpi-enterprise-filterbar select,
.sdpi-scm-wrap .sdpi-enterprise-filterbar input,
.sdpi-scm-wrap .sdpi-enterprise-filterbar select{min-height:var(--sdpi-control-h)!important;height:auto!important;line-height:1.25!important;padding:7px 10px!important}
.sdpi-library-history-filter{display:grid!important;grid-template-columns:minmax(260px,1.7fr) minmax(170px,.8fr) minmax(165px,.75fr) minmax(120px,.55fr) auto auto!important;gap:10px!important;align-items:end!important}
.sdpi-library-history-filter>label{min-width:0!important;margin:0!important;white-space:normal!important}
.sdpi-library-history-filter .button{min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}
.sdpi-history-kpis{gap:10px!important}.sdpi-history-kpis>a{min-width:145px!important;padding:9px 12px!important}
.sdpi-history-table th{white-space:normal!important;line-height:1.25!important;overflow:visible!important}
.sdpi-history-verification-cell{min-width:138px!important}
.sdpi-history-verified,.sdpi-history-review{display:inline-flex!important;min-height:27px!important;align-items:center!important;padding:4px 8px!important;white-space:nowrap!important}
.sdpi-library-field-regd[hidden]{display:none!important}
.sdpi-library-field-regd input[readonly]{background:#F6EFDF!important;color:#233B2D!important;font-weight:750!important}
@media(max-width:1180px){.sdpi-library-history-filter{grid-template-columns:minmax(240px,1.5fr) minmax(155px,.75fr) minmax(150px,.7fr) auto auto!important}}
@media(max-width:900px){.sdpi-library-history-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sdpi-library-history-filter>.button{width:100%}}
@media(max-width:600px){.sdpi-library-history-filter{grid-template-columns:1fr!important}}

/* v1.12.301 — Physical Library stock totals: title rows are not physical-copy totals. */
.sdpi-library-stock-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.sdpi-library-stock-kpis>span{display:flex;align-items:baseline;gap:7px;min-width:0;padding:8px 10px;border:1px solid #D8CFBA;border-radius:8px;background:#FFFDF8;color:#1F2937}
.sdpi-library-stock-kpis b{font-size:18px;line-height:1;color:#233B2D}
.sdpi-library-stock-kpis small{font-size:13px;line-height:1.2;color:#374151}
@media(max-width:980px){.sdpi-library-stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sdpi-library-stock-kpis{grid-template-columns:1fr}}


/* v1.12.325 — Book Register readability + plain-language list header. */
.sdpi-library-stock-kpis>span{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:68px!important;
  padding:9px 11px!important;
}
.sdpi-library-stock-kpis b{
  display:block!important;
  font-size:21px!important;
  line-height:1.05!important;
  font-weight:800!important;
  color:#233B2D!important;
}
.sdpi-library-stock-kpis small{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:600!important;
  color:#374151!important;
  white-space:nowrap!important;
}
.sdpi-library-module .sdpi-library-register-list .sdpi-library-list-head h2{
  font-size:18px!important;
  line-height:1.25!important;
  color:#233B2D!important;
}
.sdpi-library-module .sdpi-library-register-list .sdpi-library-list-head p{
  font-size:14.5px!important;
  line-height:1.4!important;
  color:#1F2937!important;
}
.sdpi-library-module table.sdpi-library-register-table th{
  font-size:13.5px!important;
  line-height:1.3!important;
}
.sdpi-library-module table.sdpi-library-register-table td{
  font-size:14.5px!important;
  line-height:1.4!important;
}
.sdpi-library-module table.sdpi-library-register-table td>strong{
  font-size:14.5px!important;
  line-height:1.35!important;
}
.sdpi-library-module .sdpi-library-bookno{
  font-size:14.5px!important;
  min-height:28px!important;
  padding:3px 10px!important;
}
.sdpi-library-module .sdpi-library-count-pair b{
  font-size:15px!important;
  line-height:1.2!important;
}
.sdpi-library-module .sdpi-library-count-pair small{
  font-size:13.5px!important;
  line-height:1.25!important;
}
@media(max-width:1180px){
  .sdpi-library-stock-kpis small{font-size:13px!important}
}
@media(max-width:980px){
  .sdpi-library-stock-kpis small{font-size:14px!important;white-space:normal!important}
}

/* v1.12.325 — Book Register professional action naming + result heading. */
.sdpi-library-module .sdpi-library-register-heading{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
.sdpi-library-module .sdpi-library-register-heading h2{margin:0!important;font-size:18px!important;line-height:1.25!important;font-weight:800!important;color:#233B2D!important}
.sdpi-library-module .sdpi-library-result-chip{display:inline-flex!important;align-items:center!important;min-height:26px!important;padding:3px 8px!important;border:1px solid #C7A24B!important;border-radius:6px!important;background:#F6E9B9!important;color:#1F2937!important;font-size:13px!important;line-height:1.2!important;font-weight:750!important;white-space:nowrap!important}
.sdpi-library-module .sdpi-library-export-menu>summary,.sdpi-library-module .sdpi-library-edit-action{font-weight:750!important;white-space:nowrap!important}
.sdpi-library-module .sdpi-library-edit-action{min-width:82px!important;text-align:center!important}
.sdpi-library-module table.sdpi-library-register-table th:last-child,
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-action-cell{width:108px!important;min-width:108px!important}
@media(max-width:782px){
  .sdpi-library-module table.sdpi-library-register-table th:last-child,
  .sdpi-library-module table.sdpi-library-register-table td.sdpi-library-action-cell{width:102px!important;min-width:102px!important}
  .sdpi-library-module .sdpi-library-edit-action{min-width:82px!important;padding:0 9px!important}
}


/* v1.12.326 — Book Register space/usefulness pass + plain Stock Status editor. */
.sdpi-library-module table.sdpi-library-register-table{
  table-layout:auto!important;
  min-width:1120px!important;
}
.sdpi-library-module table.sdpi-library-register-table th:first-child,
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-register-number{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  padding-left:8px!important;
  padding-right:8px!important;
  white-space:normal!important;
  line-height:1.2!important;
}
.sdpi-library-module table.sdpi-library-register-table th:nth-child(2),
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-title-cell{
  width:auto!important;
  min-width:250px!important;
}
.sdpi-library-module table.sdpi-library-register-table th:nth-child(3),
.sdpi-library-module table.sdpi-library-register-table th:nth-child(4){min-width:155px!important}
.sdpi-library-module table.sdpi-library-register-table th:nth-child(5),
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-qty-cell{
  width:62px!important;min-width:62px!important;text-align:center!important;
}
.sdpi-library-module table.sdpi-library-register-table th:nth-child(6),
.sdpi-library-module table.sdpi-library-register-table th:nth-child(7),
.sdpi-library-module table.sdpi-library-register-table th:nth-child(8),
.sdpi-library-module table.sdpi-library-register-table th:nth-child(9),
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-status-count{
  width:86px!important;min-width:86px!important;text-align:center!important;
}
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-status-count strong,
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-qty-cell strong{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:34px!important;min-height:30px!important;padding:3px 8px!important;
  border-radius:6px!important;border:1px solid #D8CFBA!important;background:#FFFDF8!important;
  color:#233B2D!important;font-size:15px!important;line-height:1!important;font-weight:800!important;
}
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-status-count.is-lost strong,
.sdpi-library-module table.sdpi-library-register-table td.sdpi-library-status-count.is-damaged strong{color:#1F2937!important}
.sdpi-library-module .sdpi-library-title-cell small{font-size:12.5px!important;line-height:1.3!important;color:#5D7184!important}

.sdpi-library-module .sdpi-library-stock-status{
  display:block!important;width:100%!important;max-width:none!important;clear:both!important;
  margin:12px 0 0!important;padding:0!important;border:1px solid #D8CFBA!important;
  border-radius:8px!important;background:#FFFDF8!important;overflow:hidden!important;
}
.sdpi-library-module .sdpi-library-stock-status-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  padding:10px 12px!important;border-bottom:1px solid #E4DDCD!important;background:#F6EFDF!important;
}
.sdpi-library-module .sdpi-library-stock-status-head h3{
  margin:0!important;font-size:16px!important;line-height:1.25!important;font-weight:800!important;color:#233B2D!important;
}
.sdpi-library-module table.sdpi-library-stock-status-table{table-layout:fixed!important;min-width:0!important;width:100%!important;margin:0!important}
.sdpi-library-module table.sdpi-library-stock-status-table th,
.sdpi-library-module table.sdpi-library-stock-status-table td{
  padding:10px 12px!important;font-size:14.5px!important;line-height:1.35!important;vertical-align:middle!important;
}
.sdpi-library-module table.sdpi-library-stock-status-table th{font-size:13.5px!important;color:#233B2D!important;font-weight:800!important}
.sdpi-library-module table.sdpi-library-stock-status-table th:first-child,
.sdpi-library-module table.sdpi-library-stock-status-table td:first-child{width:42%!important}
.sdpi-library-module table.sdpi-library-stock-status-table code{
  display:inline-flex!important;align-items:center!important;min-height:31px!important;padding:4px 9px!important;
  border:1px solid #D8CFBA!important;border-radius:6px!important;background:#fff!important;color:#1F2937!important;
  font-family:inherit!important;font-size:14.5px!important;font-weight:750!important;
}
.sdpi-library-module table.sdpi-library-stock-status-table select{
  width:100%!important;max-width:280px!important;min-height:36px!important;height:36px!important;
  padding:0 9px!important;font-size:14.5px!important;font-weight:650!important;border-radius:6px!important;background:#fff!important;
}
.sdpi-library-module .sdpi-library-stock-state{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:31px!important;
  padding:4px 10px!important;border:1px solid #D8CFBA!important;border-radius:6px!important;background:#F6E9B9!important;
  color:#1F2937!important;font-size:14px!important;font-weight:800!important;
}
.sdpi-library-module .sdpi-library-stock-note{display:block!important;margin:10px 12px 12px!important;font-size:13.5px!important;font-weight:700!important;color:#334A5D!important}
.sdpi-library-module .sdpi-library-stock-note input{display:block!important;width:100%!important;min-height:38px!important;margin-top:4px!important;padding:7px 10px!important;font-size:14px!important;border-radius:6px!important}
@media(max-width:782px){
  .sdpi-library-module table.sdpi-library-register-table{min-width:1020px!important}
  .sdpi-library-module table.sdpi-library-register-table th:first-child,
  .sdpi-library-module table.sdpi-library-register-table td.sdpi-library-register-number{width:94px!important;min-width:94px!important;max-width:94px!important}
  .sdpi-library-module table.sdpi-library-stock-status-table th,
  .sdpi-library-module table.sdpi-library-stock-status-table td{padding:9px 10px!important}
}


/* v1.12.328 — Book Register one-page-width table + compact More stock details. */
.sdpi-library-module .sdpi-library-register-fit{
  overflow:visible!important;
  width:100%!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact th,
.sdpi-library-module table.sdpi-library-register-table-compact td{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:middle!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(1),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(1){width:10%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(2),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(2){width:30%!important;min-width:0!important;max-width:none!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(3),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(3){width:17%!important;min-width:0!important;max-width:none!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(4),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(4){width:15%!important;min-width:0!important;max-width:none!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(5),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(5){width:7%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(6),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(6){width:12%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(7),
.sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(7){width:9%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.sdpi-library-module table.sdpi-library-register-table-compact .sdpi-library-title-cell strong{
  font-size:14.5px!important;
  line-height:1.35!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact .sdpi-library-publisher-cell,
.sdpi-library-module table.sdpi-library-register-table-compact .sdpi-library-author-cell{
  font-size:14px!important;
  line-height:1.35!important;
}
.sdpi-library-module .sdpi-library-row-more{position:relative;display:inline-block;margin:0}
.sdpi-library-module .sdpi-library-row-more>summary{
  list-style:none!important;
  cursor:pointer!important;
  min-width:64px!important;
  text-align:center!important;
}
.sdpi-library-module .sdpi-library-row-more>summary::-webkit-details-marker{display:none}
.sdpi-library-module .sdpi-library-row-more-panel{
  position:absolute!important;
  z-index:80!important;
  right:0!important;
  top:calc(100% + 6px)!important;
  width:220px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  background:#fffdf7!important;
  border:1px solid #D8C99E!important;
  border-radius:10px!important;
  box-shadow:0 12px 28px rgba(25,44,33,.18)!important;
  text-align:left!important;
}
.sdpi-library-module .sdpi-library-row-more-panel span{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:7px 8px!important;
  border:1px solid #E6DCC1!important;
  border-radius:7px!important;
  background:#F6EFDF!important;
}
.sdpi-library-module .sdpi-library-row-more-panel b{font-size:15px!important;color:#192C21!important}
.sdpi-library-module .sdpi-library-row-more-panel small{font-size:13px!important;color:#1F2937!important}
@media (max-width:900px){
  .sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(3),
  .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(3){width:15%!important}
  .sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(4),
  .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(4){width:14%!important}
  .sdpi-library-module table.sdpi-library-register-table-compact th:nth-child(2),
  .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(2){width:33%!important}
}


/* v1.12.330 — Book Register long official titles wrap inside their own columns. */
.sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-title-cell{
  overflow:hidden!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-title-cell strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto!important;
}
.sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-publisher-cell,
.sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-author-cell{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto!important;
}

/* ===== portal-gold-compact-back-v1310.css ===== */
/* ======================================================================
   SDPI Digital Campus v1.12.310 — Gold/Green compact controls + Back/help
   Shared last-load lock: remove surviving legacy blue action/step surfaces,
   keep module launchers compact, and standardise Back + How-to affordances.
   ====================================================================== */
:root{
  --sdpi-v1310-green:#233B2D;
  --sdpi-v1310-green-2:#304F3C;
  --sdpi-v1310-gold:#C7A24B;
  --sdpi-v1310-cream:#F6EFDF;
  --sdpi-v1310-light-gold:#F6E9B9;
  --sdpi-v1310-text:#1F2937;
}

/* Course Master and compatible wizard tabs: compact, readable, never blue. */
html body .sdpi-course-architecture button.sdpi-step-target{
  min-height:34px!important;
  padding:5px 9px!important;
  border:1px solid #D9C78F!important;
  border-radius:7px!important;
  background:var(--sdpi-v1310-cream)!important;
  background-image:none!important;
  color:var(--sdpi-v1310-green)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-green)!important;
  box-shadow:none!important;
}
html body .sdpi-course-architecture button.sdpi-step-target>.sdpi-step-label,
html body .sdpi-course-architecture button.sdpi-step-target>strong{
  color:var(--sdpi-v1310-green)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-green)!important;
  font-size:12px!important;
  line-height:1.15!important;
}
html body .sdpi-course-architecture button.sdpi-step-target>span{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
  border-radius:5px!important;
  background:var(--sdpi-v1310-gold)!important;
  color:var(--sdpi-v1310-text)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-text)!important;
  font-size:10px!important;font-weight:900!important;
}
html body .sdpi-course-architecture button.sdpi-step-target:is(.is-active,[aria-current="step"]){
  background:var(--sdpi-v1310-light-gold)!important;
  border-color:var(--sdpi-v1310-gold)!important;
  color:var(--sdpi-v1310-green)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-green)!important;
  box-shadow:inset 0 -3px 0 var(--sdpi-v1310-green)!important;
}
html body .sdpi-course-architecture button.sdpi-step-target:is(.is-active,[aria-current="step"])>span{
  background:var(--sdpi-v1310-green)!important;
  color:var(--sdpi-v1310-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-cream)!important;
}
html body .sdpi-course-architecture button.sdpi-step-target.is-complete:not(.is-active)>span{
  background:var(--sdpi-v1310-green-2)!important;
  color:var(--sdpi-v1310-cream)!important;
  -webkit-text-fill-color:var(--sdpi-v1310-cream)!important;
}

/* Module overview launch cards: desktop cards should feel like compact controls,
   not large mobile panels. */
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section{
  margin:10px 0!important;padding:12px!important;border-radius:10px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section>header{
  margin-bottom:8px!important;gap:10px!important;align-items:center!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section>header h2{
  margin:0!important;font-size:16px!important;line-height:1.25!important;color:var(--sdpi-v1310-green)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section>header p{
  margin:2px 0 0!important;font-size:12.5px!important;line-height:1.35!important;color:#52665A!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section>header>span{
  padding:4px 7px!important;border:1px solid #D9C78F!important;border-radius:6px!important;
  background:var(--sdpi-v1310-light-gold)!important;color:var(--sdpi-v1310-green)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link-grid{
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:7px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link{
  grid-template-columns:32px minmax(0,1fr) 18px!important;gap:8px!important;
  min-height:48px!important;padding:7px 9px!important;border-radius:8px!important;
  border-color:#DED4B8!important;background:#FFFDF7!important;color:var(--sdpi-v1310-text)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link:hover,
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link:focus-visible{
  border-color:var(--sdpi-v1310-gold)!important;background:var(--sdpi-v1310-cream)!important;
  box-shadow:0 4px 12px rgba(35,59,45,.08)!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link-icon{
  width:30px!important;height:30px!important;border-radius:6px!important;
  background:var(--sdpi-v1310-light-gold)!important;color:var(--sdpi-v1310-green)!important;font-size:17px!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link strong{
  color:var(--sdpi-v1310-green)!important;font-size:13px!important;line-height:1.25!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link small{
  margin-top:1px!important;color:#596B60!important;font-size:11.5px!important;line-height:1.3!important;
}
html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link>b{color:var(--sdpi-v1310-gold)!important;font-size:15px!important}

/* Shared back control in branded page headers. */
html body .sdpi-head-action-back,
html body .sdpi-ops-head-actions .sdpi-head-action-back{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:34px!important;padding:5px 10px!important;border:1px solid var(--sdpi-v1310-gold)!important;
  border-radius:6px!important;background:var(--sdpi-v1310-cream)!important;
  color:var(--sdpi-v1310-green)!important;text-decoration:none!important;font-weight:800!important;font-size:12.5px!important;
}
html body .sdpi-head-action-back:hover,html body .sdpi-head-action-back:focus-visible{
  background:var(--sdpi-v1310-light-gold)!important;color:var(--sdpi-v1310-green)!important;
}

/* One compact collapsed help pattern; information is available without making
   normal operational pages unnecessarily long. */
html body details.sdpi-compact-howto,
html body details.sdpi-how-to-use-accordion{
  margin:9px 0!important;padding:0!important;border:1px solid #DED4B8!important;border-radius:8px!important;background:#FFFDF7!important;box-shadow:none!important;
}
html body details.sdpi-compact-howto>summary,
html body details.sdpi-how-to-use-accordion>summary{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  min-height:38px!important;padding:7px 10px!important;cursor:pointer!important;list-style:none!important;
  color:var(--sdpi-v1310-green)!important;
}
html body details.sdpi-compact-howto>summary::-webkit-details-marker,
html body details.sdpi-how-to-use-accordion>summary::-webkit-details-marker{display:none!important}
html body details.sdpi-compact-howto>summary span,
html body details.sdpi-how-to-use-accordion>summary span{
  padding:3px 6px!important;border-radius:5px!important;background:var(--sdpi-v1310-light-gold)!important;color:var(--sdpi-v1310-green)!important;font-size:11px!important;font-weight:800!important;
}
html body details.sdpi-compact-howto>ol,
html body details.sdpi-how-to-use-accordion>.sdpi-how-to-use-body{
  margin:0!important;padding:8px 12px 10px 30px!important;border-top:1px solid #E7DDC1!important;color:var(--sdpi-v1310-text)!important;font-size:12.5px!important;line-height:1.45!important;
}

/* Canonical rectangular step/number markers. */
html body .sdpi-demo-how-grid article>b{
  border-radius:6px!important;background:var(--sdpi-v1310-green)!important;color:var(--sdpi-v1310-cream)!important;
}

@media(max-width:782px){
  html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-link-grid{grid-template-columns:1fr!important}
  html body :is(.sdpi-admin-module-host,.sdpi-ops-module-host) .sdpi-launch-section>header{align-items:flex-start!important}
}

/* ===== portal-submenu-state-v1334.css ===== */
/* =========================================================
   SDPI Digital Campus v1.12.334 — Selected child navigation clarity
   Parent accordion/group and selected child must read as two distinct levels.
   Shared across Main Admin and branded staff/faculty/centre portals.
   ========================================================= */
:root{
  --sdpi-v1334-army:#233B2D;
  --sdpi-v1334-deep:#192C21;
  --sdpi-v1334-gold:#C7A24B;
  --sdpi-v1334-cream:#F6EFDF;
  --sdpi-v1334-gold-soft:#F6E9B9;
}
/* Main Admin: current parent stays dark; selected child becomes a separate light row. */
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-group.is-current>.sdpi-admin-nav-group-link{
  background:rgba(48,79,60,.76)!important;
  border-left-color:var(--sdpi-v1334-gold)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active:link,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active:visited{
  margin:2px 0!important;
  background:var(--sdpi-v1334-cream)!important;
  border:1px solid rgba(199,162,75,.86)!important;
  border-left:4px solid var(--sdpi-v1334-gold)!important;
  color:var(--sdpi-v1334-deep)!important;
  font-weight:800!important;
  box-shadow:0 1px 0 rgba(199,162,75,.16)!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active>span{
  color:var(--sdpi-v1334-deep)!important;
}
/* Staff / Faculty / Centre portals: selected child is clearly independent from group heading. */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group.is-current>summary{
  background:rgba(48,79,60,.72)!important;
  box-shadow:inset 4px 0 0 var(--sdpi-v1334-gold)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:link,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:visited{
  margin:3px 0!important;
  background:var(--sdpi-v1334-cream)!important;
  border:1px solid rgba(199,162,75,.9)!important;
  border-left:4px solid var(--sdpi-v1334-gold)!important;
  color:var(--sdpi-v1334-deep)!important;
  font-weight:800!important;
  box-shadow:0 1px 0 rgba(199,162,75,.16)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active>span{
  color:var(--sdpi-v1334-deep)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active>b{
  background:var(--sdpi-v1334-gold)!important;
  border-color:var(--sdpi-v1334-gold)!important;
  color:var(--sdpi-v1334-deep)!important;
}


/* ===== v1.12.336 — MOBILE RESPONSIVE AUDIT LOCK =====
   Staff/Faculty/Centre navigation becomes a drawer on phones. Book Register
   rows become compact stacked cards. These rules intentionally load last so
   legacy nth-child desktop widths cannot squeeze text into one-character columns. */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-mobile-nav-toggle{display:none!important}
@media (max-width:782px){
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-shell{
    display:block!important;grid-template-columns:1fr!important;min-height:0!important;overflow:visible!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-mobile-nav-toggle{
    display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;
    width:100%!important;min-height:48px!important;margin:0 0 10px!important;padding:7px 10px!important;
    border:1px solid #C7A24B!important;border-radius:9px!important;background:#233B2D!important;color:#F6EFDF!important;
    text-align:left!important;box-shadow:none!important;cursor:pointer!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-mobile-nav-toggle>span{
    display:grid!important;place-items:center!important;width:34px!important;height:32px!important;border-radius:6px!important;
    background:#C7A24B!important;color:#192C21!important;font-size:19px!important;font-weight:900!important;line-height:1!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-mobile-nav-toggle>strong{
    color:#fff!important;font-size:15px!important;line-height:1.2!important;font-weight:850!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-mobile-nav-toggle>small{
    color:#F6EFDF!important;font-size:12px!important;line-height:1.2!important;font-weight:650!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-shell>.sdpi-ops-sidebar{
    display:none!important;width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0 0 10px!important;
    border:1px solid rgba(199,162,75,.55)!important;border-radius:10px!important;overflow:hidden!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-shell.is-mobile-nav-open>.sdpi-ops-sidebar{display:flex!important}
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav{max-height:min(62dvh,560px)!important;overflow-y:auto!important;overflow-x:hidden!important}
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-main{width:100%!important;min-width:0!important;padding:8px!important}
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-module-head{margin-bottom:10px!important}

  /* Selected submenu stays legible on the cream selected row. */
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav .sdpi-ops-nav-group>div>a:is(.is-active),
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-sidebar nav .sdpi-ops-nav-group>div>a:is(.is-active)>span{
    color:#192C21!important;-webkit-text-fill-color:#192C21!important;
  }

  /* Book Register: explicit width reset beats every desktop nth-child !important rule. */
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-register-fit{overflow:visible!important;width:100%!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact tbody{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact thead{display:none!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact tr{
    display:block!important;width:100%!important;min-width:0!important;margin:0 0 10px!important;padding:0!important;
    border:1px solid #DED4BC!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(25,44,33,.06)!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(1),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(2),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(3),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(4),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(5),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(6),
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(7){
    display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;
    padding:9px 10px!important;border:0!important;border-bottom:1px solid #EEE7D7!important;text-align:left!important;
    white-space:normal!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:last-child{border-bottom:0!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td::before{
    content:attr(data-label)!important;color:#526055!important;font-size:12.5px!important;line-height:1.3!important;font-weight:850!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-register-number{
    background:#F6EFDF!important;align-items:center!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-title-cell strong,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-publisher-cell,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-author-cell{
    display:block!important;width:auto!important;min-width:0!important;max-width:100%!important;margin:0!important;
    white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important;color:#192C21!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-bookno{justify-self:start!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-edit-action,
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-row-more>summary{
    width:auto!important;min-width:96px!important;max-width:100%!important;justify-content:center!important;text-align:center!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-row-more{display:block!important;width:auto!important;min-width:0!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-row-more-panel{
    position:static!important;width:100%!important;margin-top:7px!important;grid-template-columns:1fr 1fr!important;box-shadow:none!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-filterbar{grid-template-columns:1fr!important}
}
@media (max-width:420px){
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td:nth-child(n){grid-template-columns:92px minmax(0,1fr)!important}
  html body.sdpi-portal-page-staff-login .sdpi-library-module .sdpi-library-stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== v1.12.336 — GLOBAL PROFILE + SELECTED SUBMENU CONTRAST LOCK =====
   Keep selected child navigation readable on cream/gold backgrounds and use the
   signed-in person's authorised Campus photo as the staff/faculty identity mark. */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:link,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:visited,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active>span{
  color:#192C21!important;
  -webkit-text-fill-color:#192C21!important;
  text-shadow:none!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active>b{
  background:#C7A24B!important;
  border-color:#C7A24B!important;
  color:#192C21!important;
  -webkit-text-fill-color:#192C21!important;
}
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active:link,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active:visited,
html body.sdpi-portal-body .sdpi-admin-sidebar nav .sdpi-admin-nav-children a.is-active>span{
  color:#192C21!important;
  -webkit-text-fill-color:#192C21!important;
  text-shadow:none!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand{
  grid-template-columns:44px minmax(0,1fr)!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand-mark.sdpi-ops-user-avatar{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:2px solid rgba(199,162,75,.9)!important;
  border-radius:9px!important;
  background:#F6EFDF!important;
  overflow:hidden!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand-mark.sdpi-ops-user-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:6px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-brand-mark.sdpi-ops-user-avatar>span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:#C7A24B!important;
  color:#192C21!important;
  font-size:16px!important;
  font-weight:900!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-person{
  display:block!important;
  min-width:0!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-person>div{
  min-width:0!important;
}

html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile{
  display:grid!important;
  gap:14px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-hero{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  padding:16px!important;
  border:1px solid #DED4BC!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-avatar{
  width:112px!important;
  height:112px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:2px solid #C7A24B!important;
  border-radius:10px!important;
  background:#F6EFDF!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-avatar span{
  color:#192C21!important;
  font-size:34px!important;
  font-weight:900!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-copy>span,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form>div>span{
  color:#8A6A19!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.07em!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-copy h2{
  margin:4px 0!important;
  color:#192C21!important;
  font-size:24px!important;
  line-height:1.15!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-copy p{
  margin:0!important;
  color:#526055!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid article{
  min-width:0!important;
  padding:12px!important;
  border:1px solid #DED4BC!important;
  border-radius:10px!important;
  background:#fff!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid article span,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid article strong{
  display:block!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid article span{
  margin-bottom:4px!important;
  color:#6A746C!important;
  font-size:12px!important;
  font-weight:750!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid article strong{
  color:#192C21!important;
  font-size:14px!important;
  overflow-wrap:anywhere!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,.7fr) auto!important;
  gap:14px!important;
  align-items:end!important;
  padding:16px!important;
  border:1px solid #DED4BC!important;
  border-radius:12px!important;
  background:#F9F5EA!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form h3{
  margin:3px 0 5px!important;
  color:#192C21!important;
  font-size:17px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form p{
  margin:0!important;
  color:#526055!important;
  font-size:13px!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form label{
  display:grid!important;
  gap:5px!important;
  color:#192C21!important;
  font-weight:800!important;
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form input[type=file]{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:782px){
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-hero{
    grid-template-columns:82px minmax(0,1fr)!important;
    padding:12px!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-avatar{
    width:82px!important;
    height:82px!important;
  }
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-copy h2{font-size:20px!important}
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-grid{grid-template-columns:1fr!important}
  html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-own-profile-photo-form{grid-template-columns:1fr!important}
}

/* ===== v1.12.336 — MAIN ADMIN MOBILE NAVIGATION DRAWER LOCK =====
   Match the Staff/Faculty phone behaviour: content opens first and the long
   authorised navigation remains available behind one explicit Menu control. */
html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-mobile-nav-toggle{display:none!important}
@media(max-width:782px){
  html body.sdpi-portal-body .sdpi-admin-shell{display:block!important;grid-template-columns:1fr!important;min-height:0!important;overflow:visible!important}
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-mobile-nav-toggle{
    display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;
    width:100%!important;min-height:48px!important;margin:0 0 10px!important;padding:7px 10px!important;
    border:1px solid #C7A24B!important;border-radius:9px!important;background:#233B2D!important;color:#F6EFDF!important;
    text-align:left!important;box-shadow:none!important;cursor:pointer!important;
  }
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-mobile-nav-toggle>span{
    display:grid!important;place-items:center!important;width:34px!important;height:32px!important;border-radius:6px!important;background:#C7A24B!important;color:#192C21!important;font-size:19px!important;font-weight:900!important;line-height:1!important;
  }
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-mobile-nav-toggle>strong{color:#fff!important;font-size:15px!important;line-height:1.2!important;font-weight:850!important}
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-mobile-nav-toggle>small{color:#F6EFDF!important;font-size:12px!important;line-height:1.2!important;font-weight:650!important}
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-sidebar{
    display:none!important;width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0 0 10px!important;border:1px solid rgba(199,162,75,.55)!important;border-radius:10px!important;overflow:hidden!important;
  }
  html body.sdpi-portal-body .sdpi-admin-shell.is-mobile-nav-open>.sdpi-admin-sidebar{display:flex!important}
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-sidebar nav{max-height:min(62dvh,560px)!important;overflow-y:auto!important;overflow-x:hidden!important}
  html body.sdpi-portal-body .sdpi-admin-shell>.sdpi-admin-main{width:100%!important;min-width:0!important;padding:8px!important}
}

/* ===== v1.12.337 — compact setup steps + user-form density lock ===== */
html body.sdpi-portal-body .sdpi-admin-route-sdpi-cac-hub-centres .sdpi-centre-setup-order .sdpi-demo-how-grid article>b,
html body .sdpi-demo-how-grid article>b{
  background:#D0A63A!important;
  color:#173D2B!important;
  border:1px solid #B58A22!important;
  border-radius:6px!important;
  box-shadow:none!important;
}
html body .sdpi-user-master .sdpi-inline-options{
  display:flex!important;
  align-items:center!important;
  align-self:end!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  min-height:40px!important;
  padding:0 0 4px!important;
}
html body .sdpi-user-master .sdpi-inline-options label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  html body .sdpi-user-master .sdpi-inline-options{align-self:auto!important;gap:10px!important;}
}

/* =========================================================
   v1.12.339 — single faculty identity photo + header contrast lock
   ========================================================= */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head{
  background:linear-gradient(135deg,#233b2d 0%,#192c21 100%)!important;border-bottom:3px solid #c7a24b!important
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-faculty-head-text-only{display:block!important;min-width:0!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-faculty-head-text-only>div{min-width:0!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head .sdpi-faculty-head-text-only>div>span{display:block!important;color:#f6e9b9!important;font-size:12px!important;font-weight:850!important;letter-spacing:.08em!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head .sdpi-faculty-head-text-only h1{display:block!important;margin:2px 0 3px!important;color:#fff!important;font-size:23px!important;line-height:1.15!important;font-weight:850!important;opacity:1!important;text-shadow:none!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head .sdpi-faculty-head-text-only p{display:block!important;margin:0!important;color:#f6efdf!important;font-size:13px!important;line-height:1.35!important;opacity:1!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head .sdpi-faculty-head-text-only p strong{color:#fff!important}
@media(max-width:760px){html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-role-faculty .sdpi-ops-head .sdpi-faculty-head-text-only h1{font-size:20px!important}}

/* v1.12.339 — selected submenu contrast must survive late runtime bundle order. */
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:link,
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active:visited{
  background:#f6efdf!important;color:#192c21!important;border-color:#c7a24b!important;border-left:4px solid #c7a24b!important
}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active :is(span,strong){color:#192c21!important}
html body.sdpi-portal-page-staff-login .sdpi-staff-portal .sdpi-ops-nav-group>div>a.is-active>b{background:#c7a24b!important;color:#192c21!important}

/* v1.12.342 — Book Register-style canonical User List */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table-wrap{overflow-x:visible!important;border:1px solid #e2dbc9;border-radius:12px;background:#fff}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table{table-layout:fixed!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th{background:#f5f0e4!important;color:#173d2d!important;border-right:0!important;border-bottom:1px solid #ded5c2!important;padding:10px 12px!important;font-size:12.5px!important;text-transform:uppercase;letter-spacing:.02em}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td{padding:10px 12px!important;border-bottom:1px solid #eee7d8!important;vertical-align:middle!important;overflow-wrap:anywhere}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(1){width:17%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(2){width:19%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(3){width:16%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(4){width:15%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(5){width:8%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(6){width:8%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(7){width:9%}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(8){width:8%}
.sdpi-user-identity-stack{display:flex;flex-direction:column;gap:5px;min-width:0}.sdpi-user-identity-stack small{font-size:12px!important;color:#64748b;overflow-wrap:anywhere}.sdpi-user-main-role{font-size:13.5px;color:#173d2d}.sdpi-user-more{position:relative}.sdpi-user-more>summary{list-style:none;cursor:pointer;display:inline-flex}.sdpi-user-more>summary::-webkit-details-marker{display:none}.sdpi-user-more-panel{position:absolute;right:0;z-index:25;min-width:250px;max-width:360px;margin-top:6px;padding:10px;background:#fff;border:1px solid #d8cfbb;border-radius:10px;box-shadow:0 10px 28px rgba(20,54,40,.16)}.sdpi-user-more-panel div{display:grid;gap:3px;padding:5px 0}.sdpi-user-more-panel b{font-size:12px;color:#7a611b}.sdpi-user-more-panel span{font-size:13px;color:#173d2d;line-height:1.35}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:14px!important;padding:10px 12px!important;background:#fbf8f0!important;border:1px solid #e2dbc9!important;border-top:0!important;border-radius:0 0 12px 12px!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer>form>label{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;font-size:13px!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer .sdpi-user-pagination{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;min-width:0!important}
@media(max-width:900px){.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table thead{display:none}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table tbody,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table tr,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td{display:block!important;width:100%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table tr{padding:10px 12px;border-bottom:1px solid #e8dfce}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;gap:10px!important;padding:6px 0!important;border:0!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td[data-label="User"]{display:block!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer{grid-template-columns:1fr!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer .sdpi-user-pagination{justify-content:flex-start!important;flex-wrap:wrap}.sdpi-user-more-panel{position:static;min-width:0;max-width:none}}


/* =========================================================
   v1.12.342 — canonical List / Register visual system
   Book Register is the reference: readable, compact, cream header,
   Army Green text, Gold accents, wrapping instead of squeezed text.
   Specialized registers keep their own stronger rules.
   ========================================================= */
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) {
  border-radius:10px;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table),
html body.sdpi-portal-body table.sdpi-compact-table,
html body.sdpi-portal-body table.sdpi-report-table,
html body.sdpi-portal-body table.sdpi-att-table {
  width:100%!important;
  border:1px solid #e2dbc9!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  color:#173d2d!important;
  box-shadow:none!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) thead th,
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) thead th {
  padding:9px 10px!important;
  background:#f5f0e4!important;
  color:#173d2d!important;
  border:0!important;
  border-bottom:1px solid #ded5c2!important;
  font-size:12.5px!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
  vertical-align:middle!important;
  white-space:normal!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) tbody td,
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) tbody td {
  padding:9px 10px!important;
  border:0!important;
  border-bottom:1px solid #eee7d8!important;
  color:#243b31!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) tbody tr:nth-child(even),
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) tbody tr:nth-child(even) {
  background:#fdfbf6!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) tbody tr:hover,
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) tbody tr:hover {
  background:#fbf5e6!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) tbody tr:last-child td,
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) tbody tr:last-child td {
  border-bottom:0!important;
}
html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) table :is(.button,.sdpi-ui-btn),
html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) :is(.button,.sdpi-ui-btn) {
  min-height:32px!important;
  padding:4px 9px!important;
  border-radius:7px!important;
  font-size:12.5px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
html body.sdpi-portal-body .sdpi-page-size-label,
html body.sdpi-portal-body .sdpi-rows-page,
html body.sdpi-portal-body .sdpi-register-pagination {
  font-size:13px!important;
  color:#34483e!important;
}
html body.sdpi-portal-body :is(.sdpi-page-size-label,.sdpi-rows-page) select {
  min-width:74px!important;
  min-height:34px!important;
}
@media(max-width:760px){
  html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll){max-width:100%!important}
  html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) thead th,
  html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) thead th{font-size:12px!important}
  html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll) > table.widefat:not(.sdpi-library-register-table) tbody td,
  html body.sdpi-portal-body :is(table.sdpi-compact-table,table.sdpi-report-table,table.sdpi-att-table) tbody td{font-size:13px!important}
}
\n/* v1.12.343 — canonical Book Register-style footer for User List */\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer.sdpi-canonical-register-footer{\n  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;\n  margin:0!important;padding:12px 14px!important;background:#fff!important;border:0!important;border-top:1px solid #e6e0d3!important;border-radius:0!important;\n  color:#263746!important;font-size:13px!important;box-shadow:none!important;\n}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-summary{font-size:13px!important;line-height:1.35!important;color:#263746!important;white-space:nowrap!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;min-width:0!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-controls>form{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-controls>form>label{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;white-space:nowrap!important;font-size:12.5px!important;font-weight:700!important;color:#31473c!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-controls select{width:auto!important;min-width:68px!important;max-width:82px!important;height:34px!important;min-height:34px!important;padding:4px 28px 4px 9px!important;margin:0!important;border-radius:6px!important;background-color:#fff!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-pagination{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;min-width:0!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-pagination .tablenav-pages{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-pagination .page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;height:34px!important;padding:0 9px!important;margin:0!important;border:1px solid #d9ccb2!important;border-radius:6px!important;background:#fff!important;color:#173d2d!important;text-decoration:none!important;font-size:12.5px!important;font-weight:750!important;line-height:1!important}\n.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-pagination .page-numbers.current{background:#173d2d!important;color:#fff!important;border-color:#173d2d!important}\n@media(max-width:760px){\n  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer.sdpi-canonical-register-footer{align-items:flex-start!important;flex-direction:column!important;gap:9px!important}\n  .sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-summary{white-space:normal!important}\n  .sdpi-admin-route-sdpi-cac-user-list .sdpi-register-footer-controls{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important}\n}\n

/* v1.12.346 — User List uses the canonical Book Register filter/pagination composition. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar{
  grid-template-columns:minmax(135px,1fr) minmax(125px,.95fr) minmax(110px,.72fr) minmax(110px,.72fr) minmax(125px,.82fr) minmax(190px,1.35fr) minmax(105px,.62fr) auto!important;
  gap:8px!important;align-items:end!important;
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-per-page{min-width:0!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-per-page select{min-width:0!important;width:100%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-register-footer .sdpi-register-footer-controls:empty{display:none!important}
@media(max-width:1180px){
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filter-actions{align-self:end!important}
}
@media(max-width:760px){
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar{grid-template-columns:1fr 1fr!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-search,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filter-actions{grid-column:1/-1!important}
}
@media(max-width:520px){
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filterbar{grid-template-columns:1fr!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-search,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-filter-actions{grid-column:auto!important}
}


/* v1.12.381 — explicit Student Accounts opt-in stays compact in the canonical filterbar. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-student-toggle .sdpi-user-check{display:flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;margin:0!important;padding:5px 8px!important;border:1px solid var(--sdpi-border,#d8ceb7)!important;border-radius:7px!important;background:#fffdf7!important;font-size:13px!important;font-weight:650!important;line-height:1.25!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-student-toggle .sdpi-user-check input[type=checkbox]{display:inline-block!important;flex:0 0 auto!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0!important}

/* v1.12.356: active admission queue summary uses a readable SDPI light treatment. */
html body.sdpi-portal-body .sdpi-admission-crm .sdpi-crm-metrics a.sdpi-crm-metric-link.active,
html body.sdpi-portal-body .sdpi-admission-crm .sdpi-crm-metrics a.sdpi-crm-metric-link.active.sdpi-v1296-selected-control{
  background:#F6EFDF!important;border-color:#C7A24B!important;border-left-color:#233B2D!important;
  color:#233B2D!important;-webkit-text-fill-color:#233B2D!important;
  box-shadow:inset 0 -3px 0 #C7A24B!important;
}
html body.sdpi-portal-body .sdpi-admission-crm .sdpi-crm-metrics a.sdpi-crm-metric-link.active :is(span,strong,b,small){
  color:#233B2D!important;-webkit-text-fill-color:#233B2D!important;opacity:1!important;
}

/* v1.12.360 — Book Register mobile Publisher/Author label-value separation. */
@media (max-width:720px){
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-publisher-cell,
  html body.sdpi-portal-page-staff-login .sdpi-library-module table.sdpi-library-register-table-compact td.sdpi-library-author-cell{
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:12px!important;
    row-gap:4px!important;
    width:100%!important;
    margin:0!important;
  }
}

/* v1.12.375 — absolute last-cascade contrast contract for Centre Setup jumps.
   The current Basic & Logo / Address / Geofence control uses a light selected
   surface, so its label must never inherit the generic white active-tab text. */
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section],
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section] :is(span,strong,b,small){
  background:#FFFFFF!important;
  border-color:#CFC3A7!important;
  color:#233B2D!important;
  -webkit-text-fill-color:#233B2D!important;
  text-shadow:none!important;
  opacity:1!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section]:is(.is-current,[aria-current="true"],:active),
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section]:is(.is-current,[aria-current="true"],:active) :is(span,strong,b,small){
  background:#F6E9B9!important;
  border-color:#A9872E!important;
  color:#233B2D!important;
  -webkit-text-fill-color:#233B2D!important;
  font-weight:800!important;
  text-shadow:none!important;
  opacity:1!important;
  box-shadow:inset 0 -3px 0 #233B2D!important;
}
html body.sdpi-portal-body .sdpi-centre-form-view .sdpi-centre-editor-toolbar-links button[data-sdpi-open-section]:is(:hover,:focus-visible){
  background:#FFF7DC!important;
  border-color:#A9872E!important;
  color:#233B2D!important;
  -webkit-text-fill-color:#233B2D!important;
  outline:2px solid rgba(35,59,45,.22)!important;
  outline-offset:2px!important;
}

/* v1.12.376 — User List final-column breathing room. Keep My Profile/Edit fully inside the table. */
@media(min-width:901px){
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table-wrap{overflow-x:auto!important;overflow-y:visible!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table{width:100%!important;min-width:920px!important;table-layout:fixed!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(1){width:16%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(2){width:18%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(3){width:15%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(4){width:14%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(5){width:8%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(6){width:8%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(7){width:9%!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(8){width:12%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td:nth-child(8){white-space:nowrap!important;overflow-wrap:normal!important;padding-right:16px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-row-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-row-actions .sdpi-ui-btn{white-space:nowrap!important;max-width:100%!important;box-sizing:border-box!important}
}


/* v1.12.378 — portal-wide mobile foundation.
   Mobile is an intentional layout, never a squeezed desktop canvas. */
@media (max-width:760px){
  html body.sdpi-portal-body{overflow-x:hidden!important}
  html body.sdpi-portal-body :is(.sdpi-portal-main,.sdpi-portal-content,.sdpi-main-content,.sdpi-content,.sdpi-page-content){
    min-width:0!important;max-width:100%!important;width:100%!important;padding-left:10px!important;padding-right:10px!important;box-sizing:border-box!important
  }
  html body.sdpi-portal-body :is(.sdpi-page-header,.sdpi-ui-page-header,.sdpi-card-head,.sdpi-section-head,.sdpi-toolbar,.sdpi-actionbar,.sdpi-actions){
    max-width:100%!important;min-width:0!important;flex-wrap:wrap!important;gap:7px!important
  }
  html body.sdpi-portal-body :is(.sdpi-form-grid,.sdpi-grid,.sdpi-filter-grid,.sdpi-filterbar,.sdpi-user-filterbar){
    grid-template-columns:1fr!important;max-width:100%!important;min-width:0!important
  }
  html body.sdpi-portal-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  html body.sdpi-portal-body :is(button,.button,.sdpi-ui-btn,.sdpi-btn){max-width:100%!important;white-space:normal!important;line-height:1.25!important}
  html body.sdpi-portal-body :is(.sdpi-table-wrap,.sdpi-table-scroll,.sdpi-responsive-table){max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  html body.sdpi-portal-body :is(.sdpi-modal,.sdpi-dialog,.sdpi-modal-card,.sdpi-popup){max-width:calc(100vw - 20px)!important;width:calc(100vw - 20px)!important;max-height:calc(100vh - 24px)!important;overflow:auto!important}
  html body.sdpi-portal-body .sdpi-admin-portal-main{min-width:0!important;max-width:100%!important}
}
@media (max-width:480px){
  html body.sdpi-portal-body :is(.sdpi-page-header,.sdpi-ui-page-header,.sdpi-card-head,.sdpi-section-head){align-items:flex-start!important}
  html body.sdpi-portal-body :is(.sdpi-page-header h1,.sdpi-ui-page-header h1,.sdpi-page-title){font-size:20px!important;line-height:1.25!important}
}

/* v1.12.379 — User List role/action hierarchy + Login & Security UI. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-role-stack{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-role-stack .sdpi-user-more>summary{min-height:30px;padding:4px 10px;font-size:12px;line-height:1.2;background:#fffdf7;border-color:#cdbb87;color:#173d2d}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table{min-width:850px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(1){width:17%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(2){width:20%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(3){width:17%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(4){width:19%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(5){width:8%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(6){width:8%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(7){width:11%!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td:nth-child(7){white-space:nowrap!important;overflow-wrap:normal!important;padding-right:16px!important}
.sdpi-login-security-panel{display:grid;gap:14px}
.sdpi-login-security-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sdpi-login-security-grid label small{display:block;margin-top:6px;color:#66756e;font-size:12px;line-height:1.35;font-weight:500}
.sdpi-security-actions{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #ded5c2;border-radius:12px;background:#fbf8f0}
.sdpi-security-actions-copy{display:grid;gap:3px;min-width:220px}.sdpi-security-actions-copy strong{color:#173d2d;font-size:14px}.sdpi-security-actions-copy span{color:#66756e;font-size:12px;line-height:1.35}
.sdpi-security-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sdpi-security-action-buttons .button{min-height:36px;border-radius:8px;border-color:#bcae86;color:#173d2d;background:#fff}.sdpi-security-action-buttons .sdpi-security-primary{background:#173d2d!important;border-color:#173d2d!important;color:#fff!important}
@media(max-width:900px){.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table{min-width:0!important}.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-role-stack{align-items:flex-start}.sdpi-login-security-grid{grid-template-columns:1fr 1fr!important}.sdpi-security-actions{align-items:flex-start;flex-direction:column}.sdpi-security-action-buttons{justify-content:flex-start;width:100%}}
@media(max-width:620px){.sdpi-login-security-grid{grid-template-columns:1fr!important}.sdpi-security-action-buttons{display:grid;width:100%;grid-template-columns:1fr}.sdpi-security-action-buttons .button{width:100%;white-space:normal}}

/* v1.12.380 — compact inline User List More + secondary/meta readability. */
.sdpi-admin-route-sdpi-cac-user-list details.sdpi-user-more{display:inline-block!important;width:auto!important;max-width:max-content!important;align-self:flex-start!important;border:0!important;background:transparent!important;margin:0!important;padding:0!important;box-shadow:none!important;overflow:visible!important}
.sdpi-admin-route-sdpi-cac-user-list details.sdpi-user-more>summary{display:inline-flex!important;width:auto!important;min-width:0!important;max-width:max-content!important;margin:0!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-more-panel{left:0!important;right:auto!important}
.sdpi-user-namecell small,.sdpi-user-identity-stack small{font-size:13px!important;line-height:1.4!important}
.sdpi-admin-shell small,.sdpi-portal-shell small,.sdpi-cac-wrap small,.sdpi-scm-wrap small,.sdpi-campus-shell small{font-size:13px!important;line-height:1.4!important}
.sdpi-admin-shell .description,.sdpi-portal-shell .description,.sdpi-cac-wrap .description,.sdpi-scm-wrap .description,.sdpi-campus-shell .description{font-size:13px!important;line-height:1.4!important}


/* =========================================================
   v1.12.394 — visible UAT UI repair: compact Work/User/Dashboard cards
   ========================================================= */
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-top{
  grid-template-columns:minmax(220px,.78fr) minmax(0,2.22fr)!important;
  gap:10px!important;align-items:stretch!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-person{
  min-height:92px!important;height:100%!important;padding:10px 12px!important;
  display:flex!important;align-items:center!important;background:#fffdf7!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-person .sdpi-avatar{
  width:52px!important;height:52px!important;flex:0 0 52px!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-person strong{font-size:16px!important}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-person small{font-size:12.5px!important;margin-top:3px!important}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip>div,
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-card{
  position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
  min-height:92px!important;height:100%!important;padding:9px 10px!important;
  border-radius:8px!important;box-shadow:none!important;transform:none!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip>div:hover,
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-card:hover{
  transform:none!important;box-shadow:none!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip b{margin:0 0 4px!important;font-size:11.5px!important}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip span{font-size:13.5px!important;line-height:1.28!important}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-more{
  position:relative!important;left:auto!important;bottom:auto!important;margin:auto 0 0!important;z-index:8!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-more>summary{
  min-height:23px!important;padding:2px 7px!important;font-size:11.5px!important;border-radius:5px!important
}
body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-more>div{
  position:relative!important;left:auto!important;top:auto!important;width:100%!important;margin:6px 0 0!important;
  z-index:1!important;box-shadow:none!important
}

body.sdpi-portal-body .sdpi-launch-setup{padding:14px 16px!important}
body.sdpi-portal-body .sdpi-launch-setup>header{margin-bottom:10px!important;gap:12px!important}
body.sdpi-portal-body .sdpi-launch-steps{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important
}
body.sdpi-portal-body .sdpi-launch-steps>a{
  min-height:96px!important;height:100%!important;padding:11px 12px!important;gap:8px!important;
  grid-template-columns:minmax(0,1fr)!important;align-content:start!important;border-left-width:3px!important
}
body.sdpi-portal-body .sdpi-launch-steps>a>span>small:last-child{
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
  overflow:hidden!important;margin-top:4px!important;font-size:12px!important;line-height:1.35!important
}
body.sdpi-portal-body .sdpi-launch-steps strong{font-size:14px!important;line-height:1.25!important}
body.sdpi-portal-body .sdpi-launch-steps .sdpi-setup-group{font-size:10.5px!important;margin-bottom:3px!important}
body.sdpi-portal-body .sdpi-launch-steps em{
  justify-self:start!important;padding:4px 7px!important;border-radius:5px!important;font-size:10.5px!important
}
body.sdpi-portal-body .sdpi-launch-quick>div>a{min-height:58px!important;height:58px!important}

@media(max-width:1180px){
 body.sdpi-portal-body .sdpi-launch-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-edit-top{grid-template-columns:1fr!important}
}
@media(max-width:760px){
 body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.sdpi-portal-body .sdpi-launch-steps{grid-template-columns:1fr!important}
 body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-more>div{width:min(280px,78vw)!important}
}
@media(max-width:480px){
 body.sdpi-portal-body .sdpi-user-edit-compact .sdpi-user-summary-strip{grid-template-columns:1fr!important}
}


/* v1.12.446 — User List action/badge alignment: compact, readable, no awkward wraps. */
@media(min-width:901px){
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table{min-width:980px!important;table-layout:fixed!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(1){width:17%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(2){width:18%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(3){width:16%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(4){width:18%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(5){width:7%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(6){width:7%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(7){width:17%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td:nth-child(5),
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td:nth-child(6),
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td:nth-child(7){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-row-actions{flex-wrap:nowrap!important;gap:6px!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-row-actions .sdpi-ui-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:5px 9px!important;font-size:12.5px!important;line-height:1.15!important;white-space:nowrap!important}
}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-ui-chip{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1!important}


/* v1.12.447 — User List: backend Type remains internal; visible register uses six useful columns. */
@media (min-width: 981px){
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(1){width:17%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(2){width:20%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(3){width:17%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(4){width:20%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(5){width:8%!important}
  .sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th:nth-child(6){width:18%!important}
}


/* v1.12.455 — Main Admin User List readability only. No layout/data logic change. */
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table th{font-size:13.5px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-table td{font-size:15px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-namecell strong{font-size:14.5px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-namecell small{font-size:12.5px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-login-id{font-size:13px!important}
.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-master .button,.sdpi-admin-route-sdpi-cac-user-list .sdpi-user-row-actions .button{font-size:13.5px!important}
