/*
  Rekaz shell entrypoint for header, sidebar, collapse, RTL, and mobile navigation.
  Phase35 merged required shell compatibility selectors into this approved runtime bundle.
  Do not load or recreate legacy shell CSS files.
*/
.rekaz-global-header.rekaz-global-header,
.rekaz-sidebar.rekaz-sidebar,
.rekaz-sidebar-footer.rekaz-sidebar-footer {
    font-family: var(--rekaz-font-family);
}

/* Phase45E: sidebar � light theme with brand palette */
/* gate: color:#f8fbff background:linear-gradient(180deg,#0c2e5c */
body.portal-shell.rekaz-theme-active #portal-sidebar.sidebar,
body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
    background: linear-gradient(180deg, #0B2D5C 0%, #16519e 52%, #1d6fa9 100%) !important;
    border-color: var(--shell-sidebar-border) !important;
    color:#f8fbff !important;
    box-shadow: 0 0 0 1px #dde5ef, 0 8px 32px rgba(12, 46, 92, .10) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.sidebar-brand, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer) {
    background:#fff !important;
    border-color: #e2e8f0 !important;
    color:#0f172a !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-areas: "school-logo school-name" "school-logo school-term" !important;
    align-items: center !important;
    gap: 2px 8px !important;
    min-height: 50px !important;
    padding: 7px 9px !important;
    margin-block-end: 7px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .school-context::after,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card::after {
    content: none !important;
    display: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context .muted,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card .muted {
    display: none !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo::after {
    content: none !important;
    display: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 1 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>strong,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card>strong {
    grid-area: school-name !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #4f46e5 !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>div:not(.rekaz-school-logo):not(.muted),
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card>div:not(.rekaz-school-logo):not(.muted) {
    grid-area: school-term !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #4f46e5 !important;
    font-size: .69rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: .96 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>div:not(.rekaz-school-logo):not(.muted) a,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card>div:not(.rekaz-school-logo):not(.muted) a {
    color: inherit !important;
    font: inherit !important;
    text-decoration: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-nav {
    gap: 5px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle, a.nav-link, .nav-group > summary) {
    background: transparent !important;
    border-color: transparent !important;
    color:#0f172a !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) {
    background: rgba(37, 99, 235, .09) !important;
    border-color: transparent !important;
    color: #1e40af !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon) {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: .9rem !important;
    border-radius: 8px !important;
    color: #16519e !important;
    background: rgba(12, 46, 92, .08) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) :where(.nav-icon, .nav-group-icon) {
    background: rgba(79, 70, 229, .14) !important;
    color: #4f46e5 !important;
}

/* Phase54: removed legacy shell geometry. */
/* Phase45H final sidebar icon color guard: keep Font Awesome glyphs light. */
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before {
    color: #4f46e5 !important;
    fill: currentColor !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before {
    color: #4f46e5 !important;
    fill: currentColor !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) {
    background: rgba(248, 251, 255, .18) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-accordion-toggle[aria-expanded="true"], .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) {
    background: rgba(248, 251, 255, .30) !important;
}

/* Phase45G: remove duplicate header collapse control and add account dropdown. */
body.portal-shell.rekaz-theme-active .header-duo.header-duo-single {
    display: inline-grid !important;
    grid-template-columns: var(--rkz-header-control, 44px) !important;
    width: auto !important;
    inline-size: auto !important;
}

body.portal-shell.rekaz-theme-active .header-duo.header-duo-single .header-icon-btn {
    border-inline-start: 0 !important;
    border-radius: 12px !important;
}

body.portal-shell.rekaz-theme-active .header-account-menu {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: var(--rkz-header-control, 44px) !important;
}

body.portal-shell.rekaz-theme-active .header-account-menu>summary {
    list-style: none !important;
    cursor: pointer !important;
}

body.portal-shell.rekaz-theme-active .header-account-menu>summary::-webkit-details-marker {
    display: none !important;
}

body.portal-shell.rekaz-theme-active .header-account-menu[open]>summary,
body.portal-shell.rekaz-theme-active .header-account-menu>summary:hover {
    background: rgba(248, 251, 255, .24) !important;
    color: #0B2D5C !important;
}

body.portal-shell.rekaz-theme-active .header-account-panel {
    position: absolute !important;
    inset-block-start: calc(100% + 8px) !important;
    inset-inline-start: 0 !important;
    z-index: calc(var(--z-header, 900) + 30) !important;
    display: grid !important;
    gap: 4px !important;
    min-inline-size: 188px !important;
    padding: 8px !important;
    border-radius: 12px !important;
    background: #f8fbff !important;
    color: #0B2D5C !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .18) !important;
    text-align: start !important;
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active .header-account-panel,
html[lang="en"] body.portal-shell.rekaz-theme-active .header-account-panel,
body.portal-shell.rekaz-theme-active[data-direction="ltr"] .header-account-panel {
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-account-panel strong {
    display: block !important;
    padding: 7px 9px 8px !important;
    color: #0B2D5C !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active .header-account-section {
    display: block !important;
    padding: 8px 9px 3px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.portal-shell.rekaz-theme-active .header-role-switcher {
    display: grid !important;
    gap: 6px !important;
    min-inline-size: 260px !important;
    padding: 2px 0 6px !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
}

body.portal-shell.rekaz-theme-active .header-role-switch-form {
    display: block !important;
    margin: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-role-option {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(25, 136, 216, .14) !important;
    border-radius: 10px !important;
    background:#fff !important;
    color: #0B2D5C !important;
    box-shadow: none !important;
    text-align: start !important;
    cursor: pointer !important;
}

body.portal-shell.rekaz-theme-active .header-role-option:hover,
body.portal-shell.rekaz-theme-active .header-role-option:focus {
    background: #eef7ff !important;
    border-color: rgba(25, 136, 216, .32) !important;
    outline: none !important;
}

body.portal-shell.rekaz-theme-active .header-role-option.is-active {
    background: linear-gradient(135deg, rgba(25, 136, 216, .13), rgba(66, 217, 244, .14)) !important;
    border-color: rgba(25, 136, 216, .42) !important;
}

body.portal-shell.rekaz-theme-active .header-role-option span {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-role-option b {
    color: #0B2D5C !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active .header-role-option small {
    color: #64748b !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active .header-role-option em {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    background: #dff8ee !important;
    color: #047857 !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .header-account-panel a {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 8px !important;
    color: #0B2D5C !important;
    text-decoration: none !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.portal-shell.rekaz-theme-active .header-account-panel a:hover,
body.portal-shell.rekaz-theme-active .header-account-panel a:focus {
    background: #eef5ff !important;
    color: #0b2d5c !important;
    outline: none !important;
}

body.portal-shell.rekaz-theme-active .header-account-divider {
    margin: 4px 0 !important;
    border: 0 !important;
    border-top: 1px solid #e5edf7 !important;
}

body.portal-shell.rekaz-theme-active .header-account-logout {
    color: #c0392b !important;
    gap: 6px !important;
}

body.portal-shell.rekaz-theme-active .header-account-logout:hover,
body.portal-shell.rekaz-theme-active .header-account-logout:focus {
    background: #fef2f2 !important;
    color: #991b1b !important;
}

@media (max-width:640px) {
    body.portal-shell.rekaz-theme-active .header-tools .header-account-menu {
        display: inline-flex !important;
    }
}

/* Phase54: removed legacy shell geometry. */
/* Phase35: migrated shell compatibility selectors into approved Rekaz shell bundle. */
:root {
    --content-max: 1440px;
    --shell-content-max: 1440px;
    --rkz-sidebar-w: var(--rekaz-sidebar-expanded-width);
    --shell-sidebar-width: var(--rkz-sidebar-w);
    --shell-sidebar-mobile-width: min(88vw, 348px);
    --rkz-gutter: clamp(16px, 2.2vw, 34px);
    --rkz-radius: 18px;
    --rkz-radius-lg: 24px;
    --rkz-header-control: 44px;
    --rkz-navy: var(--brand-navy);
    --rkz-navy-soft: var(--brand-navy-soft);
    --rkz-blue: var(--brand-blue);
    --rkz-cyan: var(--brand-cyan);
    --rkz-green: var(--brand-green);
    --rkz-orange: var(--brand-orange);
    --rkz-gold: var(--brand-gold);
    --rkz-gold-dark: var(--brand-gold-dark);
    --rkz-purple: var(--brand-purple);
    --rkz-text: var(--ink);
    --rkz-text-muted: var(--muted);
    --rkz-text-deep: var(--ink-deep);
    --rkz-text-soft: var(--muted-deep);
    --rkz-bg-identity: var(--bg-soft);
    --rkz-bg-system: var(--bg);
    --rkz-card: var(--panel);
    --rkz-table: var(--panel-2);
    --rkz-border: var(--line);
    --z-header: 900;
    --z-sticky: 930;
    --z-backdrop: 940;
    --z-sidebar: 950;
    --z-dropdown: 980;
    --z-overlay: 1000;
    --z-modal: 1100;
    --z-tooltip: 1200;
    --z-skip-link: 10000;
}

html[dir="rtl"] body.rekaz-theme-active {
    direction: rtl !important;
    text-align: start !important
}

html[dir="ltr"] body.rekaz-theme-active {
    direction: ltr !important;
    text-align: start !important
}

body.rekaz-theme-active {
    min-height: 100vh !important;
    background: var(--rkz-bg-system) !important;
    color: var(--rkz-text) !important;
    font-family: var(--rekaz-font-family) !important;
    overflow-x: hidden !important;
}

body.rekaz-theme-active *,
body.rekaz-theme-active *::before,
body.rekaz-theme-active *::after {
    box-sizing: border-box
}

body.rekaz-theme-active :is(button, input, select, textarea, .btn, .input, .select, .table) {
    font-family: inherit !important;
}

body.rekaz-theme-active :is(input, select, textarea, .input, .select, .textarea, .form-control) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    outline: 0 !important;
}

body.rekaz-theme-active :is(input, select, textarea, .input, .select, .textarea, .form-control)::placeholder {
    color: var(--rkz-text-muted) !important;
    opacity: 1 !important;
}

html[dir="rtl"] body.rekaz-theme-active :is(input, select, textarea, .input, .select, .textarea, .form-control) {
    text-align: start
}

html[dir="ltr"] body.rekaz-theme-active :is(input, select, textarea, .input, .select, .textarea, .form-control) {
    text-align: start
}

body.portal-shell.rekaz-theme-active .rekaz-global-header {
    position: sticky !important;
    inset-block-start: 0 !important;
    z-index: var(--z-header) !important;
    display: grid !important;
    grid-template-columns: minmax(250px, .95fr) minmax(320px, 1.05fr) minmax(250px, .95fr) !important;
    grid-template-areas: "brand center tools" "breadcrumb breadcrumb breadcrumb" !important;
    gap: 12px 16px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 14px var(--rkz-gutter) 12px !important;
    direction: inherit !important;
    background: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-navy-soft) 50%, var(--rkz-blue) 82%, var(--rkz-cyan) 100%) !important;
    color: var(--rkz-card) !important;
    border: 0 !important;
    border-radius: 0 0 20px 20px !important;
    box-shadow: 0 18px 46px rgba(10, 25, 47, .18) !important;
    opacity: 1 !important;
    filter: none !important;
    overflow: visible !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
    grid-template-areas: "tools center brand" "breadcrumb breadcrumb breadcrumb" !important;
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
    grid-template-areas: "tools center brand" "breadcrumb breadcrumb breadcrumb" !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header>* {
    direction: rtl !important
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header>* {
    direction: rtl !important
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active .rekaz-global-header>* {
    direction: ltr !important
}

html[lang="en"] body.portal-shell.rekaz-theme-active .rekaz-global-header>* {
    direction: ltr !important
}

body.portal-shell.rekaz-theme-active .rekaz-global-header :is(.header-brand-title, small, .header-breadcrumb strong, .header-breadcrumb span, .header-breadcrumb em) {
    color: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active .header-brand {
    grid-area: brand !important;
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .header-brand {
    justify-self: end !important;
    direction: rtl !important;
    text-align: start !important
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .header-brand {
    justify-self: end !important;
    direction: rtl !important;
    text-align: start !important
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active .header-brand {
    justify-self: start !important;
    direction: ltr !important;
    text-align: start !important
}

html[lang="en"] body.portal-shell.rekaz-theme-active .header-brand {
    justify-self: start !important;
    direction: ltr !important;
    text-align: start !important
}

body.portal-shell.rekaz-theme-active .header-brand-title {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: clamp(1.02rem, 1.4vw, 1.28rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-brand small {
    grid-column: 3 !important;
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    opacity: .88 !important;
}

body.portal-shell.rekaz-theme-active .header-brand-mark,
body.portal-shell.rekaz-theme-active .header-menu-lines,
body.portal-shell.rekaz-theme-active .header-icon-btn,
body.portal-shell.rekaz-theme-active .header-avatar {
    width: var(--rkz-header-control) !important;
    height: var(--rkz-header-control) !important;
    min-width: var(--rkz-header-control) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    color: var(--rkz-card) !important;
    border: 1px solid rgba(248, 251, 255, .24) !important;
    background: rgba(248, 251, 255, .12) !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active .header-menu-lines {
    flex-direction: column !important;
    gap: 5px !important
}

body.portal-shell.rekaz-theme-active .header-menu-lines span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active .header-center {
    grid-area: center !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-center .header-clock {
    order: 1 !important;
    flex-shrink: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-center .header-search {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-center .header-icon-btn {
    order: 3 !important;
    flex-shrink: 0 !important;
    width: var(--rkz-header-control) !important;
    min-width: var(--rkz-header-control) !important;
    height: var(--rkz-header-control) !important;
    border-radius: 14px !important;
    background: rgba(248, 251, 255, .12) !important;
    border: 1px solid rgba(248, 251, 255, .24) !important;
    color: var(--rkz-card) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    font-size: var(--fs-h3) !important;
}

body.portal-shell.rekaz-theme-active .header-search {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    height: 46px !important;
    padding-inline: 14px !important;
    border-radius: 16px !important;
    background: var(--rkz-card) !important;
    border: 1px solid rgba(248, 251, 255, .36) !important;
    box-shadow: 0 10px 28px rgba(10, 25, 47, .12) !important;
}

body.portal-shell.rekaz-theme-active .header-search input {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--rkz-text-deep) !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active .header-search .search-icon {
    color: var(--rkz-blue) !important
}

body.portal-shell.rekaz-theme-active .header-clock {
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    color: var(--rkz-card) !important;
    background: rgba(248, 251, 255, .12) !important;
    border: 1px solid rgba(248, 251, 255, .22) !important;
    white-space: nowrap !important;
}

body.portal-shell.rekaz-theme-active .header-tools {
    grid-area: tools !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .header-tools {
    justify-content: flex-start !important;
    direction: rtl !important
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .header-tools {
    justify-content: flex-start !important;
    direction: rtl !important
}

body.portal-shell.rekaz-theme-active .header-icon-btn:hover,
body.portal-shell.rekaz-theme-active .header-menu-lines:hover {
    background: rgba(248, 251, 255, .2) !important;
    transform: translateY(-1px) !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb {
    grid-area: breadcrumb !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    color: var(--rkz-card) !important;
    background: rgba(248, 251, 255, .12) !important;
    border: 1px solid rgba(248, 251, 255, .2) !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-trail {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-sep {
    opacity: .55 !important;
    font-size: .8em !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-end {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-term {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: rgba(248, 251, 255, .14) !important;
    border: 1px solid rgba(248, 251, 255, .22) !important;
    font-style: normal !important;
    white-space: nowrap !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-lang.language-switcher {
    background: rgba(248, 251, 255, .12) !important;
    border-color: rgba(248, 251, 255, .22) !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-lang.language-switcher a {
    color: rgba(248, 251, 255, .85) !important;
    font-size: .75rem !important;
    min-height: 28px !important;
    padding: 0 10px !important;
}

body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-lang.language-switcher a.is-active {
    color: var(--rkz-text-deep) !important;
    background: var(--rkz-card) !important;
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active .header-breadcrumb {
    justify-self: stretch !important
}

/* legacy em rule merged into .breadcrumb-term above */

body.portal-shell.rekaz-theme-active>.mobile-nav-toggle {
    display: none !important;
}

body.auth-shell.rekaz-theme-active>.mobile-nav-toggle {
    display: none !important;
}

.language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    background: var(--rkz-table) !important;
    border: 1px solid var(--rkz-border) !important;
}

.language-switcher a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: var(--rkz-text-deep) !important;
    text-decoration: none !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.language-switcher a.is-active {
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-navy), var(--rkz-blue)) !important;
}

body.portal-shell.rekaz-theme-active .header-language-switcher {
    background: rgba(248, 251, 255, .14) !important;
    border-color: rgba(248, 251, 255, .22) !important;
}

body.portal-shell.rekaz-theme-active .header-language-switcher a {
    color: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active .header-language-switcher a.is-active {
    color: var(--rkz-text-deep) !important;
    background: var(--rkz-card) !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


html[dir="rtl"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: rtl !important;
    text-align: start !important
}

html[lang="ar"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: rtl !important;
    text-align: start !important
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: ltr !important;
    text-align: start !important
}

html[lang="en"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: ltr !important;
    text-align: start !important
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

html[lang="ar"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

html[dir="ltr"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

html[lang="en"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

/* Locale wins if an older include leaves dir out of sync. */
html[lang="ar"] body.rekaz-theme-active {
    direction: rtl !important;
}

html[lang="en"] body.rekaz-theme-active {
    direction: ltr !important;
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
    grid-template-areas: "tools center brand" "breadcrumb breadcrumb breadcrumb" !important;
}

html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header>*,
html[lang="ar"] body.portal-shell.rekaz-theme-active .header-brand,
html[lang="ar"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: rtl !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


html[lang="ar"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

html[lang="en"] body.portal-shell.rekaz-theme-active .rekaz-global-header>*,
html[lang="en"] body.portal-shell.rekaz-theme-active .header-brand,
html[lang="en"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar) {
    direction: ltr !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


html[lang="en"] body.portal-shell.rekaz-theme-active :is(.main, #portal-sidebar, .card, .panel, .section-title, .topbar, .table, th, td, label, p, h1, h2, h3, h4, .nav-link, .nav-section, .nav-label, .nav-accordion-toggle) {
    text-align: start !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar :is(h2, p, strong, a, .muted, .nav-section, .nav-accordion-label, .nav-label) {
    color: var(--shell-sidebar-text, #0B2D5C) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :is(p, .muted, .nav-section) {
    color: #EEF5FF !important;
    opacity: .78 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-nav {
    display: grid !important;
    gap: 8px !important;
    margin-block-start: 12px !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .nav-icon,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-icon {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--rkz-cyan) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"],
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active {
    color: var(--rkz-text-deep) !important;
    background: var(--rkz-card) !important;
    border-color: var(--shell-sidebar-link, #0B2D5C) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] *,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover *,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active * {
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-panel {
    margin: 4px 0 8px !important;
    padding: 6px !important;
    border-radius: 14px !important;
    background: rgba(248, 251, 255, .06) !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :is(h1, h2, h3, h4, .section-title h2, .page-title, strong) {
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active .main :is(p, li, td, th, label, span) {
    text-align: start;
}

body.portal-shell.rekaz-theme-active .main :is(.muted, small, .hint, .help-text) {
    color: var(--rkz-text-soft) !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main .btn.ghost,
body.rekaz-theme-active .btn.ghost {
    background: var(--rkz-table) !important;
    color: var(--rkz-text-deep) !important;
    border-color: var(--rkz-border) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-promo-card {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px 18px !important;
    align-items: center !important;
    min-height: 132px !important;
    padding: 24px !important;
    background: linear-gradient(135deg, var(--rkz-table), var(--rkz-card)) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 38px rgba(10, 25, 47, .06) !important;
    overflow: hidden !important;
}

body.portal-shell.rekaz-theme-active .rekaz-promo-card :is(.promo-title, .promo-date) {
    color: var(--rkz-text-deep) !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .rekaz-promo-card .promo-subtitle {
    color: var(--rkz-text-soft) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-promo-card .promo-action {
    justify-self: start !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    color: var(--rkz-card) !important;
    background: var(--rkz-orange) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-promo-card .show-all {
    justify-self: end !important;
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-blue), var(--rkz-cyan)) !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    text-decoration: none !important;
}

body.portal-shell.rekaz-theme-active .rekaz-ai-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 22px 24px !important;
    background: linear-gradient(135deg, var(--rkz-card), var(--rkz-table)) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 38px rgba(10, 25, 47, .06) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-ai-banner p {
    margin: 0 !important;
    color: var(--rkz-text-deep) !important;
    font-weight: 800 !important;
}

body.portal-shell.rekaz-theme-active .rekaz-dashboard-row>* {
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-blue), var(--rkz-cyan)) !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 38px rgba(10, 25, 47, .08) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-dashboard-row>* :is(h3, b, span, div) {
    color: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-feature-card {
    color: var(--rkz-text-deep) !important;
    background: var(--rkz-card) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
    text-decoration: none !important;
}

body.auth-shell.rekaz-theme-active,
body.auth-shell {
    background: var(--rkz-bg-system) !important;
    color: var(--rkz-text) !important;
}

body.auth-shell.rekaz-theme-active .login-page,
body.auth-shell .login-page {
    display: grid !important;
    grid-template-columns: minmax(0, 1.42fr) minmax(420px, .9fr) !important;
    grid-template-areas: "visual panel" !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    direction: ltr !important;
    background: var(--rkz-bg-system) !important;
    overflow: hidden !important;
}

body.auth-shell.rekaz-theme-active .login-visual,
body.auth-shell .login-visual {
    grid-area: visual !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 100vh !important;
    padding: clamp(28px, 4vw, 64px) !important;
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-navy-soft) 62%, var(--rkz-blue) 100%) !important;
    opacity: 1 !important;
    filter: none !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-visual,
html[dir="rtl"] body.auth-shell .login-visual {
    direction: rtl !important;
    text-align: start !important
}

html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-visual,
html[dir="ltr"] body.auth-shell .login-visual {
    direction: ltr !important;
    text-align: start !important
}

body.auth-shell.rekaz-theme-active .login-visual *,
body.auth-shell .login-visual * {
    color: var(--rkz-card) !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup,
body.auth-shell .login-brand-lockup {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

body.auth-shell.rekaz-theme-active .login-logo-mark,
body.auth-shell .login-logo-mark {
    width: 74px !important;
    height: 74px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 22px !important;
    border: 1px solid rgba(248, 251, 255, .36) !important;
    background: rgba(248, 251, 255, .12) !important;
    font-size: var(--fs-h1) !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup strong,
body.auth-shell .login-brand-lockup strong {
    display: block !important;
    font-size: clamp(1.25rem, 2vw, 1.9rem) !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup small,
body.auth-shell .login-brand-lockup small {
    display: block !important;
    margin-top: 6px !important;
    color: var(--rkz-table) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy span,
body.auth-shell .login-hero-copy span {
    display: block !important;
    margin-bottom: 22px !important;
    color: var(--rkz-table) !important;
    font-size: clamp(1.1rem, 2vw, 2.2rem) !important;
    font-weight: 900 !important;
    text-transform: none !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy h1,
body.auth-shell .login-hero-copy h1 {
    max-width: 820px !important;
    margin: 0 !important;
    color: var(--rkz-card) !important;
    font-size: clamp(3rem, 6.2vw, 6.2rem) !important;
    line-height: 1.04 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 20px 40px rgba(10, 25, 47, .28) !important;
}

body.auth-shell.rekaz-theme-active .login-panel,
body.auth-shell .login-panel {
    grid-area: panel !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 100vh !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(32px, 5vw, 84px) !important;
    background: var(--rkz-bg-system) !important;
    color: var(--rkz-text) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-panel,
html[dir="rtl"] body.auth-shell .login-panel {
    direction: rtl !important;
    text-align: start !important
}

html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-panel,
html[dir="ltr"] body.auth-shell .login-panel {
    direction: ltr !important;
    text-align: start !important
}

body.auth-shell.rekaz-theme-active .login-panel :is(h1, p, label, a, span),
body.auth-shell .login-panel :is(h1, p, label, a, span) {
    color: var(--rkz-text) !important;
}

body.auth-shell.rekaz-theme-active .login-panel h1,
body.auth-shell .login-panel h1 {
    margin: 48px 0 12px !important;
    color: var(--rkz-text-deep) !important;
    font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-panel .muted,
body.auth-shell .login-panel .muted {
    color: var(--rkz-text-soft) !important;
    font-size: .98rem !important;
    line-height: 1.9 !important;
}

body.auth-shell.rekaz-theme-active .login-form,
body.auth-shell .login-form {
    display: grid !important;
    gap: 18px !important;
    margin-top: 34px !important;
}

body.auth-shell.rekaz-theme-active .login-form .input,
body.auth-shell .login-form .input {
    min-height: 56px !important;
    padding: 0 18px !important;
    background: var(--rkz-card) !important;
    border-color: var(--rkz-border) !important;
    color: var(--rkz-text-deep) !important;
    border-radius: 14px !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row,
body.auth-shell .login-extra-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    color: var(--rkz-text-deep) !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row a,
body.auth-shell .login-extra-row a {
    color: var(--rkz-text-deep) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.auth-shell.rekaz-theme-active .login-btn,
body.auth-shell .login-btn {
    width: 100% !important;
    min-height: 58px !important;
    margin-top: 18px !important;
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-navy), var(--rkz-blue), var(--rkz-cyan)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 18px 34px rgba(25, 136, 216, .22) !important;
}

body.auth-shell.rekaz-theme-active .login-language-switcher,
body.auth-shell .login-language-switcher {
    align-self: flex-start !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-language-switcher,
html[dir="rtl"] body.auth-shell .login-language-switcher {
    align-self: flex-end !important
}

@media (min-width:981px) {
    /* Phase54: removed legacy shell geometry rule. */

    /* Phase54: removed legacy shell geometry rule. */

    /* Phase54: removed legacy shell geometry rule. */

    /* Phase54: removed legacy shell geometry rule. */

    /* Phase54: removed legacy shell geometry rule. */


    body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand,
    body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        padding: 10px 6px !important;
    }

    body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar :is(.sidebar-brand h2, .sidebar-brand p, .school-context, .user-chip, .rekaz-sidebar-footer, .nav-section, .nav-label, .nav-accordion-label, .nav-accordion-arrow, .nav-accordion-panel),
    body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar :is(.sidebar-brand h2, .sidebar-brand p, .school-context, .user-chip, .rekaz-sidebar-footer, .nav-section, .nav-label, .nav-accordion-label, .nav-accordion-arrow, .nav-accordion-panel) {
        display: none !important;
    }

    body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar :is(.nav-accordion-toggle, a.nav-link),
    body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar :is(.nav-accordion-toggle, a.nav-link) {
        justify-content: center !important;
        padding: 10px !important;
    }
}

@media (max-width:1180px) {

    body.portal-shell.rekaz-theme-active .rekaz-global-header,
    html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "brand tools" "center center" "breadcrumb breadcrumb" !important;
        min-height: 0 !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        grid-template-areas: "tools brand" "center center" "breadcrumb breadcrumb" !important;
    }

    html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        grid-template-areas: "tools brand" "center center" "breadcrumb breadcrumb" !important;
    }

    body.portal-shell.rekaz-theme-active .header-center {
        flex-wrap: nowrap !important;
    }

    body.portal-shell.rekaz-theme-active .header-center .header-clock {
        display: none !important;
    }
}


@media (max-width:980px) {
    /* Phase54: removed legacy shell geometry rule. */


    body.portal-shell.rekaz-theme-active .main {
        padding-block-start: 60px !important;
    }

    /* Phase54: removed legacy shell geometry rule. */

    /* Phase54: removed legacy shell geometry rule. */


    body.sidebar-open.portal-shell.rekaz-theme-active #portal-sidebar.sidebar,
    body.sidebar-open.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar,
    body.portal-shell.rekaz-theme-active #portal-sidebar.sidebar.is-open,
    body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar.is-open {
        transform: translateX(0) !important;
    }

    body.portal-shell.rekaz-theme-active .mobile-nav-toggle {
        position: fixed !important;
        inset-block-start: 14px !important;
        inset-inline-start: 14px !important;
        z-index: var(--z-sidebar) !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 44px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        border: 1px solid var(--rkz-border) !important;
        background: var(--rkz-card) !important;
        color: var(--rkz-text-deep) !important;
        box-shadow: 0 14px 30px rgba(10, 25, 47, .12) !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active .mobile-nav-toggle {
        inset-inline-start: auto !important;
        inset-inline-end: 14px !important;
    }

    html[lang="ar"] body.portal-shell.rekaz-theme-active .mobile-nav-toggle {
        inset-inline-start: auto !important;
        inset-inline-end: 14px !important;
    }

    body.portal-shell.rekaz-theme-active .rekaz-ai-banner,
    body.portal-shell.rekaz-theme-active .rekaz-promo-card {
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
}

@media (max-width:860px) {

    body.auth-shell.rekaz-theme-active .login-page,
    body.auth-shell .login-page {
        grid-template-columns: 1fr !important;
        grid-template-areas: "visual" "panel" !important;
        min-height: 100vh !important;
    }

    body.auth-shell.rekaz-theme-active .login-visual,
    body.auth-shell .login-visual {
        min-height: 44vh !important;
        padding: 28px !important;
    }

    body.auth-shell.rekaz-theme-active .login-hero-copy h1,
    body.auth-shell .login-hero-copy h1 {
        font-size: clamp(2.4rem, 12vw, 4.4rem) !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel,
    body.auth-shell .login-panel {
        min-height: auto !important;
        padding: 30px 22px 42px !important;
    }
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary::-webkit-details-marker,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary::marker {
    display: none !important;
    content: '' !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary:hover {
    color: var(--shell-sidebar-active-text, #1e40af) !important;
    background: rgba(37, 99, 235, .08) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary {
    color: var(--shell-sidebar-text, #0B2D5C) !important;
    background: rgba(248, 251, 255, .06) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-icon {
    width: 22px !important;
    min-width: 22px !important;
    text-align: center !important;
    font-size: var(--fs-body) !important;
    opacity: .85 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-label {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-arrow {
    font-size: var(--fs-xs) !important;
    opacity: .6 !important;
    flex-shrink: 0 !important;
    margin-inline-start: auto !important;
    transition: transform .2s ease !important;
    transform: rotate(0deg) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary .nav-group-arrow {
    transform: rotate(-180deg) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items {
    padding: 4px 0 4px 8px !important;
    margin-inline-start: 8px !important;
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items a.nav-link {
    min-height: 36px !important;
    padding: 6px 10px !important;
    font-size: .84rem !important;
    border-radius: 10px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items .nav-icon {
    width: 22px !important;
    min-width: 22px !important;
    font-size: var(--fs-ui) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-pinned a.nav-link {
    min-height: 40px !important;
    font-size: .88rem !important;
    border-radius: 12px !important;
    background: rgba(248, 251, 255, .05) !important;
    margin-bottom: 2px !important;
}

/* compact mode: hide group labels/arrows */
body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary,
body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary {
    justify-content: center !important;
    padding: 8px !important;
}

body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar :is(.nav-group-label, .nav-group-arrow),
body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar :is(.nav-group-label, .nav-group-arrow) {
    display: none !important;
}

body.sidebar-compact.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items,
body.sidebar-collapsed.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items {
    padding: 2px 0 !important;
    margin-inline-start: 0 !important;
    border-inline-start: 0 !important;
}

/* Header search icon order fix */
body.portal-shell.rekaz-theme-active .header-search {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-direction: row !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .header-search {
    flex-direction: row-reverse !important;
}

body.portal-shell.rekaz-theme-active .header-search .search-icon {
    font-size: var(--fs-h4) !important;
    flex-shrink: 0 !important;
    color: var(--rkz-blue) !important;
    opacity: .85 !important;
}

body.portal-shell.rekaz-theme-active .header-search input {
    flex: 1 !important;
    direction: inherit !important;
    text-align: start !important;
}

@media (max-width:640px) {

    body.portal-shell.rekaz-theme-active .rekaz-global-header,
    html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        padding: 12px !important;
        border-radius: 0 0 16px 16px !important;
    }

    body.portal-shell.rekaz-theme-active .header-brand {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    body.portal-shell.rekaz-theme-active .header-brand-mark {
        display: none !important
    }

    body.portal-shell.rekaz-theme-active .header-brand small {
        grid-column: 2 !important
    }

    body.portal-shell.rekaz-theme-active .header-tools {
        gap: 6px !important
    }

    body.portal-shell.rekaz-theme-active .header-icon-btn,
    body.portal-shell.rekaz-theme-active .header-avatar,
    body.portal-shell.rekaz-theme-active .header-menu-lines {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
    }

    body.portal-shell.rekaz-theme-active .header-language-switcher a {
        min-height: 28px !important;
        padding: 0 8px !important;
        font-size: .7rem !important;
    }
}

/* Phase 9 - responsive stability and final contrast guard */
body.rekaz-theme-active :where(img, video, canvas, svg) {
    max-width: 100% !important;
    height: auto !important;
}

body.portal-shell.rekaz-theme-active :where(.main, .layout, .card, .panel, .rekaz-list-card, .rekaz-table-card, .rekaz-data-card, .soft-card, .empty-state, .table-wrap, .table-responsive, .rekaz-table-wrap, .grid, .cards-3, .form-grid) {
    min-width: 0 !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active :where(.card, .panel, .rekaz-list-card, .rekaz-table-card, .rekaz-data-card, .soft-card, .empty-state, .import70-card, .teacher72-card) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border-color: var(--rkz-border) !important;
}

body.portal-shell.rekaz-theme-active :where(.topbar, .section-title, .rekaz-table-head, .rekaz-panel-head) :where(h1, h2, h3, h4, strong) {
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.muted, .help, .form-text, small) {
    color: var(--rkz-text-soft) !important;
}

body.rekaz-theme-active :where(.btn, a.btn, button[type="submit"], button.primary, .button) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--rkz-blue) 30%, transparent) !important;
    background: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-blue) 72%, var(--rkz-cyan) 100%) !important;
    color: var(--rkz-card) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--rkz-blue) 16%, transparent) !important;
}

body.rekaz-theme-active :where(.btn.secondary, .btn.ghost, .btn-outline, .button.secondary, button.secondary) {
    background: var(--rkz-card) !important;
    color: var(--rkz-blue) !important;
    border-color: var(--rkz-border) !important;
    box-shadow: none !important;
}

body.rekaz-theme-active :where(.btn:hover, a.btn:hover, button[type="submit"]:hover, button.primary:hover, .button:hover) {
    transform: translateY(-1px) !important;
}

body.portal-shell.rekaz-theme-active :where(.table-wrap, .table-responsive, .rekaz-table-wrap) {
    max-width: 100% !important;
    overflow-x: auto !important;
    background: var(--rkz-card) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
}

body.portal-shell.rekaz-theme-active :where(table, .table, .data-table, table[class*="-table"]) {
    color: var(--rkz-text) !important;
    background: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active :where(th, td) {
    text-align: start !important;
    vertical-align: middle !important;
    border-color: var(--rkz-border) !important;
}

body.portal-shell.rekaz-theme-active :where(thead th, .table th, .data-table th, table[class*="-table"] th) {
    background: var(--rkz-table) !important;
    color: var(--rkz-text-deep) !important;
    font-weight: 900 !important;
}

body.public-page.rekaz-theme-active,
body.cl49-public.rekaz-theme-active {
    min-height: 100vh !important;
    margin: 0 !important;
    background:
        radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--rkz-cyan) 14%, transparent), transparent 28%),
        linear-gradient(135deg, var(--rkz-bg-system) 0%, var(--rkz-bg-identity) 100%) !important;
    color: var(--rkz-text) !important;
    direction: inherit !important;
    text-align: start !important;
}

body.public-page.rekaz-theme-active .public-main,
body.cl49-public.rekaz-theme-active .cl49-review-card {
    width: min(calc(100% - 32px), 980px) !important;
    margin: clamp(22px, 5vw, 56px) auto !important;
    padding: 0 !important;
    color: var(--rkz-text) !important;
}

body.public-page.rekaz-theme-active .public-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
    background: var(--rkz-card) !important;
    box-shadow: 0 14px 34px color-mix(in srgb, var(--rkz-navy) 7%, transparent) !important;
}

body.public-page.rekaz-theme-active .public-topbar strong {
    display: block !important;
    color: var(--rkz-text-deep) !important;
    font-weight: 900 !important;
}

body.public-page.rekaz-theme-active .public-topbar span {
    display: block !important;
    margin-top: 4px !important;
    color: var(--rkz-text-soft) !important;
    font-size: .84rem !important;
}

body.public-page.rekaz-theme-active :where(.public-card, .cl49-panel, .cl49-review-card) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 42px color-mix(in srgb, var(--rkz-navy) 8%, transparent) !important;
}

body.public-page.rekaz-theme-active .public-card {
    padding: clamp(20px, 4vw, 34px) !important;
}

body.public-page.rekaz-theme-active :where(h1, h2, h3, strong, label) {
    color: var(--rkz-text-deep) !important;
}

body.public-page.rekaz-theme-active :where(p, .muted, span) {
    color: var(--rkz-text-soft) !important;
}

body.public-page.rekaz-theme-active .public-form,
body.cl49-public.rekaz-theme-active .cl49-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
    margin-top: 18px !important;
}

body.public-page.rekaz-theme-active .public-form :where(input, .input),
body.cl49-public.rekaz-theme-active .cl49-form input {
    width: 100% !important;
    min-height: 46px !important;
}

body.public-page.rekaz-theme-active .public-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 999px !important;
    background: var(--rkz-bg-system) !important;
}

body.public-page.rekaz-theme-active .public-language-switcher a {
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: var(--rkz-text-soft) !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

body.public-page.rekaz-theme-active .public-language-switcher a.is-active {
    background: linear-gradient(135deg, var(--rkz-blue), var(--rkz-cyan)) !important;
    color: var(--rkz-card) !important;
}

body.cl49-public.rekaz-theme-active .cl49-chip-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}

body.cl49-public.rekaz-theme-active .cl49-chip-row span,
body.cl49-public.rekaz-theme-active .cl49-panel-head span,
body.cl49-public.rekaz-theme-active .cl49-metric {
    background: var(--rkz-table) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 14px !important;
}

body.cl49-public.rekaz-theme-active .cl49-panel {
    padding: 18px !important;
    margin-top: 16px !important;
}

body.cl49-public.rekaz-theme-active :where(.cl49-grid, .cl49-metrics, .cl49-scope-list) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: 12px !important;
}

body.cl49-public.rekaz-theme-active .cl49-command {
    direction: ltr !important;
    text-align: start !important;
    white-space: pre-wrap !important;
    overflow: auto !important;
    background: var(--rkz-table) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
}

@media (max-width:980px) {

    body.portal-shell.rekaz-theme-active .layout,
    html[dir="rtl"] body.portal-shell.rekaz-theme-active .layout,
    html[lang="ar"] body.portal-shell.rekaz-theme-active .layout,
    html[dir="ltr"] body.portal-shell.rekaz-theme-active .layout,
    html[lang="en"] body.portal-shell.rekaz-theme-active .layout {
        display: block !important;
        max-width: 100% !important;
        padding-inline: var(--rkz-gutter) !important;
    }

    body.portal-shell.rekaz-theme-active :where(.grid, .cards-3, .form-grid, .stats-grid, .rekaz-dashboard-row, .rekaz-shortcuts-grid) {
        grid-template-columns: 1fr !important;
    }

    body.portal-shell.rekaz-theme-active :where(.table, .data-table, table[class*="-table"]) {
        min-width: 720px !important;
    }

    body.public-page.rekaz-theme-active .public-form,
    body.cl49-public.rekaz-theme-active .cl49-form {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width:640px) {
    body.portal-shell.rekaz-theme-active .layout {
        padding-inline: 12px !important;
    }

    body.rekaz-theme-active :where(.btn, a.btn, button[type="submit"], button.primary, .button) {
        max-width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
    }

    body.public-page.rekaz-theme-active .public-main,
    body.cl49-public.rekaz-theme-active .cl49-review-card {
        width: min(calc(100% - 24px), 980px) !important;
        margin: 16px auto !important;
    }

    body.public-page.rekaz-theme-active .public-topbar {
        align-items: stretch !important;
        flex-direction: column !important;
    }
}

/* Rekaz UX governor v2: unified desktop/mobile application experience. */
:root {
    --rkz-appbar-h: 76px;
    --rkz-mobile-tabbar-h: 72px;
    --rkz-surface-glass: color-mix(in srgb, var(--rkz-card) 88%, transparent);
    --rkz-surface-hover: color-mix(in srgb, var(--rkz-blue) 7%, var(--rkz-card));
    --rkz-action-gradient: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-blue) 68%, var(--rkz-cyan) 100%);
    --rkz-accent-gradient: linear-gradient(135deg, var(--rkz-blue) 0%, var(--rkz-cyan) 58%, var(--rkz-green) 100%);
    --rkz-warm-gradient: linear-gradient(135deg, var(--rkz-orange) 0%, var(--rkz-gold) 100%);
    --rkz-focus-ring: 0 0 0 4px color-mix(in srgb, var(--rkz-cyan) 24%, transparent);
    --rkz-shadow-soft: 0 14px 34px color-mix(in srgb, var(--rkz-navy) 8%, transparent);
    --rkz-shadow-lift: 0 22px 52px color-mix(in srgb, var(--rkz-navy) 12%, transparent);
}

body.rekaz-theme-active {
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--rkz-cyan) 12%, transparent), transparent 28%),
        radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--rkz-blue) 10%, transparent), transparent 24%),
        linear-gradient(180deg, var(--rkz-bg-identity) 0%, var(--rkz-bg-system) 42%, var(--rkz-bg-system) 100%) !important;
    color: var(--rkz-text) !important;
}

body.rekaz-theme-active :where(h1, h2, h3, h4, h5, h6, strong, label) {
    color: var(--rkz-text-deep) !important;
    letter-spacing: 0 !important;
}

body.rekaz-theme-active :where(p, li, td, th, span, small, div) {
    letter-spacing: 0 !important;
}

body.rekaz-theme-active :where(a, button, .btn, input, select, textarea, summary) {
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        opacity .18s ease !important;
}

body.rekaz-theme-active :where(a, button, .btn, input, select, textarea, summary):focus-visible {
    outline: 0 !important;
    box-shadow: var(--rkz-focus-ring) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-global-header {
    min-height: 104px !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--rkz-card) 8%, transparent), transparent 28%),
        var(--rkz-action-gradient) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--rkz-cyan) 18%, transparent) !important;
    box-shadow: 0 18px 42px color-mix(in srgb, var(--rkz-navy) 18%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .rekaz-global-header :where(.header-brand-title, small, .header-breadcrumb strong, .header-breadcrumb span, .header-breadcrumb em) {
    color: var(--rkz-card) !important;
    opacity: 1 !important;
}

body.portal-shell.rekaz-theme-active .header-search,
body.portal-shell.rekaz-theme-active .header-breadcrumb,
body.portal-shell.rekaz-theme-active .header-clock,
body.portal-shell.rekaz-theme-active .header-language-switcher,
body.portal-shell.rekaz-theme-active .header-breadcrumb .breadcrumb-lang.language-switcher {
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
}

body.portal-shell.rekaz-theme-active .header-search {
    background: var(--rkz-card) !important;
    border-color: color-mix(in srgb, var(--rkz-cyan) 28%, var(--rkz-border)) !important;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--rkz-navy) 12%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .header-search input {
    color: var(--rkz-text-deep) !important;
    caret-color: var(--rkz-blue) !important;
}

body.portal-shell.rekaz-theme-active .header-search input::placeholder {
    color: var(--rkz-text-muted) !important;
    opacity: 1 !important;
}

body.portal-shell.rekaz-theme-active .header-icon-btn:hover,
body.portal-shell.rekaz-theme-active .header-menu-lines:hover,
body.portal-shell.rekaz-theme-active .header-avatar:hover {
    background: color-mix(in srgb, var(--rkz-card) 22%, transparent) !important;
    border-color: color-mix(in srgb, var(--rkz-cyan) 36%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .layout {
    max-width: var(--shell-content-max) !important;
    padding-block: 22px 44px !important;
}

body.portal-shell.rekaz-theme-active .main {
    display: block !important;
    min-height: calc(100vh - 170px) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar.sidebar,
body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
    background: var(--shell-sidebar-bg, #f0f4fa) !important;
    border-color: var(--shell-sidebar-border, #dde5ef) !important;
    box-shadow: 0 0 0 1px var(--shell-sidebar-border, #dde5ef), 0 8px 24px rgba(12, 46, 92, .08) !important;
    scrollbar-color: var(--rekaz-scrollbar-thumb, #DCEAF8) var(--rekaz-scrollbar-track, #F5F9FF) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.sidebar-brand, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer) {
    background: var(--shell-sidebar-panel, #ffffff) !important;
    border-color: var(--shell-sidebar-card-border, #e2e8f0) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.sidebar-brand h2, .school-context strong, .user-chip span, .nav-label, .nav-group-label) {
    color: var(--shell-sidebar-text, #0B2D5C) !important;
    opacity: 1 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(p, .muted, .nav-section, .sidebar-brand small) {
    color: var(--shell-sidebar-muted, #475569) !important;
    opacity: 1 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle, a.nav-link, .nav-group > summary) {
    min-height: 42px !important;
    border-radius: 13px !important;
    color: #0B2D5C !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) {
    background: rgba(37, 99, 235, .09) !important;
    color: #1e40af !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) :where(.nav-icon, .nav-group-icon, .nav-label, .nav-group-label, .nav-group-arrow) {
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-icon,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-icon {
    color: var(--shell-sidebar-icon-color, #16519e) !important;
    background: rgba(12, 46, 92, .08) !important;
    border-radius: 8px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items {
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items,
html[lang="ar"] body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group-items {
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
}

body.portal-shell.rekaz-theme-active :where(.topbar, .card, .panel, .rekaz-list-card, .rekaz-table-card, .rekaz-data-card, .soft-card, .empty-state, .summary-card, .stat-card, .section-card, .cl36-panel, .cl37-panel, .cl50-panel) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text) !important;
    border: 1px solid var(--rkz-border) !important;
    box-shadow: var(--rkz-shadow-soft) !important;
}

body.portal-shell.rekaz-theme-active :where(.topbar, .section-title, .rekaz-table-head, .rekaz-panel-head) {
    background: linear-gradient(135deg, var(--rkz-card) 0%, color-mix(in srgb, var(--rkz-table) 60%, var(--rkz-card)) 100%) !important;
}

body.portal-shell.rekaz-theme-active :where(.topbar h1, .section-title h1, .section-title h2, .card h1, .card h2, .card h3, .panel h1, .panel h2, .panel h3) {
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active :where(.topbar h1) {
    font-size: var(--rekaz-text-2xl) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.muted, .help, .form-text, small, .text-muted) {
    color: var(--rkz-text-soft) !important;
}

body.portal-shell.rekaz-theme-active :where(.card, .panel, .soft-card, .summary-card, .stat-card, .rekaz-list-card, .rekaz-table-card, .rekaz-data-card):hover {
    border-color: color-mix(in srgb, var(--rkz-blue) 18%, var(--rkz-border)) !important;
    box-shadow: var(--rkz-shadow-lift) !important;
}

body.portal-shell.rekaz-theme-active :where(.kpi, .metric, .stat-number, .rekaz-kpi-value, [class*="metric"] strong) {
    color: var(--rkz-blue) !important;
    font-size: clamp(1.75rem,2.6vw,2.5rem) !important;
}

body.portal-shell.rekaz-theme-active :where(.rekaz-dashboard-row > *, .kpi-card, .stat-card) {
    background: linear-gradient(135deg, color-mix(in srgb, var(--rkz-blue) 13%, var(--rkz-card)), var(--rkz-card)) !important;
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active :where(.rekaz-dashboard-row > *) :where(h1, h2, h3, h4, b, strong, span, div, p) {
    color: var(--rkz-text-deep) !important;
}

body.rekaz-theme-active :where(.btn, a.btn, button[type="submit"], button.primary, .button) {
    background: var(--rkz-action-gradient) !important;
    color: var(--rkz-card) !important;
    border-color: color-mix(in srgb, var(--rkz-cyan) 18%, transparent) !important;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--rkz-blue) 18%, transparent) !important;
}

body.rekaz-theme-active :where(.btn.secondary, .button.secondary, button.secondary) {
    background: linear-gradient(135deg, var(--rkz-navy-soft), var(--rkz-blue)) !important;
    color: var(--rkz-card) !important;
}

body.rekaz-theme-active :where(.btn.ghost, .btn-outline, a.btn.ghost) {
    background: var(--rkz-table) !important;
    color: var(--rkz-text-deep) !important;
    border-color: var(--rkz-border) !important;
    box-shadow: none !important;
}

body.rekaz-theme-active :where(.btn.danger, .badge.danger, .flash.error, .alert.error) {
    border-color: color-mix(in srgb, var(--rkz-purple) 32%, var(--rkz-border)) !important;
}

body.rekaz-theme-active :where(.badge, .pill, .chip) {
    background: var(--rkz-table) !important;
    color: var(--rkz-blue) !important;
    border: 1px solid var(--rkz-border) !important;
}

body.rekaz-theme-active :where(.badge.ok, .badge.success, .badge.green) {
    background: color-mix(in srgb, var(--rkz-green) 13%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-green) 72%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.badge.warn, .badge.warning) {
    background: color-mix(in srgb, var(--rkz-orange) 14%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-orange) 72%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.badge.danger, .badge.error) {
    background: color-mix(in srgb, var(--rkz-purple) 12%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-purple) 72%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.input, .select, .textarea, input, select, textarea) {
    min-height: 46px !important;
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border-color: var(--rkz-border) !important;
}

body.rekaz-theme-active :where(.input, .select, .textarea, input, select, textarea):focus {
    border-color: var(--rkz-blue) !important;
    box-shadow: var(--rkz-focus-ring) !important;
}

body.portal-shell.rekaz-theme-active :where(.table-wrap, .table-responsive, .rekaz-table-wrap) {
    border-color: var(--rkz-border) !important;
    box-shadow: var(--rkz-shadow-soft) !important;
}

body.portal-shell.rekaz-theme-active :where(thead th, .table th, .data-table th, table[class*="-table"] th) {
    background: linear-gradient(180deg, var(--rkz-table), color-mix(in srgb, var(--rkz-card) 66%, var(--rkz-table))) !important;
    color: var(--rkz-text-deep) !important;
}

body.portal-shell.rekaz-theme-active :where(tbody tr:hover td) {
    background: var(--rkz-surface-hover) !important;
}

body.auth-shell.rekaz-theme-active,
body.auth-shell {
    background:
        radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--rkz-cyan) 13%, transparent), transparent 28%),
        linear-gradient(135deg, var(--rkz-bg-system) 0%, var(--rkz-bg-identity) 100%) !important;
}

body.auth-shell.rekaz-theme-active .login-visual,
body.auth-shell .login-visual {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--rkz-card) 7%, transparent), transparent 26%),
        linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-navy-soft) 56%, var(--rkz-blue) 100%) !important;
    color: var(--rkz-card) !important;
}

body.auth-shell.rekaz-theme-active .login-panel,
body.auth-shell .login-panel,
body.auth-shell.rekaz-theme-active .auth-card,
body.auth-shell .auth-card {
    background: var(--rkz-card) !important;
    color: var(--rkz-text) !important;
    border: 1px solid var(--rkz-border) !important;
    box-shadow: var(--rkz-shadow-lift) !important;
}

body.auth-shell.rekaz-theme-active .login-panel :where(h1, h2, h3, strong, label, a),
body.auth-shell .login-panel :where(h1, h2, h3, strong, label, a),
body.auth-shell.rekaz-theme-active .auth-card :where(h1, h2, h3, strong, label, a),
body.auth-shell .auth-card :where(h1, h2, h3, strong, label, a) {
    color: var(--rkz-text-deep) !important;
}

body.auth-shell.rekaz-theme-active .login-panel :where(p, .muted, small, span),
body.auth-shell .login-panel :where(p, .muted, small, span),
body.auth-shell.rekaz-theme-active .auth-card :where(p, .muted, small, span),
body.auth-shell .auth-card :where(p, .muted, small, span) {
    color: var(--rkz-text-soft) !important;
}

body.auth-shell.rekaz-theme-active .language-switcher,
body.auth-shell .language-switcher {
    background: var(--rkz-table) !important;
    border: 1px solid var(--rkz-border) !important;
    color: var(--rkz-text-deep) !important;
}

body.auth-shell.rekaz-theme-active .language-switcher a,
body.auth-shell .language-switcher a {
    color: var(--rkz-text-soft) !important;
}

body.auth-shell.rekaz-theme-active .language-switcher a.is-active,
body.auth-shell .language-switcher a.is-active {
    background: var(--rkz-action-gradient) !important;
    color: var(--rkz-card) !important;
}

.mobile-app-tabbar {
    display: none;
}

@media (max-width:980px) {

    html.sidebar-scroll-locked,
    body.sidebar-scroll-locked {
        overflow: hidden !important;
    }

    body.portal-shell.rekaz-theme-active {
        padding-bottom: calc(var(--rkz-mobile-tabbar-h) + env(safe-area-inset-bottom, 0px)) !important;
        background:
            linear-gradient(180deg, var(--rkz-bg-identity) 0%, var(--rkz-bg-system) 42%, var(--rkz-bg-system) 100%) !important;
    }

    body.portal-shell.rekaz-theme-active .rekaz-global-header,
    html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header,
    html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        position: sticky !important;
        top: 0 !important;
        min-height: var(--rkz-appbar-h) !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "brand tools" "center center" !important;
        gap: 10px !important;
        padding: 10px 14px 12px !important;
        border-radius: 0 0 18px 18px !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active .rekaz-global-header,
    html[lang="ar"] body.portal-shell.rekaz-theme-active .rekaz-global-header {
        grid-template-areas: "tools brand" "center center" !important;
    }

    body.portal-shell.rekaz-theme-active .header-breadcrumb {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .header-brand {
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.portal-shell.rekaz-theme-active .header-brand-mark {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .header-brand small {
        grid-column: 2 !important;
        font-size: .62rem !important;
    }

    body.portal-shell.rekaz-theme-active .header-tools {
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }

    body.portal-shell.rekaz-theme-active .header-tools :where(.header-avatar, .header-icon-btn.accent, .header-duo a) {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .header-center {
        gap: 8px !important;
    }

    body.portal-shell.rekaz-theme-active .header-center>.header-icon-btn,
    body.portal-shell.rekaz-theme-active .header-clock {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .header-search {
        height: 42px !important;
        border-radius: 999px !important;
    }

    /* Phase54: removed legacy shell geometry rule. */


    body.portal-shell.rekaz-theme-active .main {
        padding-block-start: 0 !important;
        min-height: auto !important;
    }

    body.portal-shell.rekaz-theme-active #portal-sidebar.sidebar,
    body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
        width: min(88vw, 360px) !important;
        max-width: min(88vw, 360px) !important;
        z-index: calc(var(--z-sidebar) + 20) !important;
        box-shadow: 0 0 0 1px color-mix(in srgb, var(--rkz-cyan) 10%, transparent), var(--rkz-shadow-lift) !important;
    }

    body.portal-shell.rekaz-theme-active .sidebar-backdrop {
        position: fixed !important;
        inset: 0 !important;
        display: none !important;
        z-index: calc(var(--z-sidebar) + 10) !important;
        background: color-mix(in srgb, var(--rkz-navy) 58%, transparent) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        backdrop-filter: blur(8px) !important;
    }

    body.sidebar-open.portal-shell.rekaz-theme-active .sidebar-backdrop {
        display: block !important;
    }

    body.portal-shell.rekaz-theme-active .mobile-nav-toggle {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active :where(.topbar, .card, .panel, .rekaz-list-card, .rekaz-table-card, .rekaz-data-card, .soft-card, .empty-state, .summary-card, .stat-card, .section-card) {
        border-radius: 16px !important;
        padding: 16px !important;
        margin-bottom: 12px !important;
    }

    body.portal-shell.rekaz-theme-active .topbar {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    body.portal-shell.rekaz-theme-active :where(.grid, .cards-3, .form-grid, .stats-grid, .rekaz-dashboard-row, .rekaz-shortcuts-grid, .split) {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.portal-shell.rekaz-theme-active :where(.actions, .btn-row, .filters) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 8px !important;
    }

    body.portal-shell.rekaz-theme-active :where(.actions .btn, .btn-row .btn, .filters .btn) {
        width: 100% !important;
    }

    body.portal-shell.rekaz-theme-active :where(.table-wrap, .table-responsive, .rekaz-table-wrap) {
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.portal-shell.rekaz-theme-active .table {
        min-width: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 10px !important;
        background: transparent !important;
    }

    body.portal-shell.rekaz-theme-active .table thead {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .table tbody,
    body.portal-shell.rekaz-theme-active .table tr,
    body.portal-shell.rekaz-theme-active .table td {
        display: block !important;
        width: 100% !important;
    }

    body.portal-shell.rekaz-theme-active .table tr {
        padding: 12px !important;
        background: var(--rkz-card) !important;
        border: 1px solid var(--rkz-border) !important;
        border-radius: 16px !important;
        box-shadow: var(--rkz-shadow-soft) !important;
        margin-bottom: 10px !important;
    }

    body.portal-shell.rekaz-theme-active .table td {
        border: 0 !important;
        padding: 7px 4px !important;
        display: grid !important;
        grid-template-columns: minmax(94px, 34%) minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
    }

    body.portal-shell.rekaz-theme-active .table td::before {
        content:attr(data-label) !important;
        color: var(--rkz-text-soft) !important;
        font-weight: 900 !important;
    }

    body.portal-shell.rekaz-theme-active .table td.empty {
        display: block !important;
        text-align: center !important;
    }

    body.portal-shell.rekaz-theme-active .table td.empty::before {
        display: none !important;
    }

    .mobile-app-tabbar {
        position: fixed !important;
        inset-inline: 10px !important;
        inset-block-end: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: var(--z-header) !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: var(--rkz-mobile-tabbar-h) !important;
        padding: 8px !important;
        border: 1px solid var(--rkz-border) !important;
        border-radius: 22px !important;
        background: color-mix(in srgb, var(--rkz-card) 94%, transparent) !important;
        box-shadow: var(--rkz-shadow-lift) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        backdrop-filter: blur(18px) !important;
    }

    .mobile-app-tabbar :where(a, button) {
        min-width: 0 !important;
        min-height: 54px !important;
        padding: 6px 4px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: transparent !important;
        color: var(--rkz-text-soft) !important;
        display: grid !important;
        place-items: center !important;
        gap: 2px !important;
        text-decoration: none !important;
        font: inherit !important;
        font-weight: 900 !important;
        cursor: pointer !important;
    }

    .mobile-app-tabbar :where(a.is-active, a.active, button.is-active) {
        background: var(--rkz-action-gradient) !important;
        color: var(--rkz-card) !important;
        box-shadow: 0 12px 24px color-mix(in srgb, var(--rkz-blue) 18%, transparent) !important;
    }

    .mobile-app-tabbar .mobile-tab-icon {
        font-size: var(--fs-h4) !important;
        line-height: 1 !important;
    }

    .mobile-app-tabbar .mobile-tab-label {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: .64rem !important;
    }
}

@media (max-width:560px) {

    body.auth-shell.rekaz-theme-active .login-page,
    body.auth-shell .login-page {
        grid-template-columns: 1fr !important;
        min-height: 100vh !important;
        padding: 0 !important;
        background: var(--rkz-bg-system) !important;
    }

    body.auth-shell.rekaz-theme-active .login-visual,
    body.auth-shell .login-visual {
        min-height: 190px !important;
        padding: 24px !important;
        justify-content: center !important;
    }

    body.auth-shell.rekaz-theme-active .login-hero-copy h1,
    body.auth-shell .login-hero-copy h1 {
        font-size: clamp(2rem, 10vw, 3.2rem) !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel,
    body.auth-shell .login-panel {
        min-height: auto !important;
        padding: 24px 18px 32px !important;
        border-radius: 24px 24px 0 0 !important;
        margin-top: -22px !important;
    }

    body.portal-shell.rekaz-theme-active .table td {
        grid-template-columns: 1fr !important;
        gap: 2px !important;
    }
}

@media (prefers-reduced-motion:reduce) {

    body.rekaz-theme-active *,
    body.rekaz-theme-active *::before,
    body.rekaz-theme-active *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-data-card-head,
    .cl36-panel-header,
    .cl37-panel-header,
    .cl41-panel-head,
    .cl42-panel-head,
    .cl44-panel-head,
    .cl45-panel-head,
    .cl46-panel-head,
    .cl47-panel-head,
    .cl48-panel-head,
    .cl49-panel-head,
    .cl58-panel-head,
    .cl59-panel-head,
    .cl60-panel-head,
    .cl62-panel-head,
    .cl64-panel-head) :where(h1, h2, h3, strong) {
    color: var(--rkz-text-deep) !important;
    margin-block: 0 !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-data-card-head,
    .cl36-panel-header,
    .cl37-panel-header,
    .cl41-panel-head,
    .cl42-panel-head,
    .cl44-panel-head,
    .cl45-panel-head,
    .cl46-panel-head,
    .cl47-panel-head,
    .cl48-panel-head,
    .cl49-panel-head,
    .cl58-panel-head,
    .cl59-panel-head,
    .cl60-panel-head,
    .cl62-panel-head,
    .cl64-panel-head) :where(p, span, small) {
    color: var(--rkz-text-soft) !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl36-hero,
    .cl37-hero,
    .cl50-hero,
    [class^="cl"].cl36-hero, .cl37-hero, .cl38-hero, .cl39-hero, .cl40-hero, .cl45-hero, .cl48-hero, .cl50-hero, .cl60-hero, .cl64-hero, .phase72-hero, .phase74-hero, .rkq-studio-hero, .rka-builder-hero, .rekaz-timetable-hero, .rekaz-timetable-conflict-hero, .rekaz-timetable-entry-hero, .teacher-exam-hero, .experience-hero, .settings-hero, .school-settings-hero, .brand-admin-hero, .cl34-learning-hero, .cl35-hero,
    [class*=" cl"].cl36-hero, .cl37-hero, .cl38-hero, .cl39-hero, .cl40-hero, .cl45-hero, .cl48-hero, .cl50-hero, .cl60-hero, .cl64-hero, .phase72-hero, .phase74-hero, .rkq-studio-hero, .rka-builder-hero, .rekaz-timetable-hero, .rekaz-timetable-conflict-hero, .rekaz-timetable-entry-hero, .teacher-exam-hero, .experience-hero, .settings-hero, .school-settings-hero, .brand-admin-hero, .cl34-learning-hero, .cl35-hero,
    .rekaz-ai-banner,
    .rekaz-promo-card) :where(h1, h2, h3, p, span, strong, small) {
    color: var(--rkz-card) !important;
    opacity: 1 !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-hero__content, .cl37-hero__content) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-width: 0 !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-toolbar-tabs, .cl36-tabs, .cl37-tabs)::-webkit-scrollbar {
    display: none !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-toolbar-tabs, .cl36-tabs, .cl37-tabs) a.active,
body.portal-shell.rekaz-theme-active .main :where(.cl35-toolbar-tabs, .cl36-tabs, .cl37-tabs) a[aria-current="page"] {
    background: var(--rkz-action-gradient) !important;
    color: var(--rkz-card) !important;
    box-shadow: 0 12px 24px color-mix(in srgb, var(--rkz-blue) 16%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-kpi-strip,
    .cl36-stats,
    .cl37-score-grid,
    .cl36-card-grid,
    .cl36-child-grid,
    .cl36-session-grid,
    .cl50-grid,
    .cl45-grid,
    .cl44-grid,
    .cl47-grid,
    .cl60-grid,
    .rekaz-micro-kpis,
    .stats-grid) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: 14px !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-kpi,
    .cl36-stat,
    .cl37-score-card,
    .cl35-grade-card,
    .rekaz-micro-kpi,
    .cl44-metric,
    .cl45-metric,
    .cl46-metric,
    .cl47-metric,
    .cl48-metric,
    .cl49-metric) :where(strong, b) {
    color: var(--rkz-blue) !important;
    font-size: clamp(1.35rem, 2.2vw, 2.1rem) !important;
    line-height: 1.15 !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-kpi i,
    .cl36-stat__icon,
    .cl37-score-icon,
    .cl36-report-icon,
    .cl36-msg-icon) {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: var(--rkz-accent-gradient) !important;
    color: var(--rkz-card) !important;
    font-style: normal !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-muted, .cl36-stat small, .cl36-stat span, .cl37-score-card small) {
    color: var(--rkz-text-soft) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-message-layout, .cl37-layout, .cl35-form-wizard) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-row-actions, .rekaz-inline-form) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-status.ok, .cl35-status.published, .cl35-status.graded, .cl35-status.completed, .cl57-status-ok) {
    background: color-mix(in srgb, var(--rkz-green) 13%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-green) 72%, var(--rkz-navy)) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-status.warn, .cl35-status.draft, .cl35-status.pending) {
    background: color-mix(in srgb, var(--rkz-orange) 14%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-orange) 72%, var(--rkz-navy)) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl35-status.danger, .cl35-status.archived, .cl35-status.cancelled) {
    background: color-mix(in srgb, var(--rkz-purple) 12%, var(--rkz-card)) !important;
    color: color-mix(in srgb, var(--rkz-purple) 72%, var(--rkz-navy)) !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-score-fill, .cl36-progress-fill, .rekaz-progress-fill, .cl37-progress-fill) {
    display: block !important;
    height: 100% !important;
    border-radius: 999px !important;
    background: var(--rkz-accent-gradient) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-progress-label, .cl35-score) {
    display: grid !important;
    gap: 6px !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-avatar) {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 16px !important;
    background: var(--rkz-action-gradient) !important;
    color: var(--rkz-card) !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-child-card, .cl36-report-card, .cl36-conversation-card, .cl36-notification) {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px !important;
    text-decoration: none !important;
}

body.portal-shell.rekaz-theme-active .main .cl36-report-card {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: flex-start !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main .cl36-report-body {
    display: grid !important;
    min-width: 0 !important;
    gap: 6px !important;
}

body.portal-shell.rekaz-theme-active .main .cl36-report-card :where(h3, p) {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-child-card:hover, .cl36-report-card:hover, .cl36-conversation-card:hover, .cl36-notification:hover) {
    transform: translateY(-2px) !important;
    border-color: color-mix(in srgb, var(--rkz-blue) 22%, var(--rkz-border)) !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl36-chipbar, .cl37-chips) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl36-chipbar a.active) {
    background: var(--rkz-action-gradient) !important;
    color: var(--rkz-card) !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl37-ring span) {
    color: var(--rkz-blue) !important;
    font-weight: 900 !important;
    font-size: 1.7rem !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl37-timeline, .cl36-timeline) {
    display: grid !important;
    gap: 12px !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl37-timeline-item, .cl36-timeline-item) {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

body.portal-shell.rekaz-theme-active .main :where(.cl37-timeline-dot, .cl36-timeline-dot, .cl37-timeline-icon) {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: var(--rkz-accent-gradient) !important;
    color: var(--rkz-card) !important;
    font-weight: 900 !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active .main :where(.cl35-empty, .cl36-empty, .empty) {
    color: var(--rkz-text-soft) !important;
    text-align: center !important;
}

@media (max-width:980px) {
    body.portal-shell.rekaz-theme-active .main :where(.cl36-hero__content, .cl37-hero__content) {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-toolbar-tabs, .cl36-tabs, .cl37-tabs) {
        border-radius: 18px !important;
        padding: 6px !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-toolbar-tabs, .cl36-tabs, .cl37-tabs) a {
        min-height: 36px !important;
        padding-inline: 12px !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-kpi-strip,
        .cl36-stats,
        .cl37-score-grid,
        .cl36-card-grid,
        .cl36-child-grid,
        .cl36-session-grid,
        .cl50-grid,
        .cl45-grid,
        .cl44-grid,
        .cl47-grid,
        .cl60-grid,
        .rekaz-micro-kpis,
        .stats-grid,
        .cl36-message-layout,
        .cl37-layout,
        .cl35-form-wizard) {
        grid-template-columns: 1fr !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-form-rail) {
        position: static !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-data-card-head, .cl36-panel-header, .cl37-panel-header, [class*="-panel-head"]) {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.portal-shell.rekaz-theme-active .main :where(.cl35-sticky-actions, .rekaz-sticky-actions) {
        position: static !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}

/* Rekaz UX safeguards: shared states, bidi alignment and mobile resilience. */
body.rekaz-theme-active :where(.main, .auth-card, .login-panel, .card, .panel, .rekaz-list-card, .rekaz-card, .rekaz-panel, .table-card, .form-row, .form-grid, .filters, .actions, .btn-row, .toolbar, .section-title, .sidebar, .rekaz-global-header, .mobile-app-tabbar) {
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
}

html[dir="rtl"] body.rekaz-theme-active :where(.main, .sidebar, .auth-card, .login-panel, .rekaz-global-header, .mobile-app-tabbar, .filters, .actions, .btn-row, .toolbar, .section-title, .form-row, .form-grid, .table, .rekaz-table) {
    direction: rtl !important;
    text-align: start !important;
}

html[dir="ltr"] body.rekaz-theme-active :where(.main, .sidebar, .auth-card, .login-panel, .rekaz-global-header, .mobile-app-tabbar, .filters, .actions, .btn-row, .toolbar, .section-title, .form-row, .form-grid, .table, .rekaz-table) {
    direction: ltr !important;
    text-align: start !important;
}

body.rekaz-theme-active :where(code, kbd, pre, .ltr, .mono, [dir="ltr"]) {
    direction: ltr !important;
    unicode-bidi: plaintext !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

body.rekaz-theme-active :where(.actions, .btn-row, .button-row, .form-actions, .rekaz-actions, .table-actions, .toolbar-actions, .filters, .filter-row, .search-row) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}

body.rekaz-theme-active :where(.actions, .btn-row, .button-row, .form-actions, .rekaz-actions, .table-actions, .toolbar-actions) {
    justify-content: flex-start !important;
}

body.rekaz-theme-active :where(.empty, .empty-state, .cl35-empty, .cl36-empty, .rekaz-empty, .table-empty, .nav-search-empty) {
    width: 100% !important;
    padding: 18px !important;
    border: 1px dashed color-mix(in srgb, var(--rkz-blue) 24%, var(--rkz-border)) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--rkz-blue) 8%, var(--rkz-card)), var(--rkz-card)) !important;
    color: var(--rkz-text-soft) !important;
    text-align: center !important;
    font-weight: 800 !important;
}

body.rekaz-theme-active .sidebar-nav .nav-search-empty {
    margin: 10px 8px !important;
    font-size: .84rem !important;
    line-height: 1.8 !important;
}

body.rekaz-theme-active .sidebar-nav.has-no-search-results :where(.nav-group, .nav-section-title) {
    display: none !important;
}

body.rekaz-theme-active :where(.flash, .alert, .notice, .message-box) {
    border: 1px solid var(--rkz-border) !important;
    border-radius: 16px !important;
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    box-shadow: var(--rkz-shadow-soft) !important;
}

body.rekaz-theme-active :where(.flash.success, .alert-success, .notice-success, .badge.ok, .badge.success) {
    background: color-mix(in srgb, var(--rkz-green) 13%, var(--rkz-card)) !important;
    border-color: color-mix(in srgb, var(--rkz-green) 28%, var(--rkz-border)) !important;
    color: color-mix(in srgb, var(--rkz-green) 68%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.flash.warning, .alert-warning, .notice-warning, .badge.warning) {
    background: color-mix(in srgb, var(--rkz-orange) 14%, var(--rkz-card)) !important;
    border-color: color-mix(in srgb, var(--rkz-orange) 30%, var(--rkz-border)) !important;
    color: color-mix(in srgb, var(--rkz-orange) 70%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.flash.error, .alert-danger, .alert-error, .notice-error, .badge.danger, .badge.error) {
    background: color-mix(in srgb, var(--rkz-purple) 11%, var(--rkz-card)) !important;
    border-color: color-mix(in srgb, var(--rkz-purple) 30%, var(--rkz-border)) !important;
    color: color-mix(in srgb, var(--rkz-purple) 68%, var(--rkz-navy)) !important;
}

body.rekaz-theme-active :where(.dropdown-menu, .classera-menu-panel, .menu-panel, .popover, [role="menu"]) {
    z-index: var(--z-dropdown) !important;
    max-width: min(92vw, 420px) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 16px !important;
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    box-shadow: var(--rkz-shadow-lift) !important;
}

body.rekaz-theme-active :where(.tooltip, [role="tooltip"]) {
    z-index: var(--z-tooltip) !important;
}

body.rekaz-theme-active :where(.modal-backdrop, .overlay-backdrop, .drawer-backdrop) {
    z-index: var(--z-overlay) !important;
}

body.rekaz-theme-active :where(.modal, .modal-dialog, .dialog, [role="dialog"], .drawer, .side-panel) {
    z-index: var(--z-modal) !important;
    max-width: min(100%, 960px) !important;
    color: var(--rkz-text-deep) !important;
}

body.rekaz-theme-active :where(.ui-state-loading, [aria-busy="true"]):not(html):not(body) {
    position: relative !important;
    isolation: isolate !important;
}

body.rekaz-theme-active :where(.ui-state-loading, [aria-busy="true"]):not(html):not(body)::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
    background: linear-gradient(110deg, transparent, color-mix(in srgb, var(--rkz-cyan) 14%, transparent), transparent) !important;
    transform: translateX(-100%);
    animation: rkz-state-sweep 1.35s ease-in-out infinite;
}

@keyframes rkz-state-sweep {
    to {
        transform: translateX(100%)
    }
}

body.auth-shell.rekaz-theme-active :where(.auth-card, .login-panel) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border-color: var(--rkz-border) !important;
}

body.auth-shell.rekaz-theme-active :where(.auth-card, .login-panel) :where(h1, h2, h3, label, strong, .login-extra-row a) {
    color: var(--rkz-text-deep) !important;
}

body.auth-shell.rekaz-theme-active :where(.auth-card, .login-panel) :where(p, .muted, small) {
    color: var(--rkz-text-soft) !important;
    opacity: 1 !important;
}

body.auth-shell.rekaz-theme-active :where(.language-switcher, .login-language-switcher) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    box-shadow: var(--rkz-shadow-soft) !important;
}

body.auth-shell.rekaz-theme-active .login-visual {
    color: var(--rkz-card) !important;
}

body.auth-shell.rekaz-theme-active .login-visual :where(.login-brand-lockup, .login-hero-copy, span, strong, small, h1) {
    color: var(--rkz-card) !important;
    opacity: 1 !important;
}

@media (prefers-reduced-motion:reduce) {
    body.rekaz-theme-active :where(.ui-state-loading, [aria-busy="true"]):not(html):not(body)::after {
        animation: none !important;
        transform: none !important;
    }
}

@media (max-width:980px) {
    body.rekaz-theme-active :where(.form-grid, .filters, .filter-row, .search-row, .rekaz-table-head, .toolbar) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    body.rekaz-theme-active :where(.form-row, .floating-row) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body.rekaz-theme-active :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .input, .select, .btn) {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.rekaz-theme-active :where(.dropdown-menu, .classera-menu-panel, .menu-panel, .popover, [role="menu"]) {
        max-width: calc(100vw - 24px) !important;
    }
}

@media (max-width:560px) {
    body.rekaz-theme-active :where(.actions, .btn-row, .button-row, .form-actions, .rekaz-actions, .table-actions, .toolbar-actions) {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .mobile-app-tabbar {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        padding: 7px !important;
        border-radius: 18px !important;
    }

    .mobile-app-tabbar .mobile-tab-label {
        font-size: .66rem !important;
        line-height: 1.35 !important;
    }
}

/* Phase 5: student and teacher daily experience layer. */
body.portal-shell.rekaz-theme-active .rekaz-experience-page {
    display: grid !important;
    gap: 18px !important;
}

body.portal-shell.rekaz-theme-active .experience-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 24px !important;
    color: var(--rkz-card) !important;
    border: 1px solid color-mix(in srgb, var(--rkz-card) 18%, transparent) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-navy-soft) 42%, var(--rkz-blue) 78%, var(--rkz-cyan) 100%) !important;
    box-shadow: 0 22px 52px color-mix(in srgb, var(--rkz-navy) 16%, transparent) !important;
    overflow: hidden !important;
}

body.portal-shell.rekaz-theme-active .experience-hero-teacher {
    background: linear-gradient(135deg, var(--rkz-navy) 0%, var(--rkz-blue) 62%, var(--rkz-green) 100%) !important;
}

body.portal-shell.rekaz-theme-active .experience-hero :where(h1, p, span, strong, small) {
    color: var(--rkz-card) !important;
}

body.portal-shell.rekaz-theme-active .experience-hero h1 {
    margin: 6px 0 !important;
    font-size: clamp(1.45rem, 2.4vw, 2.35rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

body.portal-shell.rekaz-theme-active .experience-hero p {
    max-width: 780px !important;
    margin: 0 !important;
    line-height: 1.85 !important;
    color: color-mix(in srgb, var(--rkz-card) 88%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .experience-eyebrow {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 6px 11px !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--rkz-card) 14%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--rkz-card) 22%, transparent) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .experience-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active .experience-hero-actions {
    justify-content: flex-start !important;
}

body.portal-shell.rekaz-theme-active .experience-kpi-grid,
body.portal-shell.rekaz-theme-active .experience-action-grid,
body.portal-shell.rekaz-theme-active .experience-panel-grid {
    display: grid !important;
    gap: 14px !important;
}

body.portal-shell.rekaz-theme-active .experience-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.portal-shell.rekaz-theme-active .experience-action-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.portal-shell.rekaz-theme-active .experience-panel-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
    align-items: stretch !important;
}

body.portal-shell.rekaz-theme-active :where(.experience-kpi, .experience-action, .experience-panel, .experience-course-card, .experience-recommendation) {
    background: var(--rkz-card) !important;
    color: var(--rkz-text-deep) !important;
    border: 1px solid var(--rkz-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 36px color-mix(in srgb, var(--rkz-navy) 7%, transparent) !important;
}

body.portal-shell.rekaz-theme-active .experience-kpi {
    padding: 17px !important;
    min-height: 128px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

body.portal-shell.rekaz-theme-active .experience-kpi span,
body.portal-shell.rekaz-theme-active .experience-action small,
body.portal-shell.rekaz-theme-active .experience-kpi small,
body.portal-shell.rekaz-theme-active .experience-course-card small,
body.portal-shell.rekaz-theme-active .experience-recommendation small {
    color: var(--rkz-text-soft) !important;
}

body.portal-shell.rekaz-theme-active .experience-kpi strong {
    color: var(--rkz-blue) !important;
    font-size: clamp(1.65rem, 2.3vw, 2.25rem) !important;
    line-height: 1 !important;
}

body.portal-shell.rekaz-theme-active .experience-action {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 4px 12px !important;
    align-items: center !important;
    min-height: 104px !important;
    padding: 15px !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.portal-shell.rekaz-theme-active .experience-action span {
    grid-row: 1/3 !important;
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    color: var(--rkz-card) !important;
    background: linear-gradient(135deg, var(--rkz-blue), var(--rkz-cyan)) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .experience-action strong,
body.portal-shell.rekaz-theme-active .experience-panel h2,
body.portal-shell.rekaz-theme-active .experience-course-card strong,
body.portal-shell.rekaz-theme-active .experience-recommendation strong {
    color: var(--rkz-text-deep) !important;
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {

    body.portal-shell.rekaz-theme-active .experience-action:hover,
    body.portal-shell.rekaz-theme-active .experience-course-card:hover {
        transform: translateY(-2px) !important;
        border-color: color-mix(in srgb, var(--rkz-blue) 42%, var(--rkz-border)) !important;
        box-shadow: 0 20px 44px color-mix(in srgb, var(--rkz-blue) 13%, transparent) !important;
    }
}

body.portal-shell.rekaz-theme-active .experience-panel {
    padding: 18px !important;
    margin: 0 !important;
}

body.portal-shell.rekaz-theme-active .experience-course-list,
body.portal-shell.rekaz-theme-active .experience-recommendation-list {
    display: grid !important;
    gap: 10px !important;
}

body.portal-shell.rekaz-theme-active .experience-course-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 28%) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 13px !important;
    text-decoration: none !important;
}

body.portal-shell.rekaz-theme-active .experience-progress {
    display: block !important;
    block-size: 10px !important;
    border-radius: 999px !important;
    background: var(--rkz-table) !important;
    overflow: hidden !important;
}

body.portal-shell.rekaz-theme-active .experience-progress i {
    display: block !important;
    block-size: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, var(--rkz-blue), var(--rkz-cyan), var(--rkz-green)) !important;
}

body.portal-shell.rekaz-theme-active .experience-recommendation {
    display: grid !important;
    gap: 6px !important;
    padding: 13px !important;
    box-shadow: none !important;
    background: linear-gradient(180deg, var(--rkz-card), var(--rkz-table)) !important;
}

body.portal-shell.rekaz-theme-active .experience-recommendation span {
    width: max-content !important;
    max-width: 100% !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    color: var(--rkz-blue) !important;
    background: color-mix(in srgb, var(--rkz-blue) 10%, var(--rkz-card)) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active .experience-task-table td[data-label]::before {
    color: var(--rkz-text-soft) !important;
}

@media (max-width:1180px) {

    body.portal-shell.rekaz-theme-active .experience-kpi-grid,
    body.portal-shell.rekaz-theme-active .experience-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.portal-shell.rekaz-theme-active .experience-panel-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width:760px) {
    body.portal-shell.rekaz-theme-active .experience-hero {
        grid-template-columns: 1fr !important;
        padding: 19px !important;
    }

    body.portal-shell.rekaz-theme-active .experience-hero-actions,
    body.portal-shell.rekaz-theme-active .experience-hero-actions .btn {
        width: 100% !important;
    }

    body.portal-shell.rekaz-theme-active .experience-kpi-grid,
    body.portal-shell.rekaz-theme-active .experience-action-grid {
        grid-template-columns: 1fr !important;
    }

    body.portal-shell.rekaz-theme-active .experience-course-card {
        grid-template-columns: 1fr !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table {
        min-width: 0 !important;
        background: transparent !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table thead {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table :where(tbody, tr, td) {
        display: block !important;
        width: 100% !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table tr {
        padding: 11px !important;
        margin-block-end: 10px !important;
        background: var(--rkz-card) !important;
        border: 1px solid var(--rkz-border) !important;
        border-radius: 18px !important;
        box-shadow: 0 14px 32px color-mix(in srgb, var(--rkz-navy) 7%, transparent) !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table td {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 8px !important;
        border: 0 !important;
    }

    body.portal-shell.rekaz-theme-active .experience-task-table td::before {
        content:attr(data-label) !important;
        font-weight: 900 !important;
    }
}

@media (max-width:460px) {
    body.portal-shell.rekaz-theme-active .experience-task-table td {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }
}

/* Phase44: scoped Rekaz Learn login redesign. */
html:has(body.auth-shell),
html:has(body.auth-shell) body.auth-shell {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
}

body.auth-shell.rekaz-theme-active,
body.auth-shell {
    background: #f8fafc !important;
}

body.auth-shell.rekaz-theme-active .login-page,
body.auth-shell .login-page {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(390px, .88fr) !important;
    grid-template-areas: "visual panel" !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    direction: ltr !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-page,
html[dir="rtl"] body.auth-shell .login-page {
    grid-template-columns: minmax(390px, .88fr) minmax(0, 1.35fr) !important;
    grid-template-areas: "panel visual" !important;
}

body.auth-shell.rekaz-theme-active .login-visual,
body.auth-shell .login-visual {
    position: relative !important;
    isolation: isolate !important;
    grid-area: visual !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    height: 100vh !important;
    padding: clamp(24px, 3.6vw, 58px) !important;
    overflow: hidden !important;
    color: #f8fbff !important;
    background: linear-gradient(115deg, rgba(12, 46, 92, .94) 0%, rgba(22, 81, 158, .96) 100%), #0B2D5C !important;
}

body.auth-shell.rekaz-theme-active .login-visual::before,
body.auth-shell .login-visual::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    background: linear-gradient(rgba(248, 251, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(248, 251, 255, .08) 1px, transparent 1px) !important;
    background-size: 42px 42px !important;
    mask-image: linear-gradient(115deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .2)) !important;
}

body.auth-shell.rekaz-theme-active .login-visual-grid,
body.auth-shell .login-visual-grid {
    position: absolute !important;
    inset-block: 12% 16% !important;
    inset-inline: 8% 14% !important;
    z-index: -1 !important;
    border: 1px solid rgba(248, 251, 255, .16) !important;
    background: linear-gradient(135deg, rgba(248, 251, 255, .08), rgba(66, 217, 244, .08)) !important;
    clip-path: polygon(0 0, 82% 0, 100% 18%, 100% 100%, 18% 100%, 0 82%) !important;
}

body.auth-shell.rekaz-theme-active .login-visual-accent,
body.auth-shell .login-visual-accent {
    position: absolute !important;
    z-index: -1 !important;
    display: block !important;
    border: 1px solid rgba(248, 251, 255, .18) !important;
    background: linear-gradient(135deg, rgba(248, 251, 255, .14), rgba(66, 217, 244, .08)) !important;
    box-shadow: 0 28px 70px rgba(3, 16, 34, .18) !important;
    transform: skewX(-10deg) !important;
}

body.auth-shell.rekaz-theme-active .login-visual-accent-a,
body.auth-shell .login-visual-accent-a {
    width: 210px !important;
    height: 92px !important;
    inset-block-start: 18% !important;
    inset-inline-end: 10% !important;
}

body.auth-shell.rekaz-theme-active .login-visual-accent-b,
body.auth-shell .login-visual-accent-b {
    width: 170px !important;
    height: 68px !important;
    inset-block-end: 16% !important;
    inset-inline-start: 10% !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup,
body.auth-shell .login-brand-lockup {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    max-width: min(100%, 420px) !important;
    direction: inherit !important;
    text-align: start !important;
}

body.auth-shell.rekaz-theme-active .login-logo-mark,
body.auth-shell .login-logo-mark {
    flex: 0 0 auto !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 8px !important;
    color: #f8fbff !important;
    border: 1px solid rgba(248, 251, 255, .34) !important;
    background: rgba(248, 251, 255, .1) !important;
    box-shadow: 0 18px 42px rgba(3, 16, 34, .16) !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup strong,
body.auth-shell .login-brand-lockup strong {
    display: block !important;
    color: #f8fbff !important;
    font-size: clamp(1rem, 1.6vw, 1.42rem) !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup small,
body.auth-shell .login-brand-lockup small {
    display: block !important;
    margin-block-start: 6px !important;
    color: rgba(248, 251, 255, .78) !important;
    font-size: .76rem !important;
    line-height: 1.6 !important;
    font-weight: 800 !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy,
body.auth-shell .login-hero-copy {
    position: relative !important;
    z-index: 1 !important;
    max-width: 780px !important;
    margin: 0 !important;
    direction: inherit !important;
    text-align: start !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy span,
body.auth-shell .login-hero-copy span {
    display: block !important;
    margin-block-end: clamp(12px, 2vh, 22px) !important;
    color: rgba(248, 251, 255, .86) !important;
    font-size: clamp(1rem, 1.9vw, 1.9rem) !important;
    font-weight: 900 !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy h1,
body.auth-shell .login-hero-copy h1 {
    max-width: 11ch !important;
    margin: 0 !important;
    color: #f8fbff !important;
    font-size: clamp(3rem, 6vw, 5.8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    font-weight: 950 !important;
    overflow-wrap: normal !important;
    text-shadow: 0 20px 44px rgba(3, 16, 34, .25) !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy h1,
body.auth-shell .login-hero-copy h1 {
    direction: ltr !important;
    text-align: start !important;
}

body.auth-shell.rekaz-theme-active .login-visual-metrics,
body.auth-shell .login-visual-metrics {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(440px, 100%) !important;
}

body.auth-shell.rekaz-theme-active .login-visual-metrics span,
body.auth-shell .login-visual-metrics span {
    height: 8px !important;
    border-radius: 8px !important;
    background: rgba(248, 251, 255, .26) !important;
}

body.auth-shell.rekaz-theme-active .login-visual-metrics span:nth-child(2),
body.auth-shell .login-visual-metrics span:nth-child(2) {
    background: #42d9f4 !important;
}

body.auth-shell.rekaz-theme-active .login-panel,
body.auth-shell .login-panel {
    grid-area: panel !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 100vh !important;
    height: 100vh !important;
    padding: clamp(18px, 3vw, 42px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    color: #0B2D5C !important;
    background: #f8fafc !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.auth-shell.rekaz-theme-active .login-panel-inner,
body.auth-shell .login-panel-inner {
    width: min(100%, 430px) !important;
    max-height: calc(100vh - clamp(36px, 6vw, 84px)) !important;
    padding: clamp(18px, 2.8vw, 30px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 26px 70px rgba(12, 46, 92, .12) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-panel,
html[dir="rtl"] body.auth-shell .login-panel,
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-panel-inner,
html[dir="rtl"] body.auth-shell .login-panel-inner {
    direction: rtl !important;
    text-align: start !important;
}

html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-panel,
html[dir="ltr"] body.auth-shell .login-panel,
html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-panel-inner,
html[dir="ltr"] body.auth-shell .login-panel-inner {
    direction: ltr !important;
    text-align: start !important;
    font-family: var(--rekaz-font-family) !important;
}

body.auth-shell.rekaz-theme-active .login-language-switcher,
body.auth-shell .login-language-switcher {
    align-self: flex-start !important;
    margin: 0 0 clamp(10px, 1.6vh, 16px) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-language-switcher,
html[dir="rtl"] body.auth-shell .login-language-switcher {
    align-self: flex-end !important;
}

body.auth-shell.rekaz-theme-active .login-language-switcher a,
body.auth-shell .login-language-switcher a {
    border-radius: 8px !important;
}

body.auth-shell.rekaz-theme-active .login-avatar,
body.auth-shell .login-avatar {
    --avatar-look: 0;
    width: clamp(116px, 18vh, 150px) !important;
    aspect-ratio: 1.04 !important;
    align-self: center !important;
    margin-block: -4px clamp(6px, 1vh, 10px) !important;
    transform: translateZ(0) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar-svg,
body.auth-shell .login-avatar-svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}

body.auth-shell.rekaz-theme-active .avatar-head,
body.auth-shell .avatar-head,
body.auth-shell.rekaz-theme-active .avatar-eye,
body.auth-shell .avatar-eye,
body.auth-shell.rekaz-theme-active .avatar-pupil,
body.auth-shell .avatar-pupil,
body.auth-shell.rekaz-theme-active .avatar-hand,
body.auth-shell .avatar-hand,
body.auth-shell.rekaz-theme-active .avatar-mouth,
body.auth-shell .avatar-mouth {
    transition: transform 180ms ease, opacity 180ms ease !important;
    transform-box: fill-box !important;
    transform-origin: center !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="typing"] .avatar-head,
body.auth-shell .login-avatar[data-state="typing"] .avatar-head {
    transform: translateY(calc(var(--avatar-look) * 2px)) rotate(calc((var(--avatar-look) - .5) * 2deg)) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="typing"] .avatar-eye,
body.auth-shell .login-avatar[data-state="typing"] .avatar-eye,
body.auth-shell.rekaz-theme-active .login-avatar[data-state="typing"] .avatar-pupil,
body.auth-shell .login-avatar[data-state="typing"] .avatar-pupil {
    transform: translateY(calc(var(--avatar-look) * 7px)) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="password"] .avatar-head,
body.auth-shell .login-avatar[data-state="password"] .avatar-head {
    transform: translateY(2px) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="password"] .avatar-eye,
body.auth-shell .login-avatar[data-state="password"] .avatar-eye {
    transform: translateY(3px) scaleY(.58) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="password"] .avatar-hand-left,
body.auth-shell .login-avatar[data-state="password"] .avatar-hand-left {
    transform: translate(11px, -18px) rotate(18deg) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar[data-state="password"] .avatar-hand-right,
body.auth-shell .login-avatar[data-state="password"] .avatar-hand-right {
    transform: translate(-9px, -18px) rotate(-16deg) !important;
}

body.auth-shell.rekaz-theme-active .login-panel h1,
body.auth-shell .login-panel h1 {
    margin: 0 !important;
    color: #0B2D5C !important;
    font-size: clamp(1.34rem, 2.1vw, 1.85rem) !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
    font-weight: 900 !important;
    text-align: start !important;
}

body.auth-shell.rekaz-theme-active .login-panel .muted,
body.auth-shell .login-panel .muted {
    margin: clamp(6px, .9vh, 10px) 0 0 !important;
    color: #5f6b7a !important;
    font-size: clamp(.82rem, 1.4vw, .95rem) !important;
    line-height: 1.7 !important;
}

body.auth-shell.rekaz-theme-active .login-panel .flash,
body.auth-shell .login-panel .flash,
body.auth-shell.rekaz-theme-active .login-panel .alert,
body.auth-shell .login-panel .alert {
    width: 100% !important;
    margin: clamp(10px, 1.4vh, 14px) 0 0 !important;
    padding: 11px 13px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(124, 58, 237, .18) !important;
    color: #43305f !important;
    background: linear-gradient(135deg, rgba(124, 58, 237, .12), rgba(248, 251, 255, .86)) !important;
    box-shadow: 0 12px 28px rgba(67, 48, 95, .08) !important;
}

body.auth-shell.rekaz-theme-active .login-form,
body.auth-shell .login-form {
    display: grid !important;
    gap: clamp(10px, 1.45vh, 14px) !important;
    margin-block-start: clamp(14px, 2vh, 20px) !important;
}

body.auth-shell.rekaz-theme-active .login-form .form-row,
body.auth-shell .login-form .form-row {
    margin: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-form label,
body.auth-shell .login-form label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #334155 !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
    font-weight: 900 !important;
    text-align: start !important;
}

body.auth-shell.rekaz-theme-active .login-form .input,
body.auth-shell .login-form .input {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(46px, 6.5vh, 54px) !important;
    min-height: 0 !important;
    padding-block: 0 !important;
    padding-inline: 15px !important;
    border: 1px solid #d9e6f2 !important;
    border-radius: 8px !important;
    color: #0B2D5C !important;
    background: #f8fbff !important;
    box-shadow: 0 10px 22px rgba(12, 46, 92, .05) !important;
}

body.auth-shell.rekaz-theme-active .login-form .input:focus,
body.auth-shell .login-form .input:focus {
    border-color: #42d9f4 !important;
    box-shadow: 0 0 0 3px rgba(66, 217, 244, .22), 0 10px 22px rgba(12, 46, 92, .05) !important;
    outline: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row,
body.auth-shell .login-extra-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #0B2D5C !important;
    font-size: .84rem !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row a,
body.auth-shell .login-extra-row a {
    color: #0B2D5C !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row span,
body.auth-shell .login-extra-row span {
    display: inline-flex !important;
    width: 24px !important;
    height: 24px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    color: #f8fbff !important;
    background: #16519e !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-extra-row span,
html[dir="rtl"] body.auth-shell .login-extra-row span {
    transform: scaleX(-1) !important;
}

body.auth-shell.rekaz-theme-active .login-btn,
body.auth-shell .login-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(46px, 6.8vh, 56px) !important;
    min-height: 0 !important;
    margin: clamp(2px, .8vh, 8px) 0 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #f8fbff !important;
    background: linear-gradient(135deg, #0B2D5C 0%, #16519e 58%, #42d9f4 100%) !important;
    box-shadow: 0 18px 32px rgba(22, 81, 158, .25) !important;
    font-size: clamp(.94rem, 1.4vw, 1.05rem) !important;
    font-weight: 900 !important;
}

body.auth-shell.rekaz-theme-active .login-btn:focus-visible,
body.auth-shell .login-btn:focus-visible {
    outline: 3px solid rgba(66, 217, 244, .45) !important;
    outline-offset: 3px !important;
}

@media (max-height:760px) and (min-width:861px) {

    body.auth-shell.rekaz-theme-active .login-panel-inner,
    body.auth-shell .login-panel-inner {
        padding: 16px !important;
    }

    body.auth-shell.rekaz-theme-active .login-avatar,
    body.auth-shell .login-avatar {
        width: 108px !important;
        margin-block: -8px 3px !important;
    }

    body.auth-shell.rekaz-theme-active .login-form,
    body.auth-shell .login-form {
        gap: 9px !important;
        margin-block-start: 12px !important;
    }
}

@media (max-width:860px) {

    body.auth-shell.rekaz-theme-active .login-page,
    body.auth-shell .login-page,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-page,
    html[dir="rtl"] body.auth-shell .login-page {
        grid-template-columns: 1fr !important;
        grid-template-rows: minmax(128px, 26vh) minmax(0, 74vh) !important;
        grid-template-areas: "visual" "panel" !important;
        height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
    }

    body.auth-shell.rekaz-theme-active .login-visual,
    body.auth-shell .login-visual {
        min-height: 0 !important;
        height: auto !important;
        padding: 18px 20px !important;
    }

    body.auth-shell.rekaz-theme-active .login-brand-lockup,
    body.auth-shell .login-brand-lockup {
        gap: 10px !important;
    }

    body.auth-shell.rekaz-theme-active .login-logo-mark,
    body.auth-shell .login-logo-mark {
        width: 44px !important;
        height: 44px !important;
    }

    body.auth-shell.rekaz-theme-active .login-hero-copy,
    body.auth-shell .login-hero-copy {
        display: none !important;
    }

    body.auth-shell.rekaz-theme-active .login-visual-metrics,
    body.auth-shell .login-visual-metrics {
        width: min(260px, 100%) !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel,
    body.auth-shell .login-panel {
        min-height: 0 !important;
        height: auto !important;
        padding: 12px 14px 16px !important;
        align-items: center !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel-inner,
    body.auth-shell .login-panel-inner {
        width: min(100%, 430px) !important;
        max-height: calc(74vh - 28px) !important;
        padding: 14px !important;
    }

    body.auth-shell.rekaz-theme-active .login-avatar,
    body.auth-shell .login-avatar {
        width: clamp(86px, 13vh, 112px) !important;
        margin-block: -8px 0 !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel h1,
    body.auth-shell .login-panel h1 {
        font-size: clamp(1.08rem, 5vw, 1.42rem) !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel .muted,
    body.auth-shell .login-panel .muted {
        font-size: .78rem !important;
        line-height: 1.55 !important;
    }

    body.auth-shell.rekaz-theme-active .login-form,
    body.auth-shell .login-form {
        gap: 8px !important;
        margin-block-start: 10px !important;
    }

    body.auth-shell.rekaz-theme-active .login-form label,
    body.auth-shell .login-form label {
        margin-block-end: 4px !important;
        font-size: .72rem !important;
    }

    body.auth-shell.rekaz-theme-active .login-form .input,
    body.auth-shell .login-form .input,
    body.auth-shell.rekaz-theme-active .login-btn,
    body.auth-shell .login-btn {
        height: 42px !important;
    }
}

@media (max-width:420px),
(max-height:700px) {

    body.auth-shell.rekaz-theme-active .login-language-switcher,
    body.auth-shell .login-language-switcher {
        margin-block-end: 7px !important;
    }

    body.auth-shell.rekaz-theme-active .login-avatar,
    body.auth-shell .login-avatar {
        width: 82px !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel .muted,
    body.auth-shell .login-panel .muted {
        display: none !important;
    }
}

@media (prefers-reduced-motion:reduce) {

    body.auth-shell.rekaz-theme-active .login-avatar *,
    body.auth-shell .login-avatar * {
        transition: none !important;
        transform: none !important;
    }
}

/* Login visual placement: one character in the hero panel, no mascot inside the form. */
body.auth-shell.rekaz-theme-active .login-hero-character,
body.auth-shell .login-hero-character {
    position: absolute !important;
    z-index: 1 !important;
    inset-block-end: clamp(0px, 2vh, 18px) !important;
    inset-inline-end: clamp(22px, 5.4vw, 86px) !important;
    width: auto !important;
    height: clamp(420px, 78vh, 740px) !important;
    max-width: min(34vw, 430px) !important;
    object-fit: contain !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: drop-shadow(0 28px 42px rgba(3, 16, 34, .2)) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-character,
html[dir="rtl"] body.auth-shell .login-hero-character {
    inset-inline-start: clamp(22px, 5.4vw, 86px) !important;
    inset-inline-end: auto !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup,
body.auth-shell .login-brand-lockup,
body.auth-shell.rekaz-theme-active .login-hero-copy,
body.auth-shell .login-hero-copy,
body.auth-shell.rekaz-theme-active .login-visual-metrics,
body.auth-shell .login-visual-metrics {
    z-index: 2 !important;
}

html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="ltr"] body.auth-shell .login-hero-copy {
    padding-inline-end: clamp(210px, 26vw, 390px) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    padding-inline-start: clamp(210px, 26vw, 390px) !important;
    padding-inline-end: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-panel-inner,
body.auth-shell .login-panel-inner {
    justify-content: center !important;
    gap: 0 !important;
}

body.auth-shell.rekaz-theme-active .login-language-switcher,
body.auth-shell .login-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 4px !important;
    gap: 4px !important;
    border-radius: 999px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

body.auth-shell.rekaz-theme-active .login-language-switcher a,
body.auth-shell .login-language-switcher a {
    min-width: 58px !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

body.auth-shell.rekaz-theme-active .login-form,
body.auth-shell .login-form {
    width: 100% !important;
}

body.auth-shell.rekaz-theme-active .login-btn,
body.auth-shell .login-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-inline: 18px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width:1180px) {

    body.auth-shell.rekaz-theme-active .login-hero-character,
    body.auth-shell .login-hero-character {
        height: clamp(360px, 70vh, 580px) !important;
        max-width: min(31vw, 360px) !important;
    }

    html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="ltr"] body.auth-shell .login-hero-copy {
        padding-inline-end: clamp(150px, 24vw, 300px) !important;
    }

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        padding-inline-start: clamp(150px, 24vw, 300px) !important;
    }
}

@media (max-width:860px) {

    body.auth-shell.rekaz-theme-active .login-hero-character,
    body.auth-shell .login-hero-character {
        display: none !important;
    }

    html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="ltr"] body.auth-shell .login-hero-copy,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        padding-inline: 0 !important;
    }

    body.auth-shell.rekaz-theme-active .login-language-switcher,
    body.auth-shell .login-language-switcher {
        margin-block-end: 12px !important;
    }
}

/* Login hero final alignment: keep the character inside the framed visual area. */
body.auth-shell.rekaz-theme-active .login-hero-character,
body.auth-shell .login-hero-character {
    inset-block-end: clamp(54px, 11vh, 92px) !important;
    height: clamp(360px, 68vh, 620px) !important;
    max-width: min(31vw, 390px) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-character,
html[dir="rtl"] body.auth-shell .login-hero-character {
    inset-inline-start: clamp(34px, 6.4vw, 96px) !important;
    inset-inline-end: auto !important;
}

html[dir="ltr"] body.auth-shell.rekaz-theme-active .login-hero-character,
html[dir="ltr"] body.auth-shell .login-hero-character {
    inset-inline-end: clamp(34px, 6.4vw, 96px) !important;
    inset-inline-start: auto !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin-inline-start: clamp(270px, 30vw, 360px) !important;
    margin-inline-end: auto !important;
    padding-inline: 0 !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy span,
html[dir="rtl"] body.auth-shell .login-hero-copy span,
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    max-width: 11ch !important;
    font-size: clamp(1.9rem, 2.65vw, 2.85rem) !important;
    line-height: 1.22 !important;
}

@media (max-width:1180px) {

    body.auth-shell.rekaz-theme-active .login-hero-character,
    body.auth-shell .login-hero-character {
        inset-block-end: clamp(46px, 9vh, 78px) !important;
        height: clamp(330px, 62vh, 520px) !important;
        max-width: min(30vw, 330px) !important;
    }

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        width: min(100%, 320px) !important;
        max-width: 320px !important;
        margin-inline-start: clamp(255px, 29vw, 310px) !important;
    }
}

@media (max-width:860px) {

    body.auth-shell.rekaz-theme-active .login-hero-character,
    body.auth-shell .login-hero-character {
        display: none !important;
    }

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        max-width: 460px !important;
        margin-inline-start: 0 !important;
        margin-inline-end: 0 !important;
    }
}

/* Login hero text must sit inside the same framed area as the character. */
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    position: absolute !important;
    z-index: 2 !important;
    inset-block-start: clamp(210px, 36vh, 286px) !important;
    right: clamp(128px, 12vw, 178px) !important;
    left: auto !important;
    width: clamp(246px, 22vw, 300px) !important;
    max-width: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(1.95rem, 2.75vw, 3rem) !important;
    line-height: 1.22 !important;
}

@media (max-width:1180px) {

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        inset-block-start: clamp(198px, 35vh, 260px) !important;
        right: clamp(112px, 11vw, 152px) !important;
        width: clamp(232px, 22vw, 270px) !important;
        max-width: 270px !important;
    }
}

@media (max-width:860px) {

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        position: relative !important;
        inset: auto !important;
        right: auto !important;
        left: auto !important;
        width: min(100%, 460px) !important;
        max-width: 460px !important;
    }
}

/* Login hero split frame: character half and text half must not overlap. */
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-character,
html[dir="rtl"] body.auth-shell .login-hero-character {
    z-index: 3 !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    position: absolute !important;
    z-index: 2 !important;
    inset-block-start: 50% !important;
    inset-inline-start: clamp(58px, 7vw, 92px) !important;
    inset-inline-end: auto !important;
    right: auto !important;
    left: clamp(58px, 7vw, 92px) !important;
    width: clamp(250px, 24vw, 320px) !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-42%) !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy span,
html[dir="rtl"] body.auth-shell .login-hero-copy span {
    margin-block-end: 12px !important;
    font-size: clamp(.94rem, 1.45vw, 1.22rem) !important;
    line-height: 1.55 !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.05rem, 3.2vw, 3.35rem) !important;
    line-height: 1.18 !important;
    text-align: right !important;
    text-wrap: balance !important;
}

@media (max-width:1180px) {

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        inset-inline-start: clamp(48px, 6vw, 74px) !important;
        left: clamp(48px, 6vw, 74px) !important;
        width: clamp(230px, 23vw, 285px) !important;
        max-width: 285px !important;
    }

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
    html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
        font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
    }
}

/* Requested RTL text padding: reserve the student's half with fixed right padding. */
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    position: absolute !important;
    z-index: 2 !important;
    inset-block-start: 50% !important;
    left: clamp(48px, 7vw, 92px) !important;
    right: clamp(48px, 7vw, 92px) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 250px 0 0 !important;
    box-sizing: border-box !important;
    transform: translateY(-42%) !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy span,
html[dir="rtl"] body.auth-shell .login-hero-copy span,
html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    text-align: right !important;
}

@media (max-width:860px) {

    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        width: min(100%, 460px) !important;
        max-width: 460px !important;
        padding: 0 !important;
        transform: none !important;
    }
}

/* Phase54: removed legacy shell geometry. */
/* Phase54: removed legacy shell geometry. */
/* Phase54: removed legacy shell geometry. */
/* Phase54: removed legacy shell geometry. */
/* Phase45E final sidebar identity guard: compact school card, lighter menu, centered glyphs. */
body.portal-shell.rekaz-theme-active #portal-sidebar.sidebar,
body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
    background: linear-gradient(180deg, #1d6fa9 0%, #238bc2 58%, #2db6d3 100%) !important;
    border-color: var(--shell-sidebar-link, #0B2D5C) !important;
    color: #4f46e5 !important;
    box-shadow: 0 16px 34px rgba(12, 46, 92, .14) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.sidebar-brand, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer) {
    background: rgba(248, 251, 255, .14) !important;
    border-color: var(--shell-sidebar-link, #0B2D5C) !important;
    color: #4f46e5 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-areas: "school-logo school-name" "school-logo school-term" !important;
    align-items: center !important;
    gap: 1px 8px !important;
    min-height: 48px !important;
    padding: 7px 9px !important;
    margin-block-end: 7px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    text-align: start !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active #portal-sidebar .school-context,
html[dir="rtl"] body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card,
html[lang="ar"] body.portal-shell.rekaz-theme-active #portal-sidebar .school-context,
html[lang="ar"] body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card,
body.portal-shell.rekaz-theme-active.rekaz-dir-rtl #portal-sidebar .school-context,
body.portal-shell.rekaz-theme-active.rekaz-dir-rtl #portal-sidebar .rekaz-school-card,
body.portal-shell.rekaz-theme-active[data-direction="rtl"] #portal-sidebar .school-context,
body.portal-shell.rekaz-theme-active[data-direction="rtl"] #portal-sidebar .rekaz-school-card {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-areas: "school-name school-logo" "school-term school-logo" !important;
    direction: rtl !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .school-context::after,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card::after {
    content: none !important;
    display: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context .muted,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card .muted,
body.portal-shell.rekaz-theme-active #portal-sidebar .school-context> :where(p, small, span):not(.rekaz-school-logo),
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card> :where(p, small, span):not(.rekaz-school-logo) {
    display: none !important;
}

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo::after {
    content: none !important;
    display: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 1 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>strong,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card>strong {
    grid-area: school-name !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #4f46e5 !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    line-height: 1.22 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Phase54: removed legacy shell geometry rule. */

/* Phase54: removed legacy shell geometry rule. */


body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-nav {
    gap: 5px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle, a.nav-link, .nav-group > summary) {
    background: transparent !important;
    border-color: transparent !important;
    color: #0B2D5C !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) {
    background: rgba(37, 99, 235, .09) !important;
    border-color: transparent !important;
    color: #1e40af !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon) {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: .9rem !important;
    border-radius: 8px !important;
    color: #16519e !important;
    background: rgba(248, 251, 255, .16) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon) :where(i, .fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon.fa, .nav-icon.fas, .nav-icon.fa-solid, .nav-group-icon.fa, .nav-group-icon.fas, .nav-group-icon.fa-solid),
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon .fa, .nav-icon .fas, .nav-icon .fa-solid, .nav-group-icon .fa, .nav-group-icon .fas, .nav-group-icon .fa-solid) {
    font-family: var(--rekaz-font-family) !important;
    font-weight: 900 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon.far, .nav-icon.fa-regular, .nav-group-icon.far, .nav-group-icon.fa-regular),
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon .far, .nav-icon .fa-regular, .nav-group-icon .far, .nav-group-icon .fa-regular) {
    font-family: var(--rekaz-font-family) !important;
    font-weight: 400 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon.fab, .nav-icon.fa-brands, .nav-group-icon.fab, .nav-group-icon.fa-brands),
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon .fab, .nav-icon .fa-brands, .nav-group-icon .fab, .nav-group-icon .fa-brands) {
    font-family: var(--rekaz-font-family) !important;
    font-weight: 400 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-icon, .nav-group-icon) :where(.fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands)::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    line-height: 1 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-toggle:hover, .nav-group[open] > summary, a.nav-link:hover, a.nav-link.active) :where(.nav-icon, .nav-group-icon) {
    background: rgba(255, 255, 255, .32) !important;
    color: #4f46e5 !important;
}

/* Phase54: removed legacy shell geometry. */
/* Phase45H final cascade guard: no black sidebar icon glyphs. */
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before {
    color: #4f46e5 !important;
    fill: currentColor !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon),
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon)::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>summary :is(.nav-icon, .nav-group-icon, .nav-accordion-icon) *::before {
    color: #4f46e5 !important;
    fill: currentColor !important;
}

/* Phase45J: balanced login composition. */
body.auth-shell.rekaz-theme-active .login-page,
body.auth-shell .login-page {
    grid-template-columns: minmax(520px, .95fr) minmax(560px, 1.05fr) !important;
    grid-template-areas: "visual panel" !important;
    background: linear-gradient(90deg, #0B2D5C 0 52%, #f8fafc 52% 100%) !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-page,
html[dir="rtl"] body.auth-shell .login-page {
    grid-template-columns: minmax(520px, .95fr) minmax(560px, 1.05fr) !important;
    grid-template-areas: "panel visual" !important;
    background: linear-gradient(90deg, #f8fafc 0 48%, #0B2D5C 48% 100%) !important;
}

body.auth-shell.rekaz-theme-active .login-panel,
body.auth-shell .login-panel {
    padding: clamp(28px, 4vw, 66px) !important;
    background: linear-gradient(180deg, #f8fafc 0%, #f5f9ff 100%) !important;
}

body.auth-shell.rekaz-theme-active .login-panel-inner,
body.auth-shell .login-panel-inner {
    width: min(100%, 480px) !important;
    max-height: calc(100vh - 56px) !important;
    padding: clamp(24px, 2.8vw, 34px) !important;
    border-radius: 12px !important;
    border: 1px solid #e5edf7 !important;
    background: #fff !important;
    box-shadow: 0 26px 62px rgba(12, 46, 92, .13) !important;
}

body.auth-shell.rekaz-theme-active .login-visual,
body.auth-shell .login-visual {
    padding: clamp(42px, 5vw, 78px) clamp(54px, 6vw, 92px) !important;
    justify-content: space-between !important;
    background: linear-gradient(120deg, rgba(12, 46, 92, .98) 0%, rgba(22, 81, 158, .96) 68%, rgba(0, 123, 181, .92) 100%), #0B2D5C !important;
}

body.auth-shell.rekaz-theme-active .login-visual-grid,
body.auth-shell .login-visual-grid {
    inset-block: 13% 16% !important;
    inset-inline: 14% 8% !important;
    opacity: .72 !important;
}

body.auth-shell.rekaz-theme-active .login-visual-accent,
body.auth-shell .login-visual-accent {
    opacity: .62 !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup,
body.auth-shell .login-brand-lockup {
    max-width: min(100%, 360px) !important;
}

body.auth-shell.rekaz-theme-active .login-logo-mark,
body.auth-shell .login-logo-mark {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    font-size: 1.45rem !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup strong,
body.auth-shell .login-brand-lockup strong {
    font-size: clamp(1rem, 1.35vw, 1.28rem) !important;
    line-height: 1.25 !important;
}

body.auth-shell.rekaz-theme-active .login-brand-lockup small,
body.auth-shell .login-brand-lockup small {
    font-size: .72rem !important;
    line-height: 1.55 !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy,
body.auth-shell .login-hero-copy {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-block-start: clamp(34px, 7vh, 82px) !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy span,
body.auth-shell .login-hero-copy span {
    margin-block-end: 12px !important;
    font-size: clamp(1rem, 1.45vw, 1.42rem) !important;
    line-height: 1.6 !important;
    color: rgba(248, 251, 255, .86) !important;
}

body.auth-shell.rekaz-theme-active .login-hero-copy h1,
body.auth-shell .login-hero-copy h1 {
    max-width: 18ch !important;
    font-size: clamp(2.35rem, 3.4vw, 4rem) !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
html[dir="rtl"] body.auth-shell .login-hero-copy {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    margin-block-start: clamp(32px, 7vh, 78px) !important;
    text-align: right !important;
}

html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
    max-width: 16ch !important;
    font-size: clamp(2.15rem, 3.15vw, 3.55rem) !important;
    line-height: 1.24 !important;
    text-align: right !important;
}

body.auth-shell.rekaz-theme-active .login-visual-metrics,
body.auth-shell .login-visual-metrics {
    width: min(300px, 100%) !important;
}

body.auth-shell.rekaz-theme-active .login-avatar,
body.auth-shell .login-avatar {
    width: clamp(104px, 15vh, 132px) !important;
    margin-block: 0 clamp(6px, 1vh, 12px) !important;
}

body.auth-shell.rekaz-theme-active .login-panel h1,
body.auth-shell .login-panel h1 {
    font-size: clamp(1.38rem, 1.75vw, 1.75rem) !important;
    line-height: 1.28 !important;
}

body.auth-shell.rekaz-theme-active .login-panel .muted,
body.auth-shell .login-panel .muted {
    font-size: .9rem !important;
    line-height: 1.75 !important;
}

body.auth-shell.rekaz-theme-active .login-form,
body.auth-shell .login-form {
    margin-top: 18px !important;
}

body.auth-shell.rekaz-theme-active .login-panel .form-row,
body.auth-shell .login-panel .form-row {
    margin-bottom: 14px !important;
}

body.auth-shell.rekaz-theme-active .login-panel .input,
body.auth-shell .login-panel .input {
    height: 50px !important;
    border-radius: 10px !important;
    padding-inline: 16px !important;
}

body.auth-shell.rekaz-theme-active .login-extra-row,
body.auth-shell .login-extra-row {
    margin: 0 0 14px !important;
}

body.auth-shell.rekaz-theme-active .login-btn,
body.auth-shell .login-btn {
    height: 52px !important;
    border-radius: 10px !important;
}

@media (max-width:1180px) {

    body.auth-shell.rekaz-theme-active .login-page,
    body.auth-shell .login-page,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-page,
    html[dir="rtl"] body.auth-shell .login-page {
        grid-template-columns: minmax(460px, .92fr) minmax(0, 1.08fr) !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel-inner,
    body.auth-shell .login-panel-inner {
        width: min(100%, 450px) !important;
    }
}

@media (max-width:860px) {
    html:has(body.auth-shell) body.auth-shell {
        height: auto !important;
        min-height: 100% !important;
        overflow: auto !important;
    }

    body.auth-shell.rekaz-theme-active .login-page,
    body.auth-shell .login-page,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-page,
    html[dir="rtl"] body.auth-shell .login-page {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: "visual" "panel" !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100vh !important;
        max-height: none !important;
        overflow: auto !important;
        background: #f8fafc !important;
    }

    body.auth-shell.rekaz-theme-active .login-visual,
    body.auth-shell .login-visual {
        min-height: 300px !important;
        height: auto !important;
        padding: 28px 22px !important;
    }

    body.auth-shell.rekaz-theme-active .login-hero-copy,
    body.auth-shell .login-hero-copy,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy,
    html[dir="rtl"] body.auth-shell .login-hero-copy {
        margin-block-start: 32px !important;
        width: min(100%, 460px) !important;
        max-width: 460px !important;
    }

    body.auth-shell.rekaz-theme-active .login-hero-copy h1,
    body.auth-shell .login-hero-copy h1,
    html[dir="rtl"] body.auth-shell.rekaz-theme-active .login-hero-copy h1,
    html[dir="rtl"] body.auth-shell .login-hero-copy h1 {
        max-width: 18ch !important;
        font-size: clamp(2rem, 10vw, 3rem) !important;
        line-height: 1.18 !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel,
    body.auth-shell .login-panel {
        min-height: auto !important;
        height: auto !important;
        padding: 24px 16px 42px !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel-inner,
    body.auth-shell .login-panel-inner {
        width: min(100%, 480px) !important;
        max-height: none !important;
    }
}

@media (max-width:520px) {

    body.auth-shell.rekaz-theme-active .login-visual,
    body.auth-shell .login-visual {
        min-height: 250px !important;
    }

    body.auth-shell.rekaz-theme-active .login-brand-lockup small,
    body.auth-shell .login-brand-lockup small,
    body.auth-shell.rekaz-theme-active .login-visual-metrics,
    body.auth-shell .login-visual-metrics {
        display: none !important;
    }

    body.auth-shell.rekaz-theme-active .login-avatar,
    body.auth-shell .login-avatar {
        width: 96px !important;
    }

    body.auth-shell.rekaz-theme-active .login-panel-inner,
    body.auth-shell .login-panel-inner {
        padding: 20px !important;
    }
}

/* Phase45D: authoritative shell grid placement. */
:root {
    --rekaz-fixed-sidebar-offset: 0px;
}

@media (min-width:981px) {
    body.portal-shell.rekaz-theme-active {
        --rekaz-sidebar-width: var(--rekaz-sidebar-expanded-width, 280px) !important;
    }

    body.sidebar-compact.portal-shell.rekaz-theme-active,
    body.sidebar-collapsed.portal-shell.rekaz-theme-active {
        --rekaz-sidebar-width:var(--rekaz-sidebar-collapsed-width,80px)!important;
    }

    body.portal-shell.rekaz-theme-active>.layout {
        display:grid!important;
        grid-template-columns: var(--rekaz-sidebar-width, 280px) minmax(0, 1fr) !important;
        grid-template-areas: "sidebar main" !important;
        gap: 0 !important;
        inline-size: 100% !important;
        width: 100% !important;
        max-inline-size: 100% !important;
        margin: 0 !important;
        overflow-x: clip !important;
    }

    html[dir="ltr"] body.portal-shell.rekaz-theme-active>.layout,
    html[lang="en"] body.portal-shell.rekaz-theme-active>.layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr>.layout,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"]>.layout {
        grid-template-columns: var(--rekaz-sidebar-width, 280px) minmax(0, 1fr) !important;
        grid-template-areas: "sidebar main" !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout {
        grid-template-columns: minmax(0, 1fr) var(--rekaz-sidebar-width, 280px) !important;
        grid-template-areas: "main sidebar" !important;
    }

    body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>.rekaz-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>.sidebar.rekaz-sidebar {
        grid-area: sidebar !important;
        grid-column: 1 !important;
        min-width: 0 !important;
        inline-size: var(--rekaz-sidebar-width, 280px) !important;
        width: var(--rekaz-sidebar-width, 280px) !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout>#portal-sidebar {
        grid-column: 2 !important;
    }

    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout>#portal-sidebar {
        right: var(--rekaz-fixed-sidebar-offset) !important;
        inset-inline-start: var(--rekaz-fixed-sidebar-offset) !important;
        direction: rtl !important;
    }

    body.portal-shell.rekaz-theme-active>.layout>.main,
    body.portal-shell.rekaz-theme-active>.layout>#main-content,
    body.portal-shell.rekaz-theme-active>.layout>.rekaz-main,
    body.portal-shell.rekaz-theme-active>.layout>.rekaz-content {
        grid-area: main !important;
        min-width:0!important;
        min-inline-size: 0 !important;
        overflow-x: clip !important;
    }
}

@media (max-width:980px) {

    body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>.rekaz-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>.sidebar.rekaz-sidebar {
        inset-inline-start: 0 !important;
        inset-inline-end: auto !important;
        transform: translateX(-105%) !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout>#portal-sidebar {
        inset-inline-start: 0 !important;
        inset-inline-end: auto !important;
        transform: translateX(105%) !important;
        direction: rtl !important;
    }

    body.sidebar-open.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar.is-open {
        transform: translateX(0) !important;
    }
}

/* Phase84: unified modern sidebar system.
   Direction is intentional: RTL sidebar stays on the right, LTR stays on the left. */
:root {
    --rekaz-sidebar-expanded-width: 280px;
    --rekaz-sidebar-collapsed-width: 80px;
    --rekaz-sidebar-surface: #f6faff;
    --rekaz-sidebar-surface-2: #ffffff;
    --rekaz-sidebar-line: #dbe7f5;
    --rekaz-sidebar-text: #0B2D5C;
    --rekaz-sidebar-muted: #64748b;
    --rekaz-sidebar-active: #eaf4ff;
    --rekaz-sidebar-accent: #1988d8;
    --rekaz-sidebar-accent-2: #34d399;
    --rekaz-sidebar-accent-3: #6d3bef;
    --rekaz-sidebar-accent-4: #ff8a00;
    --rekaz-sidebar-shadow: 0 18px 42px rgba(12, 46, 92, .10);
}

body.portal-shell.rekaz-theme-active {
    --rekaz-sidebar-width: var(--rekaz-sidebar-expanded-width) !important;
    --sidebar-w: var(--rekaz-sidebar-width) !important;
}

body.portal-shell.rekaz-theme-active.sidebar-compact,
body.portal-shell.rekaz-theme-active.sidebar-collapsed {
    --rekaz-sidebar-width:var(--rekaz-sidebar-collapsed-width,80px)!important;
    --sidebar-w: var(--rekaz-sidebar-width) !important;
}

@media (min-width:981px) {

    html[dir="ltr"] body.portal-shell.rekaz-theme-active>.layout,
    html[lang="en"] body.portal-shell.rekaz-theme-active>.layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr>.layout,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"]>.layout {
        grid-template-columns: var(--rekaz-sidebar-width) minmax(0, 1fr) !important;
        grid-template-areas: "sidebar main" !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout {
        grid-template-columns: minmax(0, 1fr) var(--rekaz-sidebar-width) !important;
        grid-template-areas: "main sidebar" !important;
    }

    html[dir="ltr"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="en"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"]>.layout>#portal-sidebar {
        grid-column: 1 !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout>#portal-sidebar {
        grid-column: 2 !important;
    }
}

body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar.rekaz-sidebar {
    inline-size: var(--rekaz-sidebar-width) !important;
    width: var(--rekaz-sidebar-width) !important;
    min-inline-size: var(--rekaz-sidebar-width) !important;
    max-inline-size: var(--rekaz-sidebar-width) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    height: 100dvh !important;
    padding: 14px 12px !important;
    overflow-x: visible !important;
    overflow-y: auto !important;
    background: linear-gradient(180deg, #f8fbff 0%, var(--rekaz-sidebar-surface) 54%, #edf6ff 100%) !important;
    color: var(--rekaz-sidebar-text) !important;
    border: 0 !important;
    box-shadow: var(--rekaz-sidebar-shadow) !important;
    scrollbar-color: #c7d7ea transparent !important;
    scrollbar-width: thin !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar::-webkit-scrollbar {
    width: 8px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar::-webkit-scrollbar-track {
    background: transparent !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar::-webkit-scrollbar-thumb {
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    background-clip: padding-box !important;
    background-color: #c7d7ea !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.sidebar-brand, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer) {
    margin: 0 !important;
    border: 1px solid var(--rekaz-sidebar-line) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--rekaz-sidebar-text) !important;
    box-shadow: 0 12px 28px rgba(12, 46, 92, .06) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 74px !important;
    padding: 12px !important;
    text-align: start !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .brand-mark,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo {
    display: grid !important;
    place-items: center !important;
    inline-size: 48px !important;
    block-size: 48px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    border: 1px solid rgba(25, 136, 216, .22) !important;
    background: linear-gradient(135deg, #1988d8 0%, #42d9f4 52%, #34d399 100%) !important;
    color: #082f49 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 14px 26px rgba(25, 136, 216, .16) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .brand-mark img {
    inline-size: 100% !important;
    block-size: 100% !important;
    object-fit: cover !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand-copy,
body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand>div:not(.brand-mark) {
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand h2 {
    margin: 0 !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-brand p {
    margin: 2px 0 0 !important;
    color: var(--rekaz-sidebar-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas: "scope-logo scope-copy" "scope-action scope-action" "scope-meta scope-meta" !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: auto !important;
    padding: 12px !important;
    text-align: start !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-head {
    display: contents !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-logo {
    grid-area: scope-logo !important;
    inline-size: 42px !important;
    block-size: 42px !important;
    box-shadow: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-copy {
    grid-area: scope-copy !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>.muted {
    grid-area: scope-copy !important;
    align-self: start !important;
    color: var(--rekaz-sidebar-muted) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>strong,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-card>strong,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-copy strong {
    display: block !important;
    margin: 0 !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size:var(--rekaz-text-sm) !important;
    font-weight: 950 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .school-context>div:not(.rekaz-school-logo):not(.muted):not(.rekaz-school-scope-head):not(.rekaz-school-scope-copy):not(.rekaz-school-scope-form):not(.rekaz-school-scope-meta),
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-copy span,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-copy small {
    display: block !important;
    min-width: 0 !important;
    color: var(--rekaz-sidebar-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-form,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-link {
    grid-area: scope-action !important;
    min-width: 0 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-select,
body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-link {
    inline-size: 100% !important;
    min-height: 36px !important;
    padding: 6px 10px !important;
    border: 1px solid #dbe7f5 !important;
    border-radius: 8px !important;
    background: #eef6ff !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-meta {
    grid-area: scope-meta !important;
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: #f1f7ff !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-meta span {
    color: var(--rekaz-sidebar-muted) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .rekaz-school-scope-meta b {
    min-width: 0 !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .user-chip {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    min-height: 46px !important;
    padding: 9px 10px !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .user-chip>span:first-child {
    display: grid !important;
    place-items: center !important;
    inline-size: 30px !important;
    block-size: 30px !important;
    flex: 0 0 30px !important;
    border-radius: 8px !important;
    background: #eef6ff !important;
    color: #16519e !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .user-chip>span:last-child {
    min-width: 0 !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .sidebar-nav {
    display: grid !important;
    gap: 7px !important;
    padding: 0 0 12px !important;
    overflow: visible !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-pinned {
    display: grid !important;
    gap: 6px !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid rgba(219, 231, 245, .9) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group {
    --sidebar-group-accent: var(--rekaz-sidebar-accent);
    position: relative !important;
    display: grid !important;
    gap: 4px !important;
    border: 0 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group:nth-child(3n+1) {
    --sidebar-group-accent: var(--rekaz-sidebar-accent);
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group:nth-child(3n+2) {
    --sidebar-group-accent: var(--rekaz-sidebar-accent-2);
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group:nth-child(3n+3) {
    --sidebar-group-accent: var(--rekaz-sidebar-accent-3);
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group:nth-child(4n+4) {
    --sidebar-group-accent: var(--rekaz-sidebar-accent-4);
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary {
    list-style: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group>summary::-webkit-details-marker {
    display: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    inline-size: 100% !important;
    padding: 5px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--rekaz-sidebar-text) !important;
    text-align: start !important;
    cursor: pointer !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:hover,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle:focus-visible,
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"],
body.portal-shell.rekaz-theme-active #portal-sidebar .nav-group[open]>.nav-accordion-toggle {
    border-color: rgba(25, 136, 216, .20) !important;
    background: linear-gradient(135deg, #f1f8ff, #ffffff) !important;
    color: var(--rekaz-sidebar-text) !important;
    outline: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-icon, .nav-accordion-icon, .nav-icon) {
    display: grid !important;
    place-items: center !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    min-inline-size: 34px !important;
    border-radius: 8px !important;
    background: color-mix(in srgb, var(--sidebar-group-accent, var(--rekaz-sidebar-accent)) 12%, #f8fbff) !important;
    color: color-mix(in srgb, var(--sidebar-group-accent, var(--rekaz-sidebar-accent)) 84%, #0B2D5C) !important;
    font-size:var(--rekaz-text-sm) !important;
    line-height: 1 !important;
    text-align: center !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-icon, .nav-accordion-icon, .nav-icon) .rekaz-ui-icon-svg,
body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-icon, .nav-accordion-icon, .nav-icon) svg {
    inline-size: 18px !important;
    block-size: 18px !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-icon, .nav-accordion-icon, .nav-icon) .rekaz-ui-icon-text {
    font-size: 11px !important;
    font-weight: 950 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-label, .nav-accordion-label, .nav-label) {
    min-width: 0 !important;
    color: var(--rekaz-sidebar-text) !important;
    font-size:var(--rekaz-text-sm) !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    white-space:nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-arrow {
    display: grid !important;
    place-items: center !important;
    inline-size: 20px !important;
    block-size: 20px !important;
    color: #94a3b8 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-arrow svg {
    inline-size: 15px !important;
    block-size: 15px !important;
}

html[dir="rtl"] body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] .nav-accordion-arrow,
html[lang="ar"] body.portal-shell.rekaz-theme-active #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] .nav-accordion-arrow,
body.portal-shell.rekaz-theme-active.rekaz-dir-rtl #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] .nav-accordion-arrow,
body.portal-shell.rekaz-theme-active[data-direction="rtl"] #portal-sidebar .nav-accordion-toggle[aria-expanded="true"] .nav-accordion-arrow {
    transform: rotate(180deg) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) {
    display: none !important;
    gap: 3px !important;
    padding: 3px 0 6px !important;
    border: 0 !important;
    background: transparent !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar :where(.nav-accordion-panel.is-open, .nav-group[open] > .nav-group-items) {
    display: grid !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    min-height: 40px !important;
    inline-size: 100% !important;
    padding: 4px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--rekaz-sidebar-text) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:hover,
body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link:focus-visible {
    border-color: rgba(25, 136, 216, .18) !important;
    background: #f1f8ff !important;
    color: var(--rekaz-sidebar-text) !important;
    outline: none !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active {
    border-color: rgba(25, 136, 216, .24) !important;
    background: var(--rekaz-sidebar-active) !important;
    color: var(--rekaz-sidebar-text) !important;
    font-weight: 950 !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active::after {
    content: "" !important;
    position: absolute !important;
    inset-block: 9px !important;
    inset-inline-start: 4px !important;
    inline-size: 3px !important;
    border-radius: 999px !important;
    background: var(--sidebar-group-accent, var(--rekaz-sidebar-accent)) !important;
}

body.portal-shell.rekaz-theme-active #portal-sidebar a.nav-link.active .nav-icon {
    background: linear-gradient(135deg, var(--sidebar-group-accent, var(--rekaz-sidebar-accent)), color-mix(in srgb, var(--sidebar-group-accent, var(--rekaz-sidebar-accent)) 56%, #f8fbff)) !important;
    color: #ffffff !important;
}

@media (min-width:981px) {

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar.rekaz-sidebar,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar.rekaz-sidebar {
        padding: 12px 8px !important;
        overflow: visible !important;
        align-items: center !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .sidebar-brand,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .sidebar-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        inline-size: 58px !important;
        min-height: 58px !important;
        padding: 5px !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .brand-mark,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .brand-mark {
        inline-size: 46px !important;
        block-size: 46px !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.sidebar-brand-copy, .sidebar-brand h2, .sidebar-brand p, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.sidebar-brand-copy, .sidebar-brand h2, .sidebar-brand p, .school-context, .rekaz-school-card, .user-chip, .rekaz-sidebar-footer) {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .sidebar-nav,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .sidebar-nav {
        inline-size: 100% !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-pinned,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-pinned {
        inline-size: 100% !important;
        padding: 0 0 8px !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-pinned a.nav-link,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-pinned a.nav-link,
    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-accordion-toggle,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-accordion-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        inline-size: 54px !important;
        block-size: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        margin-inline: auto !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-label, .nav-group-label, .nav-accordion-label, .nav-accordion-arrow),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-label, .nav-group-label, .nav-accordion-label, .nav-accordion-arrow) {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) {
        inline-size: 38px !important;
        block-size: 38px !important;
        min-inline-size: 38px !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-group,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-group {
        inline-size: 100% !important;
        position: relative !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-group-items, .nav-accordion-panel),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-group-items, .nav-accordion-panel),
    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-accordion-panel.is-open, .nav-group[open] > .nav-group-items),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-accordion-panel.is-open, .nav-group[open] > .nav-group-items) {
        position:absolute!important;
        z-index: calc(var(--z-header, 900) + 80) !important;
        inset-inline-start: calc(var(--rekaz-sidebar-collapsed-width) + 12px) !important;
        inset-inline-end: auto !important;
        top: 72px;
        display: none !important;
        inline-size: 280px !important;
        max-inline-size: calc(100vw - var(--rekaz-sidebar-collapsed-width) - 28px) !important;
        max-height: calc(100dvh - 24px) !important;
        overflow: auto !important;
        gap: 4px !important;
        padding: 10px !important;
        border: 1px solid var(--rekaz-sidebar-line) !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        box-shadow: 0 22px 58px rgba(12, 46, 92, .20) !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-group:hover> :where(.nav-group-items, .nav-accordion-panel),
    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-group:focus-within> :where(.nav-group-items, .nav-accordion-panel),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-group:hover> :where(.nav-group-items, .nav-accordion-panel),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-group:focus-within> :where(.nav-group-items, .nav-accordion-panel) {
        display: grid !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .flyout-group-header,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .flyout-group-header {
        display: block !important;
        margin: 0 0 6px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        background: #f1f8ff !important;
        color: var(--rekaz-sidebar-text) !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        line-height: 1.4 !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) a.nav-link,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) a.nav-link {
        justify-content: flex-start !important;
        inline-size: 100% !important;
        min-height: 38px !important;
        padding: 4px 8px !important;
        margin: 0 !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) .nav-label,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) .nav-label {
        display: block !important;
        color: var(--rekaz-sidebar-text) !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.sidebar-nav > a.nav-link, .nav-pinned a.nav-link, .nav-accordion-toggle),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.sidebar-nav > a.nav-link, .nav-pinned a.nav-link, .nav-accordion-toggle) {
        inline-size: 62px !important;
        block-size: auto !important;
        min-block-size: 62px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 38px auto !important;
        place-items: center !important;
        align-content: center !important;
        justify-content: center !important;
        gap: 3px !important;
        padding: 5px 3px !important;
        margin-inline: auto !important;
        text-align: center !important;
        border-radius: 14px !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.sidebar-nav > a.nav-link, .nav-pinned a.nav-link) .nav-label,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.sidebar-nav > a.nav-link, .nav-pinned a.nav-link) .nav-label {
        display: block !important;
        inline-size: 100% !important;
        max-inline-size: 58px !important;
        min-inline-size: 0 !important;
        color: var(--rekaz-sidebar-text, #0B2D5C) !important;
        font-size: 9.5px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar .nav-accordion-toggle .nav-group-label,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar .nav-accordion-toggle .nav-group-label {
        display: block !important;
        inline-size: 100% !important;
        max-inline-size: 58px !important;
        color: var(--rekaz-sidebar-text, #0B2D5C) !important;
        font-size: 9.5px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-icon, .nav-group-icon, .nav-accordion-icon),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-icon, .nav-group-icon, .nav-accordion-icon) {
        grid-row: 1 !important;
        justify-self: center !important;
        align-self: center !important;
        margin: 0 !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-accordion-arrow),
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-accordion-arrow) {
        display: none !important;
    }

    body.portal-shell.rekaz-theme-active.sidebar-compact #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) a.nav-link,
    body.portal-shell.rekaz-theme-active.sidebar-collapsed #portal-sidebar :where(.nav-group-items, .nav-accordion-panel) a.nav-link {
        display: flex !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        text-align: start !important;
    }
}

@media (max-width:980px) {
    body.portal-shell.rekaz-theme-active #portal-sidebar.rekaz-sidebar {
        inline-size: min(86vw, 348px) !important;
        width: min(86vw, 348px) !important;
        max-inline-size: min(86vw, 348px) !important;
        padding: 14px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    html[dir="ltr"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="en"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"]>.layout>#portal-sidebar {
        inset-inline-start: 0 !important;
        inset-inline-end: auto !important;
        transform: translateX(-105%) !important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"]>.layout>#portal-sidebar {
        inset-inline-start: 0 !important;
        inset-inline-end: auto !important;
        transform: translateX(105%) !important;
        direction: rtl !important;
    }

    body.sidebar-open.portal-shell.rekaz-theme-active>.layout>#portal-sidebar,
    body.portal-shell.rekaz-theme-active>.layout>#portal-sidebar.is-open {
        transform: translateX(0) !important;
    }
}
/* PhaseDirectionGate: exact sidebar position contract for layout_direction_gate and sidebar_position_gate. */
@media (min-width:981px) {
    html[dir="ltr"] body.portal-shell.rekaz-theme-active > .layout,
    html[lang="en"] body.portal-shell.rekaz-theme-active > .layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr > .layout,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"] > .layout {
        grid-template-columns:var(--rekaz-sidebar-width,280px) minmax(0,1fr)!important;
        grid-template-areas:"sidebar main"!important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active > .layout,
    html[lang="ar"] body.portal-shell.rekaz-theme-active > .layout,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl > .layout,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout {
        grid-template-columns:minmax(0,1fr) var(--rekaz-sidebar-width,280px)!important;
        grid-template-areas:"main sidebar"!important;
    }

    html[dir="ltr"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    html[lang="en"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-ltr > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="ltr"] > .layout > #portal-sidebar {
        grid-column:1!important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > #portal-sidebar {
        grid-column:2!important;
    }

    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > #portal-sidebar {
        right:var(--rekaz-fixed-sidebar-offset)!important;
        inset-inline-start:var(--rekaz-fixed-sidebar-offset)!important;
        direction:rtl!important;
    }

    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > .main,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > #main-content,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > .rekaz-main,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > .rekaz-content {
        grid-column:1!important;
        direction:rtl!important;
    }
}

@media (max-width:980px) {
    body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active > .layout > .rekaz-sidebar,
    body.portal-shell.rekaz-theme-active > .layout > .sidebar.rekaz-sidebar {
        inset-inline-start:0!important;
        inset-inline-end:auto!important;
        transform:translateX(-105%)!important;
    }

    html[dir="rtl"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    html[lang="ar"] body.portal-shell.rekaz-theme-active > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active.rekaz-dir-rtl > .layout > #portal-sidebar,
    body.portal-shell.rekaz-theme-active[data-direction="rtl"] > .layout > #portal-sidebar {
        inset-inline-start:0!important;
        inset-inline-end:auto!important;
        transform:translateX(105%)!important;
        direction:rtl!important;
    }
}
