:root {
    color-scheme: light;
    --eb-ink: #24324b;
    --eb-ink-soft: #4d5b74;
    --eb-text: #33415c;
    --eb-text-muted: #8c98ad;
    --eb-purple: #0f6b73;
    --eb-purple-2: #2ca6a4;
    --eb-cyan: #2ca6a4;
    --eb-coral: #ff922b;
    --eb-pink: #f76707;
    --eb-success: #2ca6a4;
    --eb-danger: #f76707;
    --eb-bg-page:
        radial-gradient(circle at 8% 14%, rgba(247, 103, 7, 0.12), transparent 20%),
        radial-gradient(circle at 22% 86%, rgba(255, 209, 102, 0.14), transparent 18%),
        radial-gradient(circle at 88% 16%, rgba(44, 166, 164, 0.12), transparent 18%),
        radial-gradient(circle at 86% 82%, rgba(15, 107, 115, 0.10), transparent 20%),
        linear-gradient(180deg, #fafbfd 0%, #f1f5f7 56%, #eef4f4 100%);
    --eb-bg-overlay:
        linear-gradient(120deg, rgba(255, 255, 255, 0.32), transparent 40%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.8), transparent 30%);
    --eb-shell-bg: transparent;
    --eb-shell-border: transparent;
    --eb-surface: rgba(255, 255, 255, 0.94);
    --eb-surface-strong: rgba(255, 255, 255, 0.99);
    --eb-surface-soft: rgba(247, 250, 249, 0.96);
    --eb-border: rgba(78, 101, 132, 0.12);
    --eb-border-strong: rgba(44, 166, 164, 0.22);
    --eb-sidebar-bg:
        radial-gradient(circle at 16% 16%, rgba(255, 146, 43, 0.18), transparent 26%),
        radial-gradient(circle at 14% 88%, rgba(255, 209, 102, 0.12), transparent 20%),
        radial-gradient(circle at 88% 82%, rgba(44, 166, 164, 0.18), transparent 24%),
        linear-gradient(180deg, #0d5f68 0%, #0f6b73 28%, #0e7f84 56%, #0b8b88 100%);
    --eb-sidebar-border: rgba(255, 255, 255, 0.08);
    --eb-topbar-bg: rgba(255, 255, 255, 0.88);
    --eb-panel-shadow: 0 16px 34px rgba(74, 88, 116, 0.08);
    --eb-shadow-lg: 0 24px 60px rgba(90, 103, 130, 0.10);
    --eb-shadow-md: 0 12px 28px rgba(90, 103, 130, 0.08);
    --eb-radius-xl: 22px;
    --eb-radius-lg: 16px;
    --eb-radius-md: 12px;
    --eb-input-bg: rgba(252, 253, 255, 0.98);
    --eb-input-border: rgba(78, 101, 132, 0.14);
    --eb-input-focus: rgba(44, 166, 164, 0.30);
    --eb-input-shadow: 0 0 0 0.22rem rgba(44, 166, 164, 0.12);
    --eb-track: rgba(78, 101, 132, 0.10);
    --eb-accent-gradient: linear-gradient(135deg, #f76707 0%, #ff922b 24%, #ffd166 46%, #2ca6a4 72%, #0f6b73 100%);
    --eb-accent-soft: linear-gradient(135deg, rgba(247, 103, 7, 0.10) 0%, rgba(255, 209, 102, 0.10) 45%, rgba(44, 166, 164, 0.10) 100%);
    --eb-muted-pill: rgba(244, 246, 255, 0.96);
}

[data-theme="dark"] {
    color-scheme: dark;
    --eb-ink: #f2f5ff;
    --eb-ink-soft: #cad5f1;
    --eb-text: #e8eefc;
    --eb-text-muted: #9aa7c7;
    --eb-purple: #e26b8f;
    --eb-purple-2: #f191af;
    --eb-cyan: #9eb2c7;
    --eb-coral: #b1c3d8;
    --eb-pink: #d98ca6;
    --eb-success: #43d39e;
    --eb-danger: #ff8aac;
    --eb-bg-page:
        radial-gradient(circle at 10% 12%, rgba(226, 107, 143, 0.14), transparent 20%),
        radial-gradient(circle at 88% 16%, rgba(177, 195, 216, 0.1), transparent 18%),
        linear-gradient(180deg, #0c1020 0%, #10162b 50%, #131a33 100%);
    --eb-bg-overlay:
        linear-gradient(120deg, rgba(255, 255, 255, 0.02), transparent 40%),
        radial-gradient(circle at 18% 14%, rgba(255, 255, 255, 0.04), transparent 26%);
    --eb-shell-bg: rgba(17, 23, 43, 0.9);
    --eb-shell-border: rgba(144, 159, 200, 0.1);
    --eb-surface: rgba(18, 26, 49, 0.94);
    --eb-surface-strong: rgba(21, 30, 55, 0.98);
    --eb-surface-soft: rgba(23, 33, 59, 0.92);
    --eb-border: rgba(144, 159, 200, 0.12);
    --eb-border-strong: rgba(144, 159, 200, 0.18);
    --eb-sidebar-bg:
        radial-gradient(circle at 18% 14%, rgba(255, 146, 43, 0.16), transparent 24%),
        radial-gradient(circle at 82% 86%, rgba(44, 166, 164, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(9, 47, 56, 0.99) 0%, rgba(8, 59, 67, 1) 48%, rgba(8, 70, 75, 1) 100%);
    --eb-sidebar-border: rgba(255, 255, 255, 0.08);
    --eb-topbar-bg: rgba(14, 20, 38, 0.82);
    --eb-panel-shadow: 0 20px 44px rgba(0, 0, 0, 0.24);
    --eb-shadow-lg: 0 32px 84px rgba(0, 0, 0, 0.28);
    --eb-shadow-md: 0 16px 38px rgba(0, 0, 0, 0.22);
    --eb-input-bg: rgba(14, 20, 38, 0.96);
    --eb-input-border: rgba(144, 159, 200, 0.14);
    --eb-input-focus: rgba(226, 107, 143, 0.38);
    --eb-input-shadow: 0 0 0 0.25rem rgba(226, 107, 143, 0.14);
    --eb-track: rgba(144, 159, 200, 0.12);
    --eb-accent-gradient: linear-gradient(135deg, #8ea3ba 0%, #e26b8f 100%);
    --eb-accent-soft: linear-gradient(135deg, rgba(177, 195, 216, 0.16) 0%, rgba(226, 107, 143, 0.12) 100%);
    --eb-muted-pill: rgba(24, 34, 62, 0.96);
}

html,
body {
    min-height: 100%;
}

body {
    font-size: 0.84rem;
    font-family: "Myriad Pro", "Segoe UI", sans-serif;
    color: var(--eb-text);
    background: var(--eb-bg-page);
    transition: background-color .2s ease, color .2s ease;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: var(--eb-bg-overlay);
    pointer-events: none;
    z-index: -1;
}

a {
    color: inherit;
}

.app-shell {
    background: var(--eb-shell-bg);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    width: 100%;
    backdrop-filter: none;
}

.app-page-wrap {
    padding: 0;
}

.app-page-shell {
    height: 100vh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.app-main-layout {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.app-content {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 1rem 1.1rem 1.1rem;
    background:
        radial-gradient(circle at 86% 14%, rgba(44, 166, 164, 0.08), transparent 16%),
        radial-gradient(circle at 10% 12%, rgba(255, 146, 43, 0.05), transparent 18%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(245, 249, 248, 0.08));
}

.app-content-inner {
    display: grid;
    gap: 1rem;
}

.page-header-card,
.page-section-card {
    background: var(--eb-surface);
    border: 1px solid var(--eb-border);
    border-radius: 22px;
    box-shadow: 0 18px 36px rgba(34, 41, 63, 0.06);
}

.page-header-card {
    padding: .9rem 1rem;
    position: relative;
    overflow: visible;
    z-index: 2;
}

.page-header-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 96% 12%, rgba(255, 146, 43, 0.14), transparent 18%),
        radial-gradient(circle at 16% 110%, rgba(44, 166, 164, 0.12), transparent 22%),
        linear-gradient(135deg, rgba(96, 120, 150, 0.05), rgba(44, 166, 164, 0.03));
    pointer-events: none;
}

.page-header-card > * {
    position: relative;
}

.page-title {
    margin: 0;
    font-size: clamp(1.32rem, 2vw, 1.62rem);
    line-height: 1;
    letter-spacing: -0.05em;
    font-weight: 800;
    color: var(--eb-ink);
}

.page-subtitle {
    margin-top: 0.28rem;
    font-size: .76rem;
    color: var(--eb-text-muted);
}

.page-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    justify-content: flex-end;
}

.page-toolbar {
    display: grid;
    gap: 1rem;
}

.page-toolbar-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.page-chip,
.pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.34rem 0.6rem;
    border-radius: 999px;
    background: var(--eb-muted-pill);
    border: 1px solid var(--eb-border);
    color: var(--eb-text-muted);
    font-size: 0.62rem;
    font-weight: 600;
}

.sidebar {
    background: var(--eb-sidebar-bg);
    min-height: 100%;
}

.sidebar .nav-link {
    color: rgba(236, 249, 250, 0.84);
    border-radius: 16px;
    padding: 0.58rem 0.72rem;
    transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(255, 146, 43, 0.28), rgba(255, 209, 102, 0.14) 34%, rgba(255, 255, 255, 0.10) 100%);
    box-shadow: 0 12px 24px rgba(5, 37, 43, .12);
}

[data-theme="dark"] .sidebar .nav-link:hover,
[data-theme="dark"] .sidebar .nav-link.active {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(255, 146, 43, 0.24), rgba(44, 166, 164, 0.14) 70%, rgba(255, 255, 255, 0.05) 100%);
}

.topbar {
    background: transparent;
    backdrop-filter: none;
    border-bottom: 0;
    position: sticky;
    top: 0;
    z-index: 1080;
}

.card-soft {
    border: 1px solid var(--eb-border);
    border-radius: 22px;
    box-shadow: 0 18px 36px rgba(34, 41, 63, 0.06);
    background: var(--eb-surface);
    position: relative;
    z-index: 1;
}

.card-soft > .card-body,
.page-section-card > .card-body {
    padding: .72rem .82rem;
}

.btn-maroon {
    background: var(--eb-cyan);
    color: #fff;
    border: 0;
    box-shadow: 0 12px 22px rgba(15, 107, 115, 0.18);
}

.btn-maroon:hover,
.btn-maroon:focus {
    filter: brightness(1.04);
    color: #fff;
}

.btn-maroon:focus {
    box-shadow: 0 0 0 0.22rem rgba(44, 166, 164, 0.14);
}

.form-control,
.form-select,
.input-group-text,
.btn {
    border-radius: 14px;
}

.form-control,
.form-select {
    border: 1px solid var(--eb-input-border);
    background: var(--eb-input-bg);
    color: var(--eb-text);
    min-height: 2.38rem;
}

.form-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.7rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%236e7a96' d='M3.2 5.6 8 10.4l4.8-4.8 1.2 1.2L8 12.8 2 6.8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .95rem center;
    background-size: 16px 16px;
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .85rem;
    background-image: none;
}

.form-control::placeholder {
    color: color-mix(in srgb, var(--eb-text-muted) 72%, transparent);
    opacity: 1;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--eb-input-focus);
    box-shadow: var(--eb-input-shadow);
    background: var(--eb-input-bg);
    color: var(--eb-text);
}

.input-group-text {
    border-color: var(--eb-input-border);
    background: var(--eb-surface-soft);
    color: var(--eb-text-muted);
}

.dropdown-menu {
    border: 1px solid var(--eb-border);
    background: var(--eb-surface-strong);
    color: var(--eb-text);
    box-shadow: 0 14px 28px rgba(34, 41, 63, 0.08);
    z-index: 1200;
    border-radius: 14px;
    padding: .45rem;
}

.dropdown-item {
    color: var(--eb-text);
    border-radius: 10px;
    font-size: .78rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--eb-accent-soft);
    color: var(--eb-ink);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 1.72rem;
    padding: .3rem .64rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .03em;
    line-height: 1;
    white-space: nowrap;
}

.status-pill::before {
    content: "";
    width: .46rem;
    height: .46rem;
    border-radius: 999px;
    background: currentColor;
    opacity: .9;
}

.status-pill.status-draft {
    background: rgba(120, 131, 155, .14);
    border-color: rgba(120, 131, 155, .18);
    color: #637086;
}

.status-pill.status-collection {
    background: rgba(28, 190, 224, .16);
    border-color: rgba(28, 190, 224, .22);
    color: #0f9cc5;
}

.status-pill.status-moderation {
    background: rgba(255, 183, 61, .18);
    border-color: rgba(255, 183, 61, .24);
    color: #b77700;
}

.status-pill.status-assembly {
    background: rgba(58, 122, 255, .16);
    border-color: rgba(58, 122, 255, .22);
    color: #2d68da;
}

.status-pill.status-locked {
    background: rgba(71, 78, 96, .16);
    border-color: rgba(71, 78, 96, .24);
    color: #4a5265;
}

.status-pill.status-released,
.status-pill.status-approved {
    background: rgba(33, 181, 115, .16);
    border-color: rgba(33, 181, 115, .22);
    color: #198c5a;
}

.status-pill.status-archived {
    background: rgba(154, 114, 201, .14);
    border-color: rgba(154, 114, 201, .2);
    color: #7f57b4;
}

.status-pill.status-not-released,
.status-pill.status-secondary {
    background: rgba(134, 145, 167, .14);
    border-color: rgba(134, 145, 167, .2);
    color: #6d7890;
}

.status-pill.status-in-review {
    background: rgba(243, 149, 60, .18);
    border-color: rgba(243, 149, 60, .24);
    color: #bb6b10;
}

.status-pill.status-submitted {
    background: rgba(54, 143, 255, .16);
    border-color: rgba(54, 143, 255, .22);
    color: #236fd6;
}

.status-pill.status-rejected {
    background: rgba(228, 82, 99, .16);
    border-color: rgba(228, 82, 99, .22);
    color: #bc3446;
}

[data-theme="dark"] .status-pill.status-draft {
    color: #c2cad9;
}

[data-theme="dark"] .status-pill.status-locked {
    color: #d1d7e1;
}

[data-theme="dark"] .status-pill.status-not-released,
[data-theme="dark"] .status-pill.status-secondary {
    color: #c6cfde;
}

.dropdown-divider {
    border-top-color: var(--eb-border);
}

.modal-content {
    border: 1px solid var(--eb-border);
    border-radius: 20px;
    background: var(--eb-surface-strong);
    color: var(--eb-text);
    box-shadow: 0 18px 42px rgba(33,40,61,.14);
}

.modal-header,
.modal-footer {
    border-color: var(--eb-border);
    background: color-mix(in srgb, var(--eb-surface-strong) 92%, transparent);
}

.modal-body {
    background: var(--eb-surface-strong);
    color: var(--eb-text);
}

.modal-title,
.modal .form-label {
    color: var(--eb-ink);
}

.modal .text-muted,
.modal .small,
.modal .form-text {
    color: var(--eb-text-muted) !important;
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .modal-footer {
    background: #17213b;
    color: #eef3ff;
}

[data-theme="dark"] .modal-title,
[data-theme="dark"] .modal .form-label,
[data-theme="dark"] .modal .btn-close,
[data-theme="dark"] .modal .text-body,
[data-theme="dark"] .modal .text-dark {
    color: #eef3ff !important;
}

[data-theme="dark"] .modal .text-muted,
[data-theme="dark"] .modal .small,
[data-theme="dark"] .modal .form-text {
    color: #aebad6 !important;
}

[data-theme="dark"] .modal .form-control,
[data-theme="dark"] .modal .form-select,
[data-theme="dark"] .modal .input-group-text {
    background: #1d2948;
    color: #eef3ff;
    border-color: rgba(160, 178, 220, 0.18);
}

[data-theme="dark"] .modal .form-control::placeholder {
    color: #97a7cb;
    opacity: 1;
}

[data-theme="dark"] .modal .form-control:focus,
[data-theme="dark"] .modal .form-select:focus {
    background: #1d2948;
    color: #eef3ff;
}

[data-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23c7d2ee' d='M3.2 5.6 8 10.4l4.8-4.8 1.2 1.2L8 12.8 2 6.8z'/%3E%3C/svg%3E");
}

[data-theme="dark"] .form-select[multiple],
[data-theme="dark"] .form-select[size]:not([size="1"]) {
    background-image: none;
}

[data-theme="dark"] .modal .btn-close {
    filter: invert(1) grayscale(1) brightness(1.3);
}

[data-theme="dark"] .dropdown-menu {
    background: #1a2442;
    color: #eef3ff;
    border-color: rgba(160, 178, 220, 0.18);
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
}

[data-theme="dark"] .dropdown-item {
    color: #eef3ff;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background: rgba(226, 107, 143, 0.16);
    color: #fff;
}

[data-theme="dark"] .dropdown-divider {
    border-top-color: rgba(160, 178, 220, 0.14);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--eb-text);
    --bs-table-border-color: var(--eb-border);
}

.app-content .table > :not(caption) > * > * {
    padding-top: .48rem;
    padding-bottom: .48rem;
}

.app-content .table thead th {
    color: var(--eb-text-muted);
    font-size: 0.54rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    border-bottom-width: 1px;
}

.app-content .table tbody td,
.app-content .table tbody th {
    font-size: .8rem;
}

.app-content .table tbody tr {
    transition: background-color .18s ease;
}

.app-content .table-hover tbody tr:hover,
.app-content .table tbody tr:hover {
    background: color-mix(in srgb, var(--eb-accent-soft) 28%, transparent);
}

.app-content .table-responsive {
    border-radius: 16px;
}

.alert {
    border: 1px solid var(--eb-border);
    border-radius: 14px;
    box-shadow: var(--eb-shadow-md);
}

.alert-danger {
    background: rgba(225, 86, 122, 0.14);
    color: color-mix(in srgb, var(--eb-danger) 76%, var(--eb-text) 24%);
}

.alert-success {
    background: rgba(36, 180, 126, 0.16);
    color: color-mix(in srgb, var(--eb-success) 76%, var(--eb-text) 24%);
}

.text-muted {
    color: var(--eb-text-muted) !important;
}

.page-note {
    color: color-mix(in srgb, var(--eb-text) 72%, transparent);
}

@media (max-width: 991.98px) {
    .app-page-wrap {
        padding: 0;
    }

    .app-content {
        padding: .72rem;
    }

    .page-header-card {
        padding: .82rem .9rem;
    }
}

.eb-toast-stack {
    position: fixed;
    top: 10px;
    right: 18px;
    z-index: 1400;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    width: min(360px, calc(100vw - 1.5rem));
    pointer-events: none;
}

.eb-toast-stack--auth {
    top: 18px;
}

.eb-toast {
    pointer-events: auto;
    border: 1px solid var(--eb-border);
    border-left-width: 4px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--eb-surface) 96%, transparent);
    color: var(--eb-text);
    box-shadow: 0 20px 50px rgba(33, 40, 61, .18);
    overflow: hidden;
}

.eb-toast .toast-header {
    background: linear-gradient(90deg, rgba(44, 166, 164, .12), rgba(255, 209, 102, .12));
    color: var(--eb-text);
    border-bottom: 1px solid var(--eb-border);
}

.eb-toast .toast-header .me-auto {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

.eb-toast .toast-header .me-auto::before {
    font-family: "bootstrap-icons";
    font-size: .9rem;
    line-height: 1;
}

.eb-toast .toast-body {
    color: var(--eb-text);
}

.eb-toast .btn-close {
    filter: none;
}

.eb-toast.toast-success {
    border-left-color: #2ca6a4;
}

.eb-toast.toast-success .toast-header .me-auto::before {
    content: "\f633";
    color: #2ca6a4;
}

.eb-toast.toast-danger {
    border-left-color: #f76707;
}

.eb-toast.toast-danger .toast-header .me-auto::before {
    content: "\f335";
    color: #f76707;
}

.eb-toast.toast-info {
    border-left-color: #0f6b73;
}

.eb-toast.toast-info .toast-header .me-auto::before {
    content: "\f431";
    color: #0f6b73;
}

.eb-toast.toast-warning {
    border-left-color: #ff922b;
}

.eb-toast.toast-warning .toast-header .me-auto::before {
    content: "\f189";
    color: #ff922b;
}

[data-theme="dark"] .eb-toast {
    background: color-mix(in srgb, var(--eb-surface-strong) 92%, transparent);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
}

/* Admin panel consistency sweep */
.academic-years-header,
.curriculums-header,
.branches-header,
.academic-year-header,
.branch-header,
.staff-profile-hero,
.page-toolbar-inline,
.classrooms-actions-group,
.curriculum-panel-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.academic-years-header > .btn,
.curriculums-header > .btn,
.branches-header > .btn,
.academic-year-header > .btn,
.branch-header > .btn,
.staff-profile-hero-actions .btn,
.page-header-actions .btn,
.page-toolbar-inline > .btn,
.page-toolbar-inline > .dropdown > .btn,
.page-toolbar-inline > .btn-group > .btn,
.classrooms-actions-group .btn,
.curriculum-panel-head > .btn,
.curriculum-panel-head > .dropdown > .btn {
    padding: .34rem .58rem !important;
    font-size: .74rem !important;
    border-radius: 7px !important;
    line-height: 1.1;
}

.academic-years-header > .btn,
.curriculums-header > .btn,
.branches-header > .btn,
.academic-year-header > .btn,
.branch-header > .btn,
.staff-profile-hero-actions,
.page-header-actions,
.page-toolbar-inline > .btn:last-child,
.page-toolbar-inline > .dropdown:last-child,
.page-toolbar-inline > .btn-group:last-child,
.classrooms-actions-group,
.curriculum-panel-head > .btn:last-child,
.curriculum-panel-head > .dropdown:last-child {
    margin-left: auto;
}

.page-header-actions,
.staff-profile-hero-actions,
.classrooms-actions-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
}

.academic-modal,
.curriculum-modal,
.branch-modal,
.roles-modal,
.students-modal,
.staff-modal,
.classrooms-modal,
.classroom-students-modal,
.staff-profile-modal {
    z-index: 2600 !important;
}

.academic-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.curriculum-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.branch-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.roles-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.students-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.staff-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.classrooms-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.classroom-students-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg),
.staff-profile-modal .modal-dialog:not(.modal-sm):not(.modal-wide):not(.modal-lg) {
    max-width: 410px !important;
}

.academic-modal .modal-dialog.modal-sm,
.curriculum-modal .modal-dialog.modal-sm,
.branch-modal .modal-dialog.modal-sm,
.roles-modal .modal-dialog.modal-sm,
.students-modal .modal-dialog.modal-sm,
.staff-modal .modal-dialog.modal-sm,
.classrooms-modal .modal-dialog.modal-sm,
.classroom-students-modal .modal-dialog.modal-sm,
.staff-profile-modal .modal-dialog.modal-sm {
    max-width: 340px !important;
}

.academic-modal .modal-content,
.curriculum-modal .modal-content,
.branch-modal .modal-content,
.roles-modal .modal-content,
.students-modal .modal-content,
.staff-modal .modal-content,
.classrooms-modal .modal-content,
.classroom-students-modal .modal-content,
.staff-profile-modal .modal-content {
    border-radius: 16px !important;
    overflow: hidden;
    position: relative;
    box-shadow: 0 22px 46px rgba(26, 32, 52, .16) !important;
}

.academic-modal .modal-content::before,
.curriculum-modal .modal-content::before,
.branch-modal .modal-content::before,
.roles-modal .modal-content::before,
.students-modal .modal-content::before,
.staff-modal .modal-content::before,
.classrooms-modal .modal-content::before,
.classroom-students-modal .modal-content::before,
.staff-profile-modal .modal-content::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(255, 146, 43, .88), rgba(255, 209, 102, .72));
}

.academic-modal .modal-header,
.academic-modal .modal-footer,
.curriculum-modal .modal-header,
.curriculum-modal .modal-footer,
.branch-modal .modal-header,
.branch-modal .modal-footer,
.roles-modal .modal-header,
.roles-modal .modal-footer,
.students-modal .modal-header,
.students-modal .modal-footer,
.staff-modal .modal-header,
.staff-modal .modal-footer,
.classrooms-modal .modal-header,
.classrooms-modal .modal-footer,
.classroom-students-modal .modal-header,
.classroom-students-modal .modal-footer,
.staff-profile-modal .modal-header,
.staff-profile-modal .modal-footer {
    padding: .62rem .78rem !important;
}

.academic-modal .modal-body,
.curriculum-modal .modal-body,
.branch-modal .modal-body,
.roles-modal .modal-body,
.students-modal .modal-body,
.staff-modal .modal-body,
.classrooms-modal .modal-body,
.classroom-students-modal .modal-body,
.staff-profile-modal .modal-body {
    padding: .78rem .78rem .84rem !important;
}

.academic-modal .form-control,
.academic-modal .form-select,
.curriculum-modal .form-control,
.curriculum-modal .form-select,
.branch-modal .form-control,
.branch-modal .form-select,
.roles-modal .form-control,
.roles-modal .form-select,
.students-modal .form-control,
.students-modal .form-select,
.staff-modal .form-control,
.staff-modal .form-select,
.classrooms-modal .form-control,
.classrooms-modal .form-select,
.classroom-students-modal .form-control,
.classroom-students-modal .form-select,
.staff-profile-modal .form-control,
.staff-profile-modal .form-select {
    min-height: 2.25rem !important;
    border-radius: 9px !important;
    font-size: .8rem !important;
}

.academic-modal .modal-footer .btn,
.curriculum-modal .modal-footer .btn,
.branch-modal .modal-footer .btn,
.roles-modal .modal-footer .btn,
.students-modal .modal-footer .btn,
.staff-modal .modal-footer .btn,
.classrooms-modal .modal-footer .btn,
.classroom-students-modal .modal-footer .btn,
.staff-profile-modal .modal-footer .btn {
    min-width: 0 !important;
    padding: .3rem .56rem !important;
    font-size: .72rem !important;
}

@media (max-width: 767.98px) {
    .academic-years-header,
    .curriculums-header,
    .branches-header,
    .academic-year-header,
    .branch-header,
    .staff-profile-hero,
    .page-toolbar-inline {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .page-header-actions,
    .staff-profile-hero-actions,
    .classrooms-actions-group {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }
}

/* ExamBuilder consistency */
.assessments-content,
.papers-content {
    width: min(100%, 1160px);
    margin: 0 auto;
    padding: 1.1rem 1.25rem 1.2rem;
    gap: .7rem;
}

.assessments-content .page-header-card,
.papers-content .page-header-card,
.exam-builder-page .page-header-card {
    padding: 0 !important;
    margin: 0 0 .15rem !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.assessments-content .page-header-card::before,
.assessments-content .page-header-card::after,
.papers-content .page-header-card::before,
.papers-content .page-header-card::after,
.exam-builder-page .page-header-card::before,
.exam-builder-page .page-header-card::after {
    display: none !important;
}

.assessments-content .page-toolbar-inline,
.papers-content .page-toolbar-inline,
.exam-builder-page .page-toolbar-inline {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.assessments-content .page-header-actions,
.papers-content .page-header-actions,
.exam-builder-page .page-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    margin-left: auto;
    position: relative;
    z-index: 20;
}

.assessments-content .page-header-actions .dropdown,
.papers-content .page-header-actions .dropdown,
.exam-builder-page .page-header-actions .dropdown {
    position: relative;
    z-index: 21;
}

.assessments-content .page-header-actions .dropdown-menu,
.papers-content .page-header-actions .dropdown-menu,
.exam-builder-page .page-header-actions .dropdown-menu {
    z-index: 30 !important;
}

.assessments-content .page-title,
.papers-content .page-title,
.exam-builder-page .page-title {
    font-size: 1.18rem !important;
    letter-spacing: -.02em !important;
}

.exam-builder-page .page-subtitle {
    font-size: .72rem;
    color: var(--eb-text-muted);
    margin-top: .12rem;
}

.assessments-content .btn,
.papers-content .btn,
.exam-builder-page .btn {
    border-radius: 7px !important;
}

.assessments-content .page-header-actions .btn,
.papers-content .page-header-actions .btn,
.questions-content .page-header-actions .btn,
.exam-builder-page .page-header-actions .btn {
    padding: .34rem .62rem !important;
    font-size: .74rem !important;
    min-height: 2.1rem !important;
    border-radius: 9px !important;
}

.assessments-content .btn-maroon,
.papers-content .btn-maroon,
.questions-content .btn-maroon,
.exam-builder-page .btn-maroon {
    background: var(--eb-purple) !important;
    border: 0 !important;
    color: #fff !important;
}

.assessments-content .btn-maroon:hover,
.assessments-content .btn-maroon:focus,
.assessments-content .btn-maroon:active,
.papers-content .btn-maroon:hover,
.papers-content .btn-maroon:focus,
.papers-content .btn-maroon:active,
.questions-content .btn-maroon:hover,
.questions-content .btn-maroon:focus,
.questions-content .btn-maroon:active,
.exam-builder-page .btn-maroon:hover,
.exam-builder-page .btn-maroon:focus,
.exam-builder-page .btn-maroon:active {
    background: #0b535a !important;
    color: #fff !important;
    filter: none !important;
    opacity: 1 !important;
}

.assessments-shell,
.papers-shell,
.questions-shell,
.exam-builder-page .card.card-soft,
.exam-builder-page .coming-panel {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--eb-surface) 98%, transparent);
    box-shadow: var(--eb-panel-shadow) !important;
}

.assessments-shell::before,
.papers-shell::before,
.questions-shell::before,
.exam-builder-page .card.card-soft::before,
.exam-builder-page .coming-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, rgba(255,146,43,.92), rgba(255,209,102,.78));
    opacity: .98;
    z-index: 2;
    pointer-events: none;
}

.assessments-shell > *,
.papers-shell > *,
.questions-shell > *,
.exam-builder-page .card.card-soft > *,
.exam-builder-page .coming-panel > * {
    position: relative;
    z-index: 1;
}

.modal {
    z-index: 2600 !important;
}

.modal.show {
    display: block;
}

.assessment-modal,
.papers-modal,
.question-modal {
    z-index: 2600 !important;
}

.assessment-modal.show,
.papers-modal.show,
.question-modal.show {
    display: block;
}

.modal-backdrop.show {
    z-index: 2590 !important;
}

.assessment-modal .modal-content,
.papers-modal .modal-content,
.question-modal .modal-content {
    border-radius: 16px !important;
    overflow: hidden;
    position: relative;
    box-shadow: 0 22px 46px rgba(26, 32, 52, .16) !important;
}

.assessment-modal .btn-maroon,
.papers-modal .btn-maroon,
.question-modal .btn-maroon {
    background: var(--eb-purple) !important;
    border: 0 !important;
    color: #fff !important;
}

.assessment-modal .btn-maroon:hover,
.assessment-modal .btn-maroon:focus,
.assessment-modal .btn-maroon:active,
.papers-modal .btn-maroon:hover,
.papers-modal .btn-maroon:focus,
.papers-modal .btn-maroon:active,
.question-modal .btn-maroon:hover,
.question-modal .btn-maroon:focus,
.question-modal .btn-maroon:active {
    background: #0b535a !important;
    color: #fff !important;
    opacity: 1 !important;
    filter: none !important;
}

.assessment-modal .btn-maroon:disabled,
.papers-modal .btn-maroon:disabled,
.question-modal .btn-maroon:disabled {
    background: var(--eb-purple) !important;
    color: rgba(255,255,255,.96) !important;
    opacity: .42 !important;
}

.assessment-modal .btn-outline-secondary,
.papers-modal .btn-outline-secondary,
.question-modal .btn-outline-secondary {
    border-color: rgba(78, 101, 132, 0.34) !important;
    color: var(--eb-text) !important;
    background: rgba(255, 255, 255, 0.96) !important;
}

.assessment-modal .btn-outline-secondary:hover,
.assessment-modal .btn-outline-secondary:focus,
.assessment-modal .btn-outline-secondary:active,
.papers-modal .btn-outline-secondary:hover,
.papers-modal .btn-outline-secondary:focus,
.papers-modal .btn-outline-secondary:active,
.question-modal .btn-outline-secondary:hover,
.question-modal .btn-outline-secondary:focus,
.question-modal .btn-outline-secondary:active {
    border-color: rgba(15, 107, 115, 0.26) !important;
    color: #0b535a !important;
    background: rgba(15, 107, 115, 0.06) !important;
    opacity: 1 !important;
}

.assessment-modal .modal-content::before,
.papers-modal .modal-content::before,
.question-modal .modal-content::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(255, 146, 43, .88), rgba(255, 209, 102, .72));
}

.assessment-modal .modal-header,
.assessment-modal .modal-footer,
.papers-modal .modal-header,
.papers-modal .modal-footer,
.question-modal .modal-header,
.question-modal .modal-footer {
    padding: .62rem .78rem !important;
}

.assessment-modal .modal-body,
.papers-modal .modal-body,
.question-modal .modal-body {
    padding: .78rem .78rem .84rem !important;
}

.assessment-modal .modal-title,
.papers-modal .modal-title,
.question-modal .modal-title {
    font-size: .88rem !important;
}

.assessment-modal .form-label,
.papers-modal .form-label,
.question-modal .form-label {
    font-size: .66rem !important;
    margin-bottom: .24rem !important;
}

.assessment-modal .form-control,
.assessment-modal .form-select,
.papers-modal .form-control,
.papers-modal .form-select,
.question-modal .form-control,
.question-modal .form-select {
    min-height: 2.2rem !important;
    border-radius: 9px !important;
    font-size: .8rem !important;
}

.assessment-modal .btn,
.papers-modal .btn,
.question-modal .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .34rem !important;
    border-radius: 7px !important;
    font-size: .74rem !important;
    padding: .34rem .62rem !important;
}

.assessment-modal .modal-dialog.modal-md,
.papers-modal .modal-dialog.modal-md,
.question-modal .modal-dialog.modal-md {
    max-width: 360px !important;
}

.assessment-modal .modal-dialog.modal-lg,
.papers-modal .modal-dialog.modal-lg,
.question-modal .modal-dialog.modal-lg {
    max-width: 680px !important;
}

.assessment-modal .modal-dialog.modal-xl,
.papers-modal .modal-dialog.modal-xl {
    max-width: 920px !important;
}

.question-modal .modal-dialog.modal-xl {
    max-width: 840px !important;
}

.question-modal .modal-dialog.modal-xxl {
    max-width: 940px !important;
}

.assessment-modal .modal-footer .btn,
.papers-modal .modal-footer .btn,
.question-modal .modal-footer .btn {
    min-width: 0 !important;
    padding: .3rem .56rem !important;
    font-size: .72rem !important;
    min-height: 2.05rem !important;
}

.exam-view-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: .24rem !important;
    padding: .22rem .48rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15,107,115,.12) !important;
    background: rgba(15,107,115,.06) !important;
    color: #0f6b73 !important;
    font-size: .64rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.exam-view-btn:hover,
.exam-view-btn:focus,
.exam-view-btn:active {
    background: rgba(255,146,43,.08) !important;
    border-color: rgba(15,107,115,.12) !important;
    color: #0b535a !important;
}

.assessment-modal .dropdown-menu,
.papers-modal .dropdown-menu,
.assessment-modal .select2-dropdown,
.papers-modal .select2-dropdown,
.assessment-modal .select2-container,
.papers-modal .select2-container,
.assessment-modal .select2-container--open,
.papers-modal .select2-container--open,
.question-modal .dropdown-menu,
.question-modal .select2-dropdown,
.question-modal .select2-container,
.question-modal .select2-container--open {
    z-index: 2660 !important;
}

.assessment-modal .select2-container--open .select2-dropdown,
.papers-modal .select2-container--open .select2-dropdown,
.question-modal .select2-container--open .select2-dropdown {
    z-index: 2670 !important;
}

@media (max-width: 767.98px) {
    .assessments-content .page-toolbar-inline,
    .papers-content .page-toolbar-inline,
    .questions-content .page-toolbar-inline,
    .exam-builder-page .page-toolbar-inline {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .assessments-content .page-header-actions,
    .papers-content .page-header-actions,
    .questions-content .page-header-actions,
    .exam-builder-page .page-header-actions {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }
}
