:root {
    --navy: #0b1f4d;
    --navy-2: #132f6b;
    --gold: #d4a017;
    --gold-2: #f3cd5e;
    --light: #f5f7fb;
    --card: #ffffff;
    --text: #1f2937;
    --muted: #64748b;
    --success-soft: #dcfce7;
    --danger-soft: #fee2e2;
    --warning-soft: #fef3c7;
    --info-soft: #dbeafe;
}

.class-timetable-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 1rem;
    align-items: stretch;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #0f172a;
    color: #fff;
    padding: 1rem;
}

.class-timetable-hero-copy h1 {
    margin: 0 0 .6rem;
    font-size: 1.65rem;
    font-weight: 900;
}

.class-timetable-meta {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.class-timetable-meta span,
.class-timetable-scope-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    color: #e5e7eb;
    padding: .45rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.class-timetable-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.class-timetable-kpi {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    padding: .85rem;
}

.class-timetable-kpi span {
    display: block;
    color: #cbd5e1;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.class-timetable-kpi strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
}

.class-timetable-filter-card {
    margin-bottom: 1rem;
}

.class-timetable-filter-card .class-timetable-scope-pill {
    background: #f8fafc;
    color: #334155;
    border-color: #e2e8f0;
}

.class-timetable-side-card,
.class-timetable-board-card {
    height: 100%;
}

.class-timetable-period-list {
    display: grid;
    gap: .7rem;
}

.class-timetable-period-card,
.class-timetable-slot-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .8rem;
}

.class-timetable-chip-row {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
    margin-top: .45rem;
}

.class-timetable-chip-row span {
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: .7rem;
    font-weight: 800;
    padding: .25rem .45rem;
}

.class-timetable-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    background: #f8fafc;
    padding: 1rem;
    text-align: center;
}

.class-timetable-board {
    display: grid;
    gap: .8rem;
}

.class-timetable-period-row {
    display: grid;
    grid-template-columns: minmax(130px, 170px) minmax(0, 1fr);
    gap: .8rem;
    align-items: stretch;
}

.class-timetable-time-cell {
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: .85rem;
}

.class-timetable-time-cell strong,
.class-timetable-time-cell span {
    display: block;
}

.class-timetable-time-cell span {
    color: #64748b;
    font-size: .8rem;
    font-weight: 800;
}

.class-timetable-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .75rem;
}

.class-timetable-slot-card {
    display: grid;
    gap: .65rem;
}

.class-timetable-slot-class {
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}

.class-timetable-slot-subject {
    color: #475569;
    font-size: .83rem;
    font-weight: 800;
}

.class-timetable-slot-meta {
    display: grid;
    gap: .25rem;
    color: #64748b;
    font-size: .8rem;
    font-weight: 700;
}

.class-timetable-slot-note {
    border-left: 3px solid #d4a017;
    color: #475569;
    background: #fffbeb;
    padding: .45rem .6rem;
    font-size: .78rem;
    font-weight: 700;
}

.class-timetable-slot-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .class-timetable-hero,
    .class-timetable-period-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .class-timetable-kpi-grid,
    .class-timetable-slot-grid {
        grid-template-columns: 1fr;
    }
}

.student-wallet-modal-dialog {
    width: min(96vw, 1560px);
    max-width: min(96vw, 1560px);
}

.student-wallet-modal-dialog .modal-content {
    min-height: min(88vh, 920px);
}

.student-wallet-bank-page {
    gap: 1.2rem;
}

.wallet-bank-appbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e7edf5;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: .95rem 1rem;
}

.wallet-bank-appbar-kicker {
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
}

.wallet-bank-appbar-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 900;
}

.wallet-bank-appnav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.wallet-bank-appnav a,
.wallet-bank-appnav button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
    padding: .55rem .75rem;
    font: inherit;
    cursor: pointer;
}

.wallet-bank-appnav a:hover,
.wallet-bank-appnav button:hover {
    background: #ecfeff;
    border-color: #a5f3fc;
    color: #155e75;
}

.wallet-bank-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 1rem;
    align-items: stretch;
}

.wallet-bank-card,
.wallet-bank-panel,
.wallet-bank-stat,
.wallet-bank-register-card,
.wallet-bank-ledger-card,
.wallet-bank-general-ledger-card,
.wallet-bank-pending-card,
.wallet-bank-filter-card {
    border-radius: 18px;
}

.wallet-bank-card {
    color: #fff;
    padding: 1.35rem;
    background: linear-gradient(135deg, #111827 0%, #14505c 48%, #16835f 100%);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
    min-height: 286px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wallet-bank-card-top,
.wallet-bank-metric-row,
.wallet-bank-action,
.wallet-bank-account-cell {
    display: flex;
    align-items: center;
}

.wallet-bank-card-top {
    justify-content: space-between;
    gap: 1rem;
}

.wallet-bank-chip,
.wallet-bank-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.92);
    border-radius: 999px;
    padding: .45rem .7rem;
    font-size: .8rem;
    font-weight: 800;
}

.wallet-bank-status span {
    width: .55rem;
    height: .55rem;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34,197,94,.14);
}

.wallet-bank-card h1 {
    margin: .85rem 0 .15rem;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 900;
    letter-spacing: 0;
}

.wallet-bank-account,
.wallet-bank-balance-label,
.wallet-bank-metric-row span,
.wallet-bank-stat span,
.wallet-bank-stat small {
    color: rgba(255,255,255,.72);
}

.wallet-bank-balance-label {
    margin-top: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0;
    font-size: .76rem;
    font-weight: 900;
}

.wallet-bank-balance {
    font-size: clamp(2.15rem, 5vw, 4rem);
    font-weight: 900;
    line-height: 1.05;
    margin-top: .25rem;
}

.wallet-bank-card-number {
    margin-top: .7rem;
    color: rgba(255,255,255,.74);
    font-weight: 800;
    font-size: .92rem;
}

.wallet-bank-metric-row {
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
}

.wallet-bank-metric-row > div {
    flex: 1 1 150px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.10);
    border-radius: 14px;
    padding: .85rem;
}

.wallet-bank-metric-row span,
.wallet-bank-stat span {
    display: block;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.wallet-bank-metric-row strong {
    display: block;
    color: #fff;
    font-size: 1.05rem;
    margin-top: .25rem;
}

.wallet-bank-side {
    display: grid;
    gap: 1rem;
}

.wallet-bank-panel,
.wallet-bank-stat {
    background: #fff;
    border: 1px solid #e7edf5;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.wallet-bank-panel {
    padding: 1rem;
}

.wallet-bank-panel-title {
    color: var(--navy);
    font-weight: 900;
    margin-bottom: .85rem;
}

.wallet-bank-actions,
.wallet-bank-stat-grid {
    display: grid;
    gap: .75rem;
}

.wallet-bank-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wallet-bank-action {
    min-height: 58px;
    gap: .7rem;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: .8rem;
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
    background: #f8fafc;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.wallet-bank-action:hover {
    color: var(--navy);
    border-color: rgba(212,160,23,.45);
    background: #fffdf5;
}

.wallet-bank-action i {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0f2fe;
    color: #0369a1;
    flex: 0 0 auto;
}

.wallet-bank-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wallet-bank-stat {
    padding: .95rem;
}

.wallet-bank-stat span,
.wallet-bank-stat small {
    color: #64748b;
}

.wallet-bank-stat strong {
    display: block;
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    margin: .25rem 0 .1rem;
}

.wallet-bank-settlement {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    border: 1px solid #e7edf5;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    border-radius: 18px;
    padding: 1rem;
}

.wallet-bank-settlement span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.wallet-bank-settlement strong,
.wallet-bank-settlement-amount {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}

.student-wallet-bank-page .table-card .card-header {
    background: #fff;
    color: #0f172a;
    border-bottom: 1px solid #e7edf5;
}

.student-wallet-bank-page .table-card {
    background: #f8fafc;
    border: 1px solid #e7edf5;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.student-wallet-bank-page .table-card .card-body {
    background: #f8fafc;
}

.wallet-bank-accounts-table,
.wallet-bank-transaction-table {
    border-collapse: separate;
    border-spacing: 0 .65rem;
}

.wallet-bank-accounts-table thead th,
.wallet-bank-transaction-table thead th {
    background: transparent;
    border: 0;
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
}

.wallet-bank-accounts-table tbody tr,
.wallet-bank-transaction-table tbody tr {
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.wallet-bank-accounts-table tbody td,
.wallet-bank-transaction-table tbody td {
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
    background: #fff;
}

.wallet-bank-accounts-table tbody td:first-child,
.wallet-bank-transaction-table tbody td:first-child {
    border-left: 1px solid #edf2f7;
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
}

.wallet-bank-accounts-table tbody td:last-child,
.wallet-bank-transaction-table tbody td:last-child {
    border-right: 1px solid #edf2f7;
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
}

.wallet-bank-account-cell {
    gap: .75rem;
    min-width: 220px;
}

.wallet-bank-avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #064e3b;
    background: #d1fae5;
    font-weight: 900;
    flex: 0 0 auto;
}

.wallet-bank-avatar-photo {
    display: block;
    object-fit: cover;
    object-position: center top;
    padding: 0;
    border: 1px solid #dbe4ee;
    background: #f8fafc;
}

.student-wallet-profile-link {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    margin-top: .2rem;
    border: 0;
    background: transparent;
    color: #0369a1;
    padding: 0;
    font-size: .78rem;
    font-weight: 800;
}

.student-wallet-profile-link:hover {
    color: var(--navy);
    text-decoration: underline;
}

.student-photo-academic-card {
    border: 1px solid #e7edf5;
    border-radius: 8px;
    background: #fff;
    padding: 1rem;
}

.student-wallet-photo-preview,
.student-wallet-photo-placeholder {
    width: 96px;
    height: 96px;
    max-width: 100%;
    border-radius: 8px;
    margin: 0 auto;
}

.student-wallet-photo-preview {
    display: block;
    object-fit: cover;
    object-position: center top;
    border: 1px solid #dbe4ee;
    background: #f8fafc;
}

.student-wallet-photo-placeholder {
    display: grid;
    place-items: center;
    background: #e0f2fe;
    color: #0369a1;
    font-size: 1.35rem;
    font-weight: 900;
}

.student-photo-academic-form .form-control[readonly] {
    background: #f8fafc;
    border-color: #e7edf5;
    color: #0f172a;
    font-weight: 700;
}

.student-wallet-profile-summary {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 1rem;
    border: 1px solid #e7edf5;
    border-radius: 8px;
    padding: 1rem;
    background: #f8fafc;
}

.student-wallet-profile-photo-frame {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.student-wallet-profile-photo,
.student-wallet-profile-photo-placeholder {
    width: 84px;
    height: 84px;
    max-width: 84px;
    border-radius: 8px;
}

.student-wallet-profile-photo {
    display: block;
    object-fit: cover;
    object-position: center top;
    border: 1px solid #dbe4ee;
    background: #fff;
}

.student-wallet-profile-photo-placeholder {
    display: grid;
    place-items: center;
    background: #e0f2fe;
    color: #0369a1;
    font-size: 1.2rem;
    font-weight: 900;
}

.student-wallet-profile-summary-body {
    min-width: 0;
}

.student-wallet-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .65rem;
}

.student-wallet-profile-detail {
    min-width: 0;
    border: 1px solid #e7edf5;
    border-radius: 8px;
    background: #fff;
    padding: .65rem .75rem;
}

.student-wallet-profile-detail span {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.student-wallet-profile-detail strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    word-break: break-word;
}

@media (max-width: 767.98px) {
    .student-wallet-profile-summary {
        grid-template-columns: 1fr;
    }

    .student-wallet-profile-photo-frame {
        justify-content: flex-start;
    }

    .student-wallet-profile-photo,
    .student-wallet-profile-photo-placeholder {
        width: 80px;
        height: 80px;
        max-width: 80px;
    }
}

.wallet-bank-balance-pill {
    display: inline-flex;
    align-items: center;
    min-width: 112px;
    justify-content: center;
    border-radius: 999px;
    padding: .48rem .7rem;
    font-weight: 900;
}

.wallet-bank-balance-pill-positive {
    background: #dcfce7;
    color: #166534;
}

.wallet-bank-balance-pill-empty {
    background: #e5e7eb;
    color: #374151;
}

.wallet-account-control-summary,
.wallet-reversal-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .75rem;
}

.wallet-account-control-summary > div,
.wallet-reversal-summary > div {
    border: 1px solid #e7edf5;
    border-radius: 8px;
    background: #fff;
    padding: .85rem;
}

.wallet-account-control-summary span,
.wallet-reversal-summary span {
    display: block;
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.wallet-account-control-summary strong,
.wallet-reversal-summary strong {
    display: block;
    color: #0f172a;
    font-weight: 900;
    margin-top: .25rem;
}

.wallet-account-control-summary small {
    display: block;
    color: #64748b;
    margin-top: .18rem;
}

.wallet-account-control-summary .wallet-account-status-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: .28rem .68rem;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: 0;
}

.wallet-account-control-summary .wallet-account-status-pill-active {
    background: #dcfce7;
    color: #166534;
}

.wallet-account-control-summary .wallet-account-status-pill-frozen {
    background: #fef3c7;
    color: #92400e;
}

.wallet-account-control-summary .wallet-account-status-pill-closed {
    background: #fee2e2;
    color: #991b1b;
}

.wallet-account-status-warning {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
    border-radius: 10px;
    padding: .9rem;
}

.wallet-account-status-warning i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fef3c7;
    color: #b45309;
    flex: 0 0 auto;
}

.wallet-account-status-warning strong,
.wallet-account-status-warning span {
    display: block;
}

.wallet-account-status-warning strong {
    font-weight: 900;
}

.wallet-account-status-warning span {
    font-size: .9rem;
}

.wallet-account-status-warning-danger {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.wallet-account-status-warning-danger i {
    background: #fee2e2;
    color: #dc2626;
}

.wallet-general-ledger-modal .modal-body,
.wallet-accounting-management-modal .modal-body,
.wallet-financial-statement-modal .modal-body,
.wallet-reconciliation-system-modal .modal-body,
.wallet-profit-loss-modal .modal-body,
.wallet-cash-flow-modal .modal-body,
.wallet-cash-close-modal .modal-body,
.wallet-budget-management-modal .modal-body {
    background: #f8fafc;
}

.wallet-general-ledger-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.wallet-accounting-management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
}

.wallet-accounting-tile {
    border: 1px solid #e7edf5;
    border-radius: 14px;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

.wallet-accounting-tile span,
.wallet-accounting-tile small,
.wallet-accounting-control-link small {
    display: block;
    color: #64748b;
}

.wallet-accounting-tile span {
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.wallet-accounting-tile strong {
    display: block;
    margin: .28rem 0 .1rem;
    color: #0f172a;
    font-size: 1.18rem;
    font-weight: 900;
}

.wallet-accounting-control-list {
    display: grid;
    gap: .65rem;
}

.wallet-accounting-control-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    border: 1px solid #e7edf5;
    border-radius: 14px;
    background: #fff;
    color: #0f172a;
    padding: .8rem;
    text-decoration: none;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.wallet-accounting-control-link:hover {
    border-color: rgba(212,160,23,.45);
    background: #fffdf5;
    color: var(--navy);
}

.wallet-accounting-control-link i {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0f2fe;
    color: #0369a1;
    flex: 0 0 auto;
}

.wallet-accounting-control-link strong {
    display: block;
    font-weight: 900;
}

.wallet-budget-table {
    min-width: 900px;
}

.wallet-cash-close-table {
    min-width: 980px;
}

.wallet-budget-progress {
    width: 100%;
    height: .5rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e5e7eb;
}

.wallet-budget-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a34a, #d4a017);
}

.wallet-cash-flow-bars {
    display: grid;
    gap: .75rem;
}

.wallet-cash-flow-day {
    display: grid;
    grid-template-columns: 76px minmax(180px, 1fr) 130px;
    gap: .75rem;
    align-items: center;
}

.wallet-cash-flow-date {
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
}

.wallet-cash-flow-stack {
    display: grid;
    gap: .25rem;
}

.wallet-cash-flow-track {
    height: .42rem;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.wallet-cash-flow-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.wallet-cash-flow-in,
.wallet-cash-flow-dot-in {
    background: #16a34a;
}

.wallet-cash-flow-out,
.wallet-cash-flow-dot-out {
    background: #dc2626;
}

.wallet-cash-flow-pending,
.wallet-cash-flow-dot-pending {
    background: #d4a017;
}

.wallet-cash-flow-net {
    font-size: .82rem;
    font-weight: 900;
    text-align: right;
}

.wallet-cash-flow-legend {
    display: flex;
    gap: .85rem;
    flex-wrap: wrap;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.wallet-cash-flow-legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.wallet-cash-flow-dot {
    width: .58rem;
    height: .58rem;
    border-radius: 999px;
    display: inline-block;
}

.wallet-cash-flow-table {
    min-width: 820px;
}

.wallet-profit-loss-table {
    min-width: 620px;
}

.wallet-profit-loss-total-row td {
    border-top: 2px solid #dbe4ee;
    background: #f8fafc;
}

.wallet-financial-statement-printable {
    background: #fff;
    border: 1px solid #e7edf5;
    border-radius: 14px;
    padding: 1rem;
}

.wallet-reconciliation-printable {
    background: #fff;
    border: 1px solid #e7edf5;
    border-radius: 14px;
    padding: 1rem;
}

.wallet-financial-statement-header,
.wallet-reconciliation-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e7edf5;
}

.wallet-financial-statement-header h4,
.wallet-reconciliation-header h4 {
    margin: 0;
    color: #0f172a;
    font-weight: 900;
}

.wallet-financial-statement-table,
.wallet-reconciliation-table {
    min-width: 620px;
}

.wallet-financial-statement-total-row td,
.wallet-reconciliation-total-row td {
    border-top: 2px solid #dbe4ee;
    background: #f8fafc;
}

@media print {
    .wallet-financial-statement-printable,
    .wallet-reconciliation-printable {
        border: 0;
        padding: 0;
    }
}

.wallet-bank-general-ledger-table .wallet-bank-ledger-reference {
    min-width: 190px;
}

.wallet-bank-general-ledger-table .wallet-bank-ledger-account {
    min-width: 185px;
}

.wallet-bank-general-ledger-table .wallet-bank-ledger-amount {
    color: #0f172a;
    font-weight: 900;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .wallet-bank-hero {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 575.98px) {
    .wallet-bank-card {
        padding: 1rem;
    }

    .wallet-cash-flow-day {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .wallet-cash-flow-net {
        text-align: left;
    }

    .wallet-bank-card-top,
    .wallet-bank-actions,
    .wallet-bank-stat-grid,
    .wallet-bank-appbar {
        grid-template-columns: 1fr;
    }

    .wallet-bank-card-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .wallet-bank-appbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .wallet-bank-appnav {
        justify-content: flex-start;
    }

    .wallet-bank-actions,
    .wallet-bank-stat-grid {
        display: grid;
    }
}

.teacher-homeroom-page {
    gap: 1rem;
}

.teacher-homeroom-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 72%, #916f12 100%);
    color: #fff;
    padding: 1rem;
}

.teacher-homeroom-hero-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.teacher-homeroom-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.teacher-homeroom-hero h1 {
    margin: 0;
    font-size: clamp(1.55rem, 2vw, 2.05rem);
    font-weight: 900;
}

.teacher-homeroom-scope,
.teacher-homeroom-action-strip,
.teacher-homeroom-signal-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.teacher-homeroom-scope span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.teacher-homeroom-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.teacher-homeroom-kpi,
.teacher-homeroom-panel,
.teacher-homeroom-watch-card {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.teacher-homeroom-kpi {
    display: grid;
    gap: .25rem;
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .18);
    padding: .9rem;
}

.teacher-homeroom-kpi span,
.teacher-homeroom-kpi small {
    color: #cbd5e1;
    font-size: .75rem;
    font-weight: 800;
}

.teacher-homeroom-kpi strong {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 900;
}

.teacher-homeroom-toolbar.table-card {
    border-radius: 8px;
}

.teacher-homeroom-context {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    border-top: 1px solid #e2e8f0;
    padding-top: 1rem;
}

.teacher-homeroom-context span {
    display: block;
    color: #64748b;
    font-size: .84rem;
    margin-top: .18rem;
}

.teacher-homeroom-board {
    display: grid;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    gap: 1rem;
}

.teacher-homeroom-sidebar,
.teacher-homeroom-main {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.teacher-homeroom-panel,
.teacher-homeroom-watch-card {
    padding: 1rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.teacher-homeroom-panel-head,
.teacher-homeroom-watch-card-head,
.teacher-homeroom-watch-tile,
.teacher-homeroom-mini-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .85rem;
}

.teacher-homeroom-panel-head h2,
.teacher-homeroom-watch-card-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 900;
}

.teacher-homeroom-progress {
    height: .55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
    margin: .9rem 0 1rem;
}

.teacher-homeroom-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a34a, #d4a017);
}

.teacher-homeroom-snapshot-list,
.teacher-homeroom-mark-grid {
    display: grid;
    gap: .65rem;
}

.teacher-homeroom-snapshot-list div,
.teacher-homeroom-mark-grid div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    border-radius: 8px;
    background: #f8fafc;
    padding: .7rem .8rem;
}

.teacher-homeroom-snapshot-list span,
.teacher-homeroom-mark-grid span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.teacher-homeroom-snapshot-list strong,
.teacher-homeroom-mark-grid strong {
    color: #0f172a;
    font-size: .86rem;
    text-align: right;
}

.teacher-homeroom-watch-tile-grid,
.teacher-homeroom-watch-grid {
    display: grid;
    gap: .8rem;
}

.teacher-homeroom-watch-tile-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.teacher-homeroom-watch-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.teacher-homeroom-watch-tile {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: .8rem;
}

.teacher-homeroom-watch-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    background: #e0f2fe;
    color: #0369a1;
    flex: 0 0 auto;
}

.teacher-homeroom-watch-tile span:not(.soft-badge),
.teacher-homeroom-mini-row span:not(.soft-badge) {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.teacher-homeroom-watch-tile strong {
    display: block;
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 900;
}

.teacher-homeroom-empty {
    border-radius: 8px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #64748b;
    padding: .85rem;
    font-weight: 700;
}

.teacher-homeroom-compact-table td,
.teacher-homeroom-compact-table th,
.teacher-homeroom-roster td,
.teacher-homeroom-roster th {
    vertical-align: middle;
}

.teacher-homeroom-mini-list {
    display: grid;
    gap: .65rem;
    margin-top: .8rem;
}

.teacher-homeroom-mini-row {
    align-items: center;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: .75rem;
}

.teacher-homeroom-mini-row strong {
    display: block;
    color: #0f172a;
    font-size: .88rem;
}

.homeroom-roster-table .table-avatar {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
    color: var(--navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex: 0 0 auto;
}

.homeroom-roster-table .table-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.teacher-homeroom-signal-list {
    max-width: 280px;
}

@media (max-width: 991.98px) {
    .teacher-homeroom-hero,
    .teacher-homeroom-board {
        grid-template-columns: 1fr;
    }

    .teacher-homeroom-context {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .teacher-homeroom-kpi-grid,
    .teacher-homeroom-watch-tile-grid {
        grid-template-columns: 1fr;
    }

    .teacher-homeroom-panel-head,
    .teacher-homeroom-watch-card-head,
    .teacher-homeroom-mini-row {
        align-items: stretch;
        flex-direction: column;
    }
}

.clearance-office-slip-page {
    max-width: 920px;
    margin: 0 auto;
}

.clearance-office-slip-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .42rem .8rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.clearance-office-slip-header {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: flex-start;
    margin-bottom: 1.2rem;
}

.clearance-office-slip-header h1 {
    margin: 0 0 .35rem;
    font-size: 1.7rem;
    font-weight: 800;
    color: #0f172a;
}

.clearance-office-slip-header p {
    margin: 0;
    color: #475569;
    max-width: 42rem;
}

.clearance-office-slip-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.clearance-office-slip-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 1rem;
}

.clearance-office-slip-profile {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.clearance-office-slip-photo {
    width: 126px;
    max-width: 126px;
}

.clearance-office-slip-photo img,
.clearance-office-slip-photo .student-photo-placeholder {
    display: block;
    width: 126px;
    max-width: 126px;
    min-width: 126px;
    height: 150px;
    border-radius: 18px;
    object-fit: cover;
}

.clearance-office-slip-evidence {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .85rem .95rem;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(248, 250, 252, 0.95);
}

.clearance-office-slip-evidence span {
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #64748b;
}

.clearance-office-slip-evidence strong {
    color: #0f172a;
    font-size: 1rem;
}

.clearance-office-slip-footer {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.55);
}

.clearance-office-slip-note {
    padding: .9rem 1rem;
    border-radius: 16px;
    background: rgba(255, 248, 220, 0.72);
    border: 1px solid rgba(217, 119, 6, 0.2);
    color: #7c2d12;
}

.clearance-office-slip-meta {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: .75rem;
    color: #64748b;
    font-size: .88rem;
}

@media (max-width: 991.98px) {
    .clearance-office-slip-grid,
    .clearance-office-slip-profile {
        grid-template-columns: 1fr;
    }

    .clearance-office-slip-photo,
    .clearance-office-slip-photo img,
    .clearance-office-slip-photo .student-photo-placeholder {
        width: 126px;
        max-width: 126px;
        min-width: 126px;
    }

    .clearance-office-slip-header {
        flex-direction: column;
    }

    .clearance-office-slip-status {
        justify-content: flex-start;
    }
}

@media print {
    .clearance-office-slip-page {
        max-width: none !important;
        padding: .95rem 1rem !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .clearance-office-slip-kicker {
        margin-bottom: .6rem !important;
        padding: .24rem .55rem !important;
        font-size: .56rem !important;
    }

    .clearance-office-slip-header {
        gap: .7rem !important;
        margin-bottom: .7rem !important;
    }

    .clearance-office-slip-header h1 {
        font-size: 1.05rem !important;
        margin-bottom: .18rem !important;
    }

    .clearance-office-slip-header p,
    .clearance-office-slip-meta,
    .clearance-office-slip-note,
    .clearance-office-slip-evidence span,
    .clearance-office-slip-evidence strong {
        font-size: .62rem !important;
    }

    .clearance-office-slip-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: .55rem !important;
    }

    .clearance-office-slip-profile {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        gap: .6rem !important;
    }

    .clearance-office-slip-photo {
        width: 86px !important;
        max-width: 86px !important;
    }

    .clearance-office-slip-photo img,
    .clearance-office-slip-photo .student-photo-placeholder {
        width: 86px !important;
        max-width: 86px !important;
        min-width: 86px !important;
        height: 104px !important;
        border-radius: 12px !important;
    }

    .clearance-office-slip-page .card.table-card,
    .clearance-office-slip-page .clearance-office-slip-evidence,
    .clearance-office-slip-page .clearance-office-slip-note {
        box-shadow: none !important;
        break-inside: avoid;
    }

    .clearance-office-slip-page .card-header {
        padding: .42rem .58rem !important;
        font-size: .66rem !important;
    }

    .clearance-office-slip-page .card-body {
        padding: .56rem .62rem !important;
    }

    .clearance-office-slip-page .detail-item {
        padding-block: .22rem !important;
    }

    .clearance-office-slip-page .detail-label {
        font-size: .5rem !important;
    }

    .clearance-office-slip-page .detail-value {
        font-size: .65rem !important;
    }

    .clearance-office-slip-page .soft-badge {
        padding: .18rem .38rem !important;
        font-size: .5rem !important;
    }

    .clearance-office-slip-evidence {
        padding: .5rem .56rem !important;
        border-radius: 10px !important;
    }

    .clearance-office-slip-footer {
        margin-top: .7rem !important;
        padding-top: .55rem !important;
    }
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--light);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}

a { text-decoration: none; }

.staff-theme-toggle {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe3ee;
    border-radius: 14px;
    color: var(--navy);
    display: inline-flex;
    font-size: .9rem;
    font-weight: 850;
    gap: .45rem;
    min-height: 44px;
    padding: .55rem .85rem;
    transition: .2s ease;
    white-space: nowrap;
}

.staff-theme-toggle:hover,
.staff-theme-toggle:focus {
    background: #eef2ff;
    border-color: rgba(11, 31, 77, .22);
    color: var(--navy);
    transform: translateY(-1px);
}

html[data-staff-theme="dark"] body.staff-app-shell-body {
    --light: #07111f;
    --card: #101a2c;
    --text: #e5edf8;
    --muted: #9fb0c8;
    background: #07111f;
    color: var(--text);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area {
    background:
        radial-gradient(circle at top right, rgba(212, 160, 23, .08), transparent 30rem),
        linear-gradient(180deg, #07111f 0%, #0b1526 100%);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .topbar,
html[data-staff-theme="dark"] body.staff-app-shell-body .card,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-soft,
html[data-staff-theme="dark"] body.staff-app-shell-body .table-card,
html[data-staff-theme="dark"] body.staff-app-shell-body .stat-card,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-content,
html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-menu,
html[data-staff-theme="dark"] body.staff-app-shell-body .offcanvas {
    background: #101a2c;
    border-color: rgba(148, 163, 184, .2);
    color: var(--text);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .card-header,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-footer,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-header,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-footer {
    background: #0b1526;
    border-color: rgba(148, 163, 184, .18);
    color: var(--text);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .page-title,
html[data-staff-theme="dark"] body.staff-app-shell-body h1,
html[data-staff-theme="dark"] body.staff-app-shell-body h2,
html[data-staff-theme="dark"] body.staff-app-shell-body h3,
html[data-staff-theme="dark"] body.staff-app-shell-body h4,
html[data-staff-theme="dark"] body.staff-app-shell-body h5,
html[data-staff-theme="dark"] body.staff-app-shell-body h6,
html[data-staff-theme="dark"] body.staff-app-shell-body .fw-bold,
html[data-staff-theme="dark"] body.staff-app-shell-body .fw-semibold {
    color: #f8fafc;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .text-muted,
html[data-staff-theme="dark"] body.staff-app-shell-body .small.text-muted,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-text {
    color: var(--muted) !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .table {
    --bs-table-bg: transparent;
    --bs-table-color: #e5edf8;
    --bs-table-border-color: rgba(148, 163, 184, .18);
    --bs-table-striped-bg: rgba(148, 163, 184, .06);
    --bs-table-striped-color: #e5edf8;
    --bs-table-hover-bg: rgba(212, 160, 23, .08);
    --bs-table-hover-color: #f8fafc;
    color: #e5edf8;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .table thead th,
html[data-staff-theme="dark"] body.staff-app-shell-body .table tbody td {
    border-color: rgba(148, 163, 184, .18);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .form-control,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-select,
html[data-staff-theme="dark"] body.staff-app-shell-body textarea.form-control {
    background-color: #0b1526;
    border-color: #33435b;
    color: #e5edf8;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .form-control::placeholder,
html[data-staff-theme="dark"] body.staff-app-shell-body textarea.form-control::placeholder {
    color: #7f93ad;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .form-control:focus,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-select:focus {
    background-color: #0b1526;
    border-color: var(--gold);
    box-shadow: 0 0 0 .2rem rgba(212, 160, 23, .16);
    color: #f8fafc;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .btn-outline-dark,
html[data-staff-theme="dark"] body.staff-app-shell-body .btn-outline-secondary {
    border-color: #4f6480;
    color: #e5edf8;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-theme-toggle {
    background: #0b1526;
    border-color: #33435b;
    color: #f8fafc;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-theme-toggle:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .staff-theme-toggle:focus {
    background: #17243a;
    border-color: rgba(212, 160, 23, .55);
    color: #fff;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .btn-outline-dark:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .btn-outline-secondary:hover {
    background: #1f2d44;
    border-color: #6b7f9a;
    color: #fff;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .sidebar-toggle-btn {
    background: #0b1526;
    color: #e5edf8;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .sidebar-toggle-btn:hover {
    background: #17243a;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .topbar-user-card {
    background: #0b1526;
    border-color: rgba(148, 163, 184, .24);
    color: #f8fafc;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .topbar-user-card:hover {
    color: #fff;
    border-color: rgba(212, 160, 23, .48);
}

html[data-staff-theme="dark"] body.staff-app-shell-body .topbar-user-copy span {
    color: #aebed2;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .topbar-user-copy .topbar-user-school {
    color: #d5dfeb;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .footer-bar {
    background: #07111f;
    border-top-color: rgba(148, 163, 184, .18);
    color: #9fb0c8;
}

.app-shell {
    min-height: 100vh;
    display: flex;
}

body.staff-app-shell-body .app-shell {
    --staff-sidebar-width: 312px;
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
}

.sidebar {
    width: 312px;
    min-width: 312px;
    color: white;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 28%),
        linear-gradient(180deg, var(--navy-2) 0%, var(--navy) 42%, var(--gold) 100%);
    padding: 16px 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-x: hidden;
    transition: width .25s ease, min-width .25s ease, padding .25s ease;
}

.sidebar > div:first-child {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.brand-block {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 6px 8px 14px;
}

.brand-logo {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    box-shadow: 0 12px 24px rgba(0,0,0,.16);
    color: #fff;
    font-size: 22px;
}

.brand-logo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
    background: #fff;
    padding: .22rem;
}

.brand-title {
    font-weight: 800;
    font-size: 1.12rem;
}

.brand-subtitle {
    color: #d7dfeb;
    font-size: .82rem;
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: auto;
    overflow-y: auto;
    padding: 4px 2px 4px 14px;
    gap: 0;
    border-left: 1px solid rgba(255,255,255,.10);
}

.sidebar-section,
.sidebar-section-links {
    min-width: 0;
}

.sidebar-nav::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
.sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
}

.sidebar-section {
    display: grid;
    gap: .35rem;
}

.sidebar-section + .sidebar-section {
    margin-top: .55rem;
    padding-top: .75rem;
    border-top: 1px solid rgba(255,255,255,.08);
}

.sidebar-section-title {
    padding: 0 16px;
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.54);
}

.sidebar-section-links {
    display: grid;
    gap: 0;
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-radius: 0;
    color: #dbe5f5;
    background: transparent;
    transition: .2s ease;
    border-left: 3px solid transparent;
}

.sidebar-link i {
    flex: 0 0 18px;
    text-align: center;
    opacity: .95;
}

.sidebar-link span {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-link:hover {
    background: rgba(255,255,255,.04);
    color: #fff;
    border-left-color: rgba(243,205,94,.45);
}

.sidebar-link.active {
    background: linear-gradient(90deg, rgba(243,205,94,.18), rgba(243,205,94,0));
    color: #fff;
    border-left-color: var(--gold-2);
}

.sidebar-footer-info {
    padding: 12px 8px 4px;
    border-top: 1px solid rgba(255,255,255,.10);
    margin-top: 12px;
}

.content-area {
    flex: 1 1 auto;
    padding: 22px;
    min-width: 0;
}

body.staff-app-shell-body .content-area {
    width: calc(100vw - var(--staff-sidebar-width, 312px));
    max-width: calc(100vw - var(--staff-sidebar-width, 312px));
    overflow-x: clip;
}

body.staff-app-shell-body .content-area > *,
body.staff-app-shell-body .content-area .container,
body.staff-app-shell-body .content-area .container-fluid,
body.staff-app-shell-body .content-area .page-stack,
body.staff-app-shell-body .content-area [class*="-page"],
body.staff-app-shell-body .content-area [class*="-stack"],
body.staff-app-shell-body .content-area [class*="-grid"],
body.staff-app-shell-body .content-area [class*="-layout"],
body.staff-app-shell-body .content-area [class*="-panel"],
body.staff-app-shell-body .content-area [class*="-card"] {
    max-width: 100%;
    min-width: 0;
}

body.staff-app-shell-body .content-area .table-responsive,
body.staff-app-shell-body .content-area [class*="-table-wrap"] {
    max-width: 100%;
    overflow-x: auto;
}

body.staff-app-shell-body .content-area .pagination {
    flex-wrap: wrap;
    max-width: 100%;
    row-gap: .35rem;
}

.topbar {
    background: white;
    border-radius: 20px;
    padding: 18px 20px;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
    margin-bottom: 18px;
}

.page-title {
    color: var(--navy);
    font-weight: 800;
}

.page-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sidebar-toggle-btn,
.sidebar-mobile-btn {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    font-size: 1rem;
    transition: .2s ease;
}

.sidebar-toggle-btn {
    background: #f8fafc;
    color: var(--navy);
}

.sidebar-toggle-btn:hover { background: #eef2ff; }

.sidebar-mobile-btn {
    display: none;
    background: var(--navy);
    color: #fff;
}

.sidebar-mobile-btn:hover { background: var(--navy-2); }

.offcanvas .sidebar-link {
    color: var(--text);
    background: transparent;
    border: 0;
    border-left: 3px solid transparent;
    border-radius: 0;
}

.offcanvas .sidebar-link:hover,
.offcanvas .sidebar-link.active {
    color: #0b1f4d;
    background: linear-gradient(90deg, #eef4ff, rgba(238,244,255,0));
    border-left-color: #c99b1a;
}

.offcanvas .sidebar-section + .sidebar-section {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid #e6edf7;
}

.offcanvas .sidebar-section-title {
    padding: 0 4px;
    color: #667085;
}

.card-soft,
.stat-card,
.panel-card,
.table-card {
    border: 0;
    border-radius: 20px;
    background: var(--card);
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
}

.table-card { overflow: hidden; }

.card-soft .card-body,
.stat-card .card-body { padding: 20px; }

.stat-label {
    color: var(--muted);
    font-size: .9rem;
}

.stat-value {
    font-size: 2rem;
    font-weight: 800;
    color: var(--navy);
}

.btn-gold {
    background: var(--gold);
    border-color: var(--gold);
    color: #fff;
}

.btn-gold:hover {
    background: var(--gold-2);
    border-color: var(--gold-2);
    color: #fff;
}

.btn-navy {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
}

.btn-navy:hover {
    background: var(--navy-2);
    border-color: var(--navy-2);
    color: #fff;
}

.hero-gradient,
.hero-panel {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 30px;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 28%),
        linear-gradient(135deg, var(--navy-2) 0%, var(--navy) 38%, var(--gold) 100%);
    color: #fff;
    box-shadow: 0 18px 50px rgba(11,35,65,.16);
}

.hero-panel::before,
.hero-gradient::before {
    content: "";
    position: absolute;
    right: -55px;
    top: -55px;
    width: 180px;
    height: 180px;
    background: rgba(255,255,255,.06);
    border-radius: 50%;
}

.hero-panel::after,
.hero-gradient::after {
    content: "";
    position: absolute;
    right: 60px;
    bottom: -70px;
    width: 170px;
    height: 170px;
    background: rgba(243,205,94,.18);
    border-radius: 50%;
}

.hero-panel > *,
.hero-gradient > * { position: relative; z-index: 1; }

.hero-mini-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .85rem;
}

.hero-mini-card,
.school-kpi-card {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 36%),
        linear-gradient(135deg, var(--navy) 0%, var(--gold) 100%);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    padding: 1rem;
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 28px rgba(4,16,36,.18);
}

.hero-mini-card .label,
.school-kpi-label {
    font-size: .78rem;
    color: rgba(255,255,255,.70);
    margin-bottom: .3rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.hero-mini-card .value,
.school-kpi-value {
    font-size: 1.35rem;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}

.school-kpi-meta {
    margin-top: .55rem;
    color: rgba(255,255,255,.82);
    font-size: .8rem;
    line-height: 1.35;
}

.panel-card .card-header,
.table-card .card-header {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 34%),
        linear-gradient(135deg, var(--navy) 0%, var(--gold) 100%);
    color: #fff;
    border: 0;
    padding: 1rem 1.15rem;
    font-size: 1rem;
    font-weight: 800;
}

.metric-pill {
    padding: 10px 14px;
    border-radius: 16px;
    background: #f8fafc;
    min-width: 120px;
}

.metric-pill strong {
    display: block;
    color: var(--navy);
}

.mini-stat {
    border-radius: 18px;
    background: linear-gradient(135deg, #fff, #f9fbff);
    border: 1px solid #edf2f7;
    padding: 16px;
}

.mini-stat .label {
    color: var(--muted);
    font-size: .88rem;
}

.mini-stat .value {
    color: var(--navy);
    font-weight: 800;
    font-size: 1.5rem;
}

.table thead th {
    background: #f8fafc;
    color: var(--navy);
    white-space: nowrap;
}

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

.section-eyebrow {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #667085;
    font-weight: 800;
    margin-bottom: .35rem;
}

.soft-badge {
    border-radius: 999px;
    padding: 6px 10px;
    font-size: .78rem;
    font-weight: 700;
}

.soft-success { background: var(--success-soft); color: #166534; }
.soft-danger { background: var(--danger-soft); color: #991b1b; }
.soft-warning { background: var(--warning-soft); color: #92400e; }
.soft-info { background: var(--info-soft); color: #1d4ed8; }
.soft-primary { background: #e0f2fe; color: #0369a1; }
.soft-secondary { background: #e5e7eb; color: #374151; }

.performance-band-guide-card {
    border-width: 1px;
    border-style: solid;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.32);
}

.performance-band-guide-card .label {
    font-weight: 800;
}

.performance-band-guide-card .meta {
    font-weight: 600;
}

.performance-band-guide-outstanding {
    background: linear-gradient(180deg, rgba(220, 252, 231, 0.95), rgba(220, 252, 231, 0.72)) !important;
    border-color: rgba(22, 101, 52, 0.18) !important;
}

.performance-band-guide-outstanding .label {
    color: #166534;
}

.performance-band-guide-outstanding .meta {
    color: #166534;
}

.performance-band-guide-steady {
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.95), rgba(219, 234, 254, 0.72)) !important;
    border-color: rgba(29, 78, 216, 0.18) !important;
}

.performance-band-guide-steady .label {
    color: #1d4ed8;
}

.performance-band-guide-steady .meta {
    color: #1e40af;
}

.performance-band-guide-support {
    background: linear-gradient(180deg, rgba(254, 243, 199, 0.96), rgba(254, 243, 199, 0.76)) !important;
    border-color: rgba(146, 64, 14, 0.18) !important;
}

.performance-band-guide-support .label {
    color: #92400e;
}

.performance-band-guide-support .meta {
    color: #9a3412;
}

.performance-band-guide-critical {
    background: linear-gradient(180deg, rgba(254, 226, 226, 0.96), rgba(254, 226, 226, 0.76)) !important;
    border-color: rgba(153, 27, 27, 0.18) !important;
}

.performance-band-guide-critical .label {
    color: #991b1b;
}

.performance-band-guide-critical .meta {
    color: #991b1b;
}

.public-nav {
    background: white;
    border-radius: 20px;
    padding: 16px 20px;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
}

.public-shell {
    padding: 22px;
}

.school-admin-hero {
    border-radius: 32px;
}

.school-hero-copy-panel {
    padding: 1.35rem 1.4rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 36%),
        linear-gradient(135deg, var(--navy) 0%, var(--gold) 100%);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 20px 40px rgba(3,11,24,.18);
}

.school-workspace-card {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    padding: .9rem 1rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, var(--navy-2) 0%, var(--gold) 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 34px rgba(2,10,24,.22);
    max-width: min(560px, 100%);
}

.school-workspace-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255,255,255,.12);
    color: #dbeafe;
    font-size: 1.05rem;
    flex: 0 0 auto;
}

.school-workspace-copy {
    display: grid;
    gap: .32rem;
}

.school-chip,
.live-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .48rem .9rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    font-size: .85rem;
    font-weight: 700;
}

.hero-live-pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .34rem .72rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .32);
    border: 1px solid rgba(255,255,255,.14);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.hero-live-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.16);
    animation: heroPulse 1.8s ease-in-out infinite;
}

@keyframes heroPulse {
    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34,197,94,.26);
    }
    50% {
        transform: scale(1.08);
        box-shadow: 0 0 0 8px rgba(34,197,94,.08);
    }
}

.school-workspace-text {
    color: rgba(255,255,255,.82);
    font-size: .92rem;
    line-height: 1.35;
}

.school-hero-title {
    font-size: clamp(1.9rem, 3vw, 3.25rem);
    font-weight: 900;
    line-height: 1.05;
    max-width: 16ch;
    color: var(--gold-2);
}

.school-hero-text {
    color: rgba(255,255,255,.82);
    max-width: 62ch;
}

.school-panel { overflow: hidden; }

.school-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}

.school-editor-panel {
    position: sticky;
    top: 110px;
}

.school-editor-highlight {
    padding: 1rem 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff7df, #fff);
    border: 1px solid rgba(212,160,23,.22);
}

.school-spotlight-panel {
    background:
        radial-gradient(circle at top right, rgba(243,205,94,.18), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
}

.school-spotlight-badge {
    display: inline-flex;
    align-items: center;
    padding: .72rem 1rem;
    border-radius: 999px;
    background: rgba(11,31,77,.08);
    color: var(--navy);
    font-weight: 800;
}

.school-spotlight-stat {
    height: 100%;
    border-radius: 20px;
    padding: 1rem 1.1rem;
    background: #fff;
    border: 1px solid #e9eef7;
    box-shadow: 0 12px 24px rgba(15,23,42,.04);
}

.school-spotlight-stat .label {
    font-size: .78rem;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .35rem;
}

.school-spotlight-stat .value {
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--navy);
}

.report-card-topbar {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    margin-bottom: .55rem;
}

.report-card-sheet {
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,251,253,.99));
    padding-top: 1.1rem;
}

.report-card-formal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: .8rem;
    align-items: start;
    margin-bottom: .85rem;
}

.report-card-formal-title {
    border: 1px solid #d8dee9;
    border-radius: 16px;
    background: #fff;
    padding: .9rem 1rem;
}

.report-card-formal-title h1 {
    margin: .1rem 0 .2rem;
    font-size: 1.3rem;
    line-height: 1.15;
    color: var(--navy);
    font-weight: 900;
}

.report-card-formal-meta {
    margin-top: .3rem;
}

.report-card-position-card {
    border-radius: 16px;
    padding: .85rem .95rem;
    background: linear-gradient(180deg, #10315f, #0a2342);
    color: #fff;
    box-shadow: 0 12px 26px rgba(15,23,42,.1);
}

.report-card-position-label {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .68rem;
    color: rgba(255,255,255,.78);
    margin-bottom: .2rem;
    font-weight: 800;
}

.report-card-position-value {
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 900;
    margin-bottom: .22rem;
}

.report-card-position-meta {
    font-size: .76rem;
    color: rgba(255,255,255,.82);
}

.report-card-school-line {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .45rem;
    color: #667085;
    font-size: .7rem;
    font-weight: 700;
}

.report-card-school-line span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.report-card-school-line span:not(:last-child)::after {
    content: "•";
    color: #c0c9d8;
    margin-left: .2rem;
}

.report-card-bio-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px;
    gap: .8rem;
    border: 1px solid #d8dee9;
    border-radius: 16px;
    background: #fff;
    padding: .85rem;
    margin-bottom: .75rem;
}

.report-card-bio-main {
    min-width: 0;
}

.report-card-bio-head {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: flex-start;
    margin-bottom: .6rem;
}

.report-card-bio-photo-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.report-card-formal-photo {
    width: 100px;
    height: 112px;
    border-radius: 14px;
    border-width: 2px;
}

.report-card-bio-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .45rem;
}

.report-card-bio-grid-formal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem .9rem;
}

.report-card-bio-line {
    display: flex;
    justify-content: space-between;
    gap: .7rem;
    align-items: baseline;
    padding: .28rem 0;
    border-bottom: 1px solid #edf2f7;
}

.report-card-bio-line span {
    display: block;
    flex: 0 0 42%;
    font-size: .58rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #667085;
    font-weight: 800;
}

.report-card-bio-line strong {
    display: block;
    flex: 1 1 auto;
    text-align: right;
    font-size: .77rem;
    line-height: 1.25;
    color: var(--navy);
    font-weight: 800;
}

.report-card-bio-item {
    border: 1px solid #e4e7ec;
    border-radius: 12px;
    padding: .45rem .52rem;
    background: #fbfcfe;
}

.report-card-bio-item span {
    display: block;
    font-size: .58rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #667085;
    font-weight: 800;
    margin-bottom: .08rem;
}

.report-card-bio-item strong {
    display: block;
    font-size: .77rem;
    line-height: 1.25;
    color: var(--navy);
    font-weight: 800;
}

.report-card-formal-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .45rem;
    margin-bottom: .75rem;
    align-items: stretch;
}

.report-card-academic-card {
    margin-bottom: .75rem;
}

.report-card-formal-lower {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.report-card-formal-lower-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: .65rem;
}

.report-card-conduct-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-top: -.1rem;
    margin-bottom: .65rem;
}

.report-card-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.report-card-cluster + .report-card-cluster {
    margin-top: .35rem;
}

.report-card-progress-card-wide {
    grid-column: span 2;
}

.report-card-progress-card-qr .registration-qr-card {
    max-width: 230px;
}

.report-card-progress-card-qr .registration-qr-meta {
    text-align: center;
}

.report-card-progress-card-qr .detail-list {
    margin-top: .2rem;
}

.report-card-progress-card .card-body p {
    line-height: 1.45;
}

.report-card-remarks-card {
    margin-top: 0;
}

.report-card-remarks-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem .7rem;
}

.report-card-conduct-admin-row,
.report-card-admin-remarks-row {
    --bs-gutter-x: .8rem;
}

.report-card-student-details-columns {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.report-card-student-details-columns::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #dbe4ee;
    transform: translateX(-50%);
}

.report-card-student-details-column {
    gap: .45rem;
}

.report-card-student-details-column .detail-item {
    border-bottom: 1px solid #edf2f7;
    padding: .18rem 0 .45rem;
    gap: .8rem;
    align-items: flex-start;
}

.report-card-student-details-column .detail-label {
    flex: 0 0 48%;
}

.report-card-student-details-column .detail-value {
    flex: 1 1 auto;
}

.report-card-remark-block {
    border: 1px solid #e4e7ec;
    border-radius: 12px;
    background: #fbfcfe;
    padding: .55rem .62rem;
}

.report-card-remark-block-wide {
    grid-column: 1 / -1;
}

.report-card-remark-block .detail-label {
    margin-bottom: .18rem;
}

.report-card-remark-block .detail-value {
    font-size: .74rem;
    line-height: 1.45;
    color: #102a43;
}

.report-card-cluster {
    border-radius: 18px;
    border: 1px solid #e6edf7;
    background: linear-gradient(180deg, rgba(248,251,255,.95), rgba(255,255,255,.98));
    padding: .72rem;
    margin-bottom: .75rem;
}

.report-card-cluster-head {
    margin-bottom: .55rem;
}

.report-card-cluster-head h3 {
    font-size: .9rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1.2;
}

.report-card-cluster-head p {
    color: #667085;
    max-width: 760px;
    font-size: .76rem;
}

.report-card-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .6rem;
    margin-bottom: .45rem;
    align-items: stretch;
}

.report-card-admin-profile {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.report-card-student-media {
    display: flex;
    align-items: flex-start;
    gap: .72rem;
    border-radius: 16px;
    padding: .75rem .82rem;
    border: 1px solid #e6edf7;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
    min-height: 100%;
}

.report-card-admin-student-media {
    padding: .68rem .75rem;
}

.report-card-student-photo {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 14px;
    border: 3px solid rgba(11,31,77,.08);
    background: #eef2ff;
    flex: 0 0 auto;
}

.report-card-student-photo-placeholder {
    display: grid;
    place-items: center;
    color: var(--navy);
    font-size: 1.45rem;
}

.report-card-student-name {
    font-size: 1.02rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: .12rem;
}

.report-card-student-subtitle {
    color: #667085;
    margin-bottom: .32rem;
    font-size: .75rem;
}

.report-card-student-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.report-card-identity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
    margin-top: .52rem;
}

.report-card-admin-identity-grid {
    margin-top: .6rem;
    gap: .42rem;
}

.report-card-identity-item {
    border-radius: 12px;
    padding: .4rem .5rem;
    background: linear-gradient(180deg, #f8fbff, #ffffff);
    border: 1px solid #e6edf7;
}

.report-card-identity-item .identity-label {
    display: block;
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #667085;
    margin-bottom: .08rem;
}

.report-card-identity-item .identity-value {
    display: block;
    color: var(--navy);
    font-weight: 800;
    line-height: 1.2;
    font-size: .76rem;
}

.report-card-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    align-content: start;
}

.report-card-summary-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: .18rem;
    border-radius: 13px;
    padding: .55rem .62rem;
    border: 1px solid #d8dee9;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
    min-height: 100%;
}

.report-card-summary-card .label {
    font-size: .56rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #667085;
    font-weight: 800;
    margin-bottom: .1rem;
}

.report-card-summary-card .value {
    font-size: .92rem;
    line-height: 1.05;
    color: var(--navy);
    font-weight: 900;
    margin-bottom: .08rem;
}

.report-card-summary-card .meta {
    font-size: .67rem;
    color: #667085;
    line-height: 1.3;
}

@media (max-width: 1200px) {
    .report-card-formal-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .report-card-formal-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.housing-stats-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.housing-stats-grid .report-card-summary-card {
    min-height: 100%;
}

.housing-toolbar {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e7edf6;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.housing-toolbar-copy h6 {
    color: var(--navy);
    font-weight: 800;
}

.housing-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
}

.housing-alert-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.housing-alert-card {
    border-radius: 20px;
    border: 1px solid #d9e1ef;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 1rem;
    display: grid;
    gap: .9rem;
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
}

.housing-alert-card--warning {
    background: linear-gradient(180deg, #fffdf7 0%, #fff7ed 100%);
    border-color: #f7d9a5;
}

.housing-alert-card--danger {
    background: linear-gradient(180deg, #fff8f8 0%, #fff1f2 100%);
    border-color: #f8c4cc;
}

.housing-alert-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
}

.housing-alert-title {
    font-size: .95rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--navy);
}

.housing-alert-copy {
    margin-top: .22rem;
    font-size: .78rem;
    color: #667085;
}

.housing-alert-list {
    display: grid;
    gap: .55rem;
}

.housing-alert-item {
    padding: .72rem .8rem;
    border-radius: 14px;
    border: 1px solid rgba(214,223,236,.9);
    background: rgba(255,255,255,.88);
}

.housing-alert-item strong,
.housing-movement-cell strong {
    display: block;
    color: var(--navy);
    font-size: .84rem;
    line-height: 1.2;
}

.housing-alert-item span,
.housing-movement-cell span {
    display: block;
    margin-top: .16rem;
    color: #667085;
    font-size: .74rem;
}

.housing-house-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.housing-house-card {
    border-radius: 20px;
    border: 1px solid #d9e1ef;
    background:
        radial-gradient(circle at top right, rgba(212,160,23,.12), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow: 0 14px 28px rgba(15,23,42,.06);
    padding: 1rem;
    display: grid;
    gap: .9rem;
}

.housing-house-card-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.housing-house-title {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--navy);
}

.housing-house-subtitle {
    margin-top: .25rem;
    font-size: .8rem;
    color: #667085;
}

.housing-house-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
}

.housing-house-metrics div,
.housing-house-meta {
    border-radius: 14px;
    border: 1px solid #e7edf6;
    background: rgba(255,255,255,.85);
    padding: .6rem .7rem;
}

.housing-house-metrics span,
.housing-house-meta span {
    display: block;
    font-size: .67rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #667085;
    font-weight: 800;
    margin-bottom: .18rem;
}

.housing-house-metrics strong,
.housing-house-meta strong {
    display: block;
    color: var(--navy);
    font-size: .95rem;
    line-height: 1.15;
}

.housing-movement-cell {
    min-width: 150px;
}

.housing-stat-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: .34rem .62rem;
    border-radius: 999px;
    border: 1px solid #d8dee9;
    background: #fff;
    color: var(--navy);
    font-weight: 800;
    font-size: .82rem;
    line-height: 1;
}

.housing-stat-pill.success {
    background: #eefbf2;
    border-color: #b7ebc2;
    color: #166534;
}

.housing-stat-pill.info {
    background: #eef6ff;
    border-color: #cfe0fb;
    color: #1d4ed8;
}

.housing-stat-pill.navy {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: #1e3a8a;
}

.housing-stat-pill.neutral {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #334155;
}

.housing-stat-pill.gold {
    background: #fff8e8;
    border-color: #f6d68a;
    color: #9a6700;
}

.housing-stat-pill.warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}

.housing-stat-pill.danger {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #be123c;
}

@media (max-width: 1399.98px) {
    .housing-stats-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .housing-alert-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .housing-house-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .housing-toolbar,
    .housing-alert-head {
        flex-direction: column;
        align-items: stretch;
    }

    .housing-stats-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .housing-alert-grid,
    .housing-house-grid,
    .housing-house-metrics {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .housing-house-card-top {
        flex-direction: column;
    }
}

.report-card-section-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .55rem;
    padding: .6rem .72rem;
    border-radius: 15px;
    border: 1px solid #e6edf7;
    background: linear-gradient(135deg, #f9fbff, #ffffff);
    margin-bottom: .6rem;
}

.report-card-section-intro h3 {
    font-size: .86rem;
    font-weight: 900;
    color: var(--navy);
}

.report-card-section-intro p {
    color: #667085;
    max-width: 760px;
    font-size: .74rem;
}

.report-card-note-panel {
    border-radius: 12px;
    padding: .65rem .75rem;
    border: 1px solid rgba(11,31,77,.08);
    background: linear-gradient(135deg, #f8fbff, #fffef8);
    color: #344054;
    line-height: 1.45;
    font-size: .76rem;
}

.report-card-table th,
.report-card-table td {
    vertical-align: middle;
}

.report-card-table th {
    font-size: .67rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #667085;
    font-weight: 800;
}

.report-card-subject-table {
    table-layout: fixed;
    width: 100%;
}

.report-card-subject-table th {
    padding: .48rem .42rem;
    line-height: 1.22;
    min-height: 48px;
    white-space: normal;
}

.report-card-subject-table td {
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.report-card-subject-table .report-col-subject { width: 13%; }
.report-card-subject-table .report-col-components { width: 18%; }
.report-card-subject-table .report-col-score { width: 8%; }
.report-card-subject-table .report-col-grade { width: 7%; }
.report-card-subject-table .report-col-comparison { width: 14%; }
.report-card-subject-table .report-col-trend { width: 10%; }
.report-card-subject-table .report-col-position { width: 10%; }
.report-card-subject-table .report-col-remark { width: 8%; }
.report-card-subject-table .report-col-teacher { width: 12%; }

.report-card-teacher-cell {
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

.report-card-subject-table .report-col-components,
.report-card-subject-table .report-col-remark {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.report-card-subject-table-basic {
    table-layout: auto;
}

.report-card-subject-table-basic th,
.report-card-subject-table-basic td {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.report-card-subject-table-basic .report-col-subject {
    width: 22%;
}

.report-card-subject-table-basic .report-col-components {
    width: 30%;
}

.report-card-subject-table-basic .report-col-score {
    width: 8%;
}

.report-card-subject-table-basic .report-col-grade {
    width: 8%;
}

.report-card-subject-table-basic .report-col-remark {
    width: 12%;
}

.report-card-subject-table-basic .report-col-teacher {
    width: 20%;
}

.report-card-subject-table-portal {
    table-layout: auto;
}

.report-card-subject-table-portal th,
.report-card-subject-table-portal td {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.report-card-subject-table-portal .report-col-subject {
    width: 15%;
    min-width: 128px;
}

.report-card-subject-table-portal .report-col-components {
    width: 20%;
    min-width: 168px;
}

.report-card-subject-table-portal .report-col-score {
    width: 7%;
    min-width: 72px;
    white-space: nowrap;
}

.report-card-subject-table-portal .report-col-grade {
    width: 6%;
    min-width: 64px;
    white-space: nowrap;
}

.report-card-subject-table-portal .report-col-comparison {
    width: 13%;
    min-width: 120px;
}

.report-card-subject-table-portal .report-col-trend {
    width: 9%;
    min-width: 94px;
}

.report-card-subject-table-portal .report-col-position {
    width: 8%;
    min-width: 88px;
    white-space: nowrap;
}

.report-card-subject-table-portal .report-col-remark {
    width: 10%;
    min-width: 96px;
}

.report-card-subject-table-portal .report-col-teacher {
    width: 12%;
    min-width: 128px;
}

.report-card-subject-table-portal .report-col-score,
.report-card-subject-table-portal .report-col-grade,
.report-card-subject-table-portal .report-col-position {
    text-align: center;
}

.report-card-subject-table-portal .report-col-components,
.report-card-subject-table-portal .report-col-comparison,
.report-card-subject-table-portal .report-col-trend,
.report-card-subject-table-portal .report-col-remark,
.report-card-subject-table-portal .report-col-teacher {
    vertical-align: top;
}

.report-card-teacher-cell span {
    display: inline-block;
}

.result-summary-slip-page {
    max-width: 1120px;
    margin: 0 auto;
}

.result-summary-slip-sheet {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    box-shadow: 0 24px 48px rgba(15,23,42,.08);
    padding: 1rem 1rem .9rem;
}

.result-summary-slip-sheet > * {
    position: relative;
    z-index: 1;
}

.result-summary-slip-sheet.has-watermark::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: var(--result-summary-watermark);
    background-repeat: no-repeat;
    background-position: center;
    background-size: min(42%, 240px);
    opacity: .07;
}

.result-summary-slip-sheet.has-watermark .table-card,
.result-summary-slip-sheet.has-watermark .result-summary-slip-student,
.result-summary-slip-sheet.has-watermark .result-summary-slip-stat {
    background: rgba(255,255,255,.88);
}

.result-summary-slip-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: .7rem;
}

.result-summary-slip-header h2 {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 900;
    color: #0f172a;
}

.result-summary-slip-meta,
.result-summary-slip-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .65rem;
    align-items: center;
}

.result-summary-slip-meta {
    margin-top: .2rem;
    color: #64748b;
    font-size: .8rem;
}

.result-summary-slip-sheet .result-summary-slip-student {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: 1rem;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    padding: .75rem .85rem;
    margin-bottom: .7rem;
}

.result-summary-slip-sheet .result-summary-slip-student-main {
    min-width: 0;
}

.result-summary-slip-sheet .result-summary-slip-student-name {
    font-size: 1.02rem;
    font-weight: 900;
    color: #0f172a;
}

.result-summary-slip-sheet .result-summary-slip-student-subtitle {
    color: #475569;
    margin-top: .1rem;
    margin-bottom: .4rem;
    font-size: .9rem;
}

.result-summary-slip-sheet .result-summary-slip-student-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .42rem .7rem;
}

.result-summary-slip-sheet .result-summary-slip-student-grid span,
.result-summary-slip-sheet .result-summary-slip-stat span,
.result-summary-slip-sheet .result-summary-slip-remarks span {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    margin-bottom: .12rem;
}

.result-summary-slip-sheet .result-summary-slip-student-grid strong,
.result-summary-slip-sheet .result-summary-slip-stat strong,
.result-summary-slip-sheet .result-summary-slip-remarks strong {
    color: #0f172a;
    font-weight: 800;
}

.result-summary-slip-sheet .result-summary-slip-photo {
    display: block;
    width: 108px;
    min-width: 108px;
    max-width: 108px;
    height: 108px;
    object-fit: cover;
    justify-self: end;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .10);
}

.result-summary-slip-sheet .result-summary-slip-photo-placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #eef3f8, #f8fafc);
    color: #64748b;
    font-size: 2rem;
}

.result-summary-slip-sheet .result-summary-slip-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin-bottom: .7rem;
}

.result-summary-slip-sheet .result-summary-slip-stat {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    padding: .55rem .6rem;
}

.result-summary-slip-sheet .result-summary-slip-stat strong {
    font-size: .92rem;
}

.result-summary-slip-table-card .card-header {
    font-size: .76rem;
}

.result-summary-slip-table th,
.result-summary-slip-table td {
    vertical-align: middle;
}

.result-summary-slip-table th {
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    padding: .34rem .4rem;
}

.result-summary-slip-table td {
    font-size: .74rem;
    padding: .34rem .4rem;
}

.result-summary-slip-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 138px;
    gap: 1rem;
    align-items: end;
    margin-top: .7rem;
}

.result-summary-slip-remarks {
    display: grid;
    gap: .5rem;
}

.result-summary-slip-qr {
    text-align: center;
}

.result-summary-slip-qr-label {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    margin-bottom: .35rem;
}

.result-summary-slip-qr-image {
    width: 120px;
    height: 120px;
    object-fit: contain;
}

.report-card-table td {
    font-size: .78rem;
}

.report-card-page .table-card {
    border-radius: 14px;
    border: 1px solid #d8dee9;
    box-shadow: none;
}

.report-card-page .table-card .card-header {
    padding: .62rem .78rem;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #102a43;
    background: #f8fafc;
    border-bottom: 1px solid #d8dee9;
}

.report-card-page .table-card .card-body {
    padding: .68rem .78rem;
}

.report-card-page .detail-list {
    gap: .28rem;
}

.report-card-page .detail-item {
    padding: .28rem 0;
}

.report-card-page .detail-label {
    font-size: .58rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.report-card-page .detail-value {
    font-size: .72rem;
    line-height: 1.35;
}

.report-card-page .soft-badge {
    font-size: .62rem;
    padding: .25rem .45rem;
}

.report-card-print-header {
    display: none;
}

.result-publish-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
}

.result-publish-actions .form-select,
.result-publish-actions .form-control {
    min-width: 220px;
}

.result-comment-form {
    padding: .35rem 0;
}

.school-mini-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.25rem;
    color: var(--muted);
    font-size: .95rem;
}

.school-mini-summary strong {
    color: var(--navy);
    font-weight: 900;
    margin-right: .2rem;
}

.school-dashboard-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.school-dashboard-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.15rem 1.1rem;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #e8edf6;
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
}

.school-dashboard-card.highlight {
    display: block;
    background:
        radial-gradient(circle at top right, rgba(243,205,94,.16), transparent 30%),
        linear-gradient(135deg, var(--navy), var(--gold));
    border-color: rgba(255,255,255,.08);
    color: #fff;
}

.school-dashboard-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: rgba(11,31,77,.08);
    color: var(--navy);
    font-size: 1.05rem;
}

.school-dashboard-icon.alt {
    background: rgba(212,160,23,.14);
    color: #9a7004;
}

.school-dashboard-icon.success {
    background: rgba(22,163,74,.12);
    color: #166534;
}

.school-dashboard-label {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #718198;
    margin-bottom: .25rem;
    font-weight: 800;
}

.school-dashboard-card.highlight .school-dashboard-label,
.school-dashboard-card.highlight .school-dashboard-meta {
    color: rgba(255,255,255,.74);
}

.school-dashboard-value {
    font-size: 1.45rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1.05;
    margin-bottom: .22rem;
}

.school-dashboard-card.highlight .school-dashboard-value {
    color: #fff;
}

.school-dashboard-meta {
    color: #5d6b80;
    font-size: .9rem;
    line-height: 1.4;
}

.school-dashboard-highlight {
    font-size: 1.2rem;
    font-weight: 900;
    margin-bottom: .35rem;
}

.school-table tbody td {
    padding: 1.25rem 1rem;
    vertical-align: top;
}

.school-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(90px,1fr));
    gap: .75rem;
}

.school-metric-label {
    font-size: .76rem;
    color: #667085;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.school-metric-value {
    font-weight: 900;
    font-size: 1.1rem;
    color: var(--navy);
}

.school-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
    max-width: 260px;
    margin-left: auto;
}

.school-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.school-directory-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-radius: 24px;
    padding: 1.2rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96)),
        #fff;
    border: 1px solid #e8edf6;
    box-shadow: 0 14px 30px rgba(15,23,42,.05);
}

.school-directory-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.school-directory-head h4 {
    margin: .28rem 0 0;
    font-size: 1.18rem;
    font-weight: 900;
    color: var(--navy);
}

.school-directory-code {
    display: inline-flex;
    align-items: center;
    padding: .36rem .7rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #254f93;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.school-rate-pill {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: .5rem .8rem;
    border-radius: 999px;
    background: rgba(212,160,23,.14);
    color: #946e05;
    font-weight: 800;
    font-size: .82rem;
}

.school-directory-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.school-directory-meta span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: #f8fafc;
    color: #415269;
    font-size: .82rem;
    font-weight: 700;
}

.school-directory-contact {
    display: grid;
    gap: .55rem;
    color: #4d5b70;
    font-size: .92rem;
}

.school-directory-contact div {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
}

.school-directory-contact i {
    width: 16px;
    color: #6f84a5;
    margin-top: .15rem;
}

.school-progress-stack {
    display: grid;
    gap: .75rem;
}

.school-progress-label {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .38rem;
    color: #53657d;
    font-size: .82rem;
    font-weight: 700;
}

.school-progress-label strong {
    color: var(--navy);
    font-weight: 900;
}

.school-progress-bar {
    height: 10px;
    border-radius: 999px;
    background: #e9eef7;
    overflow: hidden;
}

.school-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #d4a017, #f3cd5e);
}

.school-progress-bar.alt span {
    background: linear-gradient(90deg, #11346b, #1f68b0);
}

.school-directory-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.school-directory-stats div {
    padding: .9rem .85rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #edf1f7;
    text-align: center;
}

.school-directory-stats span {
    display: block;
    color: #718198;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .3rem;
}

.school-directory-stats strong {
    color: var(--navy);
    font-size: 1.05rem;
    font-weight: 900;
}

.school-revenue-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #0e2448, #163d70);
    color: rgba(255,255,255,.84);
    font-size: .9rem;
}

.school-revenue-strip strong {
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
}

.school-actions-card {
    justify-content: flex-start;
    margin-left: 0;
    max-width: none;
}

.school-interaction-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.school-inline-tools {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.school-inline-search {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: min(360px, 100%);
    padding: .78rem .95rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e7edf6;
}

.school-inline-search i {
    color: #8091a8;
}

.school-inline-search input {
    width: 100%;
    border: 0;
    background: transparent;
    outline: 0;
    color: var(--text);
}

.school-board-status {
    padding: .75rem .95rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #37517f;
    font-size: .9rem;
    font-weight: 700;
}

.school-board-status span {
    color: var(--navy);
    font-weight: 900;
    margin-right: .25rem;
}

.school-view-toggle {
    display: inline-flex;
    padding: .3rem;
    gap: .3rem;
    border-radius: 999px;
    background: #edf2fa;
}

.school-view-toggle button {
    border: 0;
    background: transparent;
    color: #53657d;
    font-weight: 700;
    padding: .62rem .9rem;
    border-radius: 999px;
    transition: .2s ease;
}

.school-view-toggle button.active {
    background: #fff;
    color: var(--navy);
    box-shadow: 0 6px 16px rgba(15,23,42,.08);
}

.school-card-grid[data-view="compact"] {
    grid-template-columns: 1fr;
}

.school-card-grid[data-view="compact"] .school-directory-card {
    gap: .8rem;
}

.school-card-grid[data-view="compact"] .school-directory-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.school-card-grid[data-view="compact"] .school-directory-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-hero-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 1.5rem;
    align-items: stretch;
}

.public-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.public-sidebar {
    position: sticky;
    top: 22px;
    display: grid;
    gap: 1rem;
}

.public-sidebar-card {
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
    padding: 1.1rem 1.15rem;
}

.public-sidebar-card-soft {
    background: #fffdf6;
}

.public-sidebar-title {
    margin: 0 0 .4rem;
    color: var(--navy);
    font-weight: 900;
}

.public-sidebar-copy {
    margin: 0;
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.5;
}

.public-sidebar-nav {
    display: grid;
    gap: .7rem;
}

.public-sidebar-link {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .95rem 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e5e7eb;
    color: var(--navy);
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(15,23,42,.04);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.public-sidebar-link:hover {
    transform: translateY(-2px);
    border-color: rgba(212,160,23,.28);
    box-shadow: 0 12px 26px rgba(15,23,42,.08);
    color: var(--navy);
}

.public-sidebar-link i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    background: #fff8e8;
    color: var(--gold);
    flex: 0 0 auto;
}

.public-sidebar-metric {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(15,23,42,.08);
    color: var(--muted);
    font-size: .92rem;
}

.public-sidebar-metric:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.public-sidebar-metric strong {
    color: var(--navy);
    font-size: .95rem;
    text-align: right;
}

.public-main {
    min-width: 0;
}

.portal-card {
    border-radius: 24px;
    border: 0;
    background: #fff;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
    height: 100%;
}

.portal-card .card-body { padding: 1.4rem; }

.public-shell .table-card {
    background: #fff;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
}

.public-shell .table-card .card-header {
    background: var(--navy);
    color: #fff;
    border-bottom: 1px solid rgba(11,31,77,.10);
}

.portal-tile {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    padding: 1rem;
    height: 100%;
    background: #fffdf6;
    transition: transform .2s ease, box-shadow .2s ease;
}

.portal-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(15,23,42,.08);
}

.portal-school-logo-wrap {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: .35rem;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
    overflow: hidden;
}

.portal-school-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.portal-school-logo-fallback {
    background: #fff8e8;
    border-color: rgba(212,160,23,.22);
    color: var(--navy);
    font-weight: 900;
    font-size: .95rem;
    letter-spacing: .04em;
}

.public-shell .portal-tile .btn-navy {
    background: var(--gold);
    border-color: var(--gold);
    color: #fff;
}

.public-shell .portal-tile .btn-navy:hover {
    background: var(--gold-2);
    border-color: var(--gold-2);
    color: #fff;
}

.login-wrap {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #f5f7fb;
}

.login-card {
    width: 100%;
    max-width: 460px;
    background: white;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.login-header {
    background: var(--navy);
    color: white;
    padding: 28px;
}

.student-login-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    text-align: center;
}

.student-login-brand-logo-wrap {
    width: 88px;
    height: 88px;
    border-radius: 24px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.student-login-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.student-login-brand-name {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.72);
}

.public-shell .hero-panel,
.public-shell .hero-gradient {
    background: var(--navy);
    color: #fff;
}

.public-shell .hero-panel::before,
.public-shell .hero-panel::after,
.public-shell .hero-gradient::before,
.public-shell .hero-gradient::after {
    display: none;
}

.school-portal-hero {
    background: #fff !important;
    color: var(--text) !important;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
}

.school-portal-hero .lead,
.school-portal-hero p,
.school-portal-hero .text-white-50 {
    color: var(--muted) !important;
}

.school-portal-hero h1 {
    color: var(--navy);
}

.school-portal-contact-card {
    background: #fff8e8 !important;
    border: 1px solid rgba(212,160,23,.18);
    box-shadow: none;
}

.school-portal-contact-card .label {
    color: #8a6a08;
}

.school-portal-contact-card .value {
    color: var(--navy);
}

.school-portal-hero .btn-outline-light {
    color: var(--navy);
    border-color: #d1d5db;
}

.school-portal-hero .btn-outline-light:hover {
    background: #f8fafc;
    color: var(--navy);
    border-color: #cbd5e1;
}

.school-portal-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.9fr);
    gap: 1.4rem;
    align-items: stretch;
    margin-bottom: 1.5rem;
}

.school-portal-shell {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--school-secondary) 14%, transparent), transparent 28%),
        radial-gradient(circle at top right, color-mix(in srgb, var(--school-primary) 12%, transparent), transparent 32%),
        linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%);
}

.school-portal-hero-card,
.school-portal-side-card,
.school-portal-process-board,
.school-portal-support-card {
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(212,160,23,.12), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    box-shadow: 0 18px 40px rgba(15,23,42,.07);
}

.school-portal-hero-card {
    padding: 1.6rem;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--school-secondary) 26%, white), transparent 28%),
        linear-gradient(145deg, color-mix(in srgb, var(--school-primary) 92%, #08101f) 0%, var(--school-primary-dark) 64%, #09162b 100%);
    color: #fff;
    border-color: color-mix(in srgb, var(--school-primary) 36%, #ffffff);
    box-shadow: 0 24px 54px color-mix(in srgb, var(--school-primary) 22%, transparent);
}

.school-portal-brand-row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.35rem;
}

.school-portal-brand-mark {
    width: 96px;
    height: 96px;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), color-mix(in srgb, var(--school-secondary) 28%, white));
    border: 1px solid rgba(255,255,255,.24);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow:
        0 14px 28px rgba(15,23,42,.18),
        inset 0 1px 0 rgba(255,255,255,.65);
}

.school-portal-brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.school-portal-brand-mark span {
    font-size: 2rem;
    font-weight: 800;
    color: var(--school-primary);
    letter-spacing: .08em;
}

.school-portal-brand-copy h1 {
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    margin: 0 0 .45rem;
    color: #fff;
}

.school-portal-brand-copy p {
    margin: 0;
    max-width: 60ch;
    color: rgba(255,255,255,.78);
    font-size: 1.02rem;
}

.school-portal-identity-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

.school-portal-identity-chips span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .52rem .9rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.92);
    font-size: .88rem;
    backdrop-filter: blur(10px);
}

.school-portal-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.school-portal-meta-card {
    padding: 1rem 1.05rem;
    border-radius: 22px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
}

.school-portal-meta-card .label,
.school-portal-side-panel .label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.68);
    margin-bottom: .45rem;
}

.school-portal-meta-card strong,
.school-portal-side-panel strong {
    display: block;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.25;
}

.school-portal-meta-card small,
.school-portal-side-panel small {
    display: block;
    margin-top: .3rem;
    color: rgba(255,255,255,.72);
}

.school-portal-alert {
    margin-bottom: 1.2rem;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.18);
    background: linear-gradient(180deg, rgba(255,244,214,.96), rgba(255,250,235,.98));
    color: #7c4a02;
}

.school-portal-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.school-portal-hero-actions .btn-outline-secondary {
    background: rgba(255,255,255,.09);
    border-color: rgba(255,255,255,.16);
    color: #fff;
}

.school-portal-hero-actions .btn-outline-secondary:hover {
    background: rgba(255,255,255,.16);
    border-color: rgba(255,255,255,.26);
    color: #fff;
}

.school-portal-side-card {
    padding: 1.45rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--school-secondary) 18%, transparent), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,250,253,.98));
}

.school-portal-side-card h3 {
    margin: -.15rem 0 0;
    color: var(--school-primary);
    font-size: 1.45rem;
}

.school-portal-checklist {
    margin: 0;
    padding-left: 1.1rem;
    color: #475569;
}

.school-portal-checklist li + li {
    margin-top: .6rem;
}

.school-portal-side-panel {
    padding: 1rem 1.05rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #fffdf6, #fff8e8);
    border: 1px solid color-mix(in srgb, var(--school-secondary) 26%, #ffffff);
}

.school-portal-side-panel.soft {
    background: #f8fafc;
    border-color: rgba(203,213,225,.82);
}

.school-portal-side-panel .label,
.school-portal-side-panel strong,
.school-portal-side-panel small {
    color: inherit;
}

.school-portal-side-panel .label {
    color: #8a6a08;
}

.school-portal-side-panel strong {
    color: var(--school-primary);
}

.school-portal-side-panel.soft .label {
    color: #64748b;
}

.school-portal-process-board {
    padding: 1.45rem;
    margin-bottom: 1.4rem;
    background:
        radial-gradient(circle at bottom left, color-mix(in srgb, var(--school-secondary) 14%, transparent), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,250,252,.98));
}

.school-portal-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.school-portal-section-heading h3 {
    margin: 0;
    color: var(--school-primary);
}

.school-portal-section-heading p {
    margin: 0;
    color: #64748b;
    max-width: 34ch;
}

.school-portal-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.school-portal-support-card {
    padding: 1.3rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.98));
}

.school-portal-support-card h4 {
    margin: .2rem 0 .55rem;
    color: var(--school-primary);
    font-size: 1.08rem;
}

.school-portal-support-card p {
    margin: 0;
    color: #5b6675;
}

.school-portal-support-card.accent {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--school-primary) 12%, transparent), transparent 34%),
        linear-gradient(180deg, rgba(241,247,255,.98), rgba(255,255,255,.98));
}

.school-portal-orbit {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    opacity: .42;
}

.school-portal-orbit-one {
    width: 240px;
    height: 240px;
    top: -92px;
    right: -64px;
    background: radial-gradient(circle, color-mix(in srgb, var(--school-secondary) 54%, white), transparent 68%);
}

.school-portal-orbit-two {
    width: 180px;
    height: 180px;
    bottom: -72px;
    left: -36px;
    background: radial-gradient(circle, color-mix(in srgb, var(--school-secondary-light) 42%, white), transparent 72%);
}

.login-body {
    padding: 28px;
}

.login-recovery-card {
    margin-bottom: 1.25rem;
    padding: 1rem 1rem 1.1rem;
    border: 1px solid rgba(212, 160, 23, .28);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255,248,232,.95), rgba(255,255,255,.98)),
        #fff;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .05);
}

.login-recovery-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .55rem;
}

.login-recovery-head h3 {
    margin: .15rem 0 0;
    font-size: 1.05rem;
    color: var(--navy);
}

.login-recovery-badge {
    flex: 0 0 auto;
    padding: .38rem .7rem;
    border-radius: 999px;
    background: rgba(212, 160, 23, .14);
    color: #8a6a08;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.login-recovery-summary {
    color: var(--muted);
    font-size: .92rem;
}

.login-recovery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .9rem;
}

.login-recovery-info {
    padding: .8rem .9rem;
    border-radius: 14px;
    border: 1px solid #ebe5d2;
    background: rgba(255,255,255,.85);
}

.login-recovery-info .label,
.login-recovery-support .label {
    display: block;
    margin-bottom: .22rem;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.login-recovery-steps {
    display: grid;
    gap: .65rem;
    margin-top: .9rem;
}

.login-recovery-step {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.login-recovery-step span {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(11, 31, 77, .08);
    color: var(--navy);
    font-weight: 800;
}

.login-recovery-step div {
    padding-top: .25rem;
    color: var(--text);
    font-size: .92rem;
    line-height: 1.48;
}

.login-recovery-support,
.login-recovery-footer,
.login-help-strip {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid #ebe5d2;
}

.login-recovery-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.login-recovery-footer {
    color: var(--muted);
    font-size: .9rem;
}

.login-help-strip {
    color: var(--muted);
    font-size: .9rem;
}

.login-help-strip ul {
    padding-left: 1.1rem;
}

.login-help-strip li + li {
    margin-top: .3rem;
}

.print-page {
    background: #fff;
    max-width: 900px;
    margin: 20px auto;
    padding: 35px;
    border: 1px solid #ddd;
}

.qrbox {
    width: 120px;
    height: 120px;
    border: 2px dashed #999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    text-align: center;
    word-break: break-all;
}

.footer-bar {
    padding: 12px 18px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.portal-access-btn {
    border: 0 !important;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
    font-weight: 850;
}

.portal-access-btn:hover,
.portal-access-btn:focus {
    transform: translateY(-1px);
}

.portal-btn-student {
    background: #991b1b !important;
    color: #fff !important;
}

.portal-btn-student:hover,
.portal-btn-student:focus {
    background: #7f1d1d !important;
    color: #fff !important;
}

.portal-btn-parent {
    background: #d4a017 !important;
    color: #102033 !important;
}

.portal-btn-parent:hover,
.portal-btn-parent:focus {
    background: #f3cd5e !important;
    color: #102033 !important;
}

.portal-btn-staff {
    background: #0f6b4f !important;
    color: #fff !important;
}

.portal-btn-staff:hover,
.portal-btn-staff:focus {
    background: #0b513d !important;
    color: #fff !important;
}

.portal-route-student {
    border-left: 5px solid #991b1b !important;
}

.portal-route-parent {
    border-left: 5px solid #d4a017 !important;
}

.portal-route-staff {
    border-left: 5px solid #0f6b4f !important;
}

.portal-route-student .school-route-icon,
.portal-route-student .official-route-icon {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.portal-route-parent .school-route-icon,
.portal-route-parent .official-route-icon {
    background: #fff7d6 !important;
    color: #9a6700 !important;
}

.portal-route-staff .school-route-icon,
.portal-route-staff .official-route-icon {
    background: #dcfce7 !important;
    color: #0f6b4f !important;
}

.app-shell.sidebar-collapsed .sidebar {
    width: 92px;
    min-width: 92px;
    padding: 20px 10px;
}

body.staff-app-shell-body .app-shell.sidebar-collapsed {
    --staff-sidebar-width: 92px;
}

.app-shell.sidebar-collapsed .brand-block {
    justify-content: center;
    padding-bottom: 18px;
}

.app-shell.sidebar-collapsed .sidebar-brand-copy,
.app-shell.sidebar-collapsed .sidebar-link span,
.app-shell.sidebar-collapsed .sidebar-footer-info {
    display: none !important;
}

.app-shell.sidebar-collapsed .sidebar-link {
    justify-content: center;
    padding: 11px 0;
    border-left-width: 0;
}

.app-shell.sidebar-collapsed .sidebar-link i {
    margin: 0 !important;
    font-size: 1rem;
}

.app-shell.sidebar-collapsed .brand-logo {
    margin: 0 auto;
}

.icon-badge {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fff8e8, #fffdf6);
    color: var(--navy);
    font-size: 1.15rem;
    box-shadow: inset 0 0 0 1px rgba(212,160,23,.10);
}

.icon-badge.gold {
    background: linear-gradient(135deg, rgba(212,160,23,.16), rgba(243,205,94,.26));
    color: #9a6e00;
}

.title-row {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.title-row-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.stat-compact {
    border-radius: 18px;
    background: linear-gradient(135deg, #fff, #f9fbff);
    border: 1px solid #edf2f7;
    padding: 1rem;
    height: 100%;
}

.stat-compact-label {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    font-weight: 800;
}

.stat-compact-value {
    font-size: 1.7rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
    margin-top: .45rem;
}

.surface-card {
    border-radius: 22px;
    background: linear-gradient(135deg, #fff, #fbfdff);
    border: 1px solid #edf2f7;
    padding: 1.15rem;
}

.action-tile {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #f8fbff);
    padding: 1rem;
    height: 100%;
}

.action-tile h6 {
    font-weight: 800;
    color: var(--navy);
}

.action-tile p {
    color: var(--muted);
    font-size: .9rem;
    margin-bottom: .85rem;
}

.form-section-card {
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 1.15rem;
    background: linear-gradient(135deg, #fff, #fbfdff);
}

.form-section-header {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1rem;
}

.form-section-header h5 {
    margin: 0;
    font-weight: 800;
}

.form-section-header p {
    margin: .2rem 0 0;
    color: var(--muted);
    font-size: .9rem;
}

.registration-hero {
    margin-bottom: 1.25rem;
}

.registration-insight-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.registration-insight-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    padding: 1rem 1.05rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.registration-insight-card strong {
    font-size: 1rem;
    color: var(--text);
}

.registration-insight-card span {
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.45;
}

.registration-helper-note {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid #e4eefc;
    color: #39506c;
    padding: .8rem .9rem;
    margin-bottom: 1rem;
    font-size: .9rem;
    line-height: 1.5;
}

.registration-form-panel {
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
    padding: 1.15rem;
}

.official-admission-summary {
    background: #f8fafc;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    margin-bottom: 1.15rem;
    padding: 1rem;
}

.official-admission-summary-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: .85rem;
}

.official-admission-summary-head h5 {
    color: #0b1f4d;
    font-size: 1rem;
    font-weight: 850;
    margin: .15rem 0 0;
}

.official-admission-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.official-admission-field {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-height: 70px;
    padding: .75rem;
}

.official-admission-field span,
.registration-form-panel .form-label {
    color: #64748b;
    display: block;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: 0;
    margin-bottom: .35rem;
    text-transform: uppercase;
}

.official-admission-field strong {
    color: #0f172a;
    display: block;
    font-size: .95rem;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.registration-form-panel .form-control,
.registration-form-panel .form-select {
    border-color: #cbd5e1;
    border-radius: 8px;
    color: #0f172a;
    min-height: 44px;
}

.registration-form-panel textarea.form-control {
    min-height: 72px;
}

.registration-form-panel .form-control:focus,
.registration-form-panel .form-select:focus {
    border-color: #0b1f4d;
    box-shadow: 0 0 0 .18rem rgba(11, 31, 77, .12);
}

.registration-form-panel .form-control[readonly] {
    background: #eef2f7;
    color: #0b1f4d;
    font-weight: 750;
}

.registration-photo-control {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: 72px minmax(0, 1fr);
}

.registration-photo-control img,
.registration-photo-control span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    height: 72px;
    justify-content: center;
    object-fit: cover;
    overflow: hidden;
    width: 72px;
}

.registration-submit-bar {
    align-items: center;
    background: #0b1f4d;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .9rem 1rem;
}

.registration-submit-bar strong,
.registration-submit-bar span {
    display: block;
}

.registration-submit-bar span {
    color: rgba(255, 255, 255, .76);
    font-size: .9rem;
    line-height: 1.35;
}

.required-dot {
    color: #dc2626;
}

.registration-page-shell {
    background: #071427;
}

.registration-form-title-row {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    padding: .9rem;
}

.registration-school-logo {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
    color: #0b1f4d;
    display: flex;
    flex: 0 0 82px;
    font-size: 1.25rem;
    font-weight: 900;
    height: 82px;
    justify-content: center;
    overflow: hidden;
    padding: .45rem;
    width: 82px;
}

.registration-school-logo img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.registration-page-shell .hero-panel.registration-hero {
    background: #0b1f4d !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, .16);
    color: #ffffff !important;
}

.registration-page-shell .registration-hero h1,
.registration-page-shell .registration-hero p,
.registration-page-shell .registration-hero .text-white-50,
.registration-page-shell .registration-hero .live-badge {
    color: rgba(255, 255, 255, .78) !important;
}

.registration-page-shell .registration-hero h1 {
    color: #ffffff !important;
}

.registration-page-shell .hero-mini-card,
.registration-page-shell .registration-insight-card,
.registration-page-shell .student-guide-card,
.registration-page-shell .student-guide-card-primary {
    background-image: none !important;
}

.registration-page-shell .hero-mini-card {
    background: #10233f !important;
    border: 1px solid rgba(255, 255, 255, .14);
    color: #ffffff;
}

.registration-page-shell .hero-mini-grid {
    grid-template-columns: 1fr;
}

.registration-page-shell .hero-mini-card .label {
    color: rgba(255, 255, 255, .68);
    letter-spacing: 0;
}

.registration-page-shell .hero-mini-card .value {
    color: #ffffff;
    line-height: 1.2;
}

.registration-page-shell .hero-mini-card .hint {
    color: rgba(255, 255, 255, .72);
    font-size: .84rem;
    line-height: 1.35;
    margin-top: .4rem;
}

.registration-page-shell .registration-insight-card:nth-child(1) {
    background: #0f2a4e;
    border-color: rgba(147, 197, 253, .28);
}

.registration-page-shell .registration-insight-card:nth-child(2) {
    background: #123c3a;
    border-color: rgba(94, 234, 212, .26);
}

.registration-page-shell .registration-insight-card:nth-child(3) {
    background: #3b2b12;
    border-color: rgba(251, 191, 36, .30);
}

.registration-page-shell .registration-insight-card:nth-child(4) {
    background: #3f1d1d;
    border-color: rgba(252, 165, 165, .28);
}

.registration-page-shell .registration-insight-card:nth-child(5) {
    background: #111827;
    border-color: rgba(203, 213, 225, .22);
}

.registration-page-shell .registration-insight-card .section-eyebrow,
.registration-page-shell .registration-insight-card strong,
.registration-page-shell .registration-insight-card span {
    color: #ffffff;
}

.registration-page-shell .registration-insight-card span {
    color: rgba(255, 255, 255, .72);
}

.registration-page-shell .registration-form-panel form .form-section-card {
    background-image: none !important;
    border-radius: 8px;
}

.registration-page-shell .registration-form-panel form .form-section-card:nth-of-type(1) {
    background: #f8fbff;
    border-color: #bfdbfe;
}

.registration-page-shell .registration-form-panel form .form-section-card:nth-of-type(2) {
    background: #f7fff7;
    border-color: #bbf7d0;
}

.registration-page-shell .registration-form-panel form .form-section-card:nth-of-type(3) {
    background: #fffaf0;
    border-color: #fde68a;
}

.registration-page-shell .registration-form-panel form .form-section-card:nth-of-type(4) {
    background: #f7fbff;
    border-color: #c7d2fe;
}

.registration-page-shell .registration-form-panel form .form-section-card:nth-of-type(5) {
    background: #fff7f7;
    border-color: #fecaca;
}

.registration-page-shell .student-guide-card-primary {
    background: #0b1f4d !important;
    border-color: rgba(255, 255, 255, .16);
    color: #ffffff;
}

.registration-page-shell .student-guide-card-primary .section-eyebrow,
.registration-page-shell .student-guide-card-primary h5,
.registration-page-shell .student-guide-card-primary p {
    color: #ffffff !important;
}

.registration-page-shell .student-guide-card {
    background: #10233f;
    border-color: rgba(255, 255, 255, .14);
    color: #ffffff;
}

.registration-page-shell .student-guide-card h5,
.registration-page-shell .student-guide-card h6,
.registration-page-shell .student-guide-card p,
.registration-page-shell .student-guide-card .section-eyebrow,
.registration-page-shell .student-guide-next-copy,
.registration-page-shell .student-guide-step-state {
    color: #ffffff;
}

.registration-page-shell .student-guide-card p {
    color: rgba(255, 255, 255, .72);
}

.registration-page-shell .student-guide-card .student-guide-step,
.registration-page-shell .student-guide-card .student-guide-step.is-current,
.registration-page-shell .student-guide-card .student-guide-step.is-upcoming,
.registration-page-shell .student-guide-card .student-guide-step.is-complete {
    background: #0b1f4d !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
}

.registration-page-shell .student-guide-card .student-guide-step-number {
    background: rgba(255, 255, 255, .14) !important;
    color: #ffffff !important;
}

.registration-page-shell .student-guide-card .student-guide-step-title-row h6,
.registration-page-shell .student-guide-card .student-guide-step p,
.registration-page-shell .student-guide-card .student-guide-step-state {
    color: #ffffff !important;
}

.registration-page-shell .student-guide-card .student-guide-step p {
    color: rgba(255, 255, 255, .72) !important;
}

.registration-page-shell .registration-submit-bar {
    background: #0b1f4d;
    border: 1px solid rgba(11, 31, 77, .22);
    color: #ffffff;
}

.registration-page-shell .registration-submit-bar span {
    color: rgba(255, 255, 255, .76);
}

.registration-helper-note i {
    color: var(--navy);
    margin-top: .15rem;
}

.settings-admission-rule-card {
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fbfdff, #f7fbff);
    padding: 1.1rem;
}

.settings-admission-rule-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.settings-admission-rule-header h5 {
    color: var(--navy);
}

.settings-admission-rule-preview {
    min-width: 170px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--navy), var(--navy-2));
    color: #fff;
    padding: .9rem 1rem;
    box-shadow: 0 14px 28px rgba(11, 31, 77, .16);
}

.settings-admission-rule-preview-label {
    display: block;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
    margin-bottom: .3rem;
}

.settings-admission-rule-preview strong {
    display: block;
    font-size: 1rem;
    line-height: 1.35;
}

.settings-admission-rule-mini {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: #fff;
    padding: 1rem;
}

.settings-admission-rule-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: .75rem;
}

.settings-admission-rule-mini-grid span {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .2rem;
}

.settings-admission-rule-mini-grid strong {
    display: block;
    color: var(--text);
    font-size: .95rem;
    line-height: 1.4;
}

.settings-switcher-card .card-body,
.settings-panel-card .card-body,
.settings-save-card .card-body {
    padding: 1.2rem;
}

.settings-panel-card .card-header {
    background: linear-gradient(135deg, rgba(238,244,255,.95), rgba(255,255,255,.98));
    color: var(--navy);
    font-weight: 800;
    border-bottom: 1px solid #e5e7eb;
}

.settings-school-select {
    min-width: 260px;
}

.settings-preview-card {
    overflow: hidden;
}

.settings-preview-logo {
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
}

.settings-gateway-card .card-body {
    align-content: start;
}

.settings-save-card {
    border: 1px solid rgba(11,31,77,.08);
    background: linear-gradient(135deg, #ffffff, #f7fbff);
}

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

.settings-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #10233f, #0f766e);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.settings-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.settings-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.settings-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.settings-command-copy p {
    margin: 0;
    max-width: 820px;
    color: rgba(255, 255, 255, .8);
    line-height: 1.6;
}

.settings-command-actions,
.settings-command-nav,
.settings-panel-card .card-header,
.settings-save-card .card-body {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.settings-command-panel {
    display: grid;
    gap: .75rem;
}

.settings-scope-card,
.settings-scope-grid div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .1);
    padding: .85rem;
}

.settings-scope-card {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}

.settings-scope-card span,
.settings-scope-grid span,
.settings-status-card span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #64748b;
}

.settings-scope-grid span {
    color: rgba(255, 255, 255, .68);
}

.settings-scope-card strong,
.settings-scope-grid strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.05rem;
    line-height: 1.2;
}

.settings-scope-card small {
    display: block;
    margin-top: .35rem;
    color: #166534;
    font-weight: 700;
    word-break: break-word;
}

.settings-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.settings-scope-grid strong {
    color: #fff;
}

.settings-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.settings-status-card {
    min-height: 126px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.settings-status-card i {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.settings-status-card strong {
    color: #0f172a;
    font-size: 1.2rem;
    line-height: 1.12;
    font-weight: 900;
}

.settings-status-card small {
    color: #64748b;
    font-weight: 700;
    line-height: 1.35;
}

.settings-command-nav {
    position: sticky;
    top: 76px;
    z-index: 5;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    padding: .7rem;
}

.settings-command-nav a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
    color: #0f172a;
    padding: .45rem .7rem;
    font-weight: 800;
    text-decoration: none;
}

.settings-command-nav a:hover {
    border-color: #0f766e;
    color: #0f766e;
}

.settings-command-page .settings-panel-card,
.settings-command-page .settings-switcher-card,
.settings-command-page .settings-save-card {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.settings-command-page .settings-panel-card .card-header {
    justify-content: space-between;
    min-height: 48px;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
    color: #0f172a;
    font-weight: 900;
    letter-spacing: 0;
}

.settings-command-page .settings-admission-rule-card,
.settings-command-page .settings-admission-rule-mini,
.settings-command-page .registration-helper-note,
.settings-command-page .action-tile {
    border-radius: 8px;
}

.settings-command-page .settings-admission-rule-card {
    border-color: rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.settings-command-page .settings-admission-rule-preview {
    border-radius: 8px;
    background: #0f766e;
    box-shadow: none;
}

.settings-section-anchor,
.settings-command-page [id] {
    scroll-margin-top: 108px;
}

.settings-command-page .form-control,
.settings-command-page .form-select {
    border-radius: 8px;
}

.settings-command-page table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
}

.settings-command-page table tbody td {
    vertical-align: top;
}

@media (max-width: 1280px) {
    .settings-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .settings-command-hero,
    .settings-status-grid {
        grid-template-columns: 1fr;
    }

    .settings-command-nav {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .settings-command-copy h1 {
        font-size: 1.55rem;
    }

    .settings-scope-grid {
        grid-template-columns: 1fr;
    }

    .settings-command-actions .btn,
    .settings-command-nav a {
        width: 100%;
    }
}

.registration-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .72fr);
    gap: 1.25rem;
    align-items: start;
}

.registration-main {
    min-width: 0;
}

.registration-sidebar {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 1rem;
}

.hero-mini-card .value-sm {
    font-size: 1.1rem;
    line-height: 1.35;
}

.result-panel {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-radius: 24px;
    padding: 1.35rem;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
}

.result-panel.success {
    background: linear-gradient(135deg, #f6fff8, #effcf3);
    border-color: #b7ebc2;
}

.result-panel.warning {
    background: linear-gradient(135deg, #fffdf6, #fff8e6);
    border-color: #f7d88a;
}

.result-panel.danger {
    background: linear-gradient(135deg, #fff7f7, #fff0f0);
    border-color: #f1b8b8;
}

.result-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    font-size: 1.25rem;
    background: #f3f4f6;
    color: #374151;
}

.result-icon.success {
    background: #dcfce7;
    color: #166534;
}

.result-icon.warning {
    background: #fef3c7;
    color: #92400e;
}

.result-icon.danger {
    background: #fee2e2;
    color: #991b1b;
}

.verification-chip-stack {
    display: grid;
    gap: .8rem;
}

.verification-chip-card {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(8px);
}

.verification-chip-card .label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.72);
    font-weight: 700;
    margin-bottom: .3rem;
}

.verification-chip-card .value {
    color: #fff;
}

.verify-document-code {
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: .92rem;
}

.documents-compact-value {
    font-size: 1.05rem;
    line-height: 1.25;
}

.documents-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.documents-file-link {
    color: var(--navy);
    font-weight: 700;
    text-decoration: none;
}

.documents-file-link:hover {
    color: var(--gold);
    text-decoration: underline;
}

.documents-review-cell {
    min-width: 240px;
}

.documents-review-form {
    display: grid;
    gap: .45rem;
}

.student-portal-hero .hero-mini-card .value {
    font-size: 1.1rem;
}

.student-portal-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.25rem;
    color: rgba(255,255,255,.88);
    font-size: .95rem;
}

.student-portal-highlights strong {
    color: #fff;
}

.student-timeline-active {
    border-color: rgba(11,31,77,.12);
    box-shadow: 0 16px 30px rgba(11,31,77,.08);
}

.student-profile-drawer {
    border-radius: 28px;
}

.student-profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.student-profile-summary-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    padding: 1rem;
}

.student-profile-summary-card .label {
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.student-profile-summary-card .value {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: .35rem;
}

.student-profile-summary-card .meta {
    font-size: .84rem;
    color: #64748b;
    margin-top: .3rem;
}

.student-timeline-list {
    display: grid;
    gap: 1rem;
}

.student-timeline-item {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: .9rem;
    align-items: start;
}

.student-timeline-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    margin-top: .3rem;
    border: 2px solid rgba(15, 23, 42, .08);
}

.student-timeline-dot.soft-info { background: #dbeafe; }
.student-timeline-dot.soft-success { background: #dcfce7; }
.student-timeline-dot.soft-warning { background: #fef3c7; }
.student-timeline-dot.soft-danger { background: #fee2e2; }
.student-timeline-dot.soft-secondary { background: #e2e8f0; }

.student-mini-list {
    display: grid;
    gap: .8rem;
}

.student-mini-item {
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: .9rem 1rem;
}

.students-command-page {
    gap: 1rem;
}

.students-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 560px);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 72%, #916f12 100%);
    color: #fff;
    padding: 1rem;
}

.students-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.students-command-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.students-command-hero h1 {
    margin: 0;
    font-size: clamp(1.6rem, 2.2vw, 2.2rem);
    font-weight: 900;
}

.students-command-meta,
.students-active-filter-row,
.students-filter-actions,
.students-bulk-actions,
.students-record-badges,
.students-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.students-command-meta span,
.students-active-filter-row span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.students-active-filter-row span {
    background: rgba(212, 160, 23, .16);
}

.students-command-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: .65rem;
}

.students-command-kpi {
    display: grid;
    align-content: center;
    gap: .25rem;
    min-height: 95px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    padding: .8rem;
}

.students-command-kpi span,
.students-command-kpi small,
.students-status-card span {
    color: #cbd5e1;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.students-command-kpi strong {
    color: #fff;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.students-danger-panel,
.students-maintenance-panel,
.students-filter-card,
.students-operations-card,
.students-status-card {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.students-danger-panel {
    border-color: #fecaca;
}

.students-maintenance-panel {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border-color: #bfdbfe;
    background: #eff6ff;
}

.students-danger-copy,
.students-panel-head,
.students-operations-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.students-danger-copy,
.students-filter-card,
.students-operations-card {
    padding: 1rem;
}

.students-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .8rem;
}

.students-status-card {
    padding: .85rem;
}

.students-status-card span {
    color: #64748b;
}

.students-status-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1;
    margin-top: .35rem;
}

.students-panel-head,
.students-operations-head {
    margin-bottom: 1rem;
}

.students-panel-head h2,
.students-operations-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}

.students-bulk-actions {
    justify-content: flex-end;
}

.students-bulk-actions .form-select {
    min-width: 220px;
}

.students-operations-table {
    margin-bottom: 0;
}

.students-operations-table th,
.students-operations-table td {
    vertical-align: middle;
}

.students-record-main {
    min-width: 250px;
}

.students-record-badges {
    margin-top: .45rem;
}

.students-row-actions {
    justify-content: flex-end;
    min-width: 160px;
}

.students-row-actions .btn,
.students-pagination-controls .btn {
    border-radius: 8px;
}

.students-action-details {
    position: relative;
    display: inline-block;
}

.students-action-summary {
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.students-action-summary::-webkit-details-marker {
    display: none;
}

.students-actions-menu {
    display: none;
    margin-top: .45rem;
    min-width: 210px;
    padding: .35rem;
    border-radius: 8px;
    border: 1px solid #dbe3ef;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
}

.students-action-details[open] .students-actions-menu {
    display: grid;
    gap: .15rem;
}

.students-actions-menu .dropdown-item,
.students-action-link {
    display: flex;
    align-items: center;
    font-size: .86rem;
    font-weight: 700;
    padding: .55rem .8rem;
    border-radius: 7px;
    color: #0f172a;
    text-decoration: none;
    white-space: nowrap;
}

.students-actions-menu .dropdown-item:hover,
.students-action-link:hover {
    background: #eef6ff;
    color: #0b1f4d;
}

.students-page-quick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 .85rem;
    padding: .8rem .9rem;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #eff6ff;
}

.students-page-quick-copy {
    display: grid;
    gap: .1rem;
}

.students-page-quick-copy strong {
    color: #0f172a;
    font-size: .98rem;
    font-weight: 900;
}

.students-page-quick-copy small {
    color: #475569;
    font-weight: 700;
}

.students-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem 0;
}

.students-pagination-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
}

.students-page-gap {
    color: #64748b;
    font-weight: 800;
    padding: 0 .2rem;
}

@media (max-width: 1199.98px) {
    .students-command-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .students-command-hero {
        grid-template-columns: 1fr;
    }

    .students-danger-copy,
    .students-maintenance-panel,
    .students-panel-head,
    .students-operations-head {
        align-items: stretch;
        flex-direction: column;
    }

    .students-bulk-actions,
    .students-page-quick,
    .students-pagination-bar,
    .students-row-actions {
        justify-content: flex-start;
    }

    .students-page-quick,
    .students-pagination-bar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .students-command-kpi-grid,
    .students-status-grid {
        grid-template-columns: 1fr;
    }

    .students-bulk-actions .form-select,
    .students-row-actions {
        min-width: 0;
        width: 100%;
    }

    .students-action-details,
    .students-row-actions .btn,
    .students-row-actions .students-action-summary {
        width: 100%;
    }

    .students-actions-menu {
        min-width: 0;
        width: 100%;
    }
}

.student-hero-side {
    display: grid;
    gap: 1rem;
}

.student-photo-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(8,25,54,.28);
    border: 1px solid rgba(255,255,255,.12);
}

.student-photo-image,
.student-photo-placeholder {
    width: 86px;
    height: 86px;
    border-radius: 22px;
    flex: 0 0 auto;
}

.student-photo-image {
    object-fit: cover;
    border: 2px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
}

.student-photo-placeholder {
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.10);
    color: #fff;
    font-size: 1.8rem;
    border: 2px dashed rgba(255,255,255,.18);
}

.student-photo-copy {
    min-width: 0;
}

.student-photo-name {
    color: #fff;
    font-weight: 800;
    line-height: 1.2;
}

.student-photo-meta {
    color: rgba(255,255,255,.72);
    font-size: .92rem;
    margin-top: .2rem;
}

.student-shell {
    display: grid;
    grid-template-columns: minmax(248px, 280px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    min-width: 0;
}

.student-sidebar {
    position: sticky;
    top: 20px;
    display: grid;
    gap: 1.1rem;
    padding: 1.2rem;
    border-radius: 12px;
    background:
        linear-gradient(180deg, #071a3d 0%, #0b1f4d 64%, #102f65 100%);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 34px rgba(8,25,58,.22);
    color: #fff;
}

.student-sidebar-brand {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.student-sidebar-badge {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    color: #fff;
    font-size: 1.1rem;
}

.student-sidebar-title {
    font-weight: 900;
    color: #fff;
}

.student-sidebar-subtitle {
    color: rgba(255,255,255,.72);
    font-size: .9rem;
}

.student-sidebar-profile {
    text-align: center;
    padding: 1rem;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
}

.student-sidebar-photo {
    width: 94px;
    height: 94px;
    margin: 0 auto .85rem;
    border-radius: 24px;
    object-fit: cover;
    display: block;
}

.student-sidebar-photo-placeholder {
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 1.75rem;
}

.transcript-print-only {
    display: none;
}

.student-sidebar-name {
    font-weight: 800;
    color: #fff;
    line-height: 1.25;
}

.student-sidebar-meta {
    color: rgba(255,255,255,.74);
    font-size: .9rem;
    margin-top: .25rem;
}

.student-sidebar-nav {
    display: grid;
    gap: .55rem;
}

.student-sidebar-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .72rem .78rem;
    border-radius: 10px;
    color: #eef4ff;
    text-decoration: none;
    font-weight: 700;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

.student-sidebar-link:hover {
    color: #fff;
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.12);
}

.student-sidebar-link.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 18px rgba(201,146,23,.18);
}

.student-sidebar-link-disabled {
    opacity: .58;
    cursor: not-allowed;
    pointer-events: none;
}

.student-sidebar-unlock-note {
    margin-top: .15rem;
    padding: .75rem .85rem;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.74);
    font-size: .82rem;
    line-height: 1.45;
}

.student-sidebar-section-title {
    color: rgba(255,255,255,.56);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    margin: .35rem .2rem .05rem;
    text-transform: uppercase;
}

.student-sidebar-footer {
    padding-top: .4rem;
}

.student-sidebar-progress {
    height: 10px;
    border-radius: 999px;
    background: #e8edf6;
    overflow: hidden;
}

.student-sidebar-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--navy), var(--gold));
}

.student-school-logo-image {
    width: 86px;
    height: 86px;
    border-radius: 22px;
    object-fit: contain;
    background: #fff;
    padding: .45rem;
    flex: 0 0 auto;
}

.student-school-logo-inline {
    display: block;
    margin: 0;
    box-shadow: 0 10px 24px rgba(15,23,42,.12);
}

.student-shell-content {
    min-width: 0;
    overflow-x: clip;
}

.student-guide-card {
    border-radius: 24px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #fbfdff);
    box-shadow: 0 14px 34px rgba(15,23,42,.06);
    padding: 1.15rem;
    min-width: 0;
}

.student-guide-band {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr) minmax(0, .72fr);
    gap: 1rem;
    align-items: stretch;
}

.student-guide-band-main {
    display: grid;
    gap: 1rem;
}

.student-guide-card-primary {
    background: linear-gradient(180deg, rgba(16,39,78,.98), rgba(13,36,73,.94));
    border-color: rgba(255,255,255,.08);
    color: #fff;
}

.student-guide-card-primary .section-eyebrow,
.student-guide-card-primary h5,
.student-guide-card-primary p {
    color: #fff;
}

.student-guide-intro {
    color: rgba(255,255,255,.78);
    line-height: 1.55;
    font-size: .94rem;
}

.student-guide-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    margin-bottom: .8rem;
}

.student-guide-header > * {
    min-width: 0;
}

@media (max-width: 1440px) {
    .student-shell {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .student-guide-band {
        grid-template-columns: 1fr;
    }
}

.student-id-page {
    display: flex;
    justify-content: center;
    padding: 8px 0 0;
}

.student-id-layout {
    width: min(900px, 100%);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 360px));
    justify-content: center;
    gap: 28px;
    align-items: start;
}

.student-id-card-sheet {
    border-radius: 22px;
    box-shadow: none;
    overflow: visible;
    background: transparent;
}

.student-id-card-front,
.student-id-card-back {
    min-height: 340px;
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.student-id-card-front {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 24%),
        linear-gradient(160deg, var(--navy-2) 0%, var(--navy) 58%, #0f2a4e 100%);
    color: #fff;
}

.student-id-card-back {
    background:
        linear-gradient(180deg, #0c1628 0 56px, transparent 56px),
        linear-gradient(180deg, #fdfefe 0%, #eef4fb 100%);
    color: #122033;
    border: 1px solid #d6dee9;
}

.student-id-card-topband {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px 10px;
}

.student-id-card-topband-back {
    padding-bottom: 0;
    color: #fff;
}

.student-id-card-brand .section-eyebrow {
    font-size: .62rem;
    letter-spacing: .18em;
    color: rgba(255,255,255,.88);
}

.student-id-card-brand h2 {
    margin: 3px 0 3px;
    font-size: 1.12rem;
    line-height: 1.15;
    font-weight: 800;
    color: inherit;
}

.student-id-card-schoolcode {
    color: rgba(255,255,255,.84);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.student-id-card-back .student-id-card-schoolcode {
    color: rgba(255,255,255,.78);
}

.student-id-card-back .section-eyebrow,
.student-id-card-back .student-id-card-brand h2 {
    color: #fff;
}

.student-id-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.student-id-card-body {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 0 18px 14px;
    flex: 0 0 auto;
}

.student-id-photo-wrap {
    display: flex;
    justify-content: center;
}

.student-id-photo {
    width: 102px;
    height: 128px;
    object-fit: cover;
    border-radius: 16px;
    border: 3px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
}

.student-id-photo-placeholder {
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.88);
    font-size: 2rem;
}

.student-id-maincopy {
    min-width: 0;
}

.student-id-label {
    color: rgba(255,255,255,.82);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .64rem;
    margin-bottom: 6px;
}

.student-id-maincopy h3 {
    margin: 0 0 6px;
    font-size: 1.24rem;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
}

.student-id-program {
    color: rgba(255,255,255,.9);
    font-size: .84rem;
    line-height: 1.4;
    margin-bottom: 10px;
}

.student-id-chip-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.student-id-chip-row .soft-badge {
    font-size: .67rem;
    padding: 5px 9px;
    font-weight: 800;
}

.student-id-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.student-id-detail-card {
    border-radius: 14px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.18);
    padding: 9px 10px;
}

.student-id-detail-card span {
    display: block;
    color: rgba(255,255,255,.82);
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 4px;
}

.student-id-detail-card strong {
    display: block;
    font-size: .8rem;
    line-height: 1.35;
    font-weight: 700;
    color: #fff;
}

.student-id-card-footerband {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 18px 14px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.84);
    font-size: .7rem;
    line-height: 1.45;
}

.student-id-card-back-body {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px 18px 12px;
    flex: 0 0 auto;
}

.student-id-qr-block {
    display: grid;
    place-items: center;
    border-radius: 16px;
    padding: 10px;
}

.student-id-qr-block-back {
    background: #ffffff;
    border: 1px solid #d6dee9;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.8);
}

.student-id-qr-block-back .student-id-qr-fallback {
    color: #122033;
}

.student-id-qr-image {
    width: 92px;
    height: 92px;
    object-fit: contain;
}

.student-id-qr-fallback {
    width: 92px;
    min-height: 92px;
    font-size: .68rem;
    line-height: 1.45;
}

.student-id-back-copy {
    min-width: 0;
}

.student-id-back-heading {
    font-size: .95rem;
    font-weight: 800;
    margin-bottom: 6px;
    color: #122033;
}

.student-id-back-text {
    color: #334155;
    line-height: 1.5;
    font-size: .78rem;
    margin-bottom: 10px;
}

.student-id-back-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.student-id-back-card {
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #cfd8e3;
    padding: 9px 10px;
}

.student-id-back-card-wide {
    grid-column: 1 / -1;
}

.student-id-back-card span {
    display: block;
    color: #475569;
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 4px;
}

.student-id-back-card strong {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: #122033;
    line-height: 1.4;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.student-id-back-note {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #d6dee9;
    color: #334155;
    font-size: .75rem;
    line-height: 1.5;
}

.student-id-card-footerband-back {
    border-top: 1px solid #d6dee9;
    color: #334155;
}

.student-guide-next-copy {
    color: var(--muted);
    line-height: 1.6;
}

.student-guide-steps {
    display: grid;
    gap: .75rem;
}

.student-guide-step {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    padding: .9rem;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: #fff;
}

.student-guide-step-number {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .04em;
    background: #eef4ff;
    color: var(--navy);
}

.student-guide-step-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.student-guide-step-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .6rem;
    margin-bottom: .3rem;
}

.student-guide-step-title-row h6 {
    margin: 0;
    color: var(--navy);
    font-weight: 800;
    line-height: 1.3;
}

.student-guide-step-state {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 900;
    color: #64748b;
}

.student-guide-step p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.5;
}

.student-guide-step.is-complete {
    border-color: rgba(22,163,74,.18);
    background: linear-gradient(135deg, #f6fff8, #ffffff);
}

.clinic-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.clinic-urgent-panel .card-body {
    padding-top: 1.15rem;
}

.clinic-urgent-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.clinic-urgent-card {
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    padding: 1rem;
    display: grid;
    gap: .95rem;
    box-shadow: 0 14px 24px rgba(15,23,42,.05);
}

.clinic-urgent-card--danger {
    background: linear-gradient(135deg, #fff7f7, #fffdfd);
    border-color: rgba(220, 38, 38, .16);
}

.clinic-urgent-card--warning {
    background: linear-gradient(135deg, #fffbf2, #fffdf9);
    border-color: rgba(245, 158, 11, .2);
}

.clinic-urgent-card--info {
    background: linear-gradient(135deg, #f7fbff, #ffffff);
    border-color: rgba(37, 99, 235, .15);
}

.clinic-urgent-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .9rem;
}

.clinic-urgent-head h6 {
    color: var(--navy);
    font-weight: 800;
}

.clinic-list-card--urgent {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}

.behaviour-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.behaviour-form-field {
    min-width: 0;
}

.behaviour-form-span-2 {
    grid-column: 1 / -1;
}

.behaviour-case-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.behaviour-note-sheet {
    position: relative;
}

.behaviour-note-header {
    align-items: flex-start;
}

.behaviour-note-date-card {
    min-width: 220px;
}

.behaviour-note-student-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.behaviour-note-summary-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1rem;
    background: rgba(248, 250, 252, .92);
}

.behaviour-note-body-copy {
    color: #1f2937;
    line-height: 1.65;
}

.behaviour-note-sign-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-top: 1.5rem;
}

.behaviour-note-sign-block {
    min-height: 90px;
}

.behaviour-note-sign-label {
    font-size: .82rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 2.25rem;
}

.behaviour-note-sign-line {
    border-bottom: 1.6px solid rgba(15, 23, 42, .45);
}

.behaviour-history-term-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 1rem 0 1.25rem;
}

.behaviour-history-term-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .55rem .95rem;
    border-radius: 999px;
    border: 1px solid #d6dce5;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    color: var(--navy);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.behaviour-history-term-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(15, 23, 42, .08);
    color: var(--navy);
}

.behaviour-history-term-chip.is-active {
    border-color: rgba(11, 37, 91, .18);
    background: linear-gradient(135deg, rgba(11, 37, 91, .08), rgba(212, 175, 55, .12));
}

.behaviour-history-bundle-sheet {
    margin-top: 1.5rem;
}

.behaviour-history-bundle-summary {
    margin-top: 1rem;
}

.behaviour-history-bundle-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: .9rem;
}

.behaviour-history-bundle-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.behaviour-history-bundle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 1rem;
}

.behaviour-history-bundle-card {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
    padding: 1rem 1.05rem;
}

.clinic-list-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    padding: 1rem;
}

.clinic-student-strip {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.clinic-alert-banner {
    border-radius: 16px;
    padding: .95rem 1rem;
    border: 1px solid rgba(220, 38, 38, .16);
    background: linear-gradient(135deg, #fff5f5, #fffdfd);
    color: #991b1b;
    line-height: 1.55;
}

.clinic-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.clinic-hero .student-portal-highlights {
    color: rgba(255,255,255,.84);
}

.clinic-trend-bar {
    position: relative;
    height: 10px;
    border-radius: 999px;
    background: rgba(214, 223, 236, .75);
    overflow: hidden;
}

.clinic-trend-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0b255b 0%, #d4af37 100%);
}

.student-guide-step.is-complete .student-guide-step-number {
    background: rgba(22,163,74,.12);
    color: #166534;
}

.student-guide-step.is-complete .student-guide-step-state {
    color: #166534;
}

.student-guide-step.is-current {
    border-color: rgba(37,99,235,.20);
    background: linear-gradient(135deg, #f8fbff, #ffffff);
    box-shadow: inset 0 0 0 1px rgba(37,99,235,.10);
}

.student-guide-step.is-current .student-guide-step-number {
    background: linear-gradient(135deg, var(--navy), var(--gold));
    color: #fff;
}

.student-guide-step.is-current .student-guide-step-state {
    color: var(--navy);
}

.student-guide-step.is-upcoming {
    opacity: .88;
}

.student-guide-reminders {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: .65rem;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.55;
}

.student-reminder-modal {
    border: 0;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15,23,42,.20);
}

.student-reminder-modal .modal-header,
.student-reminder-modal .modal-body,
.student-reminder-modal .modal-footer {
    padding-left: 1.35rem;
    padding-right: 1.35rem;
}

.student-reminder-list {
    display: grid;
    gap: .7rem;
}

.student-reminder-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem .9rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff8ef, #ffffff);
    border: 1px solid #f3dfc1;
    color: #8a5a00;
    font-weight: 700;
}

.student-reminder-item i {
    color: #d97706;
}

.student-reminder-note {
    margin-top: 1rem;
    padding: .85rem .95rem;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid #e5e7eb;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.5;
}

.class-album-hero {
    background: radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 34%), linear-gradient(135deg, var(--navy-2), var(--navy) 42%, var(--gold));
}

.class-album-filter-card {
    overflow: hidden;
}

.class-album-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
    align-items: end;
}

.class-album-filter-field {
    min-width: 0;
}

.class-album-filter-actions {
    display: flex;
    gap: .65rem;
    align-items: end;
    flex-wrap: wrap;
}

.class-album-groups {
    display: grid;
    gap: 1rem;
}

.class-album-group-card {
    overflow: hidden;
}

.class-album-group-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.class-album-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}

.class-album-student-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: .95rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #ffffff, #fbfdff);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
    align-items: start;
}

.class-album-photo-panel {
    display: grid;
    gap: .7rem;
    justify-items: center;
}

.class-album-photo-wrap {
    display: flex;
    justify-content: center;
    width: 150px;
    height: 150px;
    min-width: 150px;
    max-width: 150px;
    min-height: 150px;
    max-height: 150px;
    overflow: hidden;
}

.class-album-photo {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    object-fit: cover !important;
    border-radius: 18px;
    display: block;
    background: #eef4ff;
    box-shadow: 0 12px 24px rgba(15,23,42,.08);
    flex: 0 0 150px;
}

.class-album-photo-fallback {
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--navy);
    background: linear-gradient(135deg, #eef4ff, #f8fbff);
}

.class-album-identity-chips {
    display: grid;
    gap: .45rem;
}

.class-album-identity-chips-center {
    justify-items: center;
}

.class-album-student-body {
    min-width: 0;
    display: grid;
    gap: .85rem;
}

.class-album-student-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
}

.class-album-student-titles {
    min-width: 0;
}

.class-album-student-head-stack {
    justify-items: center;
    text-align: center;
}

.class-album-student-subline {
    margin-top: .35rem;
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.4;
}

.class-album-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.class-album-meta-card {
    padding: .7rem .8rem;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid #e5e7eb;
    min-width: 0;
}

.class-album-meta-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 900;
    color: #64748b;
    margin-bottom: .32rem;
}

.class-album-meta-value {
    color: var(--navy);
    font-weight: 700;
    font-size: .9rem;
    line-height: 1.4;
    word-break: break-word;
}

.class-album-student-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.class-album-student-footer-stack {
    justify-content: center;
}

.class-album-actions {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}

.class-album-actions-center {
    justify-content: center;
}

.class-album-print-sheet {
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    background: #fff;
    padding: 1rem 1.1rem;
}

.class-album-print-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.class-album-print-title {
    margin: 0;
    color: var(--navy);
    font-size: 1.5rem;
    font-weight: 900;
}

.class-album-print-subtitle {
    color: var(--muted);
    margin-top: .2rem;
    font-size: .92rem;
}

.class-album-print-count {
    color: var(--navy);
    font-weight: 800;
}

.class-album-print-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .9rem;
    margin-top: .85rem;
    padding-top: .85rem;
    border-top: 1px solid #e5e7eb;
    color: #475569;
    font-size: .88rem;
}

.dashboard-command-page {
    gap: 1rem;
}

.dashboard-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 72%, #8a6b15 100%);
    color: #fff;
    padding: 1rem;
}

.dashboard-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.dashboard-command-kicker,
.dashboard-command-meta,
.dashboard-health-grid,
.dashboard-panel-head,
.dashboard-housing-title {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.dashboard-command-kicker {
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-live-dot {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .16);
}

.dashboard-command-hero h1 {
    margin: 0;
    font-size: clamp(1.65rem, 2.5vw, 2.4rem);
    font-weight: 900;
    letter-spacing: 0;
}

.dashboard-command-hero p {
    margin: 0;
    max-width: 760px;
    color: #dbe4f0;
}

.dashboard-command-meta {
    flex-wrap: wrap;
}

.dashboard-command-meta span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.dashboard-health-panel {
    display: grid;
    align-content: center;
    gap: .75rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    padding: 1rem;
}

.dashboard-health-label,
.dashboard-section-label,
.dashboard-context-card span,
.dashboard-kpi-card span,
.dashboard-workflow-card span,
.dashboard-housing-title span,
.dashboard-housing-metrics span,
.dashboard-conversion-list span,
.dashboard-status-row span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dashboard-health-panel .dashboard-health-label {
    color: #bfdbfe;
}

.dashboard-health-panel > strong {
    color: #fff;
    font-size: 2.5rem;
    line-height: 1;
}

.dashboard-health-panel > span {
    color: #dbeafe;
    font-weight: 800;
}

.dashboard-health-grid {
    justify-content: space-between;
}

.dashboard-health-grid div {
    min-width: 0;
}

.dashboard-health-grid span {
    display: block;
    color: #cbd5e1;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-health-grid strong {
    display: block;
    color: #fff;
    font-size: 1.15rem;
}

.dashboard-progress-track,
.dashboard-status-meter {
    overflow: hidden;
    height: .55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
}

.dashboard-progress-track--light,
.dashboard-status-meter {
    background: #e5eaf1;
}

.dashboard-progress-fill,
.dashboard-status-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #22c55e;
}

.dashboard-progress-fill--gold {
    background: #d4a017;
}

.dashboard-context-strip,
.dashboard-kpi-grid,
.dashboard-workflow-grid,
.dashboard-housing-grid {
    display: grid;
    gap: .8rem;
}

.dashboard-context-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-context-card,
.dashboard-kpi-card,
.dashboard-panel,
.dashboard-workflow-card,
.dashboard-housing-card,
.dashboard-action-card {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.dashboard-context-card {
    display: grid;
    gap: .28rem;
    padding: .9rem;
}

.dashboard-context-card strong {
    color: #0f172a;
    font-size: 1.02rem;
    line-height: 1.2;
}

.dashboard-context-card small,
.dashboard-kpi-card small,
.dashboard-workflow-card small,
.dashboard-conversion-list small,
.dashboard-action-copy span,
.dashboard-status-row small {
    color: #64748b;
    font-size: .86rem;
    line-height: 1.35;
}

.dashboard-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-kpi-card {
    display: flex;
    gap: .85rem;
    min-height: 118px;
    padding: 1rem;
}

.dashboard-kpi-icon,
.dashboard-workflow-icon,
.dashboard-housing-icon,
.dashboard-action-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #e0ecff;
    color: #1d4ed8;
}

.dashboard-kpi-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.8rem;
    line-height: 1;
    margin: .35rem 0 .3rem;
}

.dashboard-kpi-card--gold .dashboard-kpi-icon,
.dashboard-workflow-card--gold .dashboard-workflow-icon,
.dashboard-action-card--gold .dashboard-action-icon {
    background: #fef3c7;
    color: #9a6e00;
}

.dashboard-kpi-card--green .dashboard-kpi-icon,
.dashboard-workflow-card--green .dashboard-workflow-icon,
.dashboard-action-card--green .dashboard-action-icon {
    background: #dcfce7;
    color: #166534;
}

.dashboard-kpi-card--red .dashboard-kpi-icon,
.dashboard-workflow-card--red .dashboard-workflow-icon,
.dashboard-action-card--danger .dashboard-action-icon {
    background: #fee2e2;
    color: #991b1b;
}

.dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    gap: 1rem;
    align-items: start;
}

.dashboard-main-column,
.dashboard-side-column,
.dashboard-action-list,
.dashboard-conversion-list,
.dashboard-status-list {
    display: grid;
    gap: 1rem;
}

.dashboard-side-column {
    position: sticky;
    top: 1rem;
}

.dashboard-panel {
    padding: 1rem;
}

.dashboard-calendar-panel {
    background: #fff1f2;
    border-color: #fecdd3;
}

.dashboard-calendar-panel .dashboard-section-label,
.dashboard-calendar-panel .dashboard-panel-head h2 {
    color: #991b1b;
}

.dashboard-calendar-panel .dashboard-action-card {
    background: #fff7f7;
    border-color: #fecdd3;
}

.dashboard-calendar-panel .dashboard-action-icon {
    background: #fee2e2;
    color: #991b1b;
}

.dashboard-calendar-panel .dashboard-action-copy strong {
    color: #7f1d1d;
}

.dashboard-calendar-panel .dashboard-action-copy span {
    color: #991b1b;
}

.dashboard-panel-head {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.dashboard-panel-head h2 {
    margin: .15rem 0 0;
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 900;
}

.dashboard-status-grid {
    display: grid;
    grid-template-columns: minmax(260px, .9fr) minmax(280px, 1.1fr);
    gap: 1rem;
    align-items: center;
}

.dashboard-chart-wrap {
    display: grid;
    place-items: center;
    min-height: 250px;
}

.dashboard-status-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px 42px;
    gap: .75rem;
    align-items: center;
    border-radius: 8px;
    border: 1px solid #edf2f7;
    background: #f8fafc;
    padding: .75rem;
}

.dashboard-status-row strong {
    display: block;
    color: #0f172a;
}

.dashboard-workflow-grid,
.dashboard-housing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-workflow-card,
.dashboard-housing-card {
    padding: 1rem;
}

.dashboard-workflow-card {
    display: flex;
    gap: .85rem;
}

.dashboard-workflow-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.5rem;
    line-height: 1;
    margin: .35rem 0 .35rem;
}

.dashboard-housing-title {
    justify-content: space-between;
}

.dashboard-housing-title strong {
    display: block;
    color: #0f172a;
    margin-top: .2rem;
}

.dashboard-housing-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0;
}

.dashboard-housing-metrics div {
    border-radius: 8px;
    background: #f8fafc;
    padding: .75rem;
}

.dashboard-housing-metrics strong,
.dashboard-conversion-list strong {
    display: block;
    color: #0f172a;
    font-size: 1.2rem;
    line-height: 1.1;
    margin-top: .25rem;
}

.dashboard-conversion-list > div {
    display: grid;
    gap: .55rem;
    border-radius: 8px;
    border: 1px solid #edf2f7;
    background: #f8fafc;
    padding: .85rem;
}

.dashboard-next-push {
    border-color: #fde68a !important;
    background: #fffbeb !important;
}

.dashboard-action-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .85rem;
}

.dashboard-action-copy {
    display: grid;
    gap: .18rem;
}

.dashboard-action-copy strong {
    color: #0f172a;
    line-height: 1.2;
}

.dashboard-action-card .btn,
.dashboard-action-card .soft-badge {
    justify-self: end;
    white-space: nowrap;
}

.dashboard-chart-card .card-body {
    min-height: 100%;
}

.dashboard-chart-note {
    background: linear-gradient(135deg, #f8fbff, #fdfefe);
}

.dashboard-chart-note .detail-item:last-child .detail-value {
    max-width: 180px;
    text-align: right;
}

@media (max-width: 1199.98px) {
    .dashboard-command-hero,
    .dashboard-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-side-column {
        position: static;
    }

    .dashboard-context-strip,
    .dashboard-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dashboard-status-grid,
    .dashboard-workflow-grid,
    .dashboard-housing-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-status-row {
        grid-template-columns: 1fr;
    }

    .dashboard-action-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .dashboard-action-card .btn,
    .dashboard-action-card .soft-badge {
        grid-column: 1 / -1;
        justify-self: stretch;
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .dashboard-context-strip,
    .dashboard-kpi-grid,
    .dashboard-command-meta,
    .dashboard-health-grid,
    .dashboard-panel-head {
        grid-template-columns: 1fr;
    }

    .dashboard-context-strip,
    .dashboard-kpi-grid {
        display: grid;
    }

    .dashboard-command-meta,
    .dashboard-health-grid,
    .dashboard-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-kpi-card,
    .dashboard-workflow-card {
        flex-direction: column;
    }
}

.detail-list {
    display: grid;
    gap: .9rem;
}

.detail-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid #eef2f7;
}

.detail-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.detail-label {
    color: var(--muted);
    font-size: .88rem;
}

.detail-value {
    color: var(--navy);
    font-weight: 700;
    text-align: right;
}

.top-action-bar {
    display: flex;
    justify-content: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.document-sheet {
    background: #fff;
    border-radius: 28px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(15,23,42,.06);
    padding: 1.75rem;
}

.admission-letter-sheet {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,255,.96));
}

.registration-sheet {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(248,251,255,.97));
}

.registration-sheet.has-watermark::before {
    display: none;
}

.admission-letter-sheet.has-watermark::before {
    display: none;
}

.admission-letter-sheet > *:not(.document-watermark) {
    position: relative;
    z-index: 1;
}

.admission-letter-sheet .document-watermark {
    z-index: 3;
}

.admission-letter-sheet .document-watermark-image {
    width: min(56%, 400px);
    max-width: 56%;
    max-height: 56%;
    opacity: .2;
    filter: grayscale(100%) contrast(1.18);
    mix-blend-mode: normal;
}

.registration-sheet > *:not(.document-watermark) {
    position: relative;
    z-index: 1;
}

.document-watermark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 0;
}

.document-watermark-image {
    width: min(58%, 420px);
    max-width: 58%;
    max-height: 58%;
    object-fit: contain;
    opacity: .01;
    filter: none;
    mix-blend-mode: normal;
}

.admission-letter-sheet .admission-letter-body,
.admission-letter-sheet .registration-section,
.admission-letter-sheet .registration-note,
.admission-letter-sheet .admission-letter-summary-item {
    background: rgba(255,255,255,.66);
}

.registration-sheet .registration-profile,
.registration-sheet .registration-section,
.registration-sheet .registration-note,
.registration-sheet .registration-mini-stat,
.registration-sheet .registration-qr-card {
    background-color: rgba(255,255,255,.8);
}

.registration-watermark {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: min(72%, 520px) auto;
    opacity: .18;
    filter: grayscale(100%) contrast(1.18);
    z-index: 0;
}

.registration-watermark-image-layer {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    opacity: .12;
    z-index: 0;
    padding-top: 2.75rem;
}

.registration-sheet .document-watermark-image {
    width: min(58%, 430px);
    max-width: 58%;
    max-height: 58%;
    opacity: 1;
    filter: grayscale(100%) contrast(1.18);
    mix-blend-mode: normal;
}

.report-card-sheet {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.report-card-sheet > *:not(.document-watermark):not(.report-card-watermark-image-layer) {
    position: relative;
    z-index: 1;
}

.report-card-sheet .report-card-watermark {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center 50%;
    background-size: min(46%, 320px) auto;
    opacity: .30;
    filter: grayscale(100%) contrast(1.18);
    z-index: 6;
}

.report-card-sheet .report-card-watermark-image-layer {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 7;
    pointer-events: none;
    opacity: 0;
}

.report-card-sheet .report-card-watermark-image-layer .document-watermark-image {
    width: min(46%, 320px);
    max-width: 320px;
    height: auto;
    opacity: .24;
    filter: grayscale(100%) contrast(1.08);
}

.report-card-print-watermark {
    display: none;
}

.report-card-print-watermark-image {
    display: block;
    width: min(52%, 360px);
    max-width: 360px;
    height: auto;
    opacity: .32;
    filter: grayscale(100%) contrast(1.04);
}

.report-card-page-watermark {
    display: none;
}

.report-card-page-watermark-image {
    display: block;
    width: min(56%, 420px);
    max-width: 420px;
    height: auto;
    opacity: .20;
    filter: contrast(1.12);
}

.report-card-sheet.has-watermark .report-card-formal-title,
.report-card-sheet.has-watermark .report-card-bio-card,
.report-card-sheet.has-watermark .report-card-summary-card,
.report-card-sheet.has-watermark .report-card-profile,
.report-card-sheet.has-watermark .table-card,
.report-card-sheet.has-watermark .report-card-cluster {
    background-color: rgba(255,255,255,.84);
}

.report-card-sheet .report-card-position-card,
.report-card-sheet .report-card-position-card * {
    color: #ffffff;
}

.document-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.registration-document-title {
    gap: 1.4rem;
    align-items: stretch;
}

.registration-school-copy {
    flex: 1 1 0;
}

.registration-qr-card {
    width: 220px;
    flex: 0 0 220px;
    border-radius: 24px;
    padding: 1rem;
    background: linear-gradient(180deg, var(--navy-2), var(--gold));
    color: #fff;
    display: grid;
    justify-items: center;
    text-align: center;
    box-shadow: 0 18px 36px rgba(16,39,78,.18);
}

.payment-receipt-page {
    max-width: 920px;
    margin: 0 auto;
}

.payment-receipt-sheet > *:not(.document-watermark) {
    position: relative;
    z-index: 1;
}

.payment-receipt-sheet .payment-receipt-watermark {
    z-index: 3;
}

.payment-receipt-sheet .document-watermark-image {
    width: min(56%, 400px);
    max-width: 56%;
    max-height: 56%;
    opacity: .22;
    filter: grayscale(100%) contrast(1.18);
    mix-blend-mode: normal;
}

.payment-receipt-sheet.has-watermark .table-card,
.payment-receipt-sheet.has-watermark .payment-details-summary,
.payment-receipt-sheet.has-watermark .registration-note,
.payment-receipt-sheet.has-watermark .registration-qr-card {
    background-color: rgba(255,255,255,.84);
}

.payment-receipt-page .registration-document-title {
    align-items: stretch;
}

.payment-receipt-page .registration-qr-card {
    justify-content: start;
}

.payment-receipt-qr-image {
    margin-bottom: .8rem;
}

.payment-receipt-reference {
    width: 100%;
    padding: .55rem .65rem;
    border-radius: 14px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-weight: 800;
    letter-spacing: .02em;
    word-break: break-word;
    margin-top: .15rem;
}

.payment-receipt-chip-row {
    align-items: center;
}

.academic-summary-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.15rem 1.25rem;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e6ebf3;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
}

.academic-summary-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex: 1 1 320px;
}

.academic-summary-stats {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.academic-school-toolbar {
    display: flex;
    justify-content: flex-end;
}

.academic-tab-shell {
    display: grid;
    gap: 1rem;
}

.academic-tab-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.academic-tabs-nav {
    gap: .75rem;
    flex-wrap: wrap;
}

.academic-tab-link {
    border-radius: 999px !important;
    border: 1px solid #d9e2ef !important;
    background: #fff !important;
    color: #22324d !important;
    font-weight: 700;
    padding: .8rem 1.15rem;
    box-shadow: 0 6px 18px rgba(15,23,42,.05);
}

.academic-tab-link:hover,
.academic-tab-link:focus {
    border-color: rgba(15,76,129,.25) !important;
    color: var(--primary-color) !important;
}

.academic-tab-link.active {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 14px 30px rgba(15,76,129,.18);
}

.academic-tab-content {
    display: grid;
    gap: 1.25rem;
}

.academic-tab-content > .tab-pane {
    padding-top: .25rem;
}

.academic-directory-card .card-header {
    padding-bottom: .85rem;
}

.academic-directory-table th {
    white-space: nowrap;
}

.academic-directory-table td {
    vertical-align: top;
}

.academic-combo-grid {
    max-height: 420px;
    overflow-y: auto;
    padding-right: .2rem;
}

.selection-board {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.selection-help-text {
    color: var(--muted);
    font-size: .9rem;
    margin-bottom: 1rem;
}

.selection-option-grid {
    display: grid;
    gap: .9rem;
}

.selection-option-card {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: 1rem 1.05rem;
    border: 1px solid #e6ebf3;
    border-radius: 18px;
    background: #fbfdff;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    cursor: pointer;
}

.selection-option-card:hover {
    border-color: rgba(11,31,77,.2);
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
    background: #fff;
}

.selection-option-card:focus-visible {
    outline: 3px solid rgba(212, 170, 66, .28);
    outline-offset: 2px;
}

.selection-option-card-active {
    border-color: rgba(11,31,77,.34);
    box-shadow: 0 14px 30px rgba(11,31,77,.08);
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.selection-option-card-disabled {
    opacity: .62;
    background: #f8fafc;
    border-style: dashed;
    cursor: not-allowed;
}

.selection-option-card-disabled:hover {
    border-color: #e6ebf3;
    box-shadow: none;
    background: #f8fafc;
}

.selection-option-card input {
    margin-top: .25rem;
    flex: 0 0 auto;
}

.selection-option-copy {
    min-width: 0;
}

.selection-option-title {
    color: var(--navy);
    font-weight: 800;
    margin-bottom: .15rem;
}

.selection-option-meta {
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.5;
}

.class-subject-preview {
    margin-top: .7rem;
    padding-top: .7rem;
    border-top: 1px solid #e6ebf3;
    display: grid;
    gap: .55rem;
}

.class-subject-preview-group {
    display: grid;
    gap: .15rem;
}

.class-subject-preview-label {
    color: var(--navy);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.class-subject-preview-values {
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.5;
}

.class-subject-preview-empty {
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.5;
}

.selection-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .2rem;
}

.action-tile-muted {
    background: #f8fafc;
    border: 1px dashed #d5ddea;
}

.payment-details-summary {
    border: 1px solid #e6ebf3;
    border-radius: 18px;
    padding: .9rem 1rem;
    margin-bottom: 1rem;
    background: #f8fbff;
}

.payment-details-summary-label {
    color: var(--muted);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .25rem;
}

.payment-details-summary-value {
    color: var(--navy);
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.1;
}

.payment-detail-list {
    gap: .75rem;
}

.payment-detail-item {
    align-items: flex-start;
}

.payment-detail-item .detail-label {
    flex: 0 0 38%;
    max-width: 38%;
    padding-top: .08rem;
}

.payment-detail-value {
    flex: 1 1 auto;
    max-width: none;
    text-align: left;
    line-height: 1.45;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.payment-code-value {
    font-family: "Courier New", Courier, monospace;
    font-size: .83rem;
}

.payment-receipt-note {
    line-height: 1.65;
    word-break: break-word;
}

.payment-receipt-print-header {
    display: none;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #d1d5db;
}

.payment-receipt-print-header h2 {
    margin: 0 0 6px;
    color: var(--navy);
    font-size: 1.45rem;
    font-weight: 800;
}

.payment-receipt-print-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: #4b5563;
    font-size: .88rem;
}

.registration-qr-label {
    font-weight: 800;
    letter-spacing: .02em;
    margin-bottom: .75rem;
}

.registration-qr-image {
    width: 160px;
    height: 160px;
    object-fit: contain;
    background: #fff;
    border-radius: 18px;
    padding: .6rem;
}

.registration-qr-fallback {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.45);
    color: #fff;
}

.registration-qr-meta {
    margin-top: .75rem;
    font-size: .82rem;
    color: rgba(255,255,255,.8);
}

.registration-hero-panel {
    margin-bottom: 1.25rem;
}

.registration-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 1rem;
    padding: 1.2rem;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fbff, #eef4ff);
    border: 1px solid #dbe7f6;
}

.registration-profile-main {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.registration-photo {
    width: 106px;
    height: 106px;
    border-radius: 26px;
    object-fit: cover;
    border: 3px solid rgba(16,39,78,.12);
    background: #fff;
    flex: 0 0 auto;
}

.registration-photo-placeholder {
    display: grid;
    place-items: center;
    background: #e8f0ff;
    color: var(--navy);
    font-size: 2rem;
    border-style: dashed;
}

.registration-profile-copy {
    min-width: 0;
}

.registration-profile-name {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1.15;
}

.registration-profile-meta {
    margin-top: .35rem;
    color: #3d5c8b;
    font-weight: 600;
}

.registration-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: .9rem;
}

.registration-chip {
    display: inline-flex;
    align-items: center;
    padding: .55rem .85rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dbe7f6;
    color: var(--navy);
    font-size: .88rem;
    font-weight: 800;
}

.registration-profile-side {
    display: grid;
    gap: .75rem;
}

.registration-mini-stat {
    border-radius: 18px;
    padding: .9rem 1rem;
    background: #fff;
    border: 1px solid #dbe7f6;
}

.registration-mini-stat span {
    display: block;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    font-weight: 800;
    margin-bottom: .4rem;
}

.registration-mini-stat strong {
    color: var(--navy);
    font-size: 1rem;
}

.registration-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.registration-section {
    border-radius: 22px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: 1.1rem 1.15rem;
}

.registration-section .detail-item {
    align-items: flex-start;
}

.registration-section .detail-value {
    max-width: 56%;
    text-align: left;
    word-break: break-word;
}

.registration-section-title {
    font-size: .9rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--navy);
    font-weight: 900;
    margin-bottom: .95rem;
}

.registration-note {
    margin-top: 1.15rem;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff8e8, #fffdf6);
    border: 1px solid #f2d48c;
}

.registration-note-title {
    font-weight: 900;
    color: #8a6000;
    margin-bottom: .35rem;
}

.registration-verification-strip {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px dashed #dbe2ec;
}

.registration-link-text {
    color: var(--navy);
    font-weight: 700;
    word-break: break-word;
}

.registration-signature-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #eef2f7;
    color: var(--navy);
    align-items: end;
    column-gap: 3rem;
}

.registration-signature-block {
    min-width: 0;
}

.registration-signature-block-end {
    text-align: right;
}

.registration-signature-role {
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: .75rem;
}

.registration-signature-line-wrap {
    min-height: 1.4rem;
}

.registration-signature-note {
    margin-top: .45rem;
    font-size: .75rem;
    color: #7b8794;
    font-weight: 700;
}

.registration-signature-line {
    display: inline-block;
    width: min(100%, 240px);
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px);
}

.registration-signature-image {
    display: inline-block;
    max-width: min(100%, 220px);
    max-height: 72px;
    object-fit: contain;
    object-position: left bottom;
}

.settings-signature-preview-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 110px;
    padding: 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff, #fbfdff);
    border: 1px solid #e5e7eb;
}

.settings-signature-image {
    max-width: 100%;
    max-height: 82px;
    object-fit: contain;
}

.admission-letter-banner {
    margin-bottom: 1.25rem;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--navy), var(--gold));
    color: #fff;
    padding: 1.25rem;
    box-shadow: 0 20px 40px rgba(15,23,42,.16);
}

.admission-letter-profile {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admission-letter-profile-copy {
    min-width: 0;
}

.admission-letter-name {
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.12;
}

.admission-letter-subtitle {
    margin-top: .35rem;
    color: rgba(255,255,255,.82);
    max-width: 680px;
}

.admission-letter-banner .registration-chip {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
    color: #fff;
}

.admission-letter-body {
    border-radius: 22px;
    background: linear-gradient(135deg, #fff, #fbfdff);
    border: 1px solid #e5e7eb;
    padding: 1.2rem;
    margin-bottom: 1rem;
    color: #294166;
}

.admission-letter-body p:last-child {
    margin-bottom: 0;
}

.admission-letter-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: .95rem 0;
}

.admission-letter-summary-item {
    border-radius: 18px;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    padding: .8rem .9rem;
    min-width: 0;
}

.admission-letter-summary-item span {
    display: block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7b8794;
    margin-bottom: .35rem;
}

.admission-letter-summary-item strong {
    display: block;
    color: var(--navy);
    font-size: .96rem;
    line-height: 1.28;
    word-break: break-word;
}

.timeline-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1rem;
}

.timeline-step {
    border-radius: 18px;
    padding: 1rem;
    background: linear-gradient(135deg, #fff, #f8fbff);
    border: 1px solid #e5e7eb;
}

.timeline-step .step-tag {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    background: #eef4ff;
    color: var(--navy);
    padding: .3rem .65rem;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .75rem;
}

.timeline-step h6 {
    font-weight: 800;
    color: var(--navy);
}

.timeline-step p {
    font-size: .9rem;
    color: var(--muted);
    margin-bottom: 0;
}

.table-card .card-body > .table:last-child {
    margin-bottom: 0;
}

.approval-queue-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.approval-queue-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(320px, .9fr);
    gap: 1rem;
    align-items: start;
}

.approval-queue-main {
    min-width: 0;
}

.approval-queue-side {
    min-width: 0;
}

.approval-row-selected td {
    background: rgba(16,39,78,.05);
}

.approval-note-preview {
    max-width: 260px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.approval-focus-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.approval-note-detail {
    max-width: 58%;
    text-align: left;
}

.approval-action-form {
    display: grid;
    gap: .9rem;
}

.approval-check-grid {
    display: grid;
    gap: .65rem;
}

.approval-history-list {
    display: grid;
    gap: .75rem;
}

.approval-history-item {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: .9rem 1rem;
}

.approval-doc-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.approval-doc-preview-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: 1rem;
}

.approval-doc-preview-head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.approval-doc-preview-surface {
    border-radius: 16px;
    border: 1px solid #dbe3ee;
    background: #f8fafc;
    min-height: 340px;
    padding: .5rem;
    overflow: hidden;
}

.approval-doc-preview-image,
.approval-doc-preview-frame {
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
}

.approval-doc-preview-fallback {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.approval-command-page {
    gap: 1rem;
}

.approval-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 72%, #916f12 100%);
    color: #fff;
    padding: 1rem;
}

.approval-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.approval-command-kicker,
.approval-command-meta,
.approval-active-filter-row,
.approval-command-focus-badges,
.approval-panel-head,
.approval-queue-head,
.approval-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.approval-command-kicker {
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.approval-live-dot {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .16);
}

.approval-command-hero h1 {
    margin: 0;
    font-size: clamp(1.65rem, 2.4vw, 2.35rem);
    font-weight: 900;
    letter-spacing: 0;
}

.approval-command-hero p {
    margin: 0;
    max-width: 760px;
    color: #dbe4f0;
}

.approval-command-meta span,
.approval-active-filter-row span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.approval-active-filter-row span {
    background: rgba(212, 160, 23, .16);
}

.approval-command-focus {
    display: grid;
    align-content: center;
    gap: .75rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    padding: 1rem;
}

.approval-command-focus > span,
.approval-section-label,
.approval-command-kpi span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.approval-command-focus > span {
    color: #bfdbfe;
}

.approval-command-focus strong {
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.15;
}

.approval-command-focus small {
    color: #dbeafe;
    line-height: 1.35;
}

.approval-command-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .8rem;
}

.approval-command-kpi,
.approval-workflow-panel,
.approval-filter-panel,
.approval-queue-card,
.approval-review-panel {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.approval-command-kpi {
    display: flex;
    gap: .75rem;
    min-height: 112px;
    padding: .9rem;
}

.approval-command-kpi-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #e0ecff;
    color: #1d4ed8;
}

.approval-command-kpi strong {
    display: block;
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1.1;
    margin: .3rem 0;
}

.approval-command-kpi small {
    color: #64748b;
    font-size: .82rem;
    line-height: 1.35;
}

.approval-command-kpi--gold .approval-command-kpi-icon {
    background: #fef3c7;
    color: #9a6e00;
}

.approval-command-kpi--green .approval-command-kpi-icon {
    background: #dcfce7;
    color: #166534;
}

.approval-command-kpi--red .approval-command-kpi-icon {
    background: #fee2e2;
    color: #991b1b;
}

.approval-workflow-panel,
.approval-filter-panel,
.approval-queue-card,
.approval-review-panel {
    padding: 1rem;
}

.approval-panel-head,
.approval-queue-head {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.approval-panel-head h2,
.approval-queue-head h2 {
    margin: .15rem 0 0;
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 900;
}

.approval-bulk-actions {
    justify-content: flex-end;
}

.approval-bulk-actions .form-select,
.approval-bulk-actions .form-control {
    min-width: 220px;
}

.approval-queue-table {
    margin-bottom: 0;
}

.approval-queue-table th,
.approval-queue-table td {
    vertical-align: middle;
}

.approval-review-panel .form-section-header {
    margin-bottom: 1rem;
}

@media (max-width: 1399.98px) {
    .approval-command-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .approval-command-hero,
    .approval-queue-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .approval-command-kpi-grid,
    .workflow-compact-grid-queue {
        grid-template-columns: 1fr;
    }

    .approval-command-kpi,
    .approval-panel-head,
    .approval-queue-head,
    .approval-bulk-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .approval-bulk-actions .form-select,
    .approval-bulk-actions .form-control {
        min-width: 0;
        width: 100%;
    }
}

.upload-import-hero {
    background: radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 38%), linear-gradient(135deg, var(--navy-2), var(--navy) 40%, var(--gold));
}

.upload-import-shell {
    align-items: stretch;
}

.upload-import-card,
.upload-manual-card {
    border-radius: 26px;
}

.upload-card-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.upload-card-badge {
    flex: 0 0 auto;
}

.upload-guidance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-bottom: 1rem;
}

.upload-guidance-card {
    border-radius: 18px;
    padding: .95rem 1rem;
    background: linear-gradient(135deg, #f8fbff, #ffffff);
    border: 1px solid #e5e7eb;
}

.upload-guidance-label {
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--navy);
    font-weight: 900;
    margin-bottom: .4rem;
}

.upload-guidance-copy {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.45;
}

.upload-input {
    border-style: dashed;
    border-width: 2px;
    min-height: 54px;
    background: #fbfdff;
}

.upload-feature-row {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.upload-feature-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .5rem .8rem;
    background: #eef4ff;
    color: var(--navy);
    font-weight: 800;
    font-size: .85rem;
}

.upload-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.upload-command-page {
    gap: 1rem;
}

.upload-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 72%, #916f12 100%);
    color: #fff;
    padding: 1rem;
}

.upload-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.upload-command-kicker,
.upload-command-meta,
.upload-school-context-form,
.upload-panel-head,
.upload-form-actions,
.upload-history-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.upload-command-kicker {
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.upload-live-dot {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .16);
}

.upload-command-hero h1 {
    margin: 0;
    font-size: clamp(1.65rem, 2.4vw, 2.35rem);
    font-weight: 900;
    letter-spacing: 0;
}

.upload-command-hero p {
    margin: 0;
    max-width: 760px;
    color: #dbe4f0;
}

.upload-command-meta span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.upload-school-context-panel {
    display: grid;
    align-content: center;
    gap: .7rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    padding: 1rem;
}

.upload-school-context-panel span,
.upload-section-label,
.upload-command-kpi span,
.upload-history-summary-grid span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.upload-school-context-panel span {
    color: #bfdbfe;
}

.upload-school-context-panel strong {
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.15;
}

.upload-school-context-panel small {
    color: #dbeafe;
    line-height: 1.35;
}

.upload-school-context-form {
    align-items: stretch;
}

.upload-school-context-form .form-select {
    min-width: 0;
    flex: 1 1 190px;
}

.upload-command-kpi-grid,
.upload-history-summary-grid {
    display: grid;
    gap: .8rem;
}

.upload-command-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.upload-command-kpi,
.upload-panel,
.upload-quality-card,
.upload-history-summary-grid article {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.upload-command-kpi {
    display: flex;
    gap: .85rem;
    min-height: 112px;
    padding: 1rem;
}

.upload-command-kpi-icon,
.upload-panel-icon,
.upload-quality-icon,
.upload-drop-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #e0ecff;
    color: #1d4ed8;
}

.upload-command-kpi strong {
    display: block;
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1.1;
    margin: .3rem 0;
}

.upload-command-kpi small {
    color: #64748b;
    font-size: .86rem;
}

.upload-command-kpi--gold .upload-command-kpi-icon,
.upload-quality-card--gold .upload-quality-icon {
    background: #fef3c7;
    color: #9a6e00;
}

.upload-command-kpi--green .upload-command-kpi-icon,
.upload-quality-card--green .upload-quality-icon {
    background: #dcfce7;
    color: #166534;
}

.upload-command-kpi--red .upload-command-kpi-icon {
    background: #fee2e2;
    color: #991b1b;
}

.upload-panel {
    padding: 1rem;
}

.upload-panel .card-body {
    padding: 0;
}

.upload-panel-head {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.upload-panel-head h2 {
    margin: .15rem 0;
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 900;
}

.upload-panel-head p {
    margin: 0;
    color: #64748b;
    line-height: 1.4;
}

.upload-import-card,
.upload-manual-card {
    border-radius: 8px;
}

.upload-guidance-card {
    border-radius: 8px;
}

.upload-header-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.upload-header-chip-grid code {
    border-radius: 999px;
    background: #eef4ff;
    color: #17345f;
    padding: .35rem .55rem;
    font-size: .78rem;
    font-weight: 800;
}

.upload-form-actions {
    justify-content: flex-start;
}

.upload-support-grid {
    align-items: stretch;
}

.upload-quality-card {
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.upload-quality-card strong {
    display: block;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: .28rem;
}

.upload-quality-card span,
.upload-quality-card small {
    display: block;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.4;
}

.upload-quality-card small {
    margin-top: .45rem;
    color: #1d4ed8;
    font-weight: 900;
    text-transform: uppercase;
}

.upload-history-panel {
    scroll-margin-top: 1rem;
}

.upload-history-summary-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.upload-history-summary-grid article {
    padding: .85rem;
}

.upload-history-summary-grid strong {
    display: block;
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1;
    margin-top: .35rem;
}

.upload-history-table-wrap {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.upload-history-actions {
    justify-content: flex-end;
    min-width: 250px;
}

.upload-row-metrics {
    display: grid;
    gap: .18rem;
    color: #64748b;
    font-size: .82rem;
}

.upload-row-metrics strong {
    color: #0f172a;
}

@media (max-width: 1199.98px) {
    .upload-command-hero,
    .upload-command-kpi-grid,
    .upload-history-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .upload-command-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .upload-command-kpi-grid,
    .upload-guidance-grid,
    .upload-support-grid,
    .upload-history-summary-grid {
        grid-template-columns: 1fr;
    }

    .upload-panel-head,
    .upload-quality-card,
    .upload-command-kpi {
        flex-direction: column;
    }

    .upload-history-actions {
        justify-content: flex-start;
        min-width: 0;
    }
}

.qr-checkin-hero {
    background: radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 34%), linear-gradient(135deg, var(--navy-2), var(--navy) 40%, var(--gold));
}

.qr-checkin-card {
    border-radius: 26px;
}

.qr-checkin-flow-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.qr-flow-card {
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    padding: 1rem 1.1rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.qr-step-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #fbfdff 100%);
    padding: 1rem;
    margin-top: 1rem;
}

.qr-checkin-form {
    display: grid;
    gap: .9rem;
}

.qr-checkin-input {
    min-height: 130px;
    border-width: 2px;
    border-style: dashed;
    background: #fbfdff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.qr-checkin-layout {
    display: grid;
    grid-template-columns: minmax(340px, .9fr) minmax(0, 1.35fr);
    gap: 1rem;
    align-items: start;
}

.qr-checkin-left,
.qr-checkin-right {
    min-width: 0;
}

.qr-scan-result-card {
    margin-bottom: 1rem;
}

.qr-activity-filter {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.qr-activity-filter-note {
    width: 100%;
    font-size: .8rem;
    color: #b91c1c;
    margin-bottom: .15rem;
}

.qr-activity-filter-row {
    width: 100%;
    display: grid;
    gap: .65rem;
}

.qr-activity-filter-row-primary {
    grid-template-columns: minmax(220px, 1.8fr) minmax(150px, .9fr) minmax(150px, .9fr) minmax(150px, .9fr);
    align-items: end;
}

.qr-activity-filter-row-secondary {
    grid-template-columns: repeat(4, minmax(120px, 1fr)) auto;
    align-items: end;
}

.qr-filter-field {
    display: grid;
    gap: .26rem;
    min-width: 112px;
    flex: 1 1 112px;
}

.qr-filter-field-search {
    min-width: 0;
}

.qr-filter-field-date {
    flex-basis: 132px;
}

.qr-filter-label {
    margin: 0;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6b7280;
}

.qr-activity-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: .75rem;
}

.qr-activity-header-actions {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.qr-quick-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: .85rem;
    padding: .15rem 0 .2rem;
}

.qr-quick-filter-chip {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .42rem .85rem !important;
    border-radius: 999px;
    border: 1px solid rgba(191, 219, 254, .8) !important;
    background: rgba(248, 251, 255, .96) !important;
    color: #274472 !important;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.qr-quick-filter-chip:hover {
    background: #eef5ff !important;
    border-color: #bdd2fb !important;
    color: #173b73 !important;
    box-shadow: 0 12px 24px rgba(29, 78, 216, .12);
}

.qr-quick-filter-chip.is-active {
    background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(29, 78, 216, .16);
}

.qr-activity-filter-compact {
    padding: .75rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff, #fbfdff);
    border: 1px solid #e5e7eb;
}

.qr-activity-filter .form-control,
.qr-activity-filter .form-select {
    min-width: 0;
    width: 100%;
}

.qr-activity-filter-compact .form-control,
.qr-activity-filter-compact .form-select {
    min-height: 38px;
    font-size: .82rem;
    padding: .45rem .6rem;
}

.qr-activity-actions {
    display: flex;
    align-items: end;
    gap: .45rem;
    margin-left: auto;
    justify-content: flex-end;
}

.qr-pagination {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .6rem;
    padding-top: .85rem;
}

.qr-camera-card {
    border-radius: 22px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: 1rem;
}

.qr-capability-row {
    margin-top: 1rem;
}

.qr-camera-frame {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--navy), var(--gold));
    min-height: 260px;
    border: 1px solid rgba(255,255,255,.08);
}

.qr-camera-preview {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    background: rgba(255,255,255,.04);
}

.qr-camera-shell {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(7, 16, 35, 0.08);
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

.qr-camera-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(7,16,35,.12), rgba(7,16,35,.22));
}

.qr-camera-guide {
    width: min(68%, 260px);
    aspect-ratio: 1;
    border: 3px solid rgba(243,205,94,.92);
    border-radius: 22px;
    box-shadow: 0 0 0 999px rgba(3,12,29,.24);
}

.qr-camera-flash,
.qr-page-flash {
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease;
}

.qr-camera-flash {
    position: absolute;
    inset: 0;
}

.qr-camera-flash--active {
    opacity: 1;
}

.qr-camera-flash--success {
    background: radial-gradient(circle at center, rgba(34,197,94,.3), rgba(34,197,94,0) 62%);
}

.qr-camera-flash--warning {
    background: radial-gradient(circle at center, rgba(245,158,11,.3), rgba(245,158,11,0) 62%);
}

.qr-camera-flash--danger {
    background: radial-gradient(circle at center, rgba(239,68,68,.32), rgba(239,68,68,0) 62%);
}

.qr-camera-flash--info {
    background: radial-gradient(circle at center, rgba(59,130,246,.28), rgba(59,130,246,0) 62%);
}

.qr-page-flash {
    position: fixed;
    inset: 0;
    z-index: 1090;
}

.qr-page-flash--active {
    opacity: .95;
}

.qr-page-flash--success {
    background: radial-gradient(circle at center, rgba(34,197,94,.1), rgba(34,197,94,0) 58%);
}

.qr-page-flash--warning {
    background: radial-gradient(circle at center, rgba(245,158,11,.11), rgba(245,158,11,0) 58%);
}

.qr-page-flash--danger {
    background: radial-gradient(circle at center, rgba(239,68,68,.11), rgba(239,68,68,0) 58%);
}

.qr-page-flash--info {
    background: radial-gradient(circle at center, rgba(59,130,246,.09), rgba(59,130,246,0) 58%);
}

.qr-scan-feedback-board {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .9fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
}

.qr-scan-feedback-copy h6 {
    font-size: 1rem;
}

.qr-scan-feedback-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.qr-scan-feedback-stat {
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #f8fbff, #ffffff);
    padding: .8rem .85rem;
}

.qr-scan-feedback-stat .label {
    display: block;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: .4rem;
}

.qr-scan-feedback-stat .value {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 800;
    color: var(--navy);
}

.qr-incident-card {
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid #f3d4a4;
    background: linear-gradient(135deg, #fff9ef, #ffffff);
}

.qr-incident-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem .9rem;
    font-size: .82rem;
    color: #4b5563;
}

@media (max-width: 991.98px) {
    .qr-scan-feedback-board {
        grid-template-columns: 1fr;
    }

    .qr-scan-feedback-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .qr-scan-feedback-stats,
    .qr-incident-meta {
        grid-template-columns: 1fr;
    }
}

.workflow-compact-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.workflow-compact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.workflow-compact-grid-queue {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.workflow-compact-step {
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #fff, #fbfdff);
    padding: .8rem .85rem;
}

.workflow-compact-label {
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--navy);
    font-weight: 900;
    margin-bottom: .35rem;
}

.workflow-compact-copy {
    color: var(--muted);
    font-size: .84rem;
    line-height: 1.4;
}

.print-only {
    display: none;
}

.qr-print-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.qr-print-title-row {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: .75rem;
}

.qr-print-meta {
    text-align: right;
    color: #4b5563;
    font-size: .88rem;
}

.qr-print-filter-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    padding: .75rem 0 1rem;
    border-top: 1px solid #d1d5db;
    border-bottom: 1px solid #d1d5db;
    margin-bottom: 1rem;
    color: #374151;
    font-size: .86rem;
}

.house-toggle-check {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: .8rem 1rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.house-toggle-check .form-check-label {
    display: grid;
    gap: .15rem;
}

.house-toggle-check .form-check-label small {
    color: #64748b;
    font-size: .76rem;
    line-height: 1.35;
}

.house-setup-note {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.house-setup-note-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8eef8;
    color: #163b6b;
    flex-shrink: 0;
}

.backup-command-list {
    display: grid;
    gap: 1rem;
}

.backup-command-card {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
}

.backup-command-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .45rem;
}

.backup-command-label {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .45rem;
}

.backup-command-card code {
    display: block;
    white-space: pre-wrap;
    word-break: break-word;
    color: #10233f;
    font-size: .88rem;
}

.users-role-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.users-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1.35rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 32%),
        linear-gradient(135deg, var(--navy-2) 0%, var(--navy) 36%, var(--gold) 100%);
    color: #f8fbff;
    box-shadow: 0 18px 42px rgba(13, 36, 67, .18);
}

.users-banner .section-eyebrow,
.users-banner p {
    color: rgba(240, 246, 255, .84);
}

.users-banner-copy {
    max-width: 720px;
}

.users-banner-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.users-banner-badge {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    color: #fff;
    font-size: 1.25rem;
}

.users-banner-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.users-role-pill {
    padding: 1rem 1.05rem;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.users-role-pill strong {
    display: block;
    font-size: 1.2rem;
    color: #10233f;
}

.users-role-pill span {
    display: block;
    margin-top: .25rem;
    font-size: .78rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.users-role-pill small {
    display: block;
    margin-top: .55rem;
    font-size: .76rem;
    line-height: 1.45;
    color: #475569;
}

.users-permission-table-wrap {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    overflow: hidden;
}

.users-permission-table-wrap .table {
    margin-bottom: 0;
}

.users-permission-table-wrap .table thead th {
    padding: .95rem 1rem;
    background: #f8fafc;
    color: #10233f;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.users-permission-table-wrap .table td {
    padding: .9rem 1rem;
    vertical-align: middle;
    border-color: rgba(15, 23, 42, 0.07);
}

.users-permission-table-wrap .table tbody tr:nth-child(even) td {
    background: rgba(248, 250, 252, 0.7);
}

.users-permission-table-wrap .form-check-input {
    width: 1.18rem;
    height: 1.18rem;
    cursor: pointer;
}

.users-directory-card .card-header {
    padding: .8rem 1rem;
}

.users-directory-card .qr-activity-header {
    margin-bottom: 0;
    align-items: center;
}

.users-directory-card .card-body {
    padding: .4rem 0 0;
}

.users-directory-card .table th,
.users-directory-card .table td {
    padding: .7rem 1rem;
}

.users-directory-card .table td .small {
    line-height: 1.25;
}

.users-directory-permission-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .55rem;
}

.score-entry-table-wrap {
    overflow-x: auto;
}

.score-entry-filter-switch {
    padding: .8rem 1rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.score-entry-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.score-entry-toolbar-copy {
    min-width: 220px;
}

.score-entry-warning-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(245, 158, 11, 0.22);
    background: linear-gradient(180deg, rgba(255,251,235,.98), rgba(255,255,255,.98));
}

.score-entry-warning-strip--success {
    border-color: rgba(34, 197, 94, 0.18);
    background: linear-gradient(180deg, rgba(240,253,244,.98), rgba(255,255,255,.98));
}

.score-entry-warning-copy {
    min-width: 220px;
}

.attendance-toolbar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.attendance-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.attendance-summary-item {
    border-radius: 18px;
    background: #f8fafc;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.attendance-trend-card {
    border-radius: 18px;
    background: #ffffff;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.attendance-trend-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.attendance-trend-bar {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 12px;
}

.attendance-trend-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--navy), var(--gold));
}

.attendance-summary-label {
    font-size: .8rem;
    color: var(--muted);
    margin-bottom: 6px;
}

.attendance-summary-value {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--navy);
}

.attendance-status-select {
    min-width: 132px;
}

.attendance-note-input {
    min-width: 170px;
}

.attendance-row-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.score-sheet-meta-line {
    color: rgba(255, 255, 255, 0.92);
}

.teacher-assignment-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.teacher-assignment-card {
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    padding: 18px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.teacher-assignment-card h5 {
    margin: 0 0 4px;
    color: var(--navy);
    font-weight: 800;
}

.teacher-assignment-card .meta {
    color: var(--muted);
    font-size: .92rem;
}

.teacher-assignment-card .chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.teacher-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.teacher-action-card {
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    border: 1px solid rgba(15, 23, 42, 0.06);
    padding: 18px;
    height: 100%;
}

.teacher-action-card .icon-badge {
    margin-bottom: 12px;
}

.teacher-action-card h5 {
    margin-bottom: 6px;
    color: var(--navy);
    font-weight: 800;
}

.teacher-action-card p {
    color: var(--muted);
    margin-bottom: 14px;
}

.score-entry-table th {
    white-space: nowrap;
    vertical-align: bottom;
}

.score-entry-table td {
    vertical-align: middle;
}

.score-entry-row--unentered {
    background: rgba(254, 243, 199, 0.34);
}

.score-entry-row--partial {
    background: rgba(219, 234, 254, 0.28);
}

.score-entry-row--complete {
    background: rgba(240, 253, 244, 0.22);
}

.score-entry-student-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.score-entry-table .score-input {
    min-width: 86px;
    font-weight: 700;
}

.score-entry-table .score-total-cell {
    min-width: 68px;
    display: inline-flex;
    justify-content: center;
}

.class-results-table th {
    white-space: nowrap;
    vertical-align: bottom;
}

.class-results-table td {
    vertical-align: middle;
}

.class-results-chart-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.class-results-chart-card {
    padding: 16px 16px 15px;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
}

.class-results-chart-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.class-results-chart-bar {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 14px;
}

.class-results-chart-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--navy), var(--gold));
}

.class-results-chart-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.class-results-chart-stats div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.class-results-chart-stats span {
    color: var(--muted);
    font-size: .78rem;
}

.class-results-chart-stats strong {
    color: var(--navy);
    font-size: 1rem;
}

.class-results-watch-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.class-results-watch-card {
    padding: 15px 16px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #f8fafc;
}

.class-results-watch-card .label {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 5px;
}

.class-results-watch-card strong {
    display: block;
    color: var(--navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.class-results-watch-card .meta {
    display: block;
    color: var(--muted);
    font-size: .82rem;
    margin-top: 5px;
    line-height: 1.4;
}

.class-results-intervention-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.class-results-intervention-tag {
    display: inline-flex;
    align-items: center;
    padding: .38rem .62rem;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid rgba(249, 115, 22, .18);
    color: #9a3412;
    font-size: .78rem;
    font-weight: 700;
}

.behaviour-trend-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.behaviour-trend-bar span {
    background: linear-gradient(90deg, #dc2626, #f59e0b);
}

.behaviour-trend-mini {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .45rem;
    margin-top: .8rem;
    font-size: .78rem;
    color: #6b7280;
}

.behaviour-trend-mini strong {
    color: var(--navy);
    font-size: .84rem;
}

.behaviour-report-hero {
    position: relative;
    overflow: hidden;
}

.behaviour-report-hero-card {
    padding: 1rem 1.05rem;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
    backdrop-filter: blur(10px);
}

.behaviour-report-hero-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255,255,255,.72);
    font-weight: 800;
    margin-bottom: .45rem;
}

.behaviour-report-hero-school {
    font-size: 1.15rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
}

.behaviour-report-hero-meta {
    display: grid;
    gap: .35rem;
    margin-top: .75rem;
    color: rgba(255,255,255,.78);
    font-size: .86rem;
}

.behaviour-report-filter-card {
    margin-top: .2rem;
}

.behaviour-report-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin: .35rem 0 .85rem;
}

.behaviour-report-summary-grid .report-card-summary-card {
    min-height: 150px;
}

.behaviour-report-list {
    display: grid;
    gap: .9rem;
}

.behaviour-report-list-item {
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .07);
    background: linear-gradient(135deg, #ffffff, #f8fbff);
}

.behaviour-report-list-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.behaviour-report-inline-bar {
    height: 10px;
    margin-top: .7rem;
    border-radius: 999px;
    background: #edf2f7;
    overflow: hidden;
}

.behaviour-report-inline-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #dc2626, #f59e0b);
}

.behaviour-report-inline-bar--calm span {
    background: linear-gradient(90deg, #0f766e, #22c55e);
}

.behaviour-report-inline-bar--status span {
    background: linear-gradient(90deg, #1d4ed8, #8b5cf6);
}

.behaviour-report-list-card .card-header,
.behaviour-report-trend-card .card-header,
.behaviour-report-table-card .card-header {
    font-weight: 800;
}

.behaviour-risk-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.behaviour-risk-card {
    position: relative;
    border-radius: 22px;
    border: 1px solid #dbe4f0;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.75), transparent 28%),
        linear-gradient(135deg, #ffffff, #f8fbff);
    box-shadow: 0 16px 30px rgba(15, 23, 42, .06);
    padding: 1rem 1.05rem;
    overflow: hidden;
}

.behaviour-risk-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #93c5fd;
}

.behaviour-risk-card--warning::before {
    background: #f59e0b;
}

.behaviour-risk-card--danger::before {
    background: #dc2626;
}

.behaviour-risk-rank {
    position: absolute;
    top: .9rem;
    right: 1rem;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.behaviour-risk-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding-right: 2rem;
}

.behaviour-risk-title {
    font-size: 1.02rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--navy);
}

.behaviour-risk-subtitle {
    margin-top: .22rem;
    font-size: .81rem;
    color: #667085;
}

.behaviour-risk-score {
    min-width: 92px;
    padding: .7rem .75rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(255,255,255,.86);
    text-align: center;
}

.behaviour-risk-score span {
    display: block;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .25rem;
}

.behaviour-risk-score strong {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    color: var(--navy);
}

.behaviour-risk-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .85rem;
}

.behaviour-risk-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-top: .85rem;
}

.behaviour-risk-metrics div {
    padding: .75rem .8rem;
    border-radius: 16px;
    border: 1px solid #e7edf6;
    background: rgba(255,255,255,.88);
}

.behaviour-risk-metrics span {
    display: block;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #667085;
    font-weight: 800;
    margin-bottom: .22rem;
}

.behaviour-risk-metrics strong {
    display: block;
    color: var(--navy);
    font-size: 1rem;
}

.house-side-panel {
    background: #ffffff;
}

.house-summary-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.house-summary-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex: 1 1 auto;
}

.house-summary-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.house-inline-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.house-inline-metric {
    padding: .85rem .9rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    text-align: center;
}

.house-inline-metric strong {
    display: block;
    font-size: 1.15rem;
    color: #10233f;
}

.house-inline-metric span {
    display: block;
    margin-top: .25rem;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
}

.house-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.house-toolbar-copy h5 {
    color: #10233f;
}

.house-toolbar-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

@media (max-width: 991px) {
    .users-banner,
    .users-banner-meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .users-role-strip {
        grid-template-columns: 1fr 1fr;
    }

    .house-summary-strip,
    .house-summary-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .house-inline-metrics {
        grid-template-columns: 1fr;
    }

    .house-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .behaviour-trend-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .behaviour-trend-mini {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .behaviour-report-section-head,
    .behaviour-report-list-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .behaviour-risk-top {
        flex-direction: column;
        align-items: flex-start;
        padding-right: 0;
    }

    .behaviour-risk-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .behaviour-trend-grid,
    .behaviour-trend-mini,
    .behaviour-risk-metrics {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4;
        margin: 12mm;
    }

    .sidebar,
    .topbar,
    .student-sidebar,
    .page-banner,
    .hero-banner,
    .class-album-hero,
    .qr-checkin-hero,
    .no-print,
    .btn,
    form,
    .alert {
        display: none !important;
    }

    html,
    body {
        background: #fff !important;
        color: #111827;
        font-size: 11.5pt;
    }

    .content-area,
    .public-shell,
    .student-shell-content,
    .page-stack,
    .container-fluid,
    .container {
        padding: 0 !important;
        margin: 0 !important;
    }

    .student-shell {
        display: block !important;
    }

    .qr-checkin-layout,
    .qr-checkin-right,
    .qr-print-card,
    .qr-print-body {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .panel-card,
    .card-soft,
    .stat-card,
    .table-card {
        box-shadow: none;
    }

    .table-card {
        border: 0 !important;
        border-radius: 0 !important;
    }

    .table-card .card-body {
        padding: 0 !important;
    }

    .print-only {
        display: block !important;
    }

    .class-album-print-sheet {
        display: block !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 0 12px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid #d1d5db !important;
    }

    .class-album-print-head {
        align-items: flex-end !important;
    }

    .class-album-print-title {
        font-size: 18pt !important;
        color: #111827 !important;
    }

    .class-album-print-subtitle,
    .class-album-print-filters {
        color: #4b5563 !important;
    }

    .class-album-group-card,
    .class-album-student-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .class-album-group-card {
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin-bottom: 14px !important;
    }

    .class-album-group-card .card-body {
        padding: 10px 0 0 !important;
    }

    .class-album-group-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        gap: 1rem !important;
        padding: 0 0 10px !important;
        border-bottom: 1px solid #d1d5db !important;
        margin-bottom: 10px !important;
        page-break-after: avoid !important;
    }

    .class-album-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        align-items: start !important;
    }

    .class-album-student-card {
        display: grid !important;
        width: auto !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #d1d5db !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .class-album-photo-wrap {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        min-height: 92px !important;
        max-height: 92px !important;
    }

    .class-album-photo {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        min-height: 92px !important;
        max-height: 92px !important;
        box-shadow: none !important;
    }

    .class-album-meta-grid {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .class-album-meta-card,
    .class-album-photo,
    .class-album-photo-fallback {
        border-color: #d1d5db !important;
    }

    .class-album-student-body {
        gap: 6px !important;
    }

    .class-album-student-head-stack,
    .class-album-student-footer-stack {
        justify-items: stretch !important;
        text-align: center !important;
    }

    .class-album-student-titles h6 {
        font-size: 10.5pt !important;
    }

    .class-album-student-subline,
    .class-album-meta-label,
    .class-album-meta-value,
    .class-album-print-subtitle,
    .class-album-print-filters,
    .class-album-group-header .small {
        font-size: 8pt !important;
        line-height: 1.3 !important;
    }

    .class-album-meta-card {
        padding: 6px !important;
        border-radius: 10px !important;
    }

    .class-album-actions .btn {
        display: none !important;
    }

    .class-album-actions-center {
        justify-content: center !important;
    }

    .qr-print-sheet {
        margin-bottom: 1rem;
    }

    .qr-print-title-row,
    .qr-print-filter-summary {
        page-break-inside: avoid;
    }

    .table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    .table th,
    .table td {
        border: 1px solid #d1d5db !important;
        padding: 10px 12px !important;
        vertical-align: top !important;
    }

    .table thead th {
        background: #eff3f8 !important;
        color: #111827 !important;
        font-size: 10.5pt !important;
    }

    .soft-badge {
        border: 1px solid #cbd5e1 !important;
        background: #fff !important;
        color: #111827 !important;
        padding: 2px 8px !important;
    }

    .print-page,
    .document-sheet {
        border: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .document-title,
    .registration-profile,
    .registration-sections,
    .registration-verification-strip {
        gap: 12px !important;
    }

    .registration-document-title,
    .registration-profile,
    .registration-sections {
        grid-template-columns: 1fr !important;
    }

    .registration-qr-card,
    .registration-section,
    .registration-note,
    .admission-letter-body,
    .admission-letter-banner,
    .registration-mini-stat {
        background: #fff !important;
        color: #111827 !important;
        border: 1px solid #d1d5db !important;
        box-shadow: none !important;
    }

    .registration-qr-meta,
    .admission-letter-subtitle,
    .text-muted,
    .detail-label {
        color: #4b5563 !important;
    }

    .registration-qr-card {
        width: 190px !important;
        padding: 10px !important;
        justify-items: center;
        page-break-inside: avoid;
    }

    .registration-qr-image {
        width: 130px !important;
        height: 130px !important;
        padding: 4px !important;
        border: 1px solid #d1d5db;
    }

    .registration-profile-main,
    .admission-letter-profile {
        align-items: flex-start !important;
    }

    .registration-chip {
        background: #fff !important;
        color: #111827 !important;
        border: 1px solid #d1d5db !important;
    }

    .detail-item,
    .registration-section,
    .registration-note,
    .registration-hero-panel,
    .admission-letter-banner,
    .admission-letter-body,
    .registration-signature-row {
        page-break-inside: avoid;
    }

    .registration-section .detail-value {
        max-width: 60% !important;
    }

    .registration-signature-row {
        margin-top: 18px !important;
    }

    .registration-print-page {
        font-size: 8.8pt;
        color: #0f172a !important;
    }

    .registration-print-page .registration-document-title {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 122px !important;
        align-items: start !important;
        gap: 6px !important;
        padding-bottom: 5px !important;
        border-bottom: 1.5px solid #cbd5e1 !important;
    }

    .registration-print-page .registration-school-copy h2 {
        margin-bottom: 3px !important;
        font-size: 1rem !important;
        letter-spacing: .02em !important;
    }

    .registration-print-page .registration-school-copy h4 {
        margin-bottom: 4px !important;
        font-size: .78rem !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
        color: #0f172a !important;
    }

    .registration-print-page .registration-school-copy p {
        margin-bottom: 3px !important;
        line-height: 1.16 !important;
    }

    .registration-print-page .registration-hero-panel {
        margin-bottom: 6px !important;
    }

    .registration-print-page .registration-profile {
        grid-template-columns: minmax(0, 1fr) 148px !important;
        padding: 6px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 12px !important;
        background: #fff !important;
    }

    .registration-print-page .registration-photo,
    .registration-print-page .registration-photo-placeholder {
        width: 64px !important;
        height: 64px !important;
        border-radius: 14px !important;
    }

    .registration-print-page .registration-profile-name {
        font-size: .95rem !important;
        line-height: 1.08 !important;
    }

    .registration-print-page .registration-profile-meta {
        margin-top: 3px !important;
        font-size: .7rem !important;
    }

    .registration-print-page .registration-chip-row {
        gap: 3px !important;
        margin-top: 4px !important;
    }

    .registration-print-page .registration-chip {
        padding: 3px 5px !important;
        font-size: .58rem !important;
        border-color: #cbd5e1 !important;
        font-weight: 700 !important;
    }

    .registration-print-page .registration-mini-stat {
        padding: 5px 6px !important;
        border-color: #d7dee8 !important;
        border-radius: 10px !important;
    }

    .registration-print-page .registration-mini-stat span {
        font-size: .58rem !important;
        margin-bottom: 2px !important;
    }

    .registration-print-page .registration-mini-stat strong {
        font-size: .72rem !important;
    }

    .registration-print-page .registration-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .registration-print-page .registration-section {
        padding: 6px !important;
        display: flex !important;
        flex-direction: column !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 12px !important;
        background: #fff !important;
    }

    .registration-print-page .registration-qr-card {
        width: 122px !important;
        flex: 0 0 122px !important;
        padding: 5px !important;
        border-radius: 12px !important;
        align-self: start !important;
    }

    .registration-print-page .registration-qr-label {
        margin-bottom: 5px !important;
        font-size: .6rem !important;
    }

    .registration-print-page .registration-qr-image {
        width: 82px !important;
        height: 82px !important;
        padding: 2px !important;
        border-radius: 8px !important;
    }

    .registration-print-page .registration-qr-meta {
        margin-top: 3px !important;
        font-size: .52rem !important;
        line-height: 1.1 !important;
    }

    .registration-print-page .registration-section-academic-placement {
        grid-column: 1 / -1 !important;
    }

    .registration-print-page .registration-section-parent-and-guardian {
        grid-column: 1 / -1 !important;
    }

    .registration-print-page .registration-section-parent-and-guardian .detail-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px 8px !important;
    }

    .registration-print-page .registration-section-student-identity .detail-list,
    .registration-print-page .registration-section-academic-placement .detail-list,
    .registration-print-page .registration-section-housing-and-reporting .detail-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px 8px !important;
    }

    .registration-print-page .registration-section-contact-and-background .detail-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px 8px !important;
    }

    .registration-print-page .registration-section-academic-placement .detail-list,
    .registration-print-page .registration-section-housing-and-reporting .detail-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .registration-print-page .registration-section-title {
        margin-bottom: 5px !important;
        font-size: .6rem !important;
        padding-bottom: 4px !important;
        border-bottom: 1px solid #dbe2ec !important;
        color: #0f172a !important;
        letter-spacing: .1em !important;
    }

    .registration-print-page .detail-item {
        padding-bottom: 4px !important;
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .registration-print-page .detail-label,
    .registration-print-page .detail-value {
        font-size: .68rem !important;
    }

    .registration-print-page .detail-item {
        align-items: flex-start !important;
    }

    .registration-print-page .detail-label {
        flex: 0 0 36% !important;
        max-width: 36% !important;
    }

    .registration-print-page .detail-value {
        flex: 1 1 auto !important;
        max-width: none !important;
        text-align: left !important;
        line-height: 1.28 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .registration-print-page .registration-section-student-identity .detail-item,
    .registration-print-page .registration-section-academic-placement .detail-item,
    .registration-print-page .registration-section-contact-and-background .detail-item,
    .registration-print-page .registration-section-parent-and-guardian .detail-item,
    .registration-print-page .registration-section-housing-and-reporting .detail-item {
        display: block !important;
        padding: 4px 5px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
        background: #fcfdff !important;
        min-height: 100% !important;
    }

    .registration-print-page .registration-section-student-identity .detail-label,
    .registration-print-page .registration-section-academic-placement .detail-label,
    .registration-print-page .registration-section-contact-and-background .detail-label,
    .registration-print-page .registration-section-parent-and-guardian .detail-label,
    .registration-print-page .registration-section-housing-and-reporting .detail-label {
        display: block !important;
        max-width: none !important;
        margin-bottom: 1px !important;
        font-size: .54rem !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
        color: #64748b !important;
    }

    .registration-print-page .registration-section-student-identity .detail-value,
    .registration-print-page .registration-section-academic-placement .detail-value,
    .registration-print-page .registration-section-contact-and-background .detail-value,
    .registration-print-page .registration-section-parent-and-guardian .detail-value,
    .registration-print-page .registration-section-housing-and-reporting .detail-value {
        display: block !important;
        font-size: .62rem !important;
        line-height: 1.14 !important;
        color: #0f172a !important;
        font-weight: 600 !important;
    }

    .registration-print-page .registration-section-academic-placement .detail-item-subject-combination,
    .registration-print-page .registration-section-parent-and-guardian .detail-item-emergency-contact,
    .registration-print-page .registration-section-contact-and-background .detail-item-residential-address,
    .registration-print-page .registration-section-housing-and-reporting .detail-item-reporting-address,
    .registration-print-page .registration-section-housing-and-reporting .detail-item-reporting-venue,
    .registration-print-page .registration-section-housing-and-reporting .detail-item-reporting-token,
    .registration-print-page .registration-section-housing-and-reporting .detail-item-verification-code {
        grid-column: 1 / -1 !important;
    }

    .registration-print-page .detail-item-subject-combination .detail-value,
    .registration-print-page .detail-item-residential-address .detail-value,
    .registration-print-page .detail-item-reporting-address .detail-value,
    .registration-print-page .detail-item-verification-code .detail-value,
    .registration-print-page .detail-item-reporting-token .detail-value {
        font-size: .66rem !important;
    }

    .registration-print-page .registration-note,
    .registration-print-page .registration-verification-strip,
    .registration-print-page .registration-signature-row {
        margin-top: 6px !important;
        padding-top: 6px !important;
    }

    .registration-print-page .registration-note {
        border: 1px solid #d9dee7 !important;
        background: rgba(248,250,252,.82) !important;
        border-radius: 10px !important;
        padding: 6px 7px !important;
    }

    .registration-print-page .registration-note-title {
        font-size: .6rem !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        color: #0f172a !important;
    }

    .registration-print-page .registration-verification-strip {
        display: none !important;
    }

    .registration-print-page .registration-link-text {
        font-size: .62rem !important;
        line-height: 1.18 !important;
        color: #0f172a !important;
        font-weight: 700 !important;
    }


    .registration-print-page .registration-signature-row {
        margin-top: 8px !important;
        padding-top: 5px !important;
        align-items: end !important;
        border-top: 1px solid #cbd5e1 !important;
    }

    .registration-print-page .registration-signature-row > div {
        padding-top: 0 !important;
    }

    .registration-print-page .registration-signature-line {
        min-width: 180px !important;
    }

.registration-print-page.registration-sheet .registration-watermark {
    display: none !important;
}

.registration-print-page.registration-sheet {
    background-image:
        linear-gradient(135deg, rgba(255,255,255,.985), rgba(248,251,255,.955)),
        var(--registration-watermark);
    background-repeat: no-repeat, no-repeat;
    background-position: center center, center 23%;
    background-size: 100% 100%, min(42%, 270px) auto;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.registration-print-page.registration-sheet .registration-watermark-image-layer {
    display: flex !important;
    position: absolute !important;
    inset: 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: 2.5rem !important;
    opacity: .24 !important;
    z-index: 0 !important;
}

.registration-print-page.registration-sheet .document-watermark-image {
    width: min(42%, 270px) !important;
    max-width: 42% !important;
    max-height: 42% !important;
    opacity: 1 !important;
}

.registration-print-page.registration-sheet .registration-profile,
.registration-print-page.registration-sheet .registration-section,
.registration-print-page.registration-sheet .registration-note,
.registration-print-page.registration-sheet .registration-mini-stat,
.registration-print-page.registration-sheet .registration-qr-card {
    background: rgba(255,255,255,.58) !important;
    box-shadow: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) {
        font-size: 9pt !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-document-title {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 118px !important;
        gap: 7px !important;
        margin-bottom: 7px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-school-copy h2 {
        margin-bottom: 3px !important;
        font-size: 1.08rem !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-school-copy p,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-body p {
        margin-bottom: 4px !important;
        line-height: 1.24 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-qr-card {
        width: 118px !important;
        flex: 0 0 118px !important;
        padding: 5px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-qr-image {
        width: 84px !important;
        height: 84px !important;
        padding: 2px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-qr-meta {
        display: block !important;
        margin-top: 4px !important;
        font-size: .56rem !important;
        line-height: 1.12 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-banner {
        margin-bottom: 6px !important;
        padding: 7px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-profile {
        gap: 7px !important;
        align-items: flex-start !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-photo,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-photo-placeholder {
        width: 64px !important;
        height: 64px !important;
        border-radius: 12px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-name {
        font-size: .98rem !important;
        line-height: 1.1 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-subtitle {
        margin-top: 1px !important;
        line-height: 1.16 !important;
        font-size: .74rem !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-chip-row {
        gap: 3px !important;
        margin-top: 4px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-chip {
        padding: 3px 5px !important;
        font-size: .62rem !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-body {
        padding: 6px !important;
        margin-bottom: 5px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-summary {
        gap: 4px !important;
        margin: 5px 0 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-summary-item {
        border-radius: 10px !important;
        padding: 4px 6px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-summary-item span {
        font-size: .58rem !important;
        margin-bottom: 2px !important;
        letter-spacing: .06em !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .admission-letter-summary-item strong {
        font-size: .68rem !important;
        line-height: 1.16 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-sections {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
        gap: 5px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-section {
        padding: 6px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-section-title {
        margin-bottom: 5px !important;
        font-size: .68rem !important;
        letter-spacing: .08em !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .detail-list-compact {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px 10px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .detail-list-reporting {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .detail-item {
        padding-bottom: 2px !important;
        margin-bottom: 0 !important;
        break-inside: avoid !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .detail-label,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .detail-value {
        font-size: .68rem !important;
        line-height: 1.18 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-note,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-verification-strip,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-row {
        margin-top: 6px !important;
        padding-top: 5px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-note,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-verification-strip {
        display: none !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-link-text {
        font-size: .66rem !important;
        line-height: 1.15 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 4.5rem !important;
        margin-top: 6px !important;
        padding-top: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-role {
        font-size: .62rem !important;
        margin-bottom: 6px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-note {
        margin-top: 3px !important;
        font-size: .58rem !important;
        line-height: 1.12 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-line {
        width: min(100%, 170px) !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page) .registration-signature-image {
        max-width: min(100%, 150px) !important;
        max-height: 44px !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet {
        page-break-inside: avoid !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .registration-sections,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .registration-signature-row,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .registration-signature-block {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }


    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .document-watermark {
        z-index: 3 !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .document-watermark-image {
        width: min(54%, 340px) !important;
        max-width: 54% !important;
        max-height: 54% !important;
        opacity: .24 !important;
        filter: grayscale(100%) contrast(1.24) !important;
    }

    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .admission-letter-body,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .registration-section,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .registration-note,
    .document-sheet.print-page:not(.registration-print-page):not(.payment-receipt-page).admission-letter-sheet .admission-letter-summary-item {
        background: rgba(255,255,255,.72) !important;
    }

    .payment-receipt-page {
        font-size: 10.5pt;
    }

    .payment-receipt-sheet .payment-receipt-watermark {
        position: fixed !important;
        inset: 0 !important;
        z-index: 3 !important;
    }

    .payment-receipt-sheet .document-watermark-image {
        width: min(54%, 340px) !important;
        max-width: 54% !important;
        max-height: 54% !important;
        opacity: .24 !important;
        filter: grayscale(100%) contrast(1.22) !important;
    }

    .payment-receipt-print-header {
        display: block !important;
    }

    .payment-receipt-page .document-title {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 170px !important;
        align-items: start !important;
        margin-bottom: 10px !important;
    }

    .payment-receipt-page .row {
        --bs-gutter-x: 10px !important;
        --bs-gutter-y: 10px !important;
    }

    .payment-receipt-page .card-header {
        padding: 8px 10px !important;
        font-size: .84rem !important;
        background: #eff3f8 !important;
        color: #111827 !important;
        border-bottom: 1px solid #d1d5db !important;
    }

    .payment-receipt-page .card-body {
        padding: 10px !important;
    }

    .payment-receipt-page .payment-details-summary {
        margin-bottom: 10px !important;
        padding: 8px 10px !important;
        border-color: #d1d5db !important;
        background: #fff !important;
    }

    .payment-receipt-page .payment-details-summary-label {
        font-size: .7rem !important;
        margin-bottom: 2px !important;
    }

    .payment-receipt-page .payment-details-summary-value {
        font-size: 1.2rem !important;
    }

    .payment-receipt-page .registration-qr-card {
        width: 170px !important;
        padding: 10px !important;
        gap: 6px !important;
    }

    .payment-receipt-page .payment-receipt-qr-image {
        width: 124px !important;
        height: 124px !important;
        margin-bottom: 4px !important;
    }

    .payment-receipt-page .payment-receipt-reference {
        padding: 5px 6px !important;
        border: 1px solid #d1d5db !important;
        background: #fff !important;
        color: #111827 !important;
        font-size: .75rem !important;
    }

    .payment-receipt-page .payment-receipt-chip-row {
        margin-bottom: 10px !important;
    }

    .payment-receipt-page .detail-item {
        padding-bottom: 6px !important;
        margin-bottom: 0 !important;
    }

    .payment-receipt-page .payment-detail-item .detail-label {
        flex-basis: 40% !important;
        max-width: 40% !important;
    }

    .payment-receipt-page .detail-label,
    .payment-receipt-page .detail-value {
        font-size: .84rem !important;
    }

    .payment-receipt-page .registration-note {
        margin-top: 10px !important;
        padding-top: 10px !important;
        border-top: 1px solid #d1d5db !important;
    }

    .payment-receipt-page .registration-qr-meta {
        color: #4b5563 !important;
        font-size: .76rem !important;
    }

    .graduated-registry-page {
        font-size: 9.6pt !important;
    }

    .graduated-registry-page .document-title {
        margin-bottom: 8px !important;
    }

    .graduated-registry-page .registration-school-copy h1 {
        font-size: 1.95rem !important;
        margin-bottom: 4px !important;
    }

    .graduated-registry-page .registration-school-copy p {
        font-size: .82rem !important;
        max-width: 86% !important;
    }

    .graduated-registry-page .payment-receipt-chip-row {
        margin-bottom: 8px !important;
        gap: 5px !important;
    }

    .graduated-registry-page .soft-badge {
        padding: 4px 8px !important;
        font-size: .7rem !important;
    }

    .graduated-registry-page .graduated-registry-intro {
        --bs-gutter-x: 8px !important;
        --bs-gutter-y: 8px !important;
        margin-bottom: 10px !important;
    }

    .graduated-registry-page .graduated-registry-summary-col {
        width: 33.333333% !important;
    }

    .graduated-registry-page .graduated-registry-note-col {
        width: 66.666667% !important;
    }

    .graduated-registry-page .graduated-registry-note-col {
        display: none !important;
    }

    .graduated-registry-page .graduated-registry-summary-col {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .graduated-registry-page .card.table-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .graduated-registry-page .table-card .card-header {
        padding: 7px 9px !important;
        font-size: .8rem !important;
    }

    .graduated-registry-page .table-card .card-body {
        padding: 8px 9px !important;
    }

    .graduated-registry-page .graduated-registry-summary-col .detail-list {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .graduated-registry-page .graduated-registry-summary-col .detail-item {
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .graduated-registry-page .graduated-registry-note-col p {
        font-size: .77rem !important;
        line-height: 1.35 !important;
        margin-bottom: 4px !important;
    }

    .graduated-registry-page .graduated-registry-table-card {
        margin-top: 0 !important;
    }

    .graduated-registry-page .graduated-registry-table {
        table-layout: fixed !important;
        width: 100% !important;
    }

    .graduated-registry-page .graduated-registry-table th,
    .graduated-registry-page .graduated-registry-table td {
        padding: 7px 8px !important;
        font-size: .74rem !important;
        vertical-align: top !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
    }

    .graduated-registry-page .graduated-registry-table thead th {
        font-size: .7rem !important;
        white-space: normal !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(1),
    .graduated-registry-page .graduated-registry-table td:nth-child(1) {
        width: 21% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(2),
    .graduated-registry-page .graduated-registry-table td:nth-child(2) {
        width: 14% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(3),
    .graduated-registry-page .graduated-registry-table td:nth-child(3) {
        width: 14% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(4),
    .graduated-registry-page .graduated-registry-table td:nth-child(4) {
        width: 10% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(5),
    .graduated-registry-page .graduated-registry-table td:nth-child(5) {
        width: 18% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(6),
    .graduated-registry-page .graduated-registry-table td:nth-child(6) {
        width: 11% !important;
    }

    .graduated-registry-page .graduated-registry-table th:nth-child(7),
    .graduated-registry-page .graduated-registry-table td:nth-child(7) {
        width: 12% !important;
    }

    .graduated-registry-page .graduated-registry-student-cell .fw-semibold {
        font-size: .76rem !important;
        line-height: 1.25 !important;
    }

    .graduated-registry-page .graduated-registry-table .small {
        font-size: .66rem !important;
        line-height: 1.25 !important;
    }

    body:has(.student-id-page) .topbar,
    body:has(.student-id-page) .sidebar,
    body:has(.student-id-page) .offcanvas,
    body:has(.student-id-page) .student-sidebar,
    body:has(.student-id-page) .top-action-bar,
    body:has(.student-id-page) .no-print {
        display: none !important;
    }

    body:has(.student-id-page) {
        background: #fff !important;
    }

    body:has(.student-id-page) .content-area,
    body:has(.student-id-page) .public-shell,
    body:has(.student-id-page) .student-shell-content,
    body:has(.student-id-page) .page-stack {
        padding: 0 !important;
        background: #fff !important;
    }

    body:has(.student-id-page) .student-shell {
        display: block !important;
    }

    .student-id-page {
        padding: 0 !important;
    }

    .student-id-layout {
        width: auto !important;
        grid-template-columns: repeat(2, 85.6mm) !important;
        justify-content: center !important;
        gap: 6mm !important;
    }

    .student-id-card-sheet {
        box-shadow: none !important;
        border: .35mm solid #0f172a !important;
        border-radius: 4mm !important;
        width: 85.6mm !important;
        overflow: hidden !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .student-id-card-front,
    .student-id-card-back,
    .student-id-status-chip,
    .student-id-detail-card,
    .student-id-back-card,
    .student-id-qr-block-back {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .student-id-card-front {
        background:
            radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 24%) !important,
            linear-gradient(160deg, #10274d 0%, #0f1f38 58%, #08182d 100%) !important;
        color: #fff !important;
    }

    .student-id-card-back {
        background:
            linear-gradient(180deg, #0b1324 0 14mm, transparent 14mm) !important,
            linear-gradient(180deg, #ffffff 0%, #edf3fb 100%) !important;
        color: #0f172a !important;
        border: .3mm solid #0f172a !important;
    }

    .student-id-card-body {
        grid-template-columns: 25mm 1fr !important;
        gap: 4mm !important;
        text-align: left !important;
        padding: 0 4.8mm 4mm !important;
    }

    .student-id-card-back-body {
        grid-template-columns: 22mm 1fr !important;
        gap: 3.5mm !important;
        text-align: left !important;
        padding: 3.5mm 4.8mm 4mm !important;
    }

    .student-id-photo {
        width: 23mm !important;
        height: 29mm !important;
        border-radius: 3mm !important;
        border: .45mm solid rgba(255,255,255,.3) !important;
    }

    .student-id-maincopy h3 {
        font-size: .95rem !important;
        color: #ffffff !important;
    }

    .student-id-detail-grid {
        gap: 2mm !important;
    }

    .student-id-detail-card {
        padding: 2.3mm 2.6mm !important;
        background: rgba(255,255,255,.18) !important;
        border: .25mm solid rgba(255,255,255,.24) !important;
    }

    .student-id-back-grid {
        gap: 2mm !important;
    }

    .student-id-back-card {
        padding: 2.3mm 2.6mm !important;
        background: #ffffff !important;
        border: .25mm solid #b9c6d6 !important;
    }

    .student-id-qr-image,
    .student-id-qr-fallback {
        width: 18mm !important;
        height: 18mm !important;
        min-height: 18mm !important;
    }

    .student-id-qr-block-back {
        padding: 2.4mm !important;
        background: #ffffff !important;
        border: .25mm solid #9fb0c4 !important;
    }

    .student-id-back-heading {
        font-size: .7rem !important;
        color: #0f172a !important;
    }

    .student-id-card-topband {
        padding: 4mm 4.8mm 2.5mm !important;
    }

    .student-id-card-brand .section-eyebrow,
    .student-id-card-schoolcode,
    .student-id-detail-card span,
    .student-id-back-card span {
        font-size: .48rem !important;
    }

    .student-id-card-brand .section-eyebrow,
    .student-id-card-schoolcode,
    .student-id-label,
    .student-id-program,
    .student-id-detail-card span,
    .student-id-detail-card strong,
    .student-id-card-footerband,
    .student-id-card-footerband-back {
        color: #ffffff !important;
    }

    .student-id-card-brand h2 {
        font-size: .84rem !important;
        color: #ffffff !important;
    }

    .student-id-program,
    .student-id-detail-card strong,
    .student-id-back-card strong,
    .student-id-back-text,
    .student-id-back-note,
    .student-id-card-footerband,
    .student-id-card-footerband-back {
        font-size: .62rem !important;
    }

    .student-id-label,
    .student-id-status-chip {
        font-size: .52rem !important;
    }

    .student-id-status-chip {
        background: rgba(255,255,255,.22) !important;
        border: .25mm solid rgba(255,255,255,.25) !important;
        color: #ffffff !important;
    }

    .student-id-chip-row {
        gap: 1.5mm !important;
        margin-bottom: 2.5mm !important;
    }

    .student-id-chip-row .soft-badge {
        font-size: .46rem !important;
        padding: 1.1mm 1.6mm !important;
        font-weight: 800 !important;
    }

    .student-id-card-footerband {
        padding: 2.8mm 4.8mm 4mm !important;
        border-top: .25mm solid rgba(255,255,255,.25) !important;
    }

    .student-id-back-text,
    .student-id-back-note,
    .student-id-back-card span,
    .student-id-back-card strong,
    .student-id-card-footerband-back {
        color: #1e293b !important;
    }

    .student-id-back-note {
        border-top: .25mm solid #cbd5e1 !important;
    }

    .student-id-card-footerband-back {
        border-top: .25mm solid #cbd5e1 !important;
    }
}

@media (max-width: 992px) {
    body.staff-app-shell-body .app-shell {
        --staff-sidebar-width: 0px;
    }
    body.staff-app-shell-body .content-area {
        max-width: 100%;
        width: 100%;
    }
    .sidebar { display: none; }
    .sidebar-toggle-btn { display: none; }
    .sidebar-mobile-btn { display: inline-grid; }
    .content-area,
    .public-shell { padding: 16px; }
    .public-layout { grid-template-columns: 1fr; }
    .public-sidebar { position: static; }
    .hero-mini-grid,
    .public-hero-grid { grid-template-columns: 1fr; }
    .school-actions {
        justify-content: flex-start;
        max-width: none;
        margin-left: 0;
    }
    .school-card-grid,
    .school-directory-stats,
    .school-dashboard-strip,
    .approval-queue-stats,
    .approval-queue-layout,
    .clinic-summary-grid,
    .clinic-urgent-grid,
    .registration-insight-strip,
    .class-album-filters,
    .workflow-compact-grid,
    .workflow-compact-grid-queue,
    .upload-guidance-grid,
    .upload-support-grid,
    .qr-checkin-layout {
        grid-template-columns: 1fr;
    }
    .registration-workspace {
        grid-template-columns: 1fr;
    }
    .official-admission-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .registration-sidebar {
        position: static;
    }
    .settings-admission-rule-header {
        flex-direction: column;
    }
    .settings-school-select {
        min-width: 100%;
    }
    .settings-admission-rule-preview,
    .settings-admission-rule-mini-grid {
        width: 100%;
        grid-template-columns: 1fr;
    }
    .workflow-compact-header {
        flex-direction: column;
    }
    .school-card-grid[data-view="compact"] .school-directory-contact,
    .school-card-grid[data-view="compact"] .school-directory-stats {
        grid-template-columns: 1fr;
    }
    .school-editor-panel {
        position: static;
    }
    .school-portal-stage,
    .school-portal-support-grid,
    .school-portal-meta-grid {
        grid-template-columns: 1fr;
    }
    .school-portal-section-heading,
    .school-portal-brand-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .school-portal-brand-mark {
        width: 78px;
        height: 78px;
        border-radius: 22px;
    }
    .school-table tbody td { min-width: 180px; }
    .admin-grid,
    .timeline-strip { grid-template-columns: 1fr; }
    .student-shell {
        grid-template-columns: 1fr;
    }
    .student-sidebar {
        position: static;
    }
    .student-guide-band {
        grid-template-columns: 1fr;
    }
    .student-id-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }
    .student-id-card-body {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .student-id-card-back-body {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .student-id-chip-row {
        justify-content: center;
    }
    .student-id-back-grid {
        grid-template-columns: 1fr;
    }
    .student-id-card-footerband {
        flex-direction: column;
    }
    .student-id-card-sheet {
        width: min(100%, 360px);
    }
    .clinic-form-grid {
        grid-template-columns: 1fr;
    }
    .report-card-formal-header,
    .report-card-bio-card,
    .report-card-profile,
    .report-card-summary-grid,
    .report-card-formal-stats,
    .report-card-formal-lower {
        grid-template-columns: 1fr;
    }
    .report-card-cluster {
        padding: .9rem;
    }
    .report-card-identity-grid {
        grid-template-columns: 1fr;
    }
    .report-card-bio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-card-bio-grid-formal,
    .report-card-formal-lower-top,
    .report-card-progress-grid,
    .report-card-conduct-pair,
    .report-card-remarks-grid,
    .report-card-student-details-columns {
        grid-template-columns: 1fr;
    }
    .registration-profile,
    .registration-sections {
        grid-template-columns: 1fr;
    }
    .class-album-meta-grid {
        grid-template-columns: 1fr;
    }
    .registration-document-title {
        flex-direction: column;
    }
    .registration-qr-card {
        width: 100%;
        flex-basis: auto;
    }
    .admission-letter-profile {
        flex-direction: column;
        align-items: flex-start;
    }
    .title-row {
        flex-direction: column;
    }
    .academic-summary-main {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 575.98px) {
    .registration-form-panel {
        padding: .85rem;
    }
    .official-admission-summary-head,
    .registration-submit-bar {
        align-items: stretch;
        flex-direction: column;
    }
    .registration-form-title-row {
        align-items: flex-start;
    }
    .official-admission-grid,
    .registration-photo-control {
        grid-template-columns: 1fr;
    }
    .registration-photo-control img,
    .registration-photo-control span {
        height: 96px;
        width: 96px;
    }
    .registration-submit-bar .btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .class-album-grid,
    .class-album-filters {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 5mm;
    }

    body:has(.report-card-page) .topbar,
    body:has(.report-card-page) .sidebar,
    body:has(.report-card-page) .offcanvas,
    body:has(.report-card-page) .users-banner,
    body:has(.report-card-page) .card-soft,
    body:has(.report-card-page) .no-print {
        display: none !important;
    }

    body:has(.report-card-page) {
        background: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body:has(.report-card-page) .content-area {
        padding: 0 !important;
    }

    body:has(.report-card-page) .content-area > *:not(.report-card-page) {
        display: none !important;
    }

    .report-card-page {
        padding: 0 !important;
        position: relative !important;
    }

    .report-card-page-watermark {
        display: flex !important;
        position: fixed !important;
        inset: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 9999 !important;
        pointer-events: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-card-page-watermark-image {
        display: block !important;
        width: min(62vw, 500px) !important;
        max-width: 500px !important;
        height: auto !important;
        opacity: .32 !important;
        filter: contrast(1.18) !important;
        mix-blend-mode: multiply !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-card-page .report-card-sheet {
        box-shadow: none !important;
        border: 1px solid #bcc9d8 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        padding: 5px !important;
        overflow: visible !important;
    }

    .report-card-page .report-card-print-watermark,
    .report-card-page .report-card-print-watermark-image {
        display: none !important;
    }

    .report-card-page .report-card-sheet .report-card-watermark {
        display: none !important;
    }

    .report-card-page .report-card-sheet .report-card-watermark-image-layer {
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 8 !important;
        pointer-events: none !important;
        overflow: hidden !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-card-page .report-card-sheet .report-card-watermark-image-layer .document-watermark-image {
        width: min(48%, 305px) !important;
        max-width: 305px !important;
        height: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: .42 !important;
        filter: grayscale(100%) contrast(1.06) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .report-card-page .report-card-sheet > *:not(.document-watermark):not(.report-card-watermark-image-layer) {
        position: relative !important;
        z-index: 1 !important;
    }

    .report-card-page .print-only,
    .report-card-page .report-card-print-header {
        display: block !important;
    }

    .report-card-page .report-card-print-header {
        margin-bottom: 4px !important;
    }

    .report-card-page .report-card-print-header h2 {
        font-size: 16px !important;
        margin-bottom: 2px !important;
    }

    .report-card-page .report-card-print-meta {
        font-size: 9.5px !important;
        gap: 6px !important;
    }

    .report-card-page .document-title.report-card-header {
        grid-template-columns: minmax(0, 1fr) 165px !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
    }

    .report-card-page .report-card-school-copy h1 {
        font-size: 17px !important;
        margin-bottom: 2px !important;
    }

    .report-card-page .report-card-school-copy p,
    .report-card-page .report-card-school-copy .small {
        font-size: 9.5px !important;
        margin-bottom: 0 !important;
        line-height: 1.25 !important;
        color: #344054 !important;
    }

    .report-card-page .report-card-formal-header {
        grid-template-columns: minmax(0, 1fr) 190px !important;
        gap: 6px !important;
        margin-bottom: 4px !important;
    }

    .report-card-page .report-card-formal-title,
    .report-card-page .report-card-position-card,
    .report-card-page .report-card-bio-card,
    .report-card-page .report-card-summary-card,
    .report-card-page .table-card,
    .report-card-page .report-card-cluster {
        box-shadow: none !important;
        border: 1px solid #c6d2df !important;
    }

    .report-card-page .report-card-formal-title,
    .report-card-page .report-card-position-card,
    .report-card-page .report-card-bio-card,
    .report-card-page .report-card-summary-card,
    .report-card-page .report-card-progress-card,
    .report-card-page .report-card-remark-block {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .report-card-page .report-card-cluster,
    .report-card-page .report-card-academic-card,
    .report-card-page .report-card-remarks-card,
    .report-card-page .report-card-formal-lower,
    .report-card-page .report-card-conduct-pair,
    .report-card-page .table-card {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .report-card-page .report-card-sheet.has-watermark .report-card-formal-title,
    .report-card-page .report-card-sheet.has-watermark .report-card-position-card,
    .report-card-page .report-card-sheet.has-watermark .report-card-bio-card,
    .report-card-page .report-card-sheet.has-watermark .report-card-summary-card,
    .report-card-page .report-card-sheet.has-watermark .report-card-profile,
    .report-card-page .report-card-sheet.has-watermark .report-card-progress-card,
    .report-card-page .report-card-sheet.has-watermark .report-card-remark-block,
    .report-card-page .report-card-sheet.has-watermark .table-card,
    .report-card-page .report-card-sheet.has-watermark .report-card-cluster {
        background: rgba(255,255,255,.68) !important;
    }

    .report-card-page .report-card-formal-title {
        background: rgba(255,255,255,.62) !important;
        border-radius: 8px !important;
        padding: 6px 8px !important;
        border-top: 3px solid #0f2f5f !important;
    }

    .report-card-page .report-card-formal-title h1 {
        font-size: 16px !important;
        margin-bottom: 3px !important;
    }

    .report-card-page .report-card-position-card {
        border-radius: 8px !important;
        padding: 6px 8px !important;
        background: rgba(245,248,252,.56) !important;
        color: #102a43 !important;
        border-top: 3px solid #0f2f5f !important;
    }

    .report-card-page .report-card-position-label {
        font-size: 9.5px !important;
        color: #52606d !important;
    }

    .report-card-page .report-card-position-value {
        font-size: 20px !important;
        margin-bottom: 2px !important;
    }

    .report-card-page .report-card-position-meta {
        font-size: 8.8px !important;
        color: #344054 !important;
    }

    .report-card-page .report-card-position-card *,
    .report-card-page .report-card-position-value {
        color: inherit !important;
    }

    .report-card-page .report-card-student-photo,
    .report-card-page .report-card-formal-photo {
        width: 60px !important;
        height: 70px !important;
        border-radius: 10px !important;
    }

    .report-card-page .report-card-profile {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
        gap: 7px !important;
        margin-bottom: 6px !important;
        align-items: stretch !important;
    }

    .report-card-page .report-card-admin-profile {
        grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    }

    .report-card-page .report-card-student-media {
        padding: 7px 8px !important;
        gap: 8px !important;
        border-radius: 10px !important;
        align-items: flex-start !important;
    }

    .report-card-page .report-card-admin-student-media {
        padding: 6px 7px !important;
    }

    .report-card-page .report-card-student-name {
        font-size: 13px !important;
        margin-bottom: 1px !important;
        color: #0f172a !important;
    }

    .report-card-page .report-card-student-subtitle {
        font-size: 9.5px !important;
        margin-bottom: 3px !important;
        color: #475467 !important;
    }

    .report-card-page .report-card-student-meta {
        gap: 4px !important;
    }

    .report-card-page .report-card-admin-identity-grid {
        gap: 4px !important;
        margin-top: 5px !important;
    }

    .report-card-page .report-card-bio-card {
        grid-template-columns: minmax(0, 1fr) 112px !important;
        gap: 6px !important;
        margin-bottom: 4px !important;
        padding: 6px !important;
        background: #ffffff !important;
    }

    .report-card-page .report-card-bio-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .report-card-page .report-card-bio-grid-formal {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px 8px !important;
    }

    .report-card-page .report-card-bio-line {
        padding: 3px 0 !important;
        border-bottom: 1px solid #dbe4ee !important;
    }

    .report-card-page .report-card-bio-line span {
        font-size: 8px !important;
    }

    .report-card-page .report-card-bio-line strong {
        font-size: 10px !important;
    }

    .report-card-page .report-card-bio-item {
        background: #fbfcfe !important;
        border: 1px solid #dbe4ee !important;
        border-radius: 10px !important;
        padding: 5px 6px !important;
    }

    .report-card-page .report-card-bio-item span {
        font-size: 8px !important;
    }

    .report-card-page .report-card-bio-item strong {
        font-size: 10px !important;
    }

    .report-card-page .report-card-formal-stats,
    .report-card-page .report-card-summary-grid {
        gap: 3px !important;
    }

    .report-card-page .report-card-cluster {
        padding: 5px !important;
        border-radius: 8px !important;
        margin-bottom: 4px !important;
        background: rgba(255,255,255,.95) !important;
    }

    .report-card-page .report-card-cluster-head {
        margin-bottom: 3px !important;
        padding-bottom: 2px !important;
        border-bottom: 1px solid #cfd8e3 !important;
    }

    .report-card-page .report-card-cluster-head h3 {
        font-size: 9.5px !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
        margin-bottom: 1px !important;
        color: #102a43 !important;
    }

    .report-card-page .report-card-cluster-head p {
        display: none !important;
    }

    .report-card-page .report-card-formal-lower {
        gap: 5px !important;
    }

    .report-card-page .report-card-formal-lower-top {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-bottom: 4px !important;
    }

    .report-card-page .report-card-progress-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        --bs-gutter-x: 6px !important;
        margin-top: 3px !important;
        margin-bottom: 5px !important;
    }

    .report-card-page .report-card-progress-row > [class*="col-"] {
        flex: 0 0 33.3333% !important;
        width: 33.3333% !important;
        max-width: 33.3333% !important;
    }

    .report-card-page .report-card-progress-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;
        margin-top: 2px !important;
        margin-bottom: 2px !important;
    }

    .report-card-page .report-card-progress-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .report-card-page .report-card-progress-card-wide {
        grid-column: span 2 !important;
    }

    .report-card-page .report-card-progress-card-qr {
        grid-column: span 1 !important;
    }

    .report-card-page .report-card-progress-card .card-body {
        padding: 3px !important;
    }

    .report-card-page .report-card-progress-card .fw-semibold {
        font-size: 9px !important;
        line-height: 1.15 !important;
    }

    .report-card-page .report-card-progress-card .small,
    .report-card-page .report-card-progress-card .card-body p {
        font-size: 7px !important;
        line-height: 1.05 !important;
    }

    .report-card-page .report-card-progress-card-qr .registration-qr-card {
        max-width: 190px !important;
        margin-bottom: 2px !important;
    }

    .report-card-page .report-card-progress-card-qr .registration-qr-image {
        width: 128px !important;
        height: 128px !important;
        padding: .35rem !important;
    }

    .report-card-page .report-card-progress-card-qr .registration-qr-label,
    .report-card-page .report-card-progress-card-qr .registration-qr-meta {
        font-size: 7px !important;
        line-height: 1.05 !important;
    }

    .report-card-page .report-card-progress-card-qr .registration-qr-meta {
        display: none !important;
    }

    .report-card-page .report-card-progress-card-qr .detail-item {
        padding: 1px 0 !important;
    }

    .report-card-page .report-card-progress-card-qr .verify-document-code {
        font-size: 8.5px !important;
        word-break: break-all !important;
    }

    .report-card-page .report-card-conduct-pair {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;
        margin-top: 0 !important;
        margin-bottom: 3px !important;
    }

    .report-card-page .report-card-remarks-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;
    }

    .report-card-page .report-card-remark-block {
        border: 1px solid #dbe4ee !important;
        border-radius: 10px !important;
        background: rgba(251,252,254,.48) !important;
        padding: 7px 8px !important;
    }

    .report-card-page .report-card-summary-card,
    .report-card-page .report-card-bio-card,
    .report-card-page .card-body {
        padding: 4px !important;
    }

    .report-card-page .report-card-summary-card {
        background: rgba(255,255,255,.50) !important;
        border-radius: 10px !important;
    }

    .report-card-page .report-card-summary-card .label {
        font-size: 7.5px !important;
        margin-bottom: 1px !important;
        color: #475467 !important;
    }

    .report-card-page .report-card-summary-card .value {
        font-size: 11px !important;
        margin-bottom: 1px !important;
        color: #0f172a !important;
    }

    .report-card-page .report-card-summary-card .meta {
        font-size: 7.5px !important;
        line-height: 1.05 !important;
        color: #475467 !important;
    }

    .report-card-page .report-card-section-intro,
    .report-card-page .report-card-note-panel,
    .report-card-page .report-card-identity-item {
        border: 1px solid #cfd8e3 !important;
        box-shadow: none !important;
    }

    .report-card-page .card-header {
        background: rgba(238,243,248,.42) !important;
        color: #102a43 !important;
        border-bottom: 1px solid #c6d2df !important;
        padding: 3px 5px !important;
        font-size: 8px !important;
        letter-spacing: .08em !important;
        font-weight: 800 !important;
    }

    .report-card-page .table-card {
        border-radius: 8px !important;
        background: rgba(255,255,255,.46) !important;
    }

    .report-card-page .table-card .detail-list {
        gap: 0 !important;
    }

    .report-card-page .report-card-academic-card {
        margin-bottom: 2px !important;
    }

    .report-card-page .score-entry-table-wrap {
        overflow: visible !important;
    }

    .report-card-page .report-card-table {
        margin-bottom: 0 !important;
    }

    .report-card-page .report-card-table thead {
        display: table-header-group !important;
    }

    .report-card-page .report-card-table tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .report-card-page .report-card-table th,
    .report-card-page .report-card-table td,
    .report-card-page .detail-label,
    .report-card-page .detail-value {
        font-size: .6rem !important;
    }

    .report-card-page .report-card-table th {
        padding: 2px 3px !important;
        background: rgba(238,243,248,.40) !important;
        color: #334155 !important;
        border-bottom: 1px solid #cbd5e1 !important;
    }

    .report-card-page .report-card-subject-table th {
        padding: 3px 4px !important;
        line-height: 1.15 !important;
        min-height: 0 !important;
    }

    .report-card-page .report-card-subject-table-portal {
        table-layout: fixed !important;
        width: 100% !important;
    }

    .report-card-page .report-card-subject-table-portal th,
    .report-card-page .report-card-subject-table-portal td {
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        font-size: .52rem !important;
        line-height: 1.08 !important;
    }

    .report-card-page .report-card-subject-table-portal th {
        padding: 2px 2px !important;
        letter-spacing: .015em !important;
    }

    .report-card-page .report-card-subject-table-portal td {
        padding: 1.5px 2px !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-subject {
        width: 16% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-components {
        width: 24% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-score {
        width: 8% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-grade {
        width: 7% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-comparison {
        width: 18% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-remark {
        width: 10% !important;
    }

    .report-card-page .report-card-subject-table-portal .report-col-teacher {
        width: 17% !important;
    }

    .report-card-page .report-card-subject-table-portal th:nth-child(6),
    .report-card-page .report-card-subject-table-portal td:nth-child(6),
    .report-card-page .report-card-subject-table-portal th:nth-child(7),
    .report-card-page .report-card-subject-table-portal td:nth-child(7) {
        display: none !important;
    }

    .report-card-page .report-card-subject-table-portal .report-card-teacher-cell,
    .report-card-page .report-card-subject-table-portal .report-card-teacher-cell span {
        line-height: 1.15 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .report-card-page .report-card-table td {
        padding: 2px 3px !important;
        color: #111827 !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }

    .result-summary-slip-page {
        max-width: none !important;
    }

    .result-summary-slip-sheet {
        padding: 5mm 5.5mm !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: 1px solid #d5dbe4 !important;
        background: #fff !important;
    }

    .result-summary-slip-sheet.has-watermark::before {
        background-size: min(44%, 210px) !important;
        opacity: .09 !important;
    }

    .result-summary-slip-header {
        margin-bottom: .3rem !important;
    }

    .result-summary-slip-header h2 {
        font-size: .92rem !important;
    }

    .result-summary-slip-meta {
        font-size: .56rem !important;
        gap: .2rem .4rem !important;
    }

    .result-summary-slip-student {
        grid-template-columns: minmax(0, 1fr) 76px !important;
        gap: .45rem !important;
        padding: .35rem .45rem !important;
        margin-bottom: .32rem !important;
        border-radius: 12px !important;
    }

    .result-summary-slip-photo {
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
        height: 76px !important;
        border-radius: 12px !important;
    }

    .result-summary-slip-student-name {
        font-size: .74rem !important;
    }

    .result-summary-slip-student-subtitle {
        margin-bottom: .22rem !important;
        font-size: .58rem !important;
    }

    .result-summary-slip-student-grid {
        gap: .25rem .4rem !important;
    }

    .result-summary-slip-student-grid span,
    .result-summary-slip-stat span,
    .result-summary-slip-remarks span,
    .result-summary-slip-qr-label {
        font-size: .5rem !important;
    }

    .result-summary-slip-student-grid strong,
    .result-summary-slip-stat strong,
    .result-summary-slip-remarks strong {
        font-size: .56rem !important;
    }

    .result-summary-slip-stats {
        gap: .22rem !important;
        margin-bottom: .3rem !important;
    }

    .result-summary-slip-stat {
        padding: .24rem .3rem !important;
        border-radius: 8px !important;
    }

    .result-summary-slip-table-card .card-header {
        padding: .22rem .3rem !important;
        font-size: .52rem !important;
    }

    .result-summary-slip-table th {
        font-size: .45rem !important;
        padding: 1.5px 2.5px !important;
    }

    .result-summary-slip-table td {
        font-size: .5rem !important;
        padding: 1.5px 2.5px !important;
    }

    .result-summary-slip-footer {
        grid-template-columns: minmax(0, 1fr) 86px !important;
        gap: .35rem !important;
        margin-top: .3rem !important;
    }

    .result-summary-slip-remarks {
        gap: .22rem !important;
    }

    .result-summary-slip-qr-image {
        width: 68px !important;
        height: 68px !important;
    }

    body:has(.result-summary-slip-page) .footer-bar {
        display: none !important;
    }

    .report-card-page .detail-item {
        padding: 0 !important;
    }

    .report-card-page .detail-label {
        font-size: 7px !important;
        color: #475467 !important;
        line-height: 1.05 !important;
    }

    .report-card-page .detail-value {
        font-size: 8.8px !important;
        line-height: 1.08 !important;
        color: #111827 !important;
        font-weight: 700 !important;
    }

    .report-card-page .soft-badge {
        border: 1px solid #cbd5e1 !important;
        background: #f8fafc !important;
        color: #0f2f5f !important;
        font-weight: 800 !important;
        border-radius: 999px !important;
    }

    .report-card-page .report-card-topbar {
        display: none !important;
    }

    .report-card-page .report-card-conduct-admin-row,
    .report-card-page .report-card-admin-remarks-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        --bs-gutter-x: 8px !important;
    }

    .report-card-page .report-card-conduct-admin-row > [class*="col-"],
    .report-card-page .report-card-admin-remarks-row > [class*="col-"] {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
    }

    .report-card-page .report-card-student-details-columns {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .report-card-page .report-card-student-details-columns::before {
        background: #cbd5e1 !important;
        transform: translateX(-50%) !important;
    }

    .report-card-page .report-card-student-details-column {
        gap: 4px !important;
    }

    .report-card-page .report-card-student-details-column .detail-item {
        border-bottom: 1px solid #dbe4ee !important;
        padding: 2px 0 4px !important;
        gap: 8px !important;
        align-items: flex-start !important;
    }

    .report-card-page .report-card-student-details-column .detail-label {
        flex: 0 0 48% !important;
    }

    .report-card-page .report-card-student-details-column .detail-value {
        flex: 1 1 auto !important;
    }

    .report-card-page .report-card-header,
    .report-card-page .report-card-profile,
    .report-card-page .report-card-progress-grid,
    .report-card-page .report-card-progress-row,
    .report-card-page .report-card-academic-card,
    .report-card-page .report-card-formal-lower,
    .report-card-page .report-card-conduct-admin-row,
    .report-card-page .report-card-conduct-pair,
    .report-card-page .report-card-admin-remarks-row,
    .report-card-page .report-card-remarks-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

.report-card-page .registration-note {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .behaviour-note-student-grid,
    .behaviour-note-summary-box,
    .behaviour-note-sign-row,
    .behaviour-history-bundle-grid {
        grid-template-columns: 1fr;
    }

    .approval-doc-compare-grid {
        grid-template-columns: 1fr;
    }

    .student-profile-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media print {
    body:has(.behaviour-history-bundle-sheet--print) .page-stack > *:not(.behaviour-history-bundle-sheet--print),
    body:has(.behaviour-history-bundle-sheet--print) .behaviour-history-bundle-sheet--print .no-print,
    body:has(.behaviour-history-bundle-sheet--print) .hero-panel,
    body:has(.behaviour-history-bundle-sheet--print) .card.table-card:not(.behaviour-history-bundle-sheet--print) {
        display: none !important;
    }

    body:has(.behaviour-history-bundle-sheet--print) .behaviour-history-bundle-sheet--print {
        margin-top: 0 !important;
        box-shadow: none !important;
    }

    body:has(.behaviour-history-bundle-sheet--print) .behaviour-history-bundle-card,
    body:has(.behaviour-history-bundle-sheet--print) .behaviour-note-summary-box {
        break-inside: avoid;
        page-break-inside: avoid;
        background: rgba(255, 255, 255, .92) !important;
    }

    body:has(.behaviour-history-bundle-sheet--print) .behaviour-history-bundle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .behaviour-note-summary-box {
        background: rgba(255, 255, 255, .82) !important;
    }

    .behaviour-note-body-copy {
        font-size: .95rem;
    }
}

.desk-mobile-strip {
    display: none;
    gap: .7rem;
    overflow-x: auto;
    padding: .2rem 0 .35rem;
    scrollbar-width: thin;
}

.desk-mobile-chip {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    white-space: nowrap;
    padding: .85rem 1rem;
    border-radius: 999px;
    background: #fff;
    color: var(--navy);
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    border: 1px solid rgba(11, 31, 77, .08);
}

.desk-mobile-chip i {
    color: var(--gold);
}

.desk-mobile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.desk-mobile-actions .btn {
    min-height: 46px;
}

.desk-mobile-record-card {
    border: 1px solid rgba(11, 31, 77, .08);
}

.desk-mobile-card-list {
    display: none;
    gap: 1rem;
}

.desk-mobile-record-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.desk-mobile-record-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem .85rem;
    margin-bottom: 1rem;
}

.desk-mobile-label {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--muted);
    margin-bottom: .25rem;
}

.desk-mobile-value {
    font-weight: 700;
    color: var(--text);
    word-break: break-word;
}

@media (max-width: 768px) {
    .desk-mobile-strip {
        display: flex;
        position: sticky;
        top: .5rem;
        z-index: 20;
        margin-top: -.35rem;
    }

    .desk-mobile-actions {
        flex-direction: column;
    }

    .desk-mobile-actions .btn,
    .desk-mobile-actions .soft-badge,
    .desk-mobile-actions a.btn {
        width: 100%;
        justify-content: center;
    }

    .desk-mobile-form .col-auto,
    .desk-mobile-form .col-lg-2,
    .desk-mobile-form .col-lg-3,
    .desk-mobile-form .col-lg-5,
    .desk-mobile-form .col-lg-7 {
        width: 100%;
    }

    .desk-mobile-card-list {
        display: grid;
    }

    #payments_table .table-responsive {
        display: none;
    }

    .qr-checkin-layout {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .qr-checkin-left,
    .qr-checkin-right {
        width: 100%;
    }

    .qr-checkin-left {
        order: 1;
    }

    .qr-checkin-right {
        order: 2;
        display: grid;
        gap: 1rem;
    }

    .qr-checkin-card,
    .qr-scan-result-card,
    .qr-print-card,
    .attendance_scan .card,
    .clinic-summary-grid > .card,
    .housing-toolbar,
    .housing-alert-card,
    .housing-house-card {
        border-radius: 20px;
    }

    .qr-checkin-input {
        min-height: 128px;
        font-size: 1rem;
    }

    .qr-checkin-flow-strip {
        grid-template-columns: 1fr;
    }

    .qr-activity-filter {
        display: grid;
        grid-template-columns: 1fr;
        gap: .85rem;
    }

    .qr-activity-filter-row-primary,
    .qr-activity-filter-row-secondary {
        grid-template-columns: 1fr 1fr;
    }

    .qr-activity-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .75rem;
    }

    .qr-activity-actions .btn {
        width: 100%;
    }

    .qr-camera-card .d-flex,
    .surface-card .d-flex.gap-2,
    .card-soft .d-flex.gap-2,
    .housing-toolbar-actions {
        gap: .75rem !important;
    }

    .card-body.p-4 {
        padding: 1.15rem !important;
    }

    .qr-camera-preview {
        min-height: 260px;
    }

    .qr-scan-feedback-board {
        grid-template-columns: 1fr;
    }

    .qr-scan-feedback-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .clinic-form-grid,
    .housing-alert-grid,
    .housing-house-grid {
        grid-template-columns: 1fr !important;
    }

    .clinic-student-strip,
    .housing-toolbar {
        display: grid;
        gap: 1rem;
    }

    .clinic-list-card,
    .attendance-summary-item {
        padding: 1rem;
    }

    .housing-toolbar-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .housing-toolbar-actions .btn {
        width: 100%;
    }

    .housing-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .desk-mobile-record-grid,
    .hero-mini-grid,
    .housing-stats-grid,
    .qr-scan-feedback-stats,
    .student-portal-highlights {
        grid-template-columns: 1fr;
    }

    .student-portal-highlights {
        display: grid;
        gap: .5rem;
    }

    .hero-panel h1 {
        font-size: 1.6rem;
    }

    .qr-activity-header,
    .desk-mobile-record-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .qr-quick-filter-chips {
        gap: .45rem;
    }

    .qr-activity-filter-row-primary,
    .qr-activity-filter-row-secondary {
        grid-template-columns: 1fr;
    }

    .qr-activity-actions {
        grid-template-columns: 1fr;
    }
}

.student-profile-workspace {
    gap: 1rem;
}

.student-profile-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    border: 1px solid #d8e2ee;
    background: linear-gradient(135deg, #0f172a 0%, #17345f 70%, #916f12 100%);
    color: #fff;
    padding: 1rem;
}

.student-profile-command-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.student-profile-command-photo {
    width: 92px;
    height: 92px;
    border-radius: 8px;
    object-fit: cover;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    flex: 0 0 auto;
}

.student-profile-command-photo-placeholder {
    display: inline-grid;
    place-items: center;
    color: #e2e8f0;
    font-size: 2rem;
}

.student-profile-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.student-profile-command-hero h1 {
    margin: .25rem 0 .55rem;
    font-size: clamp(1.5rem, 2.1vw, 2.15rem);
    font-weight: 900;
}

.student-profile-command-meta,
.student-profile-status-row,
.student-profile-command-nav,
.student-profile-action-grid,
.student-profile-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.student-profile-command-meta span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    color: #eef2ff;
    padding: .42rem .65rem;
    font-size: .78rem;
    font-weight: 800;
}

.student-profile-status-row {
    margin-top: .7rem;
}

.student-profile-command-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.student-profile-command-kpis div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .1);
    padding: .9rem;
}

.student-profile-command-kpis span {
    display: block;
    color: #cbd5e1;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.student-profile-command-kpis strong {
    display: block;
    color: #fff;
    font-size: 1.02rem;
    line-height: 1.25;
    margin-top: .25rem;
}

.student-profile-anchor-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.student-profile-anchor-nav a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .58rem .78rem;
    border-radius: 8px;
    background: #fff;
    color: var(--navy);
    font-size: .84rem;
    font-weight: 800;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.student-profile-overview-grid {
    display: grid;
    grid-template-columns: minmax(290px, 360px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.student-profile-overview-main {
    display: grid;
    gap: 1rem;
}

.student-profile-side-panel,
.student-profile-module-card,
.student-profile-status-card {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.student-profile-side-panel,
.student-profile-module-card {
    padding: 1rem;
}

.student-profile-panel-head,
.student-profile-status-card-top {
    display: flex;
    justify-content: space-between;
    gap: .85rem;
    align-items: flex-start;
}

.student-profile-panel-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 900;
}

.student-profile-detail-list {
    margin-top: .8rem;
}

.student-profile-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.student-profile-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .8rem;
}

.student-profile-status-card {
    padding: .9rem;
}

.student-profile-status-card-top > span:first-child,
.student-profile-status-card small,
.student-profile-result-box .label,
.student-profile-result-box .meta {
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.student-profile-status-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.15rem;
    line-height: 1.15;
    margin-top: .55rem;
}

.student-profile-status-card small {
    display: block;
    margin-top: .25rem;
}

.student-profile-empty {
    border-radius: 8px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #64748b;
    padding: .85rem;
    font-weight: 700;
}

.student-profile-timeline {
    margin-top: .85rem;
}

.student-profile-section .table-card {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.student-profile-section .table-card .card-header {
    background: #0f172a;
    color: #fff;
    border-bottom: 0;
}

.student-profile-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.student-profile-result-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-profile-result-box {
    padding: .85rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.student-profile-result-box .label {
    display: block;
    text-transform: uppercase;
    margin-bottom: .25rem;
}

.student-profile-result-box .value {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1.1;
}

.student-profile-result-box .meta {
    margin-top: .25rem;
}

.student-profile-quick-links .btn {
    min-width: 155px;
}

.student-profile-workspace .student-mini-item {
    border-radius: 8px;
    background: #f8fafc;
}

@media (max-width: 991.98px) {
    .student-profile-command-hero,
    .student-profile-overview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .student-profile-command-identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .student-profile-action-grid,
    .student-profile-command-kpis,
    .student-profile-result-grid,
    .student-profile-result-grid--compact {
        grid-template-columns: 1fr 1fr;
    }

    .student-profile-anchor-nav,
    .student-profile-quick-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .student-profile-action-grid,
    .student-profile-command-kpis,
    .student-profile-anchor-nav,
    .student-profile-quick-links,
    .student-profile-result-grid,
    .student-profile-result-grid--compact {
        grid-template-columns: 1fr;
    }
}

.inventory-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .9fr);
    gap: 1.25rem;
    align-items: stretch;
}

.inventory-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.inventory-summary-grid .metric-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(11, 31, 77, .08);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(7, 23, 51, .06);
    padding: 1rem 1.05rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 106px;
}

.inventory-summary-grid .metric-label {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted);
    line-height: 1.25;
    margin-bottom: .55rem;
}

.inventory-summary-grid .metric-value {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1;
}

.inventory-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.boarding-ops-page {
    display: grid;
    gap: 1.25rem;
}

.boarding-showcase-banner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .95fr);
    gap: 1.35rem;
    padding: 1.65rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top left, rgba(212,160,23,.20), transparent 22%),
        radial-gradient(circle at bottom right, rgba(255,255,255,.12), transparent 26%),
        linear-gradient(135deg, #081932, #0f376f 58%, #154f98);
    color: #fff;
    box-shadow: 0 26px 54px rgba(8,25,50,.24);
    overflow: hidden;
}

.boarding-showcase-copy h1 {
    font-size: clamp(1.9rem, 3vw, 2.9rem);
    line-height: 1.02;
    font-weight: 900;
    margin: .35rem 0 .75rem;
    max-width: 11ch;
}

.boarding-showcase-copy p {
    max-width: 56ch;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
    margin: 0;
}

.boarding-showcase-banner .section-eyebrow {
    color: rgba(255,255,255,.74);
}

.boarding-showcase-art {
    position: relative;
    min-height: 220px;
}

.boarding-showcase-card {
    position: absolute;
    min-width: 180px;
    padding: 1rem 1rem 1.05rem;
    border-radius: 22px;
    box-shadow: 0 18px 32px rgba(7,23,51,.22);
    backdrop-filter: blur(8px);
}

.boarding-showcase-card span {
    display: block;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    margin-bottom: .45rem;
    opacity: .8;
}

.boarding-showcase-card strong {
    display: block;
    font-size: 1.1rem;
    line-height: 1.25;
    font-weight: 900;
}

.boarding-showcase-card--navy {
    top: .15rem;
    right: 1.75rem;
    background: rgba(7,19,40,.86);
    color: #fff;
}

.boarding-showcase-card--gold {
    top: 5.65rem;
    left: 1.35rem;
    background: linear-gradient(135deg, #f3cd5e, #d4a017);
    color: #372500;
}

.boarding-showcase-card--white {
    right: .35rem;
    bottom: .35rem;
    background: rgba(255,255,255,.96);
    color: var(--navy);
}

.boarding-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .9fr);
    gap: 1.25rem;
    padding: 1.5rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(212,160,23,.20), transparent 28%),
        radial-gradient(circle at left center, rgba(11,31,77,.12), transparent 34%),
        linear-gradient(135deg, #ffffff, #f7fbff);
    border: 1px solid #e5ecf7;
    box-shadow: 0 20px 46px rgba(15,23,42,.06);
}

.boarding-hero-copy h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    font-weight: 900;
    color: var(--navy);
}

.boarding-hero-text {
    max-width: 62ch;
    color: #5d6b80;
    line-height: 1.65;
}

.boarding-hero-chips {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
}

.boarding-hero-side {
    display: flex;
}

.boarding-hero-panel {
    width: 100%;
    border-radius: 24px;
    padding: 1.25rem;
    background: linear-gradient(160deg, rgba(11,31,77,.98), rgba(14,57,115,.94));
    color: #fff;
    box-shadow: 0 18px 36px rgba(11,31,77,.18);
}

.boarding-hero-panel-label {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .75rem;
    font-weight: 800;
    color: rgba(255,255,255,.72);
    margin-bottom: .35rem;
}

.boarding-hero-panel-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
    margin-bottom: .55rem;
}

.boarding-hero-panel-meta {
    color: rgba(255,255,255,.78);
    line-height: 1.55;
    font-size: .95rem;
}

.boarding-hero-links {
    display: flex;
    gap: .7rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.boarding-filter-card .card-body {
    background: linear-gradient(180deg, rgba(248,251,255,.96), rgba(255,255,255,.98));
}

.boarding-quick-links {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
}

.boarding-quick-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .85rem 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e7edf7;
    box-shadow: 0 12px 24px rgba(15,23,42,.04);
    color: #20324e;
    text-decoration: none;
    font-weight: 700;
}

.boarding-quick-link i {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(11,31,77,.08);
    color: var(--navy);
}

.boarding-exeat-page .boarding-quick-links {
    gap: .7rem;
}

.boarding-exeat-page .boarding-quick-link {
    padding: .78rem .95rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(11,31,77,.08);
    box-shadow: 0 10px 22px rgba(15,23,42,.04);
    color: #20324e;
    font-weight: 800;
}

.boarding-exeat-page .boarding-quick-link:hover {
    background: linear-gradient(180deg, #ffffff, #f3f8ff);
    border-color: rgba(11,31,77,.14);
    color: #10284f;
}

.boarding-dashboard-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.boarding-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .25rem;
}

.boarding-section-head h4 {
    font-weight: 900;
    color: var(--navy);
}

.boarding-section-head p {
    max-width: 62ch;
}

.boarding-workspace-card,
.boarding-insight-card,
.boarding-history-card,
.boarding-roll-card {
    border-radius: 24px;
}

.boarding-workspace-card .card-header,
.boarding-insight-card .card-header,
.boarding-history-card .card-header,
.boarding-roll-card .card-header {
    background: linear-gradient(180deg, rgba(250,252,255,.95), rgba(244,248,253,.95));
}

.boarding-roll-card .card-body {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
}

.boarding-roll-card table tbody tr:nth-child(odd),
.boarding-insight-card table tbody tr:nth-child(odd),
.boarding-history-card table tbody tr:nth-child(odd) {
    background: rgba(248,251,255,.55);
}

.boarding-workspace-grid .form-control,
.boarding-workspace-grid .form-select,
.boarding-roll-card .form-control,
.boarding-roll-card .form-select {
    border-radius: 14px;
}

.boarding-workspace-grid textarea.form-control {
    min-height: 110px;
}

.boarding-insight-grid .soft-badge,
.boarding-history-grid .soft-badge {
    font-weight: 800;
}

.boarding-history-grid .card-body,
.boarding-insight-grid .card-body {
    padding-top: .75rem;
}

.boarding-exeat-page {
    --exeat-ink: #10284f;
    --exeat-soft: #f7fbff;
}

.boarding-exeat-page.page-stack {
    gap: 1.45rem;
}

.boarding-exeat-banner {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .9fr);
    gap: 1rem;
    padding: 1.35rem 1.45rem;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(243,205,94,.18), transparent 24%),
        linear-gradient(135deg, #0b1f4d, #123c78 62%, #184f94);
    color: #fff;
    box-shadow: 0 22px 44px rgba(11,31,77,.18);
}

.boarding-exeat-banner-copy h1 {
    margin: .3rem 0 .55rem;
    font-size: clamp(1.75rem, 2.7vw, 2.45rem);
    line-height: 1.05;
    font-weight: 900;
}

.boarding-exeat-banner-copy p {
    margin: 0;
    max-width: 58ch;
    color: rgba(255,255,255,.82);
    line-height: 1.6;
}

.boarding-exeat-banner .section-eyebrow {
    color: rgba(255,255,255,.72);
}

.boarding-exeat-banner-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    align-items: stretch;
}

.boarding-exeat-banner-stat {
    padding: 1rem .95rem;
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(8px);
}

.boarding-exeat-banner-stat span {
    display: block;
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
    color: rgba(255,255,255,.7);
    margin-bottom: .45rem;
}

.boarding-exeat-banner-stat strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 900;
}

.boarding-exeat-page .boarding-showcase-banner {
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .95fr);
    padding: 1.45rem 1.5rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(212,160,23,.10), transparent 25%),
        radial-gradient(circle at left center, rgba(11,31,77,.08), transparent 34%),
        linear-gradient(135deg, #ffffff, #f7fbff);
    color: var(--exeat-ink);
    border: 1px solid #e5ecf7;
    box-shadow: 0 20px 46px rgba(15,23,42,.06);
}

.boarding-exeat-page .boarding-showcase-banner .section-eyebrow {
    color: #6b7a90;
}

.boarding-exeat-page .boarding-showcase-copy h1 {
    color: var(--exeat-ink);
    max-width: 13ch;
}

.boarding-exeat-page .boarding-showcase-copy p {
    color: #5d6b80;
}

.boarding-exeat-page .boarding-showcase-art {
    display: grid;
    grid-template-columns: 1fr;
    gap: .85rem;
    min-height: auto;
    align-content: start;
}

.boarding-exeat-page .boarding-showcase-card {
    position: relative;
    inset: auto;
    min-width: 0;
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
}

.boarding-exeat-page .boarding-showcase-card--navy {
    background: linear-gradient(145deg, #0b1f4d, #123c78);
}

.boarding-exeat-page .boarding-showcase-card--gold {
    background: linear-gradient(145deg, #fff8e3, #f6deb2);
    color: #5f4300;
}

.boarding-exeat-page .boarding-showcase-card--white {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(11,31,77,.08);
}

.boarding-exeat-page .boarding-hero {
    padding: 1.35rem 1.45rem;
}

.boarding-exeat-page .boarding-hero-panel {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    color: var(--exeat-ink);
    border: 1px solid rgba(11,31,77,.08);
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
}

.boarding-exeat-page .boarding-hero-panel-label {
    color: #6b7a90;
}

.boarding-exeat-page .boarding-hero-panel-meta {
    color: #5d6b80;
}

.boarding-exeat-page .boarding-hero-links .btn-outline-light {
    color: var(--exeat-ink);
    border-color: rgba(11,31,77,.12);
}

.boarding-exeat-page .boarding-hero-links .btn-outline-light:hover {
    background: rgba(11,31,77,.06);
}

.boarding-exeat-policy-band {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.boarding-exeat-policy-card {
    padding: 1.15rem 1.2rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(11, 31, 77, .08);
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
    display: grid;
    gap: .45rem;
}

.boarding-exeat-policy-card--primary {
    background:
        radial-gradient(circle at top right, rgba(243,205,94,.22), transparent 28%),
        linear-gradient(145deg, #0b1f4d, #123c78);
    color: #fff;
    border-color: rgba(11,31,77,.12);
}

.boarding-exeat-policy-card--primary .boarding-exeat-policy-label,
.boarding-exeat-policy-card--primary .boarding-exeat-policy-text {
    color: rgba(255,255,255,.76);
}

.boarding-exeat-policy-label {
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
    color: #6b7a90;
}

.boarding-exeat-policy-value {
    font-size: 1.18rem;
    line-height: 1.25;
    font-weight: 900;
    color: var(--exeat-ink);
}

.boarding-exeat-policy-card--primary .boarding-exeat-policy-value {
    color: #fff;
}

.boarding-exeat-policy-text {
    color: #5d6b80;
    line-height: 1.6;
    font-size: .92rem;
}

.boarding-exeat-form-card .card-body,
.boarding-exeat-watch-card .card-body,
.boarding-exeat-live-card .card-body,
.boarding-exeat-history-card .card-body {
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,251,255,.98));
}

.boarding-exeat-form-intro {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin-bottom: .15rem;
}

.boarding-exeat-form-cluster {
    height: 100%;
    padding: 1rem 1rem 1.05rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(11,31,77,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 12px 24px rgba(15,23,42,.04);
    display: grid;
    gap: .95rem;
}

.boarding-exeat-form-cluster--notes {
    padding-bottom: 1rem;
}

.boarding-exeat-form-chip {
    padding: .9rem .95rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #f7fbff);
    border: 1px solid rgba(11,31,77,.08);
    box-shadow: 0 10px 22px rgba(15,23,42,.04);
}

.boarding-exeat-form-chip .label {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    color: #6b7a90;
    margin-bottom: .35rem;
}

.boarding-exeat-form-chip strong {
    display: block;
    color: #10284f;
    font-size: .96rem;
    line-height: 1.35;
}

.boarding-exeat-form-section-label {
    display: inline-flex;
    align-items: center;
    padding: .42rem .72rem;
    border-radius: 999px;
    background: rgba(11,31,77,.06);
    color: #10284f;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
}

.boarding-exeat-form-layout textarea.form-control {
    min-height: 112px;
}

.boarding-exeat-form-card .card-header,
.boarding-exeat-watch-card .card-header,
.boarding-exeat-live-card .card-header,
.boarding-exeat-history-card .card-header {
    border-bottom: 1px solid rgba(11,31,77,.06);
}

.boarding-exeat-watch-card .inventory-alert-item {
    align-items: flex-start;
    border-radius: 18px;
    padding: 1rem 1.05rem;
}

.boarding-exeat-page .boarding-filter-card .card-header,
.boarding-exeat-page .boarding-workspace-card .card-header,
.boarding-exeat-page .boarding-insight-card .card-header,
.boarding-exeat-page .boarding-history-card .card-header {
    background: linear-gradient(180deg, rgba(250,252,255,.95), rgba(244,248,253,.95));
    color: var(--exeat-ink);
}

.boarding-exeat-page .boarding-insight-card .card-header,
.boarding-exeat-page .boarding-history-card .card-header {
    border-bottom: 1px solid rgba(11,31,77,.06);
}

.boarding-exeat-live-card table thead th,
.boarding-exeat-history-card table thead th {
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6b7a90;
    border-bottom-width: 1px;
}

.boarding-exeat-live-card table tbody td,
.boarding-exeat-history-card table tbody td {
    padding-top: .95rem;
    padding-bottom: .95rem;
    vertical-align: top;
}

.boarding-exeat-row-open {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,255,.86));
}

.boarding-exeat-row-overdue {
    background: linear-gradient(180deg, rgba(255,245,245,.96), rgba(255,250,250,.9));
}

.boarding-exeat-live-card form.d-grid {
    min-width: 190px;
}

.boarding-exeat-slip-page {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
    isolation: isolate;
}

.boarding-exeat-slip-page > *:not(.document-watermark):not(.registration-watermark-image-layer) {
    position: relative;
    z-index: 1;
}

.boarding-exeat-slip-page .document-watermark {
    opacity: .16;
    background-repeat: no-repeat;
    background-position: center 200px;
    background-size: 360px;
    z-index: 3;
}

.boarding-exeat-slip-page .registration-watermark-image-layer {
    display: block;
    opacity: .11;
    z-index: 4;
    pointer-events: none;
}

.boarding-exeat-slip-page .document-watermark-image {
    max-width: 360px;
}

.boarding-exeat-slip-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.4rem;
}

.boarding-exeat-slip-school-copy h2 {
    font-size: 1.7rem;
}

.boarding-exeat-slip-school-copy p {
    color: var(--muted);
    max-width: 560px;
}

.boarding-exeat-slip-code-card {
    min-width: 220px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.92));
    color: #fff;
    text-align: right;
    display: grid;
    gap: .55rem;
    justify-items: end;
}

.boarding-exeat-slip-code-label {
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
}

.boarding-exeat-slip-code-value {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.boarding-exeat-slip-hero {
    position: relative;
    z-index: 1;
    margin-top: 1.25rem;
    margin-bottom: 1.4rem;
    padding: 1.2rem 1.25rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(245, 158, 11, 0.22), transparent 44%),
        linear-gradient(135deg, rgba(247, 250, 252, 0.98), rgba(241, 245, 249, 0.94));
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.boarding-exeat-slip-profile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.35rem;
}

.boarding-exeat-slip-profile-main {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.boarding-exeat-slip-profile-copy {
    min-width: 0;
}

.boarding-exeat-slip-name {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
}

.boarding-exeat-slip-subtitle {
    color: #475569;
    margin-top: .2rem;
    margin-bottom: .7rem;
}

.boarding-exeat-slip-side {
    display: grid;
    grid-template-columns: repeat(3, minmax(115px, 1fr));
    gap: .7rem;
}

.boarding-exeat-slip-qr-card {
    grid-column: 1 / -1;
    padding: .8rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(148, 163, 184, 0.18);
    display: grid;
    justify-items: center;
    gap: .45rem;
    text-align: center;
}

.boarding-exeat-slip-qr-image {
    width: 108px;
    height: 108px;
    object-fit: contain;
}

.boarding-exeat-slip-qr-fallback {
    width: 108px;
    height: 108px;
}

.boarding-exeat-slip-side .registration-mini-stat {
    min-width: 0;
}

.boarding-exeat-slip-sections {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1rem;
}

.boarding-exeat-slip-section {
    border-radius: 24px;
}

.boarding-exeat-slip-note {
    position: relative;
    z-index: 1;
    border-radius: 24px;
}

.boarding-exeat-slip-signatures {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}

@media (max-width: 991.98px) {
    .boarding-exeat-slip-header,
    .boarding-exeat-slip-profile {
        flex-direction: column;
        align-items: stretch;
    }

    .boarding-exeat-slip-code-card {
        min-width: 0;
        justify-items: start;
        text-align: left;
    }

    .boarding-exeat-slip-side,
    .boarding-exeat-slip-signatures {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 7mm;
    }

    body:has(.boarding-exeat-slip-page) .footer-bar {
        position: fixed;
        left: 7mm;
        right: 7mm;
        bottom: 2mm;
        padding: 3px 8px;
        font-size: 9px;
        line-height: 1.15;
        color: #64748b;
        background: transparent;
        border-top: 1px solid #d7dee8;
        z-index: 20;
    }

    .boarding-exeat-slip-page {
        border: 0;
        box-shadow: none;
        border-radius: 0;
        margin: 0;
        max-width: none;
        padding: 11px 13px 24px;
        font-size: 11.2px;
    }

    .boarding-exeat-slip-page .section-eyebrow {
        font-size: .56rem;
        margin-bottom: .12rem;
    }

    .boarding-exeat-slip-header {
        gap: .65rem;
        margin-bottom: .45rem;
    }

    .boarding-exeat-slip-school-copy h2 {
        font-size: 1rem;
        margin-bottom: .1rem !important;
    }

    .boarding-exeat-slip-school-copy h4 {
        font-size: .78rem;
        margin-bottom: .08rem !important;
    }

    .boarding-exeat-slip-school-copy p {
        font-size: .62rem;
        line-height: 1.22;
        margin-bottom: 0 !important;
        max-width: none;
    }

    .boarding-exeat-slip-code-card {
        min-width: 136px;
        padding: .46rem .56rem;
        border-radius: 12px;
        gap: .18rem;
    }

    .boarding-exeat-slip-code-label {
        font-size: .54rem;
    }

    .boarding-exeat-slip-code-value {
        font-size: .72rem;
    }

    .boarding-exeat-slip-hero {
        margin-top: .42rem;
        margin-bottom: .5rem;
        padding: .56rem .62rem;
        border-radius: 14px;
    }

    .boarding-exeat-slip-profile {
        gap: .55rem;
    }

    .boarding-exeat-slip-profile-main {
        gap: .48rem;
    }

    .boarding-exeat-slip-page .registration-photo,
    .boarding-exeat-slip-page .registration-photo-placeholder {
        width: 48px;
        height: 48px;
        min-width: 48px;
    }

    .boarding-exeat-slip-name {
        font-size: .86rem;
    }

    .boarding-exeat-slip-subtitle {
        margin-top: 0;
        margin-bottom: .18rem;
        font-size: .62rem;
    }

    .boarding-exeat-slip-page .registration-chip-row {
        gap: .22rem;
    }

    .boarding-exeat-slip-page .registration-chip {
        padding: .12rem .28rem;
        font-size: .54rem;
        border-radius: 999px;
    }

    .boarding-exeat-slip-side {
        grid-template-columns: 108px repeat(3, minmax(70px, 1fr));
        gap: .28rem;
        align-items: stretch;
    }

    .boarding-exeat-slip-qr-card {
        grid-column: auto;
        padding: .28rem;
        border-radius: 10px;
        gap: .18rem;
    }

    .boarding-exeat-slip-qr-image,
    .boarding-exeat-slip-qr-fallback {
        width: 56px;
        height: 56px;
    }

    .boarding-exeat-slip-page .registration-qr-label,
    .boarding-exeat-slip-page .registration-qr-meta {
        font-size: .5rem;
        line-height: 1.15;
    }

    .boarding-exeat-slip-page .registration-mini-stat {
        padding: .32rem .38rem;
        border-radius: 10px;
    }

    .boarding-exeat-slip-page .registration-mini-stat span {
        font-size: .48rem;
    }

    .boarding-exeat-slip-page .registration-mini-stat strong {
        font-size: .6rem;
    }

    .boarding-exeat-slip-sections {
        gap: .4rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .boarding-exeat-slip-section {
        border-radius: 12px;
    }

    .boarding-exeat-slip-page .registration-section {
        padding: .46rem .5rem;
    }

    .boarding-exeat-slip-page .registration-section-title {
        font-size: .58rem;
        margin-bottom: .22rem;
    }

    .boarding-exeat-slip-page .detail-list {
        gap: 0;
    }

    .boarding-exeat-slip-page .detail-item {
        padding: .18rem 0;
        gap: .2rem;
    }

    .boarding-exeat-slip-page .detail-label {
        font-size: .5rem;
        width: 40%;
        min-width: 40%;
    }

    .boarding-exeat-slip-page .detail-value {
        font-size: .56rem;
        text-align: right;
    }

    .boarding-exeat-slip-note {
        display: inline-block;
        vertical-align: top;
        width: calc(50% - .3rem);
        margin-top: .38rem;
        padding: .4rem .48rem;
        border-radius: 12px;
    }

    .boarding-exeat-slip-note + .boarding-exeat-slip-note {
        margin-left: .36rem;
    }

    .boarding-exeat-slip-page .registration-note-title {
        font-size: .58rem;
        margin-bottom: .14rem;
    }

    .boarding-exeat-slip-page .registration-note p {
        font-size: .54rem;
        line-height: 1.18;
    }

    .boarding-exeat-slip-page .registration-verification-strip {
        margin-top: .32rem;
        padding: .32rem .42rem;
        border-radius: 12px;
        gap: .32rem;
    }

    .boarding-exeat-slip-page .registration-link-text {
        font-size: .46rem;
        line-height: 1.15;
        word-break: break-all;
    }

    .boarding-exeat-slip-signatures {
        gap: .34rem;
        margin-top: .3rem;
    }

    .boarding-exeat-slip-page .registration-signature-role {
        font-size: .5rem;
        margin-bottom: .48rem;
    }

    .boarding-exeat-slip-page .registration-signature-note {
        font-size: .48rem;
        line-height: 1.1;
    }

    .boarding-exeat-slip-page .registration-signature-line {
        margin-top: .42rem;
    }

    .boarding-exeat-slip-hero,
    .boarding-exeat-slip-section,
    .boarding-exeat-slip-note,
    .boarding-exeat-slip-code-card,
    .boarding-exeat-slip-page .registration-verification-strip,
    .boarding-exeat-slip-signatures {
        break-inside: avoid;
    }
}

.boarding-exeat-page .boarding-section-head {
    margin-top: .25rem;
    margin-bottom: -.2rem;
}

.inventory-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1rem;
}

.inventory-pulse-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.inventory-pulse-card {
    border-radius: 22px;
}

.inventory-pulse-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.inventory-alert-list,
.inventory-category-list,
.inventory-movement-mini-list {
    display: grid;
    gap: .8rem;
}

.inventory-alert-item,
.inventory-category-item,
.inventory-movement-mini-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #f8fbff);
    border: 1px solid rgba(11, 31, 77, .08);
}

.inventory-category-qty {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--navy);
}

.inventory-stock-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.inventory-stock-card {
    padding: 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #f7faff);
    border: 1px solid rgba(11, 31, 77, .08);
    display: grid;
    gap: .8rem;
}

.inventory-stock-card-top,
.inventory-stock-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .8rem;
}

.inventory-stock-card-title {
    font-weight: 800;
    color: var(--navy);
    line-height: 1.25;
}

.inventory-stock-card-metric {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1;
}

.inventory-stock-card-meta {
    display: grid;
    gap: .35rem;
    font-size: .86rem;
    color: var(--muted);
}

@media (max-width: 992px) {
    .boarding-exeat-banner,
    .boarding-showcase-banner,
    .boarding-hero,
    .boarding-dashboard-strip,
    .boarding-exeat-policy-band,
    .boarding-exeat-form-intro,
    .inventory-hero-card,
    .inventory-two-column,
    .inventory-pulse-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .boarding-exeat-banner {
        padding: 1.1rem 1.15rem;
        border-radius: 22px;
    }

    .boarding-exeat-banner-strip {
        grid-template-columns: 1fr;
    }

    .boarding-showcase-banner {
        padding: 1.15rem;
        border-radius: 24px;
    }

    .boarding-showcase-copy h1 {
        max-width: none;
    }

    .boarding-showcase-art {
        min-height: 250px;
    }

    .boarding-showcase-card--navy {
        right: .35rem;
    }

    .boarding-showcase-card--gold {
        left: .2rem;
    }

    .boarding-hero {
        padding: 1.1rem;
        border-radius: 22px;
    }

    .boarding-quick-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .boarding-quick-link {
        width: 100%;
        justify-content: flex-start;
    }

    .boarding-section-head {
        align-items: start;
    }

    .inventory-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inventory-stock-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .boarding-showcase-art {
        min-height: 280px;
    }

    .boarding-showcase-card {
        min-width: 0;
        width: calc(100% - 1rem);
    }

    .boarding-showcase-card--navy,
    .boarding-showcase-card--gold,
    .boarding-showcase-card--white {
        left: .5rem;
        right: .5rem;
    }

    .boarding-showcase-card--navy {
        top: .2rem;
    }

    .boarding-showcase-card--gold {
        top: 5.95rem;
    }

    .boarding-showcase-card--white {
        bottom: .25rem;
    }

    .boarding-quick-links {
        grid-template-columns: 1fr;
    }

    .inventory-summary-grid {
        grid-template-columns: 1fr;
    }

    .inventory-stock-grid {
        grid-template-columns: 1fr;
    }

    .inventory-pulse-header,
    .inventory-alert-item,
    .inventory-category-item,
    .inventory-movement-mini-item,
    .inventory-stock-card-top,
    .inventory-stock-card-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

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

.inventory-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    background: linear-gradient(135deg, #0f172a, #164e63);
    color: #fff;
    padding: 1rem;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.inventory-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.inventory-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.inventory-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.inventory-command-copy p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    line-height: 1.6;
}

.inventory-command-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.inventory-command-panel {
    display: grid;
    gap: .75rem;
}

.inventory-command-status {
    border-radius: 8px;
    padding: .95rem;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
}

.inventory-command-status.soft-warning {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

.inventory-command-status.soft-success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #166534;
}

.inventory-command-status span,
.inventory-command-meta span,
.inventory-kpi-card span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
}

.inventory-command-status span,
.inventory-command-meta span {
    color: rgba(255, 255, 255, .68);
}

.inventory-command-status.soft-warning span,
.inventory-command-status.soft-warning small,
.inventory-command-status.soft-warning strong {
    color: #92400e;
}

.inventory-command-status.soft-success span,
.inventory-command-status.soft-success small,
.inventory-command-status.soft-success strong {
    color: #166534;
}

.inventory-command-status strong {
    display: block;
    margin-top: .3rem;
    font-size: 1.25rem;
    line-height: 1.25;
}

.inventory-command-status small {
    display: block;
    margin-top: .4rem;
    color: rgba(255, 255, 255, .76);
    font-weight: 700;
}

.inventory-command-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
}

.inventory-command-meta div {
    border-radius: 8px;
    padding: .75rem;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .14);
}

.inventory-command-meta strong {
    display: block;
    color: #fff;
    font-size: .95rem;
    line-height: 1.25;
    margin-top: .2rem;
}

.inventory-kpi-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
}

.inventory-kpi-card {
    min-height: 118px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.inventory-kpi-card i {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.inventory-kpi-warning i {
    background: #fef3c7;
    color: #92400e;
}

.inventory-kpi-danger i {
    background: #fee2e2;
    color: #991b1b;
}

.inventory-kpi-card strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 900;
    color: #0f172a;
}

.inventory-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    align-items: end;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: 1rem;
}

.inventory-filter-panel h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: 0;
}

.inventory-filter-panel p {
    margin: .35rem 0 0;
    color: #64748b;
}

.inventory-filter-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: .75rem;
    align-items: end;
}

.inventory-filter-actions {
    display: flex;
    gap: .45rem;
    align-items: center;
    flex-wrap: wrap;
}

.inventory-filter-count {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border-radius: 8px;
    padding: 0 .7rem;
    background: #f1f5f9;
    color: #475569;
    font-size: .78rem;
    font-weight: 800;
}

.inventory-operations-grid,
.inventory-workspace-grid,
.inventory-insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.inventory-workspace-grid,
.inventory-insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-command-page .card,
.inventory-panel {
    border-radius: 8px !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
}

.inventory-panel {
    background: #fff;
    padding: 1rem;
}

.inventory-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: .9rem;
}

.inventory-panel-header h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: 0;
}

.inventory-empty-state {
    border-radius: 8px;
    padding: .85rem;
    background: #f8fafc;
    color: #64748b;
    border: 1px dashed #cbd5e1;
    font-weight: 700;
}

.inventory-command-page .form-control,
.inventory-command-page .form-select {
    border-radius: 8px;
}

.inventory-command-page .card-body {
    padding: 1rem;
}

.inventory-command-page table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
}

.inventory-command-page table tbody td {
    vertical-align: top;
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.inventory-command-page .inventory-alert-item,
.inventory-command-page .inventory-category-item,
.inventory-command-page .inventory-movement-mini-item,
.inventory-command-page .inventory-stock-card {
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .2);
    box-shadow: none;
}

.inventory-command-page .inventory-alert-item,
.inventory-command-page .inventory-category-item,
.inventory-command-page .inventory-movement-mini-item {
    padding: .8rem;
}

.inventory-command-page .inventory-stock-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inventory-command-page .inventory-stock-card {
    padding: .9rem;
}

.inventory-command-page .inventory-stock-card-title,
.inventory-command-page .inventory-category-qty,
.inventory-command-page .inventory-stock-card-metric {
    color: #0f172a;
}

.inventory-command-page .inventory-stock-card-metric {
    font-size: 1.35rem;
}

@media (max-width: 1280px) {
    .inventory-kpi-strip,
    .inventory-command-page .inventory-stock-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .inventory-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .inventory-command-hero,
    .inventory-filter-panel,
    .inventory-operations-grid,
    .inventory-workspace-grid,
    .inventory-insight-grid {
        grid-template-columns: 1fr;
    }

    .inventory-kpi-strip,
    .inventory-command-page .inventory-stock-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .inventory-command-copy h1 {
        font-size: 1.55rem;
    }

    .inventory-kpi-strip,
    .inventory-filter-form,
    .inventory-command-page .inventory-stock-grid {
        grid-template-columns: 1fr;
    }

    .inventory-panel-header,
    .inventory-filter-actions,
    .inventory-command-page .inventory-alert-item,
    .inventory-command-page .inventory-category-item,
    .inventory-command-page .inventory-movement-mini-item,
    .inventory-command-page .inventory-stock-card-top,
    .inventory-command-page .inventory-stock-card-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .inventory-command-actions .btn,
    .inventory-filter-actions .btn {
        width: 100%;
    }
}

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

.cyber-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #071733, #0f766e);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.cyber-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.cyber-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.cyber-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.cyber-command-copy p {
    margin: 0;
    max-width: 780px;
    color: rgba(255, 255, 255, .8);
    line-height: 1.6;
}

.cyber-command-actions,
.cyber-command-nav,
.cyber-policy-header,
.cyber-retention-actions,
.cyber-pagination,
.cyber-pagination-actions,
.cyber-action-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.cyber-command-panel {
    display: grid;
    gap: .75rem;
}

.cyber-scope-card,
.cyber-scope-grid div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .1);
    padding: .85rem;
}

.cyber-scope-card {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}

.cyber-scope-card span,
.cyber-scope-grid span,
.cyber-summary-label,
.cyber-policy-label,
.cyber-retention-label {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #64748b;
}

.cyber-scope-grid span {
    color: rgba(255, 255, 255, .68);
}

.cyber-scope-card strong,
.cyber-scope-grid strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.05rem;
    line-height: 1.2;
}

.cyber-scope-card small {
    display: block;
    margin-top: .35rem;
    color: #166534;
    font-weight: 700;
}

.cyber-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.cyber-scope-grid strong {
    color: #fff;
}

.cyber-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.cyber-summary-card,
.cyber-policy-panel,
.cyber-retention-panel,
.cyber-filters-card,
.cyber-table-card {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.cyber-summary-card {
    min-height: 132px;
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.cyber-summary-card i,
.cyber-policy-icon {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.cyber-summary-danger i {
    background: #fee2e2;
    color: #991b1b;
}

.cyber-summary-warning i {
    background: #fef3c7;
    color: #92400e;
}

.cyber-summary-value {
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.cyber-summary-note,
.cyber-policy-note,
.cyber-retention-note,
.cyber-subtle,
.cyber-mini-note {
    color: #64748b;
    line-height: 1.35;
}

.cyber-summary-note,
.cyber-policy-note,
.cyber-retention-note,
.cyber-mini-note {
    font-size: .82rem;
}

.cyber-command-nav {
    position: sticky;
    top: .75rem;
    z-index: 8;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: .7rem;
}

.cyber-command-nav a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .24);
    color: #0f172a;
    padding: .45rem .65rem;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.cyber-command-nav a:hover {
    background: #e0f2fe;
    color: #075985;
}

.cyber-ops-grid,
.cyber-data-grid {
    display: grid;
    gap: 1rem;
}

.cyber-ops-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}

.cyber-policy-panel,
.cyber-retention-panel,
.cyber-filters-card .card-body,
.cyber-table-card .card-body {
    padding: 1rem;
}

.cyber-policy-header {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: .9rem;
}

.cyber-policy-header h5,
.cyber-table-card h5,
.cyber-filters-card h5 {
    color: #0f172a;
    font-weight: 900;
    letter-spacing: 0;
}

.cyber-policy-grid,
.cyber-retention-grid {
    display: grid;
    gap: .75rem;
}

.cyber-policy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cyber-retention-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cyber-policy-item,
.cyber-retention-card {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #f8fafc;
    padding: .85rem;
}

.cyber-policy-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.cyber-policy-icon.success { background: #dcfce7; color: #166534; }
.cyber-policy-icon.warning { background: #fef3c7; color: #92400e; }
.cyber-policy-icon.danger { background: #fee2e2; color: #991b1b; }
.cyber-policy-icon.info { background: #dbeafe; color: #1d4ed8; }
.cyber-policy-icon.muted { background: #f1f5f9; color: #64748b; }

.cyber-policy-value,
.cyber-retention-value,
.cyber-actor-name {
    color: #0f172a;
    font-weight: 900;
}

.cyber-retention-value {
    margin: .25rem 0;
    font-size: 1.2rem;
    line-height: 1.15;
}

.cyber-filters-card,
.cyber-table-card,
.cyber-command-page [id] {
    scroll-margin-top: 96px;
}

.cyber-filters-card .form-control,
.cyber-filters-card .form-select,
.cyber-inline-form .form-control,
.cyber-inline-form .form-select {
    border-radius: 8px;
}

.cyber-table-card table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
    white-space: nowrap;
}

.cyber-table-card table tbody td {
    vertical-align: top;
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.cyber-user-agent {
    max-width: 360px;
    white-space: normal;
    word-break: break-word;
}

.cyber-empty {
    padding: 1.25rem;
    border: 1px dashed rgba(148, 163, 184, .42);
    border-radius: 8px;
    background: #f8fafc;
    text-align: center;
    color: #64748b;
}

.cyber-status-stack,
.cyber-inline-form {
    display: grid;
    gap: .55rem;
}

.cyber-inline-form {
    margin-top: .6rem;
}

.cyber-inline-form textarea {
    min-height: 78px;
}

.cyber-inline-form .form-control,
.cyber-inline-form .form-select {
    font-size: .86rem;
}

.cyber-inline-form summary {
    cursor: pointer;
    font-weight: 800;
    color: #0f766e;
}

.cyber-current-session {
    border-left: 4px solid #0f766e;
    padding-left: .65rem;
}

.cyber-pagination {
    justify-content: space-between;
    padding-top: .95rem;
    margin-top: .95rem;
    border-top: 1px solid rgba(148, 163, 184, .24);
}

.cyber-pagination-form {
    margin: 0;
}

@media (max-width: 1280px) {
    .cyber-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cyber-ops-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .cyber-command-hero,
    .cyber-policy-grid,
    .cyber-retention-grid {
        grid-template-columns: 1fr;
    }

    .cyber-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .cyber-command-copy h1 {
        font-size: 1.55rem;
    }

    .cyber-summary-grid,
    .cyber-scope-grid {
        grid-template-columns: 1fr;
    }

    .cyber-command-actions .btn,
    .cyber-retention-actions .btn,
    .cyber-command-nav a {
        width: 100%;
    }
}

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

.activity-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #111827, #0f766e);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.activity-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.activity-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.activity-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.activity-command-copy p {
    margin: 0;
    max-width: 760px;
    color: rgba(255, 255, 255, .78);
    line-height: 1.6;
}

.activity-command-actions,
.activity-panel-heading,
.activity-active-filters,
.activity-filter-actions,
.activity-table-header,
.activity-table-badges,
.activity-row-tags,
.activity-log-pagination,
.activity-log-pagination-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.activity-command-panel {
    display: grid;
    gap: .75rem;
}

.activity-scope-card,
.activity-scope-grid div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .1);
    padding: .85rem;
}

.activity-scope-card {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}

.activity-scope-card span,
.activity-scope-grid span,
.activity-kpi-card span,
.activity-kicker {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #64748b;
}

.activity-scope-grid span {
    color: rgba(255, 255, 255, .68);
}

.activity-scope-card strong,
.activity-scope-grid strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.05rem;
    line-height: 1.2;
}

.activity-scope-card small {
    display: block;
    margin-top: .35rem;
    color: #166534;
    font-weight: 700;
}

.activity-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.activity-scope-grid strong {
    color: #fff;
}

.activity-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.activity-kpi-card,
.activity-filter-panel,
.activity-log-table-card {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.activity-kpi-card {
    min-height: 126px;
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.activity-kpi-card i,
.activity-actor-avatar,
.activity-log-empty i {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.activity-kpi-warning i {
    background: #fef3c7;
    color: #92400e;
}

.activity-kpi-card strong {
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.activity-kpi-card small,
.activity-panel-heading p,
.activity-table-header p,
.activity-log-time span,
.activity-log-source small,
.activity-log-pagination span {
    color: #64748b;
    line-height: 1.35;
}

.activity-filter-panel,
.activity-log-table-card {
    padding: 1rem;
}

.activity-panel-heading,
.activity-table-header {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: .9rem;
}

.activity-panel-heading h2,
.activity-table-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0;
}

.activity-panel-heading p,
.activity-table-header p {
    margin: .35rem 0 0;
}

.activity-active-filters span {
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    padding: .35rem .55rem;
    font-size: .78rem;
    font-weight: 800;
}

.activity-filter-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(140px, 1fr));
    gap: .75rem;
    align-items: end;
}

.activity-filter-field {
    min-width: 0;
}

.activity-filter-field-wide {
    grid-column: span 2;
}

.activity-filter-field-search {
    grid-column: span 2;
}

.activity-filter-actions {
    grid-column: span 2;
    justify-content: flex-start;
}

.activity-command-page .form-control,
.activity-command-page .form-select {
    border-radius: 8px;
}

.activity-log-table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
    white-space: nowrap;
}

.activity-log-table tbody td {
    vertical-align: top;
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.activity-log-time {
    display: grid;
    gap: .2rem;
    min-width: 118px;
}

.activity-log-time strong,
.activity-log-actor-name,
.activity-log-main,
.activity-log-source strong {
    color: #0f172a;
    font-weight: 800;
}

.activity-actor-cell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    min-width: 210px;
}

.activity-actor-avatar {
    background: #eef2ff;
    color: #3730a3;
    font-weight: 900;
}

.activity-log-main {
    max-width: 420px;
    line-height: 1.35;
}

.activity-row-tags {
    margin-top: .55rem;
}

.activity-log-source,
.activity-evidence-list {
    display: grid;
    gap: .35rem;
}

.activity-log-source small {
    max-width: 320px;
    word-break: break-word;
}

.activity-school-pill {
    display: inline-flex;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .28);
    color: #334155;
    padding: .35rem .55rem;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.activity-evidence-item {
    color: #64748b;
    font-size: .8rem;
    line-height: 1.35;
    word-break: break-word;
}

.activity-log-empty {
    display: grid;
    justify-items: center;
    gap: .55rem;
    padding: 1.5rem;
    border: 1px dashed rgba(148, 163, 184, .42);
    border-radius: 8px;
    background: #f8fafc;
    text-align: center;
}

.activity-log-empty strong {
    color: #0f172a;
}

.activity-log-empty span {
    color: #64748b;
}

.activity-log-pagination {
    justify-content: space-between;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, .24);
}

.activity-log-pagination strong {
    display: block;
    color: #0f172a;
}

.activity-log-pagination form {
    margin: 0;
}

@media (max-width: 1280px) {
    .activity-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .activity-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .activity-command-hero {
        grid-template-columns: 1fr;
    }

    .activity-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .activity-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .activity-filter-field-wide,
    .activity-filter-field-search,
    .activity-filter-actions {
        grid-column: span 2;
    }
}

@media (max-width: 575.98px) {
    .activity-command-copy h1 {
        font-size: 1.55rem;
    }

    .activity-kpi-grid,
    .activity-scope-grid,
    .activity-filter-form {
        grid-template-columns: 1fr;
    }

    .activity-filter-field-wide,
    .activity-filter-field-search,
    .activity-filter-actions {
        grid-column: auto;
    }

    .activity-command-actions .btn,
    .activity-filter-actions .btn {
        width: 100%;
    }
}

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

.reports-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #0f172a, #155e75);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.reports-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.reports-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.reports-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.reports-command-copy p {
    margin: 0;
    max-width: 780px;
    color: rgba(255, 255, 255, .78);
    line-height: 1.6;
}

.reports-command-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.reports-command-panel {
    display: grid;
    gap: .75rem;
}

.reports-scope-card,
.reports-scope-grid div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .1);
    padding: .85rem;
}

.reports-scope-card {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}

.reports-scope-card span,
.reports-scope-grid span,
.reports-kpi-card span,
.reports-mini-stat-grid span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
}

.reports-scope-grid span {
    color: rgba(255, 255, 255, .68);
}

.reports-scope-card strong,
.reports-scope-grid strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.15rem;
    line-height: 1.2;
}

.reports-scope-card small {
    display: block;
    margin-top: .35rem;
    color: #166534;
    font-weight: 700;
}

.reports-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.reports-scope-grid strong {
    color: #fff;
}

.reports-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
}

.reports-kpi-card {
    min-height: 124px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.reports-kpi-card i {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.reports-kpi-warning i {
    background: #fef3c7;
    color: #92400e;
}

.reports-kpi-card strong {
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.reports-kpi-card small {
    color: #64748b;
    font-weight: 700;
    line-height: 1.35;
}

.reports-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
    gap: 1rem;
    align-items: end;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: 1rem;
}

.reports-filter-panel h2,
.reports-panel-header h3,
.reports-subpanel h4 {
    margin: 0;
    color: #0f172a;
    font-weight: 900;
    letter-spacing: 0;
}

.reports-filter-panel h2 {
    font-size: 1.15rem;
}

.reports-filter-panel p {
    margin: .35rem 0 0;
    color: #64748b;
}

.reports-filter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: .75rem;
    align-items: end;
}

.reports-filter-actions,
.reports-panel-header {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.reports-filter-actions {
    justify-content: flex-start;
}

.reports-panel-header {
    justify-content: space-between;
    margin-bottom: .9rem;
}

.reports-panel-header h3 {
    font-size: 1.08rem;
}

.reports-two-column,
.reports-conversion-grid,
.reports-three-column {
    display: grid;
    gap: 1rem;
}

.reports-two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reports-conversion-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
}

.reports-three-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reports-panel {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    padding: 1rem;
}

.reports-bar-chart {
    display: grid;
    gap: .85rem;
}

.reports-bar-row {
    display: grid;
    gap: .4rem;
}

.reports-bar-meta {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #334155;
    font-weight: 800;
}

.reports-bar-meta strong {
    color: #0f172a;
}

.reports-bar-track {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.reports-bar-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.reports-subpanel {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
    padding: .9rem;
}

.reports-subpanel h4 {
    font-size: .98rem;
    margin-bottom: .75rem;
}

.reports-mini-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.reports-mini-stat-grid div {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
    padding: .85rem;
}

.reports-mini-stat-grid strong {
    display: block;
    margin-top: .25rem;
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
}

.reports-empty-state {
    border-radius: 8px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #64748b;
    padding: .9rem;
    font-weight: 700;
}

.reports-command-page .form-control,
.reports-command-page .form-select {
    border-radius: 8px;
}

.reports-command-page table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
}

.reports-command-page table tbody td {
    vertical-align: top;
    padding-top: .85rem;
    padding-bottom: .85rem;
}

@media (max-width: 1280px) {
    .reports-kpi-grid,
    .reports-three-column {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .reports-conversion-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .reports-command-hero,
    .reports-filter-panel,
    .reports-two-column,
    .reports-three-column {
        grid-template-columns: 1fr;
    }

    .reports-kpi-grid,
    .reports-mini-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-filter-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .reports-command-copy h1 {
        font-size: 1.55rem;
    }

    .reports-kpi-grid,
    .reports-mini-stat-grid,
    .reports-scope-grid {
        grid-template-columns: 1fr;
    }

    .reports-command-actions .btn,
    .reports-filter-actions .btn {
        width: 100%;
    }
}

@media print {
    .reports-command-page {
        display: block;
    }

    .reports-command-page .reports-kpi-grid,
    .reports-command-page .reports-two-column,
    .reports-command-page .reports-conversion-grid,
    .reports-command-page .reports-three-column,
    .reports-command-page .reports-mini-stat-grid {
        display: block;
    }

    .reports-command-page .reports-panel,
    .reports-command-page .reports-kpi-card,
    .reports-command-page .reports-subpanel {
        box-shadow: none;
        break-inside: avoid;
        margin-bottom: .75rem;
    }
}

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

.users-command-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 8px;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #10233f, #0f766e);
    box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.users-command-copy {
    display: grid;
    align-content: center;
    gap: .75rem;
}

.users-command-copy .section-eyebrow {
    color: rgba(255, 255, 255, .72);
}

.users-command-copy h1 {
    margin: 0;
    font-size: 2.05rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.users-command-copy p {
    margin: 0;
    max-width: 760px;
    color: rgba(255, 255, 255, .8);
    line-height: 1.6;
}

.users-command-actions,
.users-directory-actions,
.users-panel-header,
.users-pagination-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.users-command-scope {
    display: grid;
    gap: .75rem;
}

.users-scope-card,
.users-scope-mini-grid div {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .1);
    padding: .85rem;
}

.users-scope-card {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fed7aa;
}

.users-scope-card span,
.users-scope-mini-grid span,
.users-kpi-card span,
.users-role-card span,
.users-kicker {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #64748b;
}

.users-scope-mini-grid span {
    color: rgba(255, 255, 255, .68);
}

.users-scope-card strong,
.users-scope-mini-grid strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.05rem;
    line-height: 1.2;
}

.users-scope-card small {
    display: block;
    margin-top: .35rem;
    color: #9a3412;
    font-weight: 700;
}

.users-scope-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.users-scope-mini-grid strong {
    color: #fff;
}

.users-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.users-kpi-card,
.users-command-panel,
.users-form-section,
.users-permission-shell {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.users-kpi-card {
    min-height: 126px;
    padding: .9rem;
    display: grid;
    gap: .35rem;
    align-content: start;
}

.users-kpi-card i,
.users-role-card i,
.users-access-list i {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #e0f2fe;
    color: #075985;
}

.users-kpi-card strong {
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.users-kpi-card small,
.users-role-card small,
.users-role-card em,
.users-panel-header p,
.users-access-list span {
    color: #64748b;
    line-height: 1.35;
}

.users-command-split {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr);
    gap: 1rem;
}

.users-command-panel {
    padding: 1rem;
}

.users-panel-header {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: .9rem;
}

.users-panel-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0;
}

.users-panel-header p {
    margin: .35rem 0 0;
}

.users-role-command-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.users-role-card {
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #f8fafc;
    padding: .85rem;
    display: grid;
    gap: .35rem;
}

.users-role-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.users-role-card-top strong {
    color: #0f172a;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 900;
}

.users-role-card span {
    color: #0f172a;
}

.users-role-card em {
    display: block;
    font-size: .8rem;
    font-style: normal;
}

.users-access-panel {
    align-content: start;
    display: grid;
    gap: .9rem;
}

.users-access-list {
    display: grid;
    gap: .75rem;
}

.users-access-list > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
    padding: .8rem;
}

.users-access-list strong {
    display: block;
    color: #0f172a;
    line-height: 1.25;
}

.users-directory-panel {
    overflow: hidden;
}

.users-directory-actions {
    justify-content: flex-end;
}

.users-directory-table thead th {
    font-size: .72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-width: 1px;
    white-space: nowrap;
}

.users-directory-table tbody td {
    vertical-align: top;
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.users-account-cell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
}

.users-account-avatar {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    background: #eef2ff;
    color: #3730a3;
    font-weight: 900;
}

.users-directory-permission-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .55rem;
}

.users-pagination-row {
    justify-content: space-between;
    border-top: 1px solid rgba(148, 163, 184, .24);
    padding-top: 1rem;
    margin-top: 1rem;
}

.users-form-section,
.users-permission-shell {
    padding: 1rem;
}

.users-create-grid {
    display: grid;
    gap: 1rem;
}

.users-helper-list {
    margin: 0;
    padding-left: 1rem;
    color: #475569;
}

.users-helper-list li + li {
    margin-top: .45rem;
}

.users-permission-modal-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.users-permission-modal-table table {
    min-width: 1180px;
}

.users-command-page .form-control,
.users-command-page .form-select,
.users-create-modal .form-control,
.users-create-modal .form-select,
#rolePermissionsModal .form-control,
#rolePermissionsModal .form-select {
    border-radius: 8px;
}

@media (max-width: 1280px) {
    .users-kpi-grid,
    .users-role-command-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .users-command-split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .users-command-hero {
        grid-template-columns: 1fr;
    }

    .users-kpi-grid,
    .users-role-command-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .users-command-copy h1 {
        font-size: 1.55rem;
    }

    .users-kpi-grid,
    .users-role-command-grid,
    .users-scope-mini-grid {
        grid-template-columns: 1fr;
    }

    .users-command-actions .btn,
    .users-directory-actions .btn {
        width: 100%;
    }
}

.transcript-print-sheet {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,249,252,.965));
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    padding: 2rem;
    color: #0f172a;
}

.transcript-print-header {
    position: relative;
    z-index: 1;
    margin-bottom: 1.5rem;
}

.transcript-print-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.25rem;
}

.transcript-print-school {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.transcript-print-school-logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(15, 23, 42, .08);
    padding: .55rem;
}

.transcript-print-kicker {
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #8a6b10;
    font-weight: 800;
    margin-bottom: .35rem;
}

.transcript-print-school h1 {
    margin: 0;
    font-size: 1.55rem;
    line-height: 1.08;
    font-weight: 800;
}

.transcript-print-school p {
    margin: .35rem 0 0;
    color: #475569;
    font-size: .96rem;
}

.transcript-print-verify {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.transcript-print-sheet .registration-qr-card {
    width: 188px;
    flex: 0 0 188px;
    padding: .78rem .72rem;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(11,31,77,.96), rgba(11,31,77,.88));
    color: #fff;
    box-shadow: 0 14px 30px rgba(11,31,77,.14);
}

.transcript-print-sheet .registration-qr-image {
    width: 122px;
    height: 122px;
    padding: .4rem;
    border-radius: 14px;
    background: #fff;
}

.transcript-print-sheet .registration-qr-label {
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: .32rem;
}

.transcript-print-sheet .registration-qr-meta {
    margin-top: .5rem;
    font-size: .66rem;
    line-height: 1.25;
    color: rgba(255,255,255,.82);
}

.transcript-print-student-band {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 1rem;
    align-items: stretch;
}

.transcript-print-student-profile,
.transcript-print-summary-grid,
.transcript-print-term,
.transcript-print-footer {
    position: relative;
    z-index: 1;
}

.transcript-print-student-profile {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .06);
}

.transcript-print-student-photo,
.transcript-print-student-photo-placeholder {
    width: 92px;
    height: 112px;
    border-radius: 18px;
    flex: 0 0 92px;
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, .12);
    background: rgba(255,255,255,.9);
}

.transcript-print-student-photo-placeholder {
    display: grid;
    place-items: center;
    color: #0b1f4d;
    font-size: 2rem;
    background: linear-gradient(180deg, rgba(11,31,77,.08), rgba(212,160,23,.1));
}

.transcript-print-student-copy h2 {
    margin: 0 0 .45rem;
    font-size: 1.25rem;
    line-height: 1.1;
    font-weight: 800;
}

.transcript-print-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.transcript-print-chip {
    display: inline-flex;
    align-items: center;
    padding: .4rem .65rem;
    border-radius: 999px;
    background: rgba(11,31,77,.08);
    border: 1px solid rgba(11,31,77,.12);
    color: #0f172a;
    font-size: .74rem;
    font-weight: 700;
}

.transcript-print-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.transcript-print-group-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .75rem;
}

.transcript-print-group-card {
    padding: .82rem .9rem;
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(148, 163, 184, .24);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .05);
}

.transcript-print-group-title {
    margin-bottom: .5rem;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    color: #7a5d0b;
}

.transcript-print-detail-grid {
    display: grid;
    gap: .42rem;
}

.transcript-print-detail-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem .75rem;
}

.transcript-print-cumulative-card {
    margin-top: .75rem;
}

.transcript-print-grade-summary-card {
    margin-top: .75rem;
}

.transcript-print-grade-legend-card {
    margin-top: .75rem;
}

.transcript-print-grade-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.transcript-print-grade-chip {
    display: inline-flex;
    align-items: center;
    padding: .3rem .52rem;
    border-radius: 999px;
    background: rgba(11,31,77,.08);
    border: 1px solid rgba(11,31,77,.14);
    color: #0f172a;
    font-size: .68rem;
    font-weight: 800;
}

.transcript-print-grade-legend-list {
    display: grid;
    gap: .35rem;
}

.transcript-print-grade-legend-item {
    display: grid;
    grid-template-columns: 56px 92px minmax(0, 1fr);
    gap: .45rem;
    align-items: start;
    font-size: .7rem;
    line-height: 1.3;
    color: #0f172a;
}

.transcript-print-grade-legend-item strong {
    font-size: .72rem;
    color: #0b1f4d;
}

.transcript-print-detail-item {
    display: grid;
    gap: .1rem;
}

.transcript-print-detail-item span {
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #64748b;
    font-weight: 700;
}

.transcript-print-detail-item strong {
    font-size: .78rem;
    line-height: 1.28;
    color: #0f172a;
    font-weight: 800;
}

.transcript-print-summary-card {
    padding: .85rem .9rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(11,31,77,.94), rgba(11,31,77,.86));
    color: #fff;
    min-height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 16px 34px rgba(11,31,77,.16);
}

.transcript-print-summary-card span {
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
    font-weight: 700;
}

.transcript-print-summary-card strong {
    font-size: .94rem;
    line-height: 1.18;
    font-weight: 800;
}

.transcript-print-sections {
    display: grid;
    gap: 1rem;
}

.transcript-print-term {
    padding: 1rem 1.05rem;
    border-radius: 20px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .05);
    break-inside: avoid;
    page-break-inside: avoid;
}

.transcript-print-term-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    margin-bottom: .9rem;
}

.transcript-print-term-head h3 {
    margin: 0 0 .2rem;
    font-size: 1rem;
    font-weight: 800;
}

.transcript-print-term-head p {
    margin: 0;
    color: #64748b;
    font-size: .76rem;
}

.transcript-print-pill-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
}

.transcript-print-pill {
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(212,160,23,.12);
    border: 1px solid rgba(212,160,23,.2);
    color: #7a5d0b;
    font-size: .72rem;
    font-weight: 700;
}

.transcript-print-table-wrap {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, .22);
    margin-bottom: .9rem;
}

.transcript-print-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .78rem;
}

.transcript-print-table thead th {
    background: rgba(11,31,77,.94);
    color: #fff;
    padding: .58rem .62rem;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
}

.transcript-print-table tbody td {
    padding: .52rem .62rem;
    border-top: 1px solid rgba(226, 232, 240, .88);
    vertical-align: top;
}

.transcript-print-table tbody tr:nth-child(even) td {
    background: rgba(248, 250, 252, .92);
}

.transcript-print-insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.transcript-print-insight {
    padding: .78rem .82rem;
    border-radius: 16px;
    background: rgba(248,250,252,.86);
    border: 1px solid rgba(203, 213, 225, .46);
}

.transcript-print-insight-title {
    margin-bottom: .42rem;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    color: #7a5d0b;
}

.transcript-print-insight-line,
.transcript-print-insight-copy {
    font-size: .74rem;
    line-height: 1.4;
    color: #0f172a;
}

.transcript-print-insight-copy + .transcript-print-insight-copy,
.transcript-print-insight-line + .transcript-print-insight-line {
    margin-top: .3rem;
}

.transcript-print-footer {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid rgba(148, 163, 184, .32);
}

.transcript-print-footer-note {
    font-size: .75rem;
    color: #334155;
    margin-bottom: .85rem;
}

.transcript-print-approval-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin-bottom: .9rem;
}

.transcript-print-stamp-card {
    padding: .82rem .88rem;
    border-radius: 18px;
    background: rgba(248,250,252,.88);
    border: 1px dashed rgba(100, 116, 139, .45);
}

.transcript-print-stamp-title {
    display: block;
    margin-bottom: .45rem;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #7a5d0b;
    font-weight: 800;
}

.transcript-print-stamp-box {
    min-height: 82px;
    border: 1px solid rgba(15, 23, 42, .2);
    border-radius: 14px;
    background:
        radial-gradient(circle at center, rgba(212,160,23,.08), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.92));
}

.transcript-print-stamp-note {
    margin-top: .42rem;
    font-size: .68rem;
    line-height: 1.35;
    color: #475569;
}

.transcript-print-signatures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.transcript-print-signature span {
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    font-weight: 800;
    margin-bottom: .3rem;
}

.transcript-print-signature-line {
    min-height: 26px;
    border-bottom: 1px solid rgba(15, 23, 42, .34);
    display: flex;
    align-items: end;
    font-size: .76rem;
    font-weight: 700;
    color: #0f172a;
}

@media (max-width: 991px) {
    .transcript-print-title,
    .transcript-print-student-band,
    .transcript-print-group-grid,
    .transcript-print-approval-strip,
    .transcript-print-insight-grid,
    .transcript-print-signatures {
        grid-template-columns: 1fr;
    }

    .transcript-print-term-head {
        flex-direction: column;
    }

    .transcript-print-pill-row {
        justify-content: flex-start;
    }
}

@media print {
    .transcript-screen-shell {
        display: none !important;
    }

    .transcript-print-only {
        display: block !important;
    }

    .transcript-print-sheet {
        display: block !important;
        padding: 1rem 1.05rem !important;
        border-radius: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,249,252,.97)) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        font-size: 9.1pt !important;
    }

    .transcript-print-sheet .document-watermark {
        opacity: .12 !important;
    }

    .transcript-print-title {
        grid-template-columns: minmax(0, 1fr) 120px !important;
        gap: .55rem !important;
        margin-bottom: .7rem !important;
    }

    .transcript-print-sheet .registration-qr-card {
        width: 112px !important;
        flex: 0 0 112px !important;
        padding: .28rem !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .transcript-print-sheet .registration-qr-image {
        width: 78px !important;
        height: 78px !important;
        padding: .18rem !important;
        border-radius: 10px !important;
        display: block !important;
        visibility: visible !important;
    }

    .transcript-print-sheet .registration-qr-label {
        font-size: .45rem !important;
        line-height: 1.05 !important;
        margin-bottom: .16rem !important;
    }

    .transcript-print-sheet .registration-qr-meta {
        margin-top: .15rem !important;
        font-size: .4rem !important;
        line-height: 1.02 !important;
        display: block !important;
    }

    .transcript-print-school-logo {
        width: 54px !important;
        height: 54px !important;
        border-radius: 12px !important;
        padding: .35rem !important;
    }

    .transcript-print-school h1 {
        font-size: 1.15rem !important;
    }

    .transcript-print-school p {
        font-size: .72rem !important;
    }

    .transcript-print-student-band {
        grid-template-columns: 1fr !important;
        gap: .45rem !important;
    }

    .transcript-print-student-profile {
        padding: .6rem !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }

    .transcript-print-student-photo,
    .transcript-print-student-photo-placeholder {
        width: 72px !important;
        height: 88px !important;
        border-radius: 12px !important;
        flex-basis: 72px !important;
    }

    .transcript-print-student-copy h2 {
        font-size: .98rem !important;
        margin-bottom: .3rem !important;
    }

    .transcript-print-chip {
        padding: .2rem .4rem !important;
        font-size: .54rem !important;
    }

    .transcript-print-group-grid {
        gap: .45rem !important;
        margin-top: .45rem !important;
    }

    .transcript-print-cumulative-card {
        margin-top: 0 !important;
    }

    .transcript-print-grade-summary-card {
        margin-top: .38rem !important;
    }

    .transcript-print-grade-legend-card {
        margin-top: .38rem !important;
    }

    .transcript-print-group-card {
        padding: .46rem .52rem !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        break-inside: avoid;
    }

    .transcript-print-group-title {
        margin-bottom: .32rem !important;
        font-size: .5rem !important;
    }

    .transcript-print-detail-grid {
        gap: .25rem !important;
    }

    .transcript-print-detail-grid-two {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .24rem .38rem !important;
    }

    .transcript-print-detail-item span {
        font-size: .46rem !important;
    }

    .transcript-print-detail-item strong {
        font-size: .58rem !important;
        line-height: 1.15 !important;
    }

    .transcript-print-grade-chip-row {
        gap: .25rem !important;
    }

    .transcript-print-grade-chip {
        padding: .16rem .34rem !important;
        font-size: .48rem !important;
    }

    .transcript-print-grade-legend-list {
        gap: .2rem !important;
    }

    .transcript-print-grade-legend-item {
        grid-template-columns: 34px 56px minmax(0, 1fr) !important;
        gap: .24rem !important;
        font-size: .48rem !important;
        line-height: 1.15 !important;
    }

    .transcript-print-grade-legend-item strong {
        font-size: .5rem !important;
    }

    .transcript-print-approval-strip {
        gap: .45rem !important;
        margin-bottom: .55rem !important;
    }

    .transcript-print-stamp-card {
        padding: .52rem .58rem !important;
        border-radius: 12px !important;
        break-inside: avoid;
    }

    .transcript-print-stamp-title {
        margin-bottom: .28rem !important;
        font-size: .5rem !important;
    }

    .transcript-print-stamp-box {
        min-height: 52px !important;
        border-radius: 10px !important;
    }

    .transcript-print-stamp-note {
        margin-top: .25rem !important;
        font-size: .48rem !important;
        line-height: 1.15 !important;
    }

    .transcript-print-summary-card {
        min-height: 64px !important;
        padding: .55rem .6rem !important;
        box-shadow: none !important;
        break-inside: avoid;
    }

    .transcript-print-summary-card span {
        font-size: .52rem !important;
    }

    .transcript-print-summary-card strong {
        font-size: .7rem !important;
    }

    .transcript-print-sections {
        gap: .6rem !important;
    }

    .transcript-print-term {
        padding: .68rem .72rem !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }

    .transcript-print-term-head {
        margin-bottom: .55rem !important;
    }

    .transcript-print-term-head h3 {
        font-size: .82rem !important;
    }

    .transcript-print-term-head p,
    .transcript-print-footer-note,
    .transcript-print-insight-line,
    .transcript-print-insight-copy,
    .transcript-print-signature-line {
        font-size: .62rem !important;
    }

    .transcript-print-pill {
        padding: .24rem .42rem !important;
        font-size: .56rem !important;
    }

    .transcript-print-table {
        font-size: .64rem !important;
    }

    .transcript-print-table thead th {
        padding: .34rem .38rem !important;
        font-size: .54rem !important;
    }

    .transcript-print-table tbody td {
        padding: .34rem .38rem !important;
    }

    .transcript-print-insight-grid {
        gap: .45rem !important;
    }

    .transcript-print-insight {
        padding: .5rem .54rem !important;
        border-radius: 12px !important;
    }

    .transcript-print-insight-title,
    .transcript-print-signature span,
    .transcript-print-kicker {
        font-size: .52rem !important;
    }

    .transcript-print-footer {
        margin-top: .65rem !important;
        padding-top: .55rem !important;
    }

    .transcript-print-signatures {
        gap: .6rem !important;
    }

}

.student-shell .student-sidebar {
    border-radius: 12px !important;
    background: linear-gradient(180deg, #071a3d 0%, #0b1f4d 64%, #102f65 100%) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 18px 34px rgba(8,25,58,.22) !important;
}

.student-shell .student-sidebar-badge,
.student-shell .student-sidebar-profile,
.student-shell .student-sidebar-link,
.student-shell .student-sidebar-unlock-note {
    border-radius: 10px !important;
}

.student-shell .student-sidebar-link {
    padding: .72rem .78rem !important;
}

.student-shell .student-sidebar-link.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    box-shadow: 0 10px 18px rgba(201,146,23,.18) !important;
}

.student-sidebar {
    border-radius: 12px !important;
    background: linear-gradient(180deg, #071a3d 0%, #0b1f4d 64%, #102f65 100%) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 18px 34px rgba(8,25,58,.22) !important;
    color: #fff !important;
}

.student-sidebar .student-sidebar-title,
.student-sidebar .student-sidebar-name {
    color: #fff !important;
}

.student-sidebar .student-sidebar-subtitle,
.student-sidebar .student-sidebar-meta,
.student-sidebar .student-sidebar-unlock-note,
.student-sidebar .student-sidebar-footer {
    color: rgba(255,255,255,.74) !important;
}

.student-sidebar .student-sidebar-badge {
    border-radius: 10px !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: #16213d !important;
}

.student-sidebar .student-sidebar-profile,
.student-sidebar .student-sidebar-link,
.student-sidebar .student-sidebar-unlock-note {
    border-radius: 10px !important;
    border-color: rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.09) !important;
}

.student-sidebar .student-sidebar-link {
    padding: .72rem .78rem !important;
    color: rgba(255,255,255,.88) !important;
}

.student-sidebar .student-sidebar-link:hover {
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
}

.student-sidebar .student-sidebar-link.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: #14213d !important;
    box-shadow: 0 10px 18px rgba(201,146,23,.18) !important;
}

/* Staff dark mode final contrast pass. Kept at the end so page-specific colors do not wash out text. */
html[data-staff-theme="dark"] body.staff-app-shell-body {
    --bs-body-bg: #07111f;
    --bs-body-color: #e5edf8;
    --bs-heading-color: #f8fafc;
    --bs-secondary-color: #9fb0c8;
    --bs-tertiary-color: #7f93ad;
    --bs-border-color: rgba(148, 163, 184, .22);
    --bs-card-bg: #101a2c;
    --bs-card-color: #e5edf8;
    --bs-modal-bg: #101a2c;
    --bs-modal-color: #e5edf8;
    --bs-dropdown-bg: #101a2c;
    --bs-dropdown-color: #e5edf8;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area,
html[data-staff-theme="dark"] body.staff-app-shell-body .page-stack {
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .card,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-soft,
html[data-staff-theme="dark"] body.staff-app-shell-body .table-card,
html[data-staff-theme="dark"] body.staff-app-shell-body .stat-card,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-content,
html[data-staff-theme="dark"] body.staff-app-shell-body .list-group-item,
html[data-staff-theme="dark"] body.staff-app-shell-body .accordion-item,
html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-menu,
html[data-staff-theme="dark"] body.staff-app-shell-body .bg-white,
html[data-staff-theme="dark"] body.staff-app-shell-body .bg-light {
    background-color: #101a2c !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .card-header,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-footer,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-header,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-footer,
html[data-staff-theme="dark"] body.staff-app-shell-body .table thead th,
html[data-staff-theme="dark"] body.staff-app-shell-body .input-group-text {
    background-color: #0b1526 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #f8fafc !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .card-body,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-body p,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-body li,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-body label,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-body,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-body p,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-body li,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-body label,
html[data-staff-theme="dark"] body.staff-app-shell-body .table,
html[data-staff-theme="dark"] body.staff-app-shell-body .table td,
html[data-staff-theme="dark"] body.staff-app-shell-body .table th,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-label,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-check-label,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-title,
html[data-staff-theme="dark"] body.staff-app-shell-body .card-text,
html[data-staff-theme="dark"] body.staff-app-shell-body .modal-title,
html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-item,
html[data-staff-theme="dark"] body.staff-app-shell-body .accordion-body {
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body h1,
html[data-staff-theme="dark"] body.staff-app-shell-body h2,
html[data-staff-theme="dark"] body.staff-app-shell-body h3,
html[data-staff-theme="dark"] body.staff-app-shell-body h4,
html[data-staff-theme="dark"] body.staff-app-shell-body h5,
html[data-staff-theme="dark"] body.staff-app-shell-body h6,
html[data-staff-theme="dark"] body.staff-app-shell-body .page-title,
html[data-staff-theme="dark"] body.staff-app-shell-body .fw-bold,
html[data-staff-theme="dark"] body.staff-app-shell-body .fw-semibold,
html[data-staff-theme="dark"] body.staff-app-shell-body strong,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-dark,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-body,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-black,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-reset,
html[data-staff-theme="dark"] body.staff-app-shell-body .link-dark,
html[data-staff-theme="dark"] body.staff-app-shell-body .link-body-emphasis {
    color: #f8fafc !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .text-muted,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-secondary,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-body-secondary,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-body-tertiary,
html[data-staff-theme="dark"] body.staff-app-shell-body .text-black-50,
html[data-staff-theme="dark"] body.staff-app-shell-body .link-secondary,
html[data-staff-theme="dark"] body.staff-app-shell-body .small,
html[data-staff-theme="dark"] body.staff-app-shell-body small,
html[data-staff-theme="dark"] body.staff-app-shell-body .form-text,
html[data-staff-theme="dark"] body.staff-app-shell-body .section-eyebrow,
html[data-staff-theme="dark"] body.staff-app-shell-body .label,
html[data-staff-theme="dark"] body.staff-app-shell-body .meta,
html[data-staff-theme="dark"] body.staff-app-shell-body .subtitle,
html[data-staff-theme="dark"] body.staff-app-shell-body .description {
    color: #9fb0c8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .soft-success { background: var(--success-soft) !important; color: #166534 !important; }
html[data-staff-theme="dark"] body.staff-app-shell-body .soft-danger { background: var(--danger-soft) !important; color: #991b1b !important; }
html[data-staff-theme="dark"] body.staff-app-shell-body .soft-warning { background: var(--warning-soft) !important; color: #92400e !important; }
html[data-staff-theme="dark"] body.staff-app-shell-body .soft-info { background: var(--info-soft) !important; color: #1d4ed8 !important; }
html[data-staff-theme="dark"] body.staff-app-shell-body .soft-primary { background: #e0f2fe !important; color: #0369a1 !important; }
html[data-staff-theme="dark"] body.staff-app-shell-body .soft-secondary { background: #e5e7eb !important; color: #374151 !important; }

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-dark,
html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-secondary {
    background: transparent !important;
    border-color: #475569 !important;
    color: #0f172a !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-dark:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-secondary:hover {
    background: #e5e7eb !important;
    color: #0f172a !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .sidebar-footer-info .btn-warning,
html[data-staff-theme="dark"] body.staff-app-shell-body .sidebar-footer-info .btn-warning * {
    color: #0f172a !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert {
    border-color: rgba(148, 163, 184, .24) !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert-info,
html[data-staff-theme="dark"] body.staff-app-shell-body .alert-primary {
    background: rgba(37, 99, 235, .14) !important;
    color: #dbeafe !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert-warning {
    background: rgba(217, 119, 6, .16) !important;
    color: #fde68a !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert-danger {
    background: rgba(220, 38, 38, .15) !important;
    color: #fecaca !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert-success {
    background: rgba(22, 163, 74, .15) !important;
    color: #bbf7d0 !important;
}

/* Staff dark mode hardening for newer custom modules and page-specific cards. */
html[data-staff-theme="dark"] body.staff-app-shell-body {
    --bs-emphasis-color: #f8fafc;
    --bs-secondary-color: #aebed2;
    --bs-tertiary-color: #8ea2bd;
    --bs-list-group-bg: #101a2c;
    --bs-list-group-color: #e5edf8;
}

html[data-staff-theme="dark"] body.staff-app-shell-body [class*="-card"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="card-"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="panel"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="metric"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="kpi"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="tile"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="box"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="surface"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="workspace"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="workbench"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="summary"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="register"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="roster"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="queue"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="profile"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="detail"],
html[data-staff-theme="dark"] body.staff-app-shell-body [class*="desk"] {
    background-color: #101a2c !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .border,
html[data-staff-theme="dark"] body.staff-app-shell-body .border-top,
html[data-staff-theme="dark"] body.staff-app-shell-body .border-end,
html[data-staff-theme="dark"] body.staff-app-shell-body .border-bottom,
html[data-staff-theme="dark"] body.staff-app-shell-body .border-start {
    border-color: rgba(148, 163, 184, .26) !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-item,
html[data-staff-theme="dark"] body.staff-app-shell-body .nav-link,
html[data-staff-theme="dark"] body.staff-app-shell-body .page-link {
    color: #dbeafe !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-item:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .dropdown-item:focus,
html[data-staff-theme="dark"] body.staff-app-shell-body .nav-link:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .nav-link:focus,
html[data-staff-theme="dark"] body.staff-app-shell-body .page-link:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .page-link:focus {
    background-color: #17243a !important;
    color: #f8fafc !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .page-item.disabled .page-link {
    background-color: #0b1526 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #7f93ad !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .table > :not(caption) > * > * {
    background-color: transparent !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(148, 163, 184, .07) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .table-hover > tbody > tr:hover > * {
    background-color: rgba(212, 160, 23, .1) !important;
    color: #f8fafc !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .form-check-input {
    background-color: #0b1526 !important;
    border-color: #33435b !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .alert,
html[data-staff-theme="dark"] body.staff-app-shell-body .alert :where(div, p, span, small, strong, b, em, h1, h2, h3, h4, h5, h6, li):not(.btn):not(.btn *) {
    color: inherit !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area :where(div, section, article, aside, header, footer, main, p, span, small, label, strong, em, b, h1, h2, h3, h4, h5, h6, td, th, li, dt, dd):not(.btn):not(.btn *):not(.badge):not(.badge *):not(.soft-badge):not(.soft-badge *):not(.soft-success):not(.soft-success *):not(.soft-danger):not(.soft-danger *):not(.soft-warning):not(.soft-warning *):not(.soft-info):not(.soft-info *):not(.soft-primary):not(.soft-primary *):not(.soft-secondary):not(.soft-secondary *):not(.alert):not(.alert *):not(.sidebar):not(.sidebar *):not(.student-sidebar):not(.student-sidebar *) {
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area :where(.text-muted, .text-secondary, .text-body-secondary, .text-body-tertiary, .text-black-50, .link-secondary, .small, small, .form-text, .section-eyebrow, .meta, .label, .subtitle, .description, [class*="subtext"], [class*="muted"], [class*="note"]):not(.badge):not(.soft-badge):not(.soft-success):not(.soft-success *):not(.soft-danger):not(.soft-danger *):not(.soft-warning):not(.soft-warning *):not(.soft-info):not(.soft-info *):not(.soft-primary):not(.soft-primary *):not(.soft-secondary):not(.soft-secondary *) {
    color: #aebed2 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area :where(h1, h2, h3, h4, h5, h6, .page-title, .fw-bold, .fw-semibold, strong, .text-dark, .text-body, .text-black, .text-reset, .link-dark, .link-body-emphasis):not(.badge):not(.soft-badge):not(.soft-success):not(.soft-success *):not(.soft-danger):not(.soft-danger *):not(.soft-warning):not(.soft-warning *):not(.soft-info):not(.soft-info *):not(.soft-primary):not(.soft-primary *):not(.soft-secondary *) {
    color: #f8fafc !important;
}

/* Legacy staff pages: convert older page-specific white panels and inline light surfaces. */
html[data-staff-theme="dark"] body.staff-app-shell-body .content-area :where(
    [class*="command"],
    [class*="filter"],
    [class*="toolbar"],
    [class*="form"],
    [class*="search"],
    [class*="section"],
    [class*="item"],
    [class*="record"],
    [class*="history"],
    [class*="timeline"],
    [class*="album"],
    [class*="document"],
    [class*="paper"],
    [class*="preview"],
    [class*="output"],
    [class*="empty"],
    [class*="notice"],
    [class*="workflow"],
    [class*="step"],
    [class*="wrap"],
    [class*="container"]
):not(.btn):not(.badge):not([class*="badge"]):not(.alert):not(.soft-badge):not([class*="soft-"]) {
    background-color: #101a2c !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .content-area [style*="background"]:not(.btn):not(.badge):not([class*="badge"]):not(.alert):not(.soft-badge):not([class*="soft-"]) {
    background-color: #101a2c !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface:not(.btn):not(.badge):not([class*="badge"]):not(.alert):not(.soft-badge):not([class*="soft-"]) {
    background-color: #101a2c !important;
    border-color: rgba(148, 163, 184, .24) !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface :where(div, section, article, header, footer, main, p, span, small, label, strong, em, b, h1, h2, h3, h4, h5, h6, td, th, li, dt, dd):not(.btn):not(.btn *):not(.badge):not(.badge *):not(.soft-badge):not(.soft-badge *):not(.soft-success):not(.soft-success *):not(.soft-danger):not(.soft-danger *):not(.soft-warning):not(.soft-warning *):not(.soft-info):not(.soft-info *):not(.soft-primary):not(.soft-primary *):not(.soft-secondary):not(.soft-secondary *) {
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface :where(.text-muted, .text-secondary, .text-body-secondary, .text-body-tertiary, .text-black-50, .link-secondary, .small, small, .form-text, .section-eyebrow, .meta, .label, .subtitle, .description, [class*="subtext"], [class*="muted"], [class*="note"]):not(.badge):not(.soft-badge):not(.soft-success):not(.soft-success *):not(.soft-danger):not(.soft-danger *):not(.soft-warning):not(.soft-warning *):not(.soft-info):not(.soft-info *):not(.soft-primary):not(.soft-primary *):not(.soft-secondary *) {
    color: #aebed2 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface a:not(.btn):not(.dropdown-item) {
    color: #93c5fd !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-dark,
html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-secondary {
    background: transparent !important;
    border-color: #4f6480 !important;
    color: #e5edf8 !important;
}

html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-dark:hover,
html[data-staff-theme="dark"] body.staff-app-shell-body .staff-dark-light-surface .btn-outline-secondary:hover {
    background: #1f2d44 !important;
    color: #ffffff !important;
}
