/* EdutestPro-Ni - Main Stylesheet */

/* CSS Variables */
:root {
    /* Primary Colors */
    --primary: #4f46e5;
    --primary-dark: #4338ca;
    --primary-light: #818cf8;

    /* Role Colors */
    --admin-color: #9b59b6;
    --teacher-color: #3498db;
    --student-color: #2ecc71;
    --parent-color: #e67e22;

    /* Status Colors */
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #3b82f6;

    /* Neutral Colors */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    /* Transitions */
    --transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
    --app-ui-scale: 0.9;
    --app-ui-scale-inverse: 1.111111;

    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;

    /* Surface + Text Tokens */
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --bg-secondary: var(--gray-50);
    --border-color: var(--gray-200);
    --text-primary: var(--gray-800);
    --text-secondary: var(--gray-500);
    --text-muted: var(--gray-400);
    --focus-ring: rgba(79, 70, 229, 0.15);

    /* EdutestPro design-system scale */
    --etp-space-1: 0.25rem;
    --etp-space-2: 0.5rem;
    --etp-space-3: 0.75rem;
    --etp-space-4: 1rem;
    --etp-space-5: 1.25rem;
    --etp-space-6: 1.5rem;
    --etp-space-8: 2rem;
    --etp-radius-control: 0.75rem;
    --etp-radius-card: 1rem;
    --etp-radius-panel: 1.25rem;
    --etp-shadow-card: 0 14px 34px rgba(15, 23, 42, 0.08), 0 1px 0 rgba(255, 255, 255, 0.75) inset;
    --etp-shadow-card-hover: 0 18px 42px rgba(15, 23, 42, 0.11), 0 1px 0 rgba(255, 255, 255, 0.78) inset;
    --etp-shadow-control: 0 1px 2px rgba(15, 23, 42, 0.06);
    --etp-border-subtle: rgba(203, 213, 225, 0.86);
    --etp-surface-raised: rgba(255, 255, 255, 0.96);
    --etp-surface-soft: rgba(248, 250, 252, 0.94);
    --etp-transition-fast: 150ms cubic-bezier(0.2, 0, 0, 1);
    --etp-transition: 200ms cubic-bezier(0.2, 0, 0, 1);
}

/* Dark Mode Variables */
[data-theme="dark"] {
    --gray-50: #1f2937;
    --gray-100: #374151;
    --gray-200: #4b5563;
    --gray-300: #6b7280;
    --gray-400: #9ca3af;
    --gray-500: #d1d5db;
    --gray-600: #e5e7eb;
    --gray-700: #f3f4f6;
    --gray-800: #f9fafb;
    --gray-900: #ffffff;
    --surface: #1f2937;
    --surface-2: #273244;
    --bg-secondary: #243041;
    --border-color: #374151;
    --text-primary: #f9fafb;
    --text-secondary: #d1d5db;
    --text-muted: #9ca3af;
    --focus-ring: rgba(129, 140, 248, 0.2);
    --etp-border-subtle: rgba(100, 116, 139, 0.74);
    --etp-surface-raised: rgba(31, 41, 55, 0.96);
    --etp-surface-soft: rgba(39, 50, 68, 0.94);
    --etp-shadow-card: 0 14px 34px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
    --etp-shadow-card-hover: 0 18px 42px rgba(0, 0, 0, 0.26), 0 1px 0 rgba(255, 255, 255, 0.08) inset;
}

/* Base Styles */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--gray-100);
    background-image:
        radial-gradient(circle at top right, rgba(79, 70, 229, 0.08), transparent 55%),
        radial-gradient(circle at 10% 20%, rgba(16, 185, 129, 0.06), transparent 40%);
    color: var(--text-primary);
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@media (min-width: 992px) {
    body.app-ui-zoom-90:has(.dashboard-wrapper > .sidebar) {
        --sidebar-visual-width: calc(260px * var(--app-ui-scale));
    }

    body.app-ui-zoom-90:has(.dashboard-wrapper > .sidebar.teacher) {
        background-image:
            linear-gradient(90deg, rgba(31, 73, 104, 0.98) 0 var(--sidebar-visual-width), transparent var(--sidebar-visual-width)),
            radial-gradient(circle at top right, rgba(79, 70, 229, 0.08), transparent 55%),
            radial-gradient(circle at 10% 20%, rgba(16, 185, 129, 0.06), transparent 40%);
    }

    body.app-ui-zoom-90:has(.dashboard-wrapper > .sidebar.admin) {
        background-image:
            linear-gradient(90deg, #4c1d95 0 var(--sidebar-visual-width), transparent var(--sidebar-visual-width)),
            radial-gradient(circle at top right, rgba(79, 70, 229, 0.08), transparent 55%),
            radial-gradient(circle at 10% 20%, rgba(16, 185, 129, 0.06), transparent 40%);
    }

    body.app-ui-zoom-90:has(.dashboard-wrapper > .sidebar.student) {
        background-image:
            linear-gradient(90deg, #047857 0 var(--sidebar-visual-width), transparent var(--sidebar-visual-width)),
            radial-gradient(circle at top right, rgba(79, 70, 229, 0.08), transparent 55%),
            radial-gradient(circle at 10% 20%, rgba(16, 185, 129, 0.06), transparent 40%);
    }

    body.app-ui-zoom-90 .dashboard-wrapper {
        zoom: var(--app-ui-scale);
        align-items: stretch;
        width: calc(100vw * var(--app-ui-scale-inverse)) !important;
        max-width: calc(100vw * var(--app-ui-scale-inverse)) !important;
        min-height: calc(100vh * var(--app-ui-scale-inverse));
    }

    body.app-ui-zoom-90 .dashboard-wrapper > .sidebar {
        position: static;
        flex: 0 0 260px;
        height: auto;
        min-height: calc(100vh * var(--app-ui-scale-inverse));
        overflow: visible;
    }

    body.app-ui-zoom-90 .dashboard-wrapper > .main-content {
        margin-left: 0;
        min-height: calc(100vh * var(--app-ui-scale-inverse));
    }

    body.app-ui-zoom-90 .dashboard-wrapper ~ .legal-footer-links,
    body.app-ui-zoom-90 .dashboard-wrapper ~ .legal-footer-note {
        margin-left: var(--sidebar-visual-width);
        max-width: calc(100vw - var(--sidebar-visual-width));
    }
}

.dashboard-wrapper,
.main-content,
.page-content,
.top-nav,
.top-nav-actions,
.card,
.card-header,
.card-body {
    min-width: 0;
}

/* Screen-reader utility */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Keyboard skip link */
.skip-link {
    position: absolute;
    left: 12px;
    top: -48px;
    background: #111827;
    color: #fff;
    padding: 0.55rem 0.8rem;
    border-radius: 8px;
    z-index: 2000;
    text-decoration: none;
    box-shadow: var(--shadow-md);
}

.skip-link:focus,
.skip-link:focus-visible {
    top: 12px;
    outline: 3px solid rgba(255, 255, 255, 0.35);
}

/* Strong keyboard focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(79, 70, 229, 0.45);
    outline-offset: 2px;
}

/* Shared EdutestPro Design System */
.etp-page {
    display: grid;
    gap: var(--etp-space-6);
    width: 100%;
    min-width: 0;
}

.etp-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--etp-space-4);
    padding: var(--etp-space-5);
    border: 1px solid rgba(203, 213, 225, 0.72);
    border-radius: var(--etp-radius-panel);
    background:
        radial-gradient(circle at 8% 0%, rgba(59, 130, 246, 0.12), transparent 28%),
        radial-gradient(circle at 96% 18%, rgba(20, 184, 166, 0.12), transparent 30%),
        var(--etp-surface-raised);
    box-shadow: var(--etp-shadow-card);
}

.etp-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.32rem;
    color: var(--primary);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.etp-page-title {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.45rem, 2.1vw, 2.3rem);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: 0;
    text-wrap: balance;
}

.etp-page-subtitle {
    max-width: 72ch;
    margin: 0.45rem 0 0;
    color: var(--text-secondary);
    font-size: 0.98rem;
    line-height: 1.5;
    text-wrap: pretty;
}

.etp-page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--etp-space-2);
    min-width: 0;
}

.etp-card {
    min-width: 0;
    border: 1px solid var(--etp-border-subtle);
    border-radius: var(--etp-radius-card);
    background: linear-gradient(180deg, var(--etp-surface-raised) 0%, var(--etp-surface-soft) 100%);
    box-shadow: var(--etp-shadow-card);
    overflow: hidden;
}

.etp-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--etp-space-3);
    min-height: 4rem;
    padding: var(--etp-space-4) var(--etp-space-5);
    border-bottom: 1px solid rgba(203, 213, 225, 0.68);
    background: rgba(248, 250, 252, 0.72);
}

.etp-card-title {
    margin: 0;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    text-wrap: balance;
}

.etp-card-body {
    padding: var(--etp-space-5);
}

.etp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: var(--etp-space-4);
}

.etp-stack {
    display: grid;
    gap: var(--etp-space-4);
}

.etp-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--etp-space-2);
}

.etp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    min-height: 2.5rem;
    min-width: 2.5rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid transparent;
    border-radius: var(--etp-radius-control);
    background: var(--surface);
    color: var(--text-primary);
    box-shadow: var(--etp-shadow-control);
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.15;
    text-decoration: none;
    transition-property: transform, box-shadow, background-color, border-color, color, opacity;
    transition-duration: var(--etp-transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.etp-btn:hover {
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.etp-btn:active {
    transform: scale(0.96);
}

.etp-btn-primary {
    background: linear-gradient(180deg, var(--primary-light), var(--primary));
    color: #ffffff;
}

.etp-btn-secondary {
    border-color: rgba(148, 163, 184, 0.42);
    background: rgba(255, 255, 255, 0.9);
    color: var(--gray-700);
}

.etp-btn-danger {
    background: linear-gradient(180deg, #fb7185, var(--danger));
    color: #ffffff;
}

.etp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    min-height: 1.55rem;
    padding: 0.22rem 0.58rem;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.92);
    color: var(--gray-700);
    font-size: 0.74rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.etp-badge-success { background: rgba(16, 185, 129, 0.12); color: #047857; }
.etp-badge-warning { background: rgba(245, 158, 11, 0.14); color: #a16207; }
.etp-badge-danger { background: rgba(239, 68, 68, 0.12); color: #dc2626; }
.etp-badge-muted { background: rgba(148, 163, 184, 0.14); color: var(--gray-600); }

.etp-field {
    display: grid;
    gap: 0.42rem;
}

.etp-field > label,
.etp-field-label {
    color: var(--gray-700);
    font-size: 0.84rem;
    font-weight: 600;
}

.etp-input,
.etp-select,
.etp-textarea {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.72rem 0.9rem;
    border: 1px solid var(--etp-border-subtle);
    border-radius: var(--etp-radius-control);
    background: var(--surface);
    color: var(--text-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    font: inherit;
    font-size: 0.94rem;
    line-height: 1.35;
    transition-property: box-shadow, border-color, background-color;
    transition-duration: var(--etp-transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.etp-textarea {
    min-height: 8rem;
    resize: vertical;
}

.etp-input:focus,
.etp-select:focus,
.etp-textarea:focus {
    border-color: rgba(79, 70, 229, 0.5);
    box-shadow: 0 0 0 3px var(--focus-ring);
    outline: none;
}

.etp-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface);
}

.etp-table th,
.etp-table td {
    padding: 0.88rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.84);
    vertical-align: middle;
}

.etp-table th {
    background: var(--surface-2);
    color: var(--gray-600);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.055em;
    text-align: left;
    text-transform: uppercase;
}

.etp-table tbody tr:hover {
    background: rgba(248, 250, 252, 0.92);
}

.etp-list {
    display: grid;
    gap: var(--etp-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.etp-empty-state {
    display: grid;
    place-items: center;
    gap: var(--etp-space-3);
    min-height: 14rem;
    padding: var(--etp-space-8);
    border: 1px dashed rgba(148, 163, 184, 0.65);
    border-radius: var(--etp-radius-panel);
    background: rgba(248, 250, 252, 0.72);
    color: var(--text-secondary);
    text-align: center;
}

.etp-empty-state h2,
.etp-empty-state h3 {
    margin: 0;
    color: var(--text-primary);
    text-wrap: balance;
}

@media (max-width: 760px) {
    .etp-page-header {
        display: grid;
        padding: var(--etp-space-4);
    }

    .etp-page-actions {
        justify-content: stretch;
    }

    .etp-page-actions > .etp-btn,
    .etp-page-actions > .btn {
        flex: 1 1 100%;
    }
}

/* Login Page */
.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    padding: 1rem;
}

.login-card {
    background: white;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    width: 100%;
    max-width: 420px;
    padding: 2.5rem;
}

.login-logo {
    text-align: center;
    margin-bottom: 2rem;
}

.login-logo-img {
    max-width: 160px;
    max-height: 90px;
    object-fit: contain;
    margin-bottom: 1rem;
}

.login-logo h1 {
    color: var(--primary);
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
}

.login-logo p {
    color: var(--gray-500);
    margin: 0.5rem 0 0;
}

.login-legal-links {
    margin-top: 0.75rem;
    font-size: 0.82rem;
    color: var(--gray-500);
    display: flex;
    justify-content: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.login-legal-links a {
    color: var(--primary);
    text-decoration: none;
}

.login-legal-links a:hover {
    text-decoration: underline;
}

/* Dashboard Layout */
.dashboard-wrapper {
    display: flex;
    min-height: 100vh;
}

/* Sidebar */
.sidebar {
    width: 260px;
    background: var(--gray-900);
    color: white;
    position: fixed;
    height: 100vh;
    left: 0;
    top: 0;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior: contain;
    transition: var(--transition);
    z-index: 1000;
    box-shadow: 8px 0 24px rgba(15, 23, 42, 0.18);
}

.sidebar::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.sidebar.admin { background: linear-gradient(180deg, #6b21a8 0%, #4c1d95 100%); }
.sidebar.teacher {
    background:
        linear-gradient(180deg, rgba(29, 78, 137, 0.98) 0%, rgba(30, 64, 122, 0.98) 58%, rgba(31, 73, 104, 0.98) 100%);
}
.sidebar.student { background: linear-gradient(180deg, #059669 0%, #047857 100%); }

.sidebar-header {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    color: white;
}

.sidebar-logo-img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.15);
    padding: 4px;
}

.sidebar-logo i {
    font-size: 1.75rem;
}

.sidebar-logo span {
    font-size: 1.25rem;
    font-weight: 700;
}

.sidebar-nav {
    padding: 1rem 0;
}

.nav-section {
    padding: 0 1rem;
    margin-bottom: 1.5rem;
}

.nav-section-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.5);
    padding: 0 0.75rem;
    margin-bottom: 0.5rem;
}

.sidebar .nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: var(--radius);
    transition: var(--transition);
    margin-bottom: 0.25rem;
}

.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

.sidebar .nav-link.active {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    font-weight: 500;
}

.sidebar .nav-link i {
    width: 20px;
    text-align: center;
}

.sidebar .nav-link .badge {
    margin-left: auto;
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
}

.sidebar .nav-link.nav-link-button {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.nav-language {
    margin-top: 0.55rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    padding: 0 0.75rem;
}

.nav-language a {
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    padding: 0.2rem 0.35rem;
    border-radius: 6px;
}

.nav-language a.active,
.nav-language a:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

/* Suppress all sidebar transitions during initial page render to prevent flash-open animation */
.sidebar[data-loading] *,
.sidebar[data-loading] *::before,
.sidebar[data-loading] *::after {
    transition: none !important;
    animation: none !important;
}

/* ==============================================
   COLLAPSIBLE SIDEBAR ACCORDION (teacher nav)
   ============================================== */

/* Collapsible section container — tight vertical rhythm */
.sidebar .nav-section.collapsible {
    margin-bottom: 1px;
    padding: 0 0.65rem;
}

/* Divider between sections */
.sidebar .nav-section.collapsible + .nav-section.collapsible {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    padding-top: 1px;
}

/* Dashboard section (non-collapsible) — premium top link */
.sidebar .nav-section:not(.collapsible):first-of-type {
    padding: 0.6rem 0.9rem 0.55rem;
    margin-bottom: 0.3rem;
}

.sidebar .nav-section:not(.collapsible):first-of-type .nav-link {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-weight: 600;
    font-size: 0.88rem;
    padding: 0.68rem 1rem;
    border-radius: 10px;
    letter-spacing: 0.01em;
    gap: 0.75rem;
    transition: background 0.2s, border-color 0.2s;
}

.sidebar .nav-section:not(.collapsible):first-of-type .nav-link:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.28);
}

.sidebar .nav-section:not(.collapsible):first-of-type .nav-link.active {
    background: rgba(255, 255, 255, 0.24);
    border-color: rgba(255, 255, 255, 0.35);
}

/* ── Section toggle button ── */
.nav-section.collapsible .nav-section-toggle {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    background: none;
    border: none;
    padding: 0.68rem 0.7rem;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.2s ease, color 0.2s ease;
    color: rgba(255, 255, 255, 0.52);
    user-select: none;
    text-align: left;
}

.nav-section.collapsible .nav-section-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
}

.nav-section.collapsible[data-open="true"] .nav-section-toggle {
    color: rgba(255, 255, 255, 1);
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px 8px 0 0;
}

/* ── Section icon — pill badge ── */
.nav-section-toggle .nav-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 0.78rem;
    flex-shrink: 0;
    transition: background 0.2s ease, opacity 0.2s ease;
    opacity: 0.72;
}

.nav-section.collapsible .nav-section-toggle:hover .nav-section-icon {
    background: rgba(255, 255, 255, 0.16);
    opacity: 1;
}

.nav-section.collapsible[data-open="true"] .nav-section-toggle .nav-section-icon {
    background: rgba(255, 255, 255, 0.2);
    opacity: 1;
}

/* ── Section title — sentence-case, clean weight ── */
.nav-section.collapsible .nav-section-title {
    flex: 1;
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: inherit;
    padding: 0;
    margin: 0;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Chevron ── */
.nav-section-chevron {
    font-size: 0.62rem;
    opacity: 0.5;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s;
    flex-shrink: 0;
}

.nav-section.collapsible[data-open="true"] .nav-section-chevron {
    transform: rotate(180deg);
    opacity: 0.9;
}

/* ── Section body — smooth slide + fade ── */
.nav-section-body {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.22s ease;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 0 0 8px 8px;
    padding: 0;
}

.nav-section.collapsible[data-open="true"] .nav-section-body {
    max-height: 2000px;
    opacity: 1;
    padding: 0.3rem 0 0.45rem;
}

/* ── Sub-links ── */
.nav-section-body .nav-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.54rem 0.7rem 0.54rem 1.2rem;
    margin: 1px 0.45rem;
    font-size: 0.855rem;
    color: rgba(255, 255, 255, 0.62);
    border-radius: 7px;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.nav-section-body .nav-link i {
    width: 16px;
    font-size: 0.8rem;
    text-align: center;
    opacity: 0.65;
    flex-shrink: 0;
    transition: opacity 0.15s;
}

.nav-section-body .nav-link:hover {
    color: rgba(255, 255, 255, 0.96);
    background: rgba(255, 255, 255, 0.1);
}

.nav-section-body .nav-link:hover i {
    opacity: 1;
}

/* Active sub-link — left accent bar + highlight */
.nav-section-body .nav-link.active {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-weight: 600;
    box-shadow: inset 3px 0 0 rgba(255, 255, 255, 0.82);
}

.nav-section-body .nav-link.active i {
    opacity: 1;
}

/* Teacher sidebar section colour coding */
.sidebar.teacher .nav-section.collapsible[data-section] {
    --section-accent: rgba(255, 255, 255, 0.7);
    --section-accent-soft: rgba(255, 255, 255, 0.1);
    --section-accent-hover: rgba(255, 255, 255, 0.15);
    --section-accent-border: rgba(255, 255, 255, 0.16);
}

.sidebar.teacher .nav-section.collapsible[data-section="assessment"] {
    --section-accent: #38bdf8;
    --section-accent-soft: rgba(56, 189, 248, 0.11);
    --section-accent-hover: rgba(56, 189, 248, 0.17);
    --section-accent-border: rgba(56, 189, 248, 0.24);
}

.sidebar.teacher .nav-section.collapsible[data-section="coursework"] {
    --section-accent: #f59e0b;
    --section-accent-soft: rgba(245, 158, 11, 0.11);
    --section-accent-hover: rgba(245, 158, 11, 0.17);
    --section-accent-border: rgba(245, 158, 11, 0.24);
}

.sidebar.teacher .nav-section.collapsible[data-section="insight"] {
    --section-accent: #a78bfa;
    --section-accent-soft: rgba(167, 139, 250, 0.12);
    --section-accent-hover: rgba(167, 139, 250, 0.18);
    --section-accent-border: rgba(167, 139, 250, 0.26);
}

.sidebar.teacher .nav-section.collapsible[data-section="toolkit"] {
    --section-accent: #ec4899;
    --section-accent-soft: rgba(236, 72, 153, 0.11);
    --section-accent-hover: rgba(236, 72, 153, 0.17);
    --section-accent-border: rgba(236, 72, 153, 0.24);
}

.sidebar.teacher .nav-section.collapsible[data-section="classroom"] {
    --section-accent: #10b981;
    --section-accent-soft: rgba(16, 185, 129, 0.11);
    --section-accent-hover: rgba(16, 185, 129, 0.17);
    --section-accent-border: rgba(16, 185, 129, 0.24);
}

.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-toggle {
    background: var(--section-accent-soft);
    border: 1px solid var(--section-accent-border);
    box-shadow: inset 4px 0 0 var(--section-accent);
    color: rgba(255, 255, 255, 0.78);
}

.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-toggle:hover,
.sidebar.teacher .nav-section.collapsible[data-section][data-open="true"] .nav-section-toggle {
    background: var(--section-accent-hover);
    border-color: var(--section-accent-border);
    color: #ffffff;
}

.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-icon {
    background: var(--section-accent-soft);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px var(--section-accent-border);
}

.sidebar.teacher .nav-section.collapsible[data-section][data-open="true"] .nav-section-icon,
.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-toggle:hover .nav-section-icon {
    background: var(--section-accent);
    color: #0f172a;
    opacity: 1;
}

.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-body {
    background:
        linear-gradient(180deg, var(--section-accent-soft), rgba(0, 0, 0, 0.12));
    border-left: 1px solid var(--section-accent-border);
    border-right: 1px solid var(--section-accent-border);
    border-bottom: 1px solid var(--section-accent-border);
}

.sidebar.teacher .nav-section.collapsible[data-section] .nav-section-body .nav-link.active {
    box-shadow: inset 4px 0 0 var(--section-accent);
}

/* Main Content */
.main-content {
    flex: 1;
    margin-left: 260px;
    min-height: 100vh;
    transition: var(--transition);
}

/* Top Navigation */
.top-nav {
    background: var(--surface);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--border-color);
}

/* Teacher workspace header shell */
.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav,
.teacher-tests-page .top-nav,
.teacher-students-page .top-nav,
.teacher-create-test-page .create-test-top-nav,
.teacher-workspace-page.coursework-v3 .coursework-v3-topbar {
    position: sticky;
    top: 0.9rem;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 86px;
    margin: 1rem 1rem 1.05rem;
    padding: 1.15rem 1.35rem;
    border: 1px solid rgba(165, 180, 252, 0.34);
    border-radius: 30px;
    background:
        radial-gradient(circle at 6% 0%, rgba(59, 130, 246, 0.13), transparent 31%),
        radial-gradient(circle at 82% 4%, rgba(45, 212, 191, 0.14), transparent 30%),
        radial-gradient(circle at 98% 38%, rgba(139, 92, 246, 0.12), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 247, 255, 0.96));
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .page-title,
.teacher-tests-page .page-title,
.teacher-students-page .page-title,
.teacher-create-test-page .page-title,
.teacher-workspace-page.coursework-v3 .coursework-v3-title {
    margin: 0;
    color: #1c3362;
    letter-spacing: -0.03em;
    line-height: 1.08;
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .page-title,
.teacher-tests-page .top-nav .page-title,
.teacher-students-page .top-nav .page-title,
.teacher-create-test-page .top-nav .page-title {
    font-size: clamp(1.55rem, 1.8vw, 2.35rem);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-weight: 800;
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav-actions,
.teacher-tests-page .top-nav-actions,
.teacher-students-page .top-nav-actions,
.teacher-create-test-page .top-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .btn,
.teacher-tests-page .top-nav .btn,
.teacher-students-page .top-nav .btn,
.teacher-create-test-page .top-nav .btn {
    min-height: 2.95rem;
    border-radius: 999px;
    padding-inline: 1.15rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .btn-outline-primary,
.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .btn-outline-secondary,
.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .btn-light,
.teacher-tests-page .top-nav .btn-outline-primary,
.teacher-tests-page .top-nav .btn-outline-secondary,
.teacher-tests-page .top-nav .btn-light,
.teacher-students-page .top-nav .btn-outline-primary,
.teacher-students-page .top-nav .btn-outline-secondary,
.teacher-students-page .top-nav .btn-light,
.teacher-create-test-page .top-nav .btn-outline-primary,
.teacher-create-test-page .top-nav .btn-outline-secondary,
.teacher-create-test-page .top-nav .btn-light {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(203, 213, 225, 0.88);
    color: #4a5f84;
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .btn-primary,
.teacher-tests-page .top-nav .btn-primary,
.teacher-students-page .top-nav .btn-primary,
.teacher-create-test-page .top-nav .btn-primary {
    border-color: transparent;
    background: linear-gradient(135deg, #4f46e5 0%, #2563eb 100%);
    color: #ffffff;
}

.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav-actions .badge,
.teacher-tests-page .top-nav-actions .badge,
.teacher-students-page .top-nav-actions .badge,
.teacher-create-test-page .top-nav-actions .badge {
    display: inline-flex;
    align-items: center;
    min-height: 2.55rem;
    border-radius: 999px;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(203, 213, 225, 0.82);
    background: rgba(255, 255, 255, 0.86);
    color: #50688f;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.teacher-workspace-page.coursework-v3 .coursework-v3-top-left,
.teacher-workspace-page.coursework-v3 .coursework-v3-top-right {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.teacher-workspace-page.coursework-v3 .coursework-v3-title {
    font-size: clamp(1.55rem, 1.65vw, 2.05rem);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-weight: 700;
}

.teacher-workspace-page.coursework-v3 .coursework-v3-sep {
    width: 1px;
    height: 26px;
    background: linear-gradient(180deg, rgba(203, 213, 225, 0.2), rgba(148, 163, 184, 0.75), rgba(203, 213, 225, 0.2));
}

.teacher-workspace-page.coursework-v3 .coursework-v3-mode {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.78);
    color: #5b729b;
    font-size: 0.88rem;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.teacher-workspace-page.coursework-v3 .coursework-v3-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.7rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.84);
    color: #516b97;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.teacher-workspace-page.coursework-v3 .coursework-v3-link:hover {
    color: #284fa9;
    border-color: rgba(59, 130, 246, 0.24);
    background: rgba(239, 246, 255, 0.9);
}

.teacher-workspace-page.coursework-v3 .coursework-v3-icon-btn {
    height: 42px;
    min-width: 42px;
    border-radius: 999px;
    border: 1px solid #d2dced;
    background: rgba(255, 255, 255, 0.92);
    color: #4f6386;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.teacher-workspace-page.coursework-v3 .coursework-v3-avatar {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: linear-gradient(180deg, #edf3ff 0%, #dce7ff 100%);
    color: #2f56bb;
    font-size: 0.9rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

@media (max-width: 991.98px) {
    .teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav,
    .teacher-tests-page .top-nav,
    .teacher-students-page .top-nav,
    .teacher-create-test-page .create-test-top-nav,
    .teacher-workspace-page.coursework-v3 .coursework-v3-topbar {
        top: 0.7rem;
        margin: 0.8rem 0.8rem 0.9rem;
        padding: 0.95rem 1rem;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav .page-title,
    .teacher-tests-page .top-nav .page-title,
    .teacher-students-page .top-nav .page-title,
    .teacher-create-test-page .top-nav .page-title,
    .teacher-workspace-page.coursework-v3 .coursework-v3-title {
        font-size: 1.55rem;
    }

    .teacher-workspace-page.coursework-v3 .coursework-v3-top-left,
    .teacher-workspace-page.coursework-v3 .coursework-v3-top-right {
        width: 100%;
    }

    .teacher-workspace-page.coursework-v3 .coursework-v3-sep {
        display: none;
    }
}

.mobile-topbar {
    display: none;
    position: sticky;
    top: 0;
    z-index: 1101;
    background: var(--surface);
    border-bottom: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    padding: 0.5rem 0.75rem;
    align-items: center;
    gap: 0.75rem;
}

.mobile-title {
    font-weight: 600;
    color: var(--gray-800);
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu-toggle {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    border: 1px solid var(--gray-200);
    background: white;
    color: var(--gray-700);
    cursor: pointer;
    flex-shrink: 0;
}

.menu-toggle:hover {
    background: var(--gray-50);
}

.sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 900;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.sidebar-overlay.show {
    opacity: 1;
    visibility: visible;
}

.page-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--gray-800);
    margin: 0;
}

.top-nav-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.notification-btn {
    position: relative;
    background: transparent;
    border: none;
    color: var(--gray-600);
    font-size: 1.25rem;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: var(--transition);
}

.notification-btn:hover {
    background: var(--gray-100);
    color: var(--gray-800);
}

.notification-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--danger);
    color: white;
    font-size: 0.65rem;
    padding: 0.15rem 0.4rem;
    border-radius: 10px;
    font-weight: 600;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
}

.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.top-nav .user-info {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
}

@media (min-width: 768px) {
    .top-nav .user-info {
        display: flex;
    }
    .top-nav .user-info .name {
        font-weight: 600;
        color: var(--gray-800);
        font-size: 0.9rem;
    }
    .top-nav .user-info .role {
        font-size: 0.75rem;
        color: var(--gray-500);
        text-transform: capitalize;
    }
}

/* Page Content */
.page-content {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Shared Workspace Theme Rollout
   Uses the Create Test visual system across app pages while leaving
   the known dashboard landing pages on their own styling. */
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) {
    --workspace-blue-header: linear-gradient(180deg, rgba(237, 246, 255, 0.98) 0%, rgba(247, 250, 255, 0.96) 100%);
    --workspace-blue-body: linear-gradient(180deg, rgba(239, 246, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --workspace-violet-header: linear-gradient(180deg, rgba(243, 239, 255, 0.98) 0%, rgba(248, 246, 255, 0.96) 100%);
    --workspace-violet-body: linear-gradient(180deg, rgba(245, 243, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --workspace-teal-header: linear-gradient(180deg, rgba(235, 250, 247, 0.98) 0%, rgba(246, 255, 252, 0.96) 100%);
    --workspace-teal-body: linear-gradient(180deg, rgba(240, 253, 250, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --workspace-amber-header: linear-gradient(180deg, rgba(255, 247, 237, 0.98) 0%, rgba(255, 251, 244, 0.96) 100%);
    --workspace-amber-body: linear-gradient(180deg, rgba(255, 248, 235, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    background:
        radial-gradient(circle at top right, rgba(79, 70, 229, 0.12), transparent 42%),
        radial-gradient(circle at 12% 14%, rgba(37, 99, 235, 0.08), transparent 30%),
        linear-gradient(180deg, #eef4ff 0%, #f7f9fc 42%, #f1f5ff 100%);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .top-nav {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 255, 0.93) 100%);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-title {
    color: #172554;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content {
    padding: 1.35rem 1.5rem 2rem;
    max-width: 1480px;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > * + * {
    margin-top: 1rem;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card {
    border-radius: 1.5rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.94) 100%);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card-header {
    padding: 1.12rem 1.25rem 0.96rem;
    background: var(--workspace-blue-header);
    border-bottom: 1px solid rgba(226, 232, 240, 0.78);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card-header .card-title,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card-title,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) h5,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) h6 {
    color: #172554;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card-body {
    background: var(--workspace-blue-body);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .card-footer {
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
    border-top: 1px solid rgba(226, 232, 240, 0.78);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .list-group-item,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .table-responsive {
    border-radius: 18px;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .list-group-item {
    border-color: rgba(226, 232, 240, 0.78);
    background: rgba(248, 250, 252, 0.88);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .form-control,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .form-select,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) textarea.form-control {
    background-color: rgba(255, 255, 255, 0.94);
    border-color: rgba(203, 213, 225, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .form-control:focus,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .form-select:focus,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) textarea.form-control:focus {
    border-color: rgba(99, 102, 241, 0.34);
    box-shadow:
        0 0 0 0.2rem rgba(99, 102, 241, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn {
    border-radius: 12px;
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-primary,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-secondary,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-info,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-success,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-danger,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .btn-outline-warning {
    background: rgba(255, 255, 255, 0.9);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .alert {
    border-radius: 18px;
    border-color: rgba(226, 232, 240, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .pagination .page-link {
    border-radius: 10px;
}

/* Stronger section colour rhythm, closer to Create Test */
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+1) > .card-header,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+1) > .card > .card-header {
    background: var(--workspace-blue-header);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+1) > .card-body,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+1) > .card > .card-body {
    background: var(--workspace-blue-body);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+2) > .card-header,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+2) > .card > .card-header {
    background: var(--workspace-teal-header);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+2) > .card-body,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+2) > .card > .card-body {
    background: var(--workspace-teal-body);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+3) > .card-header,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+3) > .card > .card-header {
    background: var(--workspace-violet-header);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+3) > .card-body,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+3) > .card > .card-body {
    background: var(--workspace-violet-body);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+4) > .card-header,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+4) > .card > .card-header {
    background: var(--workspace-amber-header);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .card:nth-of-type(4n+4) > .card-body,
.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .page-content > .row > [class*="col-"]:nth-child(4n+4) > .card > .card-body {
    background: var(--workspace-amber-body);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .modal-content {
    border-radius: 1.5rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    overflow: hidden;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.12);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .modal-header {
    background: var(--workspace-violet-header);
    border-bottom: 1px solid rgba(226, 232, 240, 0.78);
}

.dashboard-wrapper > .main-content:not(.teacher-dashboard-page):not(.student-dashboard-page):not(.admin-dashboard-page) .modal-body {
    background: var(--workspace-violet-body);
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page {
    background:
        radial-gradient(circle at top right, rgba(79, 70, 229, 0.12), transparent 42%),
        radial-gradient(circle at 12% 14%, rgba(37, 99, 235, 0.08), transparent 30%),
        linear-gradient(180deg, #eef4ff 0%, #f7f9fc 42%, #f1f5ff 100%) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page:not(.teacher-dashboard-page):not(.teacher-analytics-page) .top-nav,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-tests-page .top-nav,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-students-page .top-nav {
    border: 1px solid rgba(165, 180, 252, 0.34) !important;
    background:
        radial-gradient(circle at 6% 0%, rgba(59, 130, 246, 0.13), transparent 31%),
        radial-gradient(circle at 82% 4%, rgba(45, 212, 191, 0.14), transparent 30%),
        radial-gradient(circle at 98% 38%, rgba(139, 92, 246, 0.12), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 247, 255, 0.96)) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.08) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .page-title,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h1,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h2,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h3,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h4,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h5,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page h6 {
    color: #172554 !important;
    letter-spacing: -0.01em;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .page-content {
    max-width: 1480px;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .card,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .panel,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .summary-card {
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.94) 100%) !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .card-header,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .panel-heading,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .summary-card__header {
    padding: 1.12rem 1.25rem 0.96rem !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.78) !important;
    background: linear-gradient(180deg, rgba(237, 246, 255, 0.98) 0%, rgba(247, 250, 255, 0.96) 100%) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .card-body,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .panel-body,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .summary-card__body {
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .card-footer {
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.78) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .form-control,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .form-select,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page textarea.form-control {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(203, 213, 225, 0.92) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .form-control:focus,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .form-select:focus,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page textarea.form-control:focus {
    border-color: rgba(99, 102, 241, 0.34) !important;
    box-shadow:
        0 0 0 0.2rem rgba(99, 102, 241, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn {
    border-radius: 12px !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-primary,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-secondary,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-info,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-success,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-danger,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-warning {
    background: rgba(255, 255, 255, 0.9) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-primary:hover,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-primary:focus-visible {
    background: rgba(79, 70, 229, 0.12) !important;
    color: #4338ca !important;
    border-color: rgba(79, 70, 229, 0.52) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-secondary:hover,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-secondary:focus-visible {
    background: rgba(148, 163, 184, 0.14) !important;
    color: #334155 !important;
    border-color: rgba(100, 116, 139, 0.45) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-success:hover,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-success:focus-visible {
    background: rgba(5, 150, 105, 0.12) !important;
    color: #047857 !important;
    border-color: rgba(5, 150, 105, 0.45) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-info:hover,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .btn-outline-info:focus-visible {
    background: rgba(8, 145, 178, 0.12) !important;
    color: #0f766e !important;
    border-color: rgba(8, 145, 178, 0.42) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .alert,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .table-responsive,
.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .list-group-item {
    border-radius: 18px !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .modal-content {
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 24px !important;
    overflow: hidden;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.12) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .modal-header {
    background: linear-gradient(180deg, rgba(243, 239, 255, 0.98) 0%, rgba(248, 246, 255, 0.96) 100%) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.78) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content.teacher-workspace-page .modal-body {
    background: linear-gradient(180deg, rgba(245, 243, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
}

.legal-footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.82rem;
    color: var(--gray-500);
    padding: 0.7rem 1rem 0.45rem;
}

.legal-footer-links a {
    display: inline-flex;
    align-items: center;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(99, 102, 241, 0.25);
    background: rgba(99, 102, 241, 0.08);
    color: #3730a3;
    text-decoration: none;
    font-weight: 600;
    line-height: 1;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.legal-footer-links a:hover {
    text-decoration: none;
    color: #312e81;
    border-color: rgba(99, 102, 241, 0.38);
    background: rgba(99, 102, 241, 0.14);
}

.legal-footer-links a.active {
    border-color: rgba(79, 70, 229, 0.55);
    background: rgba(79, 70, 229, 0.2);
}

.legal-footer-links span[aria-hidden="true"] {
    color: var(--gray-300);
}

.legal-footer-note {
    display: table;
    margin: 0 auto 0.9rem;
    padding: 0.38rem 0.8rem;
    text-align: center;
    font-size: 0.76rem;
    line-height: 1.25;
    color: var(--gray-700);
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.22);
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    max-width: calc(100% - 2rem);
}

.legal-page {
    min-height: 100vh;
    padding: 1.25rem;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.legal-page-child {
    background: linear-gradient(180deg, #f0fdfa 0%, #ecfeff 100%);
}

.legal-card {
    max-width: 960px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: var(--shadow);
    padding: 1.1rem 1.2rem;
}

.legal-card h1 {
    font-size: 1.5rem;
    margin: 0 0 0.65rem;
}

.legal-card h2 {
    font-size: 1.03rem;
    margin: 1.1rem 0 0.35rem;
}

.legal-card p,
.legal-card li {
    color: var(--gray-700);
    line-height: 1.5;
    margin-bottom: 0.45rem;
}

.legal-card ul {
    padding-left: 1.1rem;
    margin: 0.25rem 0 0.75rem;
}

.legal-meta {
    color: var(--gray-500);
    font-size: 0.88rem;
}

/* Cards */
.card {
    background: var(--surface);
    border-radius: var(--etp-radius-card);
    box-shadow: var(--etp-shadow-card);
    border: 1px solid var(--etp-border-subtle);
    transition-property: transform, box-shadow, border-color, background-color;
    transition-duration: var(--etp-transition);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.card-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(203, 213, 225, 0.72);
    background: linear-gradient(180deg, var(--surface-2), rgba(255, 255, 255, 0.88));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: nowrap;
}

.card-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--gray-800);
    line-height: 1.25;
    text-wrap: balance;
}

.card-body {
    padding: 1.25rem;
}

.card-footer {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--border-color);
    background: var(--surface-2);
}

/* Stats Cards */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    align-items: stretch;
}

.stat-card {
    background: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    box-shadow: var(--shadow);
    border: 1px solid var(--border-color);
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.stat-card-link {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

.stat-card-link:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: white;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.stat-icon.primary { background: var(--primary); }
.stat-icon.success { background: var(--success); }
.stat-icon.warning { background: var(--warning); }
.stat-icon.danger { background: var(--danger); }
.stat-icon.info { background: var(--info); }

.stat-content {
    flex: 1;
}

.stat-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--gray-800);
    line-height: 1;
    margin-bottom: 0.25rem;
}

.stat-label {
    color: var(--gray-500);
    font-size: 0.875rem;
}

.stat-change {
    font-size: 0.75rem;
    margin-top: 0.5rem;
}

.stat-change.positive { color: var(--success); }
.stat-change.negative { color: var(--danger); }

/* Tables */
.table-responsive {
    overflow-x: auto;
    border-radius: var(--etp-radius-card);
}

.table,
.data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface);
}

.table th,
.data-table th {
    background: linear-gradient(180deg, var(--surface-2), rgba(255, 255, 255, 0.88));
    padding: 0.85rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gray-600);
    border-bottom: 1px solid var(--border-color);
}

.table td,
.data-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--gray-100);
    color: var(--gray-700);
    vertical-align: middle;
    line-height: 1.4;
}

.table tbody tr:hover,
.data-table tbody tr:hover {
    background: var(--surface-2);
}

.table tbody tr:last-child td,
.data-table tbody tr:last-child td {
    border-bottom: none;
}

.table-desktop {
    display: block;
}

.table-cards {
    display: none;
}

.table-card {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 1rem;
    border: 1px solid var(--border-color);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.table-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.table-card-title {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--gray-800);
    font-size: 0.95rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.table-card-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.875rem;
    padding: 0.35rem 0;
}

.table-card-label {
    color: var(--gray-500);
    flex: 0 0 40%;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.7rem;
}

.table-card-value {
    color: var(--gray-700);
    text-align: right;
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.table-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

/* Forms */
.form-group {
    margin-bottom: 1rem;
}

.form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--gray-700);
    font-size: 0.875rem;
}

.form-control {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.66rem 0.875rem;
    border: 1px solid var(--etp-border-subtle);
    border-radius: var(--etp-radius-control);
    font-size: 0.9375rem;
    transition-property: box-shadow, border-color, background-color;
    transition-duration: var(--etp-transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    background: var(--surface);
    color: var(--text-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.form-control:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--focus-ring);
}

.form-control::placeholder {
    color: var(--text-muted);
}

.form-control.is-invalid {
    border-color: var(--danger);
}

.invalid-feedback {
    color: var(--danger);
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

.form-text {
    color: var(--gray-500);
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

/* Select */
.form-select {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.66rem 2.5rem 0.66rem 0.875rem;
    border: 1px solid var(--etp-border-subtle);
    border-radius: var(--etp-radius-control);
    font-size: 0.9375rem;
    background: var(--surface) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right 0.75rem center/16px 12px;
    appearance: none;
    cursor: pointer;
    color: var(--text-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    transition-property: box-shadow, border-color, background-color;
    transition-duration: var(--etp-transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

/* Prevent long selected values (e.g. long test titles) from breaking layouts. */
select.form-control,
select.form-select {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--etp-radius-control);
    border: 1px solid transparent;
    cursor: pointer;
    transition-property: transform, box-shadow, background-color, border-color, color, opacity;
    transition-duration: var(--etp-transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    text-decoration: none;
    line-height: 1.15;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: scale(0.96);
}

.btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--focus-ring);
}

.btn-primary {
    background: var(--primary);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-dark);
    color: white;
}

.btn-secondary {
    background: var(--gray-200);
    color: var(--gray-700);
}

.btn-secondary:hover {
    background: var(--gray-300);
}

.btn-success {
    background: var(--success);
    color: white;
}

.btn-success:hover {
    background: #059669;
    color: white;
}

.btn-danger {
    background: var(--danger);
    color: white;
}

.btn-danger:hover {
    background: #dc2626;
    color: white;
}

.btn-outline-primary {
    background: transparent;
    border: 1px solid var(--primary);
    color: var(--primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
    background: rgba(79, 70, 229, 0.12);
    color: #4338ca;
    border-color: rgba(79, 70, 229, 0.52);
}

.btn-outline-secondary {
    background: transparent;
    border: 1px solid var(--gray-300);
    color: var(--gray-700);
}

.btn-outline-secondary:hover {
    background: var(--gray-100);
    color: var(--gray-800);
}

.btn-outline-success {
    background: transparent;
    border: 1px solid var(--success);
    color: var(--success);
}

.btn-outline-success:hover,
.btn-outline-success:focus-visible {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
    border-color: rgba(5, 150, 105, 0.52);
}

.btn-outline-info {
    background: transparent;
    border: 1px solid var(--info);
    color: var(--info);
}

.btn-outline-info:hover,
.btn-outline-info:focus-visible {
    background: rgba(6, 182, 212, 0.12);
    color: #0f766e;
    border-color: rgba(8, 145, 178, 0.5);
}

.btn-outline-danger {
    background: transparent;
    border: 1px solid var(--danger);
    color: var(--danger);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus-visible {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
    border-color: rgba(239, 68, 68, 0.48);
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
    min-height: 2.25rem;
}

.btn-lg {
    padding: 0.875rem 1.75rem;
    font-size: 1rem;
}

.btn-block {
    display: flex;
    width: 100%;
}

.btn-icon {
    padding: 0.5rem;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
}

/* Badges */
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    min-height: 1.5rem;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1;
    border-radius: 9999px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    white-space: nowrap;
}

.badge-primary { background: rgba(79, 70, 229, 0.1); color: var(--primary); }
.badge-success { background: rgba(16, 185, 129, 0.1); color: var(--success); }
.badge-warning { background: rgba(245, 158, 11, 0.1); color: var(--warning); }
.badge-danger { background: rgba(239, 68, 68, 0.1); color: var(--danger); }
.badge-info { background: rgba(59, 130, 246, 0.1); color: var(--info); }
.badge-secondary { background: var(--gray-100); color: var(--gray-600); }
.badge-subject {
    color: #fff;
    border-color: transparent;
}
.badge-subject i {
    color: inherit;
}
.badge-light {
    background: #f3f4f6;
    color: #334155;
    border-color: rgba(51, 65, 85, 0.18);
    font-weight: 600;
}

/* Dropdowns - Bootstrap 5 fixes */
.dropdown-menu {
    position: absolute;
    z-index: 2000;
    display: none;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0;
    font-size: 1rem;
    color: var(--text-primary);
    text-align: left;
    list-style: none;
    background-color: white;
    background-clip: padding-box;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.dropdown-menu.show {
    display: block;
}

/* Right-align menus when requested (Bootstrap's .dropdown-menu-end) */
.dropdown-menu-end {
    right: 0;
    left: auto;
}

/* Paper Tests: keep print menus usable near bottom of viewport */
.print-dropdown .dropdown-menu {
    max-height: 60vh;
    overflow-y: auto;
}
.print-dropdown.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-bottom: 0.25rem;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.5rem 1rem;
    clear: both;
    font-weight: 400;
    color: var(--text-primary);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    cursor: pointer;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--text-primary);
    background-color: var(--gray-100);
}

.dropdown-item.text-danger {
    color: var(--danger);
}

.dropdown-item.text-danger:hover {
    color: var(--danger);
    background-color: rgba(239, 68, 68, 0.1);
}

.dropdown-divider {
    height: 0;
    margin: 0.5rem 0;
    overflow: hidden;
    border-top: 1px solid var(--border-color);
}

/* Alerts */
.alert {
    padding: 1rem 1.25rem;
    border-radius: var(--radius);
    margin-bottom: 1rem;
    /* Keep Bootstrap's natural flow so inline elements (strong/em/links) don't become flex items. */
    display: block;
}

.alert-success { background: rgba(16, 185, 129, 0.1); color: #047857; border: 1px solid rgba(16, 185, 129, 0.2); }
.alert-danger { background: rgba(239, 68, 68, 0.1); color: #b91c1c; border: 1px solid rgba(239, 68, 68, 0.2); }
.alert-warning { background: rgba(245, 158, 11, 0.1); color: #b45309; border: 1px solid rgba(245, 158, 11, 0.2); }
.alert-info { background: rgba(59, 130, 246, 0.1); color: #1d4ed8; border: 1px solid rgba(59, 130, 246, 0.2); }

.alert > i {
    display: inline-block;
    width: 1.25rem;
    margin-right: 0.65rem;
    margin-top: 0.15rem;
    vertical-align: top;
}

/* AI feedback compact cards */
.ai-feedback-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}
.ai-card {
    position: relative;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}
.ai-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #64748b;
}
.ai-card-title {
    font-size: 0.92rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #0f172a;
}
.ai-card-title i {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    background: rgba(100, 116, 139, 0.14);
    color: #334155;
}
.ai-card-body {
    font-size: 0.9rem;
    color: #334155;
    line-height: 1.52;
}
.ai-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
    color: #334155;
}

/* Student - Available Tests cards */
.student-test-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.student-test-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.student-test-heading {
    flex: 1 1 auto;
    min-width: 0;
}

.student-test-title {
    font-weight: 750;
    line-height: 1.15;
    font-size: 1.05rem;
    margin: 0;
    /* Keep card layout stable even when titles are short. */
    min-height: calc(1.15em * 2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.student-test-subject {
    margin-top: 4px;
    color: var(--gray-600);
    font-weight: 500;
    min-height: 1.25em;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.student-test-badges {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    max-width: 44%;
}

.student-test-badges .badge {
    white-space: nowrap;
}

.student-test-desc {
    color: var(--gray-600);
    font-size: 0.9rem;
    line-height: 1.45;
    min-height: calc(1.45em * 3);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.student-test-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.student-test-dates {
    color: var(--gray-600);
    font-size: 0.85rem;
    line-height: 1.35;
}

.student-test-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.student-test-result-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.student-test-grade {
    min-width: 0;
}

@media (max-width: 480px) {
    .student-test-badges {
        max-width: 55%;
    }
}
.ai-card-list li {
    margin: 6px 0;
    line-height: 1.5;
    padding-left: 18px;
    position: relative;
}
.ai-card-list li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 0.62em;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #94a3b8;
}
.ai-card-main {
    background: linear-gradient(180deg, #f8fbff 0%, #f8fafc 100%);
}
.ai-card-main::before {
    background: #3b82f6;
}
.ai-card-main .ai-card-title i {
    background: rgba(59, 130, 246, 0.16);
    color: #1d4ed8;
}

.ai-card-strengths {
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
}
.ai-card-strengths::before {
    background: #16a34a;
}
.ai-card-strengths .ai-card-title i {
    background: rgba(34, 197, 94, 0.18);
    color: #15803d;
}
.ai-card-strengths .ai-card-list li::before {
    background: #22c55e;
}

.ai-card-improvements {
    background: linear-gradient(180deg, #fffbeb 0%, #fff7ed 100%);
}
.ai-card-improvements::before {
    background: #f59e0b;
}
.ai-card-improvements .ai-card-title i {
    background: rgba(245, 158, 11, 0.2);
    color: #b45309;
}
.ai-card-improvements .ai-card-list li::before {
    background: #f59e0b;
}

/* Teacher Analytics: structured AI focus layout */
.ai-focus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}
.ai-focus-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.85rem;
    color: #374151;
}
.ai-focus-list li {
    margin: 6px 0;
    line-height: 1.4;
}
.ai-focus-list strong {
    color: #111827;
}

/* Read more clamp */
.read-more-content {
    overflow: hidden;
}

.read-more-content.clamp-15 {
    display: -webkit-box;
    -webkit-line-clamp: 15;
    -webkit-box-orient: vertical;
}

.read-more.expanded .read-more-content {
    display: block;
    -webkit-line-clamp: unset;
    max-height: none;
}

.read-more-toggle {
    margin-top: 0.5rem;
    border-radius: 999px;
    font-weight: 600;
    border-color: rgba(15, 23, 42, 0.16);
}

/* Modal */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    display: none;
    transition: var(--transition);
}

.modal-backdrop.show {
    display: block;
    opacity: 1;
    visibility: visible;
}

.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border-color);
    z-index: 1050;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    display: none;
    transition: var(--transition);
}

.modal.show {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.modal-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--gray-200);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.modal-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--gray-400);
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

.modal-close:hover {
    color: var(--gray-600);
}

.modal-body {
    padding: 1.25rem;
    overflow-y: auto;
    max-height: calc(90vh - 130px);
}

.modal-footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--gray-200);
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* Progress Bar */
.progress {
    height: 8px;
    background: var(--gray-200);
    border-radius: 9999px;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    background: var(--primary);
    border-radius: 9999px;
    transition: width 0.3s ease;
}

.progress-bar.success { background: var(--success); }
.progress-bar.warning { background: var(--warning); }
.progress-bar.danger { background: var(--danger); }

/* Pagination */
.pagination .page-link {
    color: var(--gray-700);
    border-color: var(--border-color);
    padding: 0.45rem 0.75rem;
}

.pagination .page-item.active .page-link {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.pagination .page-link:hover {
    background: var(--gray-100);
}

/* Exam Interface */
.exam-container {
    max-width: 900px;
    margin: 0 auto;
}

.exam-header {
    background: white;
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem;
}

.exam-overview-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: start;
}

.exam-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.exam-score-card {
    text-align: center;
    padding: 1.5rem;
    background: var(--bg-secondary);
    border-radius: var(--radius);
    border: 1px solid var(--border-color);
    min-width: 220px;
}

.exam-description {
    margin-bottom: 1rem;
    color: var(--text-secondary);
}

.questions-list {
    max-height: 600px;
    overflow-y: auto;
}

.question-item {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
}

.question-item:last-child {
    border-bottom: none;
}

.question-item-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    gap: 0.75rem;
}

.question-item-badges {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
}

.question-item-marks {
    font-weight: 600;
    color: var(--text-secondary);
}

.question-item-text {
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.exam-timer {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    font-family: 'JetBrains Mono', monospace;
}

.exam-timer.warning { color: var(--warning); }
.exam-timer.danger { color: var(--danger); }

.question-card {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-color);
    margin-bottom: 1.5rem;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.question-card.clickable {
    cursor: pointer;
}
.question-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.question-header {
    padding: 1rem 1.25rem;
    background: var(--gray-50);
    border-bottom: 1px solid var(--gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.question-number {
    font-weight: 600;
    color: var(--gray-700);
}

.question-marks {
    font-size: 0.875rem;
    color: var(--gray-500);
}

.question-body {
    padding: 1.25rem;
}

.question-text {
    font-size: 1.0625rem;
    color: var(--gray-800);
    margin-bottom: 1.25rem;
    line-height: 1.7;
}

/* MCQ Options */
.options-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.option-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border: 2px solid var(--gray-200);
    border-radius: var(--radius);
    margin-bottom: 0.75rem;
    cursor: pointer;
    transition: var(--transition);
}

.option-item:hover {
    border-color: var(--primary-light);
    background: rgba(79, 70, 229, 0.02);
}

.option-item.selected {
    border-color: var(--primary);
    background: rgba(79, 70, 229, 0.05);
}

.option-item.correct {
    border-color: var(--success);
    background: rgba(16, 185, 129, 0.05);
}

.option-item.incorrect {
    border-color: var(--danger);
    background: rgba(239, 68, 68, 0.05);
}

.option-radio {
    width: 20px;
    height: 20px;
    border: 2px solid var(--gray-400);
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.option-item.selected .option-radio {
    border-color: var(--primary);
    background: var(--primary);
}

.option-item.selected .option-radio::after {
    content: '';
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
}

.option-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid var(--gray-400);
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.option-item.selected .option-checkbox {
    border-color: var(--primary);
    background: var(--primary);
}

.option-item.selected .option-checkbox::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 12px;
    color: white;
}

.option-label {
    font-weight: 500;
    color: var(--gray-800);
}

.option-text {
    color: var(--gray-700);
}

/* Question Navigation */
.question-nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.question-nav-btn {
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    border: 2px solid var(--gray-200);
    background: white;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}

.question-nav-btn:hover {
    border-color: var(--primary);
}

.question-nav-btn.current {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.question-nav-btn.answered {
    background: var(--success);
    border-color: var(--success);
    color: white;
}

.question-nav-btn.flagged {
    border-color: var(--warning);
    background: rgba(245, 158, 11, 0.1);
}

/* Results */
.result-summary {
    text-align: center;
    padding: 2rem;
}

.result-grade {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.result-score {
    font-size: 1.5rem;
    color: var(--gray-600);
    margin-bottom: 1rem;
}

.result-percentage {
    font-size: 2rem;
    font-weight: 600;
}

/* Charts Container */
.chart-container {
    position: relative;
    height: 300px;
}

/* Analytics */
.chart-bars {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.chart-bar-item {
    display: grid;
    grid-template-columns: minmax(120px, 160px) 1fr;
    gap: 1rem;
    align-items: center;
}

.chart-bar-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.chart-bar-container {
    background: var(--gray-100);
    border-radius: 9999px;
    height: 30px;
    position: relative;
    overflow: hidden;
}

.chart-bar-fill {
    height: 100%;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 0.65rem;
    transition: width 0.3s ease;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}

.chart-bar-value {
    color: white;
    font-size: 0.8125rem;
    font-weight: 600;
}

.performance-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.performance-item {
    padding: 0.85rem 1rem;
    background: var(--surface-2);
    border-radius: var(--radius);
    border: 1px solid var(--border-color);
}

.performance-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.4rem;
}

.performance-score {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
}

.performance-details {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9999px;
    font-weight: 700;
    font-size: 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.rank-1 {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #7c6a00;
}

.rank-2 {
    background: linear-gradient(135deg, #c0c0c0, #e8e8e8);
    color: #666;
}

.rank-3 {
    background: linear-gradient(135deg, #cd7f32, #daa569);
    color: #fff;
}

.score-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 9999px;
    background: rgba(79, 70, 229, 0.1);
    color: var(--primary);
    font-weight: 600;
    font-size: 0.85rem;
}

.analytics-table-body {
    padding: 0.85rem 1rem 1rem;
}

.analytics-table th {
    white-space: nowrap;
}

.analytics-table td:last-child,
.analytics-table th:last-child {
    text-align: right;
}

.analytics-table td:first-child {
    width: 90px;
}

/* AI Generation Panel */
.ai-panel {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    color: white;
    margin-bottom: 1.5rem;
}

.ai-panel h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
}

.ai-generating {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius);
}

.ai-spinner {
    width: 24px;
    height: 24px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Teacher Copilot (dashboard) */
.copilot-page .copilot-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    padding: 1.6rem 1.75rem;
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.09) 0%, rgba(59, 130, 246, 0.06) 45%, rgba(16, 185, 129, 0.05) 100%);
    border: 1px solid rgba(79, 70, 229, 0.18);
    border-radius: var(--radius-xl);
    box-shadow: 0 2px 12px rgba(79, 70, 229, 0.08), var(--shadow-sm);
    margin-bottom: 1.1rem;
    position: relative;
    overflow: hidden;
}
.copilot-page .copilot-hero::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(79, 70, 229, 0.14), transparent 60%);
    pointer-events: none;
}
.copilot-page .copilot-hero-title {
    max-width: 760px;
    position: relative;
    z-index: 1;
}
.copilot-page .copilot-hero-kicker {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(79, 70, 229, 0.85);
    font-weight: 700;
}
.copilot-page .copilot-hero-heading {
    font-size: clamp(1.2rem, 1.35vw, 1.55rem);
    font-weight: 750;
    color: var(--gray-900);
    line-height: 1.18;
    margin-top: 0.3rem;
    letter-spacing: -0.01em;
}
.copilot-page .copilot-hero-sub {
    color: var(--gray-500);
    margin-top: 0.3rem;
    font-size: 0.93rem;
}
.copilot-page .copilot-hero-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    z-index: 1;
}

.copilot-page .copilot-guidance-strip {
    display: inline-flex;
    gap: 0.55rem;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 0.8rem;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.18);
    color: var(--gray-700);
    font-size: 0.84rem;
    line-height: 1.35;
}
.copilot-page .copilot-guidance-strip i {
    color: #1d4ed8;
    flex: 0 0 auto;
}
.copilot-page .copilot-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.12);
    border: 1px solid rgba(79, 70, 229, 0.18);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.82em;
    color: var(--gray-900);
}

.copilot-page .copilot-tool-section {
    margin-bottom: 1.15rem;
}
.copilot-page .copilot-tool-section-head {
    margin-bottom: 0.6rem;
}
.copilot-page .copilot-tool-section-kicker {
    color: rgba(13, 148, 136, 0.95);
    font-size: 0.68rem;
    font-weight: 780;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}
.copilot-page .copilot-tool-section-title {
    margin: 0.12rem 0 0;
    color: var(--gray-900);
    font-size: 1rem;
    font-weight: 720;
    letter-spacing: 0;
    line-height: 1.25;
}
.copilot-page .copilot-tool-section-copy {
    color: var(--gray-500);
    font-size: 0.84rem;
    margin-top: 0.15rem;
}

.copilot-page .copilot-tool-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.copilot-page .copilot-tool-grid-featured {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
}
.copilot-page .copilot-tool {
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: 1.1rem 1.1rem 1rem;
    text-decoration: none;
    color: inherit;
    box-shadow: var(--shadow-sm);
    transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
    position: relative;
    overflow: hidden;
    min-height: 160px;
    display: flex;
    flex-direction: column;
}
.copilot-page .copilot-tool--wide {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
    min-height: 138px;
}
.copilot-page .copilot-tool--wide .copilot-tool-desc,
.copilot-page .copilot-tool--wide .copilot-tool-meta {
    grid-column: 2;
}
.copilot-page .copilot-tool::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 18% 0%, rgba(79, 70, 229, 0.09), transparent 50%);
    opacity: 0;
    transition: opacity 220ms ease;
    pointer-events: none;
}
.copilot-page .copilot-tool:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), var(--shadow-md);
    border-color: rgba(79, 70, 229, 0.22);
}
.copilot-page .copilot-tool:hover::before {
    opacity: 1;
}
.copilot-page .copilot-tool-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: white;
    font-size: 1.05rem;
    margin-bottom: 0.75rem;
    background: linear-gradient(135deg, #6366f1, #4338ca);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}
.copilot-page .copilot-tool[data-kind="plan"]                   .copilot-tool-icon { background: linear-gradient(135deg, #6366f1, #4338ca); }
.copilot-page .copilot-tool[data-kind="work"]                   .copilot-tool-icon { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.copilot-page .copilot-tool[data-kind="quiz"]                   .copilot-tool-icon { background: linear-gradient(135deg, #14b8a6, #0e7490); }
.copilot-page .copilot-tool[data-kind="msg"]                    .copilot-tool-icon { background: linear-gradient(135deg, #f59e0b, #d97706); }
.copilot-page .copilot-tool[data-kind="train"]                  .copilot-tool-icon { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.copilot-page .copilot-tool[data-kind="mark"]                   .copilot-tool-icon { background: linear-gradient(135deg, #10b981, #047857); }
.copilot-page .copilot-tool[data-kind="packs"]                  .copilot-tool-icon { background: linear-gradient(135deg, #f97316, #c2410c); }
.copilot-page .copilot-tool[data-kind="coursework"]             .copilot-tool-icon { background: linear-gradient(135deg, #06b6d4, #0369a1); }
.copilot-page .copilot-tool[data-kind="coursework-assignments"] .copilot-tool-icon { background: linear-gradient(135deg, #a855f7, #7c3aed); }
.copilot-page .copilot-tool[data-kind="gapmap"]                 .copilot-tool-icon { background: linear-gradient(135deg, #e11d48, #9f1239); }
.copilot-page .copilot-tool[data-kind="adaptive"]               .copilot-tool-icon { background: linear-gradient(135deg, #16a34a, #14532d); }
.copilot-page .copilot-tool[data-kind="sow"]                    .copilot-tool-icon { background: linear-gradient(135deg, #2563eb, #1e3a8a); }
.copilot-page .copilot-tool[data-kind="mock-convert"]           .copilot-tool-icon { background: linear-gradient(135deg, #9333ea, #6d28d9); }
.copilot-page .copilot-tool[data-kind="intervention"]           .copilot-tool-icon { background: linear-gradient(135deg, #dc2626, #991b1b); }
.copilot-page .copilot-tool[data-kind="reports"]                .copilot-tool-icon { background: linear-gradient(135deg, #0f766e, #115e59); }
.copilot-page .copilot-tool[data-kind="slides"]                 .copilot-tool-icon { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.copilot-page .copilot-tool-title {
    font-weight: 650;
    font-size: 0.96rem;
    color: var(--gray-900);
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.copilot-page .copilot-tool-desc {
    color: var(--gray-500);
    font-size: 0.83rem;
    margin-top: 0.3rem;
    line-height: 1.45;
    flex: 1;
}
.copilot-page .copilot-tool-meta {
    margin-top: 0.8rem;
    position: relative;
    z-index: 1;
}
.copilot-page .copilot-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--gray-50, #f9fafb);
    color: var(--gray-500);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.copilot-page .copilot-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin: 0.75rem 0 0.75rem;
}
.copilot-page .copilot-section-title {
    font-size: 1.05rem;
    font-weight: 620;
    letter-spacing: -0.005em;
    margin: 0;
}
.copilot-page .copilot-section-sub {
    color: var(--gray-500);
    font-size: 0.85rem;
    margin-top: 0.1rem;
}
.copilot-page .copilot-recent-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.copilot-page .copilot-recent-card {
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: 1.1rem;
    text-decoration: none;
    color: inherit;
    box-shadow: var(--shadow-sm);
    transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
    min-height: 118px;
    display: flex;
    flex-direction: column;
}
.copilot-page .copilot-recent-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.09), var(--shadow-md);
    border-color: rgba(79, 70, 229, 0.22);
}
.copilot-page .copilot-recent-top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
}
.copilot-page .copilot-type {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(79, 70, 229, 0.75);
}
.copilot-page .copilot-subject {
    font-size: 0.76rem;
    color: var(--gray-500);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 65%;
}
.copilot-page .copilot-recent-title {
    font-weight: 570;
    font-size: 0.92rem;
    color: var(--gray-800);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5em;
}
.copilot-page .copilot-recent-foot {
    color: var(--gray-400);
    font-size: 0.78rem;
    margin-top: 0.5rem;
}
.copilot-page .copilot-empty {
    grid-column: 1 / -1;
    padding: 1.25rem;
    border-radius: var(--radius-xl);
    border: 1px dashed rgba(79, 70, 229, 0.25);
    background: rgba(79, 70, 229, 0.04);
}
.copilot-page .copilot-empty-title {
    font-weight: 800;
    color: var(--gray-900);
}
.copilot-page .copilot-empty-sub {
    color: var(--gray-600);
    margin-top: 0.15rem;
}

@media (max-width: 1200px) {
    .copilot-page .copilot-tool-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .copilot-page .copilot-recent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .copilot-page .copilot-hero { flex-direction: column; align-items: flex-start; }
    .copilot-page .copilot-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .copilot-page .copilot-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .copilot-page .copilot-tool-grid { grid-template-columns: 1fr; }
    .copilot-page .copilot-recent-grid { grid-template-columns: 1fr; }
}

/* Teacher Copilot (library) */
.copilot-library .copilot-lib-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin: 0 0 0.75rem;
}
.copilot-library .copilot-lib-kicker {
    font-size: 1.05rem;
    font-weight: 650;
    letter-spacing: -0.01em;
    color: var(--gray-800);
}
.copilot-library .copilot-lib-sub {
    color: var(--gray-500);
    margin-top: 0.15rem;
    font-size: 0.88rem;
}
.copilot-library .copilot-lib-count {
    font-size: 0.82rem;
    color: var(--gray-600);
    background: rgba(79, 70, 229, 0.06);
    border: 1px solid rgba(79, 70, 229, 0.12);
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    font-weight: 600;
    white-space: nowrap;
}
.copilot-library .copilot-lib-filters {
    display: grid;
    grid-template-columns: 1.1fr 1.3fr 2fr auto;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(248,250,252,0.85));
    box-shadow: var(--shadow-sm);
    margin-bottom: 1rem;
}
.copilot-library .copilot-lib-field .form-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--gray-500);
    text-transform: uppercase;
}
.copilot-library .copilot-lib-search {
    position: relative;
}
.copilot-library .copilot-lib-search i {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gray-500);
    pointer-events: none;
}
.copilot-library .copilot-lib-search input {
    padding-left: 2.2rem;
}
.copilot-library .copilot-lib-actions {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}
.copilot-library .copilot-doc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}
.copilot-library .copilot-doc-card {
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: 1rem;
    text-decoration: none;
    color: inherit;
    box-shadow: var(--shadow-sm);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
    position: relative;
    overflow: hidden;
    min-height: 150px;
}
.copilot-library .copilot-doc-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 0%, rgba(79, 70, 229, 0.10), transparent 45%);
    opacity: 0;
    transition: opacity 200ms ease;
    pointer-events: none;
}
.copilot-library .copilot-doc-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: rgba(79, 70, 229, 0.25);
}
.copilot-library .copilot-doc-card:hover::before { opacity: 1; }

.copilot-library .copilot-doc-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}
.copilot-library .copilot-doc-left {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    min-width: 0;
}
.copilot-library .copilot-doc-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: white;
    font-size: 0.85rem;
    flex: 0 0 auto;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.copilot-library .copilot-doc-card[data-kind="worksheet"] .copilot-doc-icon { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.copilot-library .copilot-doc-card[data-kind="quiz"] .copilot-doc-icon { background: linear-gradient(135deg, #14b8a6, #0f766e); }
.copilot-library .copilot-doc-card[data-kind="parent_message"] .copilot-doc-icon { background: linear-gradient(135deg, #f59e0b, #d97706); }
.copilot-library .copilot-doc-card[data-kind="lesson_plan"] .copilot-doc-icon { background: linear-gradient(135deg, #4f46e5, #4338ca); }

.copilot-library .copilot-doc-k { min-width: 0; }
.copilot-library .copilot-doc-type {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--gray-700);
    line-height: 1.2;
}
.copilot-library .copilot-doc-subject {
    color: var(--gray-500);
    font-size: 0.78rem;
    margin-top: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 240px;
}
.copilot-library .copilot-vis {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 550;
    text-transform: lowercase;
    border: 1px solid var(--border-color);
    background: var(--surface-2);
    color: var(--gray-600);
    flex: 0 0 auto;
}
.copilot-library .copilot-vis[data-vis="school"] {
    background: rgba(16, 185, 129, 0.10);
    border-color: rgba(16, 185, 129, 0.22);
    color: #047857;
}
.copilot-library .copilot-vis[data-vis="private"] {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.28);
    color: #475569;
}

.copilot-library .copilot-doc-title {
    font-weight: 580;
    font-size: 0.92rem;
    letter-spacing: -0.005em;
    color: var(--gray-800);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5em;
}
.copilot-library .copilot-doc-foot {
    color: var(--gray-400);
    font-size: 0.78rem;
    margin-top: 0.6rem;
}

@media (max-width: 1200px) {
    .copilot-library .copilot-doc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .copilot-library .copilot-lib-filters { grid-template-columns: 1fr 1fr; }
    .copilot-library .copilot-lib-actions { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .copilot-library .copilot-doc-grid { grid-template-columns: 1fr; }
    .copilot-library .copilot-lib-filters { grid-template-columns: 1fr; }
    .copilot-library .copilot-lib-actions { flex-direction: column; align-items: stretch; }
}

/* Teacher Copilot (document) - A4 preview */
.copilot-doc-sheet-wrap {
    padding: 0.75rem 0;
}
.copilot-doc-sheet {
    max-width: 210mm;
    min-height: 297mm;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 1);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.10);
    border-radius: 12px;
    padding: 14mm 14mm;
    overflow-wrap: anywhere;
    font-family: Calibri, Arial, sans-serif;
}
.copilot-doc h1.copilot-doc-title {
    font-size: 20pt;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.copilot-doc h2 {
    font-size: 13pt;
    margin: 18px 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(226, 232, 240, 1);
    break-inside: avoid;
    page-break-inside: avoid;
}
.copilot-doc h3 {
    font-size: 11pt;
    margin: 14px 0 6px;
}
.copilot-doc p { margin: 0.35em 0; }
.copilot-doc ul,
.copilot-doc ol { margin: 0.35em 0 0.75em 1.2em; }
.copilot-doc li { margin: 0.2em 0; }
.copilot-doc hr.copilot-hr { border: 0; border-top: 1px solid rgba(226, 232, 240, 1); margin: 14px 0; }
.copilot-doc blockquote.copilot-quote {
    margin: 10px 0;
    padding: 8px 12px;
    border-left: 4px solid #94a3b8;
    background: #f8fafc;
    border-radius: 8px;
}
.copilot-doc pre { background: #0b1220; color: #e5e7eb; padding: 10px 12px; border-radius: 10px; overflow: auto; }
.copilot-doc code { background: #eef2ff; border: 1px solid #e0e7ff; padding: 0 4px; border-radius: 6px; font-family: Consolas, "Courier New", monospace; font-size: 0.95em; }
.copilot-doc .copilot-blank { display: inline-block; min-width: 180px; border-bottom: 1px solid #111; vertical-align: baseline; }
.copilot-doc .copilot-pupil-box { border: 1px solid rgba(226, 232, 240, 1); border-radius: 10px; padding: 10px 12px; background: #f8fafc; margin: 10px 0 14px; }
.copilot-doc .copilot-pupil-row { display: grid; grid-template-columns: 90px 1fr; gap: 10px; padding: 6px 0; border-top: 1px dashed rgba(148, 163, 184, 0.5); }
.copilot-doc .copilot-pupil-row:first-child { border-top: 0; }
.copilot-doc .copilot-pupil-label { font-weight: 700; color: #0f172a; }
.copilot-doc .copilot-table-wrap { overflow: auto; margin: 10px 0 14px; }
.copilot-doc table.copilot-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.copilot-doc table.copilot-table th,
.copilot-doc table.copilot-table td { border: 1px solid rgba(226, 232, 240, 1); padding: 8px 10px; vertical-align: top; }
.copilot-doc table.copilot-table th { background: #f1f5f9; font-weight: 700; }
.copilot-doc .copilot-break-before { break-before: page; page-break-before: always; margin-top: 0; }

.copilot-doc .copilot-pupil-box,
.copilot-doc .copilot-table-wrap,
.copilot-doc pre,
.copilot-doc blockquote {
    break-inside: avoid;
    page-break-inside: avoid;
}

@media print {
    .top-nav,
    .sidebar,
    .mobile-topbar,
    .top-nav-actions,
    .alert,
    .btn { display: none !important; }
    .main-content { margin-left: 0 !important; }
    body { background: #fff !important; }
    .copilot-doc-sheet { box-shadow: none; border: 0; border-radius: 0; padding: 0; min-height: auto; }
    @page { size: A4; margin: 12mm; }
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: 3rem;
    color: var(--gray-500);
    background: var(--surface-2);
    border-radius: var(--radius-lg);
    border: 1px dashed var(--border-color);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-state h3 {
    color: var(--gray-700);
    margin-bottom: 0.5rem;
}

/* Notifications */
.notifications-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.notification-item.notification-unread {
    border-left: 4px solid var(--primary);
    background: #f8fafc;
}

/* Written reports */
.reports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1rem;
}

.report-card {
    border: 1px solid #dbe6ff;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
}

.report-card .card-header {
    background: linear-gradient(135deg, #eef4ff 0%, #f8faff 100%);
    border-bottom: 1px solid #dbe6ff;
}

.report-preview-card {
    border: 1px solid #d9e6ff;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    overflow: hidden;
}

.report-preview-head {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e4edff;
    background: #f1f6ff;
}

.report-preview-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
}

.report-preview-body {
    padding: 0.85rem 0.9rem 0.75rem;
    max-height: 280px;
    overflow: auto;
}

.report-preview-body p {
    margin: 0 0 0.6rem;
    color: #1f2937;
    line-height: 1.55;
}

.report-preview-subhead {
    margin: 0.2rem 0 0.45rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e40af;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.report-preview-subhead.success {
    color: #047857;
}

.report-preview-list {
    margin: 0.2rem 0 0.65rem 1.1rem;
    padding: 0;
}

.report-preview-list li {
    margin-bottom: 0.35rem;
    color: #1f2937;
}

.report-editor-panel {
    margin-top: 0.8rem;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fafbff;
}

.report-editor-panel summary {
    padding: 0.58rem 0.7rem;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    list-style: none;
}

.report-editor-panel summary::-webkit-details-marker {
    display: none;
}

.report-editor-panel summary i {
    margin-right: 0.35rem;
    color: #4f46e5;
}

.report-editor-panel .report-textarea {
    border: 0;
    border-top: 1px solid #e5e7eb;
    border-radius: 0 0 10px 10px;
    background: #fff;
    min-height: 180px;
}

.report-card .report-textarea {
    width: 100%;
    min-height: 140px;
    resize: vertical;
    font-size: 0.95rem;
    line-height: 1.5;
}

.teacher-report-builder-page .report-builder-shell {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.teacher-report-builder-page .report-builder-body {
    padding: 1.4rem;
}

.teacher-report-builder-page .report-builder-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 1.1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.teacher-report-builder-page .report-builder-eyebrow {
    margin-bottom: 0.25rem;
    color: #0f766e;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.teacher-report-builder-page .report-builder-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.45rem;
    line-height: 1.2;
}

.teacher-report-builder-page .report-builder-header p {
    margin: 0.35rem 0 0;
    max-width: 720px;
    color: #475569;
    line-height: 1.5;
}

.teacher-report-builder-page .report-builder-steps {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: 260px;
}

.teacher-report-builder-page .report-builder-steps span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.55rem;
    border: 1px solid #d7e3f3;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.teacher-report-builder-page .report-builder-steps i {
    color: #0f766e;
}

.teacher-report-builder-page .report-builder-snapshot {
    margin-bottom: 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid #c7d2fe;
    border-radius: 8px;
    background: #f8fbff;
    color: #334155;
}

.teacher-report-builder-page .report-builder-form {
    display: grid;
    gap: 1rem;
}

.teacher-report-builder-page .report-builder-section {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fbfdff;
}

.teacher-report-builder-page .report-builder-section-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    margin-bottom: 0.9rem;
}

.teacher-report-builder-page .report-builder-section-head > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #0f766e;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 800;
}

.teacher-report-builder-page .report-builder-section-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}

.teacher-report-builder-page .report-builder-section-head p {
    margin: 0.18rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.45;
}

.teacher-report-builder-page .report-builder-control-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 0.85rem;
    align-items: end;
}

.teacher-report-builder-page .report-builder-control-grid--individual {
    grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.45fr) minmax(220px, 1.15fr) minmax(160px, 0.8fr) minmax(160px, 0.8fr);
}

.teacher-report-builder-page .report-builder-control-grid > [class*="col-"] {
    width: auto;
    max-width: none;
    flex: none;
}

.teacher-report-builder-page .report-builder-field {
    min-width: 0;
}

.teacher-report-builder-page .report-builder-field .form-label {
    display: block;
    margin-bottom: 0.35rem;
}

.teacher-report-builder-page .report-builder-control-grid label,
.teacher-report-builder-page .report-builder-section label {
    color: #1e293b;
    font-weight: 650;
}

.teacher-report-builder-page .report-builder-control-grid .form-control,
.teacher-report-builder-page .report-builder-control-grid .form-select,
.teacher-report-builder-page .report-builder-section textarea.form-control {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.teacher-report-builder-page .report-builder-source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 0.8rem;
}

.teacher-report-builder-page .report-source-option {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    min-height: 82px;
    padding: 0.85rem;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.teacher-report-builder-page .report-source-option:hover,
.teacher-report-builder-page .report-source-option:focus-within {
    border-color: #0f766e;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1);
}

.teacher-report-builder-page .report-source-option:has(input:checked) {
    border-color: #34d399;
    background: #f0fdf4;
}

.teacher-report-builder-page .report-source-option input {
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.teacher-report-builder-page .report-source-option i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #eef6ff;
    color: #2563eb;
}

.teacher-report-builder-page .report-source-option strong,
.teacher-report-builder-page .report-source-option small {
    display: block;
}

.teacher-report-builder-page .report-source-option strong {
    color: #0f172a;
    line-height: 1.25;
}

.teacher-report-builder-page .report-source-option small {
    margin-top: 0.2rem;
    color: #475569;
    line-height: 1.35;
}

.teacher-report-builder-page .report-builder-source-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.8rem;
    color: #475569;
    font-size: 0.9rem;
}

.teacher-report-builder-page .report-builder-advanced {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.teacher-report-builder-page .report-builder-advanced > summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0.85rem;
    color: #334155;
    cursor: pointer;
    font-weight: 750;
    list-style: none;
}

.teacher-report-builder-page .report-builder-advanced > summary::-webkit-details-marker {
    display: none;
}

.teacher-report-builder-page .report-builder-advanced > summary i {
    color: #7c3aed;
}

.teacher-report-builder-page .report-builder-advanced > summary span {
    display: grid;
    gap: 0.12rem;
}

.teacher-report-builder-page .report-builder-advanced > summary small {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

.teacher-report-builder-page .report-builder-advanced-body {
    display: grid;
    gap: 0.85rem;
    padding: 0 0.85rem 0.9rem;
}

.teacher-report-builder-page .report-builder-help {
    display: grid;
    gap: 0.18rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #ccfbf1;
    border-radius: 8px;
    background: #f0fdfa;
    color: #334155;
}

.teacher-report-builder-page .report-builder-help strong {
    color: #0f766e;
}

.teacher-report-builder-page .report-template-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.teacher-report-builder-page .report-template-actions .form-label {
    margin: 0;
}

.teacher-report-builder-page .report-builder-advanced .form-control {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    min-height: 128px;
}

.teacher-report-builder-page .report-token-help {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.teacher-report-builder-page .report-token-help summary {
    padding: 0.65rem 0.75rem;
    color: #475569;
    cursor: pointer;
    font-weight: 700;
}

.teacher-report-builder-page .report-token-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 0.5rem;
    padding: 0 0.75rem 0.75rem;
}

.teacher-report-builder-page .report-token-grid span {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.45rem 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.85rem;
}

.teacher-report-builder-page .report-token-grid code {
    color: #1d4ed8;
    font-size: 0.8rem;
    white-space: nowrap;
}

.teacher-report-builder-page .report-builder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    justify-content: flex-start;
    padding-top: 0.25rem;
}

@media (max-width: 1180px) {
    .teacher-report-builder-page .report-builder-control-grid,
    .teacher-report-builder-page .report-builder-control-grid--individual {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .teacher-report-builder-page .report-token-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 767px) {
    .teacher-report-builder-page .report-builder-body {
        padding: 1rem;
    }

    .teacher-report-builder-page .report-builder-header {
        display: block;
    }

    .teacher-report-builder-page .report-builder-steps {
        justify-content: flex-start;
        margin-top: 0.8rem;
        min-width: 0;
    }

    .teacher-report-builder-page .report-builder-control-grid,
    .teacher-report-builder-page .report-builder-control-grid--individual,
    .teacher-report-builder-page .report-builder-source-grid,
    .teacher-report-builder-page .report-token-grid {
        grid-template-columns: 1fr;
    }

    .teacher-report-builder-page .report-source-option {
        grid-template-columns: auto auto minmax(0, 1fr);
    }
}

/* Avatar */
.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.avatar-sm { width: 32px; height: 32px; }
.avatar-lg { width: 56px; height: 56px; }
.avatar-xl { width: 80px; height: 80px; }

.avatar-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: white;
    font-weight: 600;
    text-transform: uppercase;
}

/* Utility Classes */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-muted { color: var(--gray-500); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.text-warning { color: var(--warning); }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }

.d-flex { display: flex; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }

.w-100 { width: 100%; }

.fw-bold { font-weight: 700; }
.fw-semibold { font-weight: 600; }

/* Responsive */
@media (max-width: 991px) {
    .sidebar {
        transform: translateX(-100%);
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .main-content {
        margin-left: 0;
    }

    .menu-toggle {
        display: block;
    }

    .mobile-topbar {
        display: flex;
    }

    .top-nav {
        top: 52px;
    }

    .exam-overview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .top-nav {
        padding: 0.75rem 1rem;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .page-title {
        width: auto;
        flex: 1 1 100%;
        font-size: 1.1rem;
    }

    .top-nav-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: flex-start;
    }

    .card-header {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .card-header form {
        width: 100%;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .page-content {
        padding: 1rem;
    }

    .card-body {
        padding: 1rem;
    }

    .table th,
    .table td {
        padding: 0.5rem 0.75rem;
    }

    .question-header,
    .exam-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .table-desktop {
        display: none;
    }

    .table-cards {
        display: grid;
        gap: 0.75rem;
    }

    .table-card-row {
        font-size: 0.85rem;
    }

    .top-nav-actions {
        width: 100%;
        align-items: stretch;
    }

    .top-nav-actions .btn,
    .top-nav-actions .dropdown,
    .top-nav-actions .dropdown-toggle {
        width: auto;
        max-width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .stats {
        grid-template-columns: 1fr !important;
    }

    [style*="grid-template-columns: 1fr 1fr"],
    [style*="grid-template-columns:1fr 1fr"],
    [style*="grid-template-columns: 1fr 1fr auto"],
    [style*="grid-template-columns:1fr 1fr auto"],
    [style*="grid-template-columns: repeat(4, 1fr)"],
    [style*="grid-template-columns:repeat(4,1fr)"],
    [style*="grid-template-columns: repeat(3, 1fr)"],
    [style*="grid-template-columns:repeat(3,1fr)"] {
        grid-template-columns: 1fr !important;
    }
}

/* Print Styles */
@media print {
    .sidebar,
    .top-nav,
    .btn,
    .no-print {
        display: none !important;
    }

    .main-content {
        margin-left: 0;
    }

    .card {
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .report-editor-panel {
        display: none !important;
    }

    .report-preview-card {
        border: 1px solid #d1d5db;
        box-shadow: none;
        background: #fff;
    }

    .report-preview-head {
        background: #f8fafc;
    }
}

.copilot-doc h1 {
    font-size: 1.5rem;
    margin-top: 0.25rem;
}

.copilot-doc h2 {
    font-size: 1.15rem;
    margin-top: 1rem;
}

.copilot-doc p {
    margin-bottom: 0.5rem;
}

.copilot-doc ul {
    margin-bottom: 0.75rem;
}

/* Teacher Copilot - Builder/Marking UX */
.copilot-studio {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.cp-workflow-shell,
.builder-workflow-shell {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.cp-builder-shell {
    padding: 1rem 1.1rem 1.25rem;
}

.cp-builder-shell .copilot-pane .card {
    height: calc(100vh - 270px);
    min-height: 580px;
}

.cp-builder-shell .copilot-scroll {
    max-height: calc(100vh - 410px);
}

@media (min-width: 992px) {
    .copilot-studio {
        grid-template-columns: 420px 1fr;
    }
}

.copilot-pane .card {
    height: calc(100vh - 190px);
    min-height: 620px;
    display: flex;
    flex-direction: column;
}

.copilot-pane .card-body {
    flex: 1 1 auto;
    min-height: 0; /* allow children to size/scroll within fixed-height cards */
}

.copilot-scroll {
    overflow: auto;
    max-height: calc(100vh - 330px);
    min-height: 0;
}

.copilot-actions {
    position: sticky;
    bottom: 0;
    background: var(--surface);
}

.copilot-builder .nav-pills .nav-link {
    border: 1px solid var(--gray-200);
    background: #fff;
    color: var(--gray-700);
    font-weight: 600;
}

.copilot-builder .nav-pills .nav-link:hover {
    background: var(--surface-2);
}

.copilot-builder .nav-pills .nav-link.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.copilot-builder .copilot-grounding-quick {
    padding: 0.9rem 1rem;
    border: 1px solid var(--gray-200);
    border-radius: 16px;
    background: #f8fafc;
}

.copilot-builder .copilot-editor-card .card-body {
    display: flex;
    flex-direction: column;
}

.copilot-builder #contentText {
    resize: none;
    min-height: 0;
}

.copilot-marking #suggestedText {
    resize: vertical;
    min-height: 240px;
}

.copilot-builder .copilot-studio-main {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.copilot-builder .copilot-output-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.copilot-builder .copilot-output-bar-title {
    font-size: 1.7rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1;
}

.copilot-builder .copilot-output-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.copilot-builder .copilot-output-actions .btn {
    border-radius: 14px;
}

.copilot-builder .copilot-output-actions .btn-outline-secondary {
    min-width: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.copilot-builder .copilot-editor-split {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 0.75rem;
}

@media (max-width: 991.98px) {
    .copilot-builder .copilot-editor-split {
        grid-template-columns: 1fr;
    }
    .copilot-builder .copilot-output-bar-title {
        font-size: 1.45rem;
    }
    .cp-builder-shell {
        padding: 0.9rem;
    }
    .cp-builder-shell .copilot-pane .card {
        height: auto;
        min-height: 0;
    }
    .cp-builder-shell .copilot-scroll {
        max-height: none;
    }
}

.copilot-builder .copilot-right-panels {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.75rem;
}

.copilot-builder .copilot-right-panels.raw-collapsed {
    grid-template-rows: auto minmax(0, 1fr);
}

.copilot-builder .copilot-outline-panel,
.copilot-builder .copilot-raw-panel,
.copilot-builder .copilot-render-panel {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.copilot-builder .copilot-outline-panel #outlineBody {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.copilot-builder .copilot-raw-panel #contentText {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

.copilot-builder .copilot-render-panel #rendered {
    flex: 1 1 auto;
    min-height: 0;
}

.copilot-builder #rendered,
.copilot-marking #rendered {
    background: #f8fafc;
    overflow: auto;
    flex: 1 1 auto;
    max-height: none;
}

.coursework-v2 .page-content.copilot-marking {
    max-width: 1720px;
    padding: 1rem 1.1rem 1.25rem;
}

.coursework-v2 .top-nav {
    padding: 0.8rem 1.1rem;
}

.coursework-v2 .coursework-shell {
    align-items: flex-start;
}

.coursework-v2 .card {
    border-radius: 12px;
}

.coursework-v2 .card-header {
    padding: 0.75rem 0.95rem;
    flex-wrap: wrap;
}

.coursework-v2 .card-body {
    padding: 0.95rem;
}

.coursework-v2 .form-label {
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.32rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--gray-600);
}

.coursework-v2 .form-control,
.coursework-v2 .form-select {
    min-height: 40px;
    font-size: 0.95rem;
}

.coursework-v2 textarea.form-control {
    min-height: 84px;
}

.coursework-v2 #questionPrompt {
    min-height: 82px;
}

.coursework-v2 #markScheme {
    min-height: 132px;
}

.coursework-v2 #pupilResponse {
    min-height: 220px;
}

.coursework-v2 .copilot-form-card .btn,
.coursework-v2 .copilot-editor-card .btn {
    border-radius: 10px;
    font-weight: 600;
}

.coursework-v2 .copilot-editor-card #suggestedText {
    min-height: 30vh;
}

.coursework-v2 .coursework-editor-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.55rem;
}

.coursework-v2 .coursework-collapse-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--gray-700);
}

.coursework-v2 .coursework-collapse-btn:hover {
    color: var(--primary);
}

.coursework-v2 .coursework-collapse-btn i {
    font-size: 0.78rem;
    color: var(--gray-500);
}

.coursework-v2 #renderedViewport {
    border-radius: 12px;
    background: #f8fafc;
    min-height: 340px;
    height: calc(100vh - 300px);
    max-height: 760px;
    overflow: auto;
}

.coursework-v2 #rendered {
    min-height: 100%;
    border-radius: 10px;
}

.coursework-v2 .coursework-runs-secondary {
    margin-top: 1.1rem;
}

.coursework-v2 .coursework-runs-secondary .card-header {
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.coursework-v2 .coursework-runs .table td,
.coursework-v2 .coursework-runs .table th {
    padding: 0.55rem 0.6rem;
    font-size: 0.86rem;
}

.coursework-v2 .copilot-stepper {
    gap: 0.45rem;
}

.coursework-v2 .copilot-step {
    border-radius: 12px;
    padding: 0.45rem 0.55rem;
    min-width: 138px;
    flex: 1 1 138px;
}

.coursework-v2 .copilot-step-num {
    width: 23px;
    height: 23px;
    font-size: 0.78rem;
}

.coursework-v2 .copilot-step-text {
    font-size: 0.78rem;
}

@media (max-width: 1500px) {
    .coursework-v2 .page-content.copilot-marking {
        max-width: 1540px;
    }
}

@media (max-width: 1300px) {
    .coursework-v2 .page-content.copilot-marking {
        max-width: 1320px;
    }
    .coursework-v2 .copilot-editor-card #suggestedText {
        min-height: 48vh;
    }
}

@media (max-width: 1199.98px) {
    .coursework-v2 .copilot-editor-card #suggestedText {
        min-height: 42vh;
    }
    .coursework-v2 #renderedViewport {
        height: calc(100vh - 260px);
        min-height: 300px;
    }
}

@media (max-width: 991.98px) {
    .coursework-v2 .page-content.copilot-marking {
        max-width: 100%;
        padding: 0.85rem;
    }
    .coursework-v2 .top-nav {
        padding: 0.72rem 0.85rem;
    }
    .coursework-v2 .copilot-editor-card #suggestedText,
    .coursework-v2 #pupilResponse {
        min-height: 34vh;
    }
    .coursework-v2 #renderedViewport {
        height: auto;
        min-height: 44vh;
        max-height: none;
    }
    .coursework-v2 .copilot-step {
        min-width: 100%;
    }
}

@media (max-width: 575.98px) {
    .coursework-v2 .card-header {
        padding: 0.68rem 0.72rem;
    }
    .coursework-v2 .card-body {
        padding: 0.72rem;
    }
    .coursework-v2 .form-control,
    .coursework-v2 .form-select {
        min-height: 38px;
        font-size: 0.92rem;
    }
}




/* Coursework Assistant - exact stripped layout (v3) */
.coursework-v3 {
    background: #eef2f7;
}

.coursework-v3 .coursework-v3-topbar {
    height: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    border-bottom: 1px solid #e4eaf3;
    background: #f8fafd;
}

.coursework-v3 .coursework-v3-top-left,
.coursework-v3 .coursework-v3-top-right {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.coursework-v3 .coursework-v3-title {
    margin: 0;
    font-size: 2rem;
    font-weight: 750;
    color: #15223b;
}

.coursework-v3 .coursework-v3-sep {
    width: 1px;
    height: 28px;
    background: #d8e0ec;
}

.coursework-v3 .coursework-v3-mode {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #6a7e9f;
    font-weight: 600;
    font-size: 0.95rem;
}

.coursework-v3 .coursework-v3-link {
    color: #5f7190;
    text-decoration: none;
    font-weight: 650;
}

.coursework-v3 .coursework-v3-link:hover {
    color: var(--primary);
}

.coursework-v3 .coursework-v3-icon-btn {
    height: 34px;
    min-width: 34px;
    border-radius: 999px;
    border: 1px solid #d6deeb;
    background: #fff;
    color: #617596;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.92rem;
}

.coursework-v3 .coursework-v3-icon-btn.disabled {
    pointer-events: none;
    opacity: 0.45;
}

.coursework-v3 .coursework-v3-avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #dbe7ff;
    color: #2d54b8;
    font-size: 0.86rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.coursework-v3 .coursework-v3-body {
    max-width: none;
    padding: 0;
    height: calc(100vh - 64px);
    overflow: hidden;
}

.coursework-v3 .coursework-v3-notices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.6rem 0.9rem 0;
}

.coursework-v3 .coursework-v3-note {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.24rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.coursework-v3 .coursework-v3-note-danger {
    background: #fee2e2;
    color: #9f1239;
}

.coursework-v3 .coursework-v3-note-warn {
    background: #fef3c7;
    color: #92400e;
}

.coursework-v3 .coursework-v3-grid {
    display: grid;
    grid-template-columns: minmax(640px, 56%) minmax(460px, 44%);
    height: 100%;
}

.coursework-v3 .coursework-v3-left,
.coursework-v3 .coursework-v3-right {
    min-height: 0;
    overflow: auto;
    padding: 1rem 0.95rem 1rem;
}

.coursework-v3 .coursework-v3-left {
    border-right: 1px solid #dbe4f1;
}

.coursework-v3 .coursework-v3-form {
    display: grid;
    gap: 0.95rem;
}

.coursework-v3 .coursework-v3-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9rem;
    margin-bottom: 0.1rem;
}

.coursework-v3 .coursework-v3-step {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    min-height: 4.2rem;
    position: relative;
    color: #64748b;
    font-weight: 600;
}

.coursework-v3 .coursework-v3-step::after {
    content: "";
    position: absolute;
    top: 16px;
    left: 40px;
    right: -14px;
    height: 2px;
    background: #dbe4f1;
    z-index: 0;
}

.coursework-v3 .coursework-v3-step:last-child::after {
    display: none;
}

.coursework-v3 .coursework-v3-step .num {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 2px solid #c7d4e8;
    background: #f8fbff;
    color: #6f819d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    position: relative;
    z-index: 1;
}

.coursework-v3 .coursework-v3-step.is-active .num {
    border-color: #1f4ac9;
    background: #1f4ac9;
    color: #fff;
}

.coursework-v3 .coursework-v3-step .label {
    font-size: 1.02rem;
    line-height: 1.2;
    position: relative;
    z-index: 1;
    padding-right: 0.2rem;
    background: transparent;
}

.coursework-v3 .coursework-v3-multi-select {
    min-height: 10.75rem;
    max-height: 14rem;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.coursework-v3 .coursework-v3-card {
    border-radius: 16px;
    border: 1px solid #e2eaf5;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.coursework-v3 .coursework-v3-card .card-body {
    padding: 1rem 1rem 0.95rem;
}

.coursework-v3 .coursework-v3-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.65rem;
}

.coursework-v3 .coursework-v3-card-head h3 {
    margin: 0;
    font-size: 2.05rem;
    font-weight: 760;
    color: #1e293b;
}

.coursework-v3 .coursework-v3-pack-foot {
    margin-top: 0.3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.45rem;
}

.coursework-v3 .coursework-v3-manage-link {
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    color: #315ad4;
}

.coursework-v3 .coursework-v3-manage-link:hover {
    color: #2049bf;
}

.coursework-v3 .coursework-v3-readonly {
    font-size: 0.74rem;
    font-weight: 700;
    border-radius: 8px;
    padding: 0.18rem 0.45rem;
    background: #edf2fb;
    color: #7d8ca5;
}

.coursework-v3 .coursework-v3-field-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.65rem;
}

.coursework-v3 .coursework-v3-rubric-note {
    border: 1px solid #dbe5f3;
    border-radius: 10px;
    background: #f7f9fd;
    color: #5f6f88;
    font-size: 0.84rem;
    padding: 0.58rem 0.65rem;
}

.coursework-v3 textarea#questionPrompt,
.coursework-v3 textarea#markScheme,
.coursework-v3 textarea#pupilResponse {
    border-color: #d8e3f3;
    background: #f7f9fd;
}

.coursework-v3 textarea#pupilResponse {
    min-height: 240px;
    background: #f7f9ff;
}

.coursework-v3 .coursework-v3-rubric-row {
    margin-top: 0.65rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.coursework-v3 .coursework-v3-rubric-status {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.coursework-v3 .coursework-v3-hidden {
    display: none !important;
}

.coursework-v3 .coursework-v3-submission {
    border-left: 4px solid #2352d3;
}

.coursework-v3 .coursework-v3-extract-strip {
    margin-top: 0.75rem;
    border: 1px solid #dbe5f3;
    background: #f6f9ff;
    border-radius: 10px;
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.7rem;
    flex-wrap: wrap;
}

.coursework-v3 .coursework-v3-extract-title {
    color: #58709b;
    font-weight: 700;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.coursework-v3 .coursework-v3-extract-btn {
    border: 0;
    background: transparent;
    color: #4f6388;
    font-weight: 700;
    padding: 0 0.2rem;
}

.coursework-v3 .coursework-v3-extract-btn:hover {
    color: #1f4ac9;
}

.coursework-v3 .coursework-v3-pipe {
    color: #b2bfd4;
}

.coursework-v3 .coursework-v3-status-line {
    margin-top: 0.35rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 22px;
    gap: 0.6rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.coursework-v3 .coursework-v3-generate {
    min-height: 58px;
    border-radius: 14px;
    font-size: 1.55rem;
    font-weight: 750;
}

.coursework-v3 .coursework-v3-editor-card {
    border-radius: 16px;
    border: 1px solid #dce5f1;
    min-height: calc(100vh - 110px);
}

.coursework-v3 .coursework-v3-editor-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    border-bottom: 1px solid #e3eaf4;
    padding: 0.7rem 0.8rem;
}

.coursework-v3 .coursework-v3-editor-title {
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.24rem;
    font-weight: 800;
    color: #1d2b42;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.coursework-v3 .coursework-v3-editor-title i {
    color: #9333ea;
}

.coursework-v3 .coursework-v3-editor-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.coursework-v3 .coursework-v3-raw-head,
.coursework-v3 .coursework-v3-render-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.58rem 0.8rem;
    border-bottom: 1px solid #ebf0f7;
    background: #f6f9fd;
}

.coursework-v3 .coursework-v3-render-head h6 {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #304563;
    font-size: 0.95rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.coursework-v3 #rawEditorWrap {
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid #e5ecf6;
}

.coursework-v3 .coursework-collapse-btn {
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #384e71;
}

.coursework-v3 #renderedViewport {
    margin: 0.8rem;
    border-radius: 12px;
    background: #f8fbff;
    min-height: 420px;
    height: calc(100vh - 240px);
    overflow: auto;
}

.coursework-v3 #rendered {
    min-height: 100%;
}

.coursework-v3 #courseworkRecentRunsCard {
    margin: 0.9rem;
}

@media (max-width: 1399.98px) {
    .coursework-v3 .coursework-v3-title {
        font-size: 1.7rem;
    }
    .coursework-v3 .coursework-v3-step .label {
        font-size: 1rem;
    }
    .coursework-v3 .coursework-v3-card-head h3 {
        font-size: 1.7rem;
    }
    .coursework-v3 .coursework-v3-generate {
        font-size: 1.25rem;
    }
}

@media (max-width: 1199.98px) {
    .coursework-v3 .coursework-v3-body {
        height: auto;
        overflow: visible;
    }
    .coursework-v3 .coursework-v3-grid {
        grid-template-columns: 1fr;
        height: auto;
    }
    .coursework-v3 .coursework-v3-left,
    .coursework-v3 .coursework-v3-right {
        overflow: visible;
    }
    .coursework-v3 .coursework-v3-left {
        border-right: 0;
        border-bottom: 1px solid #dbe4f1;
    }
    .coursework-v3 #renderedViewport {
        height: 56vh;
    }
}

@media (max-width: 767.98px) {
    .coursework-v3 .coursework-v3-topbar {
        height: auto;
        padding: 0.75rem;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .coursework-v3 .coursework-v3-title {
        font-size: 1.4rem;
    }
    .coursework-v3 .coursework-v3-sep,
    .coursework-v3 .coursework-v3-mode {
        display: none;
    }
    .coursework-v3 .coursework-v3-card .card-body {
        padding: 0.8rem;
    }
    .coursework-v3 .coursework-v3-card-head h3 {
        font-size: 1.4rem;
    }
    .coursework-v3 .coursework-v3-generate {
        min-height: 52px;
        font-size: 1.1rem;
    }
}

/* Standalone Scheme of Work Tool */
.teacher-copilot-sow-page .sow-builder-shell {
    --builder-ink: #142544;
    --builder-muted: #5d7192;
    --builder-line: rgba(148, 163, 184, 0.24);
    --builder-panel: #ffffff;
    --builder-accent: #315efb;
    --builder-accent-soft: rgba(49, 94, 251, 0.08);
    --builder-success: #198754;
    --builder-warm: #f59e0b;
}

.teacher-copilot-sow-page .coursework-v3-topbar {
    position: static;
    top: auto;
    z-index: auto;
    min-height: 0;
    margin: 0 0 1rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.teacher-copilot-sow-page .coursework-v3-top-left {
    align-items: flex-end;
    gap: 0.85rem;
}

.teacher-copilot-sow-page .coursework-v3-title {
    font-size: clamp(1.75rem, 2.1vw, 2.3rem);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-weight: 700;
    color: #16294b;
}

.teacher-copilot-sow-page .coursework-v3-sep {
    display: none;
}

.teacher-copilot-sow-page .coursework-v3-mode {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 500;
}

.teacher-copilot-sow-page .coursework-v3-top-right {
    gap: 0.55rem;
}

.teacher-copilot-sow-page .coursework-v3-link,
.teacher-copilot-sow-page .coursework-v3-icon-btn {
    min-height: 2.5rem;
    padding: 0.5rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
    color: #475569;
}

.teacher-copilot-sow-page .coursework-v3-link:hover,
.teacher-copilot-sow-page .coursework-v3-icon-btn:hover {
    border-color: rgba(99, 102, 241, 0.24);
    background: #ffffff;
    color: #315efb;
}

.teacher-copilot-sow-page .sow-builder-notices .alert {
    border-radius: 20px;
    border-width: 1px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.teacher-copilot-sow-page .sow-command-deck {
    display: none;
}

.teacher-copilot-sow-page .sow-studio {
    display: grid;
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.teacher-copilot-sow-page .sow-form-card,
.teacher-copilot-sow-page .sow-output-card {
    border: 1px solid var(--builder-line);
    border-radius: 24px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.teacher-copilot-sow-page .sow-form-card {
    height: auto;
    max-height: none;
    overflow: visible;
}

.teacher-copilot-sow-page .sow-output-card {
    max-height: min(760px, calc(100vh - 245px));
    overflow: hidden;
}

.teacher-copilot-sow-page .sow-form-card > .card-header,
.teacher-copilot-sow-page .sow-output-card > .card-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    flex: 0 0 auto;
}

.teacher-copilot-sow-page .sow-pane-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.teacher-copilot-sow-page .sow-pane-kicker {
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--builder-accent);
}

.teacher-copilot-sow-page .sow-form-card > .card-body,
.teacher-copilot-sow-page .sow-output-card > .card-body {
    background: #ffffff;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.teacher-copilot-sow-page .sow-form-card > .card-body {
    overflow: visible;
}

.teacher-copilot-sow-page .sow-form-card .form-label {
    color: var(--builder-ink);
    font-weight: 700;
}

.teacher-copilot-sow-page .sow-form-card .form-control,
.teacher-copilot-sow-page .sow-form-card .form-select,
.teacher-copilot-sow-page .sow-output-card .form-control {
    border-color: rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.teacher-copilot-sow-page .sow-form-card .form-control:focus,
.teacher-copilot-sow-page .sow-form-card .form-select:focus,
.teacher-copilot-sow-page .sow-output-card .form-control:focus {
    border-color: rgba(67, 97, 238, 0.34);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.12);
}

.teacher-copilot-sow-page .sow-pack-list {
    max-height: 228px;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    padding: 0.55rem;
    background: #f8fbff;
}

.teacher-copilot-sow-page .sow-pack-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.teacher-copilot-sow-page .sow-pack-empty {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 0.8rem;
    color: var(--builder-muted);
    font-size: 0.9rem;
}

.teacher-copilot-sow-page .sow-pack-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 16px;
    transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.teacher-copilot-sow-page .sow-pack-item + .sow-pack-item {
    margin-top: 0.4rem;
}

.teacher-copilot-sow-page .sow-pack-item:hover {
    border-color: rgba(148, 163, 184, 0.2);
    background: rgba(255,255,255,0.98);
}

.teacher-copilot-sow-page .sow-pack-item:has(.pack-check:checked) {
    border-color: rgba(49, 94, 251, 0.2);
    background: rgba(244, 247, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(49, 94, 251, 0.05);
}

.teacher-copilot-sow-page .sow-pack-text {
    display: grid;
    gap: 0.12rem;
}

.teacher-copilot-sow-page .sow-pack-title {
    font-weight: 700;
    color: var(--builder-ink);
    line-height: 1.3;
}

.teacher-copilot-sow-page .sow-pack-meta {
    font-size: 0.78rem;
    color: var(--builder-muted);
}

.teacher-copilot-sow-page .sow-toggle-wrap {
    margin-top: 0.8rem;
}

.teacher-copilot-sow-page .sow-form-submit-bar {
    position: static;
    margin: 1rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.teacher-copilot-sow-page .sow-v1-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.teacher-copilot-sow-page .sow-v1-actions .btn {
    border-radius: 12px;
}

.teacher-copilot-sow-page .sow-v1-actions #generateTopBtn {
    min-width: 9.5rem;
}

.teacher-copilot-sow-page .sow-render-wrap {
    min-height: 360px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 20px;
    background: #ffffff;
    padding: 1rem 1.05rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.teacher-copilot-sow-page #renderPlaceholder {
    color: var(--builder-muted) !important;
}

.teacher-copilot-sow-page #renderedOutput {
    color: var(--builder-ink);
    font-size: 0.92rem;
    line-height: 1.62;
}

.teacher-copilot-sow-page #renderedOutput h1 {
    font-size: 1.6rem;
    line-height: 1.15;
    margin-bottom: 0.9rem;
}

.teacher-copilot-sow-page #renderedOutput h2 {
    font-size: 1.02rem;
    margin-top: 1rem;
    border-left: 4px solid var(--builder-accent);
    background: rgba(67, 97, 238, 0.08);
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
}

.teacher-copilot-sow-page #renderedOutput h3 {
    font-size: 0.94rem;
    margin-top: 0.85rem;
}

.teacher-copilot-sow-page #renderedOutput table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.85rem 0;
    overflow: hidden;
    border-radius: 16px;
}

.teacher-copilot-sow-page #renderedOutput th,
.teacher-copilot-sow-page #renderedOutput td {
    border: 1px solid rgba(67, 97, 168, 0.14);
    padding: 0.5rem 0.58rem;
    vertical-align: top;
}

.teacher-copilot-sow-page #renderedOutput th {
    background: rgba(67, 97, 238, 0.08);
}

@media (max-width: 1200px) {
    .teacher-copilot-sow-page .sow-command-deck,
    .teacher-copilot-sow-page .sow-studio {
        grid-template-columns: 1fr;
    }

    .teacher-copilot-sow-page .sow-form-card,
    .teacher-copilot-sow-page .sow-output-card {
        max-height: none;
        overflow: visible;
    }

    .teacher-copilot-sow-page .sow-form-card > .card-body,
    .teacher-copilot-sow-page .sow-output-card > .card-body {
        overflow: visible;
    }
}

@media (max-width: 900px) {
    .teacher-copilot-sow-page .coursework-v3-topbar {
        gap: 0.75rem;
    }

    .teacher-copilot-sow-page .coursework-v3-top-left,
    .teacher-copilot-sow-page .coursework-v3-top-right {
        width: 100%;
    }

    .teacher-copilot-sow-page .coursework-v3-top-left {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }
}

/* Coursework Assistant compact pass (~20% smaller at 100% browser zoom) */
.coursework-v3-compact {
    font-size: 78%;
}

.coursework-v3-compact .coursework-v3-topbar {
    height: 52px;
    padding: 0 0.8rem;
}

.coursework-v3-compact .coursework-v3-body {
    height: calc(100vh - 52px);
}

.coursework-v3-compact .coursework-v3-title {
    font-size: 1.42rem;
}

.coursework-v3-compact .coursework-v3-mode {
    font-size: 0.72rem;
}

.coursework-v3-compact .coursework-v3-link {
    font-size: 0.8rem;
}

.coursework-v3-compact .coursework-v3-icon-btn,
.coursework-v3-compact .coursework-v3-avatar {
    width: 28px;
    height: 28px;
    min-width: 28px;
    font-size: 0.74rem;
}

.coursework-v3-compact .coursework-v3-step .num {
    width: 26px;
    height: 26px;
    font-size: 0.8rem;
}

.coursework-v3-compact .coursework-v3-step .label {
    font-size: 0.9rem;
    font-weight: 680;
}

.coursework-v3-compact .coursework-v3-card-head h3 {
    font-size: 1.42rem;
    font-weight: 710;
}

.coursework-v3-compact .form-label {
    font-size: 0.72rem;
}

.coursework-v3-compact .form-control,
.coursework-v3-compact .form-select {
    min-height: 36px;
    font-size: 0.88rem;
}

.coursework-v3-compact textarea#pupilResponse {
    min-height: 192px;
}

.coursework-v3-compact .coursework-v3-generate {
    min-height: 46px;
    border-radius: 11px;
    font-size: 1.08rem;
    font-weight: 700;
}

.coursework-v3-compact .coursework-v3-editor-title {
    font-size: 0.92rem;
    font-weight: 740;
}

.coursework-v3-compact .coursework-v3-render-head h6 {
    font-size: 0.76rem;
}

.coursework-v3-compact #renderedViewport {
    height: calc(100vh - 205px);
}
.copilot-busy {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.35);
    backdrop-filter: blur(2px);
    display: grid;
    place-items: center;
    z-index: 2000;
}

.copilot-busy-card {
    background: var(--surface);
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    min-width: 260px;
    text-align: center;
    box-shadow: var(--shadow-lg);
}

.loading-overlay {
    position: fixed;
    inset: 0;
    display: none;
    place-items: center;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(3px);
    z-index: 3000;
}

.loading-overlay-card {
    width: min(92vw, 440px);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.38);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    padding: 1.2rem 1.15rem 1rem;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.22);
    text-align: center;
}

.loading-wheel {
    width: 54px;
    height: 54px;
    margin: 0 auto 0.7rem;
    border-radius: 50%;
    border: 4px solid #c7d2fe;
    border-top-color: #2563eb;
    border-right-color: #4f46e5;
    animation: loading-wheel-spin 0.9s linear infinite;
}

.loading-overlay-title {
    font-size: 1.03rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
}

.loading-overlay-sub {
    margin-top: 0.3rem;
    color: #475569;
    font-size: 0.9rem;
}

.loading-overlay-phase {
    margin-top: 0.55rem;
    display: inline-block;
    background: #eef2ff;
    color: #1e3a8a;
    border: 1px solid #c7d2fe;
    border-radius: 999px;
    padding: 0.26rem 0.62rem;
    font-size: 0.8rem;
    font-weight: 600;
}

@keyframes loading-wheel-spin {
    to { transform: rotate(360deg); }
}

.copilot-marking .copilot-form-card .form-text {
    color: var(--gray-600);
}

.copilot-stepper {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.copilot-step {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 0.55rem 0.7rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(248,250,252,0.8));
    box-shadow: var(--shadow-sm);
    flex: 1 1 170px;
    min-width: 170px;
}
.copilot-step-num {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
    font-weight: 850;
    font-size: 0.85rem;
    flex: 0 0 auto;
}
.copilot-step-text {
    font-size: 0.86rem;
    line-height: 1.25;
    color: var(--gray-700);
}

@media (max-width: 768px) {
    .copilot-marking .card-header .btn {
        white-space: nowrap;
    }
    .copilot-marking #suggestedText {
        min-height: 44vh;
    }
}

@media (min-width: 992px) {
    .copilot-builder #contentText,
    .copilot-marking #suggestedText {
        min-height: 52vh;
    }
}

/* Paper Test A4 Layout */
.paper-page {
    max-width: 210mm;
    margin: 0 auto;
    background: white;
    color: #111827;
    padding: 18mm 16mm;
    box-shadow: var(--shadow);
    border-radius: 8px;
    min-height: 297mm;
}

.paper-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid var(--gray-200);
    padding-bottom: 1rem;
}

.paper-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
}

.paper-meta {
    font-size: 0.9rem;
    color: var(--gray-600);
}

.candidate-box {
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    padding: 0.75rem;
    min-width: 220px;
    font-size: 0.85rem;
}

.candidate-box .line {
    border-bottom: 1px solid var(--gray-300);
    height: 24px;
    margin-top: 0.35rem;
}

.paper-header-right {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
    align-items: flex-start;
    flex-wrap: nowrap;
}


.paper-header-right .candidate-box {
    flex: 1 1 220px;
    min-width: 180px;
}

.paper-header-right .paper-barcode {
    flex: 0 0 170px;
}

.paper-header-right .paper-barcode svg {
    width: 160px;
}
.paper-barcode {
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    text-align: center;
    font-size: 0.75rem;
    background: #fff;
}

.paper-barcode svg {
    display: block;
    width: 180px;
    height: 50px;
    margin: 0 auto 0.25rem;
}

.paper-question {
    margin: 1.25rem 0;
    padding-bottom: 1rem;
    border-bottom: 1px dashed var(--gray-200);
    break-inside: avoid;
    page-break-inside: avoid;
}

.paper-question:last-child {
    border-bottom: none;
}

.paper-question-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.paper-question-text {
    font-size: 1.05rem;
    font-weight: 600;
}

.answer-space {
    margin-top: 0.6rem;
    border: 1px solid var(--gray-200);
    border-radius: 6px;
    height: 90px;
    background: repeating-linear-gradient(
        #fff,
        #fff 22px,
        #f3f4f6 23px
    );
    position: relative;
    break-inside: avoid;
    page-break-inside: avoid;
}

.answer-space-label {
    position: absolute;
    top: -0.58rem;
    left: 0.8rem;
    padding: 0 0.35rem;
    background: #fff;
    color: var(--gray-500);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.answer-space--inline {
    background: linear-gradient(#fff 0 31px, #94a3b8 31px 32px, #fff 32px);
}

.answer-space--short,
.answer-space--source {
    background: repeating-linear-gradient(
        #fff,
        #fff 25px,
        #e2e8f0 26px
    );
}

.answer-space--extended {
    background: repeating-linear-gradient(
        #fff,
        #fff 24px,
        #e2e8f0 25px
    );
}

.answer-space--essay {
    background: repeating-linear-gradient(
        #fff,
        #fff 26px,
        #dbe4ef 27px
    );
}

.paper-question-flow {
    break-inside: auto;
    page-break-inside: auto;
}

.paper-question--large-response {
    break-inside: avoid;
    page-break-inside: avoid;
}

.answer-space--working {
    background:
        linear-gradient(90deg, rgba(148, 163, 184, 0.24) 1px, transparent 1px),
        linear-gradient(rgba(148, 163, 184, 0.24) 1px, transparent 1px),
        #fff;
    background-size: 28px 28px;
}

.answer-space--diagram {
    background:
        linear-gradient(90deg, rgba(148, 163, 184, 0.16) 1px, transparent 1px),
        linear-gradient(rgba(148, 163, 184, 0.16) 1px, transparent 1px),
        #fff;
    background-size: 20px 20px;
}

.answer-space--table {
    background:
        repeating-linear-gradient(#fff, #fff 30px, #e2e8f0 31px),
        linear-gradient(90deg, transparent 0 33%, rgba(148, 163, 184, 0.32) 33% 33.5%, transparent 33.5% 66%, rgba(148, 163, 184, 0.32) 66% 66.5%, transparent 66.5%);
}

.paper-mcq-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.paper-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
}

.paper-option-circle {
    width: 14px;
    height: 14px;
    border: 1px solid var(--gray-500);
    border-radius: 50%;
    flex-shrink: 0;
}

.paper-graph {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.paper-graph-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--gray-700);
}

.paper-graph-grid {
    flex: 1 1 auto;
    min-height: 240mm;
    border: 1px solid var(--gray-200);
    border-radius: 6px;
    background-image:
        linear-gradient(to right, rgba(99, 102, 241, 0.15) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(99, 102, 241, 0.15) 1px, transparent 1px);
    background-size: 5mm 5mm;
}

.paper-blank {
    min-height: 260mm;
}

.paper-blank-label {
    text-align: center;
    margin-top: 40mm;
    color: var(--gray-400);
    font-size: 0.9rem;
}

.paper-mark-scheme {
    margin-top: 1.5rem;
}

.paper-mark-card {
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
    background: var(--surface-2);
}

.paper-cover {
    display: grid;
    gap: 1.5rem;
}

.paper-cover-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.paper-cover-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.paper-header-left {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.paper-logo {
    max-height: 54px;
    max-width: 140px;
    object-fit: contain;
}

.paper-cover-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
}

.school-logo-preview {
    max-height: 140px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    padding: 6px;
    background: #fff;
}

.branding-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    max-height: 180px;
    overflow: hidden;
    border: 1px dashed var(--gray-200);
    border-radius: 8px;
    padding: 0.75rem;
    background: var(--surface-2);
}

.branding-placeholder {
    font-size: 0.9rem;
}

.paper-cover-subtitle {
    font-size: 1rem;
    color: var(--gray-600);
}

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

.paper-cover-field {
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    padding: 0.75rem;
    background: #fff;
}

.paper-cover-field label {
    display: block;
    font-size: 0.75rem;
    color: var(--gray-500);
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.paper-cover-field .value {
    font-size: 1rem;
    min-height: 24px;
    border-bottom: 1px solid var(--gray-300);
}

.paper-cover-instructions {
    border: 1px dashed var(--gray-200);
    border-radius: 8px;
    padding: 1rem;
    background: var(--surface-2);
}

.paper-cover-declaration {
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
}

.paper-cover-signature {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.paper-cover-signature .line {
    flex: 1;
    border-bottom: 1px solid var(--gray-300);
    height: 28px;
}

/* Access arrangements: dyslexia-friendly view */
.access-dyslexia {
    letter-spacing: 0.03em;
    word-spacing: 0.08em;
}

.access-dyslexia p,
.access-dyslexia .question-text,
.access-dyslexia .option-text,
.access-dyslexia .card,
.access-dyslexia .table,
.access-dyslexia .form-control {
    line-height: 1.6;
}

.access-dyslexia .question-text {
    font-size: 1.05rem;
}

.needs-save {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
}

.row-dirty {
    background-color: #fff1f2;
}

@media print {
    @page {
        size: A4;
        margin: 12mm;
    }
    .paper-page {
        box-shadow: none;
        border-radius: 0;
        padding: 0;
        page-break-after: always;
    }
    .paper-blank-label {
        display: none;
    }
}

/* Marking Assistant layout pass (aligned with Coursework Assistant shell) */
.marking-v3 #packIds {
    min-height: 140px;
    background: #f7f9fd;
}

.marking-v3 #markSchemePackHint {
    font-size: 0.86rem;
    font-weight: 600;
}

.marking-v3 .coursework-v3-generate {
    font-size: 1.2rem;
}

.marking-v3 .coursework-v3-editor-title i {
    color: #8b5cf6;
}

/* Marking Desk workflow redesign */
.marking-desk {
    --marking-desk-ink: #1f2d3d;
    --marking-desk-muted: #607086;
    --marking-desk-line: #d9e1ec;
    --marking-desk-line-strong: #b8c6da;
    --marking-desk-accent: #20527e;
    --marking-desk-accent-soft: #ebf2f8;
    --marking-desk-success: #1f6a46;
    --marking-desk-success-soft: #eef8f2;
    --marking-desk-paper: #fffdf8;
    --marking-desk-paper-alt: #f6f1e7;
}

.marking-desk .marking-desk-body {
    background:
        radial-gradient(circle at top right, rgba(32, 82, 126, 0.07), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #f3f6fb 100%);
}

.marking-desk .coursework-v3-grid.marking-desk-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    height: auto;
    align-items: start;
    gap: 0;
}

.marking-desk .coursework-v3-left,
.marking-desk .coursework-v3-right {
    overflow: visible;
}

.marking-desk .coursework-v3-left {
    padding-right: 1.1rem;
}

.marking-desk .coursework-v3-right {
    padding-left: 1.1rem;
}

.marking-desk .coursework-v3-form {
    gap: 1rem;
}

.marking-desk .marking-desk-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

.marking-desk .marking-desk-step {
    border: 1px solid var(--marking-desk-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.85rem 0.95rem 0.9rem;
    min-height: 6rem;
    text-align: left;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.marking-desk .marking-desk-step::after {
    top: 28px;
    left: calc(100% - 10px);
    right: -18px;
    background: #d5dfeb;
}

.marking-desk .marking-desk-step:hover:not(:disabled) {
    border-color: #b6c7da;
    transform: translateY(-1px);
}

.marking-desk .marking-desk-step:disabled {
    opacity: 0.72;
    cursor: not-allowed;
}

.marking-desk .marking-desk-step .label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--marking-desk-ink);
}

.marking-desk .marking-desk-step-meta {
    display: block;
    font-size: 0.76rem;
    line-height: 1.4;
    color: var(--marking-desk-muted);
    font-weight: 600;
}

.marking-desk .marking-desk-step.is-active {
    border-color: #2d5f8f;
    background: linear-gradient(180deg, #ffffff 0%, #eef4fb 100%);
    box-shadow: 0 10px 24px rgba(31, 58, 94, 0.08);
}

.marking-desk .marking-desk-step.is-active .num {
    background: #2d5f8f;
    border-color: #2d5f8f;
}

.marking-desk .marking-desk-step.is-complete {
    border-color: #b7d7c5;
    background: linear-gradient(180deg, #ffffff 0%, #f1faf4 100%);
}

.marking-desk .marking-desk-step.is-complete .num {
    border-color: #2d8c5b;
    background: #2d8c5b;
    color: #fff;
}

.marking-desk .marking-desk-step.is-blocked {
    background: #f6f8fb;
    border-style: dashed;
}

.marking-desk .marking-desk-stage-message {
    padding: 0.8rem 0.95rem;
    border-radius: 14px;
    border: 1px solid #dfe7f2;
    background: rgba(255, 255, 255, 0.84);
    color: #465a76;
    font-weight: 560;
    font-size: 0.84rem;
}

.marking-desk .marking-desk-card {
    border-radius: 20px;
    border: 1px solid #dbe4ef;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.marking-desk .marking-desk-card .card-body {
    padding: 1.2rem 1.2rem 1.05rem;
}

.marking-desk .marking-desk-section-intro {
    margin: 0 0 1rem;
    color: #5a6d85;
    font-size: 0.88rem;
    line-height: 1.55;
}

.marking-desk .marking-desk-mode-note {
    border: 1px solid #dae4ef;
    border-radius: 16px;
    background: linear-gradient(180deg, #f9fbfe 0%, #f1f6fc 100%);
    padding: 0.9rem 1rem;
}

.marking-desk .marking-desk-mode-label {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    color: #294d73;
    margin-bottom: 0.3rem;
}

.marking-desk .marking-desk-mode-copy {
    color: #5b6d82;
    line-height: 1.5;
}

.marking-desk .marking-desk-pack-block {
    border: 1px solid #d7e0eb;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.marking-desk .marking-desk-pack-block summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    font-weight: 700;
    color: #22344b;
}

.marking-desk .marking-desk-pack-block summary::-webkit-details-marker {
    display: none;
}

.marking-desk .marking-desk-pack-summary,
.marking-desk .marking-desk-pack-summary-inline {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #59718d;
}

.marking-desk .marking-desk-pack-body {
    border-top: 1px solid #e3eaf2;
    padding: 0 1rem 1rem;
}

.marking-desk .marking-desk-pack-copy {
    padding-top: 0.9rem;
    color: #5b6d82;
    font-size: 0.92rem;
    line-height: 1.5;
}

.marking-desk .marking-desk-dependent-toggle {
    border-top: 1px solid #e5ebf3;
    padding-top: 0.8rem;
}

.marking-desk .marking-desk-lock-title {
    font-weight: 800;
    color: #1f3550;
    margin-bottom: 0.25rem;
}

.marking-desk .marking-desk-lock-copy {
    color: #5d6e83;
    line-height: 1.5;
}

.marking-desk .marking-desk-lock-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.65rem;
    flex-wrap: wrap;
}

.marking-desk .marking-desk-intake-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.marking-desk .marking-desk-intake-title {
    font-size: 0.88rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #344f6f;
}

.marking-desk .marking-desk-privacy-note {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid #eadfbe;
    background: #fff8e7;
    color: #735e2c;
    font-size: 0.88rem;
    line-height: 1.5;
}

.marking-desk .marking-desk-chip-line {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    background: #eef3f9;
    color: #48607d;
    font-weight: 700;
}

.marking-desk .marking-desk-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.marking-desk .marking-desk-nav .btn-primary {
    min-width: 220px;
}

.marking-desk .marking-desk-review-rail {
    position: sticky;
    top: 0.85rem;
}

.marking-desk .marking-desk-review-card {
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid #d9dfeb;
    min-height: auto;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 243, 233, 0.96) 100%),
        repeating-linear-gradient(180deg, rgba(31, 45, 61, 0.025) 0 1px, transparent 1px 42px);
    box-shadow: 0 18px 42px rgba(17, 24, 39, 0.08);
}

.marking-desk .marking-desk-review-head {
    padding: 1rem 1rem 0.95rem;
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.8);
}

.marking-desk .marking-desk-review-head-copy {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.marking-desk .marking-desk-review-subtitle {
    color: #607086;
    font-size: 0.84rem;
    line-height: 1.45;
}

.marking-desk .coursework-v3-editor-title {
    color: #1a2b40;
}

.marking-desk .coursework-v3-editor-title i {
    color: var(--marking-desk-accent);
}

.marking-desk .marking-desk-rail-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 0 1rem 1rem;
}

.marking-desk .marking-desk-summary-card {
    display: grid;
    gap: 0.2rem;
    border: 1px solid rgba(184, 198, 218, 0.9);
    border-radius: 16px;
    padding: 0.9rem 0.95rem;
    background: rgba(255, 255, 255, 0.88);
}

.marking-desk .marking-desk-summary-kicker {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c7d92;
    font-weight: 800;
}

.marking-desk .marking-desk-summary-card strong {
    color: #1f3148;
    font-size: 0.88rem;
    font-weight: 700;
}

.marking-desk .marking-desk-summary-meta {
    color: #627388;
    font-size: 0.8rem;
    line-height: 1.45;
}

.marking-desk .marking-desk-empty-review {
    margin: 0 1rem 1rem;
    border: 1px dashed #ccbfa4;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(247, 241, 225, 0.92) 100%);
    padding: 1.2rem 1.15rem;
}

.marking-desk .marking-desk-empty-kicker {
    margin-bottom: 0.35rem;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #806c48;
    font-weight: 800;
}

.marking-desk .marking-desk-empty-review h3 {
    margin: 0 0 0.55rem;
    color: #243549;
    font-size: 1.02rem;
    font-weight: 720;
}

.marking-desk .marking-desk-empty-review p {
    color: #5f6f82;
    line-height: 1.6;
    font-size: 0.86rem;
    margin-bottom: 0.7rem;
}

.marking-desk .marking-desk-empty-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #4f6178;
}

.marking-desk .marking-desk-empty-list li + li {
    margin-top: 0.35rem;
}

.marking-desk .marking-desk-review-workspace {
    display: grid;
    gap: 0.95rem;
    padding: 0 1rem 1rem;
}

.marking-desk .marking-desk-review-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    border: 1px solid #d7dfeb;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    padding: 0.2rem;
}

.marking-desk .marking-desk-review-tab {
    border: 0;
    background: transparent;
    color: #5f738d;
    font-weight: 800;
    font-size: 0.82rem;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
}

.marking-desk .marking-desk-review-tab.is-active {
    background: #1f4f79;
    color: #fff;
}

.marking-desk .marking-desk-review-pane {
    border: 1px solid rgba(205, 196, 175, 0.85);
    border-radius: 18px;
    background: rgba(255, 254, 250, 0.96);
    overflow: hidden;
}

.marking-desk .marking-desk-review-pane.is-active {
    border-color: #b6c7da;
}

.marking-desk .coursework-v3-raw-head,
.marking-desk .coursework-v3-render-head {
    background: rgba(241, 236, 226, 0.84);
    border-bottom-color: #ddd4c2;
}

.marking-desk .coursework-collapse-btn {
    color: #2d435d;
}

.marking-desk #rawEditorWrap {
    padding: 0.9rem 1rem;
}

.marking-desk #suggestedText {
    min-height: 240px;
    background: #fff;
    border-color: #d7d2c7;
}

.marking-desk #renderedViewport {
    margin: 1rem;
    min-height: 360px;
    height: auto;
    max-height: none;
    overflow: auto;
    border-color: #d8cfbf !important;
    background: #fffefc !important;
    box-shadow: inset 0 0 0 1px rgba(229, 221, 205, 0.68);
}

.marking-desk .coursework-v3-approve-row {
    padding: 0 1rem 1rem;
}

.marking-desk .marking-desk-review-rail.is-review-approved .marking-desk-summary-card {
    border-color: #b6d9c5;
}

@media (max-width: 1399.98px) {
    .marking-desk .marking-desk-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .marking-desk .coursework-v3-grid.marking-desk-grid {
        grid-template-columns: 1fr;
    }

    .marking-desk .coursework-v3-left {
        border-right: 0;
        border-bottom: 1px solid #dbe4f1;
        padding-right: 0.95rem;
    }

    .marking-desk .coursework-v3-right {
        padding-left: 0.95rem;
    }

    .marking-desk .marking-desk-review-rail {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .marking-desk .marking-desk-review-workspace[data-review-view="editor"] [data-review-pane="preview"],
    .marking-desk .marking-desk-review-workspace[data-review-view="preview"] [data-review-pane="editor"] {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .marking-desk .marking-desk-steps {
        grid-template-columns: 1fr;
    }

    .marking-desk .marking-desk-step::after {
        display: none;
    }

    .marking-desk .marking-desk-card .card-body,
    .marking-desk .marking-desk-review-head,
    .marking-desk .marking-desk-rail-summary,
    .marking-desk .marking-desk-review-workspace {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    .marking-desk .marking-desk-rail-summary {
        grid-template-columns: 1fr;
    }

    .marking-desk .marking-desk-nav,
    .marking-desk .marking-desk-lock-actions,
    .marking-desk .marking-desk-intake-head,
    .marking-desk .coursework-v3-status-line {
        align-items: stretch;
        flex-direction: column;
    }

    .marking-desk .marking-desk-nav .btn,
    .marking-desk .marking-desk-intake-head .btn {
        width: 100%;
    }

    .marking-desk .coursework-v3-editor-head {
        flex-direction: column;
        align-items: stretch;
    }

    .marking-desk .coursework-v3-editor-actions {
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .marking-desk .marking-desk-review-tabs {
        width: 100%;
        justify-content: space-between;
    }

    .marking-desk .marking-desk-review-tab {
        flex: 1 1 0;
        text-align: center;
    }

    .marking-desk #renderedViewport {
        min-height: 280px;
    }
}

/* ==========================================================================
   Adaptive Practice (Student)
   ========================================================================== */
.adaptive-practice-page .ai-panel {
    background: linear-gradient(135deg, #1f5fd6 0%, #2146bf 100%);
}

.adaptive-practice-page .adaptive-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.adaptive-practice-page .adaptive-stat-item {
    background: #f8faff;
    border: 1px solid #dfe6f3;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
}

.adaptive-practice-page .adaptive-stat-label {
    font-size: 0.76rem;
    font-weight: 600;
    color: #66748f;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.adaptive-practice-page .adaptive-stat-value {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1d2a44;
}

.adaptive-practice-page .adaptive-question-text {
    font-size: 1.04rem;
    line-height: 1.6;
    color: #1f2d44;
    white-space: pre-wrap;
}

.adaptive-practice-page .adaptive-objectives {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.adaptive-practice-page .adaptive-objective-chip {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 600;
    color: #365590;
    background: #edf2ff;
    border: 1px solid #d7e1fb;
    border-radius: 999px;
    padding: 0.25rem 0.5rem;
}

.adaptive-practice-page .adaptive-option {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    border: 1px solid #dfe6f3;
    border-radius: 10px;
    padding: 0.65rem 0.8rem;
    margin-bottom: 0.6rem;
    cursor: pointer;
    transition: background 0.16s ease, border-color 0.16s ease;
}

.adaptive-practice-page .adaptive-option:hover {
    background: #f8fbff;
    border-color: #c8d6f1;
}

.adaptive-practice-page .adaptive-option input {
    margin-top: 0.18rem;
}

.adaptive-practice-page .adaptive-feedback-box {
    border-radius: 10px;
    border: 1px solid #dce7f6;
    background: #f8fbff;
    padding: 0.8rem 0.9rem;
}

.adaptive-practice-page .adaptive-feedback-box.ok {
    border-color: #bde9d2;
    background: #effcf4;
}

.adaptive-practice-page .adaptive-feedback-box.miss {
    border-color: #ffd9d9;
    background: #fff4f4;
}

.adaptive-practice-page .adaptive-feedback-title {
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.adaptive-practice-page .adaptive-feedback-text,
.adaptive-practice-page .adaptive-feedback-correct,
.adaptive-practice-page .adaptive-feedback-expl,
.adaptive-practice-page .adaptive-feedback-score {
    margin-top: 0.25rem;
    font-size: 0.94rem;
}

.adaptive-practice-page .adaptive-focus-list,
.adaptive-practice-page .adaptive-recent-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.adaptive-practice-page .adaptive-focus-item,
.adaptive-practice-page .adaptive-recent-item,
.adaptive-practice-page .adaptive-session-item {
    border: 1px solid #e3eaf6;
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    background: #fff;
}

.adaptive-practice-page .adaptive-focus-label {
    font-weight: 600;
    color: #1f2e45;
    font-size: 0.86rem;
}

.adaptive-practice-page .adaptive-focus-count {
    font-size: 0.78rem;
    color: #6b778f;
}

.adaptive-practice-page .adaptive-recent-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.3rem;
}

.adaptive-practice-page .adaptive-recent-badge {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-radius: 999px;
    padding: 0.14rem 0.45rem;
    background: #eef2fb;
    color: #324a7d;
}

.adaptive-practice-page .adaptive-recent-item.ok .adaptive-recent-badge {
    background: #e6f8ef;
    color: #0e7a44;
}

.adaptive-practice-page .adaptive-recent-item.miss .adaptive-recent-badge {
    background: #ffebeb;
    color: #b22424;
}

.adaptive-practice-page .adaptive-recent-diff {
    font-size: 0.73rem;
    color: #6f7f9a;
    text-transform: capitalize;
}

.adaptive-practice-page .adaptive-recent-question {
    font-size: 0.82rem;
    color: #20314c;
    line-height: 1.35;
}

.adaptive-practice-page .adaptive-recent-score {
    margin-top: 0.2rem;
    font-size: 0.76rem;
    color: #6f7f9a;
}

.adaptive-practice-page .adaptive-session-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

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

@media (max-width: 768px) {
    .adaptive-practice-page .adaptive-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* -------------------------------------------------------------------------- */
/* Teacher-First Responsive Refactor (mobile + tablet)                        */
/* -------------------------------------------------------------------------- */

/* Reusable sizing helpers */
.stat-icon-sm {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
}

.stat-icon-xs {
    width: 32px;
    height: 32px;
    font-size: 0.8rem;
}

.badge-ai {
    font-size: 0.65rem;
}

.btn-outline-violet {
    border-color: #7c3aed;
    color: #7c3aed;
}

.btn-outline-violet:hover {
    background: #7c3aed;
    color: #fff;
}

.table-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.table-filter-select {
    width: auto;
    min-width: 130px;
}

.teacher-list-card-header {
    gap: 0.75rem;
    flex-wrap: wrap;
}

.teacher-list-group-card {
    margin: 1rem;
}

.teacher-list-group-head {
    justify-content: flex-start;
}

.table-card-actions-wrap {
    flex-wrap: wrap;
}

/* My Tests table behavior */
.teacher-tests-page .tests-table {
    table-layout: fixed;
    width: 100%;
}

.teacher-tests-page .tests-table th,
.teacher-tests-page .tests-table td {
    vertical-align: middle;
    white-space: normal;
}

.teacher-tests-page .tests-table thead th {
    white-space: nowrap;
}

.teacher-tests-page .tests-table th:nth-child(1),
.teacher-tests-page .tests-table td:nth-child(1) {
    width: 60px;
}

.teacher-tests-page .tests-table th:nth-child(8),
.teacher-tests-page .tests-table td:nth-child(8) {
    white-space: nowrap;
}

.teacher-tests-page .tests-table td:nth-child(8) .d-flex {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.teacher-tests-page .tests-table .test-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em;
}

.teacher-tests-page .page-content {
    max-width: 1520px;
}

.teacher-tests-page .tests-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1.35rem;
    border-radius: 24px;
    border: 1px solid rgba(99, 102, 241, 0.14);
    background:
        linear-gradient(135deg, rgba(29, 78, 216, 0.08) 0%, rgba(255, 255, 255, 0.98) 46%, rgba(139, 92, 246, 0.08) 100%);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.teacher-tests-page .tests-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;
}

.teacher-tests-page .tests-hero-kicker,
.teacher-tests-page .tests-hub-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.11);
    color: #4338ca;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.teacher-tests-page .tests-hero-title {
    margin: 0;
    font-size: clamp(1.35rem, 1.55vw, 1.8rem);
    line-height: 1.14;
    color: #172554;
}

.teacher-tests-page .tests-hero-text,
.teacher-tests-page .tests-hub-subtitle {
    margin: 0;
    max-width: 62ch;
    color: #4b5563;
}

.teacher-tests-page .tests-hero-pills,
.teacher-tests-page .tests-toolbar-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.teacher-tests-page .tests-context-pill,
.teacher-tests-page .tests-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.92);
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.teacher-tests-page .tests-context-pill--filter {
    background: rgba(241, 245, 249, 0.92);
}

.teacher-tests-page .tests-clear-link {
    color: #4338ca;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.teacher-tests-page .tests-clear-link:hover {
    color: #312e81;
    text-decoration: underline;
}

.teacher-tests-page .tests-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.teacher-tests-page .tests-stat-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-height: 108px;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.teacher-tests-page .tests-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 1rem;
}

.teacher-tests-page .tests-stat-icon--primary {
    background: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.teacher-tests-page .tests-stat-icon--violet {
    background: rgba(124, 58, 237, 0.14);
    color: #7c3aed;
}

.teacher-tests-page .tests-stat-icon--amber {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.teacher-tests-page .tests-stat-icon--teal {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}

.teacher-tests-page .tests-stat-value {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
    color: #0f172a;
}

.teacher-tests-page .tests-stat-label,
.teacher-tests-page .tests-count-note {
    color: #64748b;
    font-size: 0.82rem;
}

.teacher-tests-page .tests-hub-card {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.teacher-tests-page .tests-hub-header {
    align-items: flex-end;
    padding: 1.15rem 1.25rem 1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 247, 255, 0.96) 100%);
}

.teacher-tests-page .tests-hub-heading {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.teacher-tests-page .tests-view-switch .btn {
    border-radius: 12px;
    padding-inline: 0.9rem;
}

.teacher-tests-page .tests-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.25rem 1.1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.7);
    border-bottom: 1px solid rgba(226, 232, 240, 0.7);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.teacher-tests-page .tests-filter-form {
    flex: 1 1 760px;
    justify-content: flex-end;
}

.teacher-tests-page .tests-filter-form .table-filter-select {
    min-width: 140px;
    min-height: 42px;
    border-radius: 12px;
    border-color: #dbe4f1;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    color: #334155;
    padding-inline: 0.9rem 2rem;
}

.teacher-tests-page .tests-card-body {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.88) 100%);
}

.teacher-tests-page .tests-bulk-bar {
    background: rgba(248, 250, 252, 0.95);
}

.teacher-tests-page .tests-bulk-select {
    color: #334155;
    font-weight: 600;
}

.teacher-tests-page .teacher-list-group-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

.teacher-tests-page .teacher-list-group-head {
    align-items: center;
}

.teacher-tests-page .subject-group-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.65rem;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.1);
    color: #4338ca;
    font-weight: 700;
}

.teacher-tests-page .tests-table {
    border-collapse: separate;
    border-spacing: 0;
}

.teacher-tests-page .tests-table thead th {
    padding: 0.95rem 0.9rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
    background: rgba(248, 250, 252, 0.92);
    border-bottom: 1px solid #e2e8f0;
}

.teacher-tests-page .tests-table tbody tr {
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.teacher-tests-page .tests-table tbody tr:hover {
    background: rgba(238, 242, 255, 0.52);
}

.teacher-tests-page .tests-table tbody td {
    padding: 1rem 0.9rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
}

.teacher-tests-page .test-entry,
.teacher-tests-page .test-card-main {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

.teacher-tests-page .test-entry-main {
    min-width: 0;
    flex: 1;
}

.teacher-tests-page .test-subject-icon {
    flex-shrink: 0;
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.teacher-tests-page .test-entry-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.2rem;
}

.teacher-tests-page .test-subject,
.teacher-tests-page .created-date {
    color: #64748b;
    font-size: 0.82rem;
}

.teacher-tests-page .test-ai-chip {
    border-radius: 999px;
    padding-inline: 0.45rem;
    background: rgba(59, 130, 246, 0.13);
    color: #2563eb;
}

.teacher-tests-page .test-class-chip,
.teacher-tests-page .metric-pill,
.teacher-tests-page .status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 30px;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.teacher-tests-page .test-class-chip {
    background: rgba(241, 245, 249, 0.95);
    border-color: #dbe4f1;
    color: #334155;
}

.teacher-tests-page .metric-pill {
    background: rgba(226, 232, 240, 0.7);
    color: #334155;
}

.teacher-tests-page .metric-pill--info {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.teacher-tests-page .metric-pill--warning {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.teacher-tests-page .attempt-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.teacher-tests-page .status-pill--draft {
    background: rgba(148, 163, 184, 0.15);
    border-color: rgba(148, 163, 184, 0.3);
    color: #475569;
}

.teacher-tests-page .status-pill--published {
    background: rgba(124, 58, 237, 0.13);
    border-color: rgba(124, 58, 237, 0.22);
    color: #7c3aed;
}

.teacher-tests-page .status-pill--active {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(16, 185, 129, 0.22);
    color: #0f766e;
}

.teacher-tests-page .status-pill--completed {
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.22);
    color: #1d4ed8;
}

.teacher-tests-page .status-pill--archived,
.teacher-tests-page .status-pill--neutral {
    background: rgba(51, 65, 85, 0.1);
    border-color: rgba(51, 65, 85, 0.2);
    color: #334155;
}

.teacher-tests-page .test-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.teacher-tests-page .action-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 11px;
    border: 1px solid transparent;
    box-shadow: none;
}

.teacher-tests-page .table-card-actions .action-chip {
    min-width: auto;
    height: 38px;
    padding: 0.45rem 0.75rem;
    justify-content: center;
}

.teacher-tests-page .action-chip--preview {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(16, 185, 129, 0.26);
    color: #0f766e;
}

.teacher-tests-page .action-chip--view {
    background: rgba(124, 58, 237, 0.14);
    border-color: rgba(124, 58, 237, 0.24);
    color: #7c3aed;
}

.teacher-tests-page .action-chip--edit {
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.22);
    color: #2563eb;
}

.teacher-tests-page .action-chip--results {
    background: rgba(14, 165, 233, 0.14);
    border-color: rgba(14, 165, 233, 0.24);
    color: #0284c7;
}

.teacher-tests-page .action-chip--export {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.28);
    color: #b45309;
}

.teacher-tests-page .action-chip--share {
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(100, 116, 139, 0.22);
    color: #475569;
}

.teacher-tests-page .action-chip--delete {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.24);
    color: #dc2626;
}

.teacher-tests-page .action-chip:hover {
    transform: translateY(-1px);
    filter: brightness(0.98);
}

.teacher-tests-page .test-card {
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.teacher-tests-page .test-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.teacher-tests-page .test-card-select {
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.teacher-tests-page .table-card .table-card-title {
    font-size: 1rem;
}

@media (max-width: 1199.98px) {
    .teacher-tests-page .tests-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .teacher-tests-page .tests-hero,
    .teacher-tests-page .tests-toolbar {
        padding: 1rem;
    }

    .teacher-tests-page .tests-hero-stats {
        grid-template-columns: 1fr;
    }

    .teacher-tests-page .tests-hub-header {
        align-items: flex-start;
    }

    .teacher-tests-page .tests-view-switch {
        width: 100%;
    }

    .teacher-tests-page .tests-view-switch .btn {
        flex: 1 1 50%;
    }
}

/* Teacher create/edit test page */
.teacher-create-test-page {
    --create-test-blue-surface: linear-gradient(180deg, rgba(239, 246, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --create-test-blue-soft: linear-gradient(180deg, rgba(232, 243, 255, 0.94) 0%, rgba(255, 255, 255, 0.92) 100%);
    --create-test-violet-surface: linear-gradient(180deg, rgba(245, 243, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --create-test-violet-soft: linear-gradient(180deg, rgba(243, 239, 255, 0.94) 0%, rgba(255, 255, 255, 0.92) 100%);
    --create-test-amber-surface: linear-gradient(180deg, rgba(255, 248, 235, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --create-test-amber-soft: linear-gradient(180deg, rgba(255, 244, 224, 0.94) 0%, rgba(255, 255, 255, 0.92) 100%);
    --create-test-teal-surface: linear-gradient(180deg, rgba(240, 253, 250, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    --create-test-teal-soft: linear-gradient(180deg, rgba(229, 250, 245, 0.94) 0%, rgba(255, 255, 255, 0.92) 100%);
    --create-test-neutral-surface: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.teacher-create-test-page .page-content {
    max-width: 1520px;
}

.teacher-create-test-page .create-test-top-nav {
    margin-bottom: 1rem;
}

.teacher-create-test-page .create-test-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 1fr);
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1.35rem;
    border-radius: 24px;
    border: 1px solid rgba(99, 102, 241, 0.14);
    background: linear-gradient(135deg, rgba(29, 78, 216, 0.08) 0%, rgba(255, 255, 255, 0.98) 46%, rgba(139, 92, 246, 0.08) 100%);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.teacher-create-test-page .create-test-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;
}

.teacher-create-test-page .create-test-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.11);
    color: #4338ca;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.teacher-create-test-page .create-test-hero-title {
    margin: 0;
    font-size: clamp(1.35rem, 1.55vw, 1.8rem);
    line-height: 1.14;
    color: #172554;
}

.teacher-create-test-page .create-test-hero-text,
.teacher-create-test-page .create-test-card-text,
.teacher-create-test-page .create-test-section-text {
    margin: 0;
    color: #4b5563;
}

.teacher-create-test-page .create-test-context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.teacher-create-test-page .create-test-context-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.92);
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.teacher-create-test-page .create-test-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.teacher-create-test-page .create-test-stat-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-height: 108px;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.teacher-create-test-page .create-test-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 1rem;
}

.teacher-create-test-page .create-test-stat-icon--blue {
    background: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.teacher-create-test-page .create-test-stat-icon--violet {
    background: rgba(124, 58, 237, 0.14);
    color: #7c3aed;
}

.teacher-create-test-page .create-test-stat-icon--amber {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.teacher-create-test-page .create-test-stat-icon--teal {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}

.teacher-create-test-page .create-test-stat-value {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
    color: #0f172a;
}

.teacher-create-test-page .create-test-stat-label,
.teacher-create-test-page .create-test-summary-label {
    color: #64748b;
    font-size: 0.82rem;
}

.teacher-create-test-page .create-test-main-card,
.teacher-create-test-page .create-test-side-card,
.teacher-create-test-page .create-test-questions-card {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}

.teacher-create-test-page .create-test-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.15rem 1.25rem 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 247, 255, 0.96) 100%);
}

.teacher-create-test-page .create-test-card-body,
.teacher-create-test-page .create-test-side-card-body {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.9) 100%);
}

.teacher-create-test-page .create-test-main-card--details .create-test-card-header {
    background: linear-gradient(180deg, rgba(237, 246, 255, 0.98) 0%, rgba(247, 250, 255, 0.96) 100%);
}

.teacher-create-test-page .create-test-main-card--details .create-test-card-body {
    background: var(--create-test-blue-surface);
}

.teacher-create-test-page .create-test-questions-card .create-test-card-header {
    background: linear-gradient(180deg, rgba(236, 253, 248, 0.98) 0%, rgba(246, 255, 251, 0.96) 100%);
}

.teacher-create-test-page .create-test-questions-card .card-body {
    background: var(--create-test-teal-surface);
}

.teacher-create-test-page .create-test-side-card--summary .create-test-card-header {
    background: linear-gradient(180deg, rgba(235, 250, 247, 0.98) 0%, rgba(246, 255, 252, 0.96) 100%);
}

.teacher-create-test-page .create-test-side-card--summary .create-test-side-card-body {
    background: var(--create-test-teal-surface);
}

.teacher-create-test-page .create-test-side-card--workflow .create-test-card-header {
    background: linear-gradient(180deg, rgba(241, 245, 255, 0.98) 0%, rgba(248, 250, 255, 0.96) 100%);
}

.teacher-create-test-page .create-test-side-card--workflow .create-test-side-card-body {
    background: var(--create-test-blue-surface);
}

.teacher-create-test-page .create-test-side-card--checks .create-test-card-header {
    background: linear-gradient(180deg, rgba(255, 247, 237, 0.98) 0%, rgba(255, 251, 244, 0.96) 100%);
}

.teacher-create-test-page .create-test-side-card--checks .create-test-side-card-body {
    background: var(--create-test-amber-surface);
}

.teacher-create-test-page .create-test-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.teacher-create-test-page .create-test-section {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(226, 232, 240, 0.85);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.84);
}

.teacher-create-test-page .create-test-section--identity {
    border-color: rgba(147, 197, 253, 0.5);
    background: var(--create-test-blue-soft);
}

.teacher-create-test-page .create-test-section--timing {
    border-color: rgba(253, 186, 116, 0.45);
    background: var(--create-test-amber-soft);
}

.teacher-create-test-page .create-test-section--experience {
    border-color: rgba(196, 181, 253, 0.5);
    background: var(--create-test-violet-soft);
}

.teacher-create-test-page .create-test-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.teacher-create-test-page .create-test-section-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    color: #0f172a;
}

.teacher-create-test-page .create-test-section-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.08);
    color: #4338ca;
    font-size: 0.78rem;
    font-weight: 700;
}

.teacher-create-test-page .create-test-boundary-group {
    margin-top: 0.5rem;
}

.teacher-create-test-page .create-test-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.teacher-create-test-page .create-test-toggle {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    min-height: 84px;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.82);
    cursor: pointer;
}

.teacher-create-test-page .create-test-toggle:hover {
    background: rgba(238, 242, 255, 0.72);
}

.teacher-create-test-page .create-test-toggle--wide {
    grid-column: 1 / -1;
}

.teacher-create-test-page .create-test-toggle .form-check-input {
    margin: 0;
}

.teacher-create-test-page .create-test-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.teacher-create-test-page .create-test-toggle-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.teacher-create-test-page .create-test-toggle-copy strong {
    color: #0f172a;
    font-size: 0.95rem;
}

.teacher-create-test-page .create-test-toggle-copy small {
    color: #64748b;
    font-size: 0.8rem;
    line-height: 1.45;
}

.teacher-create-test-page .create-test-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.teacher-create-test-page .create-test-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.teacher-create-test-page .create-test-summary-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(255, 255, 255, 0.76);
}

.teacher-create-test-page .create-test-summary-item strong {
    color: #0f172a;
}

.teacher-create-test-page .create-test-checklist {
    margin: 0;
    padding-left: 1rem;
    color: #475569;
}

.teacher-create-test-page .create-test-checklist li + li {
    margin-top: 0.65rem;
}

@media (max-width: 1199.98px) {
    .teacher-create-test-page .create-test-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .teacher-create-test-page .create-test-hero {
        padding: 1rem;
    }

    .teacher-create-test-page .create-test-hero-stats,
    .teacher-create-test-page .create-test-summary-grid,
    .teacher-create-test-page .create-test-toggle-grid {
        grid-template-columns: 1fr;
    }

    .teacher-create-test-page .create-test-card-header,
    .teacher-create-test-page .create-test-section-head {
        flex-direction: column;
    }
}

.teacher-ai-generator-page .ai-generator-page {
    color: #42526b;
}

.teacher-ai-generator-page .ai-generator-page__hero {
    margin-bottom: 1.25rem;
}

.teacher-ai-generator-page .ai-generator-page__hero-side {
    align-content: start;
}

.teacher-ai-generator-page .ai-side-metric__text {
    margin-top: 0.35rem;
    color: #667892;
    font-size: 0.88rem;
    line-height: 1.5;
}

.teacher-ai-generator-page .ai-side-metric.create-test-stat-card {
    align-items: flex-start;
}

.teacher-ai-generator-page .ai-generator-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.9fr);
    gap: 1.25rem;
    align-items: start;
}

.teacher-ai-generator-page .ai-card-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: #22314d;
    font-size: 1rem;
    font-weight: 700;
}

.teacher-ai-generator-page .ai-form-banner {
    margin-bottom: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(83, 125, 255, 0.18);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(241, 247, 255, 0.95), rgba(240, 252, 246, 0.92));
}

.teacher-ai-generator-page .ai-form-banner__label {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #4568f6;
}

.teacher-ai-generator-page .ai-form-banner__title {
    margin-top: 0.3rem;
    color: #22314d;
    font-size: 1.05rem;
    font-weight: 700;
}

.teacher-ai-generator-page .ai-form-banner__copy {
    margin-top: 0.4rem;
    color: #5c6f89;
    line-height: 1.55;
}

.teacher-ai-generator-page .ai-form-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.teacher-ai-generator-page .ai-section-label {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.teacher-ai-generator-page .ai-section-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(63, 103, 245, 0.14), rgba(89, 194, 153, 0.14));
    color: #3f67f5;
    font-size: 0.85rem;
    font-weight: 800;
}

.teacher-ai-generator-page .ai-section-text {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.teacher-ai-generator-page .ai-section-text strong {
    color: #22314d;
    font-size: 0.98rem;
}

.teacher-ai-generator-page .ai-section-text span {
    color: #6b7d97;
    font-size: 0.9rem;
    line-height: 1.55;
}

.teacher-ai-generator-page .ai-packs-box,
.teacher-ai-generator-page .ai-control-bar {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(83, 125, 255, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.96));
}

.teacher-ai-generator-page .ai-subtle-check {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.teacher-ai-generator-page .ai-inline-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(83, 125, 255, 0.16);
    border-radius: 18px;
    background: rgba(248, 251, 255, 0.96);
    color: #50627d;
    font-size: 0.9rem;
    line-height: 1.55;
}

.teacher-ai-generator-page .ai-inline-note i {
    margin-top: 0.1rem;
    color: #3f67f5;
}

.teacher-ai-generator-page .form-label {
    margin-bottom: 0.38rem;
    color: #22314d;
    font-weight: 700;
}

.teacher-ai-generator-page .form-text {
    color: #6b7d97;
}

.teacher-ai-generator-page .form-control,
.teacher-ai-generator-page .form-select {
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
    padding: 0.72rem 0.82rem;
}

.teacher-ai-generator-page textarea.form-control {
    min-height: 108px;
}

.teacher-ai-generator-page .form-control:focus,
.teacher-ai-generator-page .form-select:focus {
    border-color: rgba(63, 103, 245, 0.42);
    box-shadow: 0 0 0 0.2rem rgba(63, 103, 245, 0.12);
}

.teacher-ai-generator-page .ai-question-type-grid,
.teacher-ai-generator-page .ai-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}

.teacher-ai-generator-page .ai-choice-card {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(83, 125, 255, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.teacher-ai-generator-page .ai-choice-card:hover {
    transform: translateY(-1px);
    border-color: rgba(63, 103, 245, 0.3);
    box-shadow: 0 18px 28px rgba(15, 23, 42, 0.05);
}

.teacher-ai-generator-page .ai-choice-card input {
    margin-top: 0.2rem;
}

.teacher-ai-generator-page .ai-choice-card__meta strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #22314d;
    font-size: 0.95rem;
}

.teacher-ai-generator-page .ai-choice-card__meta span {
    display: block;
    color: #6b7d97;
    font-size: 0.87rem;
    line-height: 1.5;
}

.teacher-ai-generator-page .ai-submit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.teacher-ai-generator-page .ai-submit-copy {
    max-width: 50ch;
    color: #6b7d97;
    font-size: 0.9rem;
    line-height: 1.55;
}

.teacher-ai-generator-page .btn {
    border-radius: 12px;
    font-weight: 600;
}

.teacher-ai-generator-page .btn-primary.btn-lg {
    border: 0;
    border-radius: 999px;
    padding: 0.85rem 1.35rem;
    background: linear-gradient(135deg, #3f67f5, #6a53ff);
    box-shadow: 0 18px 28px rgba(79, 70, 229, 0.18);
}

.teacher-ai-generator-page .ai-preview-card {
    margin-top: 1rem;
}

.teacher-ai-generator-page .ai-preview-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.teacher-ai-generator-page .ai-preview-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.teacher-ai-generator-page .ai-generating {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.teacher-ai-generator-page .ai-spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 3px solid rgba(63, 103, 245, 0.14);
    border-top-color: #3f67f5;
    border-radius: 50%;
    animation: teacher-ai-generator-spin 0.9s linear infinite;
}

@keyframes teacher-ai-generator-spin {
    to {
        transform: rotate(360deg);
    }
}

.teacher-ai-generator-page .ai-rail-card + .ai-rail-card {
    margin-top: 1rem;
}

.teacher-ai-generator-page .ai-rail-list {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.teacher-ai-generator-page .ai-rail-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #50627d;
    line-height: 1.55;
}

.teacher-ai-generator-page .ai-rail-list i,
.teacher-ai-generator-page .ai-rail-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(63, 103, 245, 0.14), rgba(89, 194, 153, 0.14));
    color: #3f67f5;
    font-size: 0.9rem;
    font-weight: 700;
}

.teacher-ai-generator-page .ai-rail-guide {
    display: grid;
    gap: 0.7rem;
}

.teacher-ai-generator-page .ai-guide-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(83, 125, 255, 0.14);
    border-radius: 18px;
    background: rgba(248, 251, 255, 0.94);
}

.teacher-ai-generator-page .ai-guide-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0.24rem 0.56rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.teacher-ai-generator-page .ai-guide-badge--primary {
    background: rgba(63, 103, 245, 0.14);
    color: #2340bf;
}

.teacher-ai-generator-page .ai-guide-badge--info {
    background: rgba(14, 165, 233, 0.14);
    color: #155e75;
}

.teacher-ai-generator-page .ai-guide-badge--warning {
    background: rgba(245, 158, 11, 0.14);
    color: #9a5b00;
}

.teacher-ai-generator-page .ai-guide-badge--danger {
    background: rgba(239, 68, 68, 0.14);
    color: #9f1239;
}

.teacher-ai-generator-page .generated-question {
    margin-bottom: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(83, 125, 255, 0.15);
    border-radius: 18px;
    background: rgba(248, 251, 255, 0.96);
}

.teacher-ai-generator-page .generated-question:last-child {
    margin-bottom: 0;
}

.teacher-ai-generator-page .generated-question .question-text {
    margin-top: 0.45rem;
    color: #22314d;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
}

.teacher-ai-generator-page .generated-question .question-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.teacher-ai-generator-page .generated-question .meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #6b7d97;
    font-size: 0.8rem;
}

.teacher-ai-generator-page .generated-question .option-list {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.75rem;
}

.teacher-ai-generator-page .generated-question .option-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.72rem 0.82rem;
    border: 1px solid rgba(83, 125, 255, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
}

.teacher-ai-generator-page .generated-question .option-item.correct {
    border-color: rgba(34, 197, 94, 0.24);
    background: rgba(240, 253, 244, 0.96);
}

.teacher-ai-generator-page .generated-question .question-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

.teacher-ai-generator-page .generated-question .question-explanation {
    margin-top: 0.8rem;
    padding: 0.82rem 0.88rem;
    border-left: 3px solid rgba(63, 103, 245, 0.34);
    background: rgba(255, 255, 255, 0.9);
    color: #50627d;
    line-height: 1.55;
}

.ai-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(15, 23, 42, 0.52);
}

.ai-modal-backdrop.active {
    display: flex;
}

.ai-modal-card {
    display: flex;
    flex-direction: column;
    width: min(720px, 100%);
    max-height: min(88vh, 920px);
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 64px rgba(15, 23, 42, 0.18);
}

.ai-modal-card .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(135deg, rgba(241, 247, 255, 0.98), rgba(247, 244, 255, 0.98));
}

.ai-modal-card .modal-body {
    overflow-y: auto;
}

.ai-modal-close {
    border: 0;
    background: transparent;
    color: #6b7d97;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
}

.ai-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 1rem 1.15rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(248, 250, 255, 0.98);
}

.teacher-workspace-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(69, 104, 246, 0.08), transparent 28%),
        radial-gradient(circle at 88% 0%, rgba(111, 83, 255, 0.08), transparent 26%),
        linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%);
}

.teacher-workspace-page .top-nav {
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(238, 246, 255, 0.95), rgba(246, 243, 255, 0.95));
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.teacher-workspace-page .page-title {
    color: #22314d;
    letter-spacing: -0.03em;
}

.teacher-workspace-page .page-content {
    max-width: 1520px;
    margin: 0 auto 3rem;
}

.teacher-workspace-page .page-content > * + * {
    margin-top: 1.5rem;
}

.teacher-workspace-page .page-content .card {
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
}

.teacher-workspace-page .page-content .card > .card-header {
    padding: 1.05rem 1.2rem 0.95rem !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
    background: linear-gradient(135deg, rgba(240, 247, 255, 0.97), rgba(247, 244, 255, 0.96)) !important;
}

.teacher-workspace-page .page-content .card > .card-body,
.teacher-workspace-page .page-content .card > .card-footer,
.teacher-workspace-page .page-content .card > .list-group-item {
    background: rgba(255, 255, 255, 0.97) !important;
}

.teacher-workspace-page .page-content .card-title,
.teacher-workspace-page .page-content h5,
.teacher-workspace-page .page-content h6 {
    color: #22314d;
}

.teacher-workspace-page .page-content .table-responsive,
.teacher-workspace-page .page-content .list-group-item {
    border-color: rgba(148, 163, 184, 0.14);
}

.teacher-workspace-page .page-content .form-control,
.teacher-workspace-page .page-content .form-select,
.teacher-workspace-page .page-content textarea.form-control {
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 14px;
    box-shadow: none;
}

.teacher-workspace-page .page-content .form-control:focus,
.teacher-workspace-page .page-content .form-select:focus,
.teacher-workspace-page .page-content textarea.form-control:focus {
    border-color: rgba(69, 104, 246, 0.42);
    box-shadow: 0 0 0 0.2rem rgba(69, 104, 246, 0.12);
}

.teacher-workspace-page .page-content .btn {
    border-radius: 12px;
}

@media (max-width: 1199.98px) {
    .teacher-ai-generator-page .ai-generator-page__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .teacher-ai-generator-page .ai-question-type-grid,
    .teacher-ai-generator-page .ai-options-grid {
        grid-template-columns: 1fr;
    }

.teacher-ai-generator-page .ai-preview-card .card-header {
        align-items: stretch;
        flex-direction: column;
    }
}

.teacher-adaptive-practice-page .page-content {
    --adaptive-ink: #1b2b44;
    --adaptive-muted: #66768f;
    --adaptive-line: rgba(148, 163, 184, 0.24);
    --adaptive-line-strong: rgba(96, 126, 174, 0.34);
    --adaptive-primary: #2952cc;
    --adaptive-shadow: 0 18px 40px rgba(15, 23, 42, 0.07);
    font-family: "Source Sans 3", "Segoe UI", sans-serif;
}

.teacher-adaptive-practice-page .adaptive-practice-hero {
    margin-bottom: 1.35rem;
}

.teacher-adaptive-practice-page .adaptive-surface {
    position: relative;
    border: 1px solid var(--adaptive-line);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(41, 82, 204, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 255, 0.99) 100%);
    box-shadow: var(--adaptive-shadow);
    overflow: hidden;
}

.teacher-adaptive-practice-page .adaptive-surface::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #2952cc 0%, #4f7cff 52%, #a7bbff 100%);
}

.teacher-adaptive-practice-page .adaptive-toolbar-card .card-body,
.teacher-adaptive-practice-page .adaptive-summary-card .card-body,
.teacher-adaptive-practice-page .adaptive-empty-state .card-body {
    position: relative;
    z-index: 1;
}

.teacher-adaptive-practice-page .adaptive-panel-card .create-test-card-header {
    align-items: flex-start;
    gap: 1rem;
}

.teacher-adaptive-practice-page .adaptive-panel-card .create-test-card-body {
    padding: 1.35rem;
}

.teacher-adaptive-practice-page .adaptive-filter-section {
    margin: 0;
}

.teacher-adaptive-practice-page .adaptive-toolbar-head {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.teacher-adaptive-practice-page .adaptive-kicker {
    margin-bottom: 0.3rem;
    color: var(--adaptive-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.teacher-adaptive-practice-page .adaptive-heading {
    margin: 0;
    color: var(--adaptive-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 1.28rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.teacher-adaptive-practice-page .adaptive-subheading {
    max-width: 46rem;
    color: var(--adaptive-muted);
    font-size: 0.94rem;
}

.teacher-adaptive-practice-page .adaptive-filter-form .form-label {
    color: var(--adaptive-muted);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.teacher-adaptive-practice-page .adaptive-filter-form .form-control,
.teacher-adaptive-practice-page .adaptive-filter-form .form-select,
.teacher-adaptive-practice-page .adaptive-allocation-form .form-control,
.teacher-adaptive-practice-page .adaptive-allocation-form .form-select {
    border-color: rgba(148, 163, 184, 0.38);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.teacher-adaptive-practice-page .adaptive-filter-form .form-control:focus,
.teacher-adaptive-practice-page .adaptive-filter-form .form-select:focus,
.teacher-adaptive-practice-page .adaptive-allocation-form .form-control:focus,
.teacher-adaptive-practice-page .adaptive-allocation-form .form-select:focus {
    border-color: rgba(41, 82, 204, 0.72);
    box-shadow: 0 0 0 4px rgba(41, 82, 204, 0.12);
}

.teacher-adaptive-practice-page .adaptive-filter-actions {
    align-items: flex-end;
}

.teacher-adaptive-practice-page .adaptive-filter-actions .btn {
    border-radius: 999px;
    padding-inline: 1rem;
}

.teacher-adaptive-practice-page .adaptive-summary-card {
    height: 100%;
    border: 1px solid var(--adaptive-line);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 255, 0.98) 100%);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.05);
}

.teacher-adaptive-practice-page .adaptive-summary-card .card-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.2rem;
    min-height: 7.5rem;
}

.teacher-adaptive-practice-page .adaptive-summary-card .small {
    color: var(--adaptive-muted) !important;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.teacher-adaptive-practice-page .adaptive-summary-card .h4 {
    color: var(--adaptive-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.teacher-adaptive-practice-page .adaptive-summary-card.border-info,
.teacher-adaptive-practice-page .adaptive-summary-card.border-primary,
.teacher-adaptive-practice-page .adaptive-summary-card.border-success,
.teacher-adaptive-practice-page .adaptive-summary-card.border-danger,
.teacher-adaptive-practice-page .adaptive-summary-card.border-dark {
    border-width: 1px !important;
}

.teacher-adaptive-practice-page .allocation-desk > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.35rem;
    list-style: none;
    cursor: pointer;
    background:
        linear-gradient(140deg, rgba(245, 247, 255, 0.96), rgba(233, 241, 255, 0.92)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(243, 247, 255, 0.94));
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.teacher-adaptive-practice-page .allocation-desk > summary::-webkit-details-marker {
    display: none;
}

.teacher-adaptive-practice-page .allocation-desk-title {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.teacher-adaptive-practice-page .allocation-desk-title strong {
    color: var(--adaptive-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 1.08rem;
    letter-spacing: -0.03em;
}

.teacher-adaptive-practice-page .allocation-desk-copy {
    max-width: 40rem;
    color: var(--adaptive-muted);
    font-size: 0.94rem;
}

.teacher-adaptive-practice-page .allocation-desk-toggle,
.teacher-adaptive-practice-page .adaptive-route-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 auto;
    border: 1px solid rgba(41, 82, 204, 0.16);
    border-radius: 999px;
    background: rgba(239, 246, 255, 0.94);
    color: #1f5fa8;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.teacher-adaptive-practice-page .allocation-desk[open] .allocation-desk-toggle i,
.teacher-adaptive-practice-page .adaptive-route-group[open] .adaptive-route-toggle i {
    transform: rotate(180deg);
}

.teacher-adaptive-practice-page .allocation-desk-toggle i,
.teacher-adaptive-practice-page .adaptive-route-toggle i {
    transition: transform 0.18s ease;
}

.teacher-adaptive-practice-page .allocation-desk-body {
    padding: 1.35rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(247, 250, 255, 0.92) 100%);
}

.teacher-adaptive-practice-page .allocation-desk-note {
    color: var(--adaptive-muted);
    font-size: 0.92rem;
}

.teacher-adaptive-practice-page .adaptive-route-group {
    overflow: hidden;
}

.teacher-adaptive-practice-page .adaptive-route-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.3rem;
    list-style: none;
    cursor: pointer;
    background:
        linear-gradient(140deg, rgba(245, 247, 255, 0.96), rgba(233, 241, 255, 0.92)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(243, 247, 255, 0.94));
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.teacher-adaptive-practice-page .adaptive-route-summary::-webkit-details-marker {
    display: none;
}

.teacher-adaptive-practice-page .adaptive-route-summary-main {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}

.teacher-adaptive-practice-page .adaptive-route-kicker,
.teacher-adaptive-practice-page .adaptive-route-meta,
.teacher-adaptive-practice-page .adaptive-route-summary-stats,
.teacher-adaptive-practice-page .adaptive-route-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem 0.85rem;
}

.teacher-adaptive-practice-page .adaptive-route-title {
    color: var(--adaptive-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.teacher-adaptive-practice-page .adaptive-route-meta,
.teacher-adaptive-practice-page .adaptive-route-summary-stats {
    color: var(--adaptive-muted);
    font-size: 0.9rem;
}

.teacher-adaptive-practice-page .adaptive-route-table {
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.teacher-adaptive-practice-page .adaptive-route-table table {
    width: 100%;
    margin-bottom: 0;
}

.teacher-adaptive-practice-page .adaptive-route-table td,
.teacher-adaptive-practice-page .adaptive-route-table th {
    padding: 0.72rem 0.52rem;
    vertical-align: middle;
}

.teacher-adaptive-practice-page .adaptive-route-table thead th,
.teacher-adaptive-practice-page .adaptive-allocation-table thead th {
    background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
    color: #41536f;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom-color: var(--adaptive-line-strong);
}

.teacher-adaptive-practice-page .adaptive-route-table tbody tr:nth-child(odd),
.teacher-adaptive-practice-page .adaptive-allocation-table tbody tr:nth-child(odd) {
    background: rgba(248, 250, 255, 0.62);
}

.teacher-adaptive-practice-page .adaptive-route-table tbody tr:hover,
.teacher-adaptive-practice-page .adaptive-allocation-table tbody tr:hover {
    background: rgba(239, 246, 255, 0.82);
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-student-col {
    min-width: 11rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-status-col {
    min-width: 7.5rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-last-active-col {
    min-width: 7rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-review-col {
    min-width: 5.5rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-signal-col {
    min-width: 7.5rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-actions-col {
    width: 1%;
    min-width: 7rem;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-number-col,
.teacher-adaptive-practice-page .adaptive-route-table .adaptive-streak-col,
.teacher-adaptive-practice-page .adaptive-route-table .adaptive-risk-col {
    white-space: nowrap;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-review-col,
.teacher-adaptive-practice-page .adaptive-route-table .adaptive-last-active-col {
    font-size: 0.82rem;
    line-height: 1.35;
    white-space: normal;
}

.teacher-adaptive-practice-page .adaptive-route-table .adaptive-signal-col .badge {
    white-space: normal;
    text-align: center;
    line-height: 1.2;
}

.teacher-adaptive-practice-page .adaptive-streak-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    color: #475569;
    font-size: 0.82rem;
    font-weight: 700;
}

.teacher-adaptive-practice-page .adaptive-streak-pill.is-positive {
    background: rgba(220, 252, 231, 0.95);
    color: #166534;
}

.teacher-adaptive-practice-page .adaptive-streak-pill.is-negative {
    background: rgba(254, 226, 226, 0.95);
    color: #b91c1c;
}

.teacher-adaptive-practice-page .adaptive-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    min-width: 6.75rem;
}

.teacher-adaptive-practice-page .adaptive-actions .btn,
.teacher-adaptive-practice-page .adaptive-allocation-actions .btn {
    border-radius: 999px;
}

.teacher-adaptive-practice-page .adaptive-actions .btn {
    width: 100%;
    padding: 0.28rem 0.6rem;
    font-size: 0.76rem;
    line-height: 1.2;
    white-space: normal;
}

.teacher-adaptive-practice-page .adaptive-allocation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.teacher-adaptive-practice-page .adaptive-banner-note {
    padding: 0.95rem 1.1rem;
    border: 1px solid rgba(59, 130, 246, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.95) 0%, rgba(248, 250, 255, 0.95) 100%);
    color: #45607f;
}

.teacher-adaptive-practice-page .adaptive-empty-state .card-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 8rem;
    color: var(--adaptive-muted);
    text-align: center;
    font-size: 0.96rem;
}

.teacher-adaptive-practice-page .objective-select {
    min-height: 10rem;
}

@media (max-width: 992px) {
    .teacher-adaptive-practice-page .adaptive-actions,
    .teacher-adaptive-practice-page .adaptive-allocation-actions {
        justify-content: flex-start;
    }

    .teacher-adaptive-practice-page .adaptive-route-summary,
    .teacher-adaptive-practice-page .adaptive-toolbar-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 1500px) {
    .teacher-adaptive-practice-page .adaptive-route-table td,
    .teacher-adaptive-practice-page .adaptive-route-table th {
        padding: 0.64rem 0.44rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table {
        font-size: 0.9rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table .adaptive-student-col {
        min-width: 10rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table .adaptive-status-col {
        min-width: 6.8rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table .adaptive-last-active-col {
        min-width: 6.5rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table .adaptive-review-col {
        min-width: 5rem;
    }

    .teacher-adaptive-practice-page .adaptive-route-table .adaptive-actions-col {
        min-width: 6.25rem;
    }
}

/* Analytics layout classes */
.teacher-analytics-page #analyticsFiltersSection,
.teacher-analytics-page .analytics-advanced-card,
.teacher-analytics-page .analytics-overview-stats {
    margin-bottom: 2rem;
}

.teacher-analytics-page .analytics-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    align-items: end;
}

.teacher-analytics-page .analytics-focus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1rem;
}

.teacher-analytics-page .analytics-learning-gap-grid {
    display: grid;
    grid-template-columns: minmax(360px, 2fr) minmax(260px, 1fr);
    gap: 1rem;
}

.teacher-analytics-page .analytics-longitudinal-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.1fr) minmax(360px, 1.4fr);
    gap: 1rem;
}

.teacher-analytics-page .analytics-core-charts-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.teacher-analytics-page .analytics-tables-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 1.5rem;
}

.teacher-analytics-page .analytics-class-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.teacher-analytics-page .analytics-predictive-card {
    overflow: hidden;
}

.teacher-analytics-page .analytics-predictive-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background:
        linear-gradient(135deg, rgba(245, 158, 11, 0.09) 0%, rgba(255, 255, 255, 0.98) 48%),
        linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);
    border-bottom: 1px solid rgba(245, 158, 11, 0.14);
}

.teacher-analytics-page .analytics-predictive-heading {
    min-width: 0;
}

.teacher-analytics-page .analytics-predictive-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gray-500);
    margin-bottom: 0.35rem;
}

.teacher-analytics-page .analytics-predictive-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.teacher-analytics-page .analytics-predictive-card .card-title {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0;
}

.teacher-analytics-page .analytics-predictive-card .card-title i {
    color: var(--warning);
}

.teacher-analytics-page .analytics-predictive-badges,
.teacher-analytics-page .analytics-predictive-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.teacher-analytics-page .analytics-predictive-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: #ffffff;
    color: var(--gray-700);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
}

.teacher-analytics-page .analytics-predictive-pill-danger {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fff5f5;
}

.teacher-analytics-page .analytics-predictive-pill-warning {
    color: #9a3412;
    border-color: #fed7aa;
    background: #fff7ed;
}

.teacher-analytics-page .analytics-predictive-pill-neutral {
    color: var(--gray-600);
    background: #f8fafc;
}

.teacher-analytics-page .analytics-predictive-summary {
    margin: 0.5rem 0 0;
    font-size: 0.92rem;
    color: var(--gray-600);
    max-width: 760px;
}

.teacher-analytics-page .analytics-predictive-tools {
    display: grid;
    justify-items: end;
    gap: 0.7rem;
    min-width: 220px;
}

.teacher-analytics-page .analytics-predictive-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.teacher-analytics-page .analytics-predictive-toggle i {
    transition: transform 0.2s ease;
}

.teacher-analytics-page .analytics-predictive-toggle[aria-expanded="false"] i {
    transform: rotate(-180deg);
}

.teacher-analytics-page .analytics-predictive-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

@media (max-width: 1540px) {
    .teacher-analytics-page .analytics-predictive-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .teacher-analytics-page .analytics-predictive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.teacher-analytics-page .analytics-predictive-item {
    position: relative;
    display: grid;
    gap: 0.8rem;
    min-height: 100%;
    padding: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.teacher-analytics-page .analytics-predictive-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 999px;
}

.teacher-analytics-page .analytics-predictive-item-high::before {
    background: linear-gradient(180deg, #ef4444 0%, #b91c1c 100%);
}

.teacher-analytics-page .analytics-predictive-item-watch::before {
    background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
}

.teacher-analytics-page .analytics-predictive-item-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}

.teacher-analytics-page .analytics-predictive-item-title {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.teacher-analytics-page .analytics-predictive-risk {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    flex-shrink: 0;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    border: 1px solid transparent;
}

.teacher-analytics-page .analytics-predictive-risk-high {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}

.teacher-analytics-page .analytics-predictive-risk-watch {
    background: #fef3c7;
    color: #b45309;
    border-color: #fde68a;
}

.teacher-analytics-page .analytics-predictive-student {
    display: inline-block;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--gray-900);
    text-decoration: none;
}

.teacher-analytics-page .analytics-predictive-student:hover {
    color: var(--primary);
}

.teacher-analytics-page .analytics-predictive-subtitle {
    margin-top: 0.16rem;
    font-size: 0.82rem;
    color: var(--gray-500);
}

.teacher-analytics-page .analytics-predictive-level {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.36rem 0.62rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    border: 1px solid transparent;
}

.teacher-analytics-page .analytics-predictive-level-high {
    background: #fff1f2;
    color: #be123c;
    border-color: #fecdd3;
}

.teacher-analytics-page .analytics-predictive-level-watch {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}

.teacher-analytics-page .analytics-predictive-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.teacher-analytics-page .analytics-predictive-stat {
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e5edf5;
}

.teacher-analytics-page .analytics-predictive-stat span {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gray-500);
}

.teacher-analytics-page .analytics-predictive-stat strong {
    font-size: 0.98rem;
    color: var(--gray-900);
}

.teacher-analytics-page .analytics-predictive-stat-positive strong {
    color: #15803d;
}

.teacher-analytics-page .analytics-predictive-stat-negative strong {
    color: #dc2626;
}

.teacher-analytics-page .analytics-predictive-reasons {
    padding-top: 0.75rem;
    border-top: 1px dashed #e5e7eb;
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--gray-600);
}

.teacher-analytics-page .analytics-predictive-empty {
    padding: 1rem 1.1rem;
    border: 1px dashed var(--border-color);
    border-radius: 16px;
    background: #fffdf8;
    color: var(--gray-700);
}

.teacher-analytics-page .analytics-summary-item {
    margin-bottom: 0;
}

.teacher-analytics-page #analyticsCoreChartsRow .analytics-equal-height-card {
    display: flex;
    flex-direction: column;
}

.teacher-analytics-page #analyticsCoreChartsRow .analytics-equal-height-body {
    min-height: 420px;
    max-height: 420px;
    overflow: auto;
}

.teacher-analytics-page #analyticsCoreChartsRow .analytics-subject-scroll-list {
    max-height: 100%;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.teacher-analytics-page .ao-heatmap-table th,
.teacher-analytics-page .ao-heatmap-table td {
    vertical-align: middle;
}

.teacher-analytics-page .ao-heat-chip {
    display: inline-block;
    min-width: 64px;
    padding: 0.24rem 0.5rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    border: 1px solid transparent;
}

.teacher-analytics-page .ao-heat-chip.heat-red {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.teacher-analytics-page .ao-heat-chip.heat-amber {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.teacher-analytics-page .ao-heat-chip.heat-green {
    background: #dcfce7;
    color: #14532d;
    border-color: #bbf7d0;
}

.teacher-analytics-page .ao-heat-chip.heat-none {
    background: #f1f5f9;
    color: #64748b;
    border-color: #e2e8f0;
}

.teacher-analytics-page .analytics-ao-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    background: #f8fafc;
}

.teacher-analytics-page .analytics-ao-control-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.teacher-analytics-page .analytics-ao-control-label {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--gray-500);
}

.teacher-analytics-page .analytics-ao-sort-link,
.teacher-analytics-page .ao-heatmap-ao-link {
    font-weight: 700;
    text-decoration: none;
}

.teacher-analytics-page .analytics-ao-sort-link {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: #ffffff;
    color: var(--gray-700);
    font-size: 0.82rem;
}

.teacher-analytics-page .analytics-ao-sort-link.active {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
}

.teacher-analytics-page .analytics-ao-risk-list {
    gap: 0.7rem;
}

.teacher-analytics-page .analytics-ao-risk-card {
    border-left: 4px solid #16a34a;
    background: #ffffff;
}

.teacher-analytics-page .analytics-ao-risk-card.risk-high {
    border-left-color: #dc2626;
    background: #fff7f7;
}

.teacher-analytics-page .analytics-ao-risk-card.risk-watch {
    border-left-color: #d97706;
    background: #fffbeb;
}

.teacher-analytics-page .analytics-ao-risk-card.risk-secure {
    border-left-color: #16a34a;
    background: #f7fff9;
}

/* Coursework/Marking v3: desktop split without forcing zoom-out */
.coursework-v3 .coursework-v3-title {
    font-size: 1.3rem;
    font-weight: 700;
}

.coursework-v3-compact {
    font-size: 82%;
}

.coursework-v3 .coursework-v3-mode,
.coursework-v3 .coursework-v3-link {
    font-size: 0.8rem;
}

.coursework-v3 .coursework-v3-step .label {
    font-size: 0.9rem;
    font-weight: 680;
}

.coursework-v3 .coursework-v3-card-head h3 {
    font-size: 1.38rem;
    font-weight: 700;
}

.coursework-v3 .coursework-v3-generate {
    font-size: 1.08rem;
    min-height: 50px;
    font-weight: 700;
}

.coursework-v3 .coursework-v3-editor-title {
    font-size: 1.08rem;
    font-weight: 740;
}

.coursework-v3 .coursework-v3-body {
    height: auto;
    min-height: calc(100vh - 64px);
    overflow: visible;
}

.coursework-v3 .coursework-v3-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    min-height: calc(100vh - 64px);
    height: auto;
}

.coursework-v3 .coursework-v3-left,
.coursework-v3 .coursework-v3-right {
    min-height: 0;
    max-height: calc(100vh - 64px);
    overflow: auto;
}

.coursework-v3 .coursework-v3-editor-card {
    min-height: 0;
}

.coursework-v3 #renderedViewport {
    min-height: 360px;
    max-height: calc(100vh - 220px);
    height: auto;
}

/* Tablet and down: one-column flow */
@media (max-width: 1199.98px) {
    .coursework-v3 .coursework-v3-body {
        min-height: 0;
    }

    .coursework-v3 .coursework-v3-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .coursework-v3 .coursework-v3-left,
    .coursework-v3 .coursework-v3-right {
        max-height: none;
        overflow: visible;
    }

    .coursework-v3 .coursework-v3-left {
        border-right: 0;
        border-bottom: 1px solid #dbe4f1;
    }

    .coursework-v3 #renderedViewport {
        height: 56vh;
        min-height: 320px;
        max-height: none;
    }
}

@media (max-width: 991.98px) {
    .coursework-v3-compact {
        font-size: 94%;
    }

    .coursework-v3 .coursework-v3-topbar {
        height: auto;
        padding: 0.7rem 0.85rem;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .coursework-v3 .coursework-v3-title {
        font-size: 1.3rem;
    }

    .coursework-v3 .coursework-v3-sep {
        display: none;
    }
}

/* Teacher list pages: filters + actions + mobile cards */
@media (max-width: 991.98px) {
    .table-filter-form {
        width: 100%;
    }

    .table-filter-form .table-filter-select {
        min-width: 0;
        flex: 1 1 calc(50% - 0.5rem);
    }

    .teacher-tests-page .table-desktop,
    .teacher-paper-tests-page .table-desktop {
        display: none;
    }

    .teacher-tests-page .table-cards,
    .teacher-paper-tests-page .table-cards {
        display: grid;
        gap: 0.75rem;
    }
}

@media (max-width: 767.98px) {
    .table-filter-form .table-filter-select {
        flex: 1 1 100%;
    }

    .teacher-list-card-header .btn-group {
        width: 100%;
    }

    .teacher-list-card-header .btn-group .btn {
        flex: 1 1 50%;
    }

    .teacher-tests-page .table-card-actions .btn,
    .teacher-paper-tests-page .table-card-actions .btn,
    .teacher-tests-page .table-card-actions .dropdown,
    .teacher-paper-tests-page .table-card-actions .dropdown {
        flex: 1 1 calc(50% - 0.5rem);
        justify-content: center;
    }

    .teacher-tests-page .table-card-actions,
    .teacher-paper-tests-page .table-card-actions {
        flex-wrap: wrap;
    }

    .coursework-v3 .coursework-v3-steps {
        overflow: hidden;
    }

    .coursework-v3 .coursework-v3-step::after {
        right: 0;
    }

    .coursework-v3 .coursework-v3-top-right {
        width: 100%;
        justify-content: flex-end;
        gap: 0.45rem;
    }

    .coursework-v3 .coursework-v3-link {
        font-size: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 999px;
        border: 1px solid #d6deeb;
        background: #fff;
    }

    .coursework-v3 .coursework-v3-link i {
        font-size: 0.92rem;
        margin: 0;
    }

    .coursework-v3 .coursework-v3-editor-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

/* Analytics responsive behavior */
@media (max-width: 1199.98px) {
    .teacher-analytics-page .analytics-predictive-header {
        flex-direction: column;
    }

    .teacher-analytics-page .analytics-predictive-tools {
        justify-items: start;
        min-width: 0;
    }

    .teacher-analytics-page .analytics-learning-gap-grid,
    .teacher-analytics-page .analytics-longitudinal-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .teacher-analytics-page .analytics-predictive-stats {
        grid-template-columns: 1fr;
    }

    .teacher-analytics-page .analytics-core-charts-row,
    .teacher-analytics-page .analytics-tables-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .teacher-analytics-page #analyticsCoreChartsRow .analytics-equal-height-body {
        min-height: 320px;
        max-height: none;
    }
}

/* -------------------------------------------------------------------------- */
/* Overflow + topbar hardening (mobile/tablet)                                */
/* -------------------------------------------------------------------------- */
.teacher-dashboard-page,
.teacher-students-page,
.teacher-question-bank-page,
.teacher-copilot-packs-page,
.teacher-analytics-page,
.coursework-v3,
.marking-v3 {
    overflow-x: clip;
}

.teacher-students-page .table-responsive,
.teacher-question-bank-page .table-responsive,
.teacher-copilot-packs-page .table-responsive,
.teacher-analytics-page .table-responsive {
    max-width: 100%;
}

.teacher-students-page .data-table td,
.teacher-students-page .data-table th,
.teacher-question-bank-page .data-table td,
.teacher-question-bank-page .data-table th,
.teacher-copilot-packs-page .table td,
.teacher-copilot-packs-page .table th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.teacher-question-bank-page .question-header,
.teacher-question-bank-page .question-footer,
.teacher-question-bank-page .question-meta {
    min-width: 0;
    flex-wrap: wrap;
}

/* -------------------------------------------------------------------------- */
/* Content Packs v3 alignment                                                  */
/* -------------------------------------------------------------------------- */
.packs-v3 .packs-v3-create-grid {
    align-items: start;
}

.packs-v3 .packs-v3-workspace-card {
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.packs-v3 .packs-v3-workspace-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.packs-v3 .packs-v3-workspace-switch .btn i {
    margin-right: 0.35rem;
}

.packs-v3 .packs-v3-create-grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.packs-v3 .packs-v3-create-grid--single .coursework-v3-right {
    max-width: 980px;
}

.packs-v3 .coursework-v3-body {
    height: auto;
    min-height: 0;
    overflow: visible;
}

.packs-v3 .coursework-v3-grid {
    height: auto;
    min-height: 0;
}

.packs-v3 .coursework-v3-left,
.packs-v3 .coursework-v3-right {
    max-height: none;
    overflow: visible;
}

.packs-v3 .coursework-v3-card .card-body {
    padding: 1rem 1.15rem;
}

.packs-v3 .coursework-v3-card-head {
    margin-bottom: 0.75rem;
}

.packs-v3 .coursework-v3-card-head h3 {
    font-size: 1.08rem;
    letter-spacing: 0.01em;
}

.packs-v3 .table thead th {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}

.packs-v3 .table td {
    vertical-align: middle;
}

.packs-v3 #packsFilterCard {
    position: sticky;
    top: 0.7rem;
    z-index: 18;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.packs-v3 .packs-v3-table-scroll {
    max-height: 31rem;
    min-height: 220px;
    overflow: auto;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.packs-v3 .packs-v3-table-scroll--sources {
    max-height: 24rem;
}

.packs-v3 .packs-v3-table-scroll table {
    margin-bottom: 0;
}

.packs-v3 .packs-v3-table-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8fafc;
    box-shadow: inset 0 -1px 0 #e2e8f0;
}

.packs-v3 .packs-v3-table-scroll td.text-end {
    white-space: nowrap;
}

.packs-v3 .packs-v3-table-scroll::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.packs-v3 .packs-v3-table-scroll::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
    border: 2px solid #f8fafc;
}

.packs-v3 .packs-v3-table-scroll::-webkit-scrollbar-track {
    background: #f8fafc;
}

@media (max-width: 991.98px) {
    .packs-v3 .packs-v3-workspace-switch .btn {
        flex: 1 1 calc(50% - 0.5rem);
    }

    .packs-v3 .packs-v3-create-grid--single .coursework-v3-right {
        max-width: 100%;
    }

    .packs-v3 .coursework-v3-card .card-body {
        padding: 0.9rem;
    }

    .packs-v3 #packsFilterCard {
        position: static;
        top: auto;
        box-shadow: none;
    }

    .packs-v3 .packs-v3-table-scroll {
        max-height: 50vh;
        min-height: 180px;
    }

    .packs-v3 .packs-v3-table-scroll--sources {
        max-height: 44vh;
    }
}

.coursework-v3 .coursework-v3-topbar,
.coursework-v3 .coursework-v3-top-left,
.coursework-v3 .coursework-v3-top-right,
.coursework-v3 .coursework-v3-grid,
.coursework-v3 .coursework-v3-left,
.coursework-v3 .coursework-v3-right,
.coursework-v3 .coursework-v3-form,
.coursework-v3 .coursework-v3-card {
    min-width: 0;
    max-width: 100%;
}

/* ================================================================
   CONTENT PACKS PAGE — PROFESSIONAL REDESIGN (packs-v3 overrides)
   ================================================================ */

/* ── Topbar: cleaner, tighter ── */
.packs-v3 .coursework-v3-topbar {
    height: 54px;
    padding: 0 1.35rem;
    background: #fff;
    border-bottom: 1px solid #e8edf4;
    box-shadow: none;
}
.packs-v3 .coursework-v3-title {
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #0f172a;
}
.packs-v3 .coursework-v3-sep {
    background: #e2e8f0;
}
.packs-v3 .coursework-v3-mode {
    font-size: 0.83rem;
    font-weight: 500;
    color: #94a3b8;
}
.packs-v3 .coursework-v3-link {
    font-size: 0.855rem;
    font-weight: 600;
    color: #4f46e5;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
    padding: 0.3rem 0.7rem;
    border-radius: 7px;
    border: 1px solid rgba(79, 70, 229, 0.22);
    background: rgba(79, 70, 229, 0.05);
    transition: background 0.15s, border-color 0.15s;
}
.packs-v3 .coursework-v3-link:hover {
    background: rgba(79, 70, 229, 0.1);
    border-color: rgba(79, 70, 229, 0.35);
    color: #4338ca;
}

/* ── Notice strip: slim, unobtrusive ── */
.packs-v3 .coursework-v3-notices {
    padding: 0.6rem 1.35rem 0;
}
.packs-v3 .coursework-v3-note-warn {
    background: rgba(254, 243, 199, 0.55);
    border: 1px solid rgba(217, 119, 6, 0.2);
    color: #78350f;
    font-weight: 500;
    font-size: 0.8rem;
    padding: 0.32rem 0.85rem;
    border-radius: 8px;
    max-width: 100%;
}

/* ── Workspace tab bar ── */
.packs-v3-tabbar {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.7rem 1.35rem;
    border-bottom: 1px solid #e8edf4;
    background: #fff;
}
.packs-v3-tabs {
    display: flex;
    gap: 0.15rem;
    flex-shrink: 0;
}
.packs-v3-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.88rem;
    border-radius: 8px;
    font-size: 0.845rem;
    font-weight: 500;
    color: #64748b;
    text-decoration: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    border: 1px solid transparent;
}
.packs-v3-tab i {
    font-size: 0.78rem;
    opacity: 0.7;
    transition: opacity 0.15s;
}
.packs-v3-tab:hover {
    background: #f1f5f9;
    color: #1e293b;
}
.packs-v3-tab:hover i {
    opacity: 1;
}
.packs-v3-tab.active {
    background: rgba(79, 70, 229, 0.08);
    color: #4f46e5;
    border-color: rgba(79, 70, 229, 0.2);
    font-weight: 650;
}
.packs-v3-tab.active i {
    opacity: 1;
}
.packs-v3-tabbar-hint {
    font-size: 0.775rem;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

/* ── Panels: refined card shells ── */
.packs-v3 .coursework-v3-card {
    border: 1px solid #e8edf4;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05), 0 4px 16px rgba(15, 23, 42, 0.04);
}
.packs-v3 .coursework-v3-card .card-body {
    padding: 1.2rem 1.35rem;
}
.packs-v3 .coursework-v3-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f1f5f9;
}
.packs-v3 .coursework-v3-card-head h3 {
    font-size: 0.93rem;
    font-weight: 650;
    color: #0f172a;
    letter-spacing: -0.005em;
    margin: 0;
}
.packs-v3 .coursework-v3-card-head h3 i {
    color: #6366f1;
}

/* ── Callout: replaces Bootstrap alert-info ── */
.packs-v3-callout {
    display: flex;
    gap: 0.9rem;
    padding: 0.9rem 1rem;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.06), rgba(99, 102, 241, 0.03));
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 12px;
    margin-bottom: 1rem;
    align-items: flex-start;
}
.packs-v3-callout-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(99, 102, 241, 0.14);
    color: #4f46e5;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 0.88rem;
}
.packs-v3-callout-body {
    flex: 1;
    min-width: 0;
}
.packs-v3-callout-title {
    font-weight: 700;
    color: #1e293b;
    font-size: 0.87rem;
    margin-bottom: 0.3rem;
}
.packs-v3-callout ul {
    margin: 0.2rem 0 0.25rem 1.1rem;
    padding: 0;
    font-size: 0.82rem;
    color: #334155;
    line-height: 1.65;
}
.packs-v3-callout .text-muted {
    font-size: 0.79rem;
    color: #64748b;
}

/* ── Form refinements ── */
.packs-v3 .form-label {
    font-size: 0.81rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.28rem;
}
.packs-v3 .form-control,
.packs-v3 .form-select {
    font-size: 0.875rem;
    border-color: #d1d9e5;
    border-radius: 8px;
    color: #1e293b;
}
.packs-v3 .form-control:focus,
.packs-v3 .form-select:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
.packs-v3 .form-text {
    font-size: 0.78rem;
    color: #94a3b8;
}
.packs-v3 .fw-semibold.small.text-muted {
    font-size: 0.78rem;
    color: #6366f1 !important;
    font-weight: 650;
    letter-spacing: 0.01em;
}

/* ── Alert overrides in source panel ── */
.packs-v3 .alert-info {
    background: rgba(99, 102, 241, 0.06);
    border: 1px solid rgba(99, 102, 241, 0.2);
    color: #312e81;
    border-radius: 10px;
    font-size: 0.84rem;
}
.packs-v3 .alert-warning {
    background: rgba(245, 158, 11, 0.07);
    border: 1px solid rgba(245, 158, 11, 0.22);
    color: #78350f;
    border-radius: 10px;
    font-size: 0.84rem;
}
.packs-v3 .alert-danger {
    border-radius: 10px;
    font-size: 0.84rem;
}
.packs-v3 .alert-success {
    border-radius: 10px;
    font-size: 0.84rem;
}

/* ── Primary button ── */
.packs-v3 .btn-primary {
    background: #4f46e5;
    border-color: #4f46e5;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.87rem;
    padding: 0.48rem 1rem;
}
.packs-v3 .btn-primary:hover {
    background: #4338ca;
    border-color: #4338ca;
}
.packs-v3 .btn-outline-primary {
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.87rem;
    color: #4f46e5;
    border-color: rgba(79, 70, 229, 0.35);
}
.packs-v3 .btn-outline-primary:hover {
    background: rgba(79, 70, 229, 0.08);
    color: #4338ca;
    border-color: #4f46e5;
}
.packs-v3 .btn-outline-secondary {
    border-radius: 8px;
    font-size: 0.87rem;
}
.packs-v3 .btn-outline-warning {
    border-radius: 8px;
    font-size: 0.87rem;
    font-weight: 600;
}
.packs-v3 .btn-sm {
    font-size: 0.82rem;
    padding: 0.3rem 0.7rem;
}

/* ── Section left/right panels ── */
.packs-v3 .coursework-v3-left {
    padding: 1rem 1rem 1rem 1.35rem;
}
.packs-v3 .coursework-v3-right {
    padding: 1rem 1.35rem 1rem 1rem;
}

@media (max-width: 767px) {
    .packs-v3-tabbar {
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .packs-v3-tabbar-hint {
        display: none;
    }
}

/* ══════════════════════════════════════════════
   Content Packs — Two-Panel Redesign (cp- prefix)
   ══════════════════════════════════════════════ */

.cp-layout {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 12px;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    height: auto;
    min-height: 0;
    max-height: none;
    box-shadow: none;
    align-items: start;
}

/* ── LEFT PANEL ── */
.cp-left {
    display: flex;
    flex-direction: column;
    border: 1px solid #dbe3f0;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8faff 0%, #f6f8fc 100%);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    min-height: 0;
}
.cp-left-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 0.9rem 0.55rem;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.cp-left-subtitle {
    padding: 0.15rem 0.9rem 0.55rem;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.35;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.65);
}
.cp-left-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    flex: 1;
}
.cp-pack-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: #e0e7ff;
    color: #4338ca;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
}
.cp-pack-search-wrap {
    position: relative;
    padding: 0.5rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.cp-pack-search-icon {
    position: absolute;
    left: 1.15rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.72rem;
    pointer-events: none;
}
.cp-pack-search-input {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.32rem 0.6rem 0.32rem 1.85rem;
    font-size: 0.81rem;
    background: #fff;
    color: #1e293b;
    outline: none;
    transition: border-color 0.15s;
}
.cp-pack-search-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99,102,241,0.12);
}
.cp-pack-list {
    order: 4;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}
.cp-pack-empty,
.cp-pack-no-match {
    padding: 1.25rem 1rem;
    font-size: 0.81rem;
    color: #94a3b8;
    text-align: center;
}
.cp-pack-item {
    display: block;
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid #f1f5f9;
    text-decoration: none;
    color: #1e293b;
    transition: background 0.1s;
    cursor: pointer;
    border-left: 3px solid transparent;
}
.cp-pack-item:hover {
    background: #f1f5f9;
    color: #1e293b;
    text-decoration: none;
}
.cp-pack-item.active {
    background: #ede9fe;
    border-left-color: #6366f1;
    color: #3730a3;
}
.cp-pack-item-name {
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cp-pack-item-meta {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.18rem;
}
.cp-pack-item-subject {
    font-size: 0.74rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}
.cp-pack-item-count {
    font-size: 0.68rem;
    color: #94a3b8;
    background: #f1f5f9;
    border-radius: 4px;
    padding: 0.05rem 0.33rem;
    flex-shrink: 0;
}
.cp-pack-item.active .cp-pack-item-count {
    background: #c7d2fe;
    color: #4338ca;
}

/* New Pack section */
.cp-new-pack-section {
    order: 3;
    border-top: 1px solid #e2e8f0;
    flex: 1;
    overflow-y: auto;
    max-height: none;
    background: rgba(255, 255, 255, 0.9);
}
.cp-new-pack-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 700;
    color: #4338ca;
    text-align: left;
    transition: background 0.12s;
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
}
.cp-new-pack-toggle.is-static {
    cursor: default;
    pointer-events: none;
}
.cp-new-pack-toggle:hover {
    background: #ede9fe;
}
.cp-new-pack-toggle.is-static:hover {
    background: #f8fafc;
}
.cp-new-pack-chevron {
    margin-left: auto;
    font-size: 0.68rem;
    color: #94a3b8;
    transition: transform 0.22s ease;
}
.cp-new-pack-toggle[aria-expanded="true"] .cp-new-pack-chevron {
    transform: rotate(180deg);
}
.cp-new-pack-toggle.is-static .cp-new-pack-chevron {
    display: none;
}
.cp-new-pack-form {
    display: none;
    padding: 0.85rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}
.cp-new-pack-form.open {
    display: block;
}
.cp-new-pack-group {
    margin-bottom: 1rem;
}
.cp-new-pack-group:last-child {
    margin-bottom: 0;
}
.cp-new-pack-group-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin-bottom: 0.55rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.cp-new-pack-group--hod {
    padding-top: 0.65rem;
    border-top: 1px dashed #e2e8f0;
    margin-top: 0.65rem;
}
.cp-new-pack-group--hod .cp-new-pack-group-label {
    color: #92400e;
}
.cp-new-pack-hod-info {
    font-size: 0.77rem;
    color: #94a3b8;
    padding: 0.4rem 0 0;
}
.cp-form-details {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    margin: 0.4rem 0 0.65rem;
    overflow: hidden;
}
.cp-form-details-toggle {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.6rem;
    font-size: 0.76rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    background: #f8fafc;
    user-select: none;
}
.cp-form-details-toggle::-webkit-details-marker { display: none; }
.cp-form-details-toggle::after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-left: auto;
    font-size: 0.62rem;
    transition: transform 0.18s;
}
.cp-form-details[open] .cp-form-details-toggle::after {
    transform: rotate(180deg);
}
.cp-form-details-body {
    padding: 0.6rem;
    border-top: 1px solid #e2e8f0;
}

/* ── RIGHT PANEL ── */
.cp-right {
    display: flex;
    flex-direction: column;
    overflow: visible;
    min-height: 0;
    background: #ffffff;
    border: 1px solid #dbe3f0;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

/* Pack header bar */
.cp-pack-header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.8rem 1.1rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fafbff;
    flex-shrink: 0;
    flex-wrap: wrap;
}
.cp-pack-header-info {
    flex: 1;
    min-width: 0;
}
.cp-pack-header-name {
    font-size: 0.98rem;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cp-pack-header-meta {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 0.15rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}
.cp-meta-sep {
    color: #cbd5e1;
}
.cp-pack-header-actions {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* Sources section */
.cp-sources-section {
    padding: 0.8rem 1.1rem 0.6rem;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.cp-sources-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.45rem;
}
.cp-sources-title {
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    flex-shrink: 0;
}
.cp-sources-search {
    flex: 1;
    max-width: 240px;
}
.cp-sources-scroll {
    overflow-x: auto;
    max-height: none;
    overflow-y: visible;
}
.cp-sources-table th {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
    box-shadow: 0 1px 0 #e2e8f0;
}

/* Add source panel */
.cp-add-source {
    padding: 0.85rem 1.1rem 1rem;
    border-top: 1px solid #e2e8f0;
    flex-shrink: 0;
    background: #f8fbff;
}
.cp-add-source--open {
    padding: 1rem 1.1rem;
}
.cp-add-source-head {
    font-size: 0.82rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 0.7rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

/* Guide / welcome state (no pack selected) */
.cp-guide-state {
    padding: 1.5rem 1.5rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.cp-guide-icon {
    font-size: 2.2rem;
    color: #c7d2fe;
    margin-bottom: 0.6rem;
}
.cp-guide-heading {
    font-size: 0.97rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 0.3rem;
}
.cp-guide-body {
    font-size: 0.83rem;
    color: #94a3b8;
    max-width: 340px;
    margin-bottom: 1rem;
}
.cp-guide-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    width: 100%;
    max-width: 340px;
}
.cp-guide-step {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.81rem;
    color: #64748b;
    margin-bottom: 0.5rem;
}
.cp-guide-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: #e0e7ff;
    color: #4338ca;
    font-size: 0.68rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 0.05rem;
}

/* Breadcrumb pack name in topbar */
.cp-breadcrumb-pack {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Editor section (below panels) */
.cp-editor-section {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    padding: 1.1rem 1.3rem 1.25rem;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.06);
}
.cp-editor-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    flex-wrap: wrap;
}
.cp-editor-title {
    font-size: 0.97rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    flex: 1;
}
.cp-editor-teaser {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.83rem;
    color: #64748b;
    background: #f8fafc;
}

/* Library section */
.cp-library-section {
    padding-bottom: 1.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%);
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.05);
    padding: 1rem 1rem 1.5rem;
}
.cp-library-head {
    margin-bottom: 0.9rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #e2e8f0;
}
.cp-library-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.cp-library-title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    margin: 0;
}
.cp-library-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #4338ca;
    background: #e0e7ff;
    letter-spacing: 0;
}
.cp-library-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-width: 11.25rem;
    font-weight: 600;
}
.cp-library-hint {
    margin-top: 0.5rem;
    font-size: 0.82rem;
    color: #64748b;
}
.cp-library-controls {
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: linear-gradient(180deg, #fbfdff 0%, #f6f9ff 100%);
    padding: 0.8rem 0.9rem;
    margin-bottom: 0.9rem;
}
.cp-library-filter-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}
.cp-library-filter-row .form-control,
.cp-library-filter-row .form-select {
    max-width: 190px;
}

.cp-collapsible-body {
    width: 100%;
}

.cp-collapsible-toggle {
    min-width: 2.2rem;
}

/* Extra-small button */
.btn-xs {
    font-size: 0.72rem;
    padding: 0.18rem 0.42rem;
    line-height: 1.3;
}

@media (max-width: 880px) {
    .cp-layout {
        grid-template-columns: 1fr;
        gap: 10px;
        height: auto;
        max-height: none;
    }
    .cp-left {
        border-right: 1px solid #dbe3f0;
        border-bottom: 1px solid #dbe3f0;
        max-height: 340px;
    }
    .cp-right {
        max-height: none;
    }
    .cp-pack-header {
        gap: 0.5rem;
    }
    .cp-pack-header-actions {
        width: 100%;
    }
    .cp-library-filter-row .form-control,
    .cp-library-filter-row .form-select {
        max-width: 100%;
        flex: 1 1 130px;
    }
    .cp-library-toggle {
        min-width: 100%;
    }
}

.coursework-v3 .coursework-v3-pack-foot,
.coursework-v3 .coursework-v3-field-head,
.coursework-v3 .coursework-v3-status-line,
.coursework-v3 .coursework-v3-editor-actions {
    min-width: 0;
    flex-wrap: wrap;
}

.coursework-v3 .coursework-v3-step .label {
    overflow-wrap: anywhere;
}

.coursework-v3 .form-control,
.coursework-v3 .form-select,
.coursework-v3 textarea {
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .top-nav {
        padding: 0.75rem 1rem;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .top-nav .page-title {
        width: auto;
        flex: 1 1 100%;
    }

    .top-nav-actions {
        width: 100%;
        min-width: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: flex-start;
        align-items: stretch;
    }

    .top-nav-actions > * {
        min-width: 0;
        max-width: 100%;
    }

    .top-nav-actions .btn,
    .top-nav-actions .dropdown,
    .top-nav-actions .dropdown-toggle,
    .top-nav-actions form {
        min-width: 0;
        max-width: 100%;
    }

    .page-content [style*="display: grid"],
    .page-content [style*="display:grid"] {
        width: 100%;
    }

    .page-content [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    .page-content [style*="display: grid"] > *,
    .page-content [style*="display:grid"] > * {
        min-width: 0;
    }

    .teacher-students-page .filter-form .btn,
    .teacher-question-bank-page .filter-form .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .coursework-v3 .coursework-v3-top-left,
    .coursework-v3 .coursework-v3-top-right {
        width: 100%;
        min-width: 0;
    }

    .coursework-v3 .coursework-v3-top-right {
        justify-content: flex-start;
    }
}







/* ==========================================================================
   Teacher Workspace Page Aliases (migrated from page-local inline styles)
   ========================================================================== */

/* ===== teacher-adaptive-practice-monitor-page START ===== */
.teacher-adaptive-practice-monitor-page .adaptive-tab-nav {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:0.9rem;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link {
            position:relative;
            display:flex;
            flex-direction:column;
            gap:0.55rem;
            min-height:132px;
            padding:0.95rem 1rem 1rem;
            border:1px solid rgba(15, 23, 42, 0.10);
            border-radius:24px;
            background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
            text-decoration:none;
            color:var(--text-color);
            box-shadow:0 10px 28px rgba(15, 23, 42, 0.06);
            transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link:hover {
            transform:translateY(-1px);
            box-shadow:0 14px 32px rgba(15, 23, 42, 0.08);
            border-color:rgba(79, 70, 229, 0.24);
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link.active {
            border-color:rgba(37, 99, 235, 0.32);
            box-shadow:0 18px 38px rgba(37, 99, 235, 0.12);
            background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(239,246,255,0.92) 100%);
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link-num {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:2rem;
            height:2rem;
            border-radius:999px;
            border:1px solid rgba(37, 99, 235, 0.14);
            background:rgba(248, 250, 252, 0.92);
            color:#94a3b8;
            font-size:0.95rem;
            font-weight:700;
            line-height:1;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link.active .adaptive-tab-link-num {
            background:#1f5fa8;
            border-color:#1f5fa8;
            color:#fff;
            box-shadow:0 10px 20px rgba(31, 95, 168, 0.24);
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link-copy {
            display:flex;
            flex-direction:column;
            gap:0.25rem;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link-title {
            display:flex;
            align-items:center;
            gap:0.55rem;
            font-size:1.05rem;
            font-weight:700;
            line-height:1.2;
            color:#24364d;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link-title i {
            color:#5b6f8a;
            font-size:0.95rem;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link.active .adaptive-tab-link-title i {
            color:#1f5fa8;
        }
        .teacher-adaptive-practice-monitor-page .adaptive-tab-link small {
            display:block;
            max-width:26ch;
            font-weight:500;
            font-size:0.93rem;
            line-height:1.4;
            color:#6b7280;
        }
        @media (max-width: 992px) {.teacher-adaptive-practice-monitor-page .adaptive-tab-nav { grid-template-columns:1fr; }
            .teacher-adaptive-practice-monitor-page .adaptive-tab-link { min-height:auto; }
            .teacher-adaptive-practice-monitor-page .adaptive-tab-link small { max-width:none; }
}
.teacher-adaptive-practice-monitor-page .apm-table { width: 100%; }
.teacher-adaptive-practice-monitor-page .apm-table td, .teacher-adaptive-practice-monitor-page .apm-table th { white-space: nowrap; font-size: 0.82rem; vertical-align: middle; padding: 0.45rem 0.4rem; }
.teacher-adaptive-practice-monitor-page .apm-table .suggestion-col { display: none; }
.teacher-adaptive-practice-monitor-page .apm-table .col-narrow { width: 1%; white-space: nowrap; }
.teacher-adaptive-practice-monitor-page .apm-table .actions-col { min-width: 72px; white-space: nowrap; }
.teacher-adaptive-practice-monitor-page .apm-table .actions-inline { display: inline-flex; gap: 0.35rem; align-items: center; justify-content: flex-end; min-width: 40px; }
        .teacher-adaptive-practice-monitor-page .allocation-panel {
            background: linear-gradient(180deg, rgba(79,70,229,0.08) 0%, rgba(59,130,246,0.04) 100%);
            border: 1px solid rgba(79,70,229,0.14);
            border-radius: 20px;
            padding: 1.25rem;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
        }
        .teacher-adaptive-practice-monitor-page .allocation-panel-note {
            background: rgba(255,255,255,0.62);
            border: 1px solid rgba(79,70,229,0.10);
            border-radius: 14px;
            padding: 0.9rem 1rem;
        }
        .teacher-adaptive-practice-monitor-page .allocation-form-row {
            margin-bottom: 0;
        }
        .teacher-adaptive-practice-monitor-page .allocation-field {
            display: flex;
            flex-direction: column;
            gap: 0.35rem;
        }
        .teacher-adaptive-practice-monitor-page .allocation-field .form-label {
            margin-bottom: 0;
            font-weight: 600;
        }
        .teacher-adaptive-practice-monitor-page .allocation-field .form-text {
            min-height: 2.4rem;
            margin-top: 0;
        }
        .teacher-adaptive-practice-monitor-page .allocation-actions {
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            gap: 0.5rem;
            min-height: 100%;
        }
        @media (max-width: 991.98px) {.teacher-adaptive-practice-monitor-page .allocation-field .form-text {
                min-height: 0;
            }
            .teacher-adaptive-practice-monitor-page .allocation-actions {
                justify-content: stretch;
            }
            .teacher-adaptive-practice-monitor-page .allocation-actions .btn {
                flex: 1 1 auto;
            }
}
/* ===== teacher-adaptive-practice-monitor-page END ===== */

/* ===== teacher-adaptive-practice-tabbed-monitor-page START ===== */
.teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-nav {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:1.1rem;
            align-items:stretch;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link {
            position:relative;
            display:grid;
            grid-template-columns:auto minmax(0, 1fr);
            align-items:start;
            column-gap:0.8rem;
            row-gap:0.2rem;
            min-height:104px;
            padding:0.85rem 0.95rem;
            border:2px dashed rgba(203, 213, 225, 0.72);
            border-radius:22px;
            background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);
            text-decoration:none;
            color:var(--text-color);
            box-shadow:none;
            transition:transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
            overflow:visible;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(1) {
            background:linear-gradient(180deg, rgba(244, 247, 255, 0.98) 0%, rgba(255,255,255,0.98) 100%);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(2) {
            background:linear-gradient(180deg, rgba(247, 250, 255, 0.98) 0%, rgba(255,255,255,0.98) 100%);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(3) {
            background:linear-gradient(180deg, rgba(250, 248, 255, 0.98) 0%, rgba(255,255,255,0.98) 100%);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:not(:last-child)::after {
            content:"";
            position:absolute;
            top:2.15rem;
            left:calc(100% - 0.15rem);
            width:1.35rem;
            border-top:3px solid #dbe7f5;
            opacity:0.95;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:hover {
            transform:translateY(-1px);
            border-color:rgba(96, 165, 250, 0.65);
            box-shadow:0 12px 28px rgba(15, 23, 42, 0.06);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link.active {
            border-style:solid;
            border-color:#2f5f97;
            background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(240,246,255,0.98) 100%);
            box-shadow:0 20px 40px rgba(37, 99, 235, 0.10);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link-num {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:2.65rem;
            height:2.65rem;
            border-radius:999px;
            border:3px solid #d8e4f5;
            background:rgba(255,255,255,0.98);
            color:#8ca0bc;
            font-size:1.2rem;
            font-weight:700;
            line-height:1;
            grid-row:1 / span 2;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(1) .adaptive-tab-link-num {
            border-color:#c7d8f1;
            color:#4e74a5;
            background:#eef4ff;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(2) .adaptive-tab-link-num {
            border-color:#d7def6;
            color:#6a6fb0;
            background:#f4f6ff;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:nth-child(3) .adaptive-tab-link-num {
            border-color:#d7dcf8;
            color:#7a67b4;
            background:#f6f2ff;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link.active .adaptive-tab-link-num {
            border-color:#2f5f97;
            background:#2f5f97;
            color:#fff;
            box-shadow:none;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link-copy {
            display:flex;
            flex-direction:column;
            gap:0.1rem;
            padding-top:0.2rem;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link-title {
            display:flex;
            align-items:center;
            gap:0.55rem;
            font-size:0;
            line-height:1.2;
            color:#24364d;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link-title i {
            display:none;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link-title::after {
            content:attr(data-title);
            font-size:0.78rem;
            font-weight:700;
            color:#42556f;
            letter-spacing:0.01em;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link.active .adaptive-tab-link-title::after {
            color:#24364d;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link small {
            display:block;
            max-width:none;
            font-weight:600;
            font-size:0.66rem;
            line-height:1.28;
            color:#7f93ad;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link.active small {
            color:#5f789e;
        }
        @media (max-width: 992px) {.teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-nav { grid-template-columns:1fr; }
            .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link { min-height:auto; }
            .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link:not(:last-child)::after { display:none; }
            .teacher-adaptive-practice-tabbed-monitor-page .adaptive-tab-link small { max-width:none; }
}
.teacher-adaptive-practice-tabbed-monitor-page .apm-table { width: 100%; }
.teacher-adaptive-practice-tabbed-monitor-page .apm-table td, .teacher-adaptive-practice-tabbed-monitor-page .apm-table th { white-space: nowrap; font-size: 0.82rem; vertical-align: middle; padding: 0.45rem 0.4rem; }
.teacher-adaptive-practice-tabbed-monitor-page .apm-table .suggestion-col { display: none; }
.teacher-adaptive-practice-tabbed-monitor-page .apm-table .col-narrow { width: 1%; white-space: nowrap; }
.teacher-adaptive-practice-tabbed-monitor-page .apm-table .actions-col { min-width: 72px; white-space: nowrap; }
.teacher-adaptive-practice-tabbed-monitor-page .apm-table .actions-inline { display: inline-flex; gap: 0.35rem; align-items: center; justify-content: flex-end; min-width: 40px; }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-panel {
            background: linear-gradient(180deg, rgba(79,70,229,0.08) 0%, rgba(59,130,246,0.04) 100%);
            border: 1px solid rgba(79,70,229,0.14);
            border-radius: 20px;
            padding: 1.25rem;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-panel-note {
            background: rgba(255,255,255,0.62);
            border: 1px solid rgba(79,70,229,0.10);
            border-radius: 14px;
            padding: 0.9rem 1rem;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-form-row {
            margin-bottom: 0;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-field {
            display: flex;
            flex-direction: column;
            gap: 0.35rem;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-field .form-label {
            margin-bottom: 0;
            font-weight: 600;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-field .form-text {
            min-height: 2.4rem;
            margin-top: 0;
        }
        .teacher-adaptive-practice-tabbed-monitor-page .allocation-actions {
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            gap: 0.5rem;
            min-height: 100%;
        }
        @media (max-width: 991.98px) {.teacher-adaptive-practice-tabbed-monitor-page .allocation-field .form-text {
                min-height: 0;
            }
            .teacher-adaptive-practice-tabbed-monitor-page .allocation-actions {
                justify-content: stretch;
            }
            .teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn {
                flex: 1 1 auto;
            }
}
/* ===== teacher-adaptive-practice-tabbed-monitor-page END ===== */

/* ===== teacher-exam-templates-page START ===== */
.teacher-exam-templates-page .template-details {
    font-size: 0.875rem;
}
.teacher-exam-templates-page .detail-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0;
}
.teacher-exam-templates-page .detail-row i {
    width: 16px;
}
/* ===== teacher-exam-templates-page END ===== */

/* ===== teacher-reports-page START ===== */
.teacher-reports-page .page-content {
    --reports-ink: #22314d;
    --reports-muted: #66748f;
    --reports-line: rgba(148, 163, 184, 0.22);
    --reports-line-strong: rgba(96, 126, 174, 0.32);
    --reports-primary: #3f5efb;
    --reports-shadow: 0 18px 38px rgba(15, 23, 42, 0.07);
    --reports-radius: 24px;
    display: grid;
    gap: 1.5rem;
    font-family: "Source Sans 3", "Segoe UI", sans-serif;
    font-size: 0.85rem;
}

.teacher-reports-page .top-nav .page-title {
    font-size: 2rem;
}

.teacher-reports-page .page-content .card-title,
.teacher-reports-page .page-content h5 {
    font-size: 1.05rem;
}

.teacher-reports-page .page-content .btn {
    font-size: 0.85rem;
}

.teacher-reports-page .reports-surface,
.teacher-reports-page .report-signal-card {
    position: relative;
    border: 1px solid var(--reports-line);
    border-radius: var(--reports-radius);
    background:
        radial-gradient(circle at top right, rgba(63, 94, 251, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 255, 0.99) 100%);
    box-shadow: var(--reports-shadow);
    overflow: hidden;
}

.teacher-reports-page .reports-surface::before,
.teacher-reports-page .report-signal-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #3152d9 0%, #4f7cff 54%, #a7bbff 100%);
}

.teacher-reports-page .reports-section-kicker,
.teacher-reports-page .report-signal-kicker {
    margin-bottom: 0.35rem;
    color: var(--reports-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.teacher-reports-page .reports-section-copy {
    max-width: 54rem;
    color: var(--reports-muted);
    font-size: 0.96rem;
    line-height: 1.55;
}

.teacher-reports-page .reports-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.5rem 1.6rem;
}

.teacher-reports-page .reports-hero__content {
    position: relative;
    z-index: 1;
    max-width: 56rem;
}

.teacher-reports-page .reports-hero__title {
    margin: 0;
    color: var(--reports-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: clamp(1.32rem, 1.7vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -0.04em;
}

.teacher-reports-page .reports-hero__text {
    margin: 0.7rem 0 0;
    color: var(--reports-muted);
    font-size: 0.85rem;
    line-height: 1.65;
}

.teacher-reports-page .reports-hero__meta {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.teacher-reports-page .reports-metric-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.95rem;
    border: 1px solid rgba(130, 149, 189, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--reports-ink);
    font-size: 0.78rem;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.teacher-reports-page .reports-metric-pill i {
    color: #4f68d8;
}

.teacher-reports-page .reports-metric-pill--danger {
    border-color: rgba(248, 113, 113, 0.32);
    background: rgba(255, 244, 244, 0.92);
}

.teacher-reports-page .reports-metric-pill--danger i {
    color: #dc2626;
}

.teacher-reports-page .reports-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.teacher-reports-page .reports-action-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 184px;
    padding: 1.35rem 1.4rem;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.teacher-reports-page .reports-action-card:hover {
    transform: translateY(-2px);
    border-color: var(--reports-line-strong);
    box-shadow: 0 24px 44px rgba(15, 23, 42, 0.11);
}

.teacher-reports-page .reports-action-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 18px;
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
    flex-shrink: 0;
}

.teacher-reports-page .reports-action-card__icon--amber {
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}

.teacher-reports-page .reports-action-card__icon--green {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}

.teacher-reports-page .reports-action-card__body {
    min-width: 0;
}

.teacher-reports-page .reports-action-card__eyebrow {
    margin-bottom: 0.35rem;
    color: var(--reports-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.teacher-reports-page .reports-action-card__title {
    color: var(--reports-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.08;
}

.teacher-reports-page .reports-action-card__text {
    margin-top: 0.5rem;
    color: var(--reports-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.teacher-reports-page .reports-action-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.9rem;
    color: var(--reports-primary);
    font-size: 0.78rem;
    font-weight: 700;
}

.teacher-reports-page .reports-section-card {
    border: 1px solid var(--reports-line) !important;
}

.teacher-reports-page .reports-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.teacher-reports-page .reports-chip-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.teacher-reports-page .reports-chip-links .btn,
.teacher-reports-page .report-signal-tools .btn,
.teacher-reports-page .report-signal-preview-actions .btn,
.teacher-reports-page .report-signal-footer-link .btn,
.teacher-reports-page .reports-export-card .btn {
    border-radius: 999px;
    padding-inline: 1rem;
}

.teacher-reports-page .report-signal-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.teacher-reports-page .report-signal-header.compact {
    margin-bottom: 0.85rem;
}

.teacher-reports-page .report-signal-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
    align-items: center;
}

.teacher-reports-page .report-signal-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(130, 149, 189, 0.24);
    background: rgba(255, 255, 255, 0.84);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--reports-ink);
}

.teacher-reports-page .report-signal-pill.danger {
    background: rgba(255, 244, 244, 0.92);
    border-color: rgba(248, 113, 113, 0.28);
}

.teacher-reports-page .report-signal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.85rem;
}

.teacher-reports-page .report-signal-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 0.7rem;
}

.teacher-reports-page .report-signal-preview {
    border: 1px solid rgba(130, 149, 189, 0.2);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(249, 251, 255, 0.97) 100%);
    padding: 0.95rem;
    display: grid;
    gap: 0.7rem;
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.05);
}

.teacher-reports-page .report-signal-preview.compact {
    padding: 0.85rem;
    gap: 0.55rem;
    min-height: 0;
}

.teacher-reports-page .report-signal-preview-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}

.teacher-reports-page .report-signal-preview-head.compact {
    gap: 0.5rem;
}

.teacher-reports-page .report-signal-preview-title {
    font-weight: 700;
    color: var(--reports-ink);
}

.teacher-reports-page .report-signal-preview-subtitle {
    margin-top: 0.2rem;
    font-size: 0.72rem;
    color: var(--reports-muted);
}

.teacher-reports-page .report-signal-preview-copy {
    font-size: 0.78rem;
    line-height: 1.45;
    color: #334155;
}

.teacher-reports-page .report-signal-preview-copy.compact {
    font-size: 0.75rem;
    line-height: 1.4;
}

.teacher-reports-page .report-signal-preview-meta {
    display: grid;
    gap: 0.3rem;
    font-size: 0.7rem;
    color: var(--reports-muted);
}

.teacher-reports-page .report-signal-preview-meta.compact {
    gap: 0;
    font-size: 0.68rem;
}

.teacher-reports-page .report-signal-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.teacher-reports-page .report-signal-preview-actions.compact {
    margin-top: 0.15rem;
    gap: 0.4rem;
}

.teacher-reports-page .report-signal-footer-link {
    margin-top: 0.7rem;
}

.teacher-reports-page .report-signal-empty {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px dashed rgba(130, 149, 189, 0.35);
    border-radius: 18px;
    background: rgba(251, 253, 255, 0.92);
    color: var(--reports-ink);
}

.teacher-reports-page .report-signal-empty.compact {
    padding: 0.9rem;
}

.teacher-reports-page .report-signal-empty i {
    color: #16a34a;
    margin-top: 0.15rem;
}

.teacher-reports-page .reports-table-card__header {
    background:
        radial-gradient(circle at top right, rgba(63, 94, 251, 0.08), transparent 42%),
        linear-gradient(135deg, rgba(239, 246, 255, 0.95), rgba(247, 244, 255, 0.96)) !important;
}

.teacher-reports-page .reports-table-card__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.teacher-reports-page .reports-table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(243, 247, 255, 0.72);
    --bs-table-hover-bg: rgba(236, 242, 255, 0.9);
    margin: 0;
}

.teacher-reports-page .reports-table thead th {
    border-bottom: 1px solid rgba(130, 149, 189, 0.22);
    color: var(--reports-muted);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.teacher-reports-page .reports-table tbody td {
    vertical-align: middle;
    border-color: rgba(130, 149, 189, 0.16);
    font-size: 0.82rem;
}

.teacher-reports-page .reports-export-card__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 980px) {
    .teacher-reports-page .reports-action-grid {
        grid-template-columns: 1fr;
    }

    .teacher-reports-page .report-signal-header {
        flex-direction: column;
    }

    .teacher-reports-page .report-signal-tools {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .teacher-reports-page .reports-hero,
    .teacher-reports-page .reports-action-card,
    .teacher-reports-page .reports-export-card__body {
        align-items: flex-start;
    }

    .teacher-reports-page .reports-action-card {
        flex-direction: column;
        min-height: 0;
    }

    .teacher-reports-page .reports-action-card__title {
        font-size: 1.24rem;
    }
}
/* ===== teacher-reports-page END ===== */

/* ===== teacher-help-mission-results-page START ===== */
.teacher-help-mission-results-page .help-mission-breakdown {
    display: grid;
    gap: 0.9rem;
}
.teacher-help-mission-results-page .help-mission-answer-card {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 1rem;
    background: #fff;
}
/* ===== teacher-help-mission-results-page END ===== */

/* ===== teacher-copilot-library-page START ===== */
.teacher-copilot-library-page .copilot-lib-bulkbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.teacher-copilot-library-page .copilot-lib-groups {
    display: grid;
    gap: 1.25rem;
}

.teacher-copilot-library-page .copilot-lib-group {
    display: grid;
    gap: 0.85rem;
}

.teacher-copilot-library-page .copilot-lib-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.teacher-copilot-library-page .copilot-lib-group-title {
    font-weight: 800;
    font-size: 1rem;
    color: #0f172a;
}

.teacher-copilot-library-page .copilot-lib-group-count {
    font-size: 0.85rem;
    color: #64748b;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
}

.teacher-copilot-library-page .copilot-doc-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.teacher-copilot-library-page .copilot-doc-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.teacher-copilot-library-page .copilot-doc-check,
.teacher-copilot-library-page .copilot-doc-check-placeholder {
    width: 1.5rem;
    min-width: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

.teacher-copilot-library-page .copilot-doc-check {
    cursor: pointer;
}

.teacher-copilot-library-page .copilot-doc-select {
    cursor: pointer;
}

@media (max-width: 768px) {.teacher-copilot-library-page .copilot-lib-bulkbar,
    .teacher-copilot-library-page .copilot-lib-group-head {
        flex-direction: column;
        align-items: stretch;
    }

    .teacher-copilot-library-page .copilot-doc-right {
        justify-content: space-between;
    }
}
/* ===== teacher-copilot-library-page END ===== */

/* ===== teacher-interventions-page START ===== */
.teacher-interventions-page .signal-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}
.teacher-interventions-page .signal-preset-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    color: var(--gray-700);
    background: #fff;
    text-decoration: none;
    font-weight: 600;
}
.teacher-interventions-page .signal-preset-chip:hover,
.teacher-interventions-page .signal-preset-chip:focus {
    color: var(--primary-color);
    border-color: rgba(var(--primary-rgb), 0.35);
    background: rgba(var(--primary-rgb), 0.05);
}
.teacher-interventions-page .signal-preset-chip.active {
    color: var(--primary-color);
    border-color: rgba(var(--primary-rgb), 0.4);
    background: rgba(var(--primary-rgb), 0.08);
    box-shadow: inset 0 0 0 1px rgba(var(--primary-rgb), 0.12);
}
.teacher-interventions-page .signal-preset-count {
    min-width: 1.75rem;
    text-align: center;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 0.82rem;
}
.teacher-interventions-page .signal-sections {
    display: grid;
    gap: 0.9rem;
    padding: 0.9rem;
}
.teacher-interventions-page .signal-section {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}
.teacher-interventions-page .signal-section > summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 1rem 0.95rem;
}
.teacher-interventions-page .signal-section > summary::-webkit-details-marker {
    display: none;
}
.teacher-interventions-page .signal-section-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}
.teacher-interventions-page .signal-section-title {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--gray-900);
}
.teacher-interventions-page .signal-section-subtitle {
    margin-top: 0.2rem;
    font-size: 0.84rem;
    color: var(--gray-500);
}
.teacher-interventions-page .signal-section-count {
    min-width: 2.25rem;
    text-align: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--border-color);
    font-weight: 700;
    color: var(--gray-700);
}
.teacher-interventions-page .signal-section-body {
    border-top: 1px solid var(--border-color);
    padding: 0.95rem;
}
.teacher-interventions-page .signal-empty-state {
    padding: 0.6rem 0.2rem;
    color: var(--gray-500);
}
.teacher-interventions-page .signal-group-heading {
    margin: 0.25rem 0 0.55rem;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gray-500);
}
.teacher-interventions-page .intervention-list.compact {
    display: grid;
    gap: 0.75rem;
}
.teacher-interventions-page .intervention-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.teacher-interventions-page .intervention-list-subtitle {
    margin-top: 0.2rem;
    font-size: 0.82rem;
    color: var(--gray-500);
}
.teacher-interventions-page .intervention-row {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background:
        radial-gradient(circle at top right, rgba(var(--primary-rgb), 0.09), transparent 28%),
        linear-gradient(180deg, #ffffff, #fbfcff 78%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.teacher-interventions-page .intervention-row-main {
    padding: 0.95rem;
}
.teacher-interventions-page .intervention-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.teacher-interventions-page .intervention-head.compact {
    margin-bottom: 0.75rem;
}
.teacher-interventions-page .intervention-target {
    font-weight: 700;
    font-size: 1rem;
}
.teacher-interventions-page .intervention-submeta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.3rem;
    color: var(--gray-500);
    font-size: 0.79rem;
}
.teacher-interventions-page .intervention-rank {
    min-width: 3rem;
    text-align: center;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-weight: 700;
}
.teacher-interventions-page .intervention-brief {
    margin-bottom: 0.85rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.18);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.11), rgba(99, 102, 241, 0.05) 45%, rgba(255, 255, 255, 0.95));
}
.teacher-interventions-page .intervention-brief-kicker {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(var(--primary-rgb), 0.9);
    margin-bottom: 0.3rem;
}
.teacher-interventions-page .intervention-brief-copy {
    font-size: 0.98rem;
    line-height: 1.5;
    color: var(--gray-900);
    font-weight: 600;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.teacher-interventions-page .intervention-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.teacher-interventions-page .intervention-snapshot {
    min-width: 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
}
.teacher-interventions-page .intervention-snapshot-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gray-500);
}
.teacher-interventions-page .intervention-snapshot-value {
    display: block;
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--gray-800);
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.teacher-interventions-page .intervention-casefile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.teacher-interventions-page .intervention-casefile-card {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
}
.teacher-interventions-page .intervention-casefile-card.is-primary {
    border-color: rgba(var(--primary-rgb), 0.32);
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.12), rgba(224, 231, 255, 0.65) 48%, rgba(255, 255, 255, 0.98));
}
.teacher-interventions-page .intervention-casefile-card.is-support {
    border-color: rgba(16, 185, 129, 0.24);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(236, 253, 245, 0.92) 52%, rgba(255, 255, 255, 0.98));
}
.teacher-interventions-page .intervention-casefile-card.is-action {
    border-color: rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.16), rgba(255, 247, 237, 0.95) 50%, rgba(255, 255, 255, 0.98));
}
.teacher-interventions-page .intervention-casefile-card.is-review {
    border-color: rgba(59, 130, 246, 0.22);
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.10), rgba(239, 246, 255, 0.94) 54%, rgba(255, 255, 255, 0.98));
}
.teacher-interventions-page .intervention-casefile-grid .intervention-copy {
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}
.teacher-interventions-page .intervention-casefile-note {
    margin-top: 0.55rem;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--gray-600);
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.teacher-interventions-page .intervention-readmore {
    margin-top: 0.65rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}
.teacher-interventions-page .intervention-readmore:hover,
.teacher-interventions-page .intervention-readmore:focus {
    color: #312e81;
    text-decoration: underline;
}
.teacher-interventions-page .intervention-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--gray-500);
    margin-bottom: 0.2rem;
}
.teacher-interventions-page .intervention-copy {
    font-size: 0.89rem;
    line-height: 1.45;
    color: var(--gray-800);
}
.teacher-interventions-page .intervention-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.teacher-interventions-page .intervention-actions.compact {
    align-items: center;
}
.teacher-interventions-page .intervention-actions.tertiary {
    margin-top: 0.8rem;
}
.teacher-interventions-page .intervention-detail {
    border-top: 1px solid var(--border-color);
    padding: 0.75rem 0.95rem 0.95rem;
}
.teacher-interventions-page .intervention-detail summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--gray-700);
    font-size: 0.9rem;
}
.teacher-interventions-page .intervention-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr);
    gap: 0.95rem;
    margin-top: 0.85rem;
}
.teacher-interventions-page .intervention-detail-stack {
    display: grid;
    gap: 0.95rem;
}
.teacher-interventions-page .intervention-lifecycle-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.75rem;
}
.teacher-interventions-page .intervention-summary-card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.85rem;
    background: #f8fafc;
}
.teacher-interventions-page .intervention-modal[hidden] {
    display: none;
}
.teacher-interventions-page .intervention-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}
.teacher-interventions-page .intervention-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
}
.teacher-interventions-page .intervention-modal-dialog {
    position: relative;
    width: min(720px, 100%);
    max-height: min(80vh, 860px);
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}
.teacher-interventions-page .intervention-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}
.teacher-interventions-page .intervention-modal-title {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--gray-900);
}
.teacher-interventions-page .intervention-modal-close {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    color: var(--gray-700);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
}
.teacher-interventions-page .intervention-modal-body {
    padding: 1rem 1.1rem 1.15rem;
    max-height: calc(80vh - 72px);
    overflow: auto;
    white-space: pre-wrap;
    font-size: 0.94rem;
    line-height: 1.65;
    color: var(--gray-800);
}
.teacher-interventions-page .intervention-mini-list {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.75rem;
    font-size: 0.84rem;
    color: var(--gray-700);
}
@media (max-width: 920px) {.teacher-interventions-page .intervention-list-header,
    .teacher-interventions-page .signal-section-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .teacher-interventions-page .intervention-head {
        flex-direction: column;
    }
    .teacher-interventions-page .intervention-rank {
        min-width: 0;
    }
    .teacher-interventions-page .intervention-detail-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== teacher-interventions-page END ===== */

/* ===== teacher-exam-view-page START ===== */
.teacher-exam-view-page .live-sen-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.teacher-exam-view-page .live-sen-stat {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: #f8fafc;
}
.teacher-exam-view-page .live-sen-stat-value {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
}
.teacher-exam-view-page .live-sen-stat-label {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin-top: 0.2rem;
}
/* ===== teacher-exam-view-page END ===== */

/* ===== teacher-copilot-ao-panel-page START ===== */
.teacher-copilot-ao-panel-page .ao-panel-heatmap-wrap {
    max-height: 72vh;
    overflow: auto;
}
.teacher-copilot-ao-panel-page .ao-panel-intro-body {
    padding: 1.1rem 1.2rem;
}
.teacher-copilot-ao-panel-page .ao-panel-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1rem 1.25rem;
    align-items: start;
}
.teacher-copilot-ao-panel-page .ao-panel-intro-main {
    max-width: 760px;
}
.teacher-copilot-ao-panel-page .ao-panel-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--gray-500);
    font-weight: 600;
    margin-bottom: 0.45rem;
}
.teacher-copilot-ao-panel-page .ao-panel-intro-title {
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
    line-height: 1.32;
    font-weight: 600;
    color: var(--gray-800);
}
.teacher-copilot-ao-panel-page .ao-panel-intro-copy {
    margin: 0 0 0.85rem;
    max-width: 58rem;
    font-size: 0.95rem;
    line-height: 1.62;
    color: var(--gray-600);
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-grid,
.teacher-copilot-ao-panel-page .ao-priority-grid,
.teacher-copilot-ao-panel-page .ao-glossary-grid,
.teacher-copilot-ao-panel-page .ao-cell-drawer-grid {
    display: grid;
    gap: 1rem;
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-grid,
.teacher-copilot-ao-panel-page .ao-cell-drawer-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.teacher-copilot-ao-panel-page .ao-priority-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.teacher-copilot-ao-panel-page .ao-glossary-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-item,
.teacher-copilot-ao-panel-page .ao-priority-card,
.teacher-copilot-ao-panel-page .ao-glossary-card,
.teacher-copilot-ao-panel-page .ao-panel-context-card {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.68);
    padding: 0.75rem 0.82rem;
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-item {
    display: grid;
    gap: 0.2rem;
    min-height: 0;
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-item strong {
    font-size: 0.84rem;
    line-height: 1.3;
    font-weight: 600;
    color: var(--gray-800);
}
.teacher-copilot-ao-panel-page .ao-panel-explainer-item span {
    font-size: 0.84rem;
    line-height: 1.55;
    color: var(--gray-600);
}
.teacher-copilot-ao-panel-page .ao-priority-card.risk-red {
    border-color: #fecaca;
    background: rgba(254, 242, 242, 0.9);
}
.teacher-copilot-ao-panel-page .ao-priority-card.risk-amber {
    border-color: #fde68a;
    background: rgba(255, 251, 235, 0.94);
}
.teacher-copilot-ao-panel-page .ao-priority-card.risk-green {
    border-color: #bbf7d0;
    background: rgba(240, 253, 244, 0.92);
}
.teacher-copilot-ao-panel-page .ao-priority-card {
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.teacher-copilot-ao-panel-page .ao-priority-card:hover,
.teacher-copilot-ao-panel-page .ao-priority-card:focus {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}
.teacher-copilot-ao-panel-page .ao-priority-card.is-active {
    border-color: #4f46e5;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.16);
}
.teacher-copilot-ao-panel-page .ao-priority-code {
    font-size: 0.69rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gray-500);
    font-weight: 700;
}
.teacher-copilot-ao-panel-page .ao-priority-card h6,
.teacher-copilot-ao-panel-page .ao-glossary-card h6 {
    font-size: 0.92rem;
    line-height: 1.22;
    font-weight: 600;
}
.teacher-copilot-ao-panel-page .ao-priority-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    font-size: 0.73rem;
    color: var(--gray-500);
    margin-bottom: 0.45rem;
}
.teacher-copilot-ao-panel-page .ao-priority-action {
    font-size: 0.79rem;
    color: var(--gray-700);
    font-weight: 550;
}
.teacher-copilot-ao-panel-page .ao-priority-footer {
    margin-top: 0.6rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.74rem;
    color: var(--gray-500);
}
.teacher-copilot-ao-panel-page .ao-priority-focus {
    margin-top: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.9rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
}
.teacher-copilot-ao-panel-page .ao-priority-route-note {
    margin-top: 0.85rem;
    margin-bottom: 0.1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(238,242,255,0.82), rgba(248,250,252,0.96));
    color: var(--gray-600);
    font-size: 0.82rem;
    line-height: 1.5;
}
.teacher-copilot-ao-panel-page .ao-priority-status-strip {
    margin-top: 0.75rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.03);
    border: 1px solid rgba(148, 163, 184, 0.18);
}
.teacher-copilot-ao-panel-page .ao-priority-student-list {
    display: grid;
    gap: 0.65rem;
}
.teacher-copilot-ao-panel-page .ao-priority-student {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: rgba(255,255,255,0.9);
}
.teacher-copilot-ao-panel-page .ao-priority-student-main {
    min-width: 0;
    flex: 1 1 auto;
}
.teacher-copilot-ao-panel-page .ao-priority-student-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    flex: 0 0 auto;
}
.teacher-copilot-ao-panel-page .ao-priority-student-meta {
    font-size: 0.78rem;
    color: var(--gray-500);
}
.teacher-copilot-ao-panel-page .ao-priority-student-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn {
    border-radius: 999px;
    padding-inline: 0.72rem;
}
.teacher-copilot-ao-panel-page .ao-sort-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.teacher-copilot-ao-panel-page .ao-sort-button:hover {
    color: var(--primary);
}
.teacher-copilot-ao-panel-page .ao-sort-button:focus-visible {
    outline: 2px solid rgba(79, 70, 229, 0.28);
    outline-offset: 2px;
    border-radius: 6px;
}
.teacher-copilot-ao-panel-page .ao-sort-indicator {
    min-width: 0.9rem;
    color: var(--gray-400);
    font-size: 0.72rem;
    line-height: 1;
}
.teacher-copilot-ao-panel-page .ao-sort-button.is-active .ao-sort-indicator {
    color: var(--primary);
}
.teacher-copilot-ao-panel-page .ao-example-list {
    margin: 0;
    padding-left: 1rem;
    color: var(--gray-600);
    font-size: 0.78rem;
    line-height: 1.45;
}
.teacher-copilot-ao-panel-page .ao-example-list li + li {
    margin-top: 0.2rem;
}
.teacher-copilot-ao-panel-page .ao-legend-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.74rem;
    font-weight: 500;
}
.teacher-copilot-ao-panel-page .ao-legend-chip.is-red {
    background: #fee2e2;
    border-color: #fecaca;
    color: #991b1b;
}
.teacher-copilot-ao-panel-page .ao-legend-chip.is-amber {
    background: #fef3c7;
    border-color: #fde68a;
    color: #92400e;
}
.teacher-copilot-ao-panel-page .ao-legend-chip.is-green {
    background: #dcfce7;
    border-color: #bbf7d0;
    color: #14532d;
}
.teacher-copilot-ao-panel-page .ao-glossary-card.is-highlighted {
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.16);
}
.teacher-copilot-ao-panel-page .ao-glossary-card p,
.teacher-copilot-ao-panel-page .ao-priority-card p {
    font-size: 0.8rem;
    line-height: 1.48;
}
.teacher-copilot-ao-panel-page .ao-panel-context-card {
    display: grid;
    gap: 0.42rem;
    padding: 0.72rem 0.8rem;
    background: rgba(248, 250, 252, 0.55);
}
.teacher-copilot-ao-panel-page .ao-panel-context-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
    padding: 0.06rem 0;
}
.teacher-copilot-ao-panel-page .ao-panel-context-label {
    font-size: 0.73rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gray-500);
    font-weight: 600;
}
.teacher-copilot-ao-panel-page .ao-panel-context-value {
    font-size: 0.89rem;
    color: var(--gray-800);
    font-weight: 500;
    text-align: right;
}
.teacher-copilot-ao-panel-page .ao-panel-heatmap .sticky-col {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
}
.teacher-copilot-ao-panel-page .ao-panel-heatmap thead .sticky-col {
    z-index: 3;
}
.teacher-copilot-ao-panel-page .ao-heat-chip {
    display: inline-block;
    min-width: 60px;
    padding: .18rem .45rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.2;
    border: 1px solid transparent;
}
.teacher-copilot-ao-panel-page .ao-heat-chip-button {
    cursor: pointer;
}
.teacher-copilot-ao-panel-page .ao-heat-chip.heat-red {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}
.teacher-copilot-ao-panel-page .ao-heat-chip.heat-amber {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.teacher-copilot-ao-panel-page .ao-heat-chip.heat-green {
    background: #dcfce7;
    color: #14532d;
    border-color: #bbf7d0;
}
.teacher-copilot-ao-panel-page .ao-heat-chip.heat-none {
    background: #f1f5f9;
    color: #64748b;
    border-color: #e2e8f0;
}

/* Clickable stat cards */
.teacher-copilot-ao-panel-page .ao-stat-clickable {
    cursor: pointer;
    transition: transform .15s, box-shadow .15s;
    user-select: none;
}
.teacher-copilot-ao-panel-page .ao-stat-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.teacher-copilot-ao-panel-page .ao-stat-clickable.active {
    box-shadow: 0 0 0 2px #4f46e5;
    transform: translateY(-2px);
}
.teacher-copilot-ao-panel-page .ao-stat-clickable .ao-chev {
    font-size: .6rem;
    transition: transform .2s;
    opacity: .5;
}
.teacher-copilot-ao-panel-page .ao-stat-clickable.active .ao-chev {
    transform: rotate(180deg);
    opacity: 1;
}

.teacher-copilot-ao-panel-page .ao-red-cell-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn {
    border-radius: 999px;
}

.teacher-copilot-ao-panel-page .ao-red-cell-note {
    margin-top: 0.5rem;
    font-size: 0.76rem;
    color: var(--gray-500);
    line-height: 1.35;
}

/* Detail panels */
.teacher-copilot-ao-panel-page .ao-detail-panel {
    margin-top: .75rem;
    margin-bottom: .25rem;
    animation: aoSlideDown .25s ease-out;
}
.teacher-copilot-ao-panel-page .ao-cell-drawer {
    margin-top: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.9rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
}
.teacher-copilot-ao-panel-page .ao-cell-drawer-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}
.teacher-copilot-ao-panel-page .ao-cell-section-title {
    font-size: 0.71rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gray-500);
    font-weight: 700;
    margin-bottom: 0.45rem;
}
.teacher-copilot-ao-panel-page .ao-cell-question-list {
    display: grid;
    gap: 0.6rem;
}
.teacher-copilot-ao-panel-page .ao-cell-question-item {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 0.72rem 0.8rem;
    background: rgba(255,255,255,0.9);
}
.teacher-copilot-ao-panel-page .ao-cell-question-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
    font-size: 0.74rem;
    color: var(--gray-500);
    margin-top: 0.35rem;
}
.teacher-copilot-ao-panel-page [data-ao-column].is-highlighted {
    background: rgba(79, 70, 229, 0.07);
}
.teacher-copilot-ao-panel-page [data-ao-column-head].is-highlighted {
    background: rgba(79, 70, 229, 0.08);
    box-shadow: inset 0 -2px 0 rgba(79, 70, 229, 0.28);
}
@media (max-width: 991.98px) {.teacher-copilot-ao-panel-page .ao-panel-intro-layout {
        grid-template-columns: 1fr;
    }
    .teacher-copilot-ao-panel-page .ao-panel-context-card {
        max-width: 100%;
    }
    .teacher-copilot-ao-panel-page .ao-priority-student {
        flex-direction: column;
        align-items: stretch;
    }
    .teacher-copilot-ao-panel-page .ao-priority-student-side {
        align-items: stretch;
    }
    .teacher-copilot-ao-panel-page .ao-priority-student-actions {
        justify-content: flex-start;
    }
}
@keyframes aoSlideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
/* ===== copilot AO source cleanup pass START ===== */
.teacher-copilot-ao-panel-page .ao-panel-filter-card,
.teacher-copilot-ao-panel-page .ao-chart-row {
    margin-bottom: 1rem;
}
.teacher-copilot-ao-panel-page .ao-panel-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    align-items: end;
}
.teacher-copilot-ao-panel-page .ao-panel-filter-field {
    margin-bottom: 0;
}
.teacher-copilot-ao-panel-page .ao-panel-summary-stats {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-bottom: 0;
}
.teacher-copilot-ao-panel-page .ao-detail-panel--hidden {
    display: none;
}
.teacher-copilot-ao-panel-page .ao-cell-summary {
    padding: 0.5rem;
    border-radius: 8px;
    text-align: center;
}
.teacher-copilot-ao-panel-page .ao-cell-summary--green {
    background: #dcfce7;
}
.teacher-copilot-ao-panel-page .ao-cell-summary--amber {
    background: #fef3c7;
}
.teacher-copilot-ao-panel-page .ao-cell-summary--red {
    background: #fee2e2;
}
.teacher-copilot-ao-panel-page .ao-cell-summary-value {
    font-size: 1.3rem;
    font-weight: 700;
}
.teacher-copilot-ao-panel-page .ao-detail-scroll {
    max-height: 260px;
    overflow-y: auto;
}
.teacher-copilot-ao-panel-page .ao-detail-scroll--tall {
    max-height: 300px;
}
.teacher-copilot-ao-panel-page .ao-red-cell-list {
    max-height: 150px;
    overflow-y: auto;
}
.teacher-copilot-ao-panel-page .ao-red-cell-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.82rem;
}
.teacher-copilot-ao-panel-page .ao-red-cell-student-link {
    max-width: 65%;
}
.teacher-copilot-ao-panel-page .ao-heat-chip--compact {
    min-width: 55px;
    font-size: 0.72rem;
    padding: 0.15rem 0.35rem;
}
.teacher-copilot-ao-panel-page .ao-distribution-bar {
    display: flex;
    height: 18px;
    border-radius: 9px;
    overflow: hidden;
    background: #e9ecef;
}
.teacher-copilot-ao-panel-page .ao-distribution-segment--green {
    background: #22c55e;
}
.teacher-copilot-ao-panel-page .ao-distribution-segment--amber {
    background: #f59e0b;
}
.teacher-copilot-ao-panel-page .ao-distribution-segment--red {
    background: #ef4444;
}
.teacher-copilot-ao-panel-page .ao-muted-inline {
    color: var(--gray-500);
    font-size: 0.82rem;
}
.teacher-copilot-ao-panel-page .ao-section-spacer {
    margin-bottom: 1rem;
}
.teacher-copilot-ao-panel-page .ao-heat-search {
    width: 220px;
}
.teacher-copilot-ao-panel-page .ao-heat-sort {
    width: 180px;
}
.teacher-copilot-ao-panel-page .ao-table-col--student {
    min-width: 230px;
}
.teacher-copilot-ao-panel-page .ao-table-col--ao {
    min-width: 95px;
}
.teacher-copilot-ao-panel-page .ao-table-col--overall {
    width: 90px;
    min-width: 90px;
}
.teacher-copilot-ao-panel-page .ao-table-col--count {
    width: 70px;
    min-width: 70px;
}
.teacher-copilot-ao-panel-page .ao-table-col--distribution {
    min-width: 150px;
}
.teacher-copilot-ao-panel-page .ao-table-col--sort-metric {
    width: 120px;
}
.teacher-copilot-ao-panel-page .ao-table-col--route {
    width: 180px;
}
/* ===== copilot AO source cleanup pass END ===== */
/* ===== teacher-copilot-ao-panel-page END ===== */

/* ===== teacher-copilot-builder-page START ===== */
.teacher-copilot-builder-page .cp-builder-shell {
    --builder-ink: #142544;
    --builder-muted: #5d7192;
    --builder-line: rgba(67, 97, 168, 0.14);
    --builder-panel: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,255,0.96));
    --builder-accent: #4361ee;
    --builder-accent-soft: rgba(67, 97, 238, 0.10);
    --builder-success: #198754;
    --builder-warm: #f59e0b;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-bar,
.teacher-copilot-builder-page .cp-builder-shell .builder-command-deck {
    display: none !important;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-workflow-shell {
    display: block !important;
    margin-bottom: 1rem;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.7rem;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    min-height: 74px;
    padding: 0.92rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(67, 97, 168, 0.14);
    background: rgba(255,255,255,0.92);
    color: var(--builder-muted);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step .num {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(67, 97, 238, 0.1);
    color: var(--builder-accent);
    font-size: 0.84rem;
    font-weight: 800;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step .label {
    display: block;
    color: var(--builder-ink);
    font-size: 0.94rem;
    font-weight: 700;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step .marking-desk-step-meta {
    display: block;
    margin-top: 0.14rem;
    font-size: 0.75rem;
    line-height: 1.35;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step.is-active {
    border-color: rgba(39, 71, 203, 0.24);
    background: linear-gradient(135deg, rgba(67, 97, 238, 0.11), rgba(255,255,255,0.98));
    box-shadow: 0 18px 36px rgba(39, 71, 203, 0.12);
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step.is-complete {
    border-color: rgba(25, 135, 84, 0.16);
    background: rgba(241, 250, 246, 0.98);
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step.is-complete .num {
    background: var(--builder-success);
    color: #fff;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-step.is-blocked {
    opacity: 0.62;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-stage-message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(67, 97, 168, 0.12);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,249,255,0.94));
    color: var(--builder-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-actions .btn {
    border-radius: 16px;
    padding: 0.82rem 1rem;
    font-weight: 700;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-deck {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card {
    border: 1px solid var(--builder-line);
    border-radius: 26px;
    background: var(--builder-panel);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
    padding: 1.15rem 1.2rem;
    min-height: 172px;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--hero {
    background:
        radial-gradient(circle at top left, rgba(67, 97, 238, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(239,245,255,0.94));
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(23, 39, 78, 0.98));
    color: #fff;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-kicker,
.teacher-copilot-builder-page .cp-builder-shell .builder-command-label {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-kicker {
    color: var(--builder-accent);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-label {
    color: var(--builder-muted);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action .builder-command-label,
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action .builder-command-note {
    color: rgba(255,255,255,0.78);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-title {
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.08;
    color: var(--builder-ink);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action .builder-command-title,
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action .builder-command-value {
    color: #fff;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-copy,
.teacher-copilot-builder-page .cp-builder-shell .builder-command-note {
    margin: 0;
    color: var(--builder-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: auto;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--builder-ink);
    background: rgba(67, 97, 238, 0.09);
    border: 1px solid rgba(67, 97, 238, 0.14);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-value {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.15;
    color: var(--builder-ink);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card .btn {
    margin-top: auto;
    border-radius: 16px;
    padding: 0.82rem 1rem;
    font-weight: 700;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-command-card--action .btn-primary {
    background: #fff;
    border-color: #fff;
    color: #142544;
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-studio {
    display: grid;
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-pane .card {
    border: 1px solid var(--builder-line);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

/* Marking/Coursework assistants should grow with their content, not create inner pane scrollbars. */
.marking-desk .coursework-v3-body {
    min-height: 0;
    height: auto;
    overflow: visible;
}

.marking-desk .coursework-v3-grid.marking-desk-grid {
    min-height: 0;
    height: auto;
    align-items: start;
}

.marking-desk .coursework-v3-left,
.marking-desk .coursework-v3-right,
.marking-desk .marking-desk-review-rail {
    max-height: none;
    height: auto;
    overflow: visible;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-form-card,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .copilot-form-card,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .copilot-form-card {
    height: auto;
    min-height: 0;
    max-height: none;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-form-card .card-body,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .copilot-form-card .card-body,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .copilot-form-card .card-body {
    flex: 0 1 auto;
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-form-card .card-header,
.teacher-copilot-builder-page .cp-builder-shell .copilot-editor-card .card-header {
    background: linear-gradient(180deg, rgba(248,250,255,0.98), rgba(240,245,255,0.96));
    border-bottom: 1px solid rgba(67, 97, 168, 0.12);
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-form-card .card-title,
.teacher-copilot-builder-page .cp-builder-shell .copilot-editor-card .card-title {
    color: var(--builder-ink);
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-scroll {
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,250,255,0.92));
}
.teacher-copilot-builder-page .cp-builder-shell #builderTabs {
    display: none;
}
.teacher-copilot-builder-page .cp-builder-shell #builderTabs .nav-link {
    border-radius: 16px;
    padding: 0.72rem 1rem;
    font-weight: 700;
    color: var(--builder-muted);
    background: rgba(67, 97, 238, 0.05);
}
.teacher-copilot-builder-page .cp-builder-shell #builderTabs .nav-link.active {
    color: #fff;
    background: linear-gradient(135deg, #4361ee, #2747cb);
    box-shadow: 0 14px 28px rgba(67, 97, 238, 0.24);
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-actions {
    background: linear-gradient(180deg, rgba(248,250,255,0.95), rgba(242,246,255,0.92));
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap {
    padding: 1.2rem 1.25rem 0.2rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,255,0.94));
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-kicker {
    margin-bottom: 0.4rem;
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--builder-accent);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap h3 {
    margin: 0 0 0.35rem;
    color: var(--builder-ink);
    font-size: 1.1rem;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap p {
    margin: 0 0 1rem;
    color: var(--builder-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
    margin: 0;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-list div {
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(67, 97, 168, 0.12);
    border-radius: 18px;
    background: rgba(255,255,255,0.9);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-list dt {
    margin: 0 0 0.2rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--builder-muted);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-list dd {
    margin: 0;
    color: var(--builder-ink);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details {
    margin-top: 1rem;
    border: 1px solid rgba(67, 97, 168, 0.12);
    border-radius: 20px;
    background: rgba(248, 250, 255, 0.8);
    overflow: hidden;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage1-advanced-shell {
    padding: 0 1rem 1rem;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-stage1-advanced-shell .builder-advanced-details {
    margin-top: 0;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details > summary {
    list-style: none;
    cursor: pointer;
    padding: 0.95rem 1rem;
    font-weight: 700;
    color: var(--builder-ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details > summary::-webkit-details-marker {
    display: none;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details > summary::after {
    content: '+';
    font-size: 1.1rem;
    color: var(--builder-accent);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details[open] > summary::after {
    content: '−';
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-details-body {
    padding: 0 1rem 1rem;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-card {
    border: 1px solid rgba(67, 97, 168, 0.12);
    border-radius: 20px;
    background: rgba(248, 250, 255, 0.8);
    overflow: visible;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0.95rem 1rem;
    font-weight: 700;
    color: var(--builder-ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-toggle-icon {
    font-size: 1.1rem;
    color: var(--builder-accent);
}
.teacher-copilot-builder-page .cp-builder-shell .builder-advanced-panel {
    padding: 0 1rem 1rem;
    max-height: min(72vh, 720px);
    overflow-y: auto;
    scrollbar-gutter: stable;
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-mode-note {
    padding: 0.95rem 1rem;
    border-radius: 20px;
    background: rgba(67, 97, 238, 0.06);
    border: 1px solid rgba(67, 97, 238, 0.11);
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-mode-label {
    color: var(--builder-accent);
}
.teacher-copilot-builder-page .cp-builder-shell .marking-desk-empty-review {
    border: 1px dashed rgba(67, 97, 238, 0.22);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,250,240,0.92));
    padding: 1.35rem;
}
.teacher-copilot-builder-page .cp-builder-shell .copilot-output-bar,
.teacher-copilot-builder-page .cp-builder-shell .copilot-outline-panel,
.teacher-copilot-builder-page .cp-builder-shell .copilot-raw-panel,
.teacher-copilot-builder-page .cp-builder-shell .copilot-render-panel,
.teacher-copilot-builder-page .cp-builder-shell .card-body > .border.rounded {
    border-radius: 20px !important;
    border-color: rgba(67, 97, 168, 0.12) !important;
}

.copilot-builder .slide-deck-review-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.8fr);
    gap: 1rem;
    align-items: start;
}

.copilot-slide-builder .copilot-studio {
    align-items: stretch;
}

.copilot-slide-builder .copilot-pane .card {
    height: 100%;
    min-height: 0;
}

.copilot-slide-builder .copilot-form-card {
    max-height: none;
    overflow: visible;
}

.copilot-slide-builder .copilot-form-card .card-body {
    display: flex;
    min-height: 0;
    max-height: none;
    overflow: visible;
    flex-direction: column;
}

.copilot-slide-builder .copilot-form-card .card-body > .d-grid {
    margin-right: -0.15rem;
    margin-left: -0.15rem;
    padding: 0.75rem 0.15rem 0.1rem;
}

.copilot-slide-builder .copilot-form-card .card-body > .d-grid .btn {
    min-height: 44px;
}

.copilot-slide-builder .slide-design-picker[hidden] {
    display: none !important;
}

.copilot-slide-builder .slide-design-preview {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    margin-top: 0.75rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.32), 0 10px 24px rgba(15, 23, 42, 0.06);
    transition-property: background, box-shadow;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.copilot-slide-builder .slide-design-preview__frame {
    position: relative;
    width: 118px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: #111827;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.copilot-slide-builder .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview__title,
.copilot-slide-builder .slide-design-preview__hero,
.copilot-slide-builder .slide-design-preview__card {
    position: absolute;
    display: block;
    border-radius: 4px;
}

.copilot-slide-builder .slide-design-preview__rail {
    left: 10px;
    top: 10px;
    width: 4px;
    height: 44px;
    background: #38bdf8;
}

.copilot-slide-builder .slide-design-preview__title {
    left: 20px;
    top: 11px;
    width: 58px;
    height: 8px;
    background: #e5e7eb;
}

.copilot-slide-builder .slide-design-preview__hero {
    right: 10px;
    top: 24px;
    width: 38px;
    height: 28px;
    background: #38bdf8;
}

.copilot-slide-builder .slide-design-preview__card {
    left: 20px;
    top: 30px;
    width: 44px;
    height: 8px;
    background: rgba(226, 232, 240, 0.72);
}

.copilot-slide-builder .slide-design-preview__card--short {
    top: 44px;
    width: 34px;
}

.copilot-slide-builder .slide-design-preview__name {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.2;
}

.copilot-slide-builder .slide-design-preview__meta {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.32;
    text-wrap: pretty;
}

.copilot-slide-builder .slide-design-preview[data-design="technical-workbench"] .slide-design-preview__frame {
    background: #1f2937;
}

.copilot-slide-builder .slide-design-preview[data-design="technical-workbench"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="technical-workbench"] .slide-design-preview__hero {
    background: #facc15;
}

.copilot-slide-builder .slide-design-preview[data-design="editorial-explainer"] .slide-design-preview__frame {
    background: #fff7ed;
}

.copilot-slide-builder .slide-design-preview[data-design="editorial-explainer"] .slide-design-preview__title {
    background: #111827;
}

.copilot-slide-builder .slide-design-preview[data-design="editorial-explainer"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="editorial-explainer"] .slide-design-preview__hero {
    background: #db2777;
}

.copilot-slide-builder .slide-design-preview[data-design="data-command-centre"] .slide-design-preview__frame {
    background: #020617;
}

.copilot-slide-builder .slide-design-preview[data-design="data-command-centre"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="data-command-centre"] .slide-design-preview__hero {
    background: #22c55e;
}

.copilot-slide-builder .slide-design-preview[data-design="field-notebook-lab"] .slide-design-preview__frame {
    background: #f0fdf4;
}

.copilot-slide-builder .slide-design-preview[data-design="field-notebook-lab"] .slide-design-preview__title {
    background: #14532d;
}

.copilot-slide-builder .slide-design-preview[data-design="field-notebook-lab"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="field-notebook-lab"] .slide-design-preview__hero {
    background: #0ea5e9;
}

.copilot-slide-builder .slide-design-preview[data-design="blueprint-studio"] .slide-design-preview__frame {
    background: #123c69;
}

.copilot-slide-builder .slide-design-preview[data-design="blueprint-studio"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="blueprint-studio"] .slide-design-preview__hero {
    background: #f97316;
}

.copilot-slide-builder .slide-design-preview[data-design="studio-critique-wall"] .slide-design-preview__frame {
    background: #f8fafc;
}

.copilot-slide-builder .slide-design-preview[data-design="studio-critique-wall"] .slide-design-preview__title {
    background: #111827;
}

.copilot-slide-builder .slide-design-preview[data-design="studio-critique-wall"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="studio-critique-wall"] .slide-design-preview__hero {
    background: #eab308;
}

.copilot-slide-builder .slide-design-preview[data-design="process-journey-map"] .slide-design-preview__frame {
    background: #ecfeff;
}

.copilot-slide-builder .slide-design-preview[data-design="process-journey-map"] .slide-design-preview__title {
    background: #164e63;
}

.copilot-slide-builder .slide-design-preview[data-design="process-journey-map"] .slide-design-preview__rail,
.copilot-slide-builder .slide-design-preview[data-design="process-journey-map"] .slide-design-preview__hero {
    background: #10b981;
}

.copilot-slide-builder .copilot-editor-card {
    min-height: calc(100vh - 178px);
    position: relative;
}

.copilot-slide-builder .copilot-editor-card .card-body {
    min-height: 0;
}

.copilot-builder #slideJobsPanel {
    position: absolute;
    top: 4.75rem;
    right: 1rem;
    width: min(460px, calc(100% - 2rem));
    max-height: min(560px, calc(100vh - 9rem));
    overflow: auto;
    z-index: 30;
    padding: 0.85rem;
    border: 1px solid rgba(67, 97, 168, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18);
}

.copilot-builder .slide-jobs-toggle {
    min-width: 92px;
}

.copilot-builder .slide-job-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.copilot-builder .slide-job-row__title {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.2;
    text-wrap: pretty;
}

.copilot-builder .slide-job-row__meta {
    color: #64748b;
    font-size: 0.83rem;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .slide-job-row__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.copilot-builder .slide-job-row__actions .btn {
    min-height: 36px;
}

.copilot-builder .slide-deck-preview-shell,
.copilot-builder .slide-editor-panel,
.copilot-builder .slide-advanced-html {
    border: 1px solid rgba(67, 97, 168, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.copilot-builder .slide-deck-preview-shell {
    padding: 0.9rem;
}

.copilot-builder .slide-deck-preview-toolbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 0.8rem;
}

.copilot-builder .slide-deck-position {
    min-width: 112px;
    text-align: center;
    color: #475569;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .deck-frame-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 360px;
    border: 1px solid rgba(148, 163, 184, 0.42);
    border-radius: 16px;
    background: #020617;
    overflow: hidden;
}

.copilot-builder .deck-frame-viewport:fullscreen {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    aspect-ratio: auto;
    border: 0;
    border-radius: 0;
    background: #020617;
}

.copilot-builder .deck-frame-viewport:fullscreen #deckFrame {
    border-radius: 0;
}

.copilot-builder #deckFrame {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1280px;
    height: 720px;
    border: 0;
    border-radius: 0;
    background: #020617;
    transform-origin: top left;
}

.copilot-builder .slide-thumb-rail {
    display: flex;
    gap: 0.55rem;
    overflow-x: auto;
    padding: 0.75rem 0.1rem 0.1rem;
}

.copilot-builder .slide-thumb {
    min-width: 126px;
    max-width: 180px;
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 12px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.85rem;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.copilot-builder .slide-thumb.is-active,
.copilot-builder .slide-thumb:focus-visible {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
    outline: 3px solid rgba(37, 99, 235, 0.18);
    outline-offset: 2px;
}

.copilot-builder .slide-editor-panel {
    padding: 1rem;
    position: sticky;
    top: 1rem;
}

.copilot-builder .slide-editor-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.copilot-builder .slide-editor-panel textarea {
    resize: vertical;
}

.copilot-builder .slide-advanced-html {
    padding: 0.85rem;
}

.copilot-builder .copilot-pane-form {
    order: 1;
}

.copilot-builder .copilot-pane-editor {
    order: 2;
}

.copilot-builder .slide-subject-library {
    order: 3;
    grid-column: 1 / -1;
    margin-top: 1.25rem;
    padding: 1.25rem;
    border: 1px solid rgba(67, 97, 168, 0.14);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.98));
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.copilot-builder .slide-subject-library-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.copilot-builder .slide-library-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.copilot-builder .slide-subject-library h2 {
    margin: 0.6rem 0 0.35rem;
    color: #0f172a;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.12;
    text-wrap: balance;
}

.copilot-builder .slide-subject-library p {
    max-width: 62rem;
    margin: 0;
    color: #64748b;
    text-wrap: pretty;
}

.copilot-builder .slide-library-list-form {
    display: grid;
    gap: 0.75rem;
}

.copilot-builder .slide-library-list {
    display: grid;
    gap: 0.55rem;
}

.copilot-builder .slide-library-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.copilot-builder .slide-library-select {
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    margin: 0;
    border-radius: 10px;
    background: #f8fafc;
}

.copilot-builder .slide-library-row-main h3 {
    margin: 0;
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.2;
    text-wrap: pretty;
}

.copilot-builder .slide-library-row-main p {
    margin-top: 0.25rem;
    color: #64748b;
    font-size: 0.84rem;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .slide-library-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: #64748b;
    font-size: 0.88rem;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .slide-library-subjects {
    display: grid;
    gap: 1rem;
}

.copilot-builder .slide-subject-group {
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.copilot-builder .slide-subject-group-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.copilot-builder .slide-subject-group-count {
    min-height: 30px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .slide-library-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}

.copilot-builder .slide-library-card {
    display: flex;
    min-height: 172px;
    flex-direction: column;
    justify-content: space-between;
    padding: 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 16px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.12), transparent 36%),
        linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    transition-duration: 160ms;
    transition-property: transform, box-shadow;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.copilot-builder .slide-library-card:hover,
.copilot-builder .slide-library-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.11);
}

.copilot-builder .slide-library-card:active {
    transform: scale(0.96);
}

.copilot-builder .slide-library-card-title {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.22;
    text-wrap: balance;
}

.copilot-builder .slide-library-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.75rem 0;
}

.copilot-builder .slide-library-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #1e3a8a;
    font-size: 0.78rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.copilot-builder .slide-library-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.copilot-builder .slide-library-actions .btn {
    min-height: 40px;
}

.copilot-builder .slide-library-empty {
    padding: 1rem;
    border: 1px dashed rgba(99, 102, 241, 0.34);
    border-radius: 16px;
    background: rgba(238, 242, 255, 0.55);
    color: #475569;
}

@media (max-width: 1199.98px) {
    .copilot-builder .slide-deck-review-stage {
        grid-template-columns: 1fr;
    }
    .copilot-builder .slide-editor-panel {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .copilot-builder .slide-deck-preview-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .copilot-builder .slide-deck-position {
        min-width: 0;
    }
    .copilot-builder .deck-frame-viewport {
        min-height: 240px;
    }
    .copilot-builder .slide-subject-library {
        padding: 1rem;
        border-radius: 18px;
    }
    .copilot-builder .slide-subject-library-header,
    .copilot-builder .slide-subject-group-title {
        align-items: stretch;
        flex-direction: column;
    }
}
.teacher-copilot-builder-page .cp-builder-shell #rendered {
    min-height: 420px;
    background: linear-gradient(180deg, rgba(248,250,255,0.92), rgba(255,255,255,0.98));
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-studio,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .copilot-studio,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .copilot-studio {
    grid-template-columns: 1fr;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] #pane-basics,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] #pane-sources {
    display: block !important;
    opacity: 1 !important;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-scroll {
    max-height: none !important;
    overflow: visible !important;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] #pane-sources,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-actions,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] #builderStageRecap,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .builder-stage1-advanced-shell,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] #pane-basics,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .copilot-actions,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] #builderStageRecap,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .builder-stage1-advanced-shell,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .copilot-scroll,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="4"] .builder-stage1-advanced-shell,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="4"] .copilot-pane-form {
    display: none !important;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="1"] .copilot-pane-editor,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="2"] .copilot-pane-editor,
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] .copilot-pane-editor {
    display: none;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="3"] #builderStageRecap {
    display: block !important;
}
.teacher-copilot-builder-page .cp-builder-shell[data-builder-stage="4"] .copilot-studio {
    grid-template-columns: 1fr;
}
@media (max-width: 1399px) {.teacher-copilot-builder-page .cp-builder-shell .builder-command-deck {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 1199px) {.teacher-copilot-builder-page .cp-builder-shell .copilot-studio {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767px) {.teacher-copilot-builder-page .cp-builder-shell .marking-desk-steps,
    .teacher-copilot-builder-page .cp-builder-shell .builder-stage-recap-list {
        grid-template-columns: 1fr;
    }
    .teacher-copilot-builder-page .cp-builder-shell .marking-desk-stage-message {
        flex-direction: column;
        align-items: stretch;
    }
    .teacher-copilot-builder-page .cp-builder-shell .builder-stage-actions {
        margin-left: 0;
        justify-content: stretch;
    }
}
/* ===== teacher-copilot-builder-page END ===== */

/* ===== teacher-copilot-packs-page START ===== */
.teacher-copilot-packs-page .cp-packs-main {
    --pack-ink: #152743;
    --pack-muted: #5d7192;
    --pack-line: rgba(67, 97, 168, 0.14);
    --pack-accent: #4361ee;
    --pack-accent-soft: rgba(67, 97, 238, 0.08);
    --pack-success: #198754;
    --pack-warm: #f59e0b;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell {
    display: grid;
    gap: 0.8rem;
    margin-bottom: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--pack-line);
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(67, 97, 238, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,248,255,0.95));
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0;
    align-items: stretch;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "num label"
        "num meta";
    align-items: center;
    align-content: center;
    gap: 0.22rem 0.72rem;
    min-height: 74px;
    padding: 0.92rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(67, 97, 168, 0.14);
    background: rgba(255,255,255,0.92);
    color: var(--pack-muted);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step::after {
    display: none;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step .num {
    grid-area: num;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(67, 97, 238, 0.1);
    color: var(--pack-accent);
    font-size: 0.84rem;
    font-weight: 800;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step .label {
    grid-area: label;
    display: block;
    color: var(--pack-ink);
    font-size: 0.94rem;
    font-weight: 700;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step .marking-desk-step-meta {
    grid-area: meta;
    display: block;
    font-size: 0.75rem;
    line-height: 1.35;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step.is-active {
    border-color: rgba(39, 71, 203, 0.24);
    background: linear-gradient(135deg, rgba(67, 97, 238, 0.11), rgba(255,255,255,0.98));
    box-shadow: 0 18px 36px rgba(39, 71, 203, 0.12);
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step.is-complete {
    border-color: rgba(25, 135, 84, 0.16);
    background: rgba(241, 250, 246, 0.98);
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step.is-complete .num {
    background: var(--pack-success);
    color: #fff;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step.is-blocked {
    opacity: 0.62;
}
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .marking-desk-stage-message {
    padding: 0.95rem 1rem;
    border: 1px solid var(--pack-line);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,249,255,0.94));
    color: var(--pack-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--pack-line);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,255,0.95));
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-kicker {
    font-size: 0.71rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--pack-accent);
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-title {
    margin: 0;
    color: var(--pack-ink);
    font-size: 1.02rem;
    line-height: 1.25;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-copy {
    margin: 0;
    color: var(--pack-muted);
    font-size: 0.84rem;
    line-height: 1.5;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-stats {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-pill {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-width: 110px;
    padding: 0.5rem 0.75rem;
    border-radius: 16px;
    background: rgba(67, 97, 238, 0.06);
    border: 1px solid rgba(67, 97, 238, 0.10);
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-pill strong {
    color: var(--pack-ink);
    font-size: 0.92rem;
    line-height: 1.2;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-pill span {
    color: var(--pack-muted);
    font-size: 0.72rem;
    line-height: 1.35;
}
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-stats .btn {
    border-radius: 16px;
    padding: 0.8rem 1rem;
    font-weight: 700;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-band {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(420px, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-primary,
.teacher-copilot-packs-page .cp-packs-main .cp-context-metrics {
    border: 1px solid var(--pack-line);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,255,0.95));
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-primary {
    padding: 1.25rem 1.35rem;
    background:
        radial-gradient(circle at top left, rgba(67,97,238,0.16), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,0.99), rgba(239,245,255,0.95));
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-kicker,
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric span {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-kicker {
    color: var(--pack-accent);
    margin-bottom: 0.45rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-heading {
    margin: 0;
    color: var(--pack-ink);
    font-size: 1.7rem;
    line-height: 1.08;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-copy {
    margin: 0.55rem 0 0;
    color: var(--pack-muted);
    font-size: 0.94rem;
    line-height: 1.6;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-method {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.95rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-method-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "num title"
        "num copy";
    column-gap: 0.55rem;
    row-gap: 0.08rem;
    padding: 0.72rem 0.78rem;
    border: 1px solid rgba(67, 97, 168, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-method-item span {
    grid-area: num;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(67, 97, 238, 0.1);
    color: var(--pack-accent);
    font-weight: 800;
    font-size: 0.78rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-method-item strong {
    grid-area: title;
    color: var(--pack-ink);
    font-size: 0.86rem;
    line-height: 1.25;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-method-item small {
    grid-area: copy;
    color: var(--pack-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-actions .btn {
    border-radius: 16px;
    padding: 0.82rem 1rem;
    font-weight: 700;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metrics {
    padding: 1rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric {
    border: 1px solid rgba(67, 97, 168, 0.1);
    border-radius: 22px;
    background: rgba(255,255,255,0.88);
    padding: 0.95rem 1rem;
    min-height: 118px;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric span {
    color: var(--pack-muted);
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric strong {
    font-size: 1.3rem;
    line-height: 1.15;
    color: var(--pack-ink);
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric small {
    color: var(--pack-muted);
    font-size: 0.84rem;
    line-height: 1.5;
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric.is-good {
    background: rgba(25, 135, 84, 0.08);
}
.teacher-copilot-packs-page .cp-packs-main .cp-context-metric.is-warn {
    background: rgba(245, 158, 11, 0.11);
}
.teacher-copilot-packs-page .cp-packs-main .cp-left > *,
.teacher-copilot-packs-page .cp-packs-main .cp-right > *,
.teacher-copilot-packs-page .cp-packs-main .cp-library-section {
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}
.teacher-copilot-packs-page .cp-packs-main .cp-left > *,
.teacher-copilot-packs-page .cp-packs-main .cp-right > * {
    border: 1px solid var(--pack-line);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,255,0.94));
}
.teacher-copilot-packs-page .cp-packs-main .cp-library-section {
    border: 1px solid var(--pack-line);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,255,0.95));
}
.teacher-copilot-packs-page .cp-packs-main .cp-pack-header {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,246,255,0.96));
    border-bottom: 1px solid rgba(67, 97, 168, 0.12);
}
.teacher-copilot-packs-page .cp-packs-main .cp-pack-header-name,
.teacher-copilot-packs-page .cp-packs-main .cp-left-title,
.teacher-copilot-packs-page .cp-packs-main .cp-sources-title,
.teacher-copilot-packs-page .cp-packs-main .cp-library-title {
    color: var(--pack-ink);
}
.teacher-copilot-packs-page .cp-packs-main .cp-sources-section,
.teacher-copilot-packs-page .cp-packs-main .cp-add-source,
.teacher-copilot-packs-page .cp-packs-main #packEditor {
    border-top: 1px solid rgba(67, 97, 168, 0.1);
}
.teacher-copilot-packs-page .cp-packs-main .cp-guide-state {
    border: 1px dashed rgba(67, 97, 238, 0.2);
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,250,241,0.94));
}
.teacher-copilot-packs-page .cp-packs-main.workspace-build .cp-right,
.teacher-copilot-packs-page .cp-packs-main.workspace-build .cp-right .cp-sources-section,
.teacher-copilot-packs-page .cp-packs-main.workspace-build .cp-right .cp-add-source,
.teacher-copilot-packs-page .cp-packs-main.workspace-build .cp-editor-teaser,
.teacher-copilot-packs-page .cp-packs-main.workspace-build #packLibrarySection,
.teacher-copilot-packs-page .cp-packs-main.workspace-build #packEditor {
    display: none;
}
.teacher-copilot-packs-page .cp-packs-main.workspace-build .cp-layout {
    grid-template-columns: 1fr;
}
.teacher-copilot-packs-page .cp-packs-main.workspace-sources .cp-left,
.teacher-copilot-packs-page .cp-packs-main.workspace-sources #packLibrarySection,
.teacher-copilot-packs-page .cp-packs-main.workspace-sources #packEditor,
.teacher-copilot-packs-page .cp-packs-main.workspace-sources .cp-editor-teaser {
    display: none;
}
.teacher-copilot-packs-page .cp-packs-main.workspace-sources .cp-layout {
    grid-template-columns: 1fr;
}
.teacher-copilot-packs-page .cp-packs-main.workspace-library .cp-layout,
.teacher-copilot-packs-page .cp-packs-main.workspace-library #packEditor,
.teacher-copilot-packs-page .cp-packs-main.workspace-library .cp-editor-teaser {
    display: none;
}
.teacher-copilot-packs-page .cp-packs-main.workspace-editor .cp-layout,
.teacher-copilot-packs-page .cp-packs-main.workspace-editor #packLibrarySection,
.teacher-copilot-packs-page .cp-packs-main.workspace-editor .cp-editor-teaser {
    display: none;
}
@media (max-width: 1399px) {.teacher-copilot-packs-page .cp-packs-main .cp-context-band {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767px) {.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-steps {
        grid-template-columns: 1fr 1fr;
    }
    .teacher-copilot-packs-page .cp-packs-main .cp-context-metrics {
        grid-template-columns: 1fr;
    }
    .teacher-copilot-packs-page .cp-packs-main .cp-context-method {
        grid-template-columns: 1fr;
    }
}

/* Teacher-friendly content packs pass: make the workflow read like "build once, reuse". */
.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell {
    padding: 0.95rem;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-steps {
    gap: 0.75rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step {
    min-height: 68px;
    border-radius: 14px;
    box-shadow: none;
    background: #f8fbff;
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step.is-active {
    background: #eef4ff;
    box-shadow: inset 0 0 0 1px rgba(67, 97, 238, 0.12);
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step .label {
    font-size: 0.98rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .coursework-v3-step .marking-desk-step-meta {
    color: #64748b;
    font-size: 0.78rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-workflow-shell .marking-desk-stage-message {
    border-radius: 14px;
    background: #f9fbff;
    font-size: 0.95rem;
    color: #334155;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-band {
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.75fr);
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-primary,
.teacher-copilot-packs-page .cp-packs-main .cp-context-metrics {
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-primary {
    padding: 1.35rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-heading {
    max-width: 760px;
    font-size: 1.55rem;
    line-height: 1.15;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-copy {
    max-width: 900px;
    font-size: 0.98rem;
    color: #475569;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-method {
    gap: 0.75rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-method-item {
    border-radius: 12px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(67, 97, 168, 0.05);
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-metrics {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0.9rem;
    background: #ffffff;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-metric {
    min-height: 0;
    border-radius: 14px;
    padding: 0.78rem 0.9rem;
    gap: 0.25rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-metric strong {
    font-size: 1.05rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-metric small {
    font-size: 0.8rem;
}

.teacher-copilot-packs-page .cp-packs-main .cp-context-actions .btn,
.teacher-copilot-packs-page .cp-packs-main .cp-stage-strip-stats .btn {
    border-radius: 10px;
}

.teacher-copilot-packs-page .cp-packs-main .cp-new-pack-section,
.teacher-copilot-packs-page .cp-packs-main .cp-new-pack-form,
.teacher-copilot-packs-page .cp-packs-main .cp-new-pack-group {
    border-radius: 16px;
}

.teacher-copilot-packs-page .cp-packs-main .cp-new-pack-group-label {
    font-size: 0.8rem;
    color: #334155;
    letter-spacing: 0.08em;
}
/* ===== teacher-copilot-packs-page END ===== */

/* ===== teacher-coursework-assignments-page START ===== */
.teacher-coursework-assignments-page .tcw-section-label {
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #94a3b8;
        margin-bottom: 0.35rem;
        display: block;
    }
    .teacher-coursework-assignments-page .tcw-create-card,
    .teacher-coursework-assignments-page .tcw-metric-card,
    .teacher-coursework-assignments-page .tcw-assignment-card,
    .teacher-coursework-assignments-page .tcw-standard-card {
        border: 1px solid #e2e8f0;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.045);
    }
    .teacher-coursework-assignments-page .tcw-create-card {
        overflow: hidden;
    }
    .teacher-coursework-assignments-page .tcw-create-card .card-header,
    .teacher-coursework-assignments-page .tcw-intervention-panel .card-header,
    .teacher-coursework-assignments-page .tcw-standard-list + .d-flex,
    .teacher-coursework-assignments-page .tcw-filter-panel {
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    }
    .teacher-coursework-assignments-page .tcw-create-card .card-header {
        padding: 1.15rem 1.15rem 0.5rem;
    }
    .teacher-coursework-assignments-page .tcw-create-card .card-title {
        font-size: 1.42rem;
        line-height: 1.08;
    }
    .teacher-coursework-assignments-page .tcw-create-card .card-body {
        padding: 1rem 1.2rem 1.2rem;
    }
    .teacher-coursework-assignments-page .tcw-create-form-wide,
    .teacher-coursework-assignments-page .tcw-page-shell {
        display: grid;
        gap: 1rem;
    }
    .teacher-coursework-assignments-page .tcw-create-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }
    .teacher-coursework-assignments-page .tcw-create-grid-wide {
        grid-column: 1 / -1;
    }
    .teacher-coursework-assignments-page .tcw-create-footer {
        display: flex;
        justify-content: space-between;
        align-items: end;
        gap: 1rem;
        margin-top: 1rem;
    }
    .teacher-coursework-assignments-page .tcw-create-submit {
        min-width: 220px;
        align-self: stretch;
    }
    .teacher-coursework-assignments-page .tcw-source-choice {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
        margin-top: 0.1rem;
    }
    .teacher-coursework-assignments-page .tcw-source-card {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr);
        align-items: center;
        gap: 0.7rem;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.82);
        padding: 0.9rem 1rem;
        cursor: pointer;
        min-height: 96px;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    }
    .teacher-coursework-assignments-page .tcw-source-card.is-selected {
        border-color: #2563eb;
        background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
        box-shadow: 0 14px 28px rgba(37, 99, 235, 0.12);
    }
    .teacher-coursework-assignments-page .tcw-source-card .form-check-input {
        margin: 0;
    }
    .teacher-coursework-assignments-page .tcw-source-card-icon {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #e0e7ff;
        color: #334ed8;
        flex: 0 0 auto;
    }
    .teacher-coursework-assignments-page .tcw-source-card strong,
    .teacher-coursework-assignments-page .tcw-source-card small {
        display: block;
    }
    .teacher-coursework-assignments-page .tcw-source-card strong {
        color: #0f172a;
        line-height: 1.2;
        margin-bottom: 0.22rem;
    }
    .teacher-coursework-assignments-page .tcw-source-card small {
        color: #64748b;
        line-height: 1.35;
    }
    .teacher-coursework-assignments-page .tcw-one-off-panel {
        border: 1px solid #bfdbfe;
        border-radius: 18px;
        padding: 1rem;
        background:
            radial-gradient(circle at top right, rgba(59, 130, 246, 0.08) 0%, transparent 34%),
            linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    }
    .teacher-coursework-assignments-page .tcw-one-off-head {
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: 1rem;
        padding-bottom: 0.85rem;
        margin-bottom: 0.85rem;
        border-bottom: 1px solid #e2e8f0;
    }
    .teacher-coursework-assignments-page .tcw-one-off-panel textarea {
        min-height: 150px;
    }
    .teacher-coursework-assignments-page .tcw-rubric-callout {
        border: 1px solid #dbeafe;
        background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
        border-radius: 14px;
        padding: 0.85rem 0.95rem;
        flex: 1 1 auto;
    }
    .teacher-coursework-assignments-page .tcw-overview-shell {
        border: 1px solid rgba(99, 102, 241, 0.14);
        border-radius: 24px;
        padding: 0.9rem;
        background:
            radial-gradient(circle at top left, rgba(29, 78, 216, 0.08) 0%, transparent 34%),
            radial-gradient(circle at top right, rgba(139, 92, 246, 0.08) 0%, transparent 36%),
            linear-gradient(135deg, rgba(243, 248, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 52%, rgba(247, 245, 255, 0.98) 100%);
        box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
    }
    .teacher-coursework-assignments-page .tcw-overview-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.9rem;
    }
    .teacher-coursework-assignments-page .tcw-metric-card {
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.85rem;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(226, 232, 240, 0.9);
        border-radius: 20px;
        padding: 0.95rem 1rem;
        min-height: 112px;
        overflow: hidden;
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
    }
    .teacher-coursework-assignments-page .tcw-metric-card::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 1;
        pointer-events: none;
        background:
            radial-gradient(circle at left center, rgba(255, 255, 255, 0.12) 0%, transparent 36%),
            radial-gradient(circle at top right, rgba(255, 255, 255, 0.78) 0%, transparent 42%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 100%);
    }
    .teacher-coursework-assignments-page .tcw-metric-card > * {
        position: relative;
        z-index: 1;
    }
    .teacher-coursework-assignments-page .tcw-metric-card--blue {
        border-color: rgba(191, 219, 254, 0.96);
    }
    .teacher-coursework-assignments-page .tcw-metric-card--green {
        border-color: rgba(187, 247, 208, 0.96);
    }
    .teacher-coursework-assignments-page .tcw-metric-card--violet {
        border-color: rgba(221, 214, 254, 0.96);
    }
    .teacher-coursework-assignments-page .tcw-metric-card--amber {
        border-color: rgba(254, 215, 170, 0.96);
    }
    .teacher-coursework-assignments-page .tcw-metric-link {
        display: block;
        text-decoration: none;
        border: 1px solid transparent;
        transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    }
    .teacher-coursework-assignments-page .tcw-metric-link:hover,
    .teacher-coursework-assignments-page .tcw-metric-link:focus-visible {
        transform: translateY(-2px);
        box-shadow: 0 16px 30px rgba(59, 130, 246, 0.10);
        border-color: rgba(191, 219, 254, 0.96);
        text-decoration: none;
        outline: none;
    }
    .teacher-coursework-assignments-page .tcw-metric-link .tcw-metric-label,
    .teacher-coursework-assignments-page .tcw-metric-link .tcw-metric-value,
    .teacher-coursework-assignments-page .tcw-metric-link .tcw-metric-foot {
        color: inherit;
    }
    .teacher-coursework-assignments-page .tcw-metric-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
    }
    .teacher-coursework-assignments-page .tcw-metric-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        font-size: 1.1rem;
        flex: 0 0 auto;
    }
    .teacher-coursework-assignments-page .tcw-metric-icon--blue {
        background: #dbe7ff;
        color: #2853d8;
    }
    .teacher-coursework-assignments-page .tcw-metric-icon--green {
        background: #dff4ef;
        color: #0f766e;
    }
    .teacher-coursework-assignments-page .tcw-metric-icon--violet {
        background: #eadfff;
        color: #7c3aed;
    }
    .teacher-coursework-assignments-page .tcw-metric-icon--amber {
        background: #fdeecf;
        color: #b45309;
    }
    .teacher-coursework-assignments-page .tcw-metric-label {
        color: #49678f;
        font-size: 0.8rem;
        font-weight: 500;
        margin-bottom: 0.15rem;
    }
    .teacher-coursework-assignments-page .tcw-metric-value {
        font-size: 1.85rem;
        line-height: 1;
        font-weight: 800;
        color: #0b1736;
        margin-bottom: 0.25rem;
    }
    .teacher-coursework-assignments-page .tcw-metric-foot {
        color: #64748b;
        font-size: 0.75rem;
    }
    .teacher-coursework-assignments-page .tcw-filter-panel {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.85rem;
        align-items: start;
        padding: 1rem 1.15rem;
    }
    .teacher-coursework-assignments-page .page-content {
        display: flex;
        flex-direction: column;
    }
    .teacher-coursework-assignments-page .tcw-order-create {
        order: 1;
    }
    .teacher-coursework-assignments-page .tcw-order-assignments {
        order: 2;
    }
    .teacher-coursework-assignments-page .tcw-order-monitor {
        order: 3;
    }
    .teacher-coursework-assignments-page .tcw-order-interventions {
        order: 4;
    }
    .teacher-coursework-assignments-page .tcw-filter-form {
        display: grid;
        grid-template-columns: repeat(3, minmax(170px, 1fr));
        gap: 0.85rem;
        width: 100%;
    }
    .teacher-coursework-assignments-page .tcw-standard-list {
        display: grid;
        gap: 1rem;
    }
    .teacher-coursework-assignments-page .tcw-assignment-card,
    .teacher-coursework-assignments-page .tcw-standard-card {
        border-radius: 18px;
        background: #fff;
        padding: 1rem 1.05rem;
    }
    .teacher-coursework-assignments-page .tcw-standard-card {
        display: grid;
        gap: 0.9rem;
    }
    .teacher-coursework-assignments-page .tcw-standard-card-intervention {
        border-color: #dbeafe;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    }
    .teacher-coursework-assignments-page .tcw-assignment-kicker {
        color: #64748b;
        font-size: 0.84rem;
        font-weight: 600;
        margin-bottom: 0.35rem;
    }
    .teacher-coursework-assignments-page .tcw-chip-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-bottom: 0.75rem;
    }
    .teacher-coursework-assignments-page .tcw-chip-row .badge {
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.38rem 0.55rem;
    }
    .teacher-coursework-assignments-page .tcw-assignment-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
    }
    .teacher-coursework-assignments-page .tcw-assignment-actions .btn {
        border-radius: 12px;
        min-width: 92px;
    }
    .teacher-coursework-assignments-page .tcw-action-chip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.38rem;
        border-radius: 999px;
        font-weight: 800;
        min-height: 2.1rem;
        padding-inline: 0.8rem;
        box-shadow: none;
    }
    .teacher-coursework-assignments-page .tcw-action-chip--open {
        background: rgba(37, 99, 235, 0.12);
        border-color: rgba(37, 99, 235, 0.24);
        color: #1d4ed8;
    }
    .teacher-coursework-assignments-page .tcw-action-chip--export {
        background: rgba(245, 158, 11, 0.16);
        border-color: rgba(245, 158, 11, 0.32);
        color: #92400e;
    }
    .teacher-coursework-assignments-page .tcw-action-chip--muted {
        background: rgba(100, 116, 139, 0.1);
        border-color: rgba(100, 116, 139, 0.22);
        color: #475569;
    }
    .teacher-coursework-assignments-page .tcw-action-chip--danger {
        background: rgba(239, 68, 68, 0.12);
        border-color: rgba(239, 68, 68, 0.24);
        color: #dc2626;
    }
    .teacher-coursework-assignments-page .tcw-standard-table-wrap {
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 18px;
        background: #fff;
        overflow-x: auto;
    }
    .teacher-coursework-assignments-page .tcw-standard-table {
        min-width: 860px;
        margin: 0;
    }
    .teacher-coursework-assignments-page .tcw-standard-table thead th {
        padding: 0.95rem 0.85rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.95);
        background: rgba(248, 250, 252, 0.92);
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }
    .teacher-coursework-assignments-page .tcw-standard-table tbody td {
        padding: 1rem 0.85rem;
        vertical-align: middle;
        border-top: 1px solid rgba(239, 244, 251, 0.95);
        background: rgba(255, 255, 255, 0.94);
    }
    .teacher-coursework-assignments-page .tcw-standard-table tbody tr:hover td {
        background: rgba(248, 251, 255, 0.94);
    }
    .teacher-coursework-assignments-page .tcw-coursework-record {
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
        min-width: 0;
    }
    .teacher-coursework-assignments-page .tcw-coursework-record__icon {
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        color: #fff;
        background: linear-gradient(135deg, #2563eb, #0ea5e9);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }
    .teacher-coursework-assignments-page .tcw-coursework-record__body {
        min-width: 0;
    }
    .teacher-coursework-assignments-page .tcw-coursework-record__title {
        color: #111827;
        font-size: 1.03rem;
        font-weight: 700;
        line-height: 1.18;
        text-decoration: none;
    }
    .teacher-coursework-assignments-page .tcw-coursework-record__title:hover,
    .teacher-coursework-assignments-page .tcw-coursework-record__title:focus-visible {
        color: #2563eb;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-assignment-kicker {
        margin-bottom: 0.22rem;
        color: #64748b;
        font-size: 0.84rem;
        font-weight: 600;
        line-height: 1.35;
    }
    .teacher-coursework-assignments-page .tcw-coursework-tag-row {
        margin-top: 0.45rem;
        margin-bottom: 0;
    }
    .teacher-coursework-assignments-page .tcw-coursework-tag--rubric {
        background: rgba(220, 252, 231, 0.95);
        color: #15803d;
        border: 1px solid rgba(34, 197, 94, 0.16);
    }
    .teacher-coursework-assignments-page .tcw-coursework-tag--pack {
        background: rgba(219, 234, 254, 0.98);
        color: #2563eb;
        border: 1px solid rgba(37, 99, 235, 0.16);
    }
    .teacher-coursework-assignments-page .tcw-coursework-tag--resub {
        background: rgba(254, 226, 226, 0.98);
        color: #b91c1c;
        border: 1px solid rgba(239, 68, 68, 0.18);
    }
    .teacher-coursework-assignments-page .tcw-paper-action-btn,
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-assignment-actions .btn {
        min-width: 34px;
        width: 34px;
        height: 34px;
        min-height: 34px;
        padding: 0;
        border-radius: 11px;
        border: 1px solid transparent;
        box-shadow: none;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip {
        gap: 0;
        padding-inline: 0;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-assignment-actions {
        align-items: center;
        gap: 0.38rem;
    }
    .teacher-coursework-assignments-page .tcw-action-chip--edit {
        background: rgba(37, 99, 235, 0.12);
        border-color: rgba(37, 99, 235, 0.22);
        color: #2563eb;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip--open {
        background: rgba(14, 165, 233, 0.14);
        border-color: rgba(14, 165, 233, 0.24);
        color: #0284c7;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip--export {
        background: rgba(245, 158, 11, 0.14);
        border-color: rgba(245, 158, 11, 0.28);
        color: #b45309;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip--muted {
        background: rgba(241, 245, 249, 0.98);
        border-color: rgba(226, 232, 240, 0.95);
        color: #475569;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip--danger {
        background: rgba(239, 68, 68, 0.12);
        border-color: rgba(239, 68, 68, 0.24);
        color: #dc2626;
    }
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip:hover,
    .teacher-coursework-assignments-page .tcw-standard-table .tcw-action-chip:focus-visible {
        transform: translateY(-1px);
        filter: brightness(0.98);
    }
    .teacher-coursework-assignments-page .tcw-standard-list {
        padding-top: 0.2rem;
    }
    .teacher-coursework-assignments-page .tcw-section-filter-bar {
        display: grid;
        grid-template-columns: minmax(220px, 0.95fr) minmax(0, 2fr);
        gap: 1rem;
        align-items: end;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        border-bottom: 1px solid #eef2f7;
    }
    .teacher-coursework-assignments-page .tcw-section-filter-form {
        display: grid;
        grid-template-columns: repeat(3, minmax(170px, 1fr)) auto;
        gap: 0.75rem;
        align-items: end;
    }
    .teacher-coursework-assignments-page .tcw-section-filter-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
        justify-content: flex-end;
    }
    .teacher-coursework-assignments-page .tcw-section-shell {
        border: 1px solid rgba(226, 232, 240, 0.92);
        border-radius: 24px;
        background: #fff;
        box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
        overflow: hidden;
    }
    .teacher-coursework-assignments-page .tcw-section-shell--create {
        border-color: rgba(219, 234, 254, 0.96);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 251, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-shell--assignments {
        border-color: rgba(219, 234, 254, 0.88);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 252, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-summary {
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: start;
        gap: 1rem;
        padding: 1.15rem 1.2rem;
        cursor: pointer;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 247, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-shell--create .tcw-section-summary {
        background:
            radial-gradient(circle at top right, rgba(59, 130, 246, 0.08) 0%, transparent 34%),
            linear-gradient(180deg, rgba(237, 246, 255, 0.98) 0%, rgba(247, 250, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-shell--create .tcw-section-body {
        background:
            linear-gradient(180deg, rgba(246, 250, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-shell--assignments .tcw-section-summary {
        background:
            radial-gradient(circle at top right, rgba(16, 185, 129, 0.06) 0%, transparent 32%),
            linear-gradient(180deg, rgba(241, 245, 255, 0.98) 0%, rgba(248, 250, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-shell--assignments .tcw-section-body {
        background:
            linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
    }
    .teacher-coursework-assignments-page .tcw-section-summary::-webkit-details-marker {
        display: none;
    }
    .teacher-coursework-assignments-page .tcw-section-summary h5 {
        margin: 0;
    }
    .teacher-coursework-assignments-page .tcw-section-summary-actions {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-wrap: wrap;
        justify-content: end;
    }
    .teacher-coursework-assignments-page .tcw-collapse-indicator {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        border: 1px solid #dbeafe;
        background: #eff6ff;
        color: #2563eb;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.18s ease;
    }
    .teacher-coursework-assignments-page .tcw-section-shell[open] .tcw-collapse-indicator {
        transform: rotate(180deg);
    }
    .teacher-coursework-assignments-page .tcw-section-body {
        padding: 1rem 1.2rem 1.2rem;
        border-top: 1px solid #eef2f7;
    }
    .teacher-coursework-assignments-page .tcw-standard-card {
        grid-template-columns: minmax(0, 2.4fr) minmax(300px, 1fr) auto;
        align-items: center;
        padding: 1rem 1.15rem;
    }
    .teacher-coursework-assignments-page .tcw-standard-progress {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.65rem;
    }
    .teacher-coursework-assignments-page .tcw-standard-progress-intervention {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .teacher-coursework-assignments-page .tcw-progress-stat {
        border: 1px solid #e2e8f0;
        border-radius: 14px;
        padding: 0.7rem 0.75rem;
        background: #f8fafc;
    }
    .teacher-coursework-assignments-page .tcw-progress-stat span {
        display: block;
        color: #64748b;
        font-size: 0.78rem;
        font-weight: 600;
        margin-bottom: 0.2rem;
    }
    .teacher-coursework-assignments-page .tcw-progress-stat strong {
        color: #0f172a;
        font-size: 1rem;
    }
    .teacher-coursework-assignments-page .tcw-standard-side {
        display: grid;
        justify-items: end;
        gap: 0.7rem;
        align-content: center;
    }
    .teacher-coursework-assignments-page .tcw-empty-state {
        border: 1px dashed #cbd5e1;
        border-radius: 18px;
        padding: 1.2rem;
        background: #f8fafc;
    }
    .teacher-coursework-assignments-page .tcw-empty-state-title {
        font-weight: 700;
        color: #0f172a;
        margin-bottom: 0.3rem;
    }
    .teacher-coursework-assignments-page .tcw-rendered-primary {
        border-color: #dbeafe !important;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    }
    .teacher-coursework-assignments-page .tcw-rendered-primary h2,
    .teacher-coursework-assignments-page .tcw-rendered-primary h3 {
        display: flex;
        align-items: center;
        gap: 0.45rem;
    }
    .teacher-coursework-assignments-page .tcw-rendered-primary h2::before,
    .teacher-coursework-assignments-page .tcw-rendered-primary h3::before {
        content: "15c";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #2563eb;
        font-size: 0.9em;
    }
    .teacher-coursework-assignments-page .tcw-rendered-primary ul li::marker {
        color: #2563eb;
    }
    .teacher-coursework-assignments-page .tcw-feedback-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }
    .teacher-coursework-assignments-page .tcw-status-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        padding: 0.22rem 0.62rem;
        font-size: 0.76rem;
        font-weight: 700;
        line-height: 1.2;
        background: #f8fafc;
        color: #334155;
        vertical-align: middle;
        white-space: nowrap;
    }
    .teacher-coursework-assignments-page .tcw-status-chip i { font-size: 0.78rem; }
    .teacher-coursework-assignments-page .tcw-status-chip-success {
        border-color: #86efac;
        background: #f0fdf4;
        color: #166534;
    }
    .teacher-coursework-assignments-page .tcw-status-chip-warning {
        border-color: #fcd34d;
        background: #fffbeb;
        color: #92400e;
    }
    .teacher-coursework-assignments-page .tcw-status-chip-danger {
        border-color: #fca5a5;
        background: #fef2f2;
        color: #991b1b;
    }
    .teacher-coursework-assignments-page .tcw-editor-details {
        border: 1px dashed #cbd5e1;
        border-radius: 10px;
        background: #f8fafc;
        padding: 0.6rem 0.75rem;
    }
    .teacher-coursework-assignments-page .tcw-editor-details[open] {
        background: #ffffff;
        border-style: solid;
        border-color: #c7d2fe;
    }
    .teacher-coursework-assignments-page .tcw-editor-details summary {
        list-style: none;
        cursor: pointer;
        color: #1e3a8a;
        font-size: 0.86rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }
    .teacher-coursework-assignments-page .tcw-editor-details summary::-webkit-details-marker {
        display: none;
    }
    .teacher-coursework-assignments-page .coursework-submissions-scroll {
        max-height: 31rem;
        overflow: auto;
    }
    .teacher-coursework-assignments-page .coursework-submissions-scroll thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #f8fafc;
    }
    .assessment-gradebook-scroll {
        max-height: 31rem;
        overflow: auto;
    }
    .assessment-gradebook-scroll thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #f8fafc;
        box-shadow: inset 0 -1px 0 rgba(226, 232, 240, 0.9);
    }
    .teacher-coursework-assignments-page .coursework-gradebook-card {
        scroll-margin-top: 110px;
    }
    .teacher-coursework-assignments-page .coursework-gradebook-card .btn-group .btn {
        white-space: nowrap;
    }
    .teacher-coursework-assignments-page .coursework-gradebook-current {
        background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    }
    .teacher-coursework-assignments-page .coursework-gradebook-filter-disabled {
        opacity: 0.55;
        cursor: not-allowed;
        pointer-events: none;
    }
    @media (max-width: 1399.98px) {.teacher-coursework-assignments-page .tcw-overview-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}
    @media (max-width: 991.98px) {.teacher-coursework-assignments-page .tcw-create-grid,
        .teacher-coursework-assignments-page .tcw-create-footer,
        .teacher-coursework-assignments-page .tcw-filter-panel,
        .teacher-coursework-assignments-page .tcw-filter-form,
        .teacher-coursework-assignments-page .tcw-source-choice,
        .teacher-coursework-assignments-page .tcw-section-filter-bar,
        .teacher-coursework-assignments-page .tcw-section-filter-form,
        .teacher-coursework-assignments-page .tcw-overview-grid,
        .teacher-coursework-assignments-page .tcw-standard-progress,
        .teacher-coursework-assignments-page .tcw-standard-card {
            grid-template-columns: 1fr;
        }
        .teacher-coursework-assignments-page .tcw-metric-card {
            min-height: 100px;
        }
        .teacher-coursework-assignments-page .tcw-standard-side {
            justify-items: start;
        }
        .teacher-coursework-assignments-page .tcw-create-submit {
            width: 100%;
            min-width: 0;
        }
}
/* ===== teacher-coursework-assignments-page END ===== */

/* ===== teacher-mark-scheme-generator-page START ===== */
.teacher-mark-scheme-generator-page .mark-scheme-generator-shell {
    display: grid;
    gap: 1.25rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero,
.teacher-mark-scheme-generator-page .mark-scheme-generator-panel {
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: 1.25rem;
    align-items: center;
    padding: 1.4rem;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.96)), #fff;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-kicker,
.teacher-mark-scheme-generator-page .mark-scheme-generator-panel-head span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero h2 {
    max-width: 780px;
    margin: 0.25rem 0 0.45rem;
    color: #111827;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.12;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero p {
    max-width: 760px;
    margin: 0;
    color: #475569;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero-card {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero-card span,
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero-card small {
    color: #64748b;
    font-size: 0.8rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-hero-card strong {
    color: #1e3a8a;
    font-size: 1rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
    gap: 1.25rem;
    align-items: start;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-panel {
    overflow: hidden;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(248, 250, 252, 0.88);
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-panel-head h3 {
    margin: 0.2rem 0 0;
    color: #111827;
    font-size: 1.05rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-form,
.teacher-mark-scheme-generator-page .mark-scheme-generator-output-panel > textarea,
.teacher-mark-scheme-generator-page .mark-scheme-generator-preview {
    margin: 1.1rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-pack-block {
    margin-top: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 14px;
    background: #fff;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-pack-block summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 0.9rem;
    cursor: pointer;
    font-weight: 800;
    color: #1f2937;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-pack-block summary small {
    color: #64748b;
    font-weight: 700;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-pack-body {
    padding: 0 0.9rem 0.9rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-textarea-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-top: 1rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-textarea-head small {
    display: block;
    color: #64748b;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-source,
.teacher-mark-scheme-generator-page .mark-scheme-generator-output {
    min-height: 17rem;
    resize: vertical;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-output {
    width: calc(100% - 2.2rem);
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-preview {
    min-height: 12rem;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 14px;
    background: #f8fafc;
    color: #1f2937;
    line-height: 1.55;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-preview h2,
.teacher-mark-scheme-generator-page .mark-scheme-generator-preview h3,
.teacher-mark-scheme-generator-page .mark-scheme-generator-preview h4 {
    margin: 0.8rem 0 0.35rem;
    color: #111827;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-empty,
.teacher-mark-scheme-generator-page .mark-scheme-generator-status {
    color: #64748b;
    font-size: 0.86rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions {
    align-items: center;
    margin-top: 1rem;
}
.teacher-mark-scheme-generator-page .mark-scheme-generator-recent .table thead th {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(248, 250, 252, 0.9);
}
@media (max-width: 1199.98px) {
    .teacher-mark-scheme-generator-page .mark-scheme-generator-grid,
    .teacher-mark-scheme-generator-page .mark-scheme-generator-hero {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .teacher-mark-scheme-generator-page .mark-scheme-generator-fields {
        grid-template-columns: 1fr;
    }
    .teacher-mark-scheme-generator-page .mark-scheme-generator-textarea-head {
        align-items: stretch;
        flex-direction: column;
    }
}
/* ===== teacher-mark-scheme-generator-page END ===== */

/* ===== teacher-coursework-review-queue-page START ===== */
.teacher-coursework-review-queue-page .tcq-filter-card,
.teacher-coursework-review-queue-page .tcq-metric-card,
.teacher-coursework-review-queue-page .tcq-intro-card,
.teacher-coursework-review-queue-page #submissionPreview,
.teacher-coursework-review-queue-page .tcq-assignment-group {
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.045);
    overflow: hidden;
}
.teacher-coursework-review-queue-page .tcq-filter-card .card-body,
.teacher-coursework-review-queue-page .tcq-intro-card .card-body,
.teacher-coursework-review-queue-page #submissionPreview .card-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.teacher-coursework-review-queue-page .tcq-metric-card {
    min-height: 118px;
    background: #fff;
}
.teacher-coursework-review-queue-page .tcq-metric-card-neutral { border-color: rgba(226, 232, 240, 0.96); }
.teacher-coursework-review-queue-page .tcq-metric-card-warning { border-color: rgba(253, 230, 138, 0.96); }
.teacher-coursework-review-queue-page .tcq-metric-card-info { border-color: rgba(191, 219, 254, 0.96); }
.teacher-coursework-review-queue-page .tcq-metric-card-danger { border-color: rgba(254, 202, 202, 0.96); }
.teacher-coursework-review-queue-page .tcq-metric-card-success { border-color: rgba(187, 247, 208, 0.96); }
.teacher-coursework-review-queue-page .tcq-metric-card-primary { border-color: rgba(221, 214, 254, 0.96); }
.teacher-coursework-review-queue-page .tcq-assignment-group {
    background: #fff;
}
.teacher-coursework-review-queue-page .tcq-assignment-summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 1.15rem;
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.08) 0%, transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 255, 0.96) 100%);
}
.teacher-coursework-review-queue-page .tcq-assignment-summary::-webkit-details-marker {
    display: none;
}
.teacher-coursework-review-queue-page .tcq-summary-meta .badge {
    border-radius: 999px;
}
.teacher-coursework-review-queue-page .tcq-collapse-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    transition: transform 0.18s ease;
}
.teacher-coursework-review-queue-page .tcq-assignment-group[open] .tcq-collapse-indicator {
    transform: rotate(180deg);
}
.teacher-coursework-review-queue-page .tcq-assignment-shell {
    border-top: 1px solid #eef2f7;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0.98) 100%);
}
.teacher-coursework-review-queue-page .tcq-assignment-shell .table {
    margin-bottom: 0;
}
.teacher-coursework-review-queue-page .tcq-assignment-shell tbody tr:hover {
    background: rgba(248, 250, 252, 0.8);
}
@media (max-width: 991.98px) {
    .teacher-coursework-review-queue-page .tcq-assignment-summary {
        padding: 0.95rem 1rem;
    }
}
/* ===== teacher-coursework-review-queue-page END ===== */

/* ===== teacher-grade-page START ===== */
.teacher-grade-page .question-grade-item {
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.teacher-grade-page .option-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.teacher-grade-page .option-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: #fff;
}
.teacher-grade-page .option-row.is-correct {
    border-color: #28a745;
    background: rgba(40, 167, 69, 0.08);
}
.teacher-grade-page .option-row.is-student {
    box-shadow: inset 0 0 0 2px rgba(99, 102, 241, 0.2);
}
.teacher-grade-page .option-letter {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #475569;
    background: #f8fafc;
    flex: 0 0 auto;
}
.teacher-grade-page .option-text {
    flex: 1 1 auto;
}
.teacher-grade-page .option-tags {
    display: inline-flex;
    gap: 6px;
    flex: 0 0 auto;
}
.teacher-grade-page .grade-evidence-card {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.82);
    padding: 1rem;
}
.teacher-grade-page .grade-evidence-title {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gray-500);
    font-weight: 700;
    margin-bottom: 0.35rem;
}
.teacher-grade-page .grade-evidence-summary {
    color: var(--gray-700);
    font-weight: 500;
}
.teacher-grade-page .grade-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
}
.teacher-grade-page .grade-evidence-block {
    border-radius: 12px;
    padding: 0.8rem 0.9rem;
    border: 1px solid transparent;
}
.teacher-grade-page .grade-evidence-block.tone-success {
    background: rgba(240, 253, 244, 0.9);
    border-color: #bbf7d0;
}
.teacher-grade-page .grade-evidence-block.tone-warning {
    background: rgba(255, 251, 235, 0.95);
    border-color: #fde68a;
}
.teacher-grade-page .grade-evidence-block.tone-danger {
    background: rgba(254, 242, 242, 0.92);
    border-color: #fecaca;
}
.teacher-grade-page .grade-evidence-block.tone-info,
.teacher-grade-page .grade-evidence-block.tone-secondary {
    background: rgba(241, 245, 249, 0.92);
    border-color: #cbd5e1;
}
.teacher-grade-page .grade-evidence-block-title {
    font-weight: 700;
    font-size: 0.84rem;
    margin-bottom: 0.35rem;
}
.teacher-grade-page .grade-evidence-list {
    margin: 0;
    padding-left: 1rem;
    color: var(--gray-600);
    font-size: 0.82rem;
}
.teacher-grade-page .grade-ao-row {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(120px, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}
.teacher-grade-page .grade-ao-row + .grade-ao-row {
    margin-top: 0.6rem;
}
.teacher-grade-page .grade-ao-label {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.8rem;
    color: var(--gray-600);
}
.teacher-grade-page .grade-ao-bar {
    height: 10px;
    background: rgba(148, 163, 184, 0.18);
    border-radius: 999px;
    overflow: hidden;
}
.teacher-grade-page .grade-ao-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #4f46e5, #6366f1);
}
.teacher-grade-page .grade-ao-score {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--gray-700);
}
.teacher-grade-page .grade-technical-details {
    border-top: 1px solid var(--border-color);
    padding-top: 0.85rem;
}
.teacher-grade-page .grade-technical-details summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--gray-600);
}
.paper-test-technical-details,
.template-review-technical-details {
    overflow: hidden;
}
.paper-test-technical-details > summary,
.template-review-technical-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    cursor: pointer;
    list-style: none;
}
.paper-test-technical-details > summary::-webkit-details-marker,
.template-review-technical-details > summary::-webkit-details-marker {
    display: none;
}
.paper-test-technical-title,
.template-review-technical-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #1e3a8a;
    font-weight: 800;
}
.paper-test-technical-note,
.template-review-technical-note {
    color: #64748b;
    font-size: 0.86rem;
    flex: 1 1 auto;
}
.paper-test-technical-toggle,
.template-review-technical-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c7d2fe;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: #1d4ed8;
    font-size: 0;
    font-weight: 800;
    padding: 0.28rem 0.65rem;
    white-space: nowrap;
}
.paper-test-technical-toggle::after,
.template-review-technical-toggle::after {
    content: "Show details";
    font-size: 0.78rem;
}
.paper-test-technical-details[open] .paper-test-technical-toggle::after,
.template-review-technical-details[open] .template-review-technical-toggle::after {
    content: "Hide details";
}
.paper-test-technical-body,
.template-review-technical-body {
    border-top: 1px solid rgba(148, 163, 184, 0.28);
    margin-top: 0.85rem;
    padding-top: 0.85rem;
}
@media (max-width: 767.98px) {
    .paper-test-technical-details > summary,
    .template-review-technical-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
}
.teacher-grade-page .js-answer-save-status,
.teacher-grade-page .js-ai-feedback-status {
    min-height: 1.1rem;
}
.teacher-grade-page .teacher-feedback-preview {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.88);
    padding: 1rem 1.05rem;
    color: var(--gray-700);
    line-height: 1.6;
    white-space: normal;
}
.teacher-grade-page .teacher-feedback-preview.is-empty {
    color: var(--gray-500);
    font-style: italic;
}
/* ===== teacher-grade-page END ===== */

/* ===== teacher-paper-test-grade-page START ===== */
.teacher-paper-test-grade-page .paper-gradebook-current {
        background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    }
    .assessment-filter-disabled {
        opacity: 0.55;
        cursor: not-allowed;
        pointer-events: none;
    }
    .assessment-action-dropdown .dropdown-menu {
        min-width: 13.5rem;
    }
    .teacher-paper-test-grade-page .paper-gradebook-card {
        scroll-margin-top: 110px;
    }
    .teacher-paper-test-grade-page .paper-gradebook-collapse[hidden] {
        display: none !important;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.44);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1080;
        padding: 24px;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__card {
        width: min(460px, 100%);
        background: #ffffff;
        border-radius: 24px;
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
        padding: 28px 28px 24px;
        text-align: center;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__spinner {
        width: 56px;
        height: 56px;
        margin: 0 auto 16px;
        border-radius: 999px;
        border: 4px solid rgba(79, 70, 229, 0.16);
        border-top-color: #4f46e5;
        animation: paper-ai-spin 0.8s linear infinite;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__title {
        margin: 0 0 8px;
        font-size: 1.45rem;
        font-weight: 700;
        color: #14213d;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__text {
        margin: 0 0 18px;
        color: #475569;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__progress {
        width: 100%;
        height: 10px;
        border-radius: 999px;
        background: #e2e8f0;
        overflow: hidden;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__progress-bar {
        height: 100%;
        width: 5%;
        border-radius: 999px;
        background: linear-gradient(90deg, #4f46e5 0%, #06b6d4 100%);
        transition: width 400ms ease;
    }
    .teacher-paper-test-grade-page .paper-ai-overlay__meta {
        margin-top: 10px;
        font-size: 0.95rem;
        color: #64748b;
    }
    .teacher-paper-test-grade-page .paper-ocr-preview {
        display: grid;
        gap: 0.75rem;
    }
    .teacher-paper-test-grade-page .paper-ocr-block {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 0.75rem 0.85rem;
    }
    .teacher-paper-test-grade-page .paper-ocr-block.is-question {
        border-left: 4px solid #2563eb;
        padding-left: 0.7rem;
    }
    .teacher-paper-test-grade-page .paper-ocr-block-table {
        padding: 0;
        overflow: hidden;
    }
    .teacher-paper-test-grade-page .paper-ocr-line {
        color: #1e293b;
        line-height: 1.55;
        margin-bottom: 0.35rem;
        white-space: pre-wrap;
    }
    .teacher-paper-test-grade-page .paper-ocr-line:last-child {
        margin-bottom: 0;
    }
    .teacher-paper-test-grade-page .paper-ocr-line.is-meta {
        color: #475569;
        font-weight: 600;
    }
    .teacher-paper-test-grade-page .paper-ocr-math {
        font-family: "Consolas", "Courier New", monospace;
        font-size: 0.9rem;
        color: #1d4ed8;
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        border-radius: 8px;
        padding: 0.55rem 0.65rem;
        margin-bottom: 0.35rem;
        white-space: pre-wrap;
    }
    .teacher-paper-test-grade-page .paper-ocr-math:last-child {
        margin-bottom: 0;
    }
    .teacher-paper-test-grade-page .paper-ocr-table thead th {
        background: #eff6ff;
        color: #1d4ed8;
        font-weight: 700;
        border-bottom: 1px solid #dbeafe;
    }
    .teacher-paper-test-grade-page .paper-ocr-table tbody tr:nth-child(even) {
        background: #f8fafc;
    }
    @keyframes paper-ai-spin {
        to { transform: rotate(360deg); }
    }
/* ===== teacher-paper-test-grade-page END ===== */

/* ===== teacher-paper-test-template-review-page START ===== */
.teacher-paper-test-template-review-page .page-content {
        --template-ink: #122033;
        --template-muted: #5f6f86;
        --template-line: #d7e0ef;
        --template-line-strong: #b7c8e5;
        --template-surface: rgba(255, 255, 255, 0.92);
        --template-surface-soft: #f7faff;
        --template-accent: #355dff;
        --template-accent-strong: #1f3fd1;
        --template-aura: rgba(53, 93, 255, 0.14);
        --template-gold: #d97706;
        --template-rose: #dc2626;
        --template-emerald: #059669;
    }
    .teacher-paper-test-template-review-page .template-review-card {
        overflow: hidden;
        border: 0;
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.84);
        box-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
    }
    .teacher-paper-test-template-review-page .template-review-card > .card-header {
        border-bottom: 1px solid rgba(183, 200, 229, 0.7);
        background:
            radial-gradient(circle at top right, rgba(53, 93, 255, 0.12), transparent 48%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 250, 255, 0.96) 100%);
        padding: 1.15rem 1.4rem;
    }
    .teacher-paper-test-template-review-page .template-review-card > .card-header .card-title {
        color: var(--template-ink);
        font-family: "Georgia", "Times New Roman", serif;
        font-size: 1.15rem;
        font-weight: 700;
        letter-spacing: -0.02em;
    }
    .teacher-paper-test-template-review-page .template-review-hero {
        position: relative;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        border: 1px solid #dbe7ff;
        border-radius: 22px;
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.07);
        overflow: hidden;
    }
    .teacher-paper-test-template-review-page .template-review-hero::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 6px;
        background: linear-gradient(90deg, #2f55f5 0%, #6d8bff 52%, #afc4ff 100%);
    }
    .teacher-paper-test-template-review-page .template-review-stat {
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(183, 200, 229, 0.7);
        border-radius: 18px;
        box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
        padding: 1rem 1.1rem;
        height: 100%;
        backdrop-filter: blur(10px);
    }
    .teacher-paper-test-template-review-page .template-review-stat-label {
        color: var(--template-muted);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }
    .teacher-paper-test-template-review-page .template-review-stat-value {
        color: var(--template-ink);
        font-family: "Georgia", "Times New Roman", serif;
        font-size: 1.7rem;
        font-weight: 700;
        line-height: 1.1;
        margin-top: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-stat-note {
        color: var(--template-muted);
        font-size: 0.92rem;
        margin-top: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.55rem 0.8rem;
        border-radius: 999px;
        font-size: 0.9rem;
        font-weight: 600;
        background: rgba(238, 242, 255, 0.88);
        color: #21348c;
        border: 1px solid rgba(130, 156, 255, 0.45);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    .teacher-paper-test-template-review-page .template-review-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }
    .teacher-paper-test-template-review-page .template-review-panel {
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid rgba(183, 200, 229, 0.74);
        border-radius: 18px;
        padding: 1rem 1.1rem;
        height: 100%;
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
    }
    .teacher-paper-test-template-review-page .template-review-panel.is-danger {
        border-color: #fecaca;
        background: #fff7f7;
    }
    .teacher-paper-test-template-review-page .template-review-panel.is-warning {
        border-color: #fde68a;
        background: #fffaf0;
    }
    .teacher-paper-test-template-review-page .template-review-panel.is-success {
        border-color: #bbf7d0;
        background: #f7fff9;
    }
    .teacher-paper-test-template-review-page .template-review-panel-title {
        color: #0f172a;
        font-size: 0.95rem;
        font-weight: 700;
        margin-bottom: 0.6rem;
    }
    .teacher-paper-test-template-review-page .template-review-list {
        margin: 0;
        padding-left: 1.1rem;
    }
    .teacher-paper-test-template-review-page .template-review-list li + li {
        margin-top: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-details {
        border-top: 1px dashed #dbeafe;
        margin-top: 1rem;
        padding-top: 0.85rem;
    }
    .teacher-paper-test-template-review-page .template-review-details summary {
        cursor: pointer;
        color: #1d4ed8;
        font-weight: 600;
        list-style: none;
    }
    .teacher-paper-test-template-review-page .template-review-details summary::-webkit-details-marker {
        display: none;
    }
    .teacher-paper-test-template-review-page .template-review-details-body {
        color: #475569;
        font-size: 0.92rem;
        margin-top: 0.75rem;
    }
    .teacher-paper-test-template-review-page .template-review-details-line + .template-review-details-line {
        margin-top: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-progress {
        margin-top: 1rem;
        padding: 1rem 1.1rem;
        border: 1px solid rgba(163, 191, 250, 0.68);
        border-radius: 20px;
        background:
            radial-gradient(circle at top right, rgba(53, 93, 255, 0.08), transparent 35%),
            linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    }
    .teacher-paper-test-template-review-page .template-review-progress__header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.9rem;
    }
    .teacher-paper-test-template-review-page .template-review-progress__title {
        color: #0f172a;
        font-size: 1rem;
        font-weight: 700;
    }
    .teacher-paper-test-template-review-page .template-review-progress__badge {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.4rem 0.7rem;
        border-radius: 999px;
        font-size: 0.8rem;
        font-weight: 700;
    }
    .teacher-paper-test-template-review-page .template-review-progress__badge--success {
        background: #ecfdf5;
        color: #047857;
    }
    .teacher-paper-test-template-review-page .template-review-progress__badge--info {
        background: #eff6ff;
        color: #1d4ed8;
    }
    .teacher-paper-test-template-review-page .template-review-progress__badge--secondary {
        background: #f1f5f9;
        color: #475569;
    }
    .teacher-paper-test-template-review-page .template-review-progress__badge--warning {
        background: #fff7ed;
        color: #c2410c;
    }
    .teacher-paper-test-template-review-page .template-review-progress__meta {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.75rem;
        margin-bottom: 0.9rem;
    }
    .teacher-paper-test-template-review-page .template-review-progress__meta-card {
        padding: 0.8rem 0.9rem;
        border: 1px solid #e2e8f0;
        border-radius: 14px;
        background: #fff;
    }
    .teacher-paper-test-template-review-page .template-review-progress__meta-label {
        color: #64748b;
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
    .teacher-paper-test-template-review-page .template-review-progress__meta-value {
        color: #0f172a;
        font-size: 0.96rem;
        font-weight: 700;
        margin-top: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-progress__timeline {
        display: grid;
        gap: 0.7rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .teacher-paper-test-template-review-page .template-review-progress__step {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0.75rem;
        align-items: start;
        padding: 0.8rem 0.9rem;
        border: 1px solid rgba(183, 200, 229, 0.7);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.88);
    }
    .teacher-paper-test-template-review-page .template-review-progress__dot {
        width: 0.85rem;
        height: 0.85rem;
        border-radius: 999px;
        margin-top: 0.25rem;
        background: #cbd5e1;
        box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.85);
    }
    .teacher-paper-test-template-review-page .template-review-progress__step--complete .template-review-progress__dot {
        background: #10b981;
    }
    .teacher-paper-test-template-review-page .template-review-progress__step--current .template-review-progress__dot {
        background: #2563eb;
        box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.16);
    }
    .teacher-paper-test-template-review-page .template-review-progress__step-label {
        color: #0f172a;
        font-size: 0.92rem;
        font-weight: 700;
    }
    .teacher-paper-test-template-review-page .template-review-progress__step-detail {
        color: #475569;
        font-size: 0.86rem;
        margin-top: 0.2rem;
        line-height: 1.45;
    }
    .teacher-paper-test-template-review-page .template-review-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 1rem 1.05rem;
        border: 1px solid rgba(183, 200, 229, 0.72);
        border-radius: 20px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 255, 0.98) 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .teacher-paper-test-template-review-page .template-review-toolbar .btn {
        border-radius: 999px;
        padding-inline: 1rem;
    }
    .teacher-paper-test-template-review-page .template-review-section-intro {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 0.9rem;
    }
    .teacher-paper-test-template-review-page .template-review-section-kicker {
        color: var(--template-muted);
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        margin-bottom: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-section-heading {
        color: var(--template-ink);
        font-family: "Georgia", "Times New Roman", serif;
        font-size: 1.3rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        margin: 0;
    }
    .teacher-paper-test-template-review-page .template-review-section-note {
        color: var(--template-muted);
        font-size: 0.94rem;
        max-width: 48rem;
    }
    .teacher-paper-test-template-review-page .template-review-section-card {
        position: relative;
        border: 1px solid rgba(183, 200, 229, 0.76);
        border-radius: 22px;
        padding: 1.1rem 1.15rem 1.15rem;
        background: linear-gradient(180deg, rgba(248, 251, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
        box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
        overflow: hidden;
    }
    .teacher-paper-test-template-review-page .template-review-section-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 7px;
        background: linear-gradient(180deg, #2f55f5 0%, #7590ff 52%, #cbd8ff 100%);
    }
    .teacher-paper-test-template-review-page .template-review-section-title {
        color: var(--template-ink);
        font-size: 1.05rem;
        font-weight: 700;
    }
    .teacher-paper-test-template-review-page .template-review-section-meta {
        color: var(--template-muted);
        font-size: 0.9rem;
        margin-top: 0.2rem;
    }
    .teacher-paper-test-template-review-page .template-review-chip-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-top: 0.65rem;
    }
    .teacher-paper-test-template-review-page .template-review-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.38rem 0.68rem;
        border-radius: 999px;
        border: 1px solid rgba(183, 200, 229, 0.8);
        background: rgba(255, 255, 255, 0.92);
        color: #31435d;
        font-size: 0.78rem;
        font-weight: 600;
    }
    .teacher-paper-test-template-review-page .template-review-chip--danger {
        border-color: rgba(248, 113, 113, 0.45);
        background: rgba(254, 242, 242, 0.94);
        color: #b91c1c;
    }
    .teacher-paper-test-template-review-page .template-review-chip--warning {
        border-color: rgba(251, 191, 36, 0.48);
        background: rgba(255, 251, 235, 0.95);
        color: #b45309;
    }
    .teacher-paper-test-template-review-page .template-review-chip--info {
        border-color: rgba(96, 165, 250, 0.46);
        background: rgba(239, 246, 255, 0.95);
        color: #1d4ed8;
    }
    .teacher-paper-test-template-review-page .template-review-section-side {
        min-width: 11rem;
        border: 1px solid rgba(183, 200, 229, 0.7);
        border-radius: 18px;
        padding: 0.75rem 0.85rem;
        background: rgba(255, 255, 255, 0.84);
    }
    .teacher-paper-test-template-review-page .template-review-section-side-title {
        color: var(--template-muted);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 0.35rem;
    }
    .teacher-paper-test-template-review-page .template-review-section-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
        margin-top: 1rem;
    }
    .teacher-paper-test-template-review-page .template-review-item-card {
        height: 100%;
        border: 1px solid rgba(183, 200, 229, 0.72);
        border-radius: 18px;
        padding: 0.9rem 0.95rem;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
    }
    .teacher-paper-test-template-review-page .template-review-item-card--warning {
        border-color: rgba(251, 191, 36, 0.44);
        background: rgba(255, 251, 235, 0.96);
    }
    .teacher-paper-test-template-review-page .template-review-item-card--danger {
        border-color: rgba(248, 113, 113, 0.4);
        background: rgba(255, 245, 245, 0.96);
    }
    .teacher-paper-test-template-review-page .template-review-item-meta {
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: 0.75rem;
    }
    .teacher-paper-test-template-review-page .template-review-item-title {
        color: var(--template-ink);
        font-size: 0.96rem;
        font-weight: 700;
    }
    .teacher-paper-test-template-review-page .template-review-item-parent {
        color: var(--template-muted);
        font-size: 0.82rem;
        margin-top: 0.15rem;
    }
    .teacher-paper-test-template-review-page .template-review-item-marks {
        color: var(--template-accent-strong);
        font-size: 0.8rem;
        font-weight: 700;
        white-space: nowrap;
    }
    .teacher-paper-test-template-review-page .template-review-item-alert {
        margin-top: 0.55rem;
        font-size: 0.82rem;
        font-weight: 600;
    }
    .teacher-paper-test-template-review-page .template-review-item-alert--danger {
        color: var(--template-rose);
    }
    .teacher-paper-test-template-review-page .template-review-item-alert--warning {
        color: var(--template-gold);
    }
    .teacher-paper-test-template-review-page .template-review-item-flags {
        color: var(--template-muted);
        font-size: 0.8rem;
        margin-top: 0.4rem;
    }
    .teacher-paper-test-template-review-page .template-review-evidence-label {
        color: var(--template-muted);
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin-top: 0.75rem;
    }
    .teacher-paper-test-template-review-page .template-review-evidence {
        border: 1px solid rgba(183, 200, 229, 0.72);
        border-radius: 14px;
        padding: 0.7rem 0.8rem;
        margin-top: 0.4rem;
        background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
        color: #31435d;
        font-size: 0.82rem;
        white-space: pre-wrap;
        max-height: 7rem;
        overflow: auto;
    }
    .teacher-paper-test-template-review-page .template-review-editor-header {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        padding: 1rem 1.1rem;
        margin-bottom: 1rem;
        border: 1px solid rgba(183, 200, 229, 0.76);
        border-radius: 20px;
        background:
            radial-gradient(circle at top right, rgba(53, 93, 255, 0.08), transparent 34%),
            linear-gradient(180deg, rgba(248, 251, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
    }
    .teacher-paper-test-template-review-page .template-review-editor-title {
        color: var(--template-ink);
        font-family: "Georgia", "Times New Roman", serif;
        font-size: 1.18rem;
        font-weight: 700;
        margin: 0;
    }
    .teacher-paper-test-template-review-page .template-review-editor-subtitle {
        color: var(--template-muted);
        font-size: 0.92rem;
        margin-top: 0.25rem;
    }
    .teacher-paper-test-template-review-page .template-review-table-wrap {
        border: 1px solid rgba(183, 200, 229, 0.78);
        border-radius: 14px;
        background: #f6f8fc;
        box-shadow: 0 16px 32px rgba(15, 23, 42, 0.05);
        max-width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        padding: 0.85rem;
    }
    .teacher-paper-test-template-review-page .template-review-table {
        display: block;
        width: 100%;
        max-width: 100%;
        border-collapse: separate;
        margin-bottom: 0;
    }
    .teacher-paper-test-template-review-page .template-review-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }
    .teacher-paper-test-template-review-page .template-review-table tbody {
        display: grid;
        gap: 0.95rem;
    }
    .teacher-paper-test-template-review-page .template-review-table tr {
        display: grid;
        grid-template-columns: minmax(7.25rem, 0.9fr) minmax(7.25rem, 0.9fr) minmax(5.75rem, 0.65fr) minmax(0, 1.8fr) minmax(0, 1.8fr) minmax(8.75rem, 0.9fr) minmax(6.5rem, 0.65fr);
        grid-template-areas:
            "label parent marks review review remove remove"
            "question question question question scheme scheme scheme";
        gap: 0.85rem;
        align-items: start;
        padding: 1rem;
        border: 1px solid rgba(183, 200, 229, 0.76);
        border-radius: 10px;
        background: #ffffff;
        box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td {
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0;
        border: 0;
        vertical-align: top;
        background: transparent;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(1) {
        grid-area: label;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(2) {
        grid-area: parent;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(3) {
        grid-area: marks;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(4) {
        grid-area: question;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(5) {
        grid-area: scheme;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(6) {
        grid-area: review;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(7) {
        grid-area: remove;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td::before {
        display: block;
        margin-bottom: 0.35rem;
        color: var(--template-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(1)::before {
        content: "Label";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(2)::before {
        content: "Parent";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(3)::before {
        content: "Marks";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(4)::before {
        content: "Question";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(5)::before {
        content: "Mark scheme";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(6)::before {
        content: "Review";
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(7)::before {
        content: "Remove";
    }
    .teacher-paper-test-template-review-page .template-review-table .form-control,
    .teacher-paper-test-template-review-page .template-review-table textarea {
        max-width: 100%;
        min-width: 0;
        border-color: rgba(183, 200, 229, 0.95);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
    }
    .teacher-paper-test-template-review-page .template-review-table textarea {
        min-height: 8.75rem;
        resize: vertical;
        line-height: 1.5;
    }
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(4) textarea:first-child,
    .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(5) textarea {
        min-height: 9.5rem;
    }
    .teacher-paper-test-template-review-page .template-review-table .form-control:focus,
    .teacher-paper-test-template-review-page .template-review-table textarea:focus {
        border-color: rgba(53, 93, 255, 0.9);
        box-shadow: 0 0 0 4px rgba(53, 93, 255, 0.12);
    }
    .teacher-paper-test-template-review-page .template-review-meta-cell .small + .small {
        margin-top: 0.18rem;
    }
    .teacher-paper-test-template-review-page .template-review-row--review {
        border-color: rgba(251, 191, 36, 0.52) !important;
        background: #fffdf5 !important;
    }
    .teacher-paper-test-template-review-page .template-review-row--warning {
        border-color: rgba(251, 191, 36, 0.52) !important;
        background: #fff8ed !important;
    }
    .teacher-paper-test-template-review-page .template-review-row--error {
        border-color: rgba(248, 113, 113, 0.5) !important;
        background: #fff6f6 !important;
    }
    .teacher-paper-test-template-review-page .template-review-row--new {
        border-style: dashed !important;
        background: #f8fbff !important;
    }
    .teacher-paper-test-template-review-page .template-review-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.75rem;
    }
    @media (max-width: 1200px) {.teacher-paper-test-template-review-page .template-review-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .teacher-paper-test-template-review-page .template-review-progress__meta {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .teacher-paper-test-template-review-page .template-review-section-grid {
            grid-template-columns: 1fr;
        }
        .teacher-paper-test-template-review-page .template-review-table tr {
            grid-template-columns: repeat(6, minmax(0, 1fr));
            grid-template-areas:
                "label label parent parent marks marks"
                "question question question scheme scheme scheme"
                "review review review remove remove remove";
        }
}
    @media (max-width: 767px) {.teacher-paper-test-template-review-page .template-review-grid {
            grid-template-columns: 1fr;
        }
        .teacher-paper-test-template-review-page .template-review-progress__meta {
            grid-template-columns: 1fr;
        }
        .teacher-paper-test-template-review-page .template-review-stat-value {
            font-size: 1.45rem;
        }
        .teacher-paper-test-template-review-page .template-review-toolbar,
        .teacher-paper-test-template-review-page .template-review-editor-header {
            align-items: flex-start;
            padding: 0.9rem;
        }
        .teacher-paper-test-template-review-page .template-review-editor-header > div:first-child {
            width: 100%;
            min-width: 0;
        }
        .teacher-paper-test-template-review-page .template-review-editor-subtitle {
            overflow-wrap: anywhere;
        }
        .teacher-paper-test-template-review-page .template-review-chip {
            max-width: 100%;
        }
        .teacher-paper-test-template-review-page .template-review-section-card {
            padding: 1rem;
        }
        .teacher-paper-test-template-review-page .template-review-table-wrap {
            padding: 0.65rem;
            border-radius: 10px;
        }
        .teacher-paper-test-template-review-page .template-review-table tr {
            grid-template-columns: 1fr;
            grid-template-areas:
                "label"
                "parent"
                "marks"
                "question"
                "scheme"
                "review"
                "remove";
            padding: 0.8rem;
        }
        .teacher-paper-test-template-review-page .template-review-table textarea,
        .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(4) textarea:first-child,
        .teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(5) textarea {
            min-height: 7.5rem;
        }
}
/* ===== teacher-paper-test-template-review-page END ===== */

/* ===== teacher-results-page START ===== */
.teacher-results-page .student-results-hero {
        display: grid;
        grid-template-columns: minmax(0, 1.65fr) auto;
        gap: 1.25rem;
        align-items: center;
        margin-bottom: 1.15rem;
        padding: 1.35rem 1.45rem;
        border: 1px solid rgba(147, 197, 253, 0.42);
        border-radius: 26px;
        background:
            radial-gradient(circle at top left, rgba(59, 130, 246, 0.15), transparent 34%),
            radial-gradient(circle at top right, rgba(20, 184, 166, 0.12), transparent 28%),
            linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        box-shadow: 0 22px 50px rgba(15, 23, 42, 0.08);
    }

    .teacher-results-page .student-results-hero__eyebrow {
        margin-bottom: 0.45rem;
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #2563eb;
    }

    .teacher-results-page .student-results-hero__title {
        margin: 0;
        font-size: clamp(1.45rem, 2vw, 2rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        color: #0f172a;
    }

    .teacher-results-page .student-results-hero__lede {
        margin: 0.45rem 0 0;
        max-width: 68ch;
        color: #475569;
        line-height: 1.55;
    }

    .teacher-results-page .student-results-hero__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.65rem 1rem;
        margin-top: 0.9rem;
        color: #334155;
        font-size: 0.92rem;
    }

    .teacher-results-page .student-results-hero__meta span {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
    }

    .teacher-results-page .student-results-hero__subjects {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
        margin-top: 0.95rem;
    }

    .teacher-results-page .student-subject-pill {
        display: inline-flex;
        align-items: center;
        padding: 0.42rem 0.75rem;
        border-radius: 999px;
        background: rgba(37, 99, 235, 0.08);
        border: 1px solid rgba(59, 130, 246, 0.16);
        color: #1d4ed8;
        font-size: 0.8rem;
        font-weight: 700;
    }

    .teacher-results-page .student-subject-pill--muted {
        background: rgba(226, 232, 240, 0.75);
        border-color: rgba(203, 213, 225, 0.95);
        color: #475569;
    }

    .teacher-results-page .student-results-hero__actions {
        display: flex;
        flex-direction: column;
        gap: 0.7rem;
        align-items: stretch;
        min-width: 220px;
    }

    .teacher-results-page .student-results-summary {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.95rem;
        margin-bottom: 1.15rem;
    }

    .teacher-results-page .student-summary-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.9rem;
        align-items: start;
        padding: 1rem 1.05rem;
        border: 1px solid rgba(226, 232, 240, 0.96);
        border-radius: 22px;
        background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
        box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
    }

    .teacher-results-page .student-summary-card__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 16px;
        background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
        color: #fff;
        font-size: 0.9rem;
        box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22);
    }

    .teacher-results-page .student-summary-card__label {
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #64748b;
    }

    .teacher-results-page .student-summary-card__value {
        margin-top: 0.22rem;
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.03em;
        color: #0f172a;
    }

    .teacher-results-page .student-summary-card__meta {
        margin-top: 0.35rem;
        color: #475569;
        font-size: 0.82rem;
        line-height: 1.45;
    }

    .teacher-results-page .student-results-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
        gap: 1.75rem;
        margin-top: 1.75rem;
        align-items: start;
    }

    .teacher-results-page .student-results-stack {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
    }

    .teacher-results-page .student-results-card--timeline {
        order: 1;
    }

    .teacher-results-page .student-results-card--online {
        order: 2;
    }

    .teacher-results-page .student-results-card--coursework {
        order: 3;
    }

    .teacher-results-page .student-results-card--paper {
        order: 4;
    }

    .teacher-results-page .student-results-card--adaptive {
        order: 5;
    }

    .teacher-results-page .student-results-card {
        overflow: hidden;
        border: 1px solid rgba(148, 163, 184, 0.18);
        border-radius: 22px;
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
        background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
        position: relative;
    }

    .teacher-results-page .student-results-card::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, #cbd5e1 0%, rgba(203, 213, 225, 0) 100%);
    }

    .teacher-results-page .student-results-card--timeline::before {
        background: linear-gradient(90deg, #2563eb 0%, rgba(37, 99, 235, 0.08) 100%);
    }

    .teacher-results-page .student-results-card--adaptive::before {
        background: linear-gradient(90deg, #7c3aed 0%, rgba(124, 58, 237, 0.08) 100%);
    }

    .teacher-results-page .student-results-card--online::before {
        background: linear-gradient(90deg, #0f766e 0%, rgba(20, 184, 166, 0.08) 100%);
    }

    .teacher-results-page .student-results-card--coursework::before {
        background: linear-gradient(90deg, #059669 0%, rgba(16, 185, 129, 0.08) 100%);
    }

    .teacher-results-page .student-results-card--followup::before {
        background: linear-gradient(90deg, #ea580c 0%, rgba(249, 115, 22, 0.08) 100%);
    }

    .teacher-results-page .student-results-card--paper::before {
        background: linear-gradient(90deg, #d97706 0%, rgba(245, 158, 11, 0.08) 100%);
    }

    .teacher-results-page .exam-results-stack {
        grid-template-columns: 1fr;
    }

    .teacher-results-page .exam-results-student-card,
    .teacher-results-page .exam-gradebook-card {
        width: 100%;
    }

    .teacher-results-page .exam-gradebook-card {
        scroll-margin-top: 110px;
    }

    .teacher-results-page #adaptive-practice-results {
        scroll-margin-top: 110px;
    }

    .teacher-results-page .exam-gradebook-collapse[hidden] {
        display: none !important;
    }

    .teacher-results-page .student-panel-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
        padding: 1rem 1.2rem 0.95rem;
        background: linear-gradient(180deg, #fcfdff 0%, #f7fbff 100%);
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    }

    .teacher-results-page .student-panel-header .card-title {
        font-size: 1.08rem;
        letter-spacing: -0.02em;
        color: #0f172a;
    }

    .teacher-results-page .student-panel-header .small {
        line-height: 1.45;
        max-width: 62ch;
    }

    .teacher-results-page .student-panel-header .badge {
        border-radius: 999px;
        padding: 0.45rem 0.7rem;
        font-size: 0.74rem;
        font-weight: 700;
    }

    .teacher-results-page .student-panel-tools {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-wrap: wrap;
        padding: 0.5rem 0.75rem;
        border: 1px solid rgba(191, 219, 254, 0.9);
        border-radius: 999px;
        background: rgba(248, 250, 252, 0.92);
    }

    .teacher-results-page .results-export-menu {
        position: relative;
        margin: 0;
    }

    .teacher-results-page .results-export-menu summary {
        list-style: none;
    }

    .teacher-results-page .results-export-menu summary::-webkit-details-marker {
        display: none;
    }

    .teacher-results-page .results-export-menu[open] .results-export-menu__panel {
        display: flex;
    }

    .teacher-results-page .results-export-menu__panel {
        position: absolute;
        right: 0;
        top: calc(100% + 0.5rem);
        min-width: 220px;
        display: none;
        flex-direction: column;
        padding: 0.45rem;
        border-radius: 14px;
        border: 1px solid rgba(203, 213, 225, 0.92);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
        z-index: 20;
    }

    .teacher-results-page .exam-gradebook-card .results-export-menu {
        display: none;
    }

    .teacher-results-page .results-gradebook-filter-disabled {
        opacity: 0.55;
        pointer-events: none;
        cursor: not-allowed;
    }

    .teacher-results-page .student-panel-select {
        min-width: 180px;
        border-radius: 999px;
    }

    .teacher-results-page .student-panel-body {
        padding: 0.85rem 1rem 1rem !important;
    }

    .teacher-results-page .student-panel-scroll {
        max-height: 470px;
        overflow-y: auto;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 18px;
        background: #fff;
    }

    .teacher-results-page .student-panel-table-wrap {
        overflow-x: auto;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 18px;
        background: #fff;
    }

    .teacher-results-page .student-panel-scroll thead th,
    .teacher-results-page .student-panel-table-wrap thead th {
        position: sticky;
        top: 0;
        background: #f8fafc;
        z-index: 1;
        box-shadow: inset 0 -1px 0 rgba(226, 232, 240, 0.9);
        padding: 0.72rem 0.85rem;
        font-size: 0.73rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #475569;
    }

    .teacher-results-page .student-panel-scroll tbody td,
    .teacher-results-page .student-panel-table-wrap tbody td {
        padding: 0.75rem 0.85rem;
        vertical-align: top;
        line-height: 1.35;
    }

    .teacher-results-page .student-panel-scroll tbody tr,
    .teacher-results-page .student-panel-table-wrap tbody tr {
        transition: background-color 0.16s ease, transform 0.16s ease;
    }

    .teacher-results-page .student-panel-scroll tbody tr:hover,
    .teacher-results-page .student-panel-table-wrap tbody tr:hover {
        background: rgba(248, 250, 252, 0.82);
    }

    .teacher-results-page .student-results-card .empty-state {
        min-height: 136px;
        margin: 0;
        padding: 1.4rem 1.1rem;
        border: 1px dashed rgba(148, 163, 184, 0.35);
        border-radius: 18px;
        background: linear-gradient(180deg, #fdfefe 0%, #f8fbff 100%);
    }

    .teacher-results-page .student-results-card .empty-state i {
        color: #94a3b8;
    }

    .teacher-results-page .student-results-card .empty-state p {
        max-width: 32rem;
        margin-left: auto;
        margin-right: auto;
    }

    .teacher-results-page .student-panel-scroll .btn,
    .teacher-results-page .student-panel-table-wrap .btn {
        white-space: nowrap;
    }

    .teacher-results-page .adaptive-practice-row--focus {
        background: linear-gradient(90deg, rgba(59, 130, 246, 0.08) 0%, rgba(59, 130, 246, 0.02) 100%);
    }

    .teacher-results-page .adaptive-practice-row--focus td {
        box-shadow: inset 0 1px 0 rgba(59, 130, 246, 0.18), inset 0 -1px 0 rgba(59, 130, 246, 0.18);
    }

    .teacher-results-page .adaptive-practice-row--focus td:first-child {
        border-left: 3px solid rgba(37, 99, 235, 0.92);
    }

    .teacher-results-page .adaptive-focus-note {
        margin-bottom: 1rem;
        padding: 0.9rem 1rem;
        border: 1px solid rgba(59, 130, 246, 0.18);
        border-radius: 16px;
        background: linear-gradient(135deg, rgba(239, 246, 255, 0.94) 0%, rgba(248, 250, 252, 0.98) 100%);
    }

    .teacher-results-page .adaptive-focus-note__title {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        color: #1e3a8a;
        margin-bottom: 0.35rem;
    }

    .teacher-results-page .adaptive-focus-note__meta {
        color: #475569;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    .teacher-results-page .adaptive-focus-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.22rem 0.6rem;
        border-radius: 999px;
        background: rgba(37, 99, 235, 0.12);
        color: #1d4ed8;
        font-size: 0.78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .teacher-results-page .student-panel-footer {
        display: flex;
        justify-content: center;
        padding-top: 0.85rem;
    }

    @media (max-width: 991.98px) {.teacher-results-page .student-results-hero {
            grid-template-columns: 1fr;
            padding: 1.15rem 1rem;
        }

        .teacher-results-page .student-results-hero__actions {
            min-width: 0;
            width: 100%;
        }

        .teacher-results-page .student-results-summary {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .teacher-results-page .student-results-grid {
            grid-template-columns: 1fr;
        }

        .teacher-results-page .student-panel-scroll {
            max-height: none;
        }

        .teacher-results-page .student-panel-body {
            padding: 0.85rem !important;
        }

        .teacher-results-page .student-panel-header {
            padding: 0.9rem 1rem;
        }

        .teacher-results-page .student-panel-tools {
            width: 100%;
            border-radius: 16px;
            justify-content: flex-start;
        }
}

    @media (max-width: 575.98px) {.teacher-results-page .student-results-summary {
            grid-template-columns: 1fr;
        }

        .teacher-results-page .student-results-hero__title {
            font-size: 1.35rem;
        }
}
    .teacher-results-page .exam-gradebook-current {
        background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    }

    .teacher-results-page .results-busy-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.42);
        backdrop-filter: blur(4px);
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 3000;
        padding: 1.5rem;
    }

    .teacher-results-page .results-busy-overlay.is-visible {
        display: flex;
    }

    .teacher-results-page .results-busy-panel {
        width: min(420px, 100%);
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(99, 102, 241, 0.18);
        border-radius: 24px;
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
        padding: 2rem 1.75rem;
        text-align: center;
    }

    .teacher-results-page .results-busy-spinner {
        width: 64px;
        height: 64px;
        margin: 0 auto 1rem;
        border-radius: 999px;
        border: 4px solid rgba(99, 102, 241, 0.16);
        border-top-color: #4f46e5;
        animation: resultsBusySpin 0.9s linear infinite;
    }

    .teacher-results-page .results-busy-title {
        font-size: 1.1rem;
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 0.35rem;
    }

    .teacher-results-page .results-busy-text {
        color: #475569;
        font-size: 0.95rem;
        margin: 0;
    }

    @keyframes resultsBusySpin {
        to {
            transform: rotate(360deg);
        }
    }
/* ===== teacher-results-page END ===== */

/* ===== teacher-question-bank-page START ===== */
.teacher-question-bank-page {
    --qb-ink: #14233f;
    --qb-text: #40506d;
    --qb-muted: #72819d;
    --qb-line: rgba(191, 219, 254, 0.82);
    --qb-border: rgba(148, 163, 184, 0.22);
    --qb-card: rgba(255, 255, 255, 0.94);
    --qb-primary: #315efb;
    --qb-primary-deep: #203fc3;
    --qb-shadow: 0 24px 48px rgba(15, 23, 42, 0.08);
    --qb-radius-lg: 28px;
    --qb-radius-md: 20px;
    --qb-radius-sm: 14px;
    color: var(--qb-text);
    font-family: "Source Sans 3", "Segoe UI", sans-serif;
}

.teacher-question-bank-page .page-title,
.teacher-question-bank-page h1,
.teacher-question-bank-page h2,
.teacher-question-bank-page h3,
.teacher-question-bank-page h4,
.teacher-question-bank-page h5,
.teacher-question-bank-page h6 {
    color: var(--qb-ink);
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    letter-spacing: -0.03em;
}

.teacher-question-bank-page .page-content {
    display: grid;
    gap: 1.15rem;
}

.qb-hero {
    display: grid;
    gap: 1rem;
    padding: 1.35rem 1.45rem;
    border: 1px solid var(--qb-line);
    border-radius: var(--qb-radius-lg);
    background:
        radial-gradient(circle at top left, rgba(49, 94, 251, 0.14), transparent 30%),
        radial-gradient(circle at 86% 8%, rgba(34, 197, 94, 0.1), transparent 22%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.98) 100%);
    box-shadow: var(--qb-shadow);
}

.qb-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.5rem;
    color: var(--qb-primary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.qb-hero__title {
    margin: 0;
    font-size: clamp(1.35rem, 1.55vw, 1.8rem);
    line-height: 1.14;
}

.qb-hero__copy {
    max-width: 64ch;
    margin: 0.7rem 0 0;
    color: var(--qb-text);
    font-size: 0.98rem;
    line-height: 1.6;
}

.qb-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.95rem;
}

.qb-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid rgba(49, 94, 251, 0.16);
    border-radius: 999px;
    background: rgba(49, 94, 251, 0.07);
    color: var(--qb-primary-deep);
    font-size: 0.82rem;
    font-weight: 700;
}

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

.qb-stat-card {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.84);
}

.qb-stat-card__icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #fff;
    flex-shrink: 0;
}

.qb-stat-card__icon--primary { background: linear-gradient(135deg, #4f46e5 0%, #635bff 100%); }
.qb-stat-card__icon--success { background: linear-gradient(135deg, #10b981 0%, #34d399 100%); }
.qb-stat-card__icon--info { background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%); }
.qb-stat-card__icon--amber { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%); }

.qb-stat-card__value {
    color: var(--qb-ink);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.06;
}

.qb-stat-card__label {
    color: var(--qb-ink);
    font-size: 0.92rem;
    font-weight: 700;
}

.qb-stat-card__meta {
    margin-top: 0.2rem;
    color: var(--qb-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.qb-filter-shell,
.qb-selection-shell,
.qb-results-shell {
    overflow: hidden;
    border: 1px solid var(--qb-border);
    border-radius: var(--qb-radius-lg);
    background: linear-gradient(180deg, #ffffff 0%, var(--qb-card) 100%);
    box-shadow: var(--qb-shadow);
}

.qb-filter-form {
    display: grid;
    gap: 0.9rem;
}

.qb-filter-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 0.9rem;
}

.qb-filter-group {
    display: grid;
    gap: 0.55rem;
    padding: 0.95rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.85);
}

.qb-filter-group__label {
    color: var(--qb-muted);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
}

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

.qb-filter-grid--secondary {
    grid-template-columns: 1fr 1fr 1.25fr;
}

.qb-form-group {
    margin-bottom: 0 !important;
}

.teacher-question-bank-page .form-control,
.teacher-question-bank-page .form-select {
    min-height: 3rem;
    border: 1px solid rgba(191, 219, 254, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none;
}

.teacher-question-bank-page .form-control:focus,
.teacher-question-bank-page .form-select:focus {
    border-color: rgba(49, 94, 251, 0.45);
    box-shadow: 0 0 0 0.22rem rgba(49, 94, 251, 0.12);
}

.qb-filter-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.qb-search-state {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.85rem;
    color: var(--qb-muted);
    font-size: 0.84rem;
}

.qb-selection-shell {
    position: sticky;
    top: 1rem;
    z-index: 5;
}

.qb-selection-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.qb-selection-bar__main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.qb-selection-bar__tip {
    color: var(--qb-muted);
    font-size: 0.84rem;
}

.qb-selection-bar__actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.qb-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    padding: 1rem 1.1rem;
}

.qb-results-toolbar__title {
    color: var(--qb-ink);
    font-size: 1rem;
    font-weight: 700;
}

.qb-results-toolbar__meta,
.qb-results-toolbar__note {
    color: var(--qb-muted);
    font-size: 0.84rem;
}

.qb-results-toolbar__controls {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.questions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 1rem;
}

.question-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.question-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 34px rgba(15, 23, 42, 0.08);
    border-color: rgba(49, 94, 251, 0.32);
}

.question-card.clickable {
    cursor: pointer;
}

.question-card.selected {
    border: 2px solid var(--qb-primary);
    box-shadow: 0 0 0 3px rgba(49, 94, 251, 0.12);
}

.question-card .card-body {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
}

.question-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0;
}

.question-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.question-meta .badge {
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.question-meta .question-select {
    margin-top: 0;
}

.question-text {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--qb-ink);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.question-image {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(248, 250, 252, 0.82);
}

.question-image img {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    display: block;
}

/* ===== question bank source cleanup pass START ===== */
.teacher-question-bank-page .question-delete-form {
    display: inline;
}

.teacher-question-bank-page .question-image {
    border-radius: 8px;
}

.teacher-question-bank-page .question-bank-image-preview {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 220px;
    border-radius: 8px;
    object-fit: contain;
    outline: 1px solid rgba(0, 0, 0, 0.1);
}

.teacher-question-bank-page .question-bank-modal {
    width: min(96vw, 600px);
    max-width: 600px;
}

.teacher-question-bank-page .question-bank-modal--edit-question {
    width: min(96vw, 700px);
    max-width: 700px;
}
/* ===== question bank source cleanup pass END ===== */

/* ===== question bank action chip pass START ===== */
.teacher-question-bank-page .top-nav-actions,
.teacher-question-bank-page .qb-filter-actions,
.teacher-question-bank-page .qb-selection-bar__actions,
.teacher-question-bank-page .qb-results-toolbar__controls,
.teacher-question-bank-page .question-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-question-bank-page .qb-selection-bar__actions form,
.teacher-question-bank-page .question-actions form {
    display: inline-flex;
    margin: 0 !important;
}

.teacher-question-bank-page .top-nav-actions .btn,
.teacher-question-bank-page .qb-filter-actions .btn,
.teacher-question-bank-page .qb-selection-bar__actions .btn,
.teacher-question-bank-page .qb-results-toolbar__controls .btn,
.teacher-question-bank-page .question-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-question-bank-page .question-actions .btn {
    padding: 0.5rem !important;
}

.teacher-question-bank-page .top-nav-actions .btn:hover,
.teacher-question-bank-page .qb-filter-actions .btn:hover,
.teacher-question-bank-page .qb-selection-bar__actions .btn:hover,
.teacher-question-bank-page .qb-results-toolbar__controls .btn:hover,
.teacher-question-bank-page .question-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-question-bank-page .top-nav-actions .btn:active,
.teacher-question-bank-page .qb-filter-actions .btn:active,
.teacher-question-bank-page .qb-selection-bar__actions .btn:active,
.teacher-question-bank-page .qb-results-toolbar__controls .btn:active,
.teacher-question-bank-page .question-actions .btn:active {
    transform: scale(0.96);
}

.teacher-question-bank-page .top-nav-actions .btn:focus-visible,
.teacher-question-bank-page .qb-filter-actions .btn:focus-visible,
.teacher-question-bank-page .qb-selection-bar__actions .btn:focus-visible,
.teacher-question-bank-page .qb-results-toolbar__controls .btn:focus-visible,
.teacher-question-bank-page .question-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-question-bank-page .top-nav-actions .btn:disabled,
.teacher-question-bank-page .qb-selection-bar__actions .btn:disabled,
.teacher-question-bank-page .question-actions .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-question-bank-page .top-nav-actions .btn-primary,
.teacher-question-bank-page .qb-filter-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-question-bank-page .top-nav-actions .btn-outline-primary,
.teacher-question-bank-page .qb-filter-actions .btn-outline-primary,
.teacher-question-bank-page .qb-selection-bar__actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-question-bank-page .top-nav-actions .btn-outline-secondary,
.teacher-question-bank-page .qb-filter-actions .btn-outline-secondary,
.teacher-question-bank-page .qb-selection-bar__actions .btn-outline-secondary,
.teacher-question-bank-page .qb-results-toolbar__controls .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-question-bank-page .qb-results-toolbar__controls .qb-density-toggle.active,
.teacher-question-bank-page .qb-results-toolbar__controls .qb-density-toggle.btn-secondary {
    background: #e0e7ff !important;
    border-color: #a5b4fc !important;
    color: #3730a3 !important;
}

.teacher-question-bank-page .qb-selection-bar__actions .btn-outline-danger,
.teacher-question-bank-page .question-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

@media (max-width: 760px) {
    .teacher-question-bank-page .top-nav-actions,
    .teacher-question-bank-page .qb-filter-actions,
    .teacher-question-bank-page .qb-selection-bar__actions,
    .teacher-question-bank-page .qb-results-toolbar__controls,
    .teacher-question-bank-page .question-actions {
        justify-content: flex-start;
    }
}
/* ===== question bank action chip pass END ===== */

/* ===== copilot builder action chip pass START ===== */
.teacher-copilot-builder-page .builder-stage-actions,
.teacher-copilot-builder-page .copilot-actions,
.teacher-copilot-builder-page .copilot-transform-actions,
.teacher-copilot-builder-page .copilot-output-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-copilot-builder-page .builder-stage-actions {
    justify-content: flex-end;
}

.teacher-copilot-builder-page .copilot-actions {
    justify-content: space-between;
}

.teacher-copilot-builder-page .copilot-transform-actions {
    padding: 0.15rem 0;
}

.teacher-copilot-builder-page .builder-stage-actions .btn,
.teacher-copilot-builder-page .copilot-actions .btn,
.teacher-copilot-builder-page .copilot-transform-actions .btn,
.teacher-copilot-builder-page .copilot-output-actions .btn,
.teacher-copilot-builder-page #collapseOutlineBtn,
.teacher-copilot-builder-page #collapseRawBtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-copilot-builder-page .copilot-output-actions .btn[title] {
    padding: 0.5rem !important;
}

.teacher-copilot-builder-page .builder-stage-actions .btn:hover,
.teacher-copilot-builder-page .copilot-actions .btn:hover,
.teacher-copilot-builder-page .copilot-transform-actions .btn:hover,
.teacher-copilot-builder-page .copilot-output-actions .btn:hover,
.teacher-copilot-builder-page #collapseOutlineBtn:hover,
.teacher-copilot-builder-page #collapseRawBtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-copilot-builder-page .builder-stage-actions .btn:active,
.teacher-copilot-builder-page .copilot-actions .btn:active,
.teacher-copilot-builder-page .copilot-transform-actions .btn:active,
.teacher-copilot-builder-page .copilot-output-actions .btn:active,
.teacher-copilot-builder-page #collapseOutlineBtn:active,
.teacher-copilot-builder-page #collapseRawBtn:active {
    transform: scale(0.96);
}

.teacher-copilot-builder-page .builder-stage-actions .btn:focus-visible,
.teacher-copilot-builder-page .copilot-actions .btn:focus-visible,
.teacher-copilot-builder-page .copilot-transform-actions .btn:focus-visible,
.teacher-copilot-builder-page .copilot-output-actions .btn:focus-visible,
.teacher-copilot-builder-page #collapseOutlineBtn:focus-visible,
.teacher-copilot-builder-page #collapseRawBtn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-copilot-builder-page .builder-stage-actions .btn:disabled,
.teacher-copilot-builder-page .copilot-actions .btn:disabled,
.teacher-copilot-builder-page .copilot-transform-actions .btn:disabled,
.teacher-copilot-builder-page .copilot-output-actions .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-copilot-builder-page .builder-stage-actions .btn-primary,
.teacher-copilot-builder-page .copilot-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-copilot-builder-page .copilot-actions .btn-success,
.teacher-copilot-builder-page .copilot-output-actions .btn-success,
.teacher-copilot-builder-page .copilot-transform-actions .btn-outline-success {
    background: #10b981 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

.teacher-copilot-builder-page .copilot-actions .btn-outline-primary,
.teacher-copilot-builder-page .copilot-transform-actions .btn-outline-primary,
.teacher-copilot-builder-page .copilot-output-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-copilot-builder-page .copilot-actions .btn-outline-secondary,
.teacher-copilot-builder-page .copilot-transform-actions .btn-outline-secondary,
.teacher-copilot-builder-page .copilot-output-actions .btn-outline-secondary,
.teacher-copilot-builder-page #collapseOutlineBtn,
.teacher-copilot-builder-page #collapseRawBtn {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

@media (max-width: 760px) {
    .teacher-copilot-builder-page .builder-stage-actions,
    .teacher-copilot-builder-page .copilot-actions,
    .teacher-copilot-builder-page .copilot-transform-actions,
    .teacher-copilot-builder-page .copilot-output-actions {
        justify-content: flex-start;
    }
}
/* ===== copilot builder action chip pass END ===== */

/* ===== scheme of work action chip pass START ===== */
.teacher-copilot-sow-page .sow-v1-actions,
.teacher-copilot-sow-page .sow-pack-label-row,
.teacher-copilot-sow-page .sow-form-submit-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-copilot-sow-page .sow-v1-actions,
.teacher-copilot-sow-page .sow-pack-label-row {
    justify-content: flex-end;
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn,
.teacher-copilot-sow-page .sow-v1-actions .btn,
.teacher-copilot-sow-page .sow-pack-label-row .btn,
.teacher-copilot-sow-page #toggleRawInputsBtn,
.teacher-copilot-sow-page #toggleRawOutputBtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-copilot-sow-page .sow-v1-actions #copyBtn,
.teacher-copilot-sow-page .sow-v1-actions #printBtn,
.teacher-copilot-sow-page .sow-v1-actions #wordBtn,
.teacher-copilot-sow-page .sow-v1-actions #textBtn {
    padding: 0.5rem !important;
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn:hover,
.teacher-copilot-sow-page .sow-v1-actions .btn:hover,
.teacher-copilot-sow-page .sow-pack-label-row .btn:hover,
.teacher-copilot-sow-page #toggleRawInputsBtn:hover,
.teacher-copilot-sow-page #toggleRawOutputBtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn:active,
.teacher-copilot-sow-page .sow-v1-actions .btn:active,
.teacher-copilot-sow-page .sow-pack-label-row .btn:active,
.teacher-copilot-sow-page #toggleRawInputsBtn:active,
.teacher-copilot-sow-page #toggleRawOutputBtn:active {
    transform: scale(0.96);
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn:focus-visible,
.teacher-copilot-sow-page .sow-v1-actions .btn:focus-visible,
.teacher-copilot-sow-page .sow-pack-label-row .btn:focus-visible,
.teacher-copilot-sow-page #toggleRawInputsBtn:focus-visible,
.teacher-copilot-sow-page #toggleRawOutputBtn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn:disabled,
.teacher-copilot-sow-page .sow-v1-actions .btn:disabled,
.teacher-copilot-sow-page .sow-pack-label-row .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-copilot-sow-page .sow-form-submit-bar .btn-primary,
.teacher-copilot-sow-page .sow-v1-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-copilot-sow-page .sow-v1-actions .btn-success {
    background: #10b981 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

.teacher-copilot-sow-page .sow-v1-actions .btn-outline-primary,
.teacher-copilot-sow-page .sow-pack-label-row .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-copilot-sow-page .sow-v1-actions .btn-outline-secondary,
.teacher-copilot-sow-page #toggleRawInputsBtn,
.teacher-copilot-sow-page #toggleRawOutputBtn {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
}

@media (max-width: 760px) {
    .teacher-copilot-sow-page .sow-v1-actions,
    .teacher-copilot-sow-page .sow-pack-label-row,
    .teacher-copilot-sow-page .sow-form-submit-bar {
        justify-content: flex-start;
    }
}
/* ===== scheme of work action chip pass END ===== */

/* ===== predictions action chip pass START ===== */
.teacher-predictions-page .predictions-file-actions,
.teacher-predictions-page .predictions-file-actions form,
.teacher-predictions-page .predictions-bulk-actions,
.teacher-predictions-page .prediction-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-predictions-page .predictions-file-actions form {
    margin: 0;
}

.teacher-predictions-page .predictions-file-actions input[type="file"] {
    min-height: 40px;
    max-width: min(100%, 320px) !important;
}

.teacher-predictions-page .predictions-file-actions .btn,
.teacher-predictions-page .predictions-bulk-actions .btn,
.teacher-predictions-page .prediction-row-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-predictions-page .predictions-file-actions .btn:hover,
.teacher-predictions-page .predictions-bulk-actions .btn:hover,
.teacher-predictions-page .prediction-row-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-predictions-page .predictions-file-actions .btn:active,
.teacher-predictions-page .predictions-bulk-actions .btn:active,
.teacher-predictions-page .prediction-row-actions .btn:active {
    transform: scale(0.96);
}

.teacher-predictions-page .predictions-file-actions .btn:focus-visible,
.teacher-predictions-page .predictions-bulk-actions .btn:focus-visible,
.teacher-predictions-page .prediction-row-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-predictions-page .predictions-file-actions .btn:disabled,
.teacher-predictions-page .predictions-bulk-actions .btn:disabled,
.teacher-predictions-page .prediction-row-actions .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-predictions-page .predictions-bulk-actions .btn-primary,
.teacher-predictions-page .predictions-bulk-actions .btn-success {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-predictions-page .predictions-bulk-actions .btn-success {
    background: #10b981 !important;
    border-color: #059669 !important;
}

.teacher-predictions-page .predictions-file-actions .btn-outline-primary,
.teacher-predictions-page .predictions-bulk-actions .btn-outline-primary,
.teacher-predictions-page .prediction-row-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-predictions-page .predictions-file-actions .btn-outline-secondary,
.teacher-predictions-page .predictions-bulk-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-predictions-page .predictions-bulk-actions .btn-outline-info {
    background: #cffafe !important;
    border-color: #67e8f9 !important;
    color: #0e7490 !important;
}

@media (max-width: 760px) {
    .teacher-predictions-page .predictions-file-actions,
    .teacher-predictions-page .predictions-file-actions form,
    .teacher-predictions-page .predictions-bulk-actions,
    .teacher-predictions-page .prediction-row-actions {
        justify-content: flex-start;
    }

    .teacher-predictions-page .predictions-bulk-actions .ms-auto {
        margin-left: 0 !important;
    }
}
/* ===== predictions action chip pass END ===== */

/* ===== reports action chip pass START ===== */
.teacher-reports-page .reports-chip-links,
.teacher-reports-page .report-signal-tools,
.teacher-reports-page .report-signal-preview-actions,
.teacher-reports-page .report-signal-footer-link,
.teacher-reports-page .reports-table-actions,
.teacher-reports-page .reports-export-card__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-reports-page .reports-table-actions {
    justify-content: flex-end;
}

.teacher-reports-page .reports-table-actions form {
    display: inline-flex;
    margin: 0;
}

.teacher-reports-page .reports-chip-links .btn,
.teacher-reports-page .report-signal-tools .btn,
.teacher-reports-page .report-signal-preview-actions .btn,
.teacher-reports-page .report-signal-footer-link .btn,
.teacher-reports-page .reports-table-actions .btn,
.teacher-reports-page .reports-export-card .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-reports-page .reports-chip-links .btn:hover,
.teacher-reports-page .report-signal-tools .btn:hover,
.teacher-reports-page .report-signal-preview-actions .btn:hover,
.teacher-reports-page .report-signal-footer-link .btn:hover,
.teacher-reports-page .reports-table-actions .btn:hover,
.teacher-reports-page .reports-export-card .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-reports-page .reports-chip-links .btn:active,
.teacher-reports-page .report-signal-tools .btn:active,
.teacher-reports-page .report-signal-preview-actions .btn:active,
.teacher-reports-page .report-signal-footer-link .btn:active,
.teacher-reports-page .reports-table-actions .btn:active,
.teacher-reports-page .reports-export-card .btn:active {
    transform: scale(0.96);
}

.teacher-reports-page .reports-chip-links .btn:focus-visible,
.teacher-reports-page .report-signal-tools .btn:focus-visible,
.teacher-reports-page .report-signal-preview-actions .btn:focus-visible,
.teacher-reports-page .report-signal-footer-link .btn:focus-visible,
.teacher-reports-page .reports-table-actions .btn:focus-visible,
.teacher-reports-page .reports-export-card .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-reports-page .reports-chip-links .btn-outline-primary,
.teacher-reports-page .report-signal-tools .btn-outline-primary,
.teacher-reports-page .report-signal-preview-actions .btn-outline-primary,
.teacher-reports-page .report-signal-footer-link .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-reports-page .reports-chip-links .btn-outline-secondary,
.teacher-reports-page .report-signal-tools .btn-outline-secondary,
.teacher-reports-page .report-signal-preview-actions .btn-outline-secondary,
.teacher-reports-page .reports-export-card .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-reports-page .reports-table-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-reports-page .reports-table-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

@media (max-width: 760px) {
    .teacher-reports-page .reports-table-actions,
    .teacher-reports-page .reports-export-card__body {
        justify-content: flex-start;
    }
}
/* ===== reports action chip pass END ===== */

/* ===== online exam action chip pass START ===== */
.teacher-tests-page .test-actions {
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
}

.teacher-tests-page .test-actions .action-chip {
    min-width: 40px !important;
    width: 40px;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-tests-page .table-card-actions .action-chip {
    width: auto;
    min-height: 40px !important;
    padding: 0.5rem 0.74rem !important;
}

.teacher-tests-page .test-actions .action-chip:hover,
.teacher-tests-page .table-card-actions .action-chip:hover {
    transform: translateY(-1px);
    filter: none;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-tests-page .test-actions .action-chip:active,
.teacher-tests-page .table-card-actions .action-chip:active {
    transform: scale(0.96);
}

.teacher-tests-page .test-actions .action-chip:focus-visible,
.teacher-tests-page .table-card-actions .action-chip:focus-visible,
.teacher-exam-view-page .top-nav-actions .btn:focus-visible,
.teacher-exam-view-page .top-nav-actions .dropdown-toggle:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-exam-view-page .top-nav-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
}

.teacher-exam-view-page .top-nav-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-exam-view-page .top-nav-actions .dropdown-toggle {
    width: 40px;
    padding-inline: 0 !important;
}

.teacher-exam-view-page .top-nav-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-exam-view-page .top-nav-actions .btn:active {
    transform: scale(0.96);
}
/* ===== online exam action chip pass END ===== */

/* ===== report builder action chip pass START ===== */
.teacher-report-builder-page .top-nav-actions.no-print,
.teacher-report-builder-page .report-template-actions,
.teacher-report-builder-page .report-builder-actions,
.teacher-report-builder-page .saved-report-actions,
.teacher-report-builder-page .report-card-actions,
.teacher-report-output-page .top-nav-actions.no-print {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-report-builder-page .top-nav-actions.no-print,
.teacher-report-builder-page .saved-report-actions,
.teacher-report-output-page .top-nav-actions.no-print {
    justify-content: flex-end;
}

.teacher-report-builder-page .saved-report-actions form,
.teacher-report-builder-page .report-card-actions form,
.teacher-report-output-page .top-nav-actions.no-print form {
    display: inline-flex;
    margin: 0;
}

.teacher-report-builder-page .top-nav-actions.no-print .btn,
.teacher-report-builder-page .report-template-actions .btn,
.teacher-report-builder-page .report-builder-actions .btn,
.teacher-report-builder-page .saved-report-actions .btn,
.teacher-report-builder-page .report-card-actions .btn,
.teacher-report-output-page .top-nav-actions.no-print .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-report-builder-page .top-nav-actions.no-print .btn:hover,
.teacher-report-builder-page .report-template-actions .btn:hover,
.teacher-report-builder-page .report-builder-actions .btn:hover,
.teacher-report-builder-page .saved-report-actions .btn:hover,
.teacher-report-builder-page .report-card-actions .btn:hover,
.teacher-report-output-page .top-nav-actions.no-print .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-report-builder-page .top-nav-actions.no-print .btn:active,
.teacher-report-builder-page .report-template-actions .btn:active,
.teacher-report-builder-page .report-builder-actions .btn:active,
.teacher-report-builder-page .saved-report-actions .btn:active,
.teacher-report-builder-page .report-card-actions .btn:active,
.teacher-report-output-page .top-nav-actions.no-print .btn:active {
    transform: scale(0.96);
}

.teacher-report-builder-page .top-nav-actions.no-print .btn:focus-visible,
.teacher-report-builder-page .report-template-actions .btn:focus-visible,
.teacher-report-builder-page .report-builder-actions .btn:focus-visible,
.teacher-report-builder-page .saved-report-actions .btn:focus-visible,
.teacher-report-builder-page .report-card-actions .btn:focus-visible,
.teacher-report-output-page .top-nav-actions.no-print .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-report-builder-page .saved-report-actions .btn-primary,
.teacher-report-builder-page .report-builder-actions .btn-primary,
.teacher-report-builder-page .report-card-actions .btn-primary,
.teacher-report-builder-page .report-card-actions .btn-success,
.teacher-report-output-page .top-nav-actions.no-print .btn-outline-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-report-builder-page .top-nav-actions.no-print .btn-outline-secondary,
.teacher-report-builder-page .report-template-actions .btn-outline-secondary,
.teacher-report-builder-page .report-builder-actions .btn-outline-secondary,
.teacher-report-builder-page .saved-report-actions .btn-outline-secondary,
.teacher-report-builder-page .report-card-actions .btn-outline-secondary,
.teacher-report-output-page .top-nav-actions.no-print .btn-outline-secondary,
.teacher-report-output-page .top-nav-actions.no-print .btn-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-report-builder-page .saved-report-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

@media (max-width: 760px) {
    .teacher-report-builder-page .top-nav-actions.no-print,
    .teacher-report-builder-page .saved-report-actions,
    .teacher-report-output-page .top-nav-actions.no-print {
        justify-content: flex-start;
    }
}
/* ===== report builder action chip pass END ===== */

/* ===== coursework submission review action chip pass START ===== */
.coursework-review-shell .coursework-review-hero-actions,
.coursework-review-shell .coursework-review-ai-actions,
.coursework-review-shell .coursework-review-approval-actions,
.coursework-review-shell .coursework-review-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.coursework-review-shell .coursework-review-hero-actions {
    justify-content: flex-end;
}

.coursework-review-shell .coursework-review-ai-actions form,
.coursework-review-shell .coursework-review-final-actions form {
    display: inline-flex;
    margin: 0;
}

.coursework-review-shell .coursework-review-hero-actions .btn,
.coursework-review-shell .coursework-review-ai-actions .btn,
.coursework-review-shell .coursework-review-approval-actions .btn,
.coursework-review-shell .coursework-review-final-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.coursework-review-shell .coursework-review-hero-actions .btn:hover,
.coursework-review-shell .coursework-review-ai-actions .btn:hover,
.coursework-review-shell .coursework-review-approval-actions .btn:hover,
.coursework-review-shell .coursework-review-final-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.coursework-review-shell .coursework-review-hero-actions .btn:active,
.coursework-review-shell .coursework-review-ai-actions .btn:active,
.coursework-review-shell .coursework-review-approval-actions .btn:active,
.coursework-review-shell .coursework-review-final-actions .btn:active {
    transform: scale(0.96);
}

.coursework-review-shell .coursework-review-hero-actions .btn:focus-visible,
.coursework-review-shell .coursework-review-ai-actions .btn:focus-visible,
.coursework-review-shell .coursework-review-approval-actions .btn:focus-visible,
.coursework-review-shell .coursework-review-final-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.coursework-review-shell .coursework-review-approval-actions .btn-primary,
.coursework-review-shell .coursework-review-final-actions .btn-success {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.coursework-review-shell .coursework-review-final-actions .btn-success {
    background: #10b981 !important;
    border-color: #059669 !important;
}

.coursework-review-shell .coursework-review-hero-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.coursework-review-shell .coursework-review-hero-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.coursework-review-shell .coursework-review-ai-actions .btn-outline-info {
    background: #cffafe !important;
    border-color: #67e8f9 !important;
    color: #0e7490 !important;
}

.coursework-review-shell .coursework-review-ai-actions .btn-outline-warning {
    background: #fef3c7 !important;
    border-color: #fcd34d !important;
    color: #b45309 !important;
}

.coursework-review-shell .coursework-review-final-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

@media (max-width: 760px) {
    .coursework-review-shell .coursework-review-hero-actions {
        justify-content: flex-start;
    }
}
/* ===== coursework submission review action chip pass END ===== */

/* ===== copilot library action chip pass START ===== */
.teacher-copilot-library-page .top-nav-actions,
.teacher-copilot-library-page .copilot-lib-actions,
.teacher-copilot-library-page .copilot-lib-bulkbar,
.teacher-copilot-library-page .copilot-doc-right,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-copilot-library-page .top-nav-actions,
.teacher-copilot-library-page .copilot-lib-bulkbar {
    justify-content: flex-end;
}

.teacher-copilot-library-page .top-nav-actions .btn,
.teacher-copilot-library-page .copilot-lib-actions .btn,
.teacher-copilot-library-page .copilot-lib-bulkbar .btn,
.teacher-copilot-library-page .copilot-doc-right .btn,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    touch-action: manipulation;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-copilot-library-page .top-nav-actions .btn:hover,
.teacher-copilot-library-page .copilot-lib-actions .btn:hover,
.teacher-copilot-library-page .copilot-lib-bulkbar .btn:hover,
.teacher-copilot-library-page .copilot-doc-right .btn:hover,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-copilot-library-page .top-nav-actions .btn:active,
.teacher-copilot-library-page .copilot-lib-actions .btn:active,
.teacher-copilot-library-page .copilot-lib-bulkbar .btn:active,
.teacher-copilot-library-page .copilot-doc-right .btn:active,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn:active {
    transform: scale(0.96);
}

.teacher-copilot-library-page .top-nav-actions .btn:focus-visible,
.teacher-copilot-library-page .copilot-lib-actions .btn:focus-visible,
.teacher-copilot-library-page .copilot-lib-bulkbar .btn:focus-visible,
.teacher-copilot-library-page .copilot-doc-right .btn:focus-visible,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-copilot-library-page .copilot-lib-actions .btn-primary,
.teacher-copilot-library-page .top-nav-actions .btn-primary,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn-secondary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-copilot-library-page .top-nav-actions .btn-outline-primary,
.teacher-copilot-library-page .copilot-doc-right .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-copilot-library-page .copilot-lib-actions .btn-outline-secondary,
.teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-copilot-library-page .copilot-lib-bulkbar .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

.teacher-copilot-library-page .copilot-lib-bulkbar .btn:disabled {
    transform: none;
    box-shadow: none;
    opacity: 0.58;
}

@media (max-width: 760px) {
    .teacher-copilot-library-page .top-nav-actions,
    .teacher-copilot-library-page .copilot-lib-bulkbar {
        justify-content: flex-start;
    }

    .teacher-copilot-library-page .copilot-lib-actions .btn,
    .teacher-copilot-library-page .copilot-lib-bulkbar .btn,
    .teacher-copilot-library-page .btn-group[aria-label="Library view"] .btn {
        flex: 1 1 auto;
    }
}
/* ===== copilot library action chip pass END ===== */

/* ===== remaining teacher action chip pass START ===== */
.teacher-students-page .students-table-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions,
.teacher-copilot-ao-panel-page .ao-red-cell-actions,
.teacher-copilot-ao-panel-page .ao-priority-student-actions,
.teacher-adaptive-practice-monitor-page .allocation-actions,
.teacher-adaptive-practice-monitor-page .actions-inline,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-students-page .students-table-actions,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions,
.teacher-adaptive-practice-monitor-page .actions-inline,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline {
    justify-content: flex-end;
}

.teacher-students-page .students-table-actions .btn,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn,
.teacher-adaptive-practice-monitor-page .actions-inline .btn,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    touch-action: manipulation;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-students-page .students-table-actions .btn:hover,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn:hover,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn:hover,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn:hover,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn:hover,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn:hover,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn:hover,
.teacher-adaptive-practice-monitor-page .actions-inline .btn:hover,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn:hover,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-students-page .students-table-actions .btn:active,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn:active,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn:active,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn:active,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn:active,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn:active,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn:active,
.teacher-adaptive-practice-monitor-page .actions-inline .btn:active,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn:active,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn:active {
    transform: scale(0.96);
}

.teacher-students-page .students-table-actions .btn:focus-visible,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn:focus-visible,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn:focus-visible,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn:focus-visible,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn:focus-visible,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn:focus-visible,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn:focus-visible,
.teacher-adaptive-practice-monitor-page .actions-inline .btn:focus-visible,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn:focus-visible,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn-primary,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn-primary,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn-primary,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-students-page .students-table-actions .btn-outline-primary,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn-outline-secondary,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn-outline-secondary,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn-outline-primary,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn-outline-primary,
.teacher-adaptive-practice-monitor-page .actions-inline .btn-outline-primary,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn-outline-success {
    background: #dcfce7 !important;
    border-color: #86efac !important;
    color: #15803d !important;
}

.teacher-adaptive-practice-monitor-page .allocation-actions .btn-outline-secondary,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-students-page .students-table-actions .btn:disabled,
.teacher-mark-scheme-generator-page .mark-scheme-generator-import-actions .btn:disabled,
.teacher-mark-scheme-generator-page .mark-scheme-generator-actions .btn:disabled,
.teacher-mark-scheme-generator-page .mark-scheme-generator-export-actions .btn:disabled,
.teacher-copilot-ao-panel-page .ao-red-cell-actions .btn:disabled,
.teacher-copilot-ao-panel-page .ao-priority-student-actions .btn:disabled,
.teacher-adaptive-practice-monitor-page .allocation-actions .btn:disabled,
.teacher-adaptive-practice-monitor-page .actions-inline .btn:disabled,
.teacher-adaptive-practice-tabbed-monitor-page .allocation-actions .btn:disabled,
.teacher-adaptive-practice-tabbed-monitor-page .actions-inline .btn:disabled {
    transform: none;
    box-shadow: none;
    opacity: 0.58;
}
/* ===== remaining teacher action chip pass END ===== */

.question-objectives {
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.85);
}

.question-objectives summary {
    cursor: pointer;
    color: var(--qb-ink);
    font-size: 0.84rem;
    font-weight: 700;
}

.question-objectives__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.question-objectives__item {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(49, 94, 251, 0.08);
    color: var(--qb-primary-deep);
    font-size: 0.74rem;
    font-weight: 700;
}

.question-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
}

.question-stats {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.question-footer .text-muted {
    font-size: 0.84rem;
}

.question-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.question-tags .badge {
    margin-right: 0;
}

#questionBankResults[data-density="compact"] .question-card .card-body {
    gap: 0.65rem;
    padding: 0.85rem;
}

#questionBankResults[data-density="compact"] .question-text {
    font-size: 0.94rem;
    -webkit-line-clamp: 3;
}

#questionBankResults[data-density="compact"] .question-image img {
    max-height: 160px;
}

#questionBankResults[data-density="compact"] .question-objectives {
    display: none;
}

.qb-load-more-wrap {
    display: flex;
    justify-content: center;
    padding-top: 0.3rem;
}

@media (max-width: 1199.98px) {
    .qb-stats-grid,
    .qb-filter-row,
    .qb-filter-grid,
    .qb-filter-grid--secondary {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .qb-hero,
    .qb-selection-bar,
    .qb-results-toolbar {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .qb-stats-grid,
    .qb-filter-row,
    .qb-filter-grid,
    .qb-filter-grid--secondary,
    .questions-grid {
        grid-template-columns: 1fr;
    }

    .qb-selection-bar,
    .qb-results-toolbar {
        align-items: stretch;
    }
}
/* ===== teacher-question-bank-page END ===== */

/* ===== teacher-paper-tests-page START ===== */
.teacher-paper-tests-page {
        --paper-ink: #14233f;
        --paper-text: #3a4967;
        --paper-muted: #72809a;
        --paper-line: rgba(191, 219, 254, 0.82);
        --paper-border: rgba(148, 163, 184, 0.22);
        --paper-card: rgba(255, 255, 255, 0.94);
        --paper-shell: #f4f7fd;
        --paper-primary: #315efb;
        --paper-primary-deep: #203fc3;
        --paper-mock: #ffedd5;
        --paper-mock-text: #b45309;
        --paper-published: #dcfce7;
        --paper-published-text: #15803d;
        --paper-authored: #e8eefc;
        --paper-authored-text: #3c4f9a;
        --paper-recovery: #ede9fe;
        --paper-recovery-text: #6d28d9;
        --paper-danger: #ef4444;
        --paper-shadow: 0 24px 48px rgba(15, 23, 42, 0.08);
        --paper-radius-lg: 28px;
        --paper-radius-md: 20px;
        --paper-radius-sm: 14px;
        color: var(--paper-text);
        font-family: "Source Sans 3", "Segoe UI", sans-serif;
    }

    .teacher-paper-tests-page .page-title,
    .teacher-paper-tests-page h1,
    .teacher-paper-tests-page h2,
    .teacher-paper-tests-page h3,
    .teacher-paper-tests-page h4,
    .teacher-paper-tests-page h5,
    .teacher-paper-tests-page h6 {
        color: var(--paper-ink);
        font-family: "Space Grotesk", "Segoe UI", sans-serif;
        letter-spacing: -0.03em;
    }

.teacher-paper-tests-page .top-nav {
        margin-bottom: 1rem;
        border-bottom-color: #dfe7f4;
    }

    .teacher-paper-tests-page .top-nav-actions {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-wrap: wrap;
    }

    .teacher-paper-tests-page .top-nav .btn {
        min-height: 2.8rem;
        border-radius: 16px;
        padding-inline: 1rem;
    }

    .teacher-paper-tests-page .page-content {
        display: grid;
        gap: 1.15rem;
    }

    .paper-tests-hero {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.95fr);
        align-items: stretch;
        gap: 1rem;
        padding: 1.35rem 1.45rem;
        border: 1px solid var(--paper-line);
        border-radius: var(--paper-radius-lg);
        background:
            radial-gradient(circle at top left, rgba(49, 94, 251, 0.14), transparent 30%),
            radial-gradient(circle at 86% 8%, rgba(251, 191, 36, 0.12), transparent 20%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.98) 100%);
        box-shadow: var(--paper-shadow);
    }

    .paper-tests-hero > div:first-child {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .paper-tests-hero__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        margin-bottom: 0.5rem;
        color: var(--paper-primary);
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .paper-tests-hero__title {
        margin: 0;
        font-size: clamp(1.35rem, 1.55vw, 1.8rem);
        line-height: 1.14;
    }

    .paper-tests-hero__copy {
        max-width: 64ch;
        margin: 0.7rem 0 0;
        color: var(--paper-text);
        font-size: 0.98rem;
        line-height: 1.58;
    }

    .paper-tests-hero__chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.6rem;
        margin-top: 0.95rem;
    }

    .paper-tests-hero__chip {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.45rem 0.8rem;
        border: 1px solid rgba(49, 94, 251, 0.16);
        border-radius: 999px;
        background: rgba(49, 94, 251, 0.07);
        color: var(--paper-primary-deep);
        font-size: 0.82rem;
        font-weight: 700;
    }

    .paper-tests-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: start;
        gap: 0.85rem;
    }

    .paper-tests-metric {
        display: grid;
        align-content: start;
        gap: 0.18rem;
        min-height: 122px;
        padding: 0.95rem 1rem;
        border: 1px solid rgba(226, 232, 240, 0.92);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.84);
        box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
    }

    .paper-tests-metric__label {
        color: var(--paper-muted);
        font-size: 0.76rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 800;
    }

    .paper-tests-metric__value {
        margin-top: 0.28rem;
        color: var(--paper-ink);
        font-size: 1.4rem;
        font-weight: 800;
        line-height: 1.08;
    }

    .paper-tests-metric__text {
        margin-top: 0.25rem;
        color: var(--paper-text);
        font-size: 0.86rem;
        line-height: 1.42;
    }

    .paper-test-route-panel {
        display: grid;
        gap: 1rem;
        padding: 1.2rem;
        border: 1px solid var(--paper-border);
        border-radius: var(--paper-radius-lg);
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        box-shadow: var(--paper-shadow);
    }

    .paper-test-route-panel__intro {
        display: grid;
        gap: 0.28rem;
    }

    .paper-test-route-panel__eyebrow {
        color: var(--paper-primary);
        font-size: 0.76rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .paper-test-route-panel__intro h2 {
        margin: 0;
        color: var(--paper-ink);
        font-size: 1.26rem;
        line-height: 1.2;
    }

    .paper-test-route-panel__intro p {
        max-width: 78ch;
        margin: 0;
        color: var(--paper-text);
        line-height: 1.5;
    }

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

    .paper-test-route-card {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        min-height: 300px;
        padding: 1.1rem;
        border: 1px solid rgba(203, 213, 225, 0.95);
        border-radius: 18px;
        background: #ffffff;
        box-shadow: 0 14px 26px rgba(15, 23, 42, 0.05);
    }

    .paper-test-route-card--class {
        border-color: rgba(49, 94, 251, 0.24);
    }

    .paper-test-route-card--mock {
        border-color: rgba(14, 165, 164, 0.24);
    }

    .paper-test-route-card__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.9rem;
    }

    .paper-test-route-card__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: 14px;
        background: rgba(49, 94, 251, 0.1);
        color: var(--paper-primary);
        font-size: 1.05rem;
    }

    .paper-test-route-card--mock .paper-test-route-card__icon {
        background: rgba(14, 165, 164, 0.1);
        color: #0f766e;
    }

    .paper-test-route-card__label {
        color: var(--paper-muted);
        font-size: 0.78rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .paper-test-route-card h3 {
        margin: 0;
        color: var(--paper-ink);
        font-size: 1.18rem;
        line-height: 1.24;
    }

    .paper-test-route-card p {
        margin: 0;
        color: var(--paper-text);
        line-height: 1.52;
    }

    .paper-test-route-card__steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
        margin-top: auto;
    }

    .paper-test-route-card__steps span {
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 0.55rem 0.6rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 12px;
        background: #f8fafc;
        color: var(--paper-text);
        font-size: 0.82rem;
        font-weight: 700;
        line-height: 1.22;
    }

    .paper-test-route-card > .btn {
        align-self: flex-start;
        margin-top: 0.1rem;
    }

    .paper-tests-shell,
    .paper-tests-group-card {
        overflow: hidden;
        border: 1px solid var(--paper-border);
        border-radius: var(--paper-radius-lg);
        background: linear-gradient(180deg, #ffffff 0%, var(--paper-card) 100%);
        box-shadow: var(--paper-shadow);
    }

    .paper-tests-shell-header {
        display: grid;
        gap: 1rem;
        padding: 1.2rem 1.2rem 1.1rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.95);
        background: linear-gradient(180deg, #fcfdff 0%, #f7faff 100%);
    }

    .paper-tests-shell .card-body {
        background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,255,0.92));
    }

    .paper-tests-shell-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .paper-tests-shell-top .card-title {
        margin-bottom: 0.2rem;
        font-size: 1.16rem;
    }

    .paper-tests-shell-copy {
        margin: 0;
        color: var(--paper-muted);
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .paper-tests-shell-tools {
        display: flex;
        align-items: center;
        gap: 0.7rem;
        flex-wrap: wrap;
    }

    .paper-tests-view-toggle .btn {
        min-height: 2.6rem;
        border-radius: 14px;
    }

    .paper-tests-filter-count {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.48rem 0.82rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.9);
        color: var(--paper-text);
        font-size: 0.82rem;
        font-weight: 700;
    }

    .paper-tests-filter-form {
        display: grid;
        gap: 0.85rem;
    }

    .paper-tests-filter-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.85rem;
        flex-wrap: wrap;
    }

    .paper-tests-filter-groups {
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
        gap: 0.85rem;
        width: 100%;
    }

    .paper-tests-filter-group {
        display: grid;
        gap: 0.55rem;
        padding: 0.95rem;
        border: 1px solid rgba(226, 232, 240, 0.95);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.85);
    }

    .paper-tests-filter-group__label {
        color: var(--paper-muted);
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 800;
    }

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

    .paper-tests-filter-grid--secondary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .teacher-paper-tests-page .table-filter-select {
        min-height: 2.9rem;
        border: 1px solid rgba(191, 219, 254, 0.95);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: none;
    }

    .teacher-paper-tests-page .table-filter-select:focus {
        border-color: rgba(49, 94, 251, 0.45);
        box-shadow: 0 0 0 0.22rem rgba(49, 94, 251, 0.12);
    }

    .paper-tests-filter-actions {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        flex-wrap: wrap;
    }

    .paper-tests-clear-link {
        color: var(--paper-primary-deep);
        font-size: 0.84rem;
        font-weight: 700;
        text-decoration: none;
    }

    .paper-tests-clear-link:hover {
        text-decoration: underline;
    }

    .paper-tests-selection-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.8rem;
        flex-wrap: wrap;
        padding: 1rem 1.15rem 0;
    }

    .paper-tests-selection-label {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        margin: 0;
        color: var(--paper-ink);
        font-weight: 700;
    }

    .paper-tests-bulk-btn {
        min-height: 2.6rem;
        padding-inline: 1rem;
        border-radius: 14px;
        border-color: transparent;
        box-shadow: none;
    }

    .paper-tests-bulk-btn:disabled {
        opacity: 0.55;
    }

    .paper-tests-table {
        margin: 0;
    }

    .paper-tests-table thead th {
        padding: 0.95rem 0.85rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.95);
        color: var(--paper-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        background: rgba(248, 250, 252, 0.85);
    }

    .paper-tests-table tbody td {
        padding: 1rem 0.85rem;
        vertical-align: middle;
        border-top: 1px solid rgba(239, 244, 251, 0.95);
        background: rgba(255, 255, 255, 0.9);
    }

    .paper-tests-table tbody tr:hover td {
        background: rgba(248, 251, 255, 0.92);
    }

    .paper-test-record {
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
    }

    .paper-test-record__icon {
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .paper-test-record__title {
        color: var(--paper-ink);
        font-size: 1.03rem;
        font-weight: 700;
        line-height: 1.18;
    }

    .paper-test-record__subject,
    .paper-test-record__target {
        color: var(--paper-muted);
        font-size: 0.84rem;
        line-height: 1.4;
    }

    .paper-test-tag-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
        margin-top: 0.45rem;
    }

    .paper-test-tag {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.3rem 0.55rem;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.02em;
    }

    .paper-test-tag--mock {
        background: var(--paper-mock);
        color: var(--paper-mock-text);
    }

    .paper-test-tag--authored {
        background: var(--paper-authored);
        color: var(--paper-authored-text);
    }

    .paper-test-tag--recovery {
        background: var(--paper-recovery);
        color: var(--paper-recovery-text);
    }

    .paper-test-tag--source {
        background: rgba(241, 245, 249, 0.95);
        color: #556277;
        border: 1px solid rgba(226, 232, 240, 0.95);
    }

    .paper-test-pill,
    .paper-test-status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.9rem;
        padding: 0.28rem 0.55rem;
        border-radius: 999px;
        font-size: 0.76rem;
        font-weight: 800;
    }

    .paper-test-pill {
        background: rgba(241, 245, 249, 0.98);
        color: var(--paper-authored-text);
        border: 1px solid rgba(226, 232, 240, 0.95);
    }

    .paper-test-pill--submissions {
        background: rgba(219, 234, 254, 0.98);
        color: #2563eb;
    }

    .paper-test-status--draft {
        background: rgba(241, 245, 249, 0.98);
        color: #556277;
        border: 1px solid rgba(226, 232, 240, 0.95);
    }

    .paper-test-status--published {
        background: var(--paper-published);
        color: var(--paper-published-text);
        border: 1px solid rgba(34, 197, 94, 0.18);
    }

    .paper-test-actions {
        display: flex;
        align-items: center;
        gap: 0.38rem;
        flex-wrap: wrap;
    }

    .teacher-paper-tests-page .action-chip {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        min-width: 34px;
        height: 34px;
        padding: 0;
        border-radius: 11px;
        border: 1px solid transparent;
        box-shadow: none;
    }

    .teacher-paper-tests-page .table-card-actions .action-chip {
        min-width: auto;
        height: 38px;
        padding: 0.45rem 0.75rem;
        justify-content: center;
    }

    .teacher-paper-tests-page .action-chip--preview {
        background: rgba(16, 185, 129, 0.14);
        border-color: rgba(16, 185, 129, 0.26);
        color: #0f766e;
    }

    .teacher-paper-tests-page .action-chip--view {
        background: rgba(124, 58, 237, 0.14);
        border-color: rgba(124, 58, 237, 0.24);
        color: #7c3aed;
    }

    .teacher-paper-tests-page .action-chip--edit {
        background: rgba(37, 99, 235, 0.12);
        border-color: rgba(37, 99, 235, 0.22);
        color: #2563eb;
    }

    .teacher-paper-tests-page .action-chip--results,
    .teacher-paper-tests-page .action-chip--upload {
        background: rgba(14, 165, 233, 0.14);
        border-color: rgba(14, 165, 233, 0.24);
        color: #0284c7;
    }

    .teacher-paper-tests-page .action-chip--export {
        background: rgba(245, 158, 11, 0.14);
        border-color: rgba(245, 158, 11, 0.28);
        color: #b45309;
    }

    .teacher-paper-tests-page .action-chip--delete {
        background: rgba(239, 68, 68, 0.12);
        border-color: rgba(239, 68, 68, 0.24);
        color: #dc2626;
    }

    .teacher-paper-tests-page .action-chip:hover {
        transform: translateY(-1px);
        filter: brightness(0.98);
    }

    .paper-test-action-btn {
        min-width: 2.1rem;
        min-height: 2.1rem;
    }

    .paper-tests-group-card {
        margin: 1rem 1rem 0;
        box-shadow: none;
    }

    .paper-tests-group-card:last-child {
        margin-bottom: 1rem;
    }

    .paper-tests-group-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.9rem;
        padding: 0.95rem 1rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.95);
        background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%);
    }

    .paper-tests-group-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2rem;
        padding: 0.32rem 0.6rem;
        border-radius: 999px;
        background: rgba(49, 94, 251, 0.08);
        color: var(--paper-primary);
        font-size: 0.76rem;
        font-weight: 800;
    }

    .paper-tests-empty {
        display: grid;
        justify-items: center;
        text-align: center;
        gap: 0.8rem;
        padding: 2rem 2rem 2.2rem;
    }

    .paper-tests-empty i {
        width: 3.4rem;
        height: 3.4rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 20px;
        background: rgba(49, 94, 251, 0.08);
        color: var(--paper-primary);
        font-size: 1.35rem;
    }

    .paper-tests-empty h5 {
        margin: 0;
    }

    .paper-tests-empty p {
        margin: 0;
        color: var(--paper-muted);
        max-width: 36rem;
    }

    .paper-tests-empty__actions {
        display: flex;
        gap: 0.7rem;
        flex-wrap: wrap;
    }

    .paper-tests-pagination {
        padding: 1rem 1.15rem 1.15rem;
    }

    .paper-tests-pagination__bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.8rem;
        flex-wrap: wrap;
    }

    @media (max-width: 1199.98px) {
        .paper-tests-hero {
            grid-template-columns: 1fr;
        }

        .paper-tests-metrics,
        .paper-test-route-grid,
        .paper-tests-filter-groups {
            grid-template-columns: 1fr 1fr;
        }

        .paper-tests-filter-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .paper-tests-filter-grid--secondary {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (max-width: 767.98px) {
        .teacher-paper-tests-page .top-nav {
            padding: 0.95rem 1rem;
        }

        .paper-tests-hero,
        .paper-test-route-panel,
        .paper-tests-shell-header {
            padding: 1rem;
        }

        .paper-tests-metrics,
        .paper-test-route-grid,
        .paper-test-route-card__steps,
        .paper-tests-filter-groups,
        .paper-tests-filter-grid,
        .paper-tests-filter-grid--secondary {
            grid-template-columns: 1fr;
        }

        .paper-tests-shell-top,
        .paper-tests-selection-bar,
        .paper-tests-pagination__bar {
            align-items: stretch;
        }
    }
/* ===== teacher-paper-tests-page END ===== */

/* ===== selected live flow polish START ===== */
.teacher-results-page .btn-outline-primary:hover,
.teacher-results-page .btn-outline-primary:focus-visible,
.teacher-paper-test-grade-page .btn-outline-primary:hover,
.teacher-paper-test-grade-page .btn-outline-primary:focus-visible {
    background: rgba(69, 104, 246, 0.12) !important;
    color: var(--primary) !important;
    border-color: rgba(69, 104, 246, 0.38) !important;
}

.teacher-results-page .btn-outline-success:hover,
.teacher-results-page .btn-outline-success:focus-visible,
.teacher-paper-test-grade-page .btn-outline-success:hover,
.teacher-paper-test-grade-page .btn-outline-success:focus-visible {
    background: rgba(16, 185, 129, 0.14) !important;
    color: var(--success) !important;
    border-color: rgba(16, 185, 129, 0.34) !important;
}

.teacher-results-page .btn-outline-secondary:hover,
.teacher-results-page .btn-outline-secondary:focus-visible,
.teacher-paper-test-grade-page .btn-outline-secondary:hover,
.teacher-paper-test-grade-page .btn-outline-secondary:focus-visible {
    background: rgba(226, 232, 240, 0.82) !important;
    color: var(--gray-700) !important;
    border-color: rgba(148, 163, 184, 0.38) !important;
}

.student-learner-page .btn.btn-primary,
.student-learner-page .btn.btn-success {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    border-color: #059669;
    box-shadow: 0 14px 28px rgba(5, 150, 105, 0.16);
}

.student-learner-page .btn.btn-outline-primary,
.student-learner-page .btn.btn-outline-success {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.42);
    background: #ffffff;
}

.student-learner-page .btn.btn-outline-primary:hover,
.student-learner-page .btn.btn-outline-success:hover,
.student-learner-page .btn.btn-outline-primary:focus-visible,
.student-learner-page .btn.btn-outline-success:focus-visible {
    background: #ecfdf5;
    color: #065f46;
    border-color: rgba(16, 185, 129, 0.62);
}

.student-assignments-page .assignment-summary-card,
.student-assignments-page .assignment-nav-card,
.student-assignments-page .assignment-detail-card,
.student-assignments-page .assignment-submit-card,
.student-target-planner-page .card,
.student-available-tests-page .card {
    border: 1px solid rgba(187, 247, 208, 0.78);
    box-shadow: 0 18px 36px rgba(5, 150, 105, 0.07);
}

.student-assignments-page .assignment-nav-header,
.student-assignments-page .assignment-detail-header,
.student-assignments-page .assignment-submit-header,
.student-target-planner-page .card-header {
    background:
        radial-gradient(circle at top right, rgba(16, 185, 129, 0.08) 0%, transparent 28%),
        linear-gradient(180deg, rgba(244, 253, 248, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
}

.student-assignments-page .assignment-nav-item--followup {
    border-color: rgba(167, 243, 208, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(236, 253, 245, 0.92) 100%);
}

.student-assignments-page .assignment-nav-item--followup .assignment-nav-kicker {
    color: #047857;
}

.student-available-tests-page .student-test-card {
    border-radius: 22px;
    overflow: hidden;
}

.student-available-tests-page .student-followup-note {
    border: 1px solid rgba(187, 247, 208, 0.85);
    background:
        radial-gradient(circle at top right, rgba(16, 185, 129, 0.08) 0%, transparent 30%),
        linear-gradient(180deg, rgba(244, 253, 248, 0.98) 0%, rgba(255, 255, 255, 0.97) 100%);
}
/* ===== selected live flow polish END ===== */

/* ===== paper grade calmer summary layout START ===== */
.teacher-paper-test-grade-page .paper-grade-summary-shell {
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 58%, rgba(236, 253, 245, 0.92) 100%);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
    padding: clamp(1rem, 1.7vw, 1.45rem);
    margin-bottom: 1.4rem;
}

.teacher-paper-test-grade-page .page-content > .card:has(.stat-icon),
.teacher-paper-test-grade-page .page-content > .card:has(input[name="action"][value="run_ocr"]),
.teacher-paper-test-grade-page .paper-grade-legacy-accommodation-card {
    display: none !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
    gap: 1rem;
    align-items: stretch;
}

.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    padding: 1rem;
    min-width: 0;
}

.teacher-paper-test-grade-page .paper-grade-student-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
}

.teacher-paper-test-grade-page .paper-grade-subject-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #fff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.18);
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.35rem, 1.55vw, 1.9rem);
    font-weight: 800;
    line-height: 1.15;
}

.teacher-paper-test-grade-page .paper-grade-paper-title {
    margin-top: 0.35rem;
    color: #1e293b;
    font-size: 0.98rem;
    font-weight: 700;
}

.teacher-paper-test-grade-page .paper-grade-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.7rem;
}

.teacher-paper-test-grade-page .paper-grade-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.4rem 0.65rem;
}

.teacher-paper-test-grade-page .paper-grade-chip.is-warning {
    border-color: rgba(245, 158, 11, 0.28);
    background: #fff7ed;
    color: #92400e;
}

.teacher-paper-test-grade-page .paper-grade-score-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.teacher-paper-test-grade-page .paper-grade-score-tile {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 14px;
    background: #fff;
    padding: 0.85rem;
    min-width: 0;
}

.teacher-paper-test-grade-page .paper-grade-score-label {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-paper-test-grade-page .paper-grade-score-value {
    color: #0f172a;
    font-size: clamp(1.35rem, 1.5vw, 1.9rem);
    font-weight: 850;
    line-height: 1.1;
    margin-top: 0.25rem;
}

.teacher-paper-test-grade-page .paper-grade-score-note {
    color: #64748b;
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.teacher-paper-test-grade-page .paper-grade-score-tile.is-review {
    border-color: rgba(245, 158, 11, 0.32);
    background: #fff7ed;
}

.teacher-paper-test-grade-page .paper-grade-score-tile.is-ready {
    border-color: rgba(16, 185, 129, 0.26);
    background: #ecfdf5;
}

.teacher-paper-test-grade-page .paper-grade-quick-panels,
.teacher-paper-test-grade-page .paper-grade-reference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.teacher-paper-test-grade-page .paper-grade-reference-grid--single {
    grid-template-columns: 1fr;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel,
.teacher-paper-test-grade-page .paper-reference-collapse {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__header,
.teacher-paper-test-grade-page .paper-reference-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__title {
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 800;
    margin: 0;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__body {
    padding: 0.95rem 1rem;
}

.teacher-paper-test-grade-page .paper-grade-file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 12px;
    background: #f8fafc;
    padding: 0.7rem 0.75rem;
}

.teacher-paper-test-grade-page .paper-grade-file-row + .paper-grade-file-row {
    margin-top: 0.55rem;
}

.teacher-paper-test-grade-page .paper-reference-collapse {
    margin-bottom: 0 !important;
}

.teacher-paper-test-grade-page .paper-reference-summary {
    cursor: pointer;
}

.teacher-paper-test-grade-page .paper-reference-collapse .card-body {
    background: #fff;
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .paper-grade-summary-grid,
    .teacher-paper-test-grade-page .paper-grade-quick-panels,
    .teacher-paper-test-grade-page .paper-grade-reference-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== paper grade calmer summary layout END ===== */

/* Unified teacher header shell: match the Content Packs header language across teacher workspaces. */
.dashboard-wrapper > .sidebar.teacher + .main-content .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-workspace-page:not(.teacher-dashboard-page) .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-tests-page .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-students-page .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-create-test-page .teacher-shell-topbar,
.coursework-v3 .teacher-shell-topbar,
.coursework-v3 .coursework-v3-topbar.teacher-shell-topbar,
.packs-v3 .coursework-v3-topbar.teacher-shell-topbar {
    position: sticky;
    top: 0.9rem;
    z-index: 130;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 1.35rem;
    min-height: 104px;
    height: auto;
    margin: 1rem 1rem 1.25rem;
    padding: 1.25rem 1.55rem;
    border: 1px solid rgba(185, 197, 246, 0.58) !important;
    border-radius: 32px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(59, 130, 246, 0.16), transparent 34%),
        radial-gradient(circle at 83% 7%, rgba(45, 212, 191, 0.18), transparent 32%),
        radial-gradient(circle at 98% 36%, rgba(139, 92, 246, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 255, 0.94)) !important;
    box-shadow: 0 28px 58px rgba(15, 23, 42, 0.09) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.teacher-shell-topbar .teacher-shell-top-left,
.coursework-v3 .teacher-shell-topbar .teacher-shell-top-left,
.coursework-v3 .teacher-shell-topbar .coursework-v3-top-left {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    flex-direction: row !important;
    gap: 1.15rem;
    min-width: 0;
    flex-wrap: wrap;
}

.teacher-shell-topbar .page-title,
.teacher-shell-topbar .coursework-v3-title,
.coursework-v3 .teacher-shell-topbar .coursework-v3-title,
.packs-v3 .coursework-v3-topbar.teacher-shell-topbar .coursework-v3-title {
    margin: 0;
    color: #18295a;
    font-family: "Space Grotesk", "Segoe UI", sans-serif;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.teacher-shell-topbar .teacher-shell-mode-pill,
.coursework-v3 .teacher-shell-topbar .teacher-shell-mode-pill,
.coursework-v3 .teacher-shell-topbar .coursework-v3-mode,
.packs-v3 .coursework-v3-topbar.teacher-shell-topbar .coursework-v3-mode {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.65rem;
    max-width: min(780px, 100%);
    padding: 0.55rem 1rem;
    border: 1px solid rgba(203, 213, 225, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #5b6f98;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.teacher-shell-topbar .teacher-shell-mode-pill i,
.coursework-v3 .teacher-shell-topbar .teacher-shell-mode-pill i,
.coursework-v3 .teacher-shell-topbar .coursework-v3-mode i {
    color: #4b66a0;
}

.teacher-shell-topbar .teacher-shell-top-right,
.teacher-shell-topbar .top-nav-actions,
.coursework-v3 .teacher-shell-topbar .coursework-v3-top-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 0.8rem;
    min-width: 0;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.teacher-shell-topbar .teacher-shell-top-right > .d-flex,
.teacher-shell-topbar .top-nav-actions > .d-flex {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem !important;
    flex-wrap: wrap;
}

.teacher-shell-topbar .teacher-shell-top-right .btn,
.teacher-shell-topbar .teacher-shell-top-right .dropdown-toggle,
.teacher-shell-topbar .teacher-shell-top-right .coursework-v3-link,
.coursework-v3 .teacher-shell-topbar .coursework-v3-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 3.1rem;
    padding: 0.7rem 1.15rem;
    border: 1px solid rgba(203, 213, 225, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.93);
    color: #53678e;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.teacher-shell-topbar .teacher-shell-top-right .btn-primary,
.teacher-shell-topbar .teacher-shell-top-right .teacher-shell-dark-toggle {
    border-color: #172554;
    background: linear-gradient(135deg, #172554 0%, #1d4ed8 100%);
    color: #ffffff;
}

.teacher-shell-topbar .teacher-shell-circle-action,
.teacher-shell-topbar .coursework-v3-icon-btn,
.coursework-v3 .teacher-shell-topbar .coursework-v3-icon-btn {
    width: 3.25rem;
    min-width: 3.25rem;
    height: 3.25rem;
    min-height: 3.25rem;
    padding: 0;
    border: 1px solid rgba(203, 213, 225, 0.88);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #4d6288;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.teacher-shell-topbar .teacher-shell-avatar,
.teacher-shell-topbar .coursework-v3-avatar,
.coursework-v3 .teacher-shell-topbar .coursework-v3-avatar {
    width: 3.55rem;
    min-width: 3.55rem;
    height: 3.55rem;
    border-radius: 999px;
    border: 1px solid rgba(191, 219, 254, 0.88);
    background: linear-gradient(180deg, #eaf2ff 0%, #dbe8ff 100%);
    color: #294fae;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 12px 24px rgba(15, 23, 42, 0.05);
}

.paper-grade-layout .teacher-paper-test-grade-page .top-nav.teacher-shell-topbar {
    width: auto !important;
    max-width: none !important;
    margin: 1rem 1rem 1.25rem !important;
    overflow: visible !important;
}

@media (max-width: 991.98px) {
    .dashboard-wrapper > .sidebar.teacher + .main-content .teacher-shell-topbar,
    .dashboard-wrapper > .main-content.teacher-workspace-page:not(.teacher-dashboard-page) .teacher-shell-topbar,
    .dashboard-wrapper > .main-content.teacher-tests-page .teacher-shell-topbar,
    .dashboard-wrapper > .main-content.teacher-students-page .teacher-shell-topbar,
    .dashboard-wrapper > .main-content.teacher-create-test-page .teacher-shell-topbar,
    .coursework-v3 .teacher-shell-topbar,
    .coursework-v3 .coursework-v3-topbar.teacher-shell-topbar,
    .packs-v3 .coursework-v3-topbar.teacher-shell-topbar {
        top: 0.7rem;
        margin: 0.8rem 0.8rem 1rem;
        padding: 1rem;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .teacher-shell-topbar .teacher-shell-top-left,
    .teacher-shell-topbar .teacher-shell-top-right,
    .teacher-shell-topbar .top-nav-actions,
    .coursework-v3 .teacher-shell-topbar .coursework-v3-top-left,
    .coursework-v3 .teacher-shell-topbar .coursework-v3-top-right {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .teacher-shell-topbar .page-title,
    .teacher-shell-topbar .coursework-v3-title,
    .coursework-v3 .teacher-shell-topbar .coursework-v3-title {
        font-size: 1.55rem;
    }
}

/* ===== teacher operational UI overhaul START ===== */
.dashboard-wrapper > .sidebar.teacher + .main-content,
.dashboard-wrapper > .main-content.teacher-workspace-page,
.dashboard-wrapper > .main-content.teacher-tests-page,
.dashboard-wrapper > .main-content.teacher-students-page,
.dashboard-wrapper > .main-content.teacher-dashboard-page,
.dashboard-wrapper > .main-content.teacher-results-page {
    --teacher-shell-radius: 8px;
    --teacher-shell-radius-inner: 6px;
    --teacher-shell-gap: 0.75rem;
    --teacher-shell-line: #d7e0ea;
    --teacher-shell-line-soft: #e6edf5;
    --teacher-shell-surface: #ffffff;
    --teacher-shell-surface-muted: #f6f8fb;
    --teacher-shell-ink: #172033;
    --teacher-shell-muted: #5d6a7d;
    --teacher-shell-primary: #2563eb;
    --teacher-shell-primary-dark: #1d4ed8;
    --teacher-shell-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    background: #eef3f8;
    color: var(--teacher-shell-ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .page-content,
.dashboard-wrapper > .main-content.teacher-workspace-page .page-content,
.dashboard-wrapper > .main-content.teacher-tests-page .page-content,
.dashboard-wrapper > .main-content.teacher-students-page .page-content,
.dashboard-wrapper > .main-content.teacher-dashboard-page .page-content,
.dashboard-wrapper > .main-content.teacher-results-page .page-content {
    display: grid;
    gap: var(--teacher-shell-gap);
    max-width: 100%;
    overflow-x: clip;
    padding: 0.75rem 1rem 1rem;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-workspace-page:not(.teacher-dashboard-page) .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-tests-page .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-students-page .teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-create-test-page .teacher-shell-topbar {
    min-height: auto;
    margin: 0.75rem 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: var(--teacher-shell-surface) !important;
    box-shadow: var(--teacher-shell-shadow) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.teacher-shell-topbar .page-title,
.teacher-shell-topbar .coursework-v3-title,
.dashboard-wrapper > .sidebar.teacher + .main-content h1,
.dashboard-wrapper > .sidebar.teacher + .main-content h2,
.dashboard-wrapper > .sidebar.teacher + .main-content h3 {
    color: var(--teacher-shell-ink);
    font-family: "Inter", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-wrap: balance;
}

.teacher-shell-topbar .page-title,
.teacher-shell-topbar .coursework-v3-title {
    font-size: clamp(1.25rem, 1.5vw, 1.65rem);
    line-height: 1.15;
}

.teacher-shell-topbar .teacher-shell-mode-pill,
.teacher-shell-topbar .teacher-shell-top-right .btn,
.teacher-shell-topbar .teacher-shell-top-right .dropdown-toggle,
.dashboard-wrapper > .sidebar.teacher + .main-content .btn {
    min-height: 40px;
    border-radius: var(--teacher-shell-radius-inner);
    letter-spacing: 0;
    transition-duration: 140ms;
    transition-property: background-color, border-color, color, box-shadow, transform;
    transition-timing-function: ease;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .btn:active {
    transform: scale(0.96);
}

.dashboard-wrapper > .sidebar.teacher + .main-content .card,
.dashboard-wrapper > .sidebar.teacher + .main-content .panel,
.dashboard-wrapper > .sidebar.teacher + .main-content .summary-card,
.teacher-paper-test-grade-page .paper-grade-summary-shell,
.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel,
.teacher-paper-test-grade-page .paper-grade-mini-panel,
.teacher-paper-test-grade-page .paper-reference-collapse,
.teacher-paper-test-template-review-page .template-review-card,
.teacher-paper-test-template-review-page .template-review-hero,
.teacher-paper-test-template-review-page .template-review-panel,
.teacher-paper-tests-page .paper-tests-hero,
.teacher-paper-tests-page .paper-tests-shell,
.teacher-results-page .student-results-hero,
.teacher-students-page .card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: var(--teacher-shell-surface) !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-shell,
.teacher-paper-tests-page .paper-tests-hero,
.teacher-paper-test-template-review-page .template-review-hero {
    padding: 1rem !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
    gap: 0.85rem;
}

.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel {
    align-self: start;
    padding: 0.85rem !important;
}

.teacher-paper-test-grade-page .paper-grade-student-head {
    gap: 0.7rem;
}

.teacher-paper-test-grade-page .paper-grade-subject-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: var(--teacher-shell-radius);
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    font-size: clamp(1.15rem, 1.25vw, 1.45rem);
}

.teacher-paper-test-grade-page .paper-grade-paper-title {
    margin-top: 0.18rem;
    font-size: 0.9rem;
}

.teacher-paper-test-grade-page .paper-grade-meta-row {
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.teacher-paper-test-grade-page .paper-grade-chip {
    padding: 0.28rem 0.48rem;
    font-size: 0.76rem;
}

.teacher-paper-test-grade-page .paper-grade-score-grid {
    gap: 0.58rem;
}

.teacher-paper-test-grade-page .paper-grade-score-tile {
    padding: 0.68rem !important;
    border-radius: var(--teacher-shell-radius) !important;
}

.teacher-paper-test-grade-page .paper-grade-score-value {
    font-size: clamp(1.25rem, 1.35vw, 1.65rem);
}

.teacher-paper-test-grade-page .paper-grade-quick-panels,
.teacher-paper-test-grade-page .paper-grade-reference-grid {
    gap: var(--teacher-shell-gap);
    margin-bottom: var(--teacher-shell-gap);
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__header,
.teacher-paper-test-grade-page .paper-reference-summary {
    padding: 0.65rem 0.8rem;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__body {
    padding: 0.72rem 0.8rem;
}

.teacher-paper-test-grade-page .paper-grade-score-value,
.teacher-paper-test-grade-page .mock-score-tile-value,
.teacher-paper-test-template-review-page .template-review-stat-value,
.teacher-results-page [class*="value"],
.teacher-paper-tests-page [class*="metric"] {
    font-variant-numeric: tabular-nums;
}

.teacher-paper-test-grade-page .mock-score-dashboard,
.teacher-paper-test-grade-page .paper-grade-score-grid,
.teacher-paper-test-template-review-page .template-review-grid {
    gap: var(--teacher-shell-gap);
}

.teacher-paper-test-grade-page .mock-breakdown-nav {
    top: 0.75rem;
    padding: 0.7rem;
    border: 1px solid var(--teacher-shell-line);
    border-radius: var(--teacher-shell-radius);
    background: var(--teacher-shell-surface);
    box-shadow: var(--teacher-shell-shadow);
}

.teacher-paper-test-grade-page .mock-slider-controls--primary-row {
    justify-content: center;
    gap: 0.75rem;
    margin: 0.2rem 0 0.85rem;
}

.teacher-paper-test-grade-page .mock-slider-nav-button {
    min-width: 170px;
    min-height: 48px;
    border-color: var(--teacher-shell-primary);
    border-radius: var(--teacher-shell-radius);
    background: var(--teacher-shell-primary);
    box-shadow: 0 12px 22px rgba(37, 99, 235, 0.18);
}

.teacher-paper-test-grade-page .mock-question-review-list {
    gap: 0.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.35rem;
    scroll-snap-type: x mandatory;
}

.teacher-paper-test-grade-page .mock-question-review-row {
    flex-basis: 100%;
    scroll-snap-align: start;
}

.teacher-paper-test-grade-page .mock-question-review-card {
    padding: 1rem !important;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #fffaf2 !important;
    box-shadow: var(--teacher-shell-shadow);
}

.teacher-paper-test-grade-page .mock-question-card-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.75rem;
    margin: -1rem -1rem 0.75rem;
    padding: 0.85rem 1rem;
    padding-bottom: 0.75rem;
    border-radius: var(--teacher-shell-radius) var(--teacher-shell-radius) 0 0;
    border-bottom: 1px solid var(--teacher-shell-line-soft);
    background: #f8fafc;
}

.teacher-paper-test-grade-page .mock-review-alert {
    margin: 0.75rem 0;
    padding: 0.75rem 0.9rem;
    border-radius: var(--teacher-shell-radius);
}

.teacher-paper-test-grade-page .mock-evidence-strip {
    margin: 0.4rem 0 0.65rem;
}

.teacher-paper-test-grade-page .mock-review-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    align-items: start;
    gap: 0.85rem;
    margin-top: 0.75rem;
}

.teacher-paper-test-grade-page .mock-review-main,
.teacher-paper-test-grade-page .mock-review-aside {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.teacher-paper-test-grade-page .mock-review-aside {
    position: sticky;
    top: 6rem;
}

.teacher-paper-test-grade-page .mock-review-section,
.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override {
    width: 100%;
    margin: 0 !important;
    padding: 0.75rem !important;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: var(--teacher-shell-surface) !important;
    box-shadow: none;
}

.teacher-paper-test-grade-page .mock-review-section--question {
    border-left: 4px solid var(--teacher-shell-primary) !important;
    background: #f8fbff !important;
}

.teacher-paper-test-grade-page .mock-review-section--answer {
    border-left: 4px solid #10b981 !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-review-section--override {
    border-color: #f7c46b !important;
    background: #fff7ed !important;
}

.teacher-paper-test-grade-page .mock-review-section-title {
    margin-bottom: 0.45rem;
    color: #344256;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-paper-test-grade-page .mock-review-section .bg-light.border,
.teacher-paper-test-grade-page .mock-review-section .paper-ocr-preview {
    padding: 0.65rem 0.75rem !important;
    border-color: var(--teacher-shell-line-soft) !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    background: var(--teacher-shell-surface-muted) !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-panel,
.teacher-paper-test-grade-page .mock-review-reasoning-panel {
    padding: 0.75rem 0.85rem !important;
    border: 1px solid #9bc2ff !important;
    border-left: 4px solid var(--teacher-shell-primary) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #eef6ff !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-body {
    font-size: 0.92rem;
    line-height: 1.45;
    text-wrap: pretty;
}

.teacher-paper-test-grade-page .mock-visual-gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
}

.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    padding: 0.55rem !important;
    border: 1px solid var(--teacher-shell-line-soft) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 220px);
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    aspect-ratio: 1 / 1.414;
    overflow: hidden;
    border: 1px solid var(--teacher-shell-line);
    border-radius: var(--teacher-shell-radius-inner);
    outline: 1px solid rgba(0, 0, 0, 0.06);
    background: #fff;
    margin-inline: auto;
}

.teacher-paper-test-grade-page .mock-visual-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.teacher-paper-test-grade-page .mock-pdf-page-canvas {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    background: #fff;
}

.teacher-paper-test-grade-page .mock-pdf-page-status {
    position: absolute;
    inset: auto 0 0;
    padding: 0.35rem 0.5rem;
    background: rgba(255, 255, 255, 0.86);
    color: var(--teacher-shell-muted);
    font-size: 0.78rem;
}

.teacher-paper-test-grade-page .mock-confirm-control {
    width: 100%;
    min-height: 72px;
    padding: 0.75rem;
    border: 1px solid #88e3ad;
    border-radius: var(--teacher-shell-radius);
    background: #effdf4;
}

.teacher-paper-test-grade-page .mock-mark-field-summary,
.teacher-paper-test-grade-page .mock-question-mark-pill,
.teacher-paper-test-grade-page .mock-evidence-pill,
.teacher-paper-test-grade-page .mock-question-jump {
    font-variant-numeric: tabular-nums;
}

.teacher-paper-test-template-review-page .template-review-card > .card-header .card-title,
.teacher-paper-test-template-review-page .template-review-stat-value,
.teacher-paper-test-template-review-page .template-review-section-heading,
.teacher-paper-tests-page .page-title,
.teacher-paper-tests-page h1,
.teacher-paper-tests-page h2,
.teacher-results-page .page-title,
.teacher-students-page .page-title {
    font-family: "Inter", "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .mock-review-body {
        grid-template-columns: 1fr;
    }

    .teacher-paper-test-grade-page .mock-review-aside {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .dashboard-wrapper > .sidebar.teacher + .main-content .page-content,
    .dashboard-wrapper > .main-content.teacher-workspace-page .page-content,
    .dashboard-wrapper > .main-content.teacher-tests-page .page-content,
    .dashboard-wrapper > .main-content.teacher-students-page .page-content,
    .dashboard-wrapper > .main-content.teacher-dashboard-page .page-content,
    .dashboard-wrapper > .main-content.teacher-results-page .page-content {
        padding: 0.65rem;
    }

    .teacher-paper-test-grade-page .mock-question-card-header {
        grid-template-columns: 1fr;
    }

    .teacher-paper-test-grade-page .mock-slider-nav-button {
        flex: 1 1 132px;
        min-width: 132px;
    }

    .teacher-paper-test-grade-page .mock-visual-link,
    .teacher-paper-test-grade-page .mock-pdf-page-preview {
        width: min(100%, 200px);
    }
}

/* ===== teacher grade workbench v2 START ===== */
.paper-grade-layout .teacher-paper-test-grade-page .top-nav.teacher-shell-topbar {
    margin: 0.5rem 0.65rem 0.55rem !important;
    padding: 0.58rem 0.7rem !important;
    border-radius: 10px !important;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-top-left,
.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-top-right,
.teacher-paper-test-grade-page .teacher-shell-topbar .top-nav-actions {
    gap: 0.45rem !important;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .page-title {
    font-size: clamp(1.18rem, 1.35vw, 1.48rem) !important;
    line-height: 1.05 !important;
    white-space: nowrap;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-mode-pill {
    min-height: 2.2rem !important;
    padding: 0.42rem 0.65rem !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-top-right .btn,
.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-circle-action {
    min-height: 2.2rem !important;
    padding: 0.42rem 0.65rem !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .teacher-shell-avatar {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content {
    gap: 0.5rem !important;
    padding-top: 0.5rem !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content > * {
    order: 30 !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content > .paper-grade-summary-shell {
    order: 1 !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-shell {
    margin-bottom: 0.35rem !important;
    padding: 0.65rem !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055) !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content > .card:has(.mock-question-review-list) {
    order: 2 !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content > .paper-grade-quick-panels {
    order: 20 !important;
}

.paper-grade-layout .teacher-paper-test-grade-page .page-content > .paper-grade-reference-grid {
    order: 21 !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(560px, 0.92fr) !important;
    gap: 0.6rem !important;
    align-items: stretch !important;
}

.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel {
    min-height: 0 !important;
    padding: 0.6rem 0.7rem !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.teacher-paper-test-grade-page .paper-grade-student-head {
    grid-template-columns: 2.35rem minmax(0, 1fr) !important;
    gap: 0.6rem !important;
}

.teacher-paper-test-grade-page .paper-grade-subject-icon {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    font-size: clamp(1.05rem, 1vw, 1.25rem) !important;
    line-height: 1.1 !important;
}

.teacher-paper-test-grade-page .paper-grade-paper-title {
    margin-top: 0.12rem !important;
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
}

.teacher-paper-test-grade-page .paper-grade-meta-row {
    gap: 0.25rem !important;
    margin-top: 0.35rem !important;
}

.teacher-paper-test-grade-page .paper-grade-chip {
    min-height: 1.45rem !important;
    padding: 0.18rem 0.42rem !important;
    font-size: 0.7rem !important;
    line-height: 1.15 !important;
}

.teacher-paper-test-grade-page .paper-grade-score-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.42rem !important;
}

.teacher-paper-test-grade-page .paper-grade-score-tile {
    min-height: 0 !important;
    padding: 0.45rem 0.55rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .paper-grade-score-label,
.teacher-paper-test-grade-page .mock-score-tile-label {
    font-size: 0.64rem !important;
    line-height: 1.15 !important;
}

.teacher-paper-test-grade-page .paper-grade-score-value,
.teacher-paper-test-grade-page .mock-score-tile-value {
    margin-top: 0.08rem !important;
    font-size: clamp(1.08rem, 1vw, 1.28rem) !important;
    line-height: 1.05 !important;
}

.teacher-paper-test-grade-page .paper-grade-score-note,
.teacher-paper-test-grade-page .mock-score-tile-note {
    margin-top: 0.12rem !important;
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
}

.teacher-paper-test-grade-page .paper-grade-quick-panels,
.teacher-paper-test-grade-page .paper-grade-reference-grid {
    gap: 0.45rem !important;
    margin-bottom: 0.35rem !important;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel,
.teacher-paper-test-grade-page .paper-reference-collapse {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__header,
.teacher-paper-test-grade-page .paper-reference-summary {
    min-height: 2.25rem !important;
    padding: 0.42rem 0.6rem !important;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__title,
.teacher-paper-test-grade-page .paper-reference-summary .card-title {
    font-size: 0.86rem !important;
}

.teacher-paper-test-grade-page .paper-grade-mini-panel__body {
    padding: 0.42rem 0.6rem !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
}

.teacher-paper-test-grade-page .paper-grade-file-row {
    padding: 0.38rem 0.5rem !important;
    border-radius: 7px !important;
}

.teacher-paper-test-grade-page .paper-reference-collapse .card-body {
    padding: 0.55rem !important;
}

.teacher-paper-test-grade-page .paper-reference-collapse textarea {
    min-height: 4.8rem !important;
    max-height: 7rem !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-grade-page .card:has(.mock-question-review-list) {
    margin-top: 0.1rem !important;
    margin-bottom: 0.5rem !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.teacher-paper-test-grade-page .card:has(.mock-question-review-list) > .card-header {
    min-height: 0 !important;
    padding: 0.48rem 0.65rem !important;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .card:has(.mock-question-review-list) > .card-body {
    margin-top: 0.45rem !important;
    padding: 0.6rem !important;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
}

.teacher-paper-test-grade-page .card:has(.mock-question-review-list) > .card-body > .small.text-muted.mb-3 {
    display: none !important;
}

.teacher-paper-test-grade-page .mock-score-dashboard {
    display: none !important;
}

.teacher-paper-test-grade-page .mock-breakdown-nav {
    margin-bottom: 0.45rem !important;
    padding: 0.52rem !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.055) !important;
}

.teacher-paper-test-grade-page .mock-breakdown-nav > .d-flex {
    margin-bottom: 0.34rem !important;
}

.teacher-paper-test-grade-page .mock-breakdown-jumps {
    gap: 0.32rem !important;
    max-height: 4.65rem;
    overflow: auto;
    padding-right: 0.1rem;
}

.teacher-paper-test-grade-page .mock-question-jump {
    min-height: 1.86rem !important;
    padding: 0.2rem 0.38rem !important;
    border-radius: 7px !important;
    font-size: 0.76rem !important;
}

.teacher-paper-test-grade-page .mock-review-workflow-bar {
    margin-bottom: 0.42rem !important;
    padding: 0.52rem 0.62rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-review-workflow-actions .btn {
    min-height: 2.1rem !important;
    padding: 0.34rem 0.56rem !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-grade-page .mock-slider-controls--primary-row {
    margin: 0.2rem 0 0.5rem !important;
    padding: 0 !important;
}

.teacher-paper-test-grade-page .mock-slider-nav-button {
    min-width: 158px !important;
    min-height: 42px !important;
    padding: 0.56rem 1rem !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    box-shadow: 0 10px 18px rgba(37, 99, 235, 0.18) !important;
}

.teacher-paper-test-grade-page .mock-question-review-list {
    gap: 0.6rem !important;
    padding-bottom: 0.15rem !important;
}

.teacher-paper-test-grade-page .mock-question-review-card {
    padding: 0.72rem !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-question-review-card.is-review-required,
.teacher-paper-test-grade-page .mock-question-review-card.is-review-confirmation {
    border-left: 4px solid #f59e0b !important;
}

.teacher-paper-test-grade-page .mock-question-card-header {
    margin: -0.72rem -0.72rem 0.55rem !important;
    padding: 0.58rem 0.7rem !important;
    border-radius: 10px 10px 0 0 !important;
}

.teacher-paper-test-grade-page .mock-question-mark-pill {
    min-width: 5.5rem !important;
    padding: 0.42rem 0.5rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-question-mark-pill .fw-bold {
    font-size: 1.2rem !important;
}

.teacher-paper-test-grade-page .mock-review-alert {
    margin: 0.45rem 0 !important;
    padding: 0.52rem 0.65rem !important;
}

.teacher-paper-test-grade-page .mock-evidence-strip {
    margin: 0.22rem 0 0.42rem !important;
}

.teacher-paper-test-grade-page .mock-evidence-pill {
    padding: 0.14rem 0.42rem !important;
    font-size: 0.7rem !important;
}

.teacher-paper-test-grade-page .mock-review-body {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 0.62rem !important;
    margin-top: 0.45rem !important;
}

.teacher-paper-test-grade-page .mock-review-main,
.teacher-paper-test-grade-page .mock-review-aside {
    gap: 0.5rem !important;
}

.teacher-paper-test-grade-page .mock-review-aside {
    top: 0.8rem !important;
}

.teacher-paper-test-grade-page .mock-review-section,
.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override {
    padding: 0.55rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-review-section-title {
    margin-bottom: 0.34rem !important;
    font-size: 0.68rem !important;
}

.teacher-paper-test-grade-page .mock-review-section .bg-light.border,
.teacher-paper-test-grade-page .mock-review-section .paper-ocr-preview {
    padding: 0.5rem 0.58rem !important;
    border-radius: 7px !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-panel,
.teacher-paper-test-grade-page .mock-review-reasoning-panel {
    padding: 0.62rem 0.72rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-body {
    font-size: 0.87rem !important;
    line-height: 1.38 !important;
}

.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    padding: 0.45rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 176px) !important;
}

.teacher-paper-test-grade-page .mock-visual-actions,
.teacher-paper-test-grade-page .mock-pdf-page-actions {
    margin-top: 0.32rem !important;
}

.teacher-paper-test-grade-page .mock-confirm-control {
    min-height: 58px !important;
    padding: 0.58rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-review-section--override textarea {
    min-height: 4.5rem !important;
}

@media (max-width: 1280px) {
    .teacher-paper-test-grade-page .paper-grade-summary-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-grade-page .paper-grade-score-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .mock-review-body {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-grade-page .mock-review-aside {
        position: static !important;
    }
}

@media (max-width: 650px) {
    .teacher-paper-test-grade-page .paper-grade-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .teacher-paper-test-grade-page .paper-grade-quick-panels,
    .teacher-paper-test-grade-page .paper-grade-reference-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-grade-page .mock-slider-controls--primary-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .teacher-paper-test-grade-page .mock-slider-nav-button {
        min-width: 0 !important;
        width: 100% !important;
    }
}
/* ===== teacher grade workbench v2 END ===== */
/* ===== teacher operational UI overhaul END ===== */

/* ===== teacher workspace v3 local review START ===== */
.dashboard-wrapper > .sidebar.teacher + .main-content,
.dashboard-wrapper > .main-content.teacher-workspace-page,
.dashboard-wrapper > .main-content.teacher-paper-tests-page,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page,
.dashboard-wrapper > .main-content.teacher-results-page,
.dashboard-wrapper > .main-content.teacher-students-page,
.dashboard-wrapper > .main-content.teacher-dashboard-page {
    --teacher-shell-radius: 8px;
    --teacher-shell-radius-inner: 6px;
    --teacher-shell-gap: 0.55rem;
    --teacher-shell-line: #d8e1eb;
    --teacher-shell-line-soft: #edf1f6;
    --teacher-shell-surface: #ffffff;
    --teacher-shell-surface-muted: #f7f9fc;
    --teacher-shell-ink: #1c2635;
    --teacher-shell-muted: #607083;
    --teacher-shell-primary: #2563eb;
    --teacher-shell-success: #059669;
    --teacher-shell-warning: #d97706;
    --teacher-shell-shadow: 0 5px 14px rgba(15, 23, 42, 0.055);
    background: #f3f6fa !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .page-content,
.dashboard-wrapper > .main-content.teacher-workspace-page .page-content,
.dashboard-wrapper > .main-content.teacher-paper-tests-page .page-content,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page .page-content,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page .page-content,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page .page-content,
.dashboard-wrapper > .main-content.teacher-results-page .page-content,
.dashboard-wrapper > .main-content.teacher-students-page .page-content,
.dashboard-wrapper > .main-content.teacher-dashboard-page .page-content {
    gap: var(--teacher-shell-gap) !important;
    padding: 0.55rem 0.75rem 1rem !important;
    max-width: 100%;
    min-width: 0;
}

.dashboard-wrapper > .sidebar.teacher + .main-content > .top-nav,
.dashboard-wrapper > .main-content.teacher-workspace-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-paper-tests-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-results-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-students-page > .top-nav,
.dashboard-wrapper > .main-content.teacher-dashboard-page > .top-nav,
.dashboard-wrapper > .sidebar.teacher + .main-content > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-workspace-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-paper-tests-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-results-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-students-page > .top-nav.teacher-shell-topbar,
.dashboard-wrapper > .main-content.teacher-dashboard-page > .top-nav.teacher-shell-topbar {
    min-height: 0 !important;
    top: 0.55rem !important;
    gap: 0.55rem !important;
    flex-wrap: wrap;
    margin: 0.55rem 0.75rem 0.45rem !important;
    padding: 0.55rem 0.7rem !important;
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--teacher-shell-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-workspace-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-paper-tests-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-results-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-students-page > .top-nav .page-title,
.dashboard-wrapper > .main-content.teacher-dashboard-page > .top-nav .page-title {
    color: var(--teacher-shell-ink) !important;
    font-family: "Inter", "Segoe UI", sans-serif !important;
    font-size: clamp(1.18rem, 1.15vw, 1.42rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
}

.dashboard-wrapper > .sidebar.teacher + .main-content > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-workspace-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-paper-tests-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-paper-test-upload-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-paper-test-template-review-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-paper-test-grade-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-results-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-students-page > .top-nav .top-nav-actions,
.dashboard-wrapper > .main-content.teacher-dashboard-page > .top-nav .top-nav-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem !important;
    min-width: 0;
}

.teacher-shell-topbar .teacher-shell-top-left,
.teacher-shell-topbar .teacher-shell-top-right,
.teacher-shell-topbar .top-nav-actions {
    gap: 0.45rem !important;
    min-width: 0;
}

.teacher-shell-topbar .page-title {
    font-size: clamp(1.18rem, 1.15vw, 1.42rem) !important;
    line-height: 1.1 !important;
}

.teacher-shell-topbar .teacher-shell-mode-pill {
    min-height: 2rem !important;
    padding: 0.32rem 0.52rem !important;
    border-radius: 999px !important;
    background: #edf7f5 !important;
    color: #0f766e !important;
    font-size: 0.74rem !important;
}

.teacher-shell-topbar .teacher-shell-top-right .btn,
.teacher-shell-topbar .top-nav-actions .btn,
.teacher-shell-topbar .teacher-shell-circle-action,
.dashboard-wrapper > .sidebar.teacher + .main-content .btn {
    min-height: 2.15rem !important;
    padding: 0.38rem 0.62rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    font-size: 0.8rem !important;
    font-weight: 700;
}

.teacher-shell-topbar .teacher-shell-avatar {
    width: 2.15rem !important;
    min-width: 2.15rem !important;
    height: 2.15rem !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .card,
.dashboard-wrapper > .sidebar.teacher + .main-content .panel,
.dashboard-wrapper > .sidebar.teacher + .main-content .summary-card,
.teacher-dashboard-page .teacher-home-hero,
.teacher-dashboard-page .teacher-home-panel,
.teacher-dashboard-page .teacher-start-card,
.teacher-dashboard-page .teacher-system-link,
.teacher-dashboard-page .teacher-overview-tile,
.teacher-paper-tests-page .paper-tests-hero,
.teacher-paper-tests-page .paper-tests-shell,
.teacher-paper-tests-page .paper-test-route-panel,
.teacher-paper-tests-page .paper-tests-group-card,
.teacher-paper-tests-page .paper-test-record,
.teacher-paper-test-template-review-page .template-review-card,
.teacher-paper-test-template-review-page .template-review-hero,
.teacher-paper-test-template-review-page .template-review-stat,
.teacher-paper-test-template-review-page .template-review-section-card,
.teacher-paper-test-template-review-page .template-review-item-card,
.teacher-results-page .student-results-hero,
.teacher-results-page .student-summary-card,
.teacher-results-page .student-results-card,
.teacher-students-page .stat-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: var(--teacher-shell-surface) !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .card-header,
.dashboard-wrapper > .sidebar.teacher + .main-content .card-body,
.teacher-paper-test-template-review-page .template-review-hero,
.teacher-paper-tests-page .paper-tests-hero,
.teacher-results-page .student-results-hero,
.teacher-dashboard-page .teacher-home-hero,
.teacher-dashboard-page .teacher-home-panel {
    padding: 0.65rem 0.75rem !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .card-header {
    min-height: 0 !important;
    border-bottom: 1px solid var(--teacher-shell-line-soft) !important;
    background: #f8fafc !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .alert {
    margin-bottom: 0.5rem !important;
    padding: 0.58rem 0.7rem !important;
    border-radius: var(--teacher-shell-radius) !important;
    box-shadow: none !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .form-control,
.dashboard-wrapper > .sidebar.teacher + .main-content .form-select {
    min-height: 2.2rem;
    border-radius: var(--teacher-shell-radius-inner);
}

.dashboard-wrapper > .sidebar.teacher + .main-content .table,
.dashboard-wrapper > .sidebar.teacher + .main-content .data-table {
    margin-bottom: 0;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .table th,
.dashboard-wrapper > .sidebar.teacher + .main-content .table td,
.dashboard-wrapper > .sidebar.teacher + .main-content .data-table th,
.dashboard-wrapper > .sidebar.teacher + .main-content .data-table td {
    padding: 0.5rem 0.58rem !important;
    font-size: 0.84rem;
    vertical-align: middle;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .stats-grid {
    gap: 0.55rem !important;
    margin-bottom: 0.65rem !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .stat-card {
    min-height: 0 !important;
    padding: 0.65rem !important;
}

.dashboard-wrapper > .sidebar.teacher + .main-content .stat-value,
.teacher-paper-test-template-review-page .template-review-stat-value,
.teacher-paper-test-grade-page .paper-grade-score-value,
.teacher-paper-test-grade-page .mock-question-mark-pill .fw-bold {
    font-variant-numeric: tabular-nums;
}

.teacher-dashboard-page .teacher-home-shell,
.teacher-dashboard-page .teacher-home-grid,
.teacher-dashboard-page .dashboard-overview-shell,
.teacher-dashboard-page .dashboard-do-now-shell,
.teacher-dashboard-page .dashboard-week-shell {
    gap: 0.65rem !important;
}

.teacher-dashboard-page .teacher-home-title {
    font-size: clamp(1.45rem, 2vw, 2.05rem) !important;
}

.teacher-dashboard-page .teacher-home-subtitle,
.teacher-dashboard-page .teacher-start-copy,
.teacher-dashboard-page .teacher-system-copy,
.teacher-dashboard-page .teacher-home-panel-copy {
    font-size: 0.86rem !important;
    line-height: 1.35 !important;
}

.teacher-dashboard-page .teacher-start-grid,
.teacher-dashboard-page .teacher-system-map,
.teacher-dashboard-page .teacher-overview-strip {
    gap: 0.55rem !important;
}

.teacher-dashboard-page .teacher-start-card,
.teacher-dashboard-page .teacher-system-link {
    min-height: 0 !important;
    padding: 0.68rem !important;
}

.teacher-paper-tests-page .paper-tests-hero,
.teacher-paper-tests-page .paper-tests-shell,
.teacher-paper-tests-page .paper-test-route-panel,
.teacher-paper-tests-page .paper-tests-group-card,
.teacher-paper-tests-page .paper-test-record {
    padding: 0.75rem !important;
}

.teacher-paper-tests-page .paper-tests-metrics,
.teacher-paper-tests-page .paper-tests-route-grid,
.teacher-paper-tests-page .paper-tests-toolbar,
.teacher-paper-tests-page .paper-tests-group-list {
    gap: 0.55rem !important;
}

.teacher-paper-test-template-review-page .template-review-card {
    margin-bottom: 0.65rem !important;
}

.teacher-paper-test-template-review-page .template-review-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
}

.teacher-paper-test-template-review-page .template-review-stat {
    min-height: 0 !important;
    padding: 0.65rem !important;
}

.teacher-paper-test-template-review-page .template-review-stat-label,
.teacher-paper-test-template-review-page .template-review-section-kicker,
.teacher-paper-test-template-review-page .template-review-item-meta {
    letter-spacing: 0 !important;
}

.teacher-paper-test-template-review-page .template-review-stat-value {
    font-size: clamp(1.35rem, 1.7vw, 1.85rem) !important;
    line-height: 1 !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar,
.teacher-paper-test-template-review-page .template-review-section-grid,
.teacher-paper-test-template-review-page .template-review-chip-list {
    gap: 0.5rem !important;
}

.teacher-paper-test-template-review-page .template-review-chip,
.teacher-paper-test-template-review-page .template-review-item-title,
.teacher-paper-test-template-review-page .template-review-item-parent,
.teacher-paper-test-template-review-page .template-review-item-flags {
    overflow-wrap: anywhere;
}

.teacher-paper-test-template-review-page .template-review-table-wrap {
    border-radius: var(--teacher-shell-radius) !important;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
}

.teacher-paper-test-upload-page .page-content > .alert {
    display: block !important;
    padding: 0.68rem 0.78rem !important;
    line-height: 1.38 !important;
}

.teacher-paper-test-upload-page .page-content > .alert::before {
    content: none !important;
    display: none !important;
}

.teacher-paper-test-upload-page .page-content > .alert.alert-light.border {
    display: flex !important;
}

.teacher-paper-test-upload-page .page-content > .alert .fw-semibold {
    margin-bottom: 0.18rem;
}

.teacher-paper-test-upload-page .page-content > .alert .small {
    max-width: 78rem;
}

.teacher-paper-test-upload-page .template-blocking-notice {
    border-left: 4px solid #d97706 !important;
    background: #fff7ed !important;
    color: #7c2d12 !important;
}

.teacher-paper-test-upload-page .template-blocking-notice .fw-semibold {
    color: #9a3412;
    font-size: 0.94rem;
}

.teacher-paper-test-upload-page .template-blocking-notice .btn {
    min-width: 9rem;
}

.teacher-paper-test-upload-page .card:has(.paper-upload-form) {
    margin-bottom: 0.65rem !important;
}

.teacher-paper-test-upload-page .paper-upload-form .row {
    row-gap: 0.65rem !important;
}

.teacher-paper-test-upload-page .paper-upload-privacy-check {
    padding: 0.55rem 0.65rem;
    border: 1px solid #fde68a;
    border-radius: var(--teacher-shell-radius);
    background: #fffbeb;
}

.teacher-paper-test-upload-page .paper-upload-form .form-label,
.teacher-paper-tests-page .paper-tests-filter-label {
    margin-bottom: 0.22rem;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-paper-test-upload-page .paper-upload-form .btn {
    white-space: nowrap;
}

.teacher-create-test-page .paper-boundary-table-wrap,
.teacher-paper-test-upload-page .paper-upload-table-wrap,
.teacher-paper-test-upload-page .paper-upload-detail-wrap,
.teacher-reports-page .reports-table-responsive {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
}

.teacher-create-test-page .paper-boundary-table {
    min-width: 560px;
}

.teacher-create-test-page .paper-boundary-remove-btn {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.teacher-create-test-page .table-card-title,
.teacher-create-test-page .table-card-value,
.teacher-reports-page .reports-table td,
.teacher-paper-test-upload-page .paper-upload-table td,
.teacher-paper-test-upload-page .paper-upload-detail-table td {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.teacher-create-test-page .table-card-actions {
    flex-wrap: wrap;
}

.teacher-create-test-page .table-card-actions .btn,
.teacher-create-test-page .table-card-actions form {
    flex: 1 1 8rem;
}

.teacher-create-test-page .table-card-actions form .btn {
    width: 100%;
}

.teacher-paper-test-upload-page .paper-upload-table {
    min-width: 760px;
}

.teacher-paper-test-upload-page .paper-upload-table--recycled {
    min-width: 580px;
}

.teacher-paper-test-upload-page .paper-upload-table--unassigned {
    min-width: 680px;
}

.teacher-paper-test-upload-page .paper-upload-detail-table {
    min-width: 520px;
}

.teacher-paper-test-upload-page .paper-upload-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
}

.teacher-paper-test-upload-page .paper-upload-actions .btn,
.teacher-paper-test-upload-page .paper-upload-assign-form .btn,
.teacher-reports-page .reports-table-actions .btn {
    min-height: 36px;
}

.teacher-paper-test-upload-page .paper-upload-assign-form {
    flex-wrap: wrap;
}

.teacher-paper-test-upload-page .paper-upload-assign-form .form-select {
    min-width: 0;
    flex: 1 1 180px;
}

.teacher-reports-page .reports-table-card__header {
    gap: 0.75rem;
}

.teacher-reports-page .reports-table-actions {
    white-space: nowrap;
}

.teacher-reports-page .reports-table-actions > a,
.teacher-reports-page .reports-table-actions > form {
    display: inline-flex;
    vertical-align: middle;
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
}

.teacher-paper-tests-page .paper-tests-filter-control {
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-filter-grid {
    align-items: end;
}

.teacher-paper-tests-page .paper-tests-filter-control .form-select {
    width: 100%;
}

.teacher-dashboard-page .stats-grid .stat-card.is-expanded:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.38);
    outline-offset: 2px;
}

.teacher-results-page .page-content,
.teacher-students-page .page-content {
    align-content: start;
}

.teacher-results-page .student-results-hero,
.teacher-results-page .student-summary-card,
.teacher-results-page .student-results-card,
.teacher-students-page .card {
    margin-bottom: 0.65rem !important;
}

.teacher-students-page .students-stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    margin-bottom: 0.75rem !important;
}

.teacher-students-page .students-filter-grid {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) auto;
    gap: 0.65rem;
    align-items: end;
}

.teacher-results-page .results-finder-grid {
    display: grid;
    grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1fr) minmax(190px, 0.9fr) auto;
    gap: 0.65rem;
    align-items: end;
}

.teacher-results-page .results-finder-actions {
    display: flex;
    gap: 0.45rem;
    align-items: center;
}

.teacher-results-page .results-export-menu__panel {
    max-width: calc(100vw - 2rem);
}

.teacher-results-page .table-desktop {
    display: block;
}

.teacher-results-page .table-cards {
    display: none;
}

.teacher-results-page .assessment-gradebook-student-col {
    min-width: 220px;
}

.teacher-results-page .assessment-gradebook-assessment-col {
    min-width: 180px;
    max-width: 220px;
    white-space: normal;
}

.teacher-results-page .assessment-gradebook-assessment-col .fw-semibold {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.25;
    text-wrap: pretty;
}

.teacher-results-page .assessment-gradebook-scroll tbody td:first-child,
.teacher-results-page .assessment-gradebook-scroll thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    background: #ffffff;
    box-shadow: 1px 0 0 rgba(226, 232, 240, 0.9);
}

.teacher-results-page .assessment-gradebook-scroll thead th:first-child {
    z-index: 4;
    background: #f8fafc;
}

.teacher-students-page .students-filter-card {
    margin-bottom: 0.75rem !important;
}

.teacher-students-page .students-filter-field {
    margin-bottom: 0 !important;
}

.teacher-students-page .students-table-card-body {
    padding: 0 !important;
}

.teacher-students-page .students-table-wrap {
    overflow-x: auto;
}

.teacher-students-page .students-table {
    min-width: 700px;
}

.teacher-students-page .students-table .user-info {
    min-width: 0;
}

.teacher-students-page .students-table .user-name,
.teacher-students-page .students-table td {
    overflow-wrap: anywhere;
}

.teacher-students-page .students-table-actions {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
}

.teacher-dashboard-page .dashboard-monitor-table-wrap {
    overflow-x: auto;
}

.teacher-dashboard-page .dashboard-monitor-table {
    min-width: 560px;
}

.teacher-students-page .filter-form > div[style*="grid-template-columns"] {
    grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) auto !important;
    gap: 0.65rem !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-shell {
    padding: 0.58rem !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(480px, 0.8fr) !important;
    gap: 0.55rem !important;
}

.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel {
    padding: 0.52rem 0.58rem !important;
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    font-size: clamp(1rem, 1vw, 1.18rem) !important;
}

.teacher-paper-test-grade-page .paper-grade-paper-title,
.teacher-paper-test-grade-page .paper-grade-chip {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.teacher-paper-test-grade-page .mock-review-body {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
    gap: 0.55rem !important;
}

.teacher-paper-test-grade-page .mock-question-review-card {
    background: #ffffff !important;
    min-height: 0 !important;
}

.teacher-paper-test-grade-page .mock-review-main,
.teacher-paper-test-grade-page .mock-review-aside {
    align-content: start;
}

.teacher-paper-test-grade-page .mock-review-section,
.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override {
    padding: 0.5rem !important;
}

.teacher-paper-test-grade-page .mock-review-section--question,
.teacher-paper-test-grade-page .mock-review-section--answer {
    border-left-width: 3px !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-panel,
.teacher-paper-test-grade-page .mock-review-reasoning-panel {
    padding: 0.55rem 0.62rem !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-body {
    font-size: 0.84rem !important;
}

.teacher-paper-test-grade-page .mock-visual-link {
    width: min(100%, 220px) !important;
    max-height: 220px !important;
    aspect-ratio: auto !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
    outline: none !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 280px) !important;
    height: auto !important;
    aspect-ratio: 1 / 1.414 !important;
    max-height: none !important;
    margin-inline: auto !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
    outline: none !important;
}

.teacher-paper-test-grade-page .mock-visual-image,
.teacher-paper-test-grade-page .mock-pdf-page-canvas {
    object-fit: contain !important;
}

.teacher-paper-test-grade-page .mock-question-review-list {
    overflow-x: hidden !important;
    scrollbar-width: none;
}

.teacher-paper-test-grade-page .mock-question-review-list::-webkit-scrollbar {
    display: none;
}

.teacher-paper-test-grade-page .mock-slider-position {
    min-width: 7.5rem;
    min-height: 42px;
    padding: 0.5rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.84rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-test-grade-page .mock-slider-nav-button:disabled,
.teacher-paper-test-grade-page .mock-slider-nav-button[aria-disabled="true"] {
    opacity: 0.52 !important;
    cursor: not-allowed;
    box-shadow: none !important;
    transform: none !important;
}

.teacher-paper-test-grade-page summary:focus-visible,
.teacher-paper-test-grade-page .mock-visual-link:focus-visible,
.teacher-paper-test-grade-page .mock-pdf-page-preview:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
}

.teacher-paper-test-grade-page .mock-review-section--override .form-control:focus-visible,
.teacher-paper-test-grade-page .mock-review-section--override .form-check-input:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

.teacher-paper-test-grade-page #mockOverallGradingForm > .card {
    margin-top: 0.55rem !important;
}

.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-official-score]),
.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-official-percentage]),
.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-provisional-score]),
.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-provisional-percentage]),
.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-official-grade]),
.teacher-paper-test-grade-page #mockOverallGradingForm .row.g-3 > [class*="col-"]:has([data-mock-provisional-grade]) {
    display: none !important;
}

.teacher-paper-test-grade-page #mockOverallGradingForm textarea[name="feedback_overall"] {
    min-height: 6.5rem !important;
}

@media (max-width: 1280px) {
    .teacher-paper-test-grade-page .paper-grade-summary-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-template-review-page .template-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .mock-review-body {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-upload-page .paper-upload-form .btn {
        width: 100%;
    }

    .teacher-paper-test-upload-page .template-blocking-notice .btn {
        width: 100%;
    }

    .teacher-paper-test-grade-page .mock-review-section--override {
        position: static;
    }
}

@media (max-width: 760px) {
    .teacher-shell-topbar .teacher-shell-top-left,
    .teacher-shell-topbar .teacher-shell-top-right,
    .teacher-shell-topbar .top-nav-actions,
    .dashboard-wrapper > .sidebar.teacher + .main-content > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-workspace-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-paper-tests-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-paper-test-upload-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-paper-test-template-review-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-paper-test-grade-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-results-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-students-page > .top-nav .top-nav-actions,
    .dashboard-wrapper > .main-content.teacher-dashboard-page > .top-nav .top-nav-actions {
        width: 100%;
        justify-content: flex-start !important;
    }

    .teacher-paper-test-template-review-page .template-review-grid,
    .teacher-paper-test-grade-page .paper-grade-summary-grid,
    .teacher-paper-test-grade-page .paper-grade-score-grid,
    .teacher-students-page .filter-form > div[style*="grid-template-columns"],
    .teacher-students-page .students-stats-grid,
    .teacher-students-page .students-filter-grid,
    .teacher-results-page .results-finder-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-results-page .results-finder-actions {
        display: grid;
        grid-template-columns: 1fr auto;
        width: 100%;
    }

    .teacher-results-page .results-export-menu,
    .teacher-results-page .results-export-menu summary,
    .teacher-results-page .results-export-menu summary.btn {
        width: 100%;
    }

    .teacher-results-page .results-export-menu__panel {
        left: 0;
        right: auto;
        min-width: min(220px, 100%);
    }

    .teacher-results-page .table-desktop {
        display: none !important;
    }

    .teacher-results-page .table-cards {
        display: grid !important;
        gap: 0.65rem;
    }

    .teacher-results-page .student-panel-scroll:has(+ .table-cards) {
        display: none !important;
    }

    .teacher-paper-test-grade-page .mock-visual-link,
    .teacher-paper-test-grade-page .mock-pdf-page-preview {
        width: min(100%, 190px) !important;
    }

    .teacher-reports-page .reports-table-card__header .btn {
        width: 100%;
        justify-content: center;
    }

    .teacher-reports-page .reports-table-responsive {
        overflow-x: auto !important;
    }

    .teacher-reports-page .reports-table,
    .teacher-reports-page .reports-table thead,
    .teacher-reports-page .reports-table tbody,
    .teacher-reports-page .reports-table th,
    .teacher-reports-page .reports-table td,
    .teacher-reports-page .reports-table tr {
        display: block;
        width: 100%;
    }

    .teacher-reports-page .reports-table thead {
        display: none;
    }

    .teacher-reports-page .reports-table tbody {
        display: grid;
        gap: 0.65rem;
        padding: 0.65rem;
    }

    .teacher-reports-page .reports-table tr {
        border: 1px solid #dbe4f0;
        border-radius: var(--teacher-shell-radius);
        background: #ffffff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        padding: 0.62rem;
    }

    .teacher-reports-page .reports-table td {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        border: 0 !important;
        padding: 0.36rem 0 !important;
        text-align: right !important;
    }

    .teacher-reports-page .reports-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
    }

    .teacher-reports-page .reports-table-actions {
        display: grid;
        gap: 0.45rem;
        white-space: normal;
    }

    .teacher-reports-page .reports-table-actions > a,
    .teacher-reports-page .reports-table-actions > form,
    .teacher-reports-page .reports-table-actions .btn {
        width: 100%;
        justify-content: center;
        margin: 0 !important;
    }

    .teacher-students-page .students-table-wrap {
        overflow-x: auto !important;
    }

    .teacher-students-page .students-table,
    .teacher-students-page .students-table thead,
    .teacher-students-page .students-table tbody,
    .teacher-students-page .students-table th,
    .teacher-students-page .students-table td,
    .teacher-students-page .students-table tr {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .teacher-students-page .students-table {
        min-width: 0;
    }

    .teacher-students-page .students-table thead {
        display: none;
    }

    .teacher-students-page .students-table tbody {
        display: grid;
        gap: 0.65rem;
        padding: 0.65rem;
    }

    .teacher-students-page .students-table tr {
        border: 1px solid #dbe4f0;
        border-radius: var(--teacher-shell-radius);
        background: #ffffff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        padding: 0.62rem;
    }

    .teacher-students-page .students-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        border: 0 !important;
        padding: 0.36rem 0 !important;
        text-align: right !important;
    }

    .teacher-students-page .students-table td::before {
        content: attr(data-label);
        color: #64748b;
        flex: 0 0 5.8rem;
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
    }

    .teacher-students-page .students-table td[data-label="Student"] {
        display: block;
        text-align: left !important;
    }

    .teacher-students-page .students-table td[data-label="Student"]::before {
        display: block;
        margin-bottom: 0.35rem;
    }

    .teacher-students-page .students-table-actions-cell {
        display: grid !important;
        gap: 0.45rem;
        text-align: left !important;
    }

    .teacher-students-page .students-table-actions {
        width: 100%;
        justify-content: stretch;
    }

    .teacher-students-page .students-table-actions .btn {
        width: 100%;
        min-height: 40px;
        justify-content: center;
    }

    .teacher-dashboard-page .dashboard-monitor-table-wrap {
        overflow-x: auto !important;
    }

    .teacher-dashboard-page .dashboard-monitor-table,
    .teacher-dashboard-page .dashboard-monitor-table thead,
    .teacher-dashboard-page .dashboard-monitor-table tbody,
    .teacher-dashboard-page .dashboard-monitor-table th,
    .teacher-dashboard-page .dashboard-monitor-table td,
    .teacher-dashboard-page .dashboard-monitor-table tr {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .teacher-dashboard-page .dashboard-monitor-table {
        min-width: 0;
    }

    .teacher-dashboard-page .dashboard-monitor-table thead {
        display: none;
    }

    .teacher-dashboard-page .dashboard-monitor-table tbody {
        display: grid;
        gap: 0.55rem;
    }

    .teacher-dashboard-page .dashboard-monitor-table tr {
        border: 1px solid #dbe4f0;
        border-radius: var(--teacher-shell-radius);
        background: #ffffff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        padding: 0.58rem;
    }

    .teacher-dashboard-page .dashboard-monitor-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        border: 0 !important;
        padding: 0.34rem 0 !important;
        text-align: right !important;
    }

    .teacher-dashboard-page .dashboard-monitor-table td::before {
        content: attr(data-label);
        color: #64748b;
        flex: 0 0 5rem;
        font-size: 0.7rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
    }

    .teacher-dashboard-page .dashboard-panel > .card-body.dash-scroll {
        max-height: none !important;
        overflow: visible !important;
    }

    .teacher-paper-test-upload-page .paper-upload-actions {
        justify-content: flex-start;
    }

    .teacher-paper-test-upload-page .paper-upload-actions .btn,
    .teacher-paper-test-upload-page .paper-upload-actions form,
    .teacher-paper-test-upload-page .paper-upload-assign-form .btn {
        flex: 1 1 9rem;
    }

    .teacher-paper-test-upload-page .paper-upload-table-wrap {
        overflow-x: auto !important;
    }

    .teacher-paper-test-upload-page .paper-upload-table,
    .teacher-paper-test-upload-page .paper-upload-table thead,
    .teacher-paper-test-upload-page .paper-upload-table tbody,
    .teacher-paper-test-upload-page .paper-upload-table th,
    .teacher-paper-test-upload-page .paper-upload-table td,
    .teacher-paper-test-upload-page .paper-upload-table tr {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .teacher-paper-test-upload-page .paper-upload-table thead {
        display: none;
    }

    .teacher-paper-test-upload-page .paper-upload-table tbody {
        display: grid;
        gap: 0.65rem;
        padding: 0.65rem;
    }

    .teacher-paper-test-upload-page .paper-upload-table tr {
        border: 1px solid #dbe4f0;
        border-radius: var(--teacher-shell-radius);
        background: #ffffff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        padding: 0.62rem;
    }

    .teacher-paper-test-upload-page .paper-upload-table tr.collapse:not(.show) {
        display: none;
    }

    .teacher-paper-test-upload-page .paper-upload-table tr.collapse.show {
        display: block;
        background: #f8fafc;
    }

    .teacher-paper-test-upload-page .paper-upload-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        border: 0 !important;
        padding: 0.36rem 0 !important;
        text-align: right !important;
    }

    .teacher-paper-test-upload-page .paper-upload-table td::before {
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        text-align: left;
        flex: 0 0 5.6rem;
    }

    .teacher-paper-test-upload-page .paper-upload-table--assigned tr.assigned-group-row td:nth-of-type(1)::before,
    .teacher-paper-test-upload-page .paper-upload-table--recycled tr.assigned-group-row td:nth-of-type(1)::before {
        content: 'Student';
    }

    .teacher-paper-test-upload-page .paper-upload-table--assigned tr.assigned-group-row td:nth-of-type(2)::before {
        content: 'Pages';
    }

    .teacher-paper-test-upload-page .paper-upload-table--assigned tr.assigned-group-row td:nth-of-type(3)::before,
    .teacher-paper-test-upload-page .paper-upload-table--unassigned tr td:nth-of-type(2)::before {
        content: 'OCR';
    }

    .teacher-paper-test-upload-page .paper-upload-table--assigned tr.assigned-group-row td:nth-of-type(4)::before {
        content: 'Submission';
    }

    .teacher-paper-test-upload-page .paper-upload-table--assigned tr.assigned-group-row td:nth-of-type(5)::before,
    .teacher-paper-test-upload-page .paper-upload-table--recycled tr.assigned-group-row td:nth-of-type(3)::before {
        content: 'Actions';
    }

    .teacher-paper-test-upload-page .paper-upload-table--recycled tr.assigned-group-row td:nth-of-type(2)::before {
        content: 'Files';
    }

    .teacher-paper-test-upload-page .paper-upload-table--unassigned tr td:nth-of-type(1)::before {
        content: 'File';
    }

    .teacher-paper-test-upload-page .paper-upload-table--unassigned tr td:nth-of-type(3)::before {
        content: 'Assign';
    }

    .teacher-paper-test-upload-page .paper-upload-table tr.collapse > td {
        display: block;
        text-align: left !important;
    }

    .teacher-paper-test-upload-page .paper-upload-table tr.collapse > td::before {
        content: none;
    }

    .teacher-paper-test-upload-page .paper-upload-actions-cell,
    .teacher-paper-test-upload-page .paper-upload-assign-form {
        display: grid !important;
        gap: 0.45rem;
    }

    .teacher-paper-test-upload-page .paper-upload-actions {
        justify-content: stretch;
    }

    .teacher-paper-test-upload-page .paper-upload-actions .btn,
    .teacher-paper-test-upload-page .paper-upload-actions form,
    .teacher-paper-test-upload-page .paper-upload-actions form .btn,
    .teacher-paper-test-upload-page .paper-upload-assign-form .btn,
    .teacher-paper-test-upload-page .paper-upload-assign-form .form-select {
        width: 100%;
    }
}
/* ===== teacher workspace v3 local review END ===== */

/* ===== teacher assessment workbench v4 START ===== */
.teacher-paper-tests-page .paper-tests-hero,
.teacher-paper-tests-page .paper-test-route-panel,
.teacher-paper-tests-page .paper-tests-shell,
.teacher-paper-test-template-review-page .template-review-card,
.teacher-paper-test-template-review-page .template-review-hero,
.teacher-paper-test-template-review-page .template-review-progress,
.teacher-paper-test-template-review-page .template-review-toolbar,
.teacher-paper-test-template-review-page .template-review-editor-header,
.teacher-paper-test-template-review-page .template-review-section-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-paper-tests-page .paper-tests-hero {
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1fr) !important;
    align-items: center !important;
    gap: 0.65rem !important;
    padding: 0.7rem 0.75rem !important;
}

.teacher-paper-tests-page .paper-tests-hero__eyebrow,
.teacher-paper-tests-page .paper-test-route-panel__eyebrow,
.teacher-paper-test-template-review-page .template-review-stat-label,
.teacher-paper-test-template-review-page .template-review-section-kicker,
.teacher-paper-test-template-review-page .template-review-editor-subtitle {
    letter-spacing: 0 !important;
}

.teacher-paper-tests-page .paper-tests-hero__title {
    max-width: 36rem;
    font-size: clamp(1rem, 1.1vw, 1.22rem) !important;
    line-height: 1.18 !important;
    text-wrap: balance;
}

.teacher-paper-tests-page .paper-tests-hero__copy {
    display: block !important;
}

.teacher-paper-tests-page .paper-tests-hero__chips {
    gap: 0.35rem !important;
    margin-top: 0.45rem !important;
}

.teacher-paper-tests-page .paper-tests-hero__chip {
    min-height: 1.85rem;
    padding: 0.26rem 0.48rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0 !important;
}

.teacher-paper-tests-page .paper-tests-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.45rem !important;
}

.teacher-paper-tests-page .paper-tests-metric {
    min-height: 0 !important;
    padding: 0.5rem 0.55rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    box-shadow: none !important;
}

.teacher-paper-tests-page .paper-tests-metric__label {
    font-size: 0.68rem !important;
    letter-spacing: 0 !important;
}

.teacher-paper-tests-page .paper-tests-metric__value {
    margin-top: 0.12rem !important;
    font-size: 1.16rem !important;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-tests-page .paper-tests-metric__text {
    display: block !important;
}

.teacher-paper-tests-page .paper-test-route-panel {
    display: none !important;
    gap: 0.55rem !important;
    padding: 0.65rem 0.75rem !important;
}

.teacher-paper-tests-page .paper-test-route-panel__intro {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: 0.65rem;
}

.teacher-paper-tests-page .paper-test-route-panel__intro h2 {
    font-size: 1rem !important;
}

.teacher-paper-tests-page .paper-test-route-panel__intro p {
    display: none !important;
}

.teacher-paper-tests-page .paper-test-route-grid {
    gap: 0.55rem !important;
}

.teacher-paper-tests-page .paper-test-route-card {
    min-height: 0 !important;
    gap: 0.45rem !important;
    padding: 0.62rem !important;
    border-radius: var(--teacher-shell-radius) !important;
    box-shadow: none !important;
}

.teacher-paper-tests-page .paper-test-route-card__icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
}

.teacher-paper-tests-page .paper-test-route-card h3 {
    font-size: 0.96rem !important;
}

.teacher-paper-tests-page .paper-test-route-card p {
    display: none !important;
}

.teacher-paper-tests-page .paper-test-route-card__steps {
    gap: 0.34rem !important;
    margin-top: 0 !important;
}

.teacher-paper-tests-page .paper-test-route-card__steps span {
    min-height: 0 !important;
    padding: 0.3rem 0.38rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    font-size: 0.7rem !important;
}

.teacher-paper-tests-page .paper-tests-shell-header {
    gap: 0.65rem !important;
    padding: 0.68rem 0.75rem !important;
}

.teacher-paper-tests-page .paper-tests-shell .card-body {
    padding: 0.65rem !important;
    background: #ffffff !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 0.55rem !important;
}

.teacher-paper-tests-page .paper-tests-filter-group {
    gap: 0.42rem !important;
    padding: 0.55rem !important;
    border-radius: var(--teacher-shell-radius) !important;
    background: #f8fafc !important;
}

.teacher-paper-tests-page .paper-tests-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
    gap: 0.45rem !important;
}

.teacher-paper-tests-page .paper-tests-selection-bar {
    padding: 0.62rem 0.75rem 0 !important;
}

.teacher-paper-tests-page .paper-test-actions {
    display: grid !important;
    grid-template-columns: repeat(4, 40px);
    justify-content: end;
    gap: 0.32rem !important;
}

.teacher-paper-tests-page .paper-test-actions form {
    margin: 0 !important;
}

.teacher-paper-tests-page .paper-test-actions .paper-test-action-btn,
.teacher-paper-tests-page .paper-test-actions .action-chip {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
}

.teacher-paper-tests-page .paper-tests-table tbody td {
    padding-block: 0.58rem !important;
}

.teacher-paper-test-template-review-page .template-review-card > .card-header .card-title,
.teacher-paper-test-template-review-page .template-review-section-heading,
.teacher-paper-test-template-review-page .template-review-editor-title {
    font-family: "Inter", "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
}

.teacher-paper-test-template-review-page .template-review-hero::before,
.teacher-paper-test-template-review-page .template-review-section-card::before {
    display: none !important;
}

.teacher-paper-test-template-review-page .template-review-hero {
    padding: 0.68rem 0.75rem !important;
}

.teacher-paper-test-template-review-page .template-review-hero > .d-flex {
    margin-bottom: 0.48rem !important;
}

.teacher-paper-test-template-review-page .template-review-hero > .d-flex .small.text-muted {
    display: none !important;
}

.teacher-paper-test-template-review-page .template-review-pill {
    min-height: 1.9rem !important;
    padding: 0.28rem 0.52rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-template-review-page .template-review-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

.teacher-paper-test-template-review-page .template-review-stat {
    padding: 0.5rem 0.55rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    box-shadow: none !important;
}

.teacher-paper-test-template-review-page .template-review-stat-value {
    margin-top: 0.14rem !important;
    font-size: clamp(1.14rem, 1.25vw, 1.42rem) !important;
}

.teacher-paper-test-template-review-page .template-review-stat-note {
    margin-top: 0.18rem !important;
    font-size: 0.76rem !important;
    line-height: 1.28 !important;
}

.teacher-paper-test-template-review-page .template-review-stability-note,
.teacher-paper-test-template-review-page .template-review-checks-note {
    margin-top: 0.5rem !important;
    padding: 0.48rem 0.55rem !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
}

.teacher-paper-test-template-review-page .template-review-checks-note .fw-semibold {
    display: inline;
    margin-right: 0.35rem;
}

.teacher-paper-test-template-review-page .template-review-checks-note .fw-semibold + div {
    display: inline;
}

.teacher-paper-test-template-review-page .template-build-time-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem;
    align-items: start;
    margin-top: 0.55rem;
    padding: 0.5rem 0.58rem;
    border: 1px solid #bfdbfe;
    border-radius: var(--teacher-shell-radius);
    background: #eff6ff;
    color: #1e3a8a;
    box-shadow: none;
}

.teacher-paper-test-template-review-page .template-build-time-notice__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-paper-test-template-review-page .template-build-time-notice__title {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.25;
}

.teacher-paper-test-template-review-page .template-build-time-notice__body {
    margin-top: 0.2rem;
    color: #334155;
    font-size: 0.8rem;
    line-height: 1.32;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog {
    width: min(92vw, 34rem);
    padding: 0;
    border: 1px solid #bfdbfe;
    border-radius: calc(var(--teacher-shell-radius) + 2px);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    color: #0f172a;
    overflow: hidden;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog::backdrop {
    background: rgba(15, 23, 42, 0.42);
}

.teacher-paper-test-template-review-page .template-build-notice-dialog__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    padding: 1.15rem 1.25rem;
    background: #f8fbff;
    border-bottom: 1px solid #dbeafe;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    text-wrap: balance;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog p {
    margin: 0.35rem 0 0;
    color: #475569;
    text-wrap: pretty;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog__body {
    padding: 1.05rem 1.25rem;
}

.teacher-paper-test-template-review-page .template-build-notice-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0 1.25rem 1.25rem;
}

.teacher-paper-test-template-review-page .template-review-progress {
    margin-top: 0.55rem !important;
    padding: 0.65rem !important;
}

.teacher-paper-test-template-review-page .template-review-progress__header,
.teacher-paper-test-template-review-page .template-review-progress__meta {
    margin-bottom: 0.55rem !important;
}

.teacher-paper-test-template-review-page .template-review-progress__meta,
.teacher-paper-test-template-review-page .template-review-progress__timeline {
    gap: 0.45rem !important;
}

.teacher-paper-test-template-review-page .template-review-progress__meta-card,
.teacher-paper-test-template-review-page .template-review-progress__step {
    padding: 0.52rem 0.58rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
}

.teacher-paper-test-template-review-page .template-review-progress__meta-value {
    font-size: 0.86rem !important;
}

.teacher-paper-test-template-review-page .template-review-card > .card-body > .alert-info:first-child {
    display: none !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar,
.teacher-paper-test-template-review-page .template-review-editor-header {
    padding: 0.62rem 0.68rem !important;
}

.teacher-paper-test-template-review-page .template-review-section-card {
    padding: 0.72rem !important;
}

.teacher-paper-test-template-review-page .template-review-section-grid {
    gap: 0.55rem !important;
    margin-top: 0.62rem !important;
}

.teacher-paper-test-template-review-page .template-review-item-card {
    padding: 0.58rem !important;
    border-radius: var(--teacher-shell-radius) !important;
    box-shadow: none !important;
}

.teacher-paper-test-template-review-page .template-review-evidence {
    max-height: 5rem !important;
    padding: 0.5rem 0.55rem !important;
    border-radius: var(--teacher-shell-radius-inner) !important;
    font-size: 0.78rem !important;
}

.teacher-paper-test-template-review-page .template-review-table-wrap {
    padding: 0.58rem !important;
    background: #f8fafc !important;
    overflow-x: auto !important;
}

.teacher-paper-test-template-review-page .template-review-table tbody {
    gap: 0.65rem !important;
}

.teacher-paper-test-template-review-page .template-review-table tr {
    gap: 0.55rem !important;
    padding: 0.62rem !important;
}

.teacher-paper-test-template-review-page .template-review-table textarea {
    min-height: 5.5rem !important;
}

.teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(4) textarea:first-child,
.teacher-paper-test-template-review-page .template-review-table tr > td:nth-of-type(5) textarea {
    min-height: 6.25rem !important;
}

@media (max-width: 1280px) {
    .teacher-paper-tests-page .paper-tests-hero {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .teacher-paper-test-template-review-page .template-review-stat-note,
    .teacher-paper-test-template-review-page .template-review-stability-note {
        display: none !important;
    }

    .teacher-paper-test-template-review-page .template-review-checks-note {
        padding: 0.44rem 0.5rem !important;
    }
}

@media (max-width: 760px) {
    .teacher-paper-tests-page .paper-tests-hero,
    .teacher-paper-tests-page .paper-test-route-panel,
    .teacher-paper-tests-page .paper-tests-shell-header,
    .teacher-paper-tests-page .paper-tests-shell .card-body,
    .teacher-paper-test-template-review-page .template-review-hero,
    .teacher-paper-test-template-review-page .template-review-progress {
        padding: 0.58rem !important;
    }

    .teacher-paper-tests-page .paper-tests-metrics,
    .teacher-paper-tests-page .paper-test-route-card__steps,
    .teacher-paper-tests-page .paper-tests-filter-groups,
    .teacher-paper-tests-page .paper-tests-filter-grid,
    .teacher-paper-tests-page .paper-tests-filter-grid--secondary {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .teacher-paper-tests-page .paper-tests-shell-top,
    .teacher-paper-tests-page .paper-tests-shell-tools,
    .teacher-paper-tests-page .paper-tests-filter-actions {
        align-items: stretch !important;
        width: 100%;
    }

    .teacher-paper-tests-page .paper-tests-view-toggle,
    .teacher-paper-tests-page .paper-tests-filter-actions .btn {
        width: 100%;
    }

    .teacher-paper-tests-page .paper-tests-view-toggle {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .teacher-paper-tests-page .paper-tests-view-toggle .btn {
        width: 100%;
    }

    .teacher-paper-tests-page .table-card-actions-wrap {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .teacher-paper-tests-page .table-card-actions-wrap .paper-tests-selection-label {
        grid-column: 1 / -1;
    }

    .teacher-paper-tests-page .table-card-actions-wrap .btn,
    .teacher-paper-tests-page .table-card-actions-wrap form,
    .teacher-paper-tests-page .table-card-actions-wrap form .btn {
        width: 100%;
        justify-content: center;
    }

    .teacher-paper-test-template-review-page .template-review-table-wrap {
        padding: 0.45rem !important;
        overflow-x: auto !important;
    }

    .teacher-paper-test-template-review-page .template-review-table,
    .teacher-paper-test-template-review-page .template-review-table tbody,
    .teacher-paper-test-template-review-page .template-review-table tr,
    .teacher-paper-test-template-review-page .template-review-table td {
        min-width: 0 !important;
        width: 100% !important;
    }
}
/* ===== teacher assessment workbench v4 END ===== */

/* ===== paper tests split command panel START ===== */
.teacher-paper-tests-page .top-nav-actions--paper-tests {
    display: none !important;
}

.teacher-paper-tests-page .paper-tests-hero {
    display: grid !important;
    grid-template-areas:
        "intro metrics"
        "actions metrics" !important;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.74fr) !important;
    align-items: center !important;
    gap: 0.95rem 1.15rem !important;
    padding: 1.25rem 1.35rem !important;
    border: 1px solid rgba(191, 219, 254, 0.92) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(244, 247, 255, 0.96) 48%, rgba(248, 255, 252, 0.96)) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1) !important;
}

.teacher-paper-tests-page .paper-tests-hero__intro {
    grid-area: intro;
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-hero__title {
    max-width: 54rem !important;
    font-size: clamp(1.42rem, 1.9vw, 2.05rem) !important;
    line-height: 1.18 !important;
    text-wrap: balance;
}

.teacher-paper-tests-page .paper-tests-hero__copy {
    display: block !important;
    max-width: 62ch !important;
    margin-top: 0.52rem !important;
    color: #475569 !important;
    font-size: 0.96rem !important;
    line-height: 1.5 !important;
    text-wrap: pretty;
}

.teacher-paper-tests-page .paper-tests-hero__chips {
    gap: 0.38rem !important;
    margin-top: 0.55rem !important;
}

.teacher-paper-tests-page .paper-tests-hero__chip {
    min-height: 1.72rem !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
}

.teacher-paper-tests-page .paper-tests-hero__actions {
    grid-area: actions;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    width: min(100%, 42rem);
    margin: 0.18rem auto 0;
}

.teacher-paper-tests-page .paper-tests-hero__action {
    display: inline-flex !important;
    min-height: 3.15rem !important;
    min-width: 15.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    padding: 0.76rem 1.18rem !important;
    border-radius: 8px !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-tests-page .paper-tests-hero__action:active {
    transform: scale(0.96);
}

.teacher-paper-tests-page .paper-tests-hero__action:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 3px;
}

.teacher-paper-tests-page .paper-tests-hero__action--primary {
    border: 1px solid #2563eb !important;
    background: #315efb !important;
    color: #ffffff !important;
}

.teacher-paper-tests-page .paper-tests-hero__action--primary:hover {
    background: #1d4ed8 !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.2);
}

.teacher-paper-tests-page .paper-tests-hero__action--secondary {
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #334155 !important;
}

.teacher-paper-tests-page .paper-tests-hero__action--secondary:hover {
    border-color: #94a3b8 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
}

.teacher-paper-tests-page .paper-tests-metrics {
    grid-area: metrics;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: center !important;
    gap: 0.82rem !important;
}

.teacher-paper-tests-page .paper-tests-metric {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: 92px !important;
    align-items: center !important;
    gap: 0.74rem !important;
    padding: 0.86rem !important;
    border: 1px solid rgba(203, 213, 225, 0.78) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-tests-page .paper-tests-metric__icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1.12rem;
}

.teacher-paper-tests-page .paper-tests-metric__icon--total {
    background: #dfe8ff;
    color: #315efb;
}

.teacher-paper-tests-page .paper-tests-metric__icon--draft {
    background: #fff0d5;
    color: #b45309;
}

.teacher-paper-tests-page .paper-tests-metric__icon--published {
    background: #eadcfb;
    color: #7c3aed;
}

.teacher-paper-tests-page .paper-tests-metric__icon--mock {
    background: #d9f0ee;
    color: #0f766e;
}

.teacher-paper-tests-page .paper-tests-metric__body {
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-metric__label {
    font-size: 0.7rem !important;
    line-height: 1.1 !important;
    letter-spacing: 0.05em !important;
}

.teacher-paper-tests-page .paper-tests-metric__value {
    margin-top: 0.12rem !important;
    font-size: 1.58rem !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-tests-page .paper-tests-metric__text {
    display: block !important;
    margin-top: 0.08rem !important;
    color: #64748b !important;
    font-size: 0.73rem !important;
    line-height: 1.18 !important;
}

@media (max-width: 1180px) {
    .teacher-paper-tests-page .paper-tests-hero {
        grid-template-areas:
            "intro"
            "actions"
            "metrics" !important;
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-hero__actions {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .teacher-paper-tests-page .paper-tests-hero {
        padding: 0.9rem !important;
    }

    .teacher-paper-tests-page .paper-tests-metrics {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-hero__action {
        width: 100%;
        min-width: 0;
    }
}
/* ===== paper tests split command panel END ===== */

/* ===== teacher grade clarity pass START ===== */
.teacher-paper-test-grade-page .paper-grade-summary-shell {
    padding: 0.58rem !important;
    border-radius: 8px !important;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 255, 0.96)) !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(480px, 0.8fr) !important;
    gap: 0.55rem !important;
}

.teacher-paper-test-grade-page .paper-grade-student-panel,
.teacher-paper-test-grade-page .paper-grade-action-panel {
    padding: 0.52rem 0.58rem !important;
    border: 1px solid rgba(203, 213, 225, 0.78) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.teacher-paper-test-grade-page .paper-grade-student-head {
    grid-template-columns: 3.1rem minmax(0, 1fr) !important;
    gap: 0.8rem !important;
}

.teacher-paper-test-grade-page .paper-grade-subject-icon {
    width: 3.1rem !important;
    height: 3.1rem !important;
    border-radius: 8px !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    font-size: clamp(1.35rem, 1.45vw, 1.75rem) !important;
    line-height: 1.08 !important;
    text-wrap: balance;
}

.teacher-paper-test-grade-page .paper-grade-paper-title {
    margin-top: 0.22rem !important;
    color: #334155 !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
}

.teacher-paper-test-grade-page .paper-grade-meta-row {
    gap: 0.42rem !important;
    margin-top: 0.65rem !important;
}

.teacher-paper-test-grade-page .paper-grade-chip {
    min-height: 1.8rem !important;
    padding: 0.28rem 0.55rem !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    line-height: 1.15 !important;
}

.teacher-paper-test-grade-page .paper-grade-score-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
}

.teacher-paper-test-grade-page .paper-grade-score-tile {
    min-height: 64px !important;
    padding: 0.5rem 0.58rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .paper-grade-score-value,
.teacher-paper-test-grade-page .mock-score-tile-value {
    font-size: clamp(1.35rem, 1.4vw, 1.75rem) !important;
}

.teacher-paper-test-grade-page .mock-slider-controls--primary-row {
    justify-content: center !important;
    gap: 0.85rem !important;
    margin: 0.55rem 0 0.85rem !important;
}

.teacher-paper-test-grade-page .mock-slider-nav-button {
    min-width: 170px !important;
    min-height: 48px !important;
    border-radius: 8px !important;
    background: #315efb !important;
    border-color: #315efb !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.2) !important;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-test-grade-page .mock-slider-nav-button:hover,
.teacher-paper-test-grade-page .mock-slider-nav-button:focus-visible {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-slider-nav-button:active {
    transform: scale(0.96);
}

.teacher-paper-test-grade-page .mock-question-review-card {
    position: relative;
    padding: 0.9rem !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
    border-left: 5px solid #f59e0b !important;
    border-radius: 10px !important;
    background: #fffaf2 !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-test-grade-page .mock-question-review-card.is-teacher-confirmed,
.teacher-paper-test-grade-page .mock-question-review-card.is-frozen {
    border-left-color: #10b981 !important;
    background: #f8fffb !important;
}

.teacher-paper-test-grade-page .mock-question-review-card.is-provisional {
    border-left-color: #315efb !important;
    background: #f8fbff !important;
}

.teacher-paper-test-grade-page .mock-question-card-header {
    margin: -0.9rem -0.9rem 0.75rem !important;
    padding: 0.78rem 0.9rem !important;
    border-bottom: 1px solid rgba(203, 213, 225, 0.8);
    border-radius: 10px 10px 0 0 !important;
    background: rgba(255, 255, 255, 0.88) !important;
}

.teacher-paper-test-grade-page .mock-question-mark-pill {
    min-width: 5.75rem !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.9);
}

.teacher-paper-test-grade-page .mock-review-body {
    grid-template-columns: minmax(0, 1fr) minmax(292px, 340px) !important;
    align-items: start !important;
    gap: 0.85rem !important;
    margin-top: 0.55rem !important;
}

.teacher-paper-test-grade-page .mock-review-main,
.teacher-paper-test-grade-page .mock-review-aside {
    gap: 0.65rem !important;
}

.teacher-paper-test-grade-page .mock-review-section {
    padding: 0.68rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .mock-review-section--question,
.teacher-paper-test-grade-page .mock-review-section--answer {
    background: #ffffff !important;
    border: 1px solid #dbe4f0 !important;
    border-left-width: 4px !important;
}

.teacher-paper-test-grade-page .mock-review-section--question {
    border-left-color: #315efb !important;
}

.teacher-paper-test-grade-page .mock-review-section--answer {
    border-left-color: #10b981 !important;
}

.teacher-paper-test-grade-page .mock-review-aside {
    gap: 0.65rem !important;
    padding: 0.62rem !important;
    border: 1px solid rgba(203, 213, 225, 0.8);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override {
    padding: 0.68rem !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-review-section--override {
    border-color: #f59e0b !important;
    background: #fff7ed !important;
}

.teacher-paper-test-grade-page .mock-review-section--side summary,
.teacher-paper-test-grade-page .mock-review-section--side .mock-review-section-title,
.teacher-paper-test-grade-page .mock-review-section--override > .small.fw-semibold {
    color: #0f172a !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.teacher-paper-test-grade-page .mock-review-section .bg-light.border,
.teacher-paper-test-grade-page .mock-review-section .paper-ocr-preview {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-panel,
.teacher-paper-test-grade-page .mock-review-reasoning-panel {
    padding: 0.72rem 0.82rem !important;
    border-radius: 8px !important;
    background: #eff6ff !important;
}

.teacher-paper-test-grade-page .mock-mark-rationale-body {
    font-size: 0.9rem !important;
    line-height: 1.42 !important;
}

.teacher-paper-test-grade-page .mock-decision-details {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
}

.teacher-paper-test-grade-page .mock-decision-details > summary {
    min-height: 2.1rem;
    padding: 0.42rem 0.58rem;
    color: #475569;
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.15;
    list-style-position: inside;
}

.teacher-paper-test-grade-page .mock-decision-details > summary:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.26);
    outline-offset: 2px;
}

.teacher-paper-test-grade-page .mock-decision-details__body {
    display: grid;
    gap: 0.35rem;
    padding: 0 0.58rem 0.58rem;
}

.teacher-paper-test-grade-page .mock-decision-details__body > .small {
    margin-top: 0 !important;
}

.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    border-radius: 8px !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 230px) !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-preview {
    aspect-ratio: 1 / 1.414 !important;
}

.teacher-paper-test-grade-page .mock-review-section--override textarea {
    min-height: 4rem !important;
}

.teacher-paper-test-grade-page #mockOverallGradingForm textarea[name="feedback_overall"] {
    min-height: 5rem !important;
}

@media (max-width: 1280px) {
    .teacher-paper-test-grade-page .paper-grade-summary-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .teacher-paper-test-grade-page .paper-grade-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .teacher-paper-test-grade-page .mock-slider-controls--primary-row {
        grid-template-columns: 1fr 1fr !important;
    }

    .teacher-paper-test-grade-page .mock-slider-nav-button {
        width: 100% !important;
        min-width: 0 !important;
    }
}
/* ===== teacher grade clarity pass END ===== */

/* ===== teacher support pages action polish START ===== */
.teacher-paper-test-upload-page .paper-upload-status-stack {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
}

.teacher-paper-test-upload-page .paper-upload-status-stack > .alert {
    margin: 0 !important;
    padding: 0.68rem 0.78rem !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.045) !important;
}

.teacher-paper-test-upload-page .paper-upload-entry-card,
.teacher-students-page .students-table-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-paper-test-upload-page .paper-upload-card-header,
.teacher-students-page .students-table-header,
.teacher-results-page .results-card-header,
.teacher-results-page .exam-gradebook-header {
    min-height: 0 !important;
    padding: 0.62rem 0.74rem !important;
    border-bottom: 1px solid var(--teacher-shell-line-soft) !important;
    background: #f8fafc !important;
}

.teacher-paper-test-upload-page .paper-upload-card-header .card-title,
.teacher-students-page .students-table-header .card-title,
.teacher-results-page .results-card-header .card-title,
.teacher-results-page .exam-gradebook-header .card-title {
    margin: 0 !important;
    color: #172033 !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-wrap: balance;
}

.teacher-paper-test-upload-page .paper-upload-card-title-row,
.teacher-results-page .results-card-actions,
.teacher-results-page .exam-gradebook-actions,
.teacher-students-page .students-filter-actions,
.teacher-paper-test-template-review-page .template-review-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.teacher-paper-test-upload-page .paper-upload-card-title-row,
.teacher-results-page .results-card-actions,
.teacher-results-page .exam-gradebook-actions,
.teacher-paper-test-template-review-page .template-review-actions {
    justify-content: flex-end !important;
}

.teacher-students-page .students-filter-actions {
    justify-content: flex-start !important;
}

.teacher-paper-test-upload-page .paper-upload-card-title-row .btn,
.teacher-paper-test-upload-page .paper-upload-actions .btn,
.teacher-paper-test-upload-page .paper-upload-form .btn,
.teacher-results-page .results-card-actions .btn,
.teacher-results-page .exam-gradebook-actions .btn,
.teacher-students-page .students-filter-actions .btn,
.teacher-paper-test-template-review-page .template-review-actions .btn {
    min-height: 40px !important;
    border-radius: 8px !important;
    transition-property: background-color, border-color, color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-test-upload-page .paper-upload-card-title-row .btn:active,
.teacher-paper-test-upload-page .paper-upload-actions .btn:active,
.teacher-paper-test-upload-page .paper-upload-form .btn:active,
.teacher-results-page .results-card-actions .btn:active,
.teacher-results-page .exam-gradebook-actions .btn:active,
.teacher-students-page .students-filter-actions .btn:active,
.teacher-paper-test-template-review-page .template-review-actions .btn:active {
    transform: scale(0.96);
}

.teacher-results-page .exam-gradebook-actions .btn-group {
    flex-wrap: wrap;
    gap: 0.35rem;
}

.teacher-results-page .exam-gradebook-actions .btn-group > .btn {
    border-radius: 8px !important;
}

.teacher-results-page .results-export-menu summary.btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
}

/* ===== results action chip menu pass START ===== */
.teacher-results-page .results-action-chip {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-width: 40px;
    min-height: 40px !important;
    padding: 0.5rem 0.78rem !important;
    border-radius: 8px !important;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-results-page .results-action-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-results-page .results-action-chip:active {
    transform: scale(0.96);
}

.teacher-results-page .results-action-chip:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-results-page .results-action-chip--primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-results-page .results-action-chip--secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-results-page .results-action-chip--export {
    background: #e0f2fe !important;
    border-color: #7dd3fc !important;
    color: #0369a1 !important;
}

.teacher-results-page .results-action-chip--active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

.teacher-results-page .results-action-chip--disabled {
    background: #f1f5f9 !important;
    border-color: #dbe4f0 !important;
    color: #64748b !important;
}

.teacher-results-page .results-gradebook-count-chip {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0.5rem 0.78rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff !important;
    color: #334155 !important;
    font-size: 0.82rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
/* ===== results action chip menu pass END ===== */

/* ===== secondary teacher action chip pass START ===== */
.teacher-adaptive-practice-page .adaptive-allocation-actions .btn,
.teacher-adaptive-practice-page .adaptive-actions .btn,
.teacher-interventions-page .intervention-actions .btn,
.teacher-dashboard-page .predictive-alert-actions .btn,
.teacher-dashboard-page .review-snapshot-actions .btn,
.teacher-dashboard-page .workflow-popout-item-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn:hover,
.teacher-adaptive-practice-page .adaptive-actions .btn:hover,
.teacher-interventions-page .intervention-actions .btn:hover,
.teacher-dashboard-page .predictive-alert-actions .btn:hover,
.teacher-dashboard-page .review-snapshot-actions .btn:hover,
.teacher-dashboard-page .workflow-popout-item-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn:active,
.teacher-adaptive-practice-page .adaptive-actions .btn:active,
.teacher-interventions-page .intervention-actions .btn:active,
.teacher-dashboard-page .predictive-alert-actions .btn:active,
.teacher-dashboard-page .review-snapshot-actions .btn:active,
.teacher-dashboard-page .workflow-popout-item-actions .btn:active {
    transform: scale(0.96);
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn:focus-visible,
.teacher-adaptive-practice-page .adaptive-actions .btn:focus-visible,
.teacher-interventions-page .intervention-actions .btn:focus-visible,
.teacher-dashboard-page .predictive-alert-actions .btn:focus-visible,
.teacher-dashboard-page .review-snapshot-actions .btn:focus-visible,
.teacher-dashboard-page .workflow-popout-item-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn-outline-primary,
.teacher-adaptive-practice-page .adaptive-actions .btn-outline-primary,
.teacher-interventions-page .intervention-actions .btn-outline-primary,
.teacher-dashboard-page .predictive-alert-actions .btn-outline-primary,
.teacher-dashboard-page .review-snapshot-actions .btn-outline-primary,
.teacher-dashboard-page .workflow-popout-item-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn-outline-secondary,
.teacher-adaptive-practice-page .adaptive-actions .btn-outline-secondary,
.teacher-interventions-page .intervention-actions .btn-outline-secondary,
.teacher-dashboard-page .predictive-alert-actions .btn-outline-secondary,
.teacher-dashboard-page .review-snapshot-actions .btn-outline-secondary,
.teacher-dashboard-page .workflow-popout-item-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-adaptive-practice-page .adaptive-allocation-actions .btn-outline-danger,
.teacher-adaptive-practice-page .adaptive-actions .btn-outline-danger,
.teacher-interventions-page .intervention-actions .btn-outline-danger,
.teacher-dashboard-page .predictive-alert-actions .btn-outline-danger,
.teacher-dashboard-page .review-snapshot-actions .btn-outline-danger,
.teacher-dashboard-page .workflow-popout-item-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}
/* ===== secondary teacher action chip pass END ===== */

/* ===== copilot pack action chip pass START ===== */
.teacher-copilot-packs-page .cp-context-actions,
.teacher-copilot-packs-page .cp-pack-header-actions,
.teacher-copilot-packs-page .cp-pack-library-actions,
.teacher-copilot-packs-page .cp-source-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-copilot-packs-page .cp-pack-header-actions,
.teacher-copilot-packs-page .cp-pack-library-actions,
.teacher-copilot-packs-page .cp-source-actions {
    justify-content: flex-end;
}

.teacher-copilot-packs-page .cp-context-actions {
    justify-content: flex-start;
}

.teacher-copilot-packs-page .cp-pack-header-actions form,
.teacher-copilot-packs-page .cp-pack-library-actions form,
.teacher-copilot-packs-page .cp-source-actions form {
    display: inline-flex;
    margin: 0;
}

.teacher-copilot-packs-page .cp-pack-header-actions .dropdown {
    display: inline-flex;
}

.teacher-copilot-packs-page .cp-context-actions .btn,
.teacher-copilot-packs-page .cp-pack-header-actions .btn,
.teacher-copilot-packs-page .cp-pack-library-actions .btn,
.teacher-copilot-packs-page .cp-source-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-copilot-packs-page .cp-context-actions .btn:hover,
.teacher-copilot-packs-page .cp-pack-header-actions .btn:hover,
.teacher-copilot-packs-page .cp-pack-library-actions .btn:hover,
.teacher-copilot-packs-page .cp-source-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-copilot-packs-page .cp-context-actions .btn:active,
.teacher-copilot-packs-page .cp-pack-header-actions .btn:active,
.teacher-copilot-packs-page .cp-pack-library-actions .btn:active,
.teacher-copilot-packs-page .cp-source-actions .btn:active {
    transform: scale(0.96);
}

.teacher-copilot-packs-page .cp-context-actions .btn:focus-visible,
.teacher-copilot-packs-page .cp-pack-header-actions .btn:focus-visible,
.teacher-copilot-packs-page .cp-pack-library-actions .btn:focus-visible,
.teacher-copilot-packs-page .cp-source-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-copilot-packs-page .cp-context-actions .btn-primary,
.teacher-copilot-packs-page .cp-pack-header-actions .btn-primary,
.teacher-copilot-packs-page .cp-pack-library-actions .btn-primary,
.teacher-copilot-packs-page .cp-source-actions .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.teacher-copilot-packs-page .cp-context-actions .btn-outline-primary,
.teacher-copilot-packs-page .cp-pack-header-actions .btn-outline-primary,
.teacher-copilot-packs-page .cp-pack-library-actions .btn-outline-primary,
.teacher-copilot-packs-page .cp-source-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-copilot-packs-page .cp-context-actions .btn-outline-secondary,
.teacher-copilot-packs-page .cp-pack-header-actions .btn-outline-secondary,
.teacher-copilot-packs-page .cp-pack-library-actions .btn-outline-secondary,
.teacher-copilot-packs-page .cp-source-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-copilot-packs-page .cp-pack-header-actions .btn-outline-warning,
.teacher-copilot-packs-page .cp-pack-library-actions .btn-outline-warning,
.teacher-copilot-packs-page .cp-source-actions .btn-outline-warning {
    background: #ffedd5 !important;
    border-color: #fdba74 !important;
    color: #c2410c !important;
}

.teacher-copilot-packs-page .cp-pack-header-actions .btn-outline-danger,
.teacher-copilot-packs-page .cp-pack-library-actions .btn-outline-danger,
.teacher-copilot-packs-page .cp-source-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

.teacher-copilot-packs-page .cp-pack-header-actions .dropdown-menu {
    border-radius: 8px;
    border-color: #dbe4f0;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
}

@media (max-width: 760px) {
    .teacher-copilot-packs-page .cp-context-actions,
    .teacher-copilot-packs-page .cp-pack-header-actions,
    .teacher-copilot-packs-page .cp-pack-library-actions,
    .teacher-copilot-packs-page .cp-source-actions {
        justify-content: flex-start;
    }
}
/* ===== copilot pack action chip pass END ===== */

/* ===== coursework assignment action chip pass START ===== */
.teacher-coursework-assignments-page .tcw-selected-assignment-actions,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions,
.teacher-coursework-assignments-page .tcw-submission-row-actions,
.teacher-coursework-assignments-page .tcw-legacy-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions,
.teacher-coursework-assignments-page .tcw-submission-row-actions,
.teacher-coursework-assignments-page .tcw-legacy-row-actions {
    justify-content: flex-end;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions form,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions form,
.teacher-coursework-assignments-page .tcw-submission-row-actions form,
.teacher-coursework-assignments-page .tcw-legacy-row-actions form {
    display: inline-flex;
    margin: 0;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn:hover,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn:hover,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn:hover,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn:active,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn:active,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn:active,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn:active {
    transform: scale(0.96);
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn:focus-visible,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn:focus-visible,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn:focus-visible,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn:disabled,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn:disabled,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn:disabled,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-outline-primary,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-outline-primary,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-outline-primary,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-outline-secondary,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-outline-secondary,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-outline-secondary,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-outline-info,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-outline-info,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-outline-info,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-outline-info {
    background: #cffafe !important;
    border-color: #67e8f9 !important;
    color: #0e7490 !important;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-success,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-success,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-success,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-success {
    background: #10b981 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-outline-dark,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-outline-dark,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-outline-dark,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-outline-dark {
    background: #eef2ff !important;
    border-color: #c7d2fe !important;
    color: #3730a3 !important;
}

.teacher-coursework-assignments-page .tcw-selected-assignment-actions .btn-outline-danger,
.teacher-coursework-assignments-page .tcw-assignment-toolbar-actions .btn-outline-danger,
.teacher-coursework-assignments-page .tcw-submission-row-actions .btn-outline-danger,
.teacher-coursework-assignments-page .tcw-legacy-row-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

@media (max-width: 760px) {
    .teacher-coursework-assignments-page .tcw-selected-assignment-actions,
    .teacher-coursework-assignments-page .tcw-assignment-toolbar-actions,
    .teacher-coursework-assignments-page .tcw-submission-row-actions,
    .teacher-coursework-assignments-page .tcw-legacy-row-actions {
        justify-content: flex-start;
    }
}
/* ===== coursework assignment action chip pass END ===== */

/* ===== paper grade action chip pass START ===== */
.teacher-paper-test-grade-page .table-card-actions,
.teacher-paper-test-grade-page .mock-review-workflow-actions,
.teacher-paper-test-grade-page .mock-visual-actions,
.teacher-paper-test-grade-page .mock-pdf-page-actions,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-paper-test-grade-page .table-card-actions,
.teacher-paper-test-grade-page .mock-review-workflow-actions,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls {
    justify-content: flex-end;
}

.teacher-paper-test-grade-page .table-card-actions form,
.teacher-paper-test-grade-page .mock-review-workflow-actions form,
.teacher-paper-test-grade-page .mock-visual-actions form,
.teacher-paper-test-grade-page .mock-pdf-page-actions form {
    display: inline-flex;
    margin: 0;
}

.teacher-paper-test-grade-page .assessment-action-dropdown {
    display: inline-flex;
}

.teacher-paper-test-grade-page .table-card-actions .btn,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn,
.teacher-paper-test-grade-page .mock-visual-actions a,
.teacher-paper-test-grade-page .mock-pdf-page-actions a,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-height: 40px !important;
    min-width: 40px;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-paper-test-grade-page .table-card-actions .btn:hover,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle:hover,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn:hover,
.teacher-paper-test-grade-page .mock-visual-actions a:hover,
.teacher-paper-test-grade-page .mock-pdf-page-actions a:hover,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-paper-test-grade-page .table-card-actions .btn:active,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle:active,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn:active,
.teacher-paper-test-grade-page .mock-visual-actions a:active,
.teacher-paper-test-grade-page .mock-pdf-page-actions a:active,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn:active {
    transform: scale(0.96);
}

.teacher-paper-test-grade-page .table-card-actions .btn:focus-visible,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle:focus-visible,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn:focus-visible,
.teacher-paper-test-grade-page .mock-visual-actions a:focus-visible,
.teacher-paper-test-grade-page .mock-pdf-page-actions a:focus-visible,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-paper-test-grade-page .table-card-actions .btn:disabled,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle:disabled,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn:disabled,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn:disabled {
    opacity: 0.62;
    transform: none;
    box-shadow: none;
}

.teacher-paper-test-grade-page .table-card-actions .btn-outline-primary,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn-outline-primary,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-paper-test-grade-page .table-card-actions .btn-outline-secondary,
.teacher-paper-test-grade-page .assessment-action-dropdown .dropdown-toggle,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn-outline-secondary,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-paper-test-grade-page .table-card-actions .btn-outline-info,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn-outline-info,
.teacher-paper-test-grade-page .mock-visual-actions a,
.teacher-paper-test-grade-page .mock-pdf-page-actions a,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn-outline-info {
    background: #cffafe !important;
    border: 1px solid #67e8f9 !important;
    color: #0e7490 !important;
}

.teacher-paper-test-grade-page .table-card-actions .btn-success,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn-success,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn-success {
    background: #10b981 !important;
    border-color: #059669 !important;
    color: #ffffff !important;
}

.teacher-paper-test-grade-page .table-card-actions .btn-outline-danger,
.teacher-paper-test-grade-page .mock-review-workflow-actions .btn-outline-danger,
.teacher-paper-test-grade-page .mock-visual-lightbox-controls .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

.teacher-paper-test-grade-page .mock-visual-lightbox-controls {
    padding: 0.45rem 0.6rem;
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

@media (max-width: 760px) {
    .teacher-paper-test-grade-page .table-card-actions,
    .teacher-paper-test-grade-page .mock-review-workflow-actions,
    .teacher-paper-test-grade-page .mock-visual-actions,
    .teacher-paper-test-grade-page .mock-pdf-page-actions,
    .teacher-paper-test-grade-page .mock-visual-lightbox-controls {
        justify-content: flex-start;
    }
}
/* ===== paper grade action chip pass END ===== */

/* ===== remaining teacher action rows chip pass START ===== */
.teacher-results-page .results-row-actions,
.teacher-coursework-review-queue-page .tcq-preview-actions,
.teacher-coursework-review-queue-page .tcq-submission-actions,
.teacher-create-test-page .paper-question-row-actions,
.teacher-create-test-page .create-test-question-actions,
.teacher-dashboard-page .workflow-task-actions,
.teacher-dashboard-page .ao-gap-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
}

.teacher-results-page .results-row-actions,
.teacher-coursework-review-queue-page .tcq-submission-actions,
.teacher-create-test-page .paper-question-row-actions,
.teacher-create-test-page .create-test-question-actions {
    justify-content: flex-end;
}

.teacher-coursework-review-queue-page .tcq-preview-actions,
.teacher-dashboard-page .workflow-task-actions,
.teacher-dashboard-page .ao-gap-actions {
    justify-content: flex-start;
}

.teacher-results-page .results-row-actions form,
.teacher-coursework-review-queue-page .tcq-submission-actions form,
.teacher-create-test-page .paper-question-row-actions form,
.teacher-create-test-page .create-test-question-actions form,
.teacher-dashboard-page .workflow-task-actions form,
.teacher-dashboard-page .ao-gap-actions form {
    display: inline-flex;
    margin: 0;
}

.teacher-results-page .results-row-actions .btn,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn,
.teacher-create-test-page .paper-question-row-actions .btn,
.teacher-create-test-page .create-test-question-actions .btn,
.teacher-dashboard-page .workflow-task-actions .btn,
.teacher-dashboard-page .ao-gap-actions .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.36rem;
    min-width: 40px;
    min-height: 40px !important;
    padding: 0.5rem 0.74rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 820 !important;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.teacher-results-page .results-row-actions .btn:hover,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn:hover,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn:hover,
.teacher-create-test-page .paper-question-row-actions .btn:hover,
.teacher-create-test-page .create-test-question-actions .btn:hover,
.teacher-dashboard-page .workflow-task-actions .btn:hover,
.teacher-dashboard-page .ao-gap-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.085);
}

.teacher-results-page .results-row-actions .btn:active,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn:active,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn:active,
.teacher-create-test-page .paper-question-row-actions .btn:active,
.teacher-create-test-page .create-test-question-actions .btn:active,
.teacher-dashboard-page .workflow-task-actions .btn:active,
.teacher-dashboard-page .ao-gap-actions .btn:active {
    transform: scale(0.96);
}

.teacher-results-page .results-row-actions .btn:focus-visible,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn:focus-visible,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn:focus-visible,
.teacher-create-test-page .paper-question-row-actions .btn:focus-visible,
.teacher-create-test-page .create-test-question-actions .btn:focus-visible,
.teacher-dashboard-page .workflow-task-actions .btn:focus-visible,
.teacher-dashboard-page .ao-gap-actions .btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-results-page .results-row-actions .btn-outline-primary,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn-outline-primary,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn-outline-primary,
.teacher-create-test-page .paper-question-row-actions .btn-outline-primary,
.teacher-create-test-page .create-test-question-actions .btn-outline-primary,
.teacher-dashboard-page .workflow-task-actions .btn-outline-primary,
.teacher-dashboard-page .ao-gap-actions .btn-outline-primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-results-page .results-row-actions .btn-outline-secondary,
.teacher-coursework-review-queue-page .tcq-preview-actions .btn-outline-secondary,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn-outline-secondary,
.teacher-create-test-page .paper-question-row-actions .btn-outline-secondary,
.teacher-create-test-page .create-test-question-actions .btn-outline-secondary,
.teacher-dashboard-page .workflow-task-actions .btn-outline-secondary,
.teacher-dashboard-page .ao-gap-actions .btn-outline-secondary {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-results-page .results-row-actions .btn-outline-danger,
.teacher-create-test-page .paper-question-row-actions .btn-outline-danger,
.teacher-create-test-page .create-test-question-actions .btn-outline-danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

.teacher-coursework-review-queue-page .tcq-preview-actions .btn-primary,
.teacher-coursework-review-queue-page .tcq-submission-actions .btn-primary,
.teacher-dashboard-page .workflow-task-actions .btn-primary,
.teacher-dashboard-page .ao-gap-actions .btn-primary {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    .teacher-results-page .results-row-actions,
    .teacher-coursework-review-queue-page .tcq-submission-actions,
    .teacher-create-test-page .paper-question-row-actions,
    .teacher-create-test-page .create-test-question-actions {
        justify-content: flex-start;
    }
}
/* ===== remaining teacher action rows chip pass END ===== */

.teacher-paper-test-template-review-page .template-review-actions {
    margin-top: 0.75rem !important;
    padding-top: 0.72rem !important;
    border-top: 1px solid var(--teacher-shell-line-soft) !important;
}

.teacher-dashboard-page .dashboard-panel > .card-header.dashboard-panel-toggle {
    width: 100%;
    border: 0;
    cursor: pointer;
    text-align: left;
    user-select: none;
}

.teacher-dashboard-page .dashboard-panel > .card-header.dashboard-panel-toggle:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.26);
    outline-offset: 3px;
}

.teacher-dashboard-page .workflow-task-preview > summary:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 3px;
    border-radius: 8px;
}

@media (max-width: 760px) {
    .teacher-paper-test-upload-page .paper-upload-card-title-row,
    .teacher-results-page .results-card-actions,
    .teacher-results-page .exam-gradebook-actions,
    .teacher-students-page .students-filter-actions,
    .teacher-paper-test-template-review-page .template-review-actions {
        align-items: stretch !important;
        width: 100% !important;
    }

    .teacher-paper-test-upload-page .paper-upload-card-title-row .btn,
    .teacher-paper-test-upload-page .paper-upload-card-title-row form,
    .teacher-results-page .results-card-actions .btn,
    .teacher-results-page .results-card-actions form,
    .teacher-results-page .exam-gradebook-actions .btn,
    .teacher-results-page .exam-gradebook-actions form,
    .teacher-students-page .students-filter-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions form {
        width: 100% !important;
    }

    .teacher-results-page .exam-gradebook-actions .btn-group {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
    }
}
/* ===== teacher support pages action polish END ===== */

/* ===== teacher reports compact workbench START ===== */
.teacher-reports-page .page-content {
    --reports-radius: 8px;
    gap: 0.75rem !important;
}

.teacher-reports-page .top-nav .page-title {
    font-size: clamp(1.35rem, 1.7vw, 1.85rem) !important;
}

.teacher-reports-page .reports-surface,
.teacher-reports-page .report-signal-card,
.teacher-reports-page .reports-section-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-reports-page .reports-surface::before,
.teacher-reports-page .report-signal-card::before {
    display: none !important;
}

.teacher-reports-page .reports-section-card > .card-body {
    padding: 0.74rem !important;
}

.teacher-reports-page .reports-section-kicker,
.teacher-reports-page .reports-action-card__eyebrow,
.teacher-reports-page .report-signal-kicker {
    margin-bottom: 0.22rem !important;
    color: #475569 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0 !important;
}

.teacher-reports-page .reports-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.62fr);
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.82rem 0.95rem !important;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.96) 100%) !important;
}

.teacher-reports-page .reports-hero__content {
    max-width: 58rem !important;
}

.teacher-reports-page .reports-hero__title {
    color: #172033 !important;
    font-family: "Inter", "Segoe UI", sans-serif !important;
    font-size: clamp(1.1rem, 1.3vw, 1.42rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    text-wrap: balance;
}

.teacher-reports-page .reports-hero__text {
    max-width: 72ch !important;
    margin-top: 0.36rem !important;
    color: #475569 !important;
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
}

.teacher-reports-page .reports-hero__meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem !important;
}

.teacher-reports-page .reports-metric-pill,
.teacher-reports-page .report-signal-pill {
    min-height: 2.35rem;
    padding: 0.42rem 0.55rem !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #172033 !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    box-shadow: none !important;
}

.teacher-reports-page .reports-metric-pill--danger,
.teacher-reports-page .report-signal-pill.danger {
    border-color: #fed7aa !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
}

.teacher-reports-page .reports-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.65rem !important;
}

.teacher-reports-page .reports-action-card {
    min-height: 0 !important;
    align-items: center !important;
    gap: 0.72rem !important;
    padding: 0.76rem !important;
    border-radius: 8px !important;
    transition-property: transform, box-shadow, border-color, background-color, color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-reports-page .reports-action-card:hover,
.teacher-reports-page .reports-action-card:focus-visible {
    transform: translateY(-1px);
    border-color: #bfdbfe !important;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08) !important;
}

.teacher-reports-page .reports-action-card:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.26);
    outline-offset: 3px;
}

.teacher-reports-page .reports-action-card:active {
    transform: scale(0.98);
}

.teacher-reports-page .reports-action-card__icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    box-shadow: none !important;
}

.teacher-reports-page .reports-action-card__title {
    color: #172033 !important;
    font-family: "Inter", "Segoe UI", sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

.teacher-reports-page .reports-action-card__text {
    margin-top: 0.22rem !important;
    color: #475569 !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
}

.teacher-reports-page .reports-action-card__cta {
    margin-top: 0.45rem !important;
    color: #1d4ed8 !important;
    font-size: 0.76rem !important;
}

.teacher-reports-page .reports-section-head,
.teacher-reports-page .report-signal-header {
    gap: 0.65rem !important;
    margin-bottom: 0.65rem !important;
}

.teacher-reports-page .reports-section-copy {
    max-width: 70ch !important;
    font-size: 0.82rem !important;
    line-height: 1.38 !important;
}

.teacher-reports-page .reports-chip-links,
.teacher-reports-page .report-signal-tools {
    gap: 0.42rem !important;
}

.teacher-reports-page .reports-chip-links .btn,
.teacher-reports-page .report-signal-tools .btn,
.teacher-reports-page .report-signal-preview-actions .btn,
.teacher-reports-page .report-signal-footer-link .btn,
.teacher-reports-page .reports-export-card .btn {
    min-height: 36px !important;
    border-radius: 8px !important;
    padding-inline: 0.7rem !important;
}

.teacher-reports-page .report-signal-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 0.55rem !important;
}

.teacher-reports-page .report-signal-preview,
.teacher-reports-page .report-signal-empty {
    border-radius: 8px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.teacher-reports-page .report-signal-preview.compact {
    padding: 0.62rem !important;
    gap: 0.45rem !important;
}

.teacher-reports-page .reports-table-card__header {
    padding: 0.62rem 0.74rem !important;
    border-bottom: 1px solid var(--teacher-shell-line-soft) !important;
    background: #f8fafc !important;
}

.teacher-reports-page .reports-table thead th {
    letter-spacing: 0 !important;
}

.teacher-reports-page .reports-export-card__body {
    gap: 0.65rem !important;
}

@media (max-width: 1180px) {
    .teacher-reports-page .reports-hero {
        grid-template-columns: 1fr !important;
    }

    .teacher-reports-page .reports-hero__meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .teacher-reports-page .reports-hero,
    .teacher-reports-page .reports-section-card > .card-body {
        padding: 0.68rem !important;
    }

    .teacher-reports-page .reports-hero__meta,
    .teacher-reports-page .reports-action-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-reports-page .reports-action-card {
        align-items: flex-start !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .teacher-reports-page .reports-action-card {
        transition: none !important;
    }

    .teacher-reports-page .reports-action-card:hover,
    .teacher-reports-page .reports-action-card:focus-visible,
    .teacher-reports-page .reports-action-card:active {
        transform: none !important;
    }
}
/* ===== teacher reports compact workbench END ===== */

/* ===== teacher final fit and motion pass START ===== */
.teacher-paper-test-grade-page .paper-grade-summary-shell {
    padding: 0.58rem !important;
}

.teacher-paper-test-grade-page .paper-grade-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(min(100%, 420px), 0.82fr) !important;
}

.teacher-paper-test-grade-page .paper-grade-student-head {
    grid-template-columns: 2.35rem minmax(0, 1fr) !important;
    gap: 0.6rem !important;
}

.teacher-paper-test-grade-page .paper-grade-subject-icon {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-grade-page .paper-grade-student-name {
    font-size: clamp(1.05rem, 1vw, 1.25rem) !important;
    line-height: 1.1 !important;
}

.teacher-paper-test-grade-page .paper-grade-paper-title {
    margin-top: 0.12rem !important;
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
}

.teacher-paper-test-grade-page .paper-grade-meta-row {
    gap: 0.25rem !important;
    margin-top: 0.35rem !important;
}

.teacher-paper-test-grade-page .paper-grade-chip {
    min-height: 1.45rem !important;
    padding: 0.18rem 0.42rem !important;
    font-size: 0.7rem !important;
    line-height: 1.15 !important;
}

.teacher-paper-test-grade-page .paper-grade-score-tile {
    padding: 0.45rem 0.55rem !important;
}

.teacher-paper-test-grade-page .paper-grade-score-value,
.teacher-paper-test-grade-page .mock-score-tile-value {
    font-size: clamp(1.08rem, 1vw, 1.28rem) !important;
}

.teacher-paper-test-grade-page .mock-review-aside {
    position: sticky !important;
    top: 5rem !important;
    align-self: start !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: clamp(180px, 14vw, 220px) !important;
}

.teacher-paper-test-grade-page .mock-slider-controls--primary-row {
    position: sticky !important;
    top: 4.75rem !important;
    z-index: 18 !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding: 0.4rem !important;
    border: 1px solid rgba(191, 219, 254, 0.88) !important;
    border-radius: 10px !important;
    background: rgba(248, 251, 255, 0.94) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1) !important;
    backdrop-filter: blur(10px);
}

.teacher-paper-test-grade-page .mock-question-jump:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12) !important;
}

.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override,
.teacher-paper-test-grade-page .mock-visual-card-title {
    overflow-wrap: anywhere;
}

.teacher-paper-test-grade-page .mock-review-section--override {
    scroll-margin-top: 5.5rem;
}

.teacher-paper-test-grade-page .mock-pdf-page-preview {
    aspect-ratio: 1 / 1.414 !important;
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .mock-review-aside {
        position: static !important;
    }
}

@media (max-width: 767.98px) {
    .teacher-paper-test-grade-page .mock-slider-controls--primary-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 0.45rem !important;
    }

    .teacher-paper-test-grade-page .mock-slider-position {
        grid-column: 1 / -1;
        order: -1;
        width: 100%;
    }

    .teacher-paper-test-grade-page .mock-slider-nav-button {
        min-width: 0 !important;
        width: 100% !important;
    }

    .teacher-paper-test-grade-page .mock-visual-link,
    .teacher-paper-test-grade-page .mock-pdf-page-preview {
        width: min(100%, 210px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .teacher-paper-tests-page .paper-tests-hero__action,
    .teacher-paper-test-grade-page .mock-slider-nav-button,
    .teacher-paper-test-upload-page .paper-upload-card-title-row .btn,
    .teacher-paper-test-upload-page .paper-upload-actions .btn,
    .teacher-paper-test-upload-page .paper-upload-form .btn,
    .teacher-results-page .results-card-actions .btn,
    .teacher-results-page .exam-gradebook-actions .btn,
    .teacher-students-page .students-filter-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions .btn {
        transition: none !important;
    }

    .teacher-paper-tests-page .paper-tests-hero__action:active,
    .teacher-paper-test-grade-page .mock-slider-nav-button:active,
    .teacher-paper-test-upload-page .paper-upload-card-title-row .btn:active,
    .teacher-paper-test-upload-page .paper-upload-actions .btn:active,
    .teacher-paper-test-upload-page .paper-upload-form .btn:active,
    .teacher-results-page .results-card-actions .btn:active,
    .teacher-results-page .exam-gradebook-actions .btn:active,
    .teacher-students-page .students-filter-actions .btn:active,
    .teacher-paper-test-template-review-page .template-review-actions .btn:active {
        transform: none !important;
    }
}
/* ===== teacher final fit and motion pass END ===== */

/* ===== teacher grade deterministic fit pass START ===== */
:root {
    --teacher-grade-sticky-offset: 5rem;
}

.teacher-paper-test-grade-page .teacher-shell-topbar .page-title {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance;
}

.teacher-paper-test-grade-page .mock-question-review-list {
    gap: 0.72rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.teacher-paper-test-grade-page .mock-question-review-card {
    padding: 0.72rem !important;
}

.teacher-paper-test-grade-page .mock-question-card-header {
    margin: -0.72rem -0.72rem 0.62rem !important;
    padding: 0.62rem 0.72rem !important;
}

.teacher-paper-test-grade-page .mock-review-body {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 300px) !important;
    gap: 0.72rem !important;
}

.teacher-paper-test-grade-page .mock-review-main {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 0.62rem !important;
}

.teacher-paper-test-grade-page .mock-review-main > .mock-review-section:not(.mock-review-section--question):not(.mock-review-section--answer),
.teacher-paper-test-grade-page .mock-review-main > details,
.teacher-paper-test-grade-page .mock-review-main > .d-grid {
    grid-column: 1 / -1;
}

.teacher-paper-test-grade-page .mock-review-section {
    padding: 0.58rem !important;
}

.teacher-paper-test-grade-page .mock-review-section-title {
    margin-bottom: 0.32rem !important;
    font-size: 0.74rem !important;
}

.teacher-paper-test-grade-page .mock-review-section .paper-ocr-preview,
.teacher-paper-test-grade-page .mock-review-section .bg-light.border {
    margin-top: 0 !important;
    padding: 0.56rem 0.62rem !important;
    line-height: 1.38 !important;
}

.teacher-paper-test-grade-page .mock-review-aside {
    gap: 0.52rem !important;
    padding: 0.52rem !important;
    top: calc(var(--teacher-grade-sticky-offset) + 0.75rem) !important;
}

.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-review-section--override {
    padding: 0.58rem !important;
}

.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    padding: 0.42rem !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 210px) !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 250px) !important;
    aspect-ratio: 1 / 1.414 !important;
}

.teacher-paper-test-grade-page .mock-visual-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-canvas {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

.teacher-paper-test-grade-page .mock-visual-card-header {
    margin-bottom: 0.42rem !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-actions,
.teacher-paper-test-grade-page .mock-visual-actions {
    margin-top: 0.34rem !important;
}

.teacher-paper-test-grade-page .mock-review-section--override .row {
    display: grid !important;
    grid-template-columns: minmax(74px, 0.42fr) minmax(0, 1fr) !important;
    gap: 0.5rem !important;
}

.teacher-paper-test-grade-page .mock-review-section--override .col-sm-4,
.teacher-paper-test-grade-page .mock-review-section--override .col-sm-8,
.teacher-paper-test-grade-page .mock-review-section--override .col-12 {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.teacher-paper-test-grade-page .mock-review-section--override .col-12 {
    grid-column: 1 / -1;
}

.teacher-paper-test-grade-page .mock-confirm-control {
    min-height: 0 !important;
    padding: 0.58rem 0.62rem !important;
}

.teacher-paper-test-grade-page .mock-review-section--override textarea {
    min-height: 3.1rem !important;
}

@media (max-width: 1280px) {
    .teacher-paper-test-grade-page .mock-review-main {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1100px) {
    .teacher-paper-test-grade-page .mock-review-body {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-grade-page .mock-review-aside {
        max-width: none !important;
    }
}

@media (max-width: 767.98px) {
    .teacher-paper-test-grade-page .mock-visual-link,
    .teacher-paper-test-grade-page .mock-pdf-page-preview {
        width: min(100%, 220px) !important;
    }

    .teacher-paper-test-grade-page .mock-review-section--override .row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {
    .teacher-students-page .students-table-wrap {
        overflow: visible !important;
    }

    .teacher-students-page .students-table {
        min-width: 0 !important;
    }
}
/* ===== teacher grade deterministic fit pass END ===== */

/* ===== paper grade mobile summary hardening START ===== */
@media (max-width: 760px) {
    .teacher-paper-test-grade-page .paper-grade-summary-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
    }

    .teacher-paper-test-grade-page .paper-grade-student-panel,
    .teacher-paper-test-grade-page .paper-grade-action-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .teacher-paper-test-grade-page .paper-grade-student-head {
        grid-template-columns: 2.35rem minmax(0, 1fr) !important;
        align-items: start !important;
        width: 100%;
        min-width: 0 !important;
    }

    .teacher-paper-test-grade-page .paper-grade-student-head > div:last-child {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .teacher-paper-test-grade-page .paper-grade-student-name,
    .teacher-paper-test-grade-page .paper-grade-paper-title,
    .teacher-paper-test-grade-page .paper-grade-chip {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .teacher-paper-test-grade-page .paper-grade-meta-row {
        display: flex !important;
        flex-wrap: wrap !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .teacher-paper-test-grade-page .paper-grade-chip {
        flex: 1 1 100%;
        justify-content: flex-start !important;
    }
}

@media (max-width: 420px) {
    .teacher-paper-test-grade-page .paper-grade-score-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
/* ===== paper grade mobile summary hardening END ===== */

/* ===== dashboard primary action contrast hardening START ===== */
.teacher-dashboard-page .teacher-start-card.is-primary {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.98), rgba(14, 165, 233, 0.92)) !important;
    border-color: rgba(37, 99, 235, 0.28) !important;
    color: #ffffff !important;
}

.teacher-dashboard-page .teacher-start-card.is-primary:hover,
.teacher-dashboard-page .teacher-start-card.is-primary:focus-visible {
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.18) !important;
}

.teacher-dashboard-page .teacher-start-card.is-primary .teacher-start-title {
    color: #ffffff !important;
}

.teacher-dashboard-page .teacher-start-card.is-primary .teacher-start-copy {
    color: rgba(255, 255, 255, 0.86) !important;
}

.teacher-dashboard-page .teacher-start-card.is-primary .teacher-start-icon {
    background: rgba(255, 255, 255, 0.94) !important;
    color: #0f766e !important;
}
/* ===== dashboard primary action contrast hardening END ===== */

/* ===== create paper workflow extraction START ===== */
.teacher-create-test-page .past-paper-guide {
    border: 1px solid #c7d2fe;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    padding: 18px;
}

.teacher-create-test-page .past-paper-guide__header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.teacher-create-test-page .past-paper-guide__title {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 700;
}

.teacher-create-test-page .past-paper-guide__copy {
    max-width: 760px;
    margin: 4px 0 0;
    color: #475569;
}

.teacher-create-test-page .past-paper-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #ffffff;
    color: #1e3a8a;
    font-size: 0.86rem;
    font-weight: 600;
    white-space: nowrap;
}

.teacher-create-test-page .paper-setup-stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.teacher-create-test-page .paper-setup-step {
    display: flex;
    min-height: 76px;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #ffffff;
}

.teacher-create-test-page .paper-setup-step__number {
    display: inline-flex;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2563eb;
    color: #ffffff;
    font-weight: 700;
}

.teacher-create-test-page .paper-setup-step__title {
    color: #111827;
    font-weight: 700;
    line-height: 1.25;
}

.teacher-create-test-page .paper-setup-step__state {
    margin-top: 3px;
    color: #64748b;
    font-size: 0.88rem;
}

.teacher-create-test-page .paper-setup-step.is-complete .paper-setup-step__number {
    background: #059669;
}

.teacher-create-test-page .paper-setup-step.is-waiting .paper-setup-step__number {
    background: #64748b;
}

.teacher-create-test-page .past-paper-section {
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #ffffff;
}

.teacher-create-test-page .past-paper-section--muted {
    background: #f8fafc;
}

.teacher-create-test-page .past-paper-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.teacher-create-test-page .past-paper-section__heading {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

.teacher-create-test-page .past-paper-section__hint {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 0.92rem;
}

.teacher-create-test-page .past-paper-next-actions {
    padding: 18px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #f8fbff;
}

.teacher-create-test-page .paper-test-flow-note {
    padding: 14px 16px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}

.teacher-create-test-page .paper-test-flow-note__eyebrow {
    margin-bottom: 4px;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.teacher-create-test-page .paper-test-flow-note__title {
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.3;
}

.teacher-create-test-page .paper-test-flow-note__copy {
    margin-top: 4px;
    color: #334155;
}

.teacher-create-test-page .paper-test-flow-note__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.teacher-create-test-page .paper-test-flow-note__step {
    min-height: 76px;
    padding: 10px 12px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #ffffff;
}

.teacher-create-test-page .paper-test-flow-note__step strong {
    display: block;
    margin-bottom: 3px;
    color: #1e40af;
}

.teacher-create-test-page .paper-test-flow-note__step span {
    display: block;
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .teacher-create-test-page .past-paper-guide__header {
        display: block;
    }

    .teacher-create-test-page .past-paper-status {
        margin-top: 12px;
        white-space: normal;
    }

    .teacher-create-test-page .paper-setup-stepper,
    .teacher-create-test-page .paper-test-flow-note__steps {
        grid-template-columns: 1fr;
    }
}
/* ===== create paper workflow extraction END ===== */

/* ===== template review operational panel pass START ===== */
.teacher-paper-test-template-review-page .template-review-card {
    overflow: visible !important;
}

.teacher-paper-test-template-review-page .template-review-card > .card-header {
    padding: 0.78rem 0.9rem !important;
    border-bottom: 1px solid rgba(203, 213, 225, 0.82) !important;
    background: #f8fbff !important;
}

.teacher-paper-test-template-review-page .template-review-card > .card-header .card-title {
    color: #0f172a !important;
    font-size: clamp(1rem, 1.1vw, 1.18rem) !important;
    font-weight: 850 !important;
    line-height: 1.22 !important;
    text-wrap: balance;
}

.teacher-paper-test-template-review-page .template-review-hero {
    padding: 1rem !important;
    border: 1px solid rgba(191, 219, 254, 0.88) !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(244, 247, 255, 0.96) 52%, rgba(248, 255, 252, 0.96)) !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-test-template-review-page .template-review-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.72rem !important;
}

.teacher-paper-test-template-review-page .template-review-stat {
    min-height: 82px !important;
    padding: 0.72rem !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07) !important;
}

.teacher-paper-test-template-review-page .template-review-stat-label,
.teacher-paper-test-template-review-page .template-review-section-kicker {
    color: #475569 !important;
    font-size: 0.7rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.teacher-paper-test-template-review-page .template-review-stat-value {
    margin-top: 0.2rem !important;
    color: #0f172a !important;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem) !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-test-template-review-page .template-review-stat-note,
.teacher-paper-test-template-review-page .template-review-stability-note {
    display: block !important;
    margin-top: 0.24rem !important;
    color: #64748b !important;
    font-size: 0.78rem !important;
    line-height: 1.28 !important;
    text-wrap: pretty;
}

.teacher-paper-test-template-review-page .template-build-time-notice {
    padding: 0.72rem 0.8rem !important;
    border-color: #93c5fd !important;
    border-radius: 8px !important;
    background: #eff6ff !important;
}

.teacher-paper-test-template-review-page .template-build-time-notice__icon {
    width: 1.9rem !important;
    height: 1.9rem !important;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.14);
}

.teacher-paper-test-template-review-page .template-build-time-notice__body {
    font-size: 0.84rem !important;
    line-height: 1.38 !important;
}

.teacher-paper-test-template-review-page .template-review-progress {
    border-radius: 8px !important;
    background: #f8fbff !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar,
.teacher-paper-test-template-review-page .template-review-actions {
    justify-content: center !important;
    gap: 0.58rem !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar .btn,
.teacher-paper-test-template-review-page .template-review-actions .btn {
    min-height: 42px !important;
    padding-inline: 1rem !important;
}

.teacher-paper-test-template-review-page .template-review-table-wrap {
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.teacher-paper-test-template-review-page .template-review-table th {
    color: #475569 !important;
    font-size: 0.7rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.teacher-paper-test-template-review-page .template-review-col-label,
.teacher-paper-test-template-review-page .template-review-col-parent,
.teacher-paper-test-template-review-page .template-review-col-marks,
.teacher-paper-test-template-review-page .template-review-col-delete {
    width: 10%;
}

.teacher-paper-test-template-review-page .template-review-col-question,
.teacher-paper-test-template-review-page .template-review-col-mark-scheme {
    width: 24%;
}

.teacher-paper-test-template-review-page .template-review-col-review {
    width: 12%;
}

.teacher-paper-test-template-review-page .template-review-table tr {
    border-radius: 8px !important;
}

.teacher-paper-test-template-review-page .template-review-table .form-control,
.teacher-paper-test-template-review-page .template-review-table textarea {
    border-radius: 6px !important;
}

.teacher-paper-test-template-review-page .technical-pack-details,
.teacher-paper-test-upload-page .technical-pack-details {
    overflow: visible !important;
}

.teacher-paper-test-template-review-page .technical-pack-details > summary:focus-visible,
.teacher-paper-test-upload-page .technical-pack-details > summary:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.35);
    outline-offset: 3px;
}

@media (max-width: 1280px) {
    .teacher-paper-test-template-review-page .template-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .teacher-paper-test-template-review-page .template-review-grid {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-template-review-page .template-review-toolbar .btn,
    .teacher-paper-test-template-review-page .template-review-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions form {
        width: 100%;
    }
}
/* ===== template review operational panel pass END ===== */

/* ===== upload script action grouping pass START ===== */
.teacher-paper-test-upload-page .paper-upload-actions {
    justify-content: flex-end !important;
    gap: 0.45rem !important;
}

.teacher-paper-test-upload-page .paper-upload-actions__group {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.teacher-paper-test-upload-page .paper-upload-actions__group:empty {
    display: none;
}

.teacher-paper-test-upload-page .paper-upload-actions__group--primary {
    order: 1;
}

.teacher-paper-test-upload-page .paper-upload-actions__group--secondary {
    order: 2;
}

.teacher-paper-test-upload-page .paper-upload-actions__group--destructive {
    order: 3;
}

.teacher-paper-test-upload-page .paper-upload-actions .btn,
.teacher-paper-test-upload-page .paper-upload-ocr-link {
    min-height: 38px !important;
    border-radius: 8px !important;
}

.teacher-paper-test-upload-page .paper-upload-ocr-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.24rem 0.48rem !important;
    text-decoration: none !important;
}

.teacher-paper-test-upload-page .paper-upload-ocr-link:focus-visible,
.teacher-paper-test-upload-page .view-ocr:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
}

/* ===== upload script action chip pass START ===== */
.teacher-paper-test-upload-page .paper-upload-action-chip {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 40px;
    min-height: 40px !important;
    padding: 0.5rem 0.72rem !important;
    border-radius: 8px !important;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.teacher-paper-test-upload-page .paper-upload-action-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.09);
}

.teacher-paper-test-upload-page .paper-upload-action-chip:active {
    transform: scale(0.96);
}

.teacher-paper-test-upload-page .paper-upload-action-chip:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-paper-test-upload-page .paper-upload-action-chip--primary {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
}

.teacher-paper-test-upload-page .paper-upload-action-chip--text {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.teacher-paper-test-upload-page .paper-upload-action-chip--restore {
    background: #dcfce7 !important;
    border-color: #86efac !important;
    color: #047857 !important;
}

.teacher-paper-test-upload-page .paper-upload-action-chip--danger {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}
/* ===== upload script action chip pass END ===== */

.teacher-paper-test-upload-page .paper-upload-table th,
.teacher-paper-test-upload-page .paper-upload-detail-table th,
.teacher-paper-test-upload-page .ocr-preview-table th {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .teacher-paper-test-upload-page .paper-upload-actions,
    .teacher-paper-test-upload-page .paper-upload-actions__group {
        justify-content: stretch !important;
    }

    .teacher-paper-test-upload-page .paper-upload-actions__group,
    .teacher-paper-test-upload-page .paper-upload-actions__group form,
    .teacher-paper-test-upload-page .paper-upload-actions .btn {
        width: 100%;
    }
}
/* ===== upload script action grouping pass END ===== */

/* ===== students command panel pass START ===== */
.teacher-students-page .students-command-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.74fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.85rem;
    padding: 1.05rem;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(244, 247, 255, 0.96) 54%, rgba(248, 255, 252, 0.96));
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.teacher-students-page .students-command-panel__copy {
    min-width: 0;
}

.teacher-students-page .students-command-panel__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    margin-bottom: 0.52rem;
    padding: 0.3rem 0.58rem;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-students-page .students-command-panel__title {
    max-width: 48rem;
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.26rem, 1.65vw, 1.82rem);
    font-weight: 850;
    line-height: 1.12;
    text-wrap: balance;
}

.teacher-students-page .students-command-panel__text {
    max-width: 58ch;
    margin: 0.5rem 0 0;
    color: #475569;
    font-size: 0.94rem;
    line-height: 1.46;
    text-wrap: pretty;
}

.teacher-students-page .students-command-panel .students-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.7rem !important;
    margin: 0 !important;
}

.teacher-students-page .students-command-panel .stat-card {
    min-height: 92px !important;
    padding: 0.74rem !important;
    border: 1px solid rgba(203, 213, 225, 0.82) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07) !important;
}

.teacher-students-page .students-command-panel .stat-icon {
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 8px !important;
}

.teacher-students-page .students-command-panel .stat-value {
    color: #0f172a !important;
    font-size: clamp(1.28rem, 1.55vw, 1.75rem) !important;
    line-height: 1 !important;
}

.teacher-students-page .students-command-panel .stat-label {
    color: #475569 !important;
    font-size: 0.74rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.teacher-students-page .students-command-panel .stat-change {
    color: #64748b !important;
    font-size: 0.76rem !important;
    line-height: 1.25 !important;
}

.teacher-students-page .students-filter-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 8px !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-students-page .students-filter-card .card-body {
    padding: 0.74rem !important;
}

@media (max-width: 1180px) {
    .teacher-students-page .students-command-panel {
        grid-template-columns: 1fr;
    }

    .teacher-students-page .students-command-panel .students-stats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .teacher-students-page .students-command-panel {
        padding: 0.72rem;
    }

    .teacher-students-page .students-command-panel .students-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
/* ===== students command panel pass END ===== */

/* ===== students library filter alignment START ===== */
.teacher-students-page .students-filter-card--library {
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.teacher-students-page .students-filter-card--library .card-body {
    padding: 0 !important;
}

.teacher-students-page .students-filter-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.96);
    background: #f8fbff;
}

.teacher-students-page .students-filter-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.42rem;
    padding: 0.28rem 0.58rem;
    border-radius: 999px;
    background: #e8e7ff;
    color: #4338ca;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-students-page .students-filter-card--library .card-title {
    margin: 0 !important;
    color: #172554 !important;
    font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.teacher-students-page .students-filter-copy {
    max-width: 62ch;
    margin: 0.34rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.42;
}

.teacher-students-page .students-filter-row--library {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.82rem 1rem 0.95rem;
    background: #fff;
}

.teacher-students-page .students-visible-count {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: max-content;
    color: #64748b;
    font-size: 0.86rem;
    font-weight: 700;
}

.teacher-students-page .students-visible-count__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.36rem;
    min-height: 2.45rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.teacher-students-page .students-filter-row--library .students-filter-grid {
    display: grid;
    grid-template-columns: minmax(190px, 0.7fr) minmax(260px, 1fr) auto;
    gap: 0.65rem;
    align-items: end;
}

.teacher-students-page .students-filter-row--library .students-filter-field {
    margin: 0;
}

.teacher-students-page .students-filter-row--library .students-filter-field label {
    display: block;
    margin-bottom: 0.28rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-students-page .students-filter-row--library .form-control {
    min-height: 2.75rem;
    border-radius: 8px;
}

.teacher-students-page .students-filter-row--library .students-filter-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.teacher-students-page .students-filter-row--library .students-filter-actions .btn {
    min-height: 2.75rem;
    border-radius: 8px;
}

@media (max-width: 1020px) {
    .teacher-students-page .students-filter-row--library {
        grid-template-columns: 1fr;
    }

    .teacher-students-page .students-filter-row--library .students-filter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .teacher-students-page .students-filter-row--library .students-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .teacher-students-page .students-filter-head,
    .teacher-students-page .students-filter-row--library {
        padding-inline: 0.75rem;
    }

    .teacher-students-page .students-visible-count {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.34rem;
    }

    .teacher-students-page .students-filter-row--library .students-filter-grid {
        grid-template-columns: 1fr;
    }

    .teacher-students-page .students-filter-row--library .students-filter-actions,
    .teacher-students-page .students-filter-row--library .students-filter-actions .btn {
        width: 100%;
    }
}
/* ===== students library filter alignment END ===== */

/* ===== results workspace inline chrome cleanup START ===== */
/* ===== results library filter alignment START ===== */
.teacher-results-page .results-library-card {
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.teacher-results-page .results-library-card > .card-body {
    padding: 0 !important;
}

.teacher-results-page .results-library-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.96);
    background: #f8fbff;
}

.teacher-results-page .results-library-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.42rem;
    padding: 0.28rem 0.58rem;
    border-radius: 999px;
    background: #e8e7ff;
    color: #4338ca;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-results-page .results-library-card .card-title {
    margin: 0 !important;
    color: #172554 !important;
    font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.teacher-results-page .results-library-copy {
    max-width: 62ch;
    margin: 0.34rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.42;
}

.teacher-results-page .results-filter-row--library {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.82rem 1rem 0.95rem;
    background: #fff;
}

.teacher-results-page .results-visible-count {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: max-content;
    color: #64748b;
    font-size: 0.86rem;
    font-weight: 700;
}

.teacher-results-page .results-visible-count__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.36rem;
    min-height: 2.45rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.teacher-results-page .results-filter-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.65rem;
    align-items: end;
}

.teacher-results-page .results-filter-form {
    min-width: 0;
}

.teacher-results-page .results-filter-row--library .results-filter-control-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
    gap: 0.65rem;
    align-items: end;
}

.teacher-results-page .results-filter-row--library .form-label {
    margin-bottom: 0.28rem;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-results-page .results-filter-row--library .form-select,
.teacher-results-page .results-filter-row--library .btn {
    min-height: 2.75rem;
    border-radius: 8px;
}

.teacher-results-page .results-view-toggle {
    display: flex;
    justify-content: flex-end;
}

.teacher-results-page .results-view-toggle .btn {
    min-width: 40px;
}

@media (max-width: 1180px) {
    .teacher-results-page .results-filter-row--library,
    .teacher-results-page .results-filter-controls {
        grid-template-columns: 1fr;
    }

    .teacher-results-page .results-view-toggle {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .teacher-results-page .results-library-head,
    .teacher-results-page .results-filter-row--library {
        padding-inline: 0.75rem;
    }

    .teacher-results-page .results-visible-count {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.34rem;
    }

    .teacher-results-page .results-filter-row--library .results-filter-control-grid {
        grid-template-columns: 1fr;
    }

    .teacher-results-page .results-view-toggle .btn-group {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
}

/* ===== results library filter alignment END ===== */

/* ===== create paper table header source cleanup START ===== */
.teacher-create-test-page .paper-boundary-col--grade,
.teacher-create-test-page .paper-boundary-col--min,
.teacher-create-test-page .paper-boundary-col--max {
    width: 28%;
}

.teacher-create-test-page .paper-boundary-col--action {
    width: 16%;
}
/* ===== create paper table header source cleanup END ===== */

.teacher-results-page .results-stat-icon--practice {
    background: linear-gradient(135deg, #dbeafe, #ede9fe) !important;
    color: #1d4ed8 !important;
}

.teacher-results-page .results-attempt-progress {
    width: 100px;
    height: 8px;
    min-width: 100px;
    border-radius: 999px;
    background: #e2e8f0;
}

.teacher-results-page .results-practice-card {
    border: 1px solid var(--teacher-shell-line) !important;
    border-radius: 8px !important;
    box-shadow: var(--teacher-shell-shadow) !important;
}

.teacher-results-page .results-practice-header {
    border-bottom: 1px solid var(--teacher-shell-line-soft) !important;
    background: #f8fbff !important;
    color: #0f172a !important;
}

.teacher-results-page .results-practice-header .card-title {
    color: #0f172a !important;
}

.teacher-results-page .results-practice-row {
    background: #f8fafc;
}

.teacher-results-page .results-filter-control-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
    align-items: end;
}

@media (max-width: 760px) {
    .teacher-results-page .results-attempt-progress {
        width: 72px;
        min-width: 72px;
    }
}
/* ===== results workspace inline chrome cleanup END ===== */


/* ===== dashboard inline css extraction START ===== */
.teacher-dashboard-page .row { display:flex; flex-wrap:wrap; }

.teacher-dashboard-page .row > [class*="col-"] { display:flex; flex-direction:column; }

.teacher-dashboard-page .row > [class*="col-"] > .card { flex:1 1 auto; display:flex; flex-direction:column; }

.teacher-dashboard-page .row > [class*="col-"] > .card > .card-body { flex:1 1 auto; }

.teacher-dashboard-page .dash-scroll { max-height:340px; overflow-y:auto; }
.teacher-dashboard-page .page-content {
    display: flex;
    flex-direction: column;
}
.teacher-dashboard-page .page-content > * {
    order: 3;
}
.dashboard-wrapper .sidebar.teacher {
    background:
        linear-gradient(180deg, rgba(29, 78, 137, 0.98) 0%, rgba(30, 64, 122, 0.98) 58%, rgba(31, 73, 104, 0.98) 100%);
    box-shadow: 12px 0 28px rgba(15, 23, 42, 0.08);
}
.dashboard-wrapper .sidebar.teacher .nav-section-title {
    color: rgba(226, 232, 240, 0.72);
}
.dashboard-wrapper .sidebar.teacher .nav-link,
.dashboard-wrapper .sidebar.teacher .nav-section-toggle {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}
.dashboard-wrapper .sidebar.teacher .nav-link:hover,
.dashboard-wrapper .sidebar.teacher .nav-link:focus,
.dashboard-wrapper .sidebar.teacher .nav-section-toggle:hover,
.dashboard-wrapper .sidebar.teacher .nav-section-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.10);
}
.dashboard-wrapper .sidebar.teacher .nav-link.active {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(125, 211, 252, 0.42);
}
.teacher-dashboard-page .teacher-home-shell {
    order: 1;
    display: grid;
    gap: 1.1rem;
    margin-bottom: 1.4rem;
}
.teacher-dashboard-page .teacher-home-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    padding: 1.25rem;
    background:
        radial-gradient(circle at top right, rgba(20, 184, 166, 0.15), transparent 34%),
        linear-gradient(135deg, rgba(239, 246, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 48%, rgba(240, 253, 250, 0.96) 100%);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}
.teacher-dashboard-page .teacher-home-hero-copy {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.teacher-dashboard-page .teacher-home-kicker,
.teacher-dashboard-page .teacher-home-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    margin: 0 0 0.34rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #2563eb;
}
.teacher-dashboard-page .teacher-home-title {
    margin: 0;
    color: #172554;
    font-size: clamp(1.45rem, 2.4vw, 2.1rem);
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: 0;
}
.teacher-dashboard-page .teacher-home-subtitle {
    margin: 0.45rem 0 0;
    max-width: 46rem;
    color: #475569;
    font-size: 0.98rem;
    line-height: 1.55;
}
.teacher-dashboard-page .teacher-home-status {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    padding: 0.48rem 0.72rem;
    border-radius: 999px;
    color: #0f766e;
    background: rgba(204, 251, 241, 0.75);
    border: 1px solid rgba(20, 184, 166, 0.22);
    font-size: 0.82rem;
    font-weight: 650;
}
.teacher-dashboard-page .teacher-start-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}
.teacher-dashboard-page .teacher-start-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: start;
    min-height: 100%;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.86);
    color: #1e293b;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.teacher-dashboard-page .teacher-start-card:hover,
.teacher-dashboard-page .teacher-start-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.10);
    color: #1e293b;
}
.teacher-dashboard-page .teacher-start-card.is-primary {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.98), rgba(14, 165, 233, 0.92));
    border-color: rgba(37, 99, 235, 0.22);
    color: #fff;
}
.teacher-dashboard-page .teacher-start-card.is-primary:hover,
.teacher-dashboard-page .teacher-start-card.is-primary:focus-visible {
    color: #fff;
}
.teacher-dashboard-page .teacher-start-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    background: rgba(219, 234, 254, 0.9);
}
.teacher-dashboard-page .teacher-start-card.is-primary .teacher-start-icon {
    color: #0f766e;
    background: rgba(255, 255, 255, 0.92);
}
.teacher-dashboard-page .teacher-start-title {
    display: block;
    margin: 0 0 0.22rem;
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.25;
}
.teacher-dashboard-page .teacher-start-copy {
    display: block;
    margin: 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.4;
}
.teacher-dashboard-page .teacher-start-card.is-primary .teacher-start-copy {
    color: rgba(255, 255, 255, 0.82);
}
.teacher-dashboard-page .teacher-system-map {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.95rem;
    padding-top: 0.95rem;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
}
.teacher-dashboard-page .teacher-system-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.58rem;
    min-width: 0;
    padding: 0.72rem 0.76rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    color: #334155;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
}
.teacher-dashboard-page .teacher-system-link:hover,
.teacher-dashboard-page .teacher-system-link:focus-visible {
    border-color: rgba(37, 99, 235, 0.24);
    color: #1e293b;
    transform: translateY(-1px);
}
.teacher-dashboard-page .teacher-system-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    background: rgba(219, 234, 254, 0.76);
}
.teacher-dashboard-page .teacher-system-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: #1e293b;
    font-size: 0.82rem;
    font-weight: 760;
    line-height: 1.15;
}
.teacher-dashboard-page .teacher-system-count {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 700;
}
.teacher-dashboard-page .teacher-system-copy {
    display: block;
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.teacher-dashboard-page .teacher-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.85fr);
    gap: 1rem;
}
.teacher-dashboard-page .teacher-home-panel {
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
    overflow: hidden;
}
.teacher-dashboard-page .teacher-home-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.13);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.94));
}
.teacher-dashboard-page .teacher-home-panel-title {
    margin: 0;
    color: #1e293b;
    font-size: 1.02rem;
    font-weight: 720;
    line-height: 1.3;
}
.teacher-dashboard-page .teacher-home-panel-copy {
    margin: 0.2rem 0 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.45;
}
.teacher-dashboard-page .teacher-home-panel-body {
    padding: 1rem;
}
.teacher-dashboard-page .teacher-review-list,
.teacher-dashboard-page .teacher-recent-list,
.teacher-dashboard-page .teacher-calm-list {
    display: grid;
    gap: 0.72rem;
}
.teacher-dashboard-page .teacher-review-row,
.teacher-dashboard-page .teacher-recent-row,
.teacher-dashboard-page .teacher-calm-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.82rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.74);
}
.teacher-dashboard-page .teacher-calm-row {
    grid-template-columns: auto minmax(0, 1fr);
}
.teacher-dashboard-page .teacher-calm-link {
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.teacher-dashboard-page .teacher-calm-link:hover,
.teacher-dashboard-page .teacher-calm-link:focus-visible {
    border-color: rgba(59, 130, 246, 0.28);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}
.teacher-dashboard-page .teacher-row-icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f766e;
    background: rgba(204, 251, 241, 0.8);
}
.teacher-dashboard-page .teacher-row-icon.is-blue {
    color: #2563eb;
    background: rgba(219, 234, 254, 0.9);
}
.teacher-dashboard-page .teacher-row-icon.is-amber {
    color: #b45309;
    background: rgba(254, 243, 199, 0.82);
}
.teacher-dashboard-page .teacher-row-title {
    margin: 0;
    color: #1e293b;
    font-size: 0.93rem;
    font-weight: 680;
    line-height: 1.3;
}
.teacher-dashboard-page .teacher-row-meta {
    margin: 0.16rem 0 0;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.35;
}
.teacher-dashboard-page .teacher-soft-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    background: rgba(219, 234, 254, 0.82);
    color: #1d4ed8;
    font-size: 0.74rem;
    font-weight: 650;
    white-space: nowrap;
}
.teacher-dashboard-page .teacher-soft-chip.is-green {
    background: rgba(220, 252, 231, 0.82);
    color: #15803d;
}
.teacher-dashboard-page .teacher-home-empty {
    padding: 1.2rem;
    border: 1px dashed rgba(148, 163, 184, 0.28);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.7);
    color: #64748b;
    text-align: center;
    font-size: 0.9rem;
}
.teacher-dashboard-page .teacher-overview-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.teacher-dashboard-page .teacher-overview-tile {
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
}
.teacher-dashboard-page .teacher-overview-value {
    display: block;
    color: #1e293b;
    font-size: 1.1rem;
    font-weight: 750;
    line-height: 1;
}
.teacher-dashboard-page .teacher-overview-label {
    display: block;
    margin-top: 0.3rem;
    color: #64748b;
    font-size: 0.78rem;
}
.teacher-dashboard-page .predictive-alerts-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:0.75rem; }
.teacher-dashboard-page .predictive-alert-item {

    display:flex; gap:0.75rem; padding:0.85rem; border-radius:10px; border:1px solid var(--border-color);

    background:var(--surface); align-items:flex-start;

}

.teacher-dashboard-page .predictive-alert-chip {

    flex-shrink:0; width:38px; height:38px; border-radius:50%;

    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.82rem;

}

.teacher-dashboard-page .predictive-alert-name { font-weight:700; text-decoration:none; }

.teacher-dashboard-page .predictive-alert-meta { display:flex; gap:0.75rem; margin-top:0.25rem; font-size:0.82rem; flex-wrap:wrap; }

.teacher-dashboard-page .predictive-alert-reasons { margin-top:0.4rem; font-size:0.76rem; color:var(--gray-500); }

.teacher-dashboard-page .predictive-alert-actions,

.teacher-dashboard-page .ao-gap-actions,

.teacher-dashboard-page .intervention-inline-actions {

    display:flex;

    flex-wrap:wrap;

    gap:0.4rem;

    margin-top:0.65rem;

}

.teacher-dashboard-page .predictive-alert-actions .btn,

.teacher-dashboard-page .ao-gap-actions .btn,

.teacher-dashboard-page .intervention-inline-actions .btn {

    border-radius:999px;

}

/* Dashboard section dividers */

.teacher-dashboard-page .dash-section-divider {

    display:flex; align-items:center; gap:0.9rem; margin:1.75rem 0 1.1rem;

}

.teacher-dashboard-page .dash-section-divider::after {

    content:''; flex:1; height:1px; background:var(--border-color);

}

.teacher-dashboard-page .dash-section-label {
    font-size:0.67rem; font-weight:700; letter-spacing:0.11em;
    text-transform:uppercase; color:var(--gray-400); white-space:nowrap;
}
.teacher-dashboard-page .dash-section-label i { margin-right:0.3rem; }
.teacher-dashboard-page .dashboard-overview-shell {
    order: 2;
    margin: 0 0 1.2rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9)),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.08), transparent 36%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 14px 30px rgba(15, 23, 42, 0.055);
}
.teacher-dashboard-page .dashboard-overview-shell .dash-section-divider {
    margin: 0 0 0.95rem;
}
.teacher-dashboard-page .dashboard-overview-shell .dash-section-divider::after {
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.2), rgba(203, 213, 225, 0.12));
}
.teacher-dashboard-page .dashboard-overview-shell .dash-section-label {
    color: #475569;
}
.teacher-dashboard-page .page-content > .dashboard-overview-shell ~ :not(.dash-card-detail) {
    display: none !important;
}
.teacher-dashboard-page #dashboardDoNowDivider,
.teacher-dashboard-page #dashboardDoNowNote,
.teacher-dashboard-page #dashboardDoNowGrid,
.teacher-dashboard-page #workflowPopoutShell {
    display: none !important;
}
.teacher-dashboard-page .dashboard-do-now-shell {
    display: none;
    order: 3;
}
.teacher-dashboard-page .dashboard-week-shell {
    order: 2;
    margin: 0 0 1.35rem;
}
.teacher-dashboard-page .week-panel {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg, 0.75rem);
    background: var(--surface);
    overflow: hidden;
}
.teacher-dashboard-page .week-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--surface-2, rgba(248, 250, 252, 0.9));
}
.teacher-dashboard-page .week-panel-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.98rem;
    font-weight: 700;
}
.teacher-dashboard-page .week-panel-title i {
    color: #2563eb;
}
.teacher-dashboard-page .week-panel-count {
    color: var(--gray-500);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.teacher-dashboard-page .week-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.65rem;
    padding: 0.85rem;
}
.teacher-dashboard-page .week-slot {
    display: grid;
    grid-template-columns: 4px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: stretch;
    min-height: 86px;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: #fff;
}
.teacher-dashboard-page .week-slot-accent {
    border-radius: 999px;
    background: var(--week-accent, #2563eb);
}
.teacher-dashboard-page .week-slot-day {
    color: var(--gray-500);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.teacher-dashboard-page .week-slot-time {
    margin-top: 0.1rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--gray-800);
}
.teacher-dashboard-page .week-slot-subject {
    margin-top: 0.25rem;
    font-size: 0.86rem;
    font-weight: 650;
    color: var(--gray-700);
    overflow-wrap: anywhere;
}
.teacher-dashboard-page .week-slot-meta {
    margin-top: 0.2rem;
    color: var(--gray-500);
    font-size: 0.76rem;
    overflow-wrap: anywhere;
}
.teacher-dashboard-page .week-empty {
    padding: 1rem;
    color: var(--gray-500);
    font-size: 0.88rem;
}
.teacher-dashboard-page .stats-grid .stat-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 0.8rem;
    min-height: 122px;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 10px 22px rgba(15, 23, 42, 0.045);
    color: #334155;
    text-decoration: none;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.teacher-dashboard-page .stats-grid .stat-card:hover,
.teacher-dashboard-page .stats-grid .stat-card:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 12px 26px rgba(15, 23, 42, 0.06);
}
.teacher-dashboard-page .stats-grid .stat-card.is-expanded {
    outline: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 12px 26px rgba(15, 23, 42, 0.06);
}
.teacher-dashboard-page .stats-grid .stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
}
.teacher-dashboard-page .stats-grid .stat-icon i {
    font-size: 1rem;
}
.teacher-dashboard-page .stats-grid .stat-icon.primary {
    background: #eef2ff !important;
    color: #4f46e5 !important;
}
.teacher-dashboard-page .stats-grid .stat-icon.success {
    background: #ecfdf5 !important;
    color: #047857 !important;
}
.teacher-dashboard-page .stats-grid .stat-icon.danger,
.teacher-dashboard-page .stats-grid .stat-icon.warning {
    background: #fff7ed !important;
    color: #c2410c !important;
}
.teacher-dashboard-page .stats-grid .stat-icon.info {
    background: #eff6ff !important;
    color: #2563eb !important;
}
.teacher-dashboard-page .stats-grid [data-stat-key="teacher_toolkit"] .stat-icon {
    background: #f5f3ff !important;
    color: #6d28d9 !important;
}
.teacher-dashboard-page .stats-grid .stat-content {
    min-width: 0;
}
.teacher-dashboard-page .stats-grid .stat-value {
    margin: 0 0 0.28rem;
    color: #0f172a;
    font-size: 1.52rem;
    font-weight: 760;
    line-height: 1.05;
    letter-spacing: 0;
}
.teacher-dashboard-page .stats-grid .stat-label {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.25;
}
.teacher-dashboard-page .stats-grid .stat-change {
    margin-top: 0.58rem;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.45;
}
.teacher-dashboard-page .stats-grid .stat-change.positive {
    color: #047857;
}
.teacher-dashboard-page .stats-grid .stat-change i {
    font-size: 0.5rem;
}
.teacher-dashboard-page .stat-expand-toggle {
    position: absolute;

    top: 0.45rem;

    right: 0.45rem;

    width: 24px;

    height: 24px;

    border-radius: 999px;

    display: inline-flex;
    align-items: center;

    justify-content: center;

    color: var(--gray-500);

    background: rgba(148, 163, 184, 0.14);

    border: 1px solid rgba(148, 163, 184, 0.35);

    cursor: pointer;

    z-index: 2;

}

.teacher-dashboard-page .stat-expand-toggle:hover {

    color: var(--gray-700);

    background: rgba(148, 163, 184, 0.22);

}

.teacher-dashboard-page .stat-expand-toggle i {

    font-size: 0.72rem;

    transition: transform 0.2s ease;

}

.teacher-dashboard-page .stat-card.is-expanded .stat-expand-toggle i {

    transform: rotate(180deg);

}

.teacher-dashboard-page .stat-extra {

    display: none !important;

}

/* ── Per-card detail panels ─────────────────────────── */

.teacher-dashboard-page .dash-card-detail {
    display: none;
    order: 2;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg, 0.75rem);

    background: var(--surface);

    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10);

    overflow: hidden;

    animation: dashDetailSlide 0.25s ease;

}

.teacher-dashboard-page .dash-card-detail.is-open { display: block; }

@keyframes dashDetailSlide {

    from { opacity: 0; transform: translateY(-8px); }

    to   { opacity: 1; transform: translateY(0); }

}

.teacher-dashboard-page .dash-detail-header {

    display: flex; align-items: center; justify-content: space-between;

    padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--border-color);

    background: var(--surface-2, var(--surface)); flex-wrap: wrap; gap: 0.5rem;

}

.teacher-dashboard-page .dash-detail-header h5 {

    display: flex; align-items: center; gap: 0.5rem; margin: 0;

    font-size: 0.95rem; font-weight: 700;

}

.teacher-dashboard-page .dash-detail-icon {

    width: 30px; height: 30px; border-radius: 999px;

    display: inline-flex; align-items: center; justify-content: center;

    color: #fff; font-size: 0.8rem; flex-shrink: 0;

}

.teacher-dashboard-page .dash-detail-body {
    padding: 1.25rem;
}
.teacher-dashboard-page .dash-detail-body.dash-detail-scroll {
    max-height: 460px;
    overflow-y: auto;
}
.teacher-dashboard-page .dash-detail-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));

    gap: 0.75rem;

}

.teacher-dashboard-page .dash-detail-mini {

    text-align: center; padding: 0.75rem 0.5rem; border-radius: 10px;

}

.teacher-dashboard-page .dash-detail-mini .mini-val {

    font-size: 1.4rem; font-weight: 700;

}

.teacher-dashboard-page .dash-detail-mini .mini-lbl {

    font-size: 0.72rem; color: var(--gray-500); margin-top: 0.15rem;

}

.teacher-dashboard-page .dash-detail-bar-row {

    display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.55rem;

}

.teacher-dashboard-page .dash-detail-bar-label {

    font-size: 0.8rem; color: var(--gray-700); min-width: 110px;

    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;

}

.teacher-dashboard-page .dash-detail-bar-track {

    flex: 1; height: 10px; border-radius: 999px;

    background: rgba(148, 163, 184, 0.15); overflow: hidden;

}

.teacher-dashboard-page .dash-detail-bar-fill {

    height: 100%; border-radius: 999px; transition: width 0.3s ease;

}

.teacher-dashboard-page .dash-detail-bar-value {

    font-size: 0.8rem; font-weight: 600; min-width: 48px; text-align: right;

}

/* Heat chips (matching AO Panel) */

.teacher-dashboard-page .heat-chip {

    display: inline-flex; align-items: center; padding: 0.2rem 0.55rem;

    border-radius: 999px; font-size: 0.78rem; font-weight: 600;

    border: 1px solid transparent;

}

.teacher-dashboard-page .heat-chip.heat-red    { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

.teacher-dashboard-page .heat-chip.heat-amber  { background: #fef3c7; color: #92400e; border-color: #fde68a; }

.teacher-dashboard-page .heat-chip.heat-green  { background: #dcfce7; color: #14532d; border-color: #bbf7d0; }

/* Mini chart container */

.teacher-dashboard-page .dash-detail-chart {

    position: relative; width: 100%; max-width: 220px; margin: 0 auto;

}

.teacher-dashboard-page .dash-detail-chart canvas { width: 100% !important; height: auto !important; }

/* Toolkit icon grid */

.teacher-dashboard-page .dash-tk-grid {

    display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.6rem;

}

.teacher-dashboard-page .dash-tk-item {

    display: flex; flex-direction: column; align-items: center; gap: 0.3rem;

    padding: 0.6rem 0.4rem; border-radius: 10px; border: 1px solid var(--border-color);

    background: var(--surface); font-size: 0.72rem; color: var(--gray-600);

    text-align: center; text-decoration: none; transition: background 0.15s, border-color 0.15s, transform 0.15s;

}

.teacher-dashboard-page .dash-tk-item:hover,

.teacher-dashboard-page .dash-tk-item:focus-visible {
    background: var(--surface-2, rgba(148,163,184,0.08));

    border-color: rgba(99,102,241,0.35);

    color: var(--gray-700);

    transform: translateY(-1px);

}

.teacher-dashboard-page .dash-tk-item i { font-size: 1rem; }

.teacher-dashboard-page .workflow-queue-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

    gap: 0.72rem;

    margin-bottom: 0.7rem;

}

.teacher-dashboard-page .workflow-task-card {

    border: 1px solid rgba(148, 163, 184, 0.16);

    border-radius: 14px;

    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(248,250,252,0.94) 100%);

    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);

    padding: 0.62rem 0.72rem;

    display: flex;

    flex-direction: column;

    min-height: 100%;

}

.teacher-dashboard-page .workflow-task-card.is-priority {

    border-color: rgba(245, 158, 11, 0.28);

    box-shadow: 0 8px 18px rgba(245, 158, 11, 0.06);

}

.teacher-dashboard-page .workflow-task-head {

    display: grid;

    grid-template-columns: minmax(0, 1fr) auto;

    align-items: start;

    gap: 0.5rem;

    margin-bottom: 0.25rem;

    min-height: 3.55rem;

}

.teacher-dashboard-page .workflow-task-head > div:first-child {

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    min-height: 3.55rem;

}

.teacher-dashboard-page .workflow-task-meta {

    display: flex;

    flex-direction: column;

    gap: 0.22rem;

    align-items: flex-end;

    justify-content: flex-start;

    max-width: 100%;

    min-height: 3.55rem;

}

.teacher-dashboard-page .workflow-task-count {

    font-size: 1.55rem;

    line-height: 1;

    font-weight: 650;

    margin-top: 0;

}

.teacher-dashboard-page .workflow-task-title {

    font-size: 0.82rem;

    font-weight: 550;

    margin: 0;

    line-height: 1.2;

    letter-spacing: -0.01em;

    color: var(--gray-700);

}

.teacher-dashboard-page .workflow-task-why {

    color: var(--gray-500);

    font-size: 0.74rem;

    line-height: 1.34;

    margin: 0 0 0.4rem;

    min-height: 2rem;

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 2;

    overflow: hidden;

}

.teacher-dashboard-page .workflow-task-actions {

    display: flex;

    gap: 0.5rem;

    flex-wrap: wrap;

    margin-top: 0.05rem;

    margin-bottom: 0;

    min-height: 1.95rem;

    align-items: center;

}

.teacher-dashboard-page .workflow-task-actions .btn.btn-sm {

    padding: 0.36rem 0.72rem;

    font-size: 0.82rem;

    border-radius: 10px;

}

.teacher-dashboard-page .workflow-task-card .btn {
    min-width: 0;
}
.teacher-dashboard-page .workflow-task-card:has(.workflow-task-preview[data-workflow-target="notifications"]),
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="notifications"] {
    display: none !important;
}
.teacher-dashboard-page details.workflow-task-preview {
    margin-top: auto;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    padding-top: 0.42rem;
}
.teacher-dashboard-page .workflow-task-preview > summary {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 0.75rem;

    cursor: pointer;

    list-style: none;

    font-size: 0.72rem;

    font-weight: 550;

    color: var(--gray-600);

    padding: 0.1rem 0 0;

}

.teacher-dashboard-page .workflow-task-preview > summary::-webkit-details-marker {

    display: none;

}

.teacher-dashboard-page .workflow-task-preview-caret {

    width: 20px;

    height: 20px;

    border-radius: 999px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: rgba(148, 163, 184, 0.14);

    color: var(--gray-500);

    transition: transform 0.18s ease;

}

.teacher-dashboard-page details.workflow-task-preview[open] .workflow-task-preview-caret {

    transform: rotate(180deg);

}

.teacher-dashboard-page .workflow-task-list {

    list-style: none;

    margin: 0.7rem 0 0;

    padding: 0;

    display: grid;

    gap: 0.5rem;

}

.teacher-dashboard-page .workflow-task-item {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 0.65rem;

    padding: 0.65rem 0.75rem;

    border-radius: 12px;

    background: rgba(248, 250, 252, 0.92);

    border: 1px solid rgba(148, 163, 184, 0.12);

}

.teacher-dashboard-page .workflow-task-item-title {

    font-weight: 600;

    color: var(--gray-700);

    text-decoration: none;

}

.teacher-dashboard-page .workflow-task-item-title:hover {

    color: var(--primary);

}

.teacher-dashboard-page .workflow-task-item-meta {

    color: var(--gray-500);

    font-size: 0.78rem;

    margin-top: 0.15rem;

}

.teacher-dashboard-page .workflow-task-empty {

    color: var(--gray-500);

    font-size: 0.74rem;

    padding-top: 0.4rem;

    min-height: 1.6rem;

}

.teacher-dashboard-page .workflow-zone-note {

    margin-top: -0.65rem;

    margin-bottom: 0.45rem;

    color: var(--gray-500);

    font-size: 0.75rem;

}

.teacher-dashboard-page .workflow-task-card.is-preview-active {

    border-color: rgba(99, 102, 241, 0.3);

    box-shadow: 0 14px 28px rgba(99, 102, 241, 0.10);

}

.teacher-dashboard-page .workflow-task-preview[data-workflow-target] {

    margin-top: auto;

}

.teacher-dashboard-page .workflow-popout-shell {

    display: none;

    margin: 0 0 1.35rem;

    padding: 1.1rem 1.15rem 1.2rem;

    border: 1px solid rgba(148, 163, 184, 0.18);

    border-radius: 22px;

    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);

    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);

}

.teacher-dashboard-page .workflow-popout-shell.is-open {

    display: block;

}

.teacher-dashboard-page .workflow-popout-shell-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 1rem;

    margin-bottom: 1rem;

}

.teacher-dashboard-page .workflow-popout-shell-label {

    display: inline-flex;

    align-items: center;

    gap: 0.4rem;

    font-size: 0.69rem;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: var(--gray-400);

    font-weight: 600;

}

.teacher-dashboard-page .workflow-popout-shell-title {

    margin: 0.25rem 0 0;

    font-size: 1.1rem;

    font-weight: 600;

    letter-spacing: -0.015em;

    color: var(--gray-700);

}

.teacher-dashboard-page .review-snapshot-grid {

    display: grid;

    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);

    gap: 1.15rem;

    margin-bottom: 1.35rem;

}

.teacher-dashboard-page .review-snapshot-card {
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}
.teacher-dashboard-page .review-snapshot-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.92) 100%);
}
.teacher-dashboard-page .review-snapshot-header-copy {
    min-width: 0;
}
.teacher-dashboard-page .review-snapshot-kicker {
    margin: 0 0 0.18rem;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gray-400);
}
.teacher-dashboard-page .review-snapshot-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--gray-700);
}
.teacher-dashboard-page .review-snapshot-summary {
    margin: 0.22rem 0 0;
    font-size: 0.79rem;
    color: var(--gray-500);
    max-width: 36rem;
}
.teacher-dashboard-page .review-snapshot-body {
    padding: 0.95rem 1rem 1rem;
    max-height: 500px;
    overflow: auto;
}
.teacher-dashboard-page .review-snapshot-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.85rem;
}
.teacher-dashboard-page .review-snapshot-metric {
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.85);
    padding: 0.72rem 0.8rem;
}
.teacher-dashboard-page .review-snapshot-metric-value {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--gray-700);
    letter-spacing: -0.02em;
}
.teacher-dashboard-page .review-snapshot-metric-label {
    display: block;
    margin-top: 0.18rem;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gray-400);
}
.teacher-dashboard-page .review-snapshot-list {
    display: flex;
    flex-direction: column;
    gap: 0.72rem;
}
.teacher-dashboard-page .review-snapshot-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    padding: 0.9rem 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.94) 100%),
        radial-gradient(circle at top right, rgba(99, 102, 241, 0.06), transparent 45%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.teacher-dashboard-page .review-snapshot-main {
    min-width: 0;
}
.teacher-dashboard-page .review-snapshot-line {
    display: flex;
    align-items: flex-start;
    gap: 0.72rem;
}
.teacher-dashboard-page .review-snapshot-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;

    background: linear-gradient(180deg, #60a5fa 0%, #2563eb 100%);

    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);

}

.teacher-dashboard-page .review-snapshot-name {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--gray-700);
}
.teacher-dashboard-page .review-snapshot-sub {
    margin: 0.14rem 0 0;
    font-size: 0.78rem;
    color: var(--gray-500);
}
.teacher-dashboard-page .review-snapshot-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.58rem;
}
.teacher-dashboard-page .review-snapshot-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.teacher-dashboard-page .review-snapshot-status {
    flex: 0 0 auto;
}
.teacher-dashboard-page .review-snapshot-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.42rem;
}
.teacher-dashboard-page .review-snapshot-actions .btn {
    min-width: 82px;
    border-radius: 10px;
    padding: 0.34rem 0.72rem;
    font-size: 0.78rem;
}
.teacher-dashboard-page .review-snapshot-queue {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.teacher-dashboard-page .review-snapshot-queue .review-snapshot-name {
    font-size: 0.9rem;
}
.teacher-dashboard-page .review-snapshot-queue-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.15rem;
}
.teacher-dashboard-page .review-snapshot-empty {
    border: 1px dashed rgba(148, 163, 184, 0.24);
    border-radius: 16px;
    padding: 1.35rem 1rem;
    background: rgba(248, 250, 252, 0.7);
}
.teacher-dashboard-page .review-snapshot-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.65rem;
    font-size: 0.76rem;
    color: var(--gray-500);
}
.teacher-dashboard-page .review-snapshot-progress {
    margin-top: 0.38rem;
    height: 7px;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}
.teacher-dashboard-page .review-snapshot-progress > span {

    display: block;

    height: 100%;

    border-radius: inherit;

    background: linear-gradient(90deg, #10b981 0%, #34d399 100%);

}

.teacher-dashboard-page .review-snapshot-progress > span.is-warming {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
}
.teacher-dashboard-page .dashboard-panel {
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}
.teacher-dashboard-page .dashboard-panel > .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    background: transparent;
    flex-wrap: wrap;
}
.teacher-dashboard-page .dashboard-panel > .card-header .card-title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--gray-700);
}
.teacher-dashboard-page .dashboard-panel > .card-header .btn.btn-sm,
.teacher-dashboard-page .dashboard-panel .btn.btn-sm {
    border-radius: 10px;
    padding: 0.34rem 0.72rem;
    font-size: 0.78rem;
}
.teacher-dashboard-page .dashboard-panel > .card-body {
    padding: 0.9rem 1rem 1rem;
}
.teacher-dashboard-page .dashboard-panel > .card-body.dash-scroll {
    padding-right: 0.85rem;
}
.teacher-dashboard-page .dashboard-panel .list-group {
    display: grid;
    gap: 0.48rem;
}
.teacher-dashboard-page .dashboard-panel .list-group-item {
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.92);
    padding: 0.72rem 0.8rem !important;
    margin: 0;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.teacher-dashboard-page .dashboard-panel .list-group-item:hover,
.teacher-dashboard-page .dashboard-panel .list-group-item:focus-visible {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(99, 102, 241, 0.22);
    transform: translateY(-1px);
}
.teacher-dashboard-page .dashboard-panel .table.table-sm {
    margin: 0;
    font-size: 0.78rem;
}
.teacher-dashboard-page .dashboard-panel .table.table-sm thead th {
    border-top: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    padding: 0.38rem 0.45rem 0.5rem;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gray-400);
    white-space: nowrap;
}
.teacher-dashboard-page .dashboard-panel .table.table-sm tbody td {
    padding: 0.56rem 0.45rem;
    border-color: rgba(148, 163, 184, 0.1);
    color: var(--gray-600);
    vertical-align: middle;
}
.teacher-dashboard-page .dashboard-panel .table.table-sm tbody tr:last-child td {
    border-bottom: 0;
}
.teacher-dashboard-page .dashboard-panel .progress {
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.85);
    overflow: hidden;
}
.teacher-dashboard-page .dashboard-mini-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}
.teacher-dashboard-page .dashboard-mini-metrics.is-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.teacher-dashboard-page .dashboard-mini-metric {
    text-align: center;
    padding: 0.72rem 0.5rem;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.12);
    background: rgba(248, 250, 252, 0.92);
}
.teacher-dashboard-page .dashboard-mini-metric-value {
    font-size: 1.08rem;
    line-height: 1;
    font-weight: 650;
}
.teacher-dashboard-page .dashboard-mini-metric-label {
    margin-top: 0.24rem;
    font-size: 0.68rem;
    color: var(--gray-500);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.teacher-dashboard-page .dashboard-kpi-total {
    text-align: center;
    padding: 0.82rem 0.7rem;
    margin-bottom: 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.12);
    background: rgba(248, 250, 252, 0.92);
}
.teacher-dashboard-page .dashboard-kpi-total-value {
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 650;
    color: var(--gray-700);
}
.teacher-dashboard-page .dashboard-kpi-total-label {
    margin-top: 0.24rem;
    font-size: 0.72rem;
    color: var(--gray-500);
}
.teacher-dashboard-page .dashboard-simple-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.46rem 0;
    font-size: 0.8rem;
}
.teacher-dashboard-page .dashboard-simple-row + .dashboard-simple-row {
    border-top: 1px solid rgba(148, 163, 184, 0.1);
}
.teacher-dashboard-page .dashboard-gap-item {
    padding: 0.78rem 0.82rem;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.92);
}
.teacher-dashboard-page .dashboard-gap-item + .dashboard-gap-item {
    margin-top: 0.55rem;
}
.teacher-dashboard-page .workflow-popout-pane {
    display: none;
    --workflow-popout-accent: #4f46e5;
    --workflow-popout-soft: rgba(79, 70, 229, 0.12);
    --workflow-popout-soft-strong: rgba(79, 70, 229, 0.2);
    --workflow-popout-shadow: rgba(79, 70, 229, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="online"] {
    --workflow-popout-accent: #2563eb;
    --workflow-popout-soft: rgba(37, 99, 235, 0.12);
    --workflow-popout-soft-strong: rgba(37, 99, 235, 0.2);
    --workflow-popout-shadow: rgba(37, 99, 235, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="paper"] {
    --workflow-popout-accent: #d97706;
    --workflow-popout-soft: rgba(217, 119, 6, 0.12);
    --workflow-popout-soft-strong: rgba(217, 119, 6, 0.2);
    --workflow-popout-shadow: rgba(217, 119, 6, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="coursework"] {
    --workflow-popout-accent: #059669;
    --workflow-popout-soft: rgba(5, 150, 105, 0.12);
    --workflow-popout-soft-strong: rgba(5, 150, 105, 0.2);
    --workflow-popout-shadow: rgba(5, 150, 105, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="ao_focus"] {
    --workflow-popout-accent: #dc2626;
    --workflow-popout-soft: rgba(220, 38, 38, 0.12);
    --workflow-popout-soft-strong: rgba(220, 38, 38, 0.2);
    --workflow-popout-shadow: rgba(220, 38, 38, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="interventions"] {
    --workflow-popout-accent: #7c3aed;
    --workflow-popout-soft: rgba(124, 58, 237, 0.12);
    --workflow-popout-soft-strong: rgba(124, 58, 237, 0.2);
    --workflow-popout-shadow: rgba(124, 58, 237, 0.18);
}
.teacher-dashboard-page .workflow-popout-pane[data-workflow-pane="notifications"] {
    --workflow-popout-accent: #0f766e;
    --workflow-popout-soft: rgba(15, 118, 110, 0.12);
    --workflow-popout-soft-strong: rgba(15, 118, 110, 0.2);
    --workflow-popout-shadow: rgba(15, 118, 110, 0.16);
}
.teacher-dashboard-page .workflow-popout-pane.is-active {
    display: block;
}
.teacher-dashboard-page .workflow-popout-pane-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}
.teacher-dashboard-page .workflow-popout-pane-kicker {
    display: inline-block;
    margin-bottom: 0.24rem;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--workflow-popout-accent);
}
.teacher-dashboard-page .workflow-popout-pane-copy {
    margin: 0;
    color: var(--gray-500);
    font-size: 0.81rem;
    line-height: 1.42;
    max-width: 44rem;
}
.teacher-dashboard-page .workflow-popout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}
.teacher-dashboard-page .workflow-popout-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.52rem;
    min-height: 100%;
    padding: 0.86rem 0.86rem 0.8rem;
    border-radius: 16px;
    border: 1px solid var(--workflow-popout-soft-strong);
    background:
        radial-gradient(circle at top right, var(--workflow-popout-soft-strong) 0%, transparent 48%),
        linear-gradient(145deg, var(--workflow-popout-soft) 0%, transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.72),
        0 12px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.teacher-dashboard-page .workflow-popout-item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, var(--workflow-popout-accent) 0%, rgba(255,255,255,0) 100%);
}
.teacher-dashboard-page .workflow-popout-item:hover {
    transform: translateY(-2px);
    border-color: var(--workflow-popout-accent);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.78),
        0 16px 30px rgba(15, 23, 42, 0.08),
        0 0 0 1px var(--workflow-popout-soft-strong);
}
.teacher-dashboard-page .workflow-popout-item-type {
    align-self: flex-start;
    padding: 0.22rem 0.48rem;
    border-radius: 999px;
    border: 1px solid var(--workflow-popout-soft-strong);
    background: var(--workflow-popout-soft) !important;
    color: var(--workflow-popout-accent) !important;
    font-size: 0.61rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: none;
}
.teacher-dashboard-page .workflow-popout-item-title {
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.34;
    letter-spacing: -0.015em;
    color: var(--gray-700);
    text-decoration: none;
}
.teacher-dashboard-page .workflow-popout-item-title:hover {
    color: var(--workflow-popout-accent);
}
.teacher-dashboard-page .workflow-popout-item-meta {
    color: var(--gray-600);
    font-size: 0.76rem;
    line-height: 1.42;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
.teacher-dashboard-page .workflow-popout-item-actions {
    margin-top: auto;
    padding-top: 0.05rem;
    display: flex;
}
.teacher-dashboard-page .workflow-popout-item-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 12px;
    padding: 0.46rem 0.68rem;
    border-color: var(--workflow-popout-soft-strong);
    background: rgba(255, 255, 255, 0.72);
    color: var(--workflow-popout-accent);
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1.2;
    box-shadow: none;
}
.teacher-dashboard-page .workflow-popout-item-actions .btn:hover,
.teacher-dashboard-page .workflow-popout-item-actions .btn:focus-visible {
    border-color: var(--workflow-popout-accent);
    background: var(--workflow-popout-accent);
    color: #fff;
}
.teacher-dashboard-page .workflow-popout-empty {
    padding: 1rem 0.25rem 0.4rem;
    color: var(--gray-500);
    font-size: 0.92rem;

}

.teacher-dashboard-page .stats-grid [data-stat-key="pending_review"],
.teacher-dashboard-page .stats-grid [data-stat-key="coursework_review"],

.teacher-dashboard-page .stats-grid [data-stat-key="paper_tests"],

.teacher-dashboard-page .stats-grid [data-stat-key="predictive_alerts"]:not(.overview-card-fill),

.teacher-dashboard-page #dashDetail_pending_review,

.teacher-dashboard-page #dashDetail_coursework_review,

.teacher-dashboard-page #dashDetail_paper_tests {

    display: none !important;

}
@media (max-width: 1400px) {
    .teacher-dashboard-page .teacher-system-map {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 1100px) {
    .teacher-dashboard-page .teacher-home-hero-copy,
    .teacher-dashboard-page .teacher-home-panel-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .teacher-dashboard-page .teacher-start-grid,
    .teacher-dashboard-page .teacher-home-grid {
        grid-template-columns: 1fr;
    }
    .teacher-dashboard-page .teacher-system-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .teacher-dashboard-page .teacher-overview-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {

    .teacher-dashboard-page .teacher-home-hero {
        padding: 1rem;
        border-radius: 18px;
    }
    .teacher-dashboard-page .teacher-start-card,
    .teacher-dashboard-page .teacher-review-row,
    .teacher-dashboard-page .teacher-recent-row {
        grid-template-columns: 1fr;
    }
    .teacher-dashboard-page .teacher-overview-strip {
        grid-template-columns: 1fr;
    }
    .teacher-dashboard-page .teacher-system-map {
        grid-template-columns: 1fr;
    }
    .teacher-dashboard-page .workflow-task-head {

        align-items: flex-start;

        grid-template-columns: 1fr;

        min-height: 0;

    }

    .teacher-dashboard-page .workflow-task-head > div:first-child {

        min-height: 0;

    }

    .teacher-dashboard-page .workflow-task-meta {

        flex-direction: row;

        align-items: center;

        justify-content: flex-start;

        max-width: none;

        min-height: 0;

    }

    .teacher-dashboard-page .workflow-task-item {

        align-items: flex-start;

        flex-direction: column;

    }

    .teacher-dashboard-page .workflow-task-why {

        min-height: 0;

    }

    .teacher-dashboard-page .workflow-popout-shell-header,

    .teacher-dashboard-page .workflow-popout-pane-header {

        flex-direction: column;

        align-items: flex-start;

    }

    .teacher-dashboard-page .review-snapshot-grid {

        grid-template-columns: 1fr;

    }

    .teacher-dashboard-page .review-snapshot-item {
        grid-template-columns: 1fr;
    }
    .teacher-dashboard-page .review-snapshot-topline {
        flex-direction: column;
    }
    .teacher-dashboard-page .review-snapshot-actions {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .teacher-dashboard-page .dashboard-panel > .card-header {
        align-items: flex-start;
    }
    .teacher-dashboard-page .dashboard-mini-metrics,
    .teacher-dashboard-page .dashboard-mini-metrics.is-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* ===== dashboard inline css extraction END ===== */


/* ===== grade inline css extraction START ===== */
html,
                            body {
                                max-width: 100vw !important;
                                overflow-x: auto !important;
                            }
                            .paper-grade-layout {
                                display: flex !important;
                                align-items: stretch !important;
                                width: 100% !important;
                                max-width: 100% !important;
                                min-width: 0 !important;
                                overflow-x: auto !important;
                            }
                            .paper-grade-layout .teacher-paper-test-grade-page {
                                box-sizing: border-box;
                                display: block !important;
                                width: auto !important;
                                max-width: none !important;
                                min-width: 0 !important;
                                margin-left: 0 !important;
                                flex: 1 1 auto !important;
                                overflow-x: auto !important;
                            }
                            .paper-grade-layout .teacher-paper-test-grade-page .top-nav,
                            .paper-grade-layout .teacher-paper-test-grade-page .page-content {
                                box-sizing: border-box;
                                width: 100% !important;
                                max-width: 100% !important;
                                min-width: 0 !important;
                                margin-left: 0 !important;
                                margin-right: 0 !important;
                                overflow-x: auto !important;
                            }
                            .paper-grade-layout .teacher-paper-test-grade-page .page-content {
                                padding: 1rem !important;
                            }
                            .paper-grade-layout .teacher-paper-test-grade-page .card,
                            .paper-grade-layout .teacher-paper-test-grade-page .card-body {
                                width: 100%;
                                min-width: 0;
                                max-width: 100%;
                                overflow-x: auto;
                            }
                            .teacher-paper-test-grade-page *,
                            .teacher-paper-test-grade-page *::before,
                            .teacher-paper-test-grade-page *::after {
                                box-sizing: border-box;
                            }
                            .teacher-paper-test-grade-page img,
                            .teacher-paper-test-grade-page svg,
                            .teacher-paper-test-grade-page canvas,
                            .teacher-paper-test-grade-page video,
                            .teacher-paper-test-grade-page iframe {
                                max-width: 100%;
                            }
                            .teacher-paper-test-grade-page table {
                                max-width: 100%;
                                display: block;
                                overflow-x: auto;
                            }
                            @media (max-width: 991px) {
                                .paper-grade-layout,
                                .paper-grade-layout .teacher-paper-test-grade-page {
                                    width: auto !important;
                                    max-width: 100vw !important;
                                    margin-left: 0 !important;
                                }
                                .paper-grade-layout .teacher-paper-test-grade-page .page-content {
                                    max-width: 100vw;
                                    padding-left: 0.75rem;
                                    padding-right: 0.75rem;
                                }
                            }
                            .mock-score-dashboard {
                                display: grid;
                                grid-template-columns: repeat(4, minmax(0, 1fr));
                                gap: 0.75rem;
                                margin-bottom: 1rem;
                            }
                            .mock-score-tile {
                                border: 1px solid #dbe4f0;
                                border-radius: 8px;
                                background: #ffffff;
                                padding: 0.85rem 0.95rem;
                                min-width: 0;
                                box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
                            }
                            .mock-score-tile-label {
                                color: #64748b;
                                font-size: 0.72rem;
                                font-weight: 800;
                                letter-spacing: 0;
                                text-transform: uppercase;
                            }
                            .mock-score-tile-value {
                                color: #0f172a;
                                font-size: 1.55rem;
                                font-weight: 800;
                                line-height: 1.15;
                                overflow-wrap: anywhere;
                            }
                            .mock-score-tile-note {
                                color: #64748b;
                                font-size: 0.82rem;
                                margin-top: 0.25rem;
                            }
                            .mock-score-tile.is-official {
                                border-color: #bfdbfe;
                                background: #eff6ff;
                            }
                            .mock-score-tile.is-provisional {
                                border-color: #bbf7d0;
                                background: #f0fdf4;
                            }
                            .mock-score-tile.is-review {
                                border-color: #fed7aa;
                                background: #fff7ed;
                            }
                            .mock-score-tile.is-locked {
                                border-color: #e5e7eb;
                                background: #f8fafc;
                            }
                            .paper-reauth-open {
                                overflow: hidden;
                            }
                            .paper-reauth-modal {
                                position: fixed;
                                inset: 0;
                                z-index: 2400;
                                display: none;
                                align-items: center;
                                justify-content: center;
                                padding: 1rem;
                            }
                            .paper-reauth-modal.is-open {
                                display: flex;
                            }
                            .paper-reauth-backdrop {
                                position: absolute;
                                inset: 0;
                                background: rgba(15, 23, 42, 0.74);
                            }
                            .paper-reauth-dialog {
                                position: relative;
                                z-index: 1;
                                width: min(94vw, 520px);
                                border: 1px solid #bfdbfe;
                                border-radius: 8px;
                                background: #ffffff;
                                box-shadow: 0 24px 70px rgba(15, 23, 42, 0.34);
                                overflow: hidden;
                            }
                            .paper-reauth-header {
                                border-bottom: 1px solid #dbe4f0;
                                background: #eff6ff;
                                padding: 1rem 1.1rem;
                            }
                            .paper-reauth-body {
                                padding: 1rem 1.1rem 1.1rem;
                            }
                            .paper-reference-collapse {
                                overflow: hidden;
                            }
                            .paper-reference-summary {
                                cursor: pointer;
                                list-style: none;
                            }
                            .paper-reference-summary::-webkit-details-marker {
                                display: none;
                            }
                            .paper-reference-toggle {
                                pointer-events: none;
                                white-space: nowrap;
                            }
                            .paper-reference-collapse:not([open]) {
                                margin-bottom: 0.75rem !important;
                            }
                            .mock-mark-field-label {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;
                                justify-content: space-between;
                                gap: 0.5rem;
                            }
                            .mock-mark-field-summary {
                                display: inline-flex;
                                align-items: center;
                                min-height: 1.35rem;
                                border: 1px solid #bfdbfe;
                                border-radius: 999px;
                                background: #eff6ff;
                                color: #1e3a8a;
                                padding: 0.05rem 0.45rem;
                                font-size: 0.75rem;
                                font-weight: 800;
                            }
                            .mock-breakdown-nav {
                                position: sticky;
                                top: 0.75rem;
                                z-index: 10;
                                border: 1px solid #dbe4f0;
                                border-radius: 8px;
                                background: #ffffff;
                                box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
                                padding: 0.75rem;
                            }
                            .mock-breakdown-jumps {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.5rem;
                            }
                            .mock-question-jump {
                                display: inline-flex;
                                align-items: center;
                                gap: 0.4rem;
                                min-height: 34px;
                                border: 1px solid #cbd5e1;
                                border-radius: 8px;
                                background: #ffffff;
                                color: #0f172a;
                                padding: 0.35rem 0.55rem;
                                font-size: 0.82rem;
                                font-weight: 700;
                                text-decoration: none;
                            }
                            .mock-question-jump:hover,
                            .mock-question-jump:focus-visible {
                                border-color: #2563eb;
                                color: #1d4ed8;
                                text-decoration: none;
                            }
                            .mock-question-jump.is-review {
                                border-color: #fca5a5;
                                background: #fff1f2;
                                color: #991b1b;
                            }
                            .mock-question-jump.is-review-confirmation {
                                border-color: #fdba74;
                                background: #fff7ed;
                                color: #9a3412;
                            }
                            .mock-question-jump.is-frozen {
                                border-color: #86efac;
                                background: #f0fdf4;
                                color: #166534;
                            }
                            .mock-question-jump.is-provisional {
                                border-color: #facc15;
                                background: #fffbeb;
                                color: #92400e;
                            }
                            .mock-question-jump.is-current {
                                border-color: #2563eb;
                                box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
                            }
                            .mock-slider-controls {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;
                                gap: 0.75rem;
                            }
                            .mock-slider-controls--primary-row {
                                justify-content: center;
                                width: 100%;
                                margin: -0.35rem 0 1rem;
                                padding: 0.45rem 0;
                            }
                            .mock-slider-nav-button {
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                gap: 0.65rem;
                                min-height: 46px;
                                min-width: 154px;
                                padding: 0.68rem 1.2rem;
                                border-color: #1d4ed8;
                                border-radius: 10px;
                                background: #2563eb;
                                color: #ffffff;
                                font-size: 1rem;
                                font-weight: 800;
                                line-height: 1.1;
                                box-shadow: 0 12px 22px rgba(37, 99, 235, 0.22);
                            }
                            .mock-slider-nav-button i {
                                font-size: 1.08rem;
                            }
                            .mock-slider-nav-button:hover,
                            .mock-slider-nav-button:focus-visible {
                                border-color: #1e40af;
                                background: #1d4ed8;
                                color: #ffffff;
                                box-shadow: 0 14px 28px rgba(37, 99, 235, 0.28);
                                text-decoration: none;
                            }
                            .mock-slider-nav-button:focus-visible {
                                outline: 3px solid rgba(37, 99, 235, 0.26);
                                outline-offset: 2px;
                            }
                            .mock-question-review-list {
                                display: flex;
                                align-items: flex-start;
                                gap: 1rem;
                                width: 100%;
                                max-width: 100%;
                                min-width: 0;
                                overflow-x: auto;
                                overflow-y: hidden;
                                padding-bottom: 0.5rem;
                                scroll-behavior: auto;
                                scroll-snap-type: x mandatory;
                                overscroll-behavior-inline: contain;
                                scrollbar-color: #94a3b8 #e2e8f0;
                                transition: height 160ms ease;
                            }
                            .mock-question-review-list::-webkit-scrollbar {
                                height: 8px;
                            }
                            .mock-question-review-list::-webkit-scrollbar-track {
                                background: #e2e8f0;
                                border-radius: 999px;
                            }
                            .mock-question-review-list::-webkit-scrollbar-thumb {
                                background: #94a3b8;
                                border-radius: 999px;
                            }
                            .mock-question-review-row {
                                scroll-margin-top: 7.5rem;
                                flex: 0 0 100%;
                                scroll-snap-align: start;
                                scroll-snap-stop: always;
                                width: 100%;
                                max-width: 100%;
                                min-width: 0;
                                overflow-x: auto;
                            }
                            .mock-question-review-card {
                                border: 1px solid rgba(203, 213, 225, 0.78);
                                border-radius: 10px;
                                background: #ffffff;
                                box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
                                display: block;
                                width: 100%;
                                max-width: 100%;
                                min-width: 0;
                                overflow: visible;
                            }
                            .mock-question-review-card::after {
                                content: none;
                            }
                            .mock-question-review-card.is-review-required {
                                border-color: rgba(248, 113, 113, 0.72);
                                background: linear-gradient(180deg, #fffafa 0%, #fff7f7 100%);
                            }
                            .mock-question-review-card.is-review-confirmation {
                                border-color: rgba(251, 146, 60, 0.72);
                                background: linear-gradient(180deg, #fffdf8 0%, #fff8ed 100%);
                            }
                            .mock-question-review-card.is-teacher-confirmed {
                                border-color: rgba(34, 197, 94, 0.66);
                                background: linear-gradient(180deg, #fbfffc 0%, #f3fff6 100%);
                            }
                            .mock-question-review-card.is-frozen {
                                border-color: #bbf7d0;
                            }
                            .mock-question-review-card,
                            .mock-question-review-card * {
                                box-sizing: border-box;
                            }
                            .mock-question-card-header {
                                display: grid !important;
                                grid-template-columns: minmax(0, 1fr) auto;
                                gap: 0.75rem;
                                align-items: start;
                                border-bottom: 1px solid rgba(226, 232, 240, 0.9);
                                margin: -1rem -1rem 0.75rem;
                                padding: 0.78rem 0.95rem;
                                background: #f8fafc;
                                border-top-left-radius: 10px;
                                border-top-right-radius: 10px;
                            }
                            .mock-question-card-header > div:first-child {
                                min-width: 0;
                            }
                            .mock-question-review-card .row,
                            .mock-question-review-card [class*="col-"] {
                                min-width: 0;
                                max-width: 100%;
                            }
                            .mock-question-mark-pill {
                                min-width: 116px;
                                border: 1px solid rgba(203, 213, 225, 0.9);
                                border-radius: 10px;
                                background: rgba(255, 255, 255, 0.95);
                                padding: 0.5rem 0.65rem;
                                text-align: right;
                                box-shadow: 0 8px 16px rgba(15, 23, 42, 0.045);
                            }
                            .mock-question-mark-pill .fw-bold {
                                color: #0f172a;
                                font-size: 1.35rem;
                                line-height: 1;
                            }
                            .mock-review-alert {
                                border: 1px solid #fed7aa;
                                border-radius: 10px;
                                background: #fff7ed;
                                color: #9a3412;
                                padding: 0.62rem 0.8rem;
                            }
                            .mock-review-alert-title {
                                color: #7c2d12;
                                font-weight: 800;
                                margin-bottom: 0.15rem;
                            }
                            .mock-review-alert.is-critical {
                                border-color: #fecaca;
                                background: #fef2f2;
                                color: #991b1b;
                            }
                            .mock-review-alert.is-critical .mock-review-alert-title {
                                color: #7f1d1d;
                            }
                            .mock-review-grid {
                                display: grid;
                                grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
                                gap: 0.85rem;
                            }
                            .mock-review-panel {
                                border: 1px solid #e2e8f0;
                                border-radius: 8px;
                                background: #ffffff;
                                padding: 0.85rem;
                                min-width: 0;
                            }
                            .mock-review-panel .paper-ocr-preview,
                            .mock-review-panel .bg-light.border {
                                margin-top: 0.45rem;
                            }
                            .mock-confirm-control {
                                display: flex;
                                align-items: flex-start;
                                gap: 0.7rem;
                                width: 100%;
                                min-height: 54px;
                                border: 1px solid #86efac;
                                border-radius: 8px;
                                background: #f0fdf4;
                                color: #14532d;
                                padding: 0.75rem 0.85rem;
                                cursor: pointer;
                                user-select: none;
                            }
                            .mock-confirm-control:hover,
                            .mock-confirm-control:focus-within {
                                border-color: #22c55e;
                                background: #dcfce7;
                            }
                            .mock-confirm-control .form-check-input {
                                flex: 0 0 auto;
                                margin-top: 0.15rem;
                            }
                            .mock-confirm-control-text {
                                min-width: 0;
                            }
                            .mock-evidence-strip {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.45rem;
                            }
                            .mock-evidence-pill {
                                display: inline-flex;
                                align-items: center;
                                gap: 0.25rem;
                                border: 1px solid #dbe4f0;
                                border-radius: 999px;
                                background: #ffffff;
                                color: #475569;
                                padding: 0.2rem 0.5rem;
                                font-size: 0.76rem;
                                font-weight: 600;
                            }
                            .mock-review-body {
                                display: grid;
                                grid-template-columns: minmax(0, 1fr) clamp(190px, 15vw, 230px);
                                gap: 0.75rem;
                                align-items: start;
                                margin-top: 0.65rem;
                                max-width: 100%;
                                min-width: 0;
                            }
                            .mock-review-main,
                            .mock-review-aside {
                                display: grid;
                                gap: 0.5rem;
                                align-content: start;
                                min-width: 0;
                            }
                            .mock-review-aside {
                                position: sticky;
                                top: 4.75rem;
                            }
                            .mock-review-section {
                                border: 1px solid rgba(226, 232, 240, 0.94);
                                border-radius: 10px;
                                background: rgba(255, 255, 255, 0.84);
                                padding: 0.62rem;
                                margin-top: 0;
                                margin-bottom: 0;
                                max-width: 100%;
                                min-width: 0;
                                overflow-wrap: anywhere;
                                width: 100%;
                            }
                            .mock-review-section--question {
                                width: 100%;
                                background: rgba(248, 250, 252, 0.92);
                            }
                            .mock-review-section--answer {
                                background: #ffffff;
                            }
                            .mock-review-section--side {
                                width: 100%;
                                border: 1px solid rgba(203, 213, 225, 0.92);
                                border-radius: 10px;
                                background: #f8fafc;
                                padding: 0.55rem;
                                margin: 0;
                                box-shadow: none;
                            }
                            .mock-review-section--side + .mock-review-section--side {
                                margin-top: 0;
                            }
                            .mock-review-section--side .mock-review-section-title {
                                margin-bottom: 0.4rem;
                            }
                            .mock-review-section--side .mock-visual-gallery {
                                grid-template-columns: 1fr;
                            }
                            .mock-review-section--side .mock-visual-card {
                                max-width: none;
                            }
                            .mock-review-section--side details > summary {
                                min-height: 32px;
                                display: flex;
                                align-items: center;
                            }
                            .mock-review-section--override {
                                width: 100%;
                                position: static;
                                z-index: 2;
                                margin: 0 !important;
                            }
                            .mock-review-section--override .row {
                                display: grid;
                                grid-template-columns: 1fr;
                                gap: 0.45rem;
                            }
                            .mock-review-section--override [class*="col-"] {
                                width: auto;
                                max-width: none;
                            }
                            .mock-review-section--override .col-12 {
                                grid-column: auto;
                            }
                            .mock-review-section--wide {
                                width: 100%;
                            }
                            .mock-question-review-card > .small.text-muted,
                            .mock-question-review-card > .small.mt-2,
                            .mock-question-review-card > details,
                            .mock-question-review-card > .d-grid {
                                width: 100%;
                            }
                            .mock-review-section-title {
                                color: #334155;
                                font-size: 0.72rem;
                                font-weight: 800;
                                letter-spacing: 0.04em;
                                text-transform: uppercase;
                                margin-bottom: 0.45rem;
                            }
                            .mock-mark-rationale-panel {
                                position: relative;
                                border: 1px solid #93c5fd;
                                border-left: 4px solid #2563eb;
                                border-radius: 8px;
                                background: #eff6ff;
                                color: #1e3a8a;
                                padding: 0.7rem 0.82rem;
                                box-shadow: none;
                            }
                            .mock-mark-rationale-title {
                                display: flex;
                                align-items: center;
                                gap: 0.45rem;
                                color: #1d4ed8;
                                font-size: 0.74rem;
                                font-weight: 800;
                                letter-spacing: 0;
                                text-transform: uppercase;
                                margin-bottom: 0.35rem;
                            }
                            .mock-mark-rationale-body {
                                color: #172554;
                                font-size: 0.9rem;
                                line-height: 1.45;
                            }
                            .mock-review-meta-line {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.8rem;
                                align-items: center;
                                border-top: 1px solid rgba(226, 232, 240, 0.9);
                                padding-top: 0.55rem;
                                color: #475569;
                                font-size: 0.88rem;
                            }
                            .mock-review-reasoning-panel {
                                border: 1px solid #cbd5e1;
                                border-radius: 8px;
                                background: #f8fafc;
                                color: #334155;
                                padding: 0.9rem 1rem;
                            }
                            .mock-review-reasoning-title {
                                color: #0f172a;
                                font-size: 0.78rem;
                                font-weight: 800;
                                letter-spacing: 0;
                                text-transform: uppercase;
                                margin-bottom: 0.35rem;
                            }
                            .mock-review-workflow-bar {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;
                                justify-content: space-between;
                                gap: 0.75rem;
                                border: 1px solid #dbe4f0;
                                border-radius: 8px;
                                background: #f8fafc;
                                padding: 0.75rem 0.9rem;
                            }
                            .mock-review-workflow-actions {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.5rem;
                            }
                            .mock-question-review-row.is-hidden-by-review-filter {
                                display: none;
                            }
                            .mock-question-review-card .bg-light.border {
                                border-color: rgba(203, 213, 225, 0.78) !important;
                                border-radius: 10px !important;
                                background: #ffffff !important;
                                max-width: 100%;
                                min-width: 0;
                                overflow-wrap: break-word;
                                white-space: normal;
                            }
                            .paper-ocr-preview {
                                color: #0f172a;
                                line-height: 1.55;
                                overflow-x: auto;
                                overflow-y: hidden;
                                max-width: 100%;
                                min-width: 0;
                                contain: inline-size;
                                direction: ltr;
                                unicode-bidi: plaintext;
                            }
                            .paper-ocr-block-table {
                                max-width: 100%;
                            }
                            .paper-ocr-block-table .table-responsive {
                                border: 1px solid #cbd5e1;
                                border-radius: 8px;
                                background: #ffffff;
                            }
                            .paper-ocr-table {
                                display: table !important;
                                width: max-content;
                                min-width: 100%;
                                max-width: none !important;
                                margin: 0;
                                border-collapse: separate;
                                border-spacing: 0;
                                font-size: 0.9rem;
                            }
                            .paper-ocr-table th,
                            .paper-ocr-table td {
                                border-color: #e2e8f0;
                                color: #0f172a;
                                padding: 0.45rem 0.6rem;
                                vertical-align: middle;
                                white-space: nowrap;
                            }
                            .paper-ocr-table th {
                                background: #f1f5f9;
                                font-weight: 800;
                            }
                            .paper-ocr-table td {
                                background: #ffffff;
                            }
                            .paper-ocr-line {
                                display: block;
                                max-width: 100%;
                                min-width: 0;
                                white-space: normal;
                                overflow-wrap: anywhere;
                                word-break: break-word;
                            }
                            .paper-ocr-block + .paper-ocr-block {
                                margin-top: 0.55rem;
                            }
                            .paper-ocr-line + .paper-ocr-line,
                            .paper-ocr-math + .paper-ocr-line,
                            .paper-ocr-line + .paper-ocr-math {
                                margin-top: 0.35rem;
                            }
                            .paper-ocr-math {
                                border: 1px solid #dbeafe;
                                border-radius: 8px;
                                background: #f8fbff;
                                padding: 0.42rem 0.55rem;
                                display: block;
                                overflow-x: auto;
                                overflow-y: hidden;
                                max-width: 100%;
                                min-width: 0;
                                white-space: nowrap;
                                contain: inline-size;
                                direction: ltr;
                                overscroll-behavior-inline: contain;
                            }
                            .paper-ocr-math.is-display {
                                text-align: left;
                            }
                            .paper-ocr-math mjx-container {
                                max-width: 100%;
                                min-width: 0 !important;
                                overflow-x: auto;
                                overflow-y: hidden;
                            }
                            .paper-ocr-math mjx-container[jax="CHTML"][display="true"] {
                                display: block !important;
                                margin: 0;
                                text-align: left !important;
                            }
                            @media (max-width: 900px) {
                                .mock-score-dashboard {
                                    grid-template-columns: repeat(2, minmax(0, 1fr));
                                }
                                .mock-review-body {
                                    grid-template-columns: 1fr;
                                }
                                .mock-review-aside {
                                    position: static;
                                }
                                .mock-question-card-header {
                                    grid-template-columns: 1fr;
                                }
                                .mock-question-mark-pill {
                                    text-align: left;
                                }
                                .mock-review-grid {
                                    grid-template-columns: 1fr;
                                }
                                .mock-review-section,
                                .mock-review-section--side,
                                .mock-review-section--question,
                                .mock-review-section--override,
                                .mock-review-section--wide {
                                    width: 100%;
                                    margin-left: 0 !important;
                                    margin-right: 0 !important;
                                }
                                .mock-review-section--override {
                                    position: static;
                                }
                            }
                            @media (max-width: 560px) {
                                .mock-score-dashboard {
                                    grid-template-columns: 1fr;
                                }
                            }
                            .mock-visual-gallery {
                                display: grid;
                                grid-template-columns: 1fr;
                                gap: 0.55rem;
                                max-width: 100%;
                                min-width: 0;
                            }
                            .mock-visual-card {
                                width: 100%;
                                max-width: none;
                                min-width: 0;
                                overflow: hidden;
                                border-radius: 8px !important;
                                background: #ffffff !important;
                                box-shadow: none;
                            }
                            .mock-visual-card-header {
                                display: flex;
                                flex-wrap: wrap;
                                justify-content: space-between;
                                align-items: center;
                                gap: 0.5rem;
                                min-width: 0;
                            }
                            .mock-visual-card-title {
                                min-width: 0;
                                max-width: 100%;
                                overflow-wrap: anywhere;
                            }
                            .mock-visual-link {
                                appearance: none;
                                border: 1px solid #cbd5e1;
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                width: 100%;
                                height: clamp(150px, 20vh, 210px);
                                padding: 0;
                                max-width: 100%;
                                min-width: 0;
                                overflow: hidden;
                                border-radius: 8px;
                                background: #ffffff;
                                cursor: zoom-in;
                                position: relative;
                            }
                            .mock-visual-image {
                                display: block;
                                width: auto;
                                max-width: 100%;
                                height: auto;
                                max-height: 100%;
                                object-fit: contain;
                                object-position: center;
                            }
                            .mock-visual-magnifier {
                                position: absolute;
                                left: var(--mock-magnifier-left, 50%);
                                top: var(--mock-magnifier-top, 50%);
                                width: 170px;
                                height: 170px;
                                border-radius: 50%;
                                border: 2px solid rgba(37, 99, 235, 0.9);
                                background-color: #ffffff;
                                background-repeat: no-repeat;
                                box-shadow: 0 14px 34px rgba(15, 23, 42, 0.26);
                                opacity: 0;
                                pointer-events: none;
                                transform: translate(-50%, -50%) scale(0.96);
                                transition: opacity 120ms ease, transform 120ms ease;
                                z-index: 3;
                            }
                            .mock-visual-link.is-magnifying .mock-visual-magnifier {
                                opacity: 1;
                                transform: translate(-50%, -50%) scale(1);
                            }
                            .mock-visual-actions {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.5rem;
                                margin-top: 0.45rem;
                            }
                            .mock-pdf-page-card {
                                width: 100%;
                                min-width: 0;
                                overflow: hidden;
                                border-radius: 8px !important;
                                background: #ffffff !important;
                                box-shadow: none;
                            }
                            .mock-pdf-page-preview {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                width: 100%;
                                height: clamp(150px, 20vh, 210px);
                                border: 1px solid #cbd5e1;
                                border-radius: 8px;
                                overflow: hidden;
                                background: #ffffff;
                                position: relative;
                            }
                            .mock-pdf-page-canvas {
                                display: block;
                                width: auto;
                                max-width: 100%;
                                height: auto;
                                max-height: 100%;
                                object-fit: contain;
                                background: #ffffff;
                            }
                            .mock-pdf-page-status {
                                color: #64748b;
                                font-size: 0.82rem;
                                padding: 0.75rem;
                                text-align: center;
                            }
                            .mock-pdf-page-actions {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 0.5rem;
                                margin-top: 0.45rem;
                            }
                            .mock-visual-lightbox {
                                position: fixed;
                                inset: 0;
                                z-index: 2000;
                                display: none;
                                align-items: center;
                                justify-content: center;
                                padding: 1rem;
                            }
                            .mock-visual-lightbox.is-open {
                                display: flex;
                            }
                            .mock-visual-lightbox-backdrop {
                                position: absolute;
                                inset: 0;
                                background: rgba(15, 23, 42, 0.78);
                            }
                            .mock-visual-lightbox-dialog {
                                position: relative;
                                z-index: 1;
                                width: min(96vw, 1200px);
                                max-height: 92vh;
                                border-radius: 8px;
                                background: #ffffff;
                                box-shadow: 0 24px 70px rgba(15, 23, 42, 0.35);
                                overflow: hidden;
                            }
                            .mock-visual-lightbox-header {
                                display: flex;
                                align-items: center;
                                justify-content: space-between;
                                gap: 0.75rem;
                                border-bottom: 1px solid #e5e7eb;
                                padding: 0.75rem 1rem;
                            }
                            .mock-visual-lightbox-title {
                                min-width: 0;
                                color: #0f172a;
                                font-weight: 700;
                                overflow: hidden;
                                text-overflow: ellipsis;
                                white-space: nowrap;
                            }
                            .mock-visual-lightbox-controls {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;
                                justify-content: flex-end;
                                gap: 0.4rem;
                            }
                            .mock-visual-lightbox-controls .btn {
                                min-width: 2.5rem;
                            }
                            .mock-visual-lightbox-body {
                                display: flex;
                                align-items: flex-start;
                                justify-content: center;
                                max-height: calc(92vh - 58px);
                                overflow: auto;
                                background: #f8fafc;
                                padding: 1rem;
                            }
                            .mock-visual-lightbox-image {
                                display: block;
                                max-width: 100%;
                                max-height: calc(92vh - 90px);
                                object-fit: contain;
                                transform: scale(var(--mock-visual-zoom, 1)) rotate(var(--mock-visual-rotation, 0deg));
                                transform-origin: top center;
                            }
                            .mock-visual-lightbox.is-zoomed .mock-visual-lightbox-image {
                                max-width: none;
                                max-height: none;
                            }
/* ===== grade inline css extraction END ===== */

/* ===== primary creation accessibility pass START ===== */
.teacher-ai-generator-page .ai-choice-card:focus-within,
.teacher-create-test-page .create-test-toggle:focus-within,
.teacher-create-test-page .question-bank-pick-card:focus-visible {
    outline: 3px solid rgba(49, 94, 251, 0.28);
    outline-offset: 3px;
    border-color: rgba(49, 94, 251, 0.55);
    box-shadow: 0 0 0 1px rgba(49, 94, 251, 0.16), 0 12px 28px rgba(15, 23, 42, 0.12);
}

.teacher-ai-generator-page .ai-choice-card--wide {
    grid-column: 1 / -1;
}

.teacher-ai-generator-page .ai-preview-card--hidden,
.teacher-ai-generator-page .ai-status-card--hidden {
    display: none;
}

.teacher-ai-generator-page .ai-modal-card--editor {
    max-width: 720px;
}

.teacher-create-test-page .create-test-boundary-table-col--grade,
.teacher-create-test-page .create-test-boundary-table-col--min,
.teacher-create-test-page .create-test-boundary-table-col--max {
    width: 28%;
}

.teacher-create-test-page .create-test-boundary-table-col--action {
    width: 16%;
}

.teacher-create-test-page .create-test-options-label {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.teacher-create-test-page .create-test-rubric-progress {
    height: 6px;
    max-width: 220px;
}

.teacher-create-test-page .create-test-modal--question-bank {
    max-width: 900px;
}

.teacher-create-test-page .create-test-modal--question-editor {
    max-width: 700px;
}

.teacher-create-test-page .question-bank-list-pane {
    max-height: 400px;
    overflow-y: auto;
}

.teacher-create-test-page .question-bank-pick-card {
    cursor: pointer;
    transition-property: border-color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-create-test-page .question-bank-pick-card:active {
    transform: scale(0.96);
}
/* ===== primary creation accessibility pass END ===== */

/* ===== paper tests library filter alignment START ===== */
.teacher-paper-tests-page .paper-tests-shell-header {
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #f8fbff !important;
}

.teacher-paper-tests-page .paper-tests-library-head {
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1.1rem !important;
    padding: 1.05rem 1.2rem 0.9rem !important;
    border-bottom: 1px solid rgba(203, 213, 225, 0.66);
}

.teacher-paper-tests-page .paper-tests-shell-copy-block {
    min-width: 0;
    max-width: 44rem;
}

.teacher-paper-tests-page .paper-tests-shell-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    margin-bottom: 0.48rem;
    padding: 0.36rem 0.82rem;
    border-radius: 999px;
    background: #e8e7ff;
    color: #4f46e5;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.teacher-paper-tests-page .paper-tests-library-head .card-title {
    margin: 0 0 0.38rem !important;
    color: #172033;
    font-size: clamp(1.08rem, 1.8vw, 1.36rem) !important;
    line-height: 1.18;
    text-wrap: balance;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-shell-copy {
    max-width: 39rem;
    color: #5f6f85 !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    text-wrap: pretty;
}

.teacher-paper-tests-page .paper-tests-filter-count--header-hidden {
    display: none !important;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-shell-tools {
    align-items: center !important;
    justify-content: flex-end !important;
    min-width: max-content;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle {
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle .btn {
    min-height: 2.52rem !important;
    padding-inline: 0.88rem !important;
    border-radius: 8px !important;
    font-weight: 800;
    transition-property: background-color, border-color, color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle .btn:active {
    transform: scale(0.96);
}

.teacher-paper-tests-page .paper-tests-filter-form {
    padding: 0 !important;
}

.teacher-paper-tests-page .paper-tests-filter-row--library {
    display: grid !important;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
    align-items: center !important;
    gap: 1rem !important;
    padding: 0.86rem 1.2rem 1rem !important;
    background: #ffffff;
}

.teacher-paper-tests-page .paper-tests-visible-count {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    color: #64748b;
    font-size: 0.92rem;
    white-space: nowrap;
}

.teacher-paper-tests-page .paper-tests-visible-count__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    min-height: 2.62rem;
    padding: 0.48rem 0.82rem;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-tests-page .paper-tests-visible-count__pill i {
    color: #315efb;
}

.teacher-paper-tests-page .paper-tests-visible-count__text {
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library {
    display: grid !important;
    grid-template-columns: minmax(120px, 0.95fr) minmax(128px, 0.95fr) minmax(200px, 1.5fr) minmax(150px, 1.05fr) minmax(148px, 1fr) minmax(148px, 1fr) minmax(128px, 0.9fr) !important;
    gap: 0.55rem !important;
    width: 100%;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .paper-tests-filter-group {
    display: contents !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .paper-tests-filter-grid,
.teacher-paper-tests-page .paper-tests-filter-groups--library .paper-tests-filter-grid--secondary {
    display: contents !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .paper-tests-filter-control {
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .table-filter-select {
    width: 100%;
    min-height: 3rem;
    border-radius: 8px !important;
    background-color: #ffffff;
    color: #334155;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.teacher-paper-tests-page .paper-tests-filter-row--library .paper-tests-filter-actions {
    display: none !important;
}

@media (max-width: 1320px) {
    .teacher-paper-tests-page .paper-tests-filter-row--library {
        grid-template-columns: 1fr;
    }

    .teacher-paper-tests-page .paper-tests-visible-count {
        justify-content: space-between;
        white-space: normal;
    }

    .teacher-paper-tests-page .paper-tests-filter-groups--library {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    .teacher-paper-tests-page .paper-tests-library-head {
        align-items: stretch !important;
        padding: 0.9rem !important;
    }

    .teacher-paper-tests-page .paper-tests-library-head .paper-tests-shell-tools,
    .teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle {
        width: 100%;
    }

    .teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 0.42rem;
    }

    .teacher-paper-tests-page .paper-tests-visible-count {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.48rem;
    }

    .teacher-paper-tests-page .paper-tests-filter-groups--library {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-row--library {
        padding: 0.75rem 0.9rem 0.9rem !important;
    }
}
/* ===== paper tests library filter alignment END ===== */

/* ===== paper tests table header source cleanup START ===== */
.teacher-paper-tests-page .paper-tests-table-col--select {
    width: 56px;
}

.teacher-paper-tests-page .paper-tests-table-col--actions {
    width: 220px;
}
/* ===== paper tests table header source cleanup END ===== */

/* ===== teacher list identity block consistency START ===== */
.teacher-paper-tests-page .paper-test-record,
.teacher-tests-page .test-entry,
.teacher-tests-page .test-card-main,
.teacher-results-page .table-card > .d-flex.align-items-center.gap-2.mb-2,
.teacher-results-page .student-panel-scroll td > .d-flex.align-items-center.gap-2,
.teacher-results-page .student-panel-table-wrap td > .d-flex.align-items-center.gap-2,
.teacher-students-page .students-table .user-info {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.72rem !important;
    min-width: 0;
    width: min(100%, 42rem);
    padding: 0.72rem 0.78rem !important;
    border: 1px solid rgba(203, 213, 225, 0.9) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.teacher-tests-page .test-entry > .test-entry-main,
.teacher-tests-page .test-card-main > div:last-child,
.teacher-results-page .table-card > .d-flex.align-items-center.gap-2.mb-2 > div:last-child,
.teacher-results-page .student-panel-scroll td > .d-flex.align-items-center.gap-2 > div:last-child,
.teacher-results-page .student-panel-table-wrap td > .d-flex.align-items-center.gap-2 > div:last-child,
.teacher-students-page .students-table .user-info > div:last-child,
.teacher-paper-tests-page .paper-test-record > div:last-child {
    min-width: 0;
}

.teacher-tests-page .test-subject-icon,
.teacher-results-page .table-card > .d-flex.align-items-center.gap-2.mb-2 .stat-icon,
.teacher-results-page .student-panel-scroll td > .d-flex.align-items-center.gap-2 .stat-icon,
.teacher-results-page .student-panel-table-wrap td > .d-flex.align-items-center.gap-2 .stat-icon,
.teacher-students-page .students-table .user-avatar,
.teacher-paper-tests-page .paper-test-record__icon {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}

.teacher-tests-page .test-entry .test-title,
.teacher-tests-page .table-card .table-card-title,
.teacher-results-page .table-card .table-card-title,
.teacher-results-page .student-panel-scroll td > .d-flex.align-items-center.gap-2 .fw-semibold,
.teacher-results-page .student-panel-table-wrap td > .d-flex.align-items-center.gap-2 .fw-semibold,
.teacher-students-page .students-table .user-name,
.teacher-paper-tests-page .paper-test-record__title {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: #172033 !important;
    font-weight: 850 !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.teacher-tests-page .test-entry-meta,
.teacher-results-page .table-card .text-muted,
.teacher-results-page .student-panel-scroll small.text-muted,
.teacher-results-page .student-panel-table-wrap small.text-muted,
.teacher-students-page .students-table td[data-label="Email"],
.teacher-paper-tests-page .paper-test-record__subject {
    color: #64748b !important;
}

.teacher-tests-page .test-card .test-card-main,
.teacher-paper-tests-page .table-card .paper-test-record,
.teacher-results-page .table-card > .d-flex.align-items-center.gap-2.mb-2 {
    width: 100%;
    margin-bottom: 0.82rem !important;
}

.teacher-students-page .students-table .user-info {
    width: min(100%, 26rem);
}

@media (max-width: 760px) {
    .teacher-paper-tests-page .paper-test-record,
    .teacher-tests-page .test-entry,
    .teacher-tests-page .test-card-main,
    .teacher-results-page .table-card > .d-flex.align-items-center.gap-2.mb-2,
    .teacher-results-page .student-panel-scroll td > .d-flex.align-items-center.gap-2,
    .teacher-results-page .student-panel-table-wrap td > .d-flex.align-items-center.gap-2,
    .teacher-students-page .students-table .user-info {
        width: 100%;
        padding: 0.78rem !important;
    }
}
/* ===== teacher list identity block consistency END ===== */

/* ===== teacher results reports identity records START ===== */
.teacher-results-page .results-record,
.teacher-reports-page .reports-saved-record,
.teacher-reports-page .report-signal-preview-person {
    display: flex;
    align-items: flex-start;
    gap: 0.72rem;
    min-height: 2.5rem;
    min-width: 0;
    width: min(100%, 42rem);
    padding: 0.72rem 0.78rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.teacher-results-page .results-record__icon,
.teacher-reports-page .reports-saved-record__icon,
.teacher-reports-page .report-signal-preview-person__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #0891b2 100%);
    font-weight: 850;
    font-size: 0.86rem;
    letter-spacing: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(15, 23, 42, 0.08);
}

.teacher-reports-page .reports-saved-record__icon {
    color: #1e3a8a;
    background: #dbeafe;
}

.teacher-results-page .results-record > div:last-child,
.teacher-reports-page .reports-saved-record > div:last-child,
.teacher-reports-page .report-signal-preview-person__body,
.teacher-students-page .student-record__meta {
    min-width: 0;
}

.teacher-results-page .results-record__title,
.teacher-reports-page .reports-saved-record__title,
.teacher-reports-page .report-signal-preview-title,
.teacher-students-page .student-record__meta .user-name {
    color: #172033;
    font-weight: 850;
    line-height: 1.16;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.teacher-results-page .results-record__meta,
.teacher-reports-page .reports-saved-record__meta,
.teacher-reports-page .report-signal-preview-person__meta,
.teacher-students-page .student-record__subtext {
    display: block;
    margin-top: 0.12rem;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.teacher-reports-page .report-signal-preview-head.compact {
    align-items: flex-start;
}

.teacher-reports-page .report-signal-preview-person {
    width: 100%;
    padding: 0.64rem;
}

.teacher-reports-page .report-signal-preview-head.compact > .badge {
    flex: 0 0 auto;
}

.teacher-results-page .table-card .results-record,
.teacher-reports-page .reports-table .reports-saved-record {
    width: 100%;
}

@media (max-width: 760px) {
    .teacher-results-page .results-record,
    .teacher-reports-page .reports-saved-record,
    .teacher-reports-page .report-signal-preview-person {
        width: 100%;
        padding: 0.72rem;
    }
}
/* ===== teacher results reports identity records END ===== */

/* ===== teacher record block parity START ===== */
.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2,
.teacher-students-page .students-table .student-record {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.72rem !important;
    width: min(100%, 42rem);
    min-width: 0;
    padding: 0.72rem 0.78rem !important;
    border: 1px solid rgba(203, 213, 225, 0.9) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 > div:last-child,
.teacher-students-page .students-table .student-record > div:last-child {
    min-width: 0;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .stat-icon,
.teacher-students-page .students-table .student-record .user-avatar {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    font-variant-numeric: tabular-nums;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .fw-semibold,
.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .table-card-title,
.teacher-students-page .students-table .student-record .user-name {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: #172033 !important;
    font-weight: 850 !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .text-muted,
.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 small.text-muted,
.teacher-students-page .students-table .student-record .student-record__subtext {
    display: block;
    margin-top: 0.12rem;
    color: #64748b !important;
    font-size: 0.92rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .badge,
.teacher-students-page .students-table .student-record .badge {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 760px) {
    .teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2,
    .teacher-students-page .students-table .student-record {
        width: 100%;
        padding: 0.78rem !important;
    }
}
/* ===== teacher record block parity END ===== */

/* ===== paper tests my tests parity polish START ===== */
.teacher-paper-tests-page .page-content {
    max-width: 1520px;
}

.teacher-paper-tests-page .paper-tests-hero {
    display: grid !important;
    grid-template-areas:
        "intro metrics"
        "actions metrics" !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.82fr) !important;
    gap: 1rem 1.1rem !important;
    align-items: center !important;
    margin-bottom: 1.2rem !important;
    padding: 1.35rem !important;
    border: 1px solid rgba(191, 219, 254, 0.9) !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, rgba(248, 251, 255, 0.99) 0%, rgba(255, 255, 255, 0.98) 48%, rgba(246, 243, 255, 0.94) 100%) !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-tests-page .paper-tests-hero__intro {
    grid-area: intro;
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-hero__eyebrow,
.teacher-paper-tests-page .paper-tests-shell-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content;
    min-height: 2rem !important;
    margin-bottom: 0.58rem !important;
    padding: 0.34rem 0.78rem !important;
    border: 1px solid rgba(99, 102, 241, 0.08) !important;
    border-radius: 999px !important;
    background: rgba(79, 70, 229, 0.11) !important;
    color: #4338ca !important;
    font-size: 0.74rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.teacher-paper-tests-page .paper-tests-hero__title {
    max-width: 42rem !important;
    margin: 0 !important;
    color: #172554 !important;
    font-size: clamp(1.35rem, 1.55vw, 1.8rem) !important;
    line-height: 1.14 !important;
    text-wrap: balance;
}

.teacher-paper-tests-page .paper-tests-hero__copy {
    max-width: 58ch !important;
    margin-top: 0.72rem !important;
    color: #4b5563 !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    text-wrap: pretty;
}

.teacher-paper-tests-page .paper-tests-hero__chips {
    gap: 0.52rem !important;
    margin-top: 0.78rem !important;
}

.teacher-paper-tests-page .paper-tests-hero__chip {
    min-height: 2.05rem !important;
    padding: 0.38rem 0.72rem !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #334155 !important;
    font-size: 0.82rem !important;
    font-weight: 750 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
}

.teacher-paper-tests-page .paper-tests-hero__actions {
    grid-area: actions;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
    gap: 0.7rem !important;
    width: min(100%, 38rem) !important;
    margin: 0.1rem auto 0 !important;
}

.teacher-paper-tests-page .paper-tests-hero__action {
    min-width: 15rem !important;
    min-height: 3.05rem !important;
    border-radius: 8px !important;
    font-weight: 850 !important;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14) !important;
}

.teacher-paper-tests-page .paper-tests-hero__action--primary {
    background: #315efb !important;
}

.teacher-paper-tests-page .paper-tests-metrics {
    grid-area: metrics;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.8rem !important;
    align-content: center !important;
}

.teacher-paper-tests-page .paper-tests-metric {
    display: flex !important;
    min-height: 7rem !important;
    align-items: center !important;
    gap: 0.82rem !important;
    padding: 1rem !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06) !important;
}

.teacher-paper-tests-page .paper-tests-metric__icon {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
}

.teacher-paper-tests-page .paper-tests-metric__value {
    margin-top: 0.08rem !important;
    color: #0f172a !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-tests-page .paper-tests-metric__label,
.teacher-paper-tests-page .paper-tests-metric__text {
    color: #64748b !important;
}

.teacher-paper-tests-page .paper-tests-metric__label {
    font-size: 0.74rem !important;
    font-weight: 850 !important;
}

.teacher-paper-tests-page .paper-tests-metric__text {
    margin-top: 0.2rem !important;
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
}

.teacher-paper-tests-page .paper-tests-shell {
    overflow: hidden;
    border-radius: 8px !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-tests-page .paper-tests-shell-header {
    background: transparent !important;
}

.teacher-paper-tests-page .paper-tests-library-head {
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 1.15rem 1.25rem 1rem !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 249, 255, 0.96) 100%) !important;
}

.teacher-paper-tests-page .paper-tests-library-head .card-title {
    margin: 0 0 0.42rem !important;
    color: #172554 !important;
    font-size: clamp(1.18rem, 1.45vw, 1.5rem) !important;
    line-height: 1.15 !important;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-shell-copy {
    max-width: 62ch !important;
    color: #4b5563 !important;
    font-size: 0.96rem !important;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle {
    display: inline-flex !important;
    gap: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07) !important;
}

.teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle .btn {
    min-height: 2.72rem !important;
    padding-inline: 0.95rem !important;
    font-weight: 850 !important;
}

.teacher-paper-tests-page .paper-tests-filter-row--library {
    grid-template-columns: minmax(12rem, max-content) minmax(0, 1fr) !important;
    gap: 0.9rem !important;
    padding: 1rem 1.25rem 1.1rem !important;
    border-top: 1px solid rgba(226, 232, 240, 0.72) !important;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0.96) 100%) !important;
}

.teacher-paper-tests-page .paper-tests-visible-count__pill {
    min-height: 2.55rem !important;
    border-radius: 999px !important;
    background: #ffffff !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(8.5rem, 1fr)) !important;
    gap: 0.55rem !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .table-filter-select {
    min-height: 2.75rem !important;
    border-radius: 8px !important;
    border-color: #dbe4f1 !important;
    background-color: #ffffff !important;
    color: #334155 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

@media (max-width: 1240px) {
    .teacher-paper-tests-page .paper-tests-hero {
        grid-template-areas:
            "intro"
            "actions"
            "metrics" !important;
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-row--library {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-groups--library {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .teacher-paper-tests-page .paper-tests-hero {
        padding: 0.92rem !important;
    }

    .teacher-paper-tests-page .paper-tests-metrics,
    .teacher-paper-tests-page .paper-tests-filter-groups--library {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-tests-page .paper-tests-hero__action,
    .teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle,
    .teacher-paper-tests-page .paper-tests-library-head .paper-tests-view-toggle .btn {
        width: 100% !important;
    }

    .teacher-paper-tests-page .paper-tests-library-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }
}
/* ===== paper tests my tests parity polish END ===== */

/* ===== paper tests final my tests parity START ===== */
.teacher-paper-tests-page .paper-tests-hero {
    border-radius: 24px !important;
    border: 1px solid rgba(99, 102, 241, 0.14) !important;
    background:
        linear-gradient(135deg, rgba(248, 252, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 50%, rgba(245, 243, 255, 0.95) 100%) !important;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-tests-page .paper-tests-shell {
    border-radius: 14px !important;
}

.teacher-paper-tests-page .paper-tests-metric {
    border-radius: 16px !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07) !important;
}

.teacher-paper-tests-page .paper-tests-filter-row--library {
    align-items: center !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.58rem !important;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library .table-filter-select {
    flex: 1 1 9rem;
    min-width: 8.75rem !important;
    max-width: 15rem;
    border-radius: 12px !important;
}

.teacher-paper-tests-page .paper-test-actions .action-chip,
.teacher-paper-tests-page .paper-test-actions .paper-test-action-btn,
.teacher-paper-tests-page .paper-test-actions .dropdown-toggle {
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.09) !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-tests-page .paper-test-actions .action-chip:hover,
.teacher-paper-tests-page .paper-test-actions .paper-test-action-btn:hover,
.teacher-paper-tests-page .paper-test-actions .dropdown-toggle:hover {
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12) !important;
}

.teacher-paper-tests-page .paper-test-actions .action-chip:active,
.teacher-paper-tests-page .paper-test-actions .paper-test-action-btn:active,
.teacher-paper-tests-page .paper-test-actions .dropdown-toggle:active {
    transform: scale(0.96);
}

.teacher-paper-tests-page .paper-test-actions .action-chip:focus-visible,
.teacher-paper-tests-page .paper-test-actions .paper-test-action-btn:focus-visible,
.teacher-paper-tests-page .paper-test-actions .dropdown-toggle:focus-visible {
    outline: 3px solid rgba(49, 94, 251, 0.28) !important;
    outline-offset: 2px !important;
}

@media (max-width: 760px) {
    .teacher-paper-tests-page .paper-tests-hero {
        border-radius: 18px !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-groups--library {
        justify-content: stretch !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-groups--library .table-filter-select {
        max-width: none;
    }
}
/* ===== paper tests final my tests parity END ===== */

/* ===== dashboard workspace parity pass START ===== */
.teacher-dashboard-page .teacher-home-shell {
    order: 1 !important;
    gap: 1rem !important;
    margin-bottom: 1.15rem !important;
}

.teacher-dashboard-page .page-content > .dashboard-overview-shell {
    order: 2 !important;
}

.teacher-dashboard-page .teacher-home-hero {
    padding: 1.35rem !important;
    border: 1px solid rgba(99, 102, 241, 0.14) !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(248, 252, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 52%, rgba(245, 243, 255, 0.95) 100%) !important;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.08) !important;
}

.teacher-dashboard-page .teacher-home-hero-copy {
    align-items: flex-start !important;
    margin-bottom: 0.85rem !important;
}

.teacher-dashboard-page .teacher-home-title {
    max-width: 44rem;
    text-wrap: balance;
}

.teacher-dashboard-page .teacher-home-subtitle,
.teacher-dashboard-page .teacher-start-copy,
.teacher-dashboard-page .teacher-system-copy {
    text-wrap: pretty;
}

.teacher-dashboard-page .teacher-start-grid {
    gap: 0.72rem !important;
}

.teacher-dashboard-page .teacher-start-card {
    min-height: 6.2rem !important;
    padding: 0.95rem !important;
    border: 1px solid rgba(203, 213, 225, 0.88) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.07) !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-dashboard-page .teacher-start-card:hover,
.teacher-dashboard-page .teacher-start-card:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.10) !important;
}

.teacher-dashboard-page .teacher-start-card:active,
.teacher-dashboard-page .teacher-system-link:active {
    transform: scale(0.96);
}

.teacher-dashboard-page .teacher-start-card.is-primary {
    border-color: rgba(37, 99, 235, 0.24) !important;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.98), rgba(14, 165, 233, 0.92)) !important;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.16) !important;
}

.teacher-dashboard-page .teacher-start-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
}

.teacher-dashboard-page .teacher-system-map {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.65rem !important;
    margin-top: 0.85rem !important;
    padding-top: 0.85rem !important;
}

.teacher-dashboard-page .teacher-system-link {
    min-height: 5rem !important;
    padding: 0.72rem 0.76rem !important;
    border-color: rgba(203, 213, 225, 0.86) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055) !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-dashboard-page .teacher-system-link:hover,
.teacher-dashboard-page .teacher-system-link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08) !important;
}

.teacher-dashboard-page .teacher-system-icon {
    border-radius: 8px !important;
}

.teacher-dashboard-page .teacher-home-panel,
.teacher-dashboard-page .dashboard-panel,
.teacher-dashboard-page .week-panel,
.teacher-dashboard-page .workflow-task-card,
.teacher-dashboard-page .review-snapshot-card {
    border-radius: 12px !important;
}

@media (max-width: 1024px) {
    .teacher-dashboard-page .teacher-start-grid,
    .teacher-dashboard-page .teacher-system-map {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .teacher-dashboard-page .teacher-home-hero {
        border-radius: 18px !important;
        padding: 1rem !important;
    }

    .teacher-dashboard-page .teacher-home-hero-copy {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .teacher-dashboard-page .teacher-start-grid,
    .teacher-dashboard-page .teacher-system-map {
        grid-template-columns: 1fr !important;
    }
}
/* ===== dashboard workspace parity pass END ===== */

/* ===== paper test sidecar layout audit pass START ===== */
.teacher-paper-test-grade-page .mock-review-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
    align-items: start !important;
    gap: 0.82rem !important;
}

.teacher-paper-test-grade-page .mock-review-main {
    display: grid !important;
    gap: 0.72rem !important;
    min-width: 0;
}

.teacher-paper-test-grade-page .mock-review-aside {
    display: grid !important;
    gap: 0.72rem !important;
    min-width: 0;
    width: 100% !important;
}

@media (min-width: 1120px) {
    .teacher-paper-test-grade-page .mock-review-aside {
        position: sticky !important;
        top: 0.9rem !important;
    }
}

.teacher-paper-test-grade-page .mock-review-section--side,
.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    border-radius: 8px !important;
    border-color: rgba(203, 213, 225, 0.82) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: none !important;
}

.teacher-paper-test-grade-page .mock-review-section--side {
    padding: 0.82rem !important;
}

.teacher-paper-test-grade-page .mock-visual-card,
.teacher-paper-test-grade-page .mock-pdf-page-card {
    padding: 0.65rem !important;
}

.teacher-paper-test-grade-page .mock-visual-card-title {
    color: #334155 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.01em !important;
    line-height: 1.35 !important;
}

.teacher-paper-test-grade-page .mock-visual-link,
.teacher-paper-test-grade-page .mock-pdf-page-preview {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .paper-grade-final-actions {
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.62rem !important;
    padding-top: 0.4rem !important;
}

.teacher-paper-test-grade-page .paper-grade-final-actions .btn {
    min-height: 2.75rem !important;
    border-radius: 8px !important;
    font-weight: 850 !important;
    transition-property: background-color, border-color, color, box-shadow, transform !important;
    transition-duration: 160ms !important;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1) !important;
}

.teacher-paper-test-grade-page .paper-grade-final-actions .btn:active {
    transform: scale(0.96);
}

.teacher-paper-test-grade-page .paper-grade-final-actions .btn-primary {
    min-width: 10.5rem !important;
    box-shadow: 0 12px 26px rgba(49, 94, 251, 0.2) !important;
}

.teacher-paper-test-upload-page .paper-upload-status-stack {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.82rem !important;
    margin-bottom: 1rem !important;
}

.teacher-paper-test-upload-page .paper-upload-status-stack > .alert {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    border-radius: 8px !important;
    line-height: 1.45 !important;
}

.teacher-paper-test-upload-page .paper-upload-status-stack > .template-blocking-notice {
    grid-column: 1 / -1;
}

.teacher-paper-test-upload-page .paper-upload-entry-card--student {
    border-color: rgba(49, 94, 251, 0.32) !important;
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.1) !important;
}

.teacher-paper-test-upload-page .paper-upload-entry-card--student .paper-upload-card-header {
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.95), rgba(255, 255, 255, 0.98)) !important;
}

.teacher-paper-test-upload-page .paper-upload-entry-card--bulk,
.teacher-paper-test-upload-page .paper-upload-entry-card--class,
.teacher-paper-test-upload-page .paper-upload-entry-card--assigned,
.teacher-paper-test-upload-page .paper-upload-entry-card--recycled,
.teacher-paper-test-upload-page .paper-upload-entry-card--unassigned {
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.teacher-paper-test-upload-page .paper-upload-actions {
    align-items: center !important;
    gap: 0.45rem !important;
}

.teacher-paper-test-upload-page .paper-upload-actions__group {
    gap: 0.4rem !important;
}

.teacher-paper-test-upload-page .paper-upload-actions__group--primary .btn {
    font-weight: 850 !important;
}

.teacher-paper-test-upload-page .paper-upload-actions .btn {
    min-height: 2.5rem !important;
    border-radius: 8px !important;
}

.teacher-paper-test-template-review-page #pastPaperTemplateSetupBlock {
    overflow: hidden !important;
    border-radius: 8px !important;
    border-color: rgba(203, 213, 225, 0.82) !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-test-template-review-page .template-review-hero {
    padding: 1rem 1.25rem 1.2rem !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(246, 249, 255, 0.94)) !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar {
    justify-content: flex-start !important;
    gap: 0.58rem !important;
}

.teacher-paper-test-template-review-page .template-review-actions {
    justify-content: flex-end !important;
    gap: 0.58rem !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar .btn,
.teacher-paper-test-template-review-page .template-review-actions .btn {
    min-height: 2.55rem !important;
    border-radius: 8px !important;
    font-weight: 850 !important;
}

.teacher-paper-test-template-review-page .template-review-editor-header {
    gap: 0.72rem !important;
    border-radius: 8px !important;
    background: rgba(248, 250, 252, 0.92) !important;
}

@media (max-width: 1120px) {
    .teacher-paper-test-grade-page .mock-review-body {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .teacher-paper-test-grade-page .paper-grade-final-actions,
    .teacher-paper-test-template-review-page .template-review-actions,
    .teacher-paper-test-template-review-page .template-review-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .teacher-paper-test-grade-page .paper-grade-final-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions .btn,
    .teacher-paper-test-template-review-page .template-review-actions form,
    .teacher-paper-test-template-review-page .template-review-toolbar .btn {
        width: 100% !important;
    }

    .teacher-paper-test-upload-page .paper-upload-status-stack {
        grid-template-columns: 1fr !important;
    }

    .teacher-paper-test-upload-page .paper-upload-actions__group--secondary,
    .teacher-paper-test-upload-page .paper-upload-actions__group--primary {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
/* ===== paper test sidecar layout audit pass END ===== */

/* ===== grade evidence sidecar alignment pass START ===== */
@media (max-width: 1280px) and (min-width: 1121px) {
    .teacher-paper-test-grade-page .mock-review-main {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1120px) {
    .teacher-paper-test-grade-page .mock-review-main {
        grid-template-columns: 1fr !important;
    }
}

.teacher-paper-test-grade-page .mock-review-aside {
    top: calc(var(--teacher-grade-sticky-offset) + 0.75rem) !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-preview {
    width: min(100%, 280px) !important;
    aspect-ratio: var(--mock-pdf-page-aspect, 1 / 1.414) !important;
    height: auto !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.teacher-paper-test-grade-page .mock-pdf-page-canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    image-rendering: auto !important;
}
/* ===== grade evidence sidecar alignment pass END ===== */

/* ===== results students reports workspace parity pass START ===== */
.teacher-results-page .page-content > .card:not(.results-library-card) {
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.86) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07) !important;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.72rem !important;
    width: min(100%, 42rem);
    min-width: 0;
    padding: 0.72rem 0.78rem !important;
    border: 1px solid rgba(203, 213, 225, 0.9) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 > div:last-child {
    min-width: 0;
}

.teacher-results-page .table-desktop td > .d-flex.align-items-center.gap-2 .stat-icon {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}

.teacher-results-page .results-filter-controls,
.teacher-results-page .results-filter-row--library .results-filter-control-grid,
.teacher-students-page .students-filter-row--library .students-filter-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: end !important;
    justify-content: flex-end !important;
    gap: 0.58rem !important;
}

.teacher-results-page .results-filter-form {
    flex: 1 1 32rem;
    min-width: 0;
}

.teacher-results-page .results-filter-row--library .form-group,
.teacher-students-page .students-filter-row--library .students-filter-field {
    flex: 1 1 11rem;
    min-width: 9.5rem;
    max-width: 18rem;
}

.teacher-results-page .results-filter-actions,
.teacher-students-page .students-filter-row--library .students-filter-actions {
    flex: 0 0 auto;
}

.teacher-results-page .results-filter-row--library .form-select,
.teacher-results-page .results-filter-row--library .btn,
.teacher-results-page .results-view-toggle .btn,
.teacher-students-page .students-filter-row--library .form-control,
.teacher-students-page .students-filter-row--library .btn {
    min-width: 40px !important;
    min-height: 2.55rem !important;
    border-radius: 12px !important;
}

.teacher-results-page .results-view-toggle {
    justify-content: flex-end !important;
}

.teacher-results-page .results-view-toggle .btn {
    font-weight: 800 !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-results-page .results-view-toggle .btn:active {
    transform: scale(0.96);
}

.teacher-reports-page .reports-table td[data-label="Title"] {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
}

.teacher-reports-page .reports-table td[data-label="Title"]::before {
    margin-bottom: 0.42rem;
}

.teacher-reports-page .report-signal-preview.compact .report-signal-preview-person {
    min-height: 2.5rem;
    padding: 0.58rem 0.62rem !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .teacher-results-page .results-filter-controls,
    .teacher-results-page .results-filter-row--library .results-filter-control-grid,
    .teacher-students-page .students-filter-row--library .students-filter-grid {
        align-items: stretch !important;
        justify-content: stretch !important;
    }

    .teacher-results-page .results-filter-form,
    .teacher-results-page .results-filter-row--library .form-group,
    .teacher-students-page .students-filter-row--library .students-filter-field {
        flex-basis: 100%;
        max-width: none;
    }
}
/* ===== results students reports workspace parity pass END ===== */

/* ===== report output compact workspace START ===== */
.teacher-report-output-page .page-content {
    display: grid;
    gap: 0.9rem;
}

.teacher-report-output-page .report-output-filter-card,
.teacher-report-output-page .report-output-card {
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.88) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.065) !important;
}

.teacher-report-output-page .report-output-filter-card {
    margin-bottom: 0 !important;
}

.teacher-report-output-page .report-output-filter-card .card-body,
.teacher-report-output-page .report-output-card .card-body {
    padding: 0.9rem !important;
}

.teacher-report-output-page .report-output-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.72rem;
    padding: 0.82rem 0.9rem !important;
    border-bottom: 1px solid rgba(203, 213, 225, 0.76) !important;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.96)) !important;
}

.teacher-report-output-page .report-output-card-header .card-title {
    margin: 0;
    color: #172554;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.25;
    text-wrap: balance;
}

.teacher-report-output-page .report-output-filter-form {
    margin: 0;
}

.teacher-report-output-page .report-output-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.62rem;
    align-items: end;
}

.teacher-report-output-page .report-output-filter-field {
    min-width: 0;
}

.teacher-report-output-page .report-output-filter-field .form-label {
    margin-bottom: 0.32rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 820;
    line-height: 1.2;
}

.teacher-report-output-page .report-output-filter-field .form-select,
.teacher-report-output-page .report-output-filter-field .form-control,
.teacher-report-output-page .report-output-filter-actions .btn {
    min-height: 40px !important;
    border-radius: 8px !important;
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
}

.teacher-report-output-page .report-output-filter-actions {
    min-width: 0;
}

.teacher-report-output-page .report-output-filter-actions .btn {
    width: 100%;
    font-weight: 820;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.teacher-report-output-page .report-output-filter-actions .btn:active {
    transform: scale(0.96);
}

.teacher-report-output-page .report-output-filter-actions .btn:focus-visible,
.teacher-report-output-page .report-output-filter-field .form-select:focus-visible,
.teacher-report-output-page .report-output-filter-field .form-control:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.teacher-report-output-page .report-output-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 0.68rem !important;
}

.teacher-report-output-page .report-output-stat-grid .stat-card {
    min-height: 72px;
    border-radius: 8px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055) !important;
}

.teacher-report-output-page .report-output-stat-grid .stat-value,
.teacher-report-output-page .report-output-table td,
.teacher-report-output-page .report-output-table-card .table-card-value {
    font-variant-numeric: tabular-nums;
}

.teacher-report-output-page .report-output-chart {
    height: 320px;
    min-height: 280px;
}

.teacher-report-output-page .report-output-table-wrap {
    margin-top: 0.8rem !important;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 8px;
    background: #ffffff;
}

.teacher-report-output-page .report-output-table {
    margin-bottom: 0 !important;
}

.teacher-report-output-page .report-output-table th {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.2;
}

.teacher-report-output-page .report-output-table td {
    vertical-align: middle;
    color: #1f2937;
    font-size: 0.88rem;
}

.teacher-report-output-page .report-output-table-cards {
    gap: 0.7rem;
}

.teacher-report-output-page .report-output-table-card {
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 8px !important;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.055);
}

.teacher-report-output-page .report-output-table-card .table-card-title {
    color: #172554;
    font-weight: 850;
    text-wrap: balance;
}

@media (max-width: 760px) {
    .teacher-report-output-page .report-output-filter-grid {
        grid-template-columns: 1fr;
    }

    .teacher-report-output-page .report-output-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .teacher-report-output-page .report-output-chart {
        height: 280px;
    }
}
/* ===== report output compact workspace END ===== */

/* ===== template upload assessment workbench polish START ===== */
.teacher-paper-test-template-review-page .template-review-card {
    border-color: rgba(203, 213, 225, 0.88) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
}

.teacher-paper-test-template-review-page .template-review-hero {
    padding: 0.95rem 1rem !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(246, 249, 255, 0.96)) !important;
}

.teacher-paper-test-template-review-page .template-review-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 0.62rem !important;
}

.teacher-paper-test-template-review-page .template-review-stat {
    min-height: 0 !important;
    padding: 0.62rem 0.68rem !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.teacher-paper-test-template-review-page .template-build-time-notice {
    margin-top: 0.62rem !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.teacher-paper-test-template-review-page .template-review-section-card {
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.teacher-paper-test-template-review-page .template-review-item-card {
    display: grid !important;
    gap: 0.56rem !important;
    padding: 0.68rem !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.teacher-paper-test-template-review-page .template-review-evidence {
    max-height: 7.5rem;
    overflow: auto;
    line-height: 1.38 !important;
}

.teacher-paper-test-template-review-page .template-review-toolbar .btn,
.teacher-paper-test-template-review-page .template-review-actions .btn,
.teacher-paper-test-template-review-page .js-template-progress-button {
    min-width: 40px !important;
    min-height: 2.55rem !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-test-template-review-page .template-review-toolbar .btn:active,
.teacher-paper-test-template-review-page .template-review-actions .btn:active,
.teacher-paper-test-template-review-page .js-template-progress-button:active {
    transform: scale(0.96);
}

.teacher-paper-test-upload-page .paper-upload-entry-card {
    border-color: rgba(203, 213, 225, 0.88) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.teacher-paper-test-upload-page .paper-upload-card-header {
    align-items: center !important;
    min-height: 3.4rem !important;
    padding: 0.78rem 0.9rem !important;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98)) !important;
}

.teacher-paper-test-upload-page .paper-upload-entry-card .card-body {
    padding: 0.9rem !important;
}

.teacher-paper-test-upload-page .paper-upload-privacy-check {
    margin-top: 0.75rem !important;
    padding: 0.68rem 0.78rem !important;
    border: 1px solid rgba(251, 191, 36, 0.28) !important;
    border-radius: 12px !important;
    background: rgba(255, 251, 235, 0.78) !important;
}

.teacher-paper-test-upload-page .paper-upload-table-wrap {
    border-radius: 12px !important;
}

.teacher-paper-test-upload-page .assigned-group-row > td:first-child {
    min-width: 16rem;
}

.teacher-paper-test-upload-page .paper-upload-actions .btn {
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-paper-test-upload-page .paper-upload-actions .btn:active {
    transform: scale(0.96);
}

@media (max-width: 760px) {
    .teacher-paper-test-template-review-page .template-review-actions,
    .teacher-paper-test-template-review-page .template-review-toolbar,
    .teacher-paper-test-upload-page .paper-upload-actions {
        align-items: stretch !important;
    }
}
/* ===== template upload assessment workbench polish END ===== */

/* ===== paper tests library toolbar convergence START ===== */
.teacher-paper-tests-page .paper-tests-library-head {
    align-items: flex-end !important;
    gap: 1rem !important;
}

.teacher-paper-tests-page .paper-tests-shell-copy {
    max-width: 64ch !important;
    text-wrap: pretty;
}

.teacher-paper-tests-page .paper-tests-view-toggle .btn {
    min-width: 40px !important;
    min-height: 2.55rem !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
}

.teacher-paper-tests-page .paper-tests-filter-row--library {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 0.95rem 1rem !important;
}

.teacher-paper-tests-page .paper-tests-visible-count {
    display: flex !important;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center !important;
    gap: 0.55rem !important;
}

.teacher-paper-tests-page .paper-tests-visible-count__pill {
    min-width: 40px !important;
    min-height: 2.5rem !important;
    border-radius: 999px !important;
    font-variant-numeric: tabular-nums;
}

.teacher-paper-tests-page .paper-tests-filter-groups--library,
.teacher-paper-tests-page .paper-tests-filter-group {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-filter-grid {
    display: flex !important;
    flex: 1 1 auto;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.58rem !important;
    min-width: 0;
}

.teacher-paper-tests-page .paper-tests-filter-control {
    flex: 1 1 9rem;
    min-width: 8.75rem;
    max-width: 15rem;
}

.teacher-paper-tests-page .paper-tests-filter-control .table-filter-select {
    width: 100%;
    min-height: 2.55rem !important;
    border-radius: 12px !important;
}

.teacher-paper-tests-page .paper-tests-group-head {
    display: flex !important;
    align-items: center !important;
    gap: 0.72rem !important;
    padding: 0.8rem 0.95rem !important;
    border: 1px solid rgba(203, 213, 225, 0.9) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

.teacher-paper-tests-page .paper-tests-group-head .stat-icon,
.teacher-tests-page .teacher-list-group-head .test-subject-icon {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
}

.teacher-paper-tests-page .paper-tests-group-head .card-title,
.teacher-tests-page .teacher-list-group-head .card-title {
    margin: 0 !important;
    color: #172033 !important;
    font-weight: 850 !important;
    line-height: 1.16 !important;
    text-wrap: balance;
}

@media (max-width: 900px) {
    .teacher-paper-tests-page .paper-tests-library-head,
    .teacher-paper-tests-page .paper-tests-filter-row--library {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-grid {
        justify-content: stretch !important;
    }

    .teacher-paper-tests-page .paper-tests-filter-control {
        max-width: none;
    }
}
/* ===== paper tests library toolbar convergence END ===== */

/* ===== copilot review rail collapse pass START ===== */
.marking-desk .coursework-v3-grid.marking-desk-grid.is-review-collapsed {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr) !important;
    gap: 1rem !important;
}

.marking-desk .coursework-v3-grid.marking-desk-grid.is-review-ready {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
}

.marking-desk .marking-desk-step,
.marking-desk .marking-desk-card,
.marking-desk .marking-desk-mode-note,
.marking-desk .marking-desk-pack-block,
.marking-desk .marking-desk-privacy-note,
.marking-desk .marking-desk-review-card,
.marking-desk .marking-desk-summary-card,
.marking-desk .marking-desk-empty-review,
.marking-desk .marking-desk-review-pane,
.marking-desk .marking-desk-stage-message {
    border-radius: 8px !important;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed {
    position: sticky;
    top: 0.85rem;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-review-card {
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.marking-desk .marking-desk-review-rail.is-review-ready .marking-desk-review-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 252, 244, 0.98) 100%),
        repeating-linear-gradient(180deg, rgba(31, 45, 61, 0.018) 0 1px, transparent 1px 42px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-review-head {
    padding: 0.86rem 0.9rem 0.72rem !important;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .coursework-v3-editor-actions {
    display: none !important;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-review-subtitle {
    font-size: 0.78rem;
    line-height: 1.35;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-rail-summary {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    padding: 0 0.9rem 0.75rem;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-summary-card {
    gap: 0.16rem;
    padding: 0.66rem 0.72rem;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-summary-meta {
    font-size: 0.75rem;
    line-height: 1.32;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-empty-review {
    margin: 0 0.9rem 0.9rem;
    padding: 0.72rem;
    background: #fff8e7;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-empty-review h3 {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.25;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-empty-review p,
.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-empty-list {
    display: none !important;
}

.marking-desk .marking-desk-review-rail.is-review-collapsed .marking-desk-empty-kicker {
    margin-bottom: 0.28rem;
    font-size: 0.68rem;
    letter-spacing: 0;
}

@media (max-width: 1199.98px) {
    .marking-desk .coursework-v3-grid.marking-desk-grid.is-review-collapsed,
    .marking-desk .coursework-v3-grid.marking-desk-grid.is-review-ready {
        grid-template-columns: 1fr !important;
    }

    .marking-desk .marking-desk-review-rail.is-review-collapsed {
        position: static;
    }
}
/* ===== copilot review rail collapse pass END ===== */

/* ===== copilot preview modal START ===== */
.copilot-preview-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1060;
    padding: clamp(0.75rem, 2vw, 1.5rem);
}

.copilot-preview-modal.is-open {
    display: grid;
    place-items: center;
}

.copilot-preview-modal__scrim {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(4px);
}

.copilot-preview-modal__panel {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(960px, calc(100vw - 2rem));
    max-height: min(86vh, 920px);
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 28px 70px rgba(15, 23, 42, 0.26),
        0 0 0 1px rgba(255, 255, 255, 0.72) inset;
}

.copilot-preview-modal__panel:focus {
    outline: none;
}

.copilot-preview-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: #f8fafc;
}

.copilot-preview-modal__head h2 {
    margin: 0;
    color: #111827;
    font-size: 1.15rem;
    font-weight: 820;
    line-height: 1.2;
    text-wrap: balance;
}

.copilot-preview-modal__kicker {
    display: block;
    margin-bottom: 0.18rem;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 820;
    letter-spacing: 0.05em;
    line-height: 1.1;
    text-transform: uppercase;
}

.copilot-preview-modal__close,
.marking-desk-preview-modal-btn {
    min-width: 40px;
    min-height: 40px;
}

.copilot-preview-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 10px;
    background: #ffffff;
    color: #334155;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    transition-duration: 160ms;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.copilot-preview-modal__close:hover {
    border-color: rgba(37, 99, 235, 0.34);
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14);
    transform: translateY(-1px);
}

.copilot-preview-modal__close:active,
.marking-desk-preview-modal-btn:active {
    transform: scale(0.96);
}

.copilot-preview-modal__close:focus-visible,
.marking-desk-preview-modal-btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
}

.copilot-preview-modal__body {
    min-height: 0;
    overflow: auto;
    padding: 1.15rem;
    color: #1f2937;
    font-size: 0.96rem;
    line-height: 1.58;
    text-wrap: pretty;
}

.copilot-preview-modal__body > :first-child {
    margin-top: 0;
}

.copilot-preview-modal__body > :last-child {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .copilot-preview-modal {
        padding: 0.55rem;
    }

    .copilot-preview-modal__panel {
        width: 100%;
        max-height: 92vh;
        border-radius: 12px;
    }

    .copilot-preview-modal__head {
        align-items: flex-start;
        padding: 0.85rem;
    }

    .copilot-preview-modal__body {
        padding: 0.9rem;
        font-size: 0.92rem;
    }
}
/* ===== copilot preview modal END ===== */

/* ===== teacher assessment wizard START ===== */
.teacher-assessment-wizard-page {
    overflow-x: clip;
}

.teacher-assessment-wizard-page .assessment-wizard-shell {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.98) 54%, rgba(236, 253, 245, 0.78));
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.teacher-assessment-wizard-page .assessment-wizard-outcome {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.98) 58%, rgba(236, 253, 245, 0.78));
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.teacher-assessment-wizard-page .assessment-wizard-outcome__head {
    display: grid;
    gap: 0.55rem;
    max-width: 56rem;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome__head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.18;
    letter-spacing: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome__head p:not(.assessment-wizard-eyebrow) {
    margin: 0;
    color: #475569;
    line-height: 1.5;
}

.teacher-assessment-wizard-page .assessment-wizard-result-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-result-grid > div {
    display: grid;
    gap: 0.32rem;
    min-height: 92px;
    padding: 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.teacher-assessment-wizard-page .assessment-wizard-result-grid span {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-result-grid strong {
    align-self: end;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: start;
    gap: 0.72rem;
    min-height: 96px;
    padding: 0.82rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item > span {
    display: inline-grid;
    width: 44px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 14px;
    background: #e0e7ff;
    color: #4f46e5;
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.12);
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item strong {
    display: block;
    color: #172033;
    font-size: 0.96rem;
    font-weight: 750;
    line-height: 1.22;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item small {
    display: block;
    margin-top: 0.22rem;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 550;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item.is-complete {
    border-color: rgba(16, 185, 129, 0.34);
    background: #ecfdf5;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item.is-complete > span {
    background: #d1fae5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item.is-active {
    border-color: rgba(37, 99, 235, 0.36);
    background: #eff6ff;
    box-shadow: 0 16px 30px rgba(37, 99, 235, 0.1);
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap__item.is-active > span {
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap--assignment .assessment-wizard-outcome-roadmap__item.is-active {
    border-color: rgba(245, 158, 11, 0.34);
    background: #fffbeb;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap--assignment .assessment-wizard-outcome-roadmap__item.is-active > span {
    background: #fef3c7;
    color: #b45309;
}

.teacher-assessment-wizard-page .assessment-wizard-outcome-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-next-step {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.teacher-assessment-wizard-page .assessment-wizard-next-step__head {
    display: grid;
    gap: 0.42rem;
}

.teacher-assessment-wizard-page .assessment-wizard-next-step__head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.25rem;
    line-height: 1.18;
}

.teacher-assessment-wizard-page .assessment-wizard-next-step__head p:not(.assessment-wizard-eyebrow) {
    margin: 0;
    color: #64748b;
    line-height: 1.45;
}

.teacher-assessment-wizard-page .assessment-wizard-question-form {
    display: grid;
    gap: 0.9rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-options {
    display: grid;
    gap: 0.55rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-options[hidden],
.teacher-assessment-wizard-page [data-wizard-written-answer][hidden] {
    display: none;
}

.teacher-assessment-wizard-page .assessment-wizard-option-row {
    display: grid;
    grid-template-columns: 22px 28px minmax(0, 1fr);
    align-items: center;
    gap: 0.55rem;
    min-height: 44px;
    color: #334155;
    font-weight: 800;
}

.teacher-assessment-wizard-page .assessment-wizard-next-step__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-status {
    margin: 0;
    color: #475569;
    font-weight: 750;
}

.teacher-assessment-wizard-page .assessment-wizard-script-upload {
    border-color: rgba(16, 185, 129, 0.34);
    background:
        linear-gradient(135deg, rgba(236, 253, 245, 0.78), rgba(255, 255, 255, 0.96) 42%),
        #ffffff;
}

.teacher-assessment-wizard-page .assessment-wizard-script-upload__form {
    max-width: 880px;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-dropzone {
    position: relative;
    display: grid;
    gap: 0.5rem;
    padding: 1rem;
    border: 1px dashed rgba(37, 99, 235, 0.44);
    border-radius: 16px;
    background: #f8fbff;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-dropzone > i {
    display: inline-grid;
    width: 42px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 14px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-dropzone small {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 550;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-dropzone:focus-within {
    border-color: rgba(37, 99, 235, 0.7);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16);
}

.teacher-assessment-wizard-page .assessment-wizard-privacy-confirm {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(251, 191, 36, 0.42);
    border-radius: 12px;
    background: #fffbeb;
    color: #713f12;
    font-weight: 700;
    line-height: 1.4;
}

.teacher-assessment-wizard-page .assessment-wizard-privacy-confirm input {
    width: 18px;
    height: 18px;
    margin-top: 0.12rem;
}

.teacher-assessment-wizard-page .assessment-wizard-privacy-confirm:focus-within {
    outline: 3px solid rgba(37, 99, 235, 0.2);
    outline-offset: 2px;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.76rem;
    align-items: center;
    min-height: 112px;
    padding: 0.95rem;
    border: 1px solid rgba(37, 99, 235, 0.32);
    border-radius: 16px;
    background: #eff6ff;
    color: #172033;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.1);
    transition-property: transform, box-shadow, border-color, background-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card:hover {
    border-color: rgba(37, 99, 235, 0.52);
    background: #dbeafe;
    color: #172033;
    text-decoration: none;
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.24);
    outline-offset: 3px;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card > span {
    display: inline-grid;
    width: 48px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 16px;
    background: #2563eb;
    color: #ffffff;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card strong {
    display: block;
    color: #172033;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.22;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card small {
    display: block;
    margin-top: 0.24rem;
    color: #64748b;
    font-size: 0.84rem;
    font-weight: 550;
    line-height: 1.34;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card--secondary {
    border-color: rgba(16, 185, 129, 0.34);
    background: #ecfdf5;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card--secondary:hover {
    border-color: rgba(16, 185, 129, 0.5);
    background: #d1fae5;
}

.teacher-assessment-wizard-page .assessment-wizard-assignment-action-card--secondary > span {
    background: #10b981;
}

.teacher-assessment-wizard-page .assessment-wizard-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0.25rem 0.5rem;
}

.teacher-assessment-wizard-page .assessment-wizard-eyebrow,
.teacher-assessment-wizard-page .assessment-wizard-safe-mode {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.55rem;
    padding: 0.34rem 0.72rem;
    width: fit-content;
    min-height: 40px;
    border-radius: 999px;
    background: rgba(79, 70, 229, 0.12);
    color: #3730a3;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-safe-mode {
    margin: 0;
    background: rgba(16, 185, 129, 0.13);
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-hero h2 {
    margin: 0;
    max-width: 46rem;
    color: #0f172a;
    font-size: 1.6rem;
    line-height: 1.18;
    letter-spacing: 0;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-layout {
    display: grid;
    grid-template-columns: minmax(150px, 0.18fr) minmax(0, 1fr) minmax(280px, 0.32fr);
    gap: 1rem;
    align-items: start;
}

.teacher-assessment-wizard-page .assessment-wizard-rail,
.teacher-assessment-wizard-page .assessment-wizard-main,
.teacher-assessment-wizard-page .assessment-wizard-assistant {
    min-width: 0;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.teacher-assessment-wizard-page .assessment-wizard-rail {
    padding: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-steps {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.teacher-assessment-wizard-page .assessment-wizard-step {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 44px;
    padding: 0.5rem 0.58rem;
    border-radius: 12px;
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 800;
}

.teacher-assessment-wizard-page .assessment-wizard-step[aria-current="step"] {
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.22);
}

.teacher-assessment-wizard-page .assessment-wizard-step.is-complete {
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-step__number {
    display: inline-grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
}

.teacher-assessment-wizard-page .assessment-wizard-step.is-complete .assessment-wizard-step__number {
    background: #d1fae5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-main {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.teacher-assessment-wizard-page .assessment-wizard-panel {
    min-height: 260px;
}

.teacher-assessment-wizard-page .assessment-wizard-panel[hidden] {
    display: none;
}

.teacher-assessment-wizard-page .assessment-wizard-panel__label {
    margin: 0 0 0.85rem;
    color: #334155;
    font-size: 1.08rem;
    font-weight: 850;
}

.teacher-assessment-wizard-page .assessment-wizard-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.teacher-assessment-wizard-page .assessment-wizard-choice,
.teacher-assessment-wizard-page .assessment-wizard-mini {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 40px;
    padding: 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.96);
    border-radius: 14px;
    background: #ffffff;
    color: #172033;
    text-align: left;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    transition-property: transform, box-shadow, border-color, background-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-choice:hover,
.teacher-assessment-wizard-page .assessment-wizard-mini:hover {
    border-color: rgba(37, 99, 235, 0.42);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-choice:active,
.teacher-assessment-wizard-page .assessment-wizard-mini:active,
.teacher-assessment-wizard-page .assessment-wizard-control:active,
.teacher-assessment-wizard-page .assessment-wizard-final-action:active,
.teacher-assessment-wizard-page .assessment-wizard-chat-send:active {
    transform: scale(0.96);
}

.teacher-assessment-wizard-page .assessment-wizard-choice.is-selected,
.teacher-assessment-wizard-page .assessment-wizard-mini.is-selected {
    border-color: rgba(37, 99, 235, 0.74);
    background: #eff6ff;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14);
}

.teacher-assessment-wizard-page .assessment-wizard-choice__icon {
    display: inline-grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 1.25rem;
}

.teacher-assessment-wizard-page .assessment-wizard-choice strong,
.teacher-assessment-wizard-page .assessment-wizard-choice small {
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-choice strong {
    font-size: 1rem;
    line-height: 1.2;
}

.teacher-assessment-wizard-page .assessment-wizard-choice small {
    margin-top: 0.22rem;
    color: #64748b;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-form-grid,
.teacher-assessment-wizard-page .assessment-wizard-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.teacher-assessment-wizard-page .assessment-wizard-field {
    display: grid;
    gap: 0.4rem;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-field--wide {
    grid-column: 1 / -1;
}

.teacher-assessment-wizard-page .assessment-wizard-input {
    width: 100%;
    min-height: 46px;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.96);
    border-radius: 12px;
    background: #ffffff;
    color: #172033;
    font-size: 0.96rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.teacher-assessment-wizard-page .assessment-wizard-input option,
.teacher-assessment-wizard-page .ts-dropdown .option {
    font-weight: 500;
    letter-spacing: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-mini-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.85rem;
}

.teacher-assessment-wizard-page .assessment-wizard-mini {
    justify-content: center;
    min-height: 96px;
    color: #172033;
    font-weight: 850;
    text-align: center;
}

.teacher-assessment-wizard-page .assessment-wizard-mini i {
    color: #2563eb;
}

.teacher-assessment-wizard-page .assessment-wizard-summary > div {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 12px;
    background: #f8fafc;
}

.teacher-assessment-wizard-page .assessment-wizard-summary span {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-summary strong {
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.28;
}

.teacher-assessment-wizard-page .assessment-wizard-final {
    display: grid;
    gap: 0.85rem;
}

.teacher-assessment-wizard-page .assessment-wizard-final p {
    margin: 0;
    color: #475569;
    line-height: 1.45;
}

.teacher-assessment-wizard-page .assessment-wizard-final-actions {
    display: grid;
    gap: 0.65rem;
}

.teacher-assessment-wizard-page .assessment-wizard-final-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.78rem 1rem;
    border-radius: 14px;
    background: #2563eb;
    color: #ffffff;
    font-weight: 850;
    text-decoration: none;
    box-shadow: 0 12px 22px rgba(37, 99, 235, 0.24);
    transition-property: transform, box-shadow, background-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-final-action--secondary {
    border: 1px solid rgba(37, 99, 235, 0.28);
    background: #ffffff;
    color: #1d4ed8;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}

.teacher-assessment-wizard-page .assessment-wizard-controls {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
}

.teacher-assessment-wizard-page .assessment-wizard-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 150px;
    min-height: 48px;
    padding: 0.72rem 1.05rem;
    border: 1px solid rgba(37, 99, 235, 0.34);
    border-radius: 14px;
    font-weight: 850;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-control--primary {
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 12px 22px rgba(37, 99, 235, 0.24);
}

.teacher-assessment-wizard-page .assessment-wizard-control--secondary {
    background: #ffffff;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-control:disabled {
    cursor: not-allowed;
    opacity: 0.48;
    transform: none;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: 0.85rem;
    padding: 0.9rem;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant__head {
    display: flex;
    gap: 0.65rem;
    align-items: center;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant__icon {
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 14px;
    background: #fef3c7;
    color: #b45309;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant p {
    margin: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant__head p {
    color: #64748b;
    font-size: 0.82rem;
}

.teacher-assessment-wizard-page .assessment-wizard-chat {
    display: grid;
    align-content: start;
    gap: 0.55rem;
    max-height: 340px;
    overflow: auto;
    padding: 0.65rem;
    border-radius: 12px;
    background: #f8fafc;
}

.teacher-assessment-wizard-page .assessment-wizard-message {
    max-width: 92%;
    margin: 0;
    padding: 0.6rem 0.72rem;
    border-radius: 12px;
    color: #172033;
    line-height: 1.42;
}

.teacher-assessment-wizard-page .assessment-wizard-message--assistant {
    justify-self: start;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.9);
}

.teacher-assessment-wizard-page .assessment-wizard-message--teacher {
    justify-self: end;
    background: #dbeafe;
    color: #1e3a8a;
}

.teacher-assessment-wizard-page .assessment-wizard-chat-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 0.5rem;
}

.teacher-assessment-wizard-page .assessment-wizard-chat-send {
    display: inline-grid;
    min-width: 44px;
    min-height: 44px;
    place-items: center;
    border: 0;
    border-radius: 12px;
    background: #2563eb;
    color: #ffffff;
    transition-property: transform, background-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-choice:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-mini:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-control:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-final-action:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-chat-send:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-option-row input[type="radio"]:focus-visible,
.teacher-assessment-wizard-page .assessment-wizard-input:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.teacher-paper-tests-page .paper-tests-hero__action--wizard,
.teacher-dashboard-page .teacher-start-card--guided .teacher-start-icon {
    background: #f5f3ff;
    color: #6d28d9;
}

@media (max-width: 1180px) {
    .teacher-assessment-wizard-page .assessment-wizard-layout {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .teacher-assessment-wizard-page .assessment-wizard-outcome-roadmap {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-steps {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .teacher-assessment-wizard-page .assessment-wizard-assistant {
        position: static;
    }
}

@media (max-width: 760px) {
    .teacher-assessment-wizard-page .assessment-wizard-shell,
    .teacher-assessment-wizard-page .assessment-wizard-main {
        padding: 0.75rem;
    }

    .teacher-assessment-wizard-page .assessment-wizard-hero,
    .teacher-assessment-wizard-page .assessment-wizard-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-assessment-wizard-page .assessment-wizard-hero h2 {
        font-size: 1.28rem;
    }

    .teacher-assessment-wizard-page .assessment-wizard-steps,
    .teacher-assessment-wizard-page .assessment-wizard-choice-grid,
    .teacher-assessment-wizard-page .assessment-wizard-form-grid,
    .teacher-assessment-wizard-page .assessment-wizard-mini-grid,
    .teacher-assessment-wizard-page .assessment-wizard-result-grid,
    .teacher-assessment-wizard-page .assessment-wizard-assignment-actions,
    .teacher-assessment-wizard-page .assessment-wizard-summary {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-panel {
        min-height: auto;
    }

    .teacher-assessment-wizard-page .assessment-wizard-control {
        width: 100%;
    }
}

/* ===== guided wizard interaction stack polish START ===== */
.teacher-assessment-wizard-page .assessment-wizard-launchpad {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(99, 102, 241, 0.16);
    border-radius: 1.5rem;
    background:
        linear-gradient(135deg, rgba(248, 252, 255, 0.98), rgba(255, 255, 255, 0.99) 54%, rgba(245, 243, 255, 0.96)),
        repeating-linear-gradient(135deg, rgba(37, 99, 235, 0.045) 0 1px, transparent 1px 18px);
    box-shadow:
        0 22px 46px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.teacher-assessment-wizard-page .assessment-wizard-launchpad__copy {
    display: grid;
    align-content: center;
    gap: 0.65rem;
    min-width: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-launchpad__copy h2 {
    max-width: 48rem;
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.45rem, 2.2vw, 2.25rem);
    line-height: 1.08;
    letter-spacing: 0;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-launchpad__copy p:not(.assessment-wizard-eyebrow) {
    max-width: 44rem;
    margin: 0;
    color: #475569;
    font-size: 1rem;
    line-height: 1.55;
    text-wrap: pretty;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    min-height: 86px;
    padding: 0.82rem;
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    color: #172033;
    cursor: pointer;
    font: inherit;
    text-align: left;
    text-decoration: none;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card:hover,
.teacher-assessment-wizard-page .assessment-wizard-automation-card:focus-visible {
    border-color: rgba(37, 99, 235, 0.34);
    background: #ffffff;
    box-shadow: 0 16px 32px rgba(37, 99, 235, 0.12);
    color: #172033;
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.25);
    outline-offset: 3px;
}

.teacher-assessment-wizard-page .assessment-wizard-shell[hidden] {
    display: none !important;
}

.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card > span {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card strong,
.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card small {
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}

.teacher-assessment-wizard-page .assessment-wizard-selected-flow-card small {
    margin-top: 0.18rem;
    color: #64748b;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card span {
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card strong,
.teacher-assessment-wizard-page .assessment-wizard-automation-card small {
    grid-column: 2;
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card strong {
    align-self: end;
    color: #0f172a;
    font-weight: 900;
    line-height: 1.15;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card small {
    align-self: start;
    color: #64748b;
    line-height: 1.28;
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button {
    display: inline-grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.34rem 0.82rem 0.34rem 0.42rem;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.98));
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.09);
    color: #274060;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button span {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 12px;
    background: #e0e7ff;
    color: #4f46e5;
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button strong {
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button:hover {
    border-color: rgba(79, 70, 229, 0.36);
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(79, 70, 229, 0.14);
    color: #172033;
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button:focus-visible {
    outline: 3px solid rgba(79, 70, 229, 0.26);
    outline-offset: 3px;
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button:active {
    transform: scale(0.96);
}

.teacher-assessment-wizard-page .assessment-wizard-upload-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    padding: 0.85rem;
    border: 1px dashed rgba(37, 99, 235, 0.34);
    border-radius: 14px;
    background: #f8fbff;
    color: #1e293b;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-card i {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-card strong,
.teacher-assessment-wizard-page .assessment-wizard-upload-card small {
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-upload-card small {
    color: #64748b;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

/* ===== guided wizard ai question options START ===== */
.teacher-assessment-wizard-page .assessment-wizard-ai-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.32fr) minmax(170px, 0.36fr);
    gap: 0.9rem;
    align-items: stretch;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    margin: 0.95rem 0;
    padding: 0;
    border: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid legend {
    display: block;
    width: 100%;
    margin: 0 0 0.55rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid label {
    display: flex;
    min-height: 40px;
    align-items: center;
    gap: 0.55rem;
    padding: 0.62rem 0.72rem;
    border: 1px solid rgba(148, 163, 184, 0.38);
    border-radius: 0.75rem;
    background: #ffffff;
    color: #172033;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    transition-property: border-color, box-shadow, transform;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid label:has(input:checked) {
    border-color: rgba(37, 99, 235, 0.58);
    background: #eff6ff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.11);
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid label:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.42);
}

.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid input {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
}

@media (max-width: 900px) {
    .teacher-assessment-wizard-page .assessment-wizard-ai-options {
        grid-template-columns: 1fr;
    }
}
/* ===== guided wizard ai question options END ===== */

.teacher-assessment-wizard-page .filepond--root {
    margin-bottom: 0;
    font-family: inherit;
}

.teacher-assessment-wizard-page .filepond--panel-root {
    border-radius: 14px;
    background-color: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.96);
}

.teacher-assessment-wizard-page .filepond--drop-label {
    min-height: 5.5rem;
    color: #334155;
    font-weight: 800;
}

.teacher-assessment-wizard-page .ts-wrapper.single .ts-control,
.teacher-assessment-wizard-page .ts-control {
    min-height: 46px;
    padding: 0.62rem 0.85rem;
    border-color: rgba(203, 213, 225, 0.96);
    border-radius: 12px;
    box-shadow: none;
    color: #172033;
    font-size: 0.96rem;
}

.teacher-assessment-wizard-page .ts-wrapper.focus .ts-control {
    border-color: rgba(37, 99, 235, 0.7);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16);
}

/* ===== guided wizard select typography START ===== */
.teacher-assessment-wizard-page .ts-control,
.teacher-assessment-wizard-page .ts-control input,
.teacher-assessment-wizard-page .ts-control .item,
.teacher-assessment-wizard-page .ts-dropdown,
.teacher-assessment-wizard-page .ts-dropdown .option {
    color: #1f2937;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.teacher-assessment-wizard-page .ts-dropdown {
    border-color: rgba(203, 213, 225, 0.92);
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

.teacher-assessment-wizard-page .ts-dropdown .option {
    min-height: 40px;
    padding: 0.55rem 0.78rem;
    line-height: 1.3;
}

.teacher-assessment-wizard-page .ts-dropdown .active {
    background: #f1f5f9;
    color: #172033;
    font-weight: 550;
}

.teacher-assessment-wizard-page .ts-wrapper.single .ts-control .item {
    font-weight: 500;
}

.teacher-assessment-wizard-page select.assessment-wizard-input,
.teacher-assessment-wizard-page select.assessment-wizard-input option {
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
/* ===== guided wizard select typography END ===== */

/* ===== guided wizard pro polish START ===== */
.teacher-assessment-wizard-page .assessment-wizard-launchpad {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.teacher-assessment-wizard-page .assessment-wizard-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.teacher-assessment-wizard-page .assessment-wizard-trust-strip span {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    min-height: 36px;
    padding: 0.4rem 0.68rem;
    border: 1px solid rgba(191, 219, 254, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: #334155;
    font-size: 0.84rem;
    font-weight: 600;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.teacher-assessment-wizard-page .assessment-wizard-trust-strip i {
    color: #2563eb;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card::after {
    content: "";
    position: absolute;
    inset: auto 1rem 0.8rem 1rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(37, 99, 235, 0), rgba(37, 99, 235, 0.85), rgba(20, 184, 166, 0));
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition-property: transform, opacity;
    transition-duration: 170ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card:hover::after,
.teacher-assessment-wizard-page .assessment-wizard-automation-card.is-selected::after {
    opacity: 1;
    transform: scaleX(1);
}

.teacher-assessment-wizard-page .assessment-wizard-step-context {
    display: grid;
    gap: 0.12rem;
    min-width: min(100%, 22rem);
    padding: 0.72rem 0.86rem;
    border: 1px solid rgba(191, 219, 254, 0.88);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(239, 246, 255, 0.88));
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.1);
}

.teacher-assessment-wizard-page .assessment-wizard-step-context span {
    color: #2563eb;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-step-context strong {
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.2;
}

.teacher-assessment-wizard-page .assessment-wizard-step-context small {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage small {
    display: block;
    margin-top: 0.08rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 550;
    letter-spacing: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-active small,
.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-complete small {
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage {
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 170ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-active {
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.14);
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-control-hint {
    align-self: center;
    min-width: min(100%, 18rem);
    margin: 0;
    color: #64748b;
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
}

.teacher-assessment-wizard-page .assessment-wizard-controls {
    align-items: center;
}

@media (max-width: 760px) {
    .teacher-assessment-wizard-page .assessment-wizard-step-context {
        order: 3;
        grid-column: 1 / -1;
        width: 100%;
    }

    .teacher-assessment-wizard-page .assessment-wizard-control-hint {
        order: -1;
        width: 100%;
    }
}
/* ===== guided wizard pro polish END ===== */

.teacher-assessment-wizard-page .driver-popover {
    border-radius: 16px;
    font-family: inherit;
}

.teacher-assessment-wizard-page .assessment-wizard-swal-confirm {
    border-radius: 12px !important;
    background: #2563eb !important;
    font-weight: 850 !important;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card,
.teacher-assessment-wizard-page .assessment-wizard-upload-card {
    transition-property: transform, box-shadow, background-color, border-color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card:active {
    transform: scale(0.96);
}

@media (max-width: 980px) {
    .teacher-assessment-wizard-page .assessment-wizard-launchpad {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .teacher-assessment-wizard-page .assessment-wizard-automation-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== guided wizard interaction stack polish END ===== */

/* ===== guided wizard dynamic polish START ===== */
.teacher-assessment-wizard-page .assessment-wizard-route-map {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0.84rem;
    border: 1px solid rgba(191, 219, 254, 0.78);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
    list-style: none;
    isolation: isolate;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.52rem;
    align-items: center;
    min-height: 3rem;
    padding: 0.46rem 0.56rem;
    border: 1px solid rgba(203, 213, 225, 0.84);
    border-radius: 0.9rem;
    background: rgba(248, 250, 252, 0.94);
    color: #475569;
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.12;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-duration: 180ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage span {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 0.75rem;
    background: #e0e7ff;
    color: #4f46e5;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-complete {
    border-color: rgba(16, 185, 129, 0.34);
    background: #ecfdf5;
    color: #065f46;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-complete span {
    background: #d1fae5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-route-stage.is-active {
    border-color: rgba(37, 99, 235, 0.42);
    background: #eff6ff;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.12);
    color: #1e3a8a;
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-route-progress {
    position: absolute;
    right: 1.05rem;
    bottom: 0.32rem;
    left: 1.05rem;
    z-index: 1;
    height: 0.24rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.92);
    list-style: none;
}

.teacher-assessment-wizard-page .assessment-wizard-route-progress__bar {
    display: block;
    width: var(--wizard-route-progress, 0%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb 0%, #14b8a6 100%);
    transition-property: width;
    transition-duration: 220ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card.is-selected {
    border-color: rgba(37, 99, 235, 0.48);
    background: #eff6ff;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.16);
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card.is-selected span {
    background: #2563eb;
    color: #ffffff;
}

.teacher-assessment-wizard-page .assessment-wizard-shell[data-current-flow="past_paper_mock"] .assessment-wizard-route-stage.is-active span,
.teacher-assessment-wizard-page .assessment-wizard-shell[data-current-flow="past_paper_mock"] .assessment-wizard-selected-flow-card > span {
    background: #e0f2fe;
    color: #0369a1;
}

.teacher-assessment-wizard-page .assessment-wizard-shell[data-current-flow="coursework_assignment"] .assessment-wizard-route-stage.is-active span,
.teacher-assessment-wizard-page .assessment-wizard-shell[data-current-flow="coursework_assignment"] .assessment-wizard-selected-flow-card > span {
    background: #fef3c7;
    color: #b45309;
}

@keyframes assessmentWizardPanelIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.teacher-assessment-wizard-page .assessment-wizard-panel.is-entering {
    animation: assessmentWizardPanelIn 220ms cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.78rem 0 0;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.45rem;
    padding: 0.42rem 0.72rem;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 850;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button:hover {
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    transform: translateY(-1px);
}

.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.24);
    outline-offset: 3px;
}

.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button:active {
    transform: scale(0.98);
}

@media (max-width: 900px) {
    .teacher-assessment-wizard-page .assessment-wizard-route-map {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-route-progress {
        top: 1rem;
        right: auto;
        bottom: 1rem;
        left: 1.96rem;
        width: 0.24rem;
        height: auto;
    }

    .teacher-assessment-wizard-page .assessment-wizard-route-progress__bar {
        width: 100%;
        height: var(--wizard-route-progress, 0%);
        transition-property: height;
    }
}

@media (max-width: 640px) {
    .teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button {
        flex: 1 1 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .teacher-assessment-wizard-page .assessment-wizard-panel.is-entering {
        animation: none;
    }

    .teacher-assessment-wizard-page .assessment-wizard-route-stage,
    .teacher-assessment-wizard-page .assessment-wizard-route-progress__bar,
    .teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button {
        transition-duration: 1ms;
    }
}

/* ===== guided wizard calmer typography START ===== */
.teacher-assessment-wizard-page .assessment-wizard-launchpad__copy h2,
.teacher-assessment-wizard-page .assessment-wizard-next-step__head h3 {
    font-size: clamp(1.28rem, 1.8vw, 1.95rem);
    font-weight: 700;
    line-height: 1.14;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-panel__label,
.teacher-assessment-wizard-page .assessment-wizard-eyebrow,
.teacher-assessment-wizard-page .assessment-wizard-field > span,
.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid legend {
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.03em;
}

.teacher-assessment-wizard-page .assessment-wizard-mini,
.teacher-assessment-wizard-page .assessment-wizard-automation-card strong,
.teacher-assessment-wizard-page .assessment-wizard-guide-button strong,
.teacher-assessment-wizard-page .assessment-wizard-route-stage,
.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button,
.teacher-assessment-wizard-page .assessment-wizard-ai-type-grid label {
    font-weight: 750;
}

.teacher-assessment-wizard-page .assessment-wizard-mini {
    min-height: 82px;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card strong {
    font-size: 0.98rem;
    line-height: 1.2;
}

.teacher-assessment-wizard-page .assessment-wizard-automation-card small,
.teacher-assessment-wizard-page .assessment-wizard-launchpad__copy p:not(.assessment-wizard-eyebrow) {
    font-weight: 500;
}

.teacher-assessment-wizard-page .assessment-wizard-guide-button strong,
.teacher-assessment-wizard-page .assessment-wizard-assistant-suggestions button {
    font-size: 0.82rem;
}
/* ===== guided wizard calmer typography END ===== */

/* ===== guided wizard content cards START ===== */
.teacher-assessment-wizard-page .assessment-wizard-mini-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.72rem;
}

.teacher-assessment-wizard-page .assessment-wizard-mini {
    position: relative;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 132px;
    padding: 0.88rem;
    overflow: hidden;
    text-align: left;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__icon {
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 14px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 1.08rem;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}

.teacher-assessment-wizard-page .assessment-wizard-mini__icon i {
    color: inherit;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__body {
    display: grid;
    align-content: start;
    gap: 0.3rem;
    min-width: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__body strong {
    color: #172033;
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.18;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__body small {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.34;
    text-wrap: pretty;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__meta {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-height: 26px;
    align-items: center;
    padding: 0.2rem 0.48rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
    font-style: normal;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    line-height: 1;
    white-space: normal;
}

.teacher-assessment-wizard-page .assessment-wizard-mini__check {
    position: absolute;
    top: 0.68rem;
    right: 0.68rem;
    display: inline-grid;
    width: 26px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: 0.72rem;
    opacity: 0;
    transform: scale(0.72);
    transition-property: opacity, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-mini.is-selected {
    background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
}

.teacher-assessment-wizard-page .assessment-wizard-mini.is-selected .assessment-wizard-mini__icon {
    background: #d1fae5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-mini.is-selected .assessment-wizard-mini__meta {
    background: #dcfce7;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-mini.is-selected .assessment-wizard-mini__check {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 760px) {
    .teacher-assessment-wizard-page .assessment-wizard-mini-grid {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-mini {
        min-height: 112px;
    }
}
/* ===== guided wizard content cards END ===== */

/* ===== guided wizard manual question builder START ===== */
.teacher-assessment-wizard-page .assessment-wizard-manual-builder {
    display: grid;
    gap: 1rem;
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fafc 0%, #ecfeff 100%);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.24);
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__head h3 {
    max-width: 62ch;
    margin: 0.22rem 0 0;
    color: #172033;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.28;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__count {
    display: inline-grid;
    min-width: 108px;
    min-height: 74px;
    place-items: center;
    padding: 0.65rem 0.8rem;
    border-radius: 16px;
    background: #ffffff;
    color: #475569;
    text-align: center;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), inset 0 0 0 1px rgba(203, 213, 225, 0.86);
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__count strong {
    color: #172033;
    font-size: 1.45rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    line-height: 1;
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__count span {
    font-size: 0.74rem;
    font-weight: 700;
}

.teacher-assessment-wizard-page .assessment-wizard-manual-builder__workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.82fr);
    gap: 1rem;
    align-items: start;
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer,
.teacher-assessment-wizard-page .assessment-wizard-question-drafts {
    display: grid;
    gap: 0.86rem;
    padding: 0.95rem;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07), inset 0 0 0 1px rgba(203, 213, 225, 0.9);
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer {
    grid-template-columns: minmax(180px, 0.7fr) minmax(120px, 0.35fr) minmax(0, 1fr);
    align-items: start;
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer__intro {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.18rem;
    padding: 0.78rem 0.85rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.94), rgba(236, 253, 245, 0.78));
    box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.78);
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer__intro span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #1d4ed8;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer__intro strong {
    color: #172033;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
    text-wrap: balance;
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer__intro small {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.38;
}

.teacher-assessment-wizard-page .assessment-wizard-question-composer__intro--outcome {
    margin-bottom: 1rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-form--outcome {
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-question-form--outcome .assessment-wizard-question-options {
    display: grid;
    gap: 0.62rem;
    margin: 0.9rem 0;
    padding: 0.88rem;
    border: 1px solid rgba(191, 219, 254, 0.92);
    border-radius: 18px;
    background: #f8fbff;
}

.teacher-assessment-wizard-page .assessment-wizard-question-form--outcome .assessment-wizard-next-step__actions {
    justify-content: flex-start;
}

.teacher-assessment-wizard-page .assessment-wizard-question-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.6rem;
}

.teacher-assessment-wizard-page .assessment-wizard-option-builder,
.teacher-assessment-wizard-page .assessment-wizard-true-false-builder,
.teacher-assessment-wizard-page .assessment-wizard-source-material-panel {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.62rem;
}

.teacher-assessment-wizard-page .assessment-wizard-option-builder[hidden],
.teacher-assessment-wizard-page .assessment-wizard-true-false-builder[hidden],
.teacher-assessment-wizard-page .assessment-wizard-source-material-panel[hidden],
.teacher-assessment-wizard-page [data-wizard-written-answer-panel][hidden] {
    display: none;
}

.teacher-assessment-wizard-page .assessment-wizard-source-material-panel[hidden] {
    display: none;
}

.teacher-assessment-wizard-page .assessment-wizard-source-material-panel {
    grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1fr);
    padding: 0.82rem;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.94), rgba(240, 253, 250, 0.9));
    box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.72);
}

.teacher-assessment-wizard-page .assessment-wizard-source-toggle {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 0.62rem;
    min-height: 40px;
    margin: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.teacher-assessment-wizard-page .assessment-wizard-source-toggle input {
    width: 20px;
    height: 20px;
    accent-color: #2563eb;
}

.teacher-assessment-wizard-page .assessment-wizard-option-builder__head,
.teacher-assessment-wizard-page .assessment-wizard-question-drafts__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.teacher-assessment-wizard-page .assessment-wizard-option-builder__head span,
.teacher-assessment-wizard-page .assessment-wizard-question-drafts__head h4 {
    margin: 0;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-question-drafts__head {
    align-items: flex-start;
}

.teacher-assessment-wizard-page .assessment-wizard-question-drafts__head p {
    margin: 0.18rem 0 0;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.36;
}

.teacher-assessment-wizard-page .assessment-wizard-question-drafts__head span {
    color: #2563eb;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.teacher-assessment-wizard-page .assessment-wizard-option-builder__list {
    display: grid;
    gap: 0.52rem;
}

.teacher-assessment-wizard-page .assessment-wizard-option-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 40px;
    align-items: center;
    gap: 0.58rem;
    padding: 0.5rem;
    border-radius: 14px;
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.76);
}

.teacher-assessment-wizard-page .assessment-wizard-option-row span {
    display: inline-grid;
    width: 32px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 10px;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 800;
}

.teacher-assessment-wizard-page .assessment-wizard-option-row input[type="checkbox"],
.teacher-assessment-wizard-page .assessment-wizard-option-row input[type="radio"] {
    width: 22px;
    height: 22px;
    justify-self: center;
    accent-color: #2563eb;
}

.teacher-assessment-wizard-page .assessment-wizard-builder-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.62rem;
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.68rem 0.95rem;
    border: 1px solid rgba(148, 163, 184, 0.58);
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-weight: 750;
    transition-property: background-color, border-color, color, transform, box-shadow;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action:hover {
    border-color: rgba(37, 99, 235, 0.48);
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action:active {
    transform: scale(0.96);
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action--primary {
    border-color: transparent;
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.22);
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action--primary:hover {
    background: #1d4ed8;
    color: #ffffff;
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action--done {
    border-color: rgba(16, 185, 129, 0.36);
    background: #ecfdf5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-builder-action--subtle {
    min-height: 36px;
    padding: 0.45rem 0.72rem;
    font-size: 0.82rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-status.is-error {
    color: #b91c1c;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft-list {
    display: grid;
    gap: 0.58rem;
}

.teacher-assessment-wizard-page .assessment-wizard-saved-questions {
    display: grid;
    gap: 0.72rem;
    margin-top: 1rem;
    padding: 0.95rem;
    border: 1px solid rgba(191, 219, 254, 0.86);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft-list--saved {
    max-height: min(56vh, 720px);
    overflow: auto;
    padding-right: 0.12rem;
    overscroll-behavior: contain;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft-empty {
    margin: 0;
    padding: 0.92rem;
    border-radius: 14px;
    background: #f8fafc;
    color: #64748b;
    font-weight: 650;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft {
    display: grid;
    grid-template-columns: 42px 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.72rem;
    padding: 0.68rem;
    border-radius: 16px;
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.8);
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__index {
    display: inline-grid;
    width: 40px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 13px;
    background: #dbeafe;
    color: #1d4ed8;
    font-variant-numeric: tabular-nums;
    font-weight: 850;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__drag {
    display: inline-grid;
    min-width: 28px;
    min-height: 40px;
    place-items: center;
    color: #94a3b8;
    cursor: grab;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__drag:active {
    cursor: grabbing;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__body {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__body strong,
.teacher-assessment-wizard-page .assessment-wizard-question-draft__body span {
    overflow-wrap: anywhere;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__body strong {
    color: #172033;
    font-weight: 750;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__body span {
    color: #64748b;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__meta em {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0.18rem 0.46rem;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 800;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__meta em + em {
    background: #ecfdf5;
    color: #047857;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__answer {
    display: block;
    color: #475569 !important;
    font-size: 0.8rem !important;
    line-height: 1.35;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__source {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.32rem;
    padding: 0.22rem 0.48rem;
    border-radius: 999px;
    background: #ecfeff;
    color: #0f766e !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    box-shadow: inset 0 0 0 1px rgba(45, 212, 191, 0.42);
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button {
    min-height: 40px;
    padding: 0.48rem 0.68rem;
    border: 1px solid rgba(148, 163, 184, 0.58);
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 750;
    transition-property: background-color, border-color, color, transform;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button i {
    font-size: 0.78rem;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button:hover {
    border-color: rgba(37, 99, 235, 0.48);
    background: #eff6ff;
    color: #1d4ed8;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button:active {
    transform: scale(0.96);
}

.teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button:disabled {
    cursor: not-allowed;
    opacity: 0.42;
    transform: none;
}

.teacher-assessment-wizard-page .assessment-wizard-saved-questions .assessment-wizard-question-draft__actions button[data-wizard-delete-saved-question] {
    border-color: rgba(248, 113, 113, 0.55);
    color: #b91c1c;
}

.teacher-assessment-wizard-page .assessment-wizard-saved-questions .assessment-wizard-question-draft__actions button[data-wizard-delete-saved-question]:hover {
    border-color: rgba(239, 68, 68, 0.62);
    background: #fef2f2;
    color: #991b1b;
}

@media (max-width: 1160px) {
    .teacher-assessment-wizard-page .assessment-wizard-manual-builder__workspace {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .teacher-assessment-wizard-page .assessment-wizard-question-composer {
        grid-template-columns: 1fr 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-question-draft {
        grid-template-columns: 42px 28px minmax(0, 1fr);
    }

    .teacher-assessment-wizard-page .assessment-wizard-question-draft__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-left: calc(70px + 0.72rem);
    }
}

@media (max-width: 720px) {
    .teacher-assessment-wizard-page .assessment-wizard-manual-builder__head,
    .teacher-assessment-wizard-page .assessment-wizard-question-draft {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-manual-builder__head,
    .teacher-assessment-wizard-page .assessment-wizard-question-composer {
        display: grid;
    }

    .teacher-assessment-wizard-page .assessment-wizard-question-composer {
        grid-template-columns: 1fr;
    }

    .teacher-assessment-wizard-page .assessment-wizard-question-draft__actions {
        justify-content: stretch;
        padding-left: 0;
    }

    .teacher-assessment-wizard-page .assessment-wizard-question-draft__actions button {
        flex: 1 1 120px;
    }
}
/* ===== guided wizard manual question builder END ===== */

/* ===== guided wizard outcome ai generator START ===== */
.teacher-assessment-wizard-page .assessment-wizard-ai-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.72rem;
    margin-bottom: 1rem;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-summary__item {
    min-width: 0;
    min-height: 82px;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(203, 213, 225, 0.86);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.teacher-assessment-wizard-page .assessment-wizard-ai-summary__item span,
.teacher-assessment-wizard-page .assessment-wizard-ai-summary__item strong {
    display: block;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-summary__item span {
    margin-bottom: 0.3rem;
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-summary__item strong {
    color: #172033;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.28;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.teacher-assessment-wizard-page .assessment-wizard-ai-generate .assessment-wizard-final-action[disabled],
.teacher-assessment-wizard-page .assessment-wizard-ai-generate .assessment-wizard-final-action:disabled {
    cursor: wait;
    opacity: 0.68;
    transform: none;
}

@media (max-width: 980px) {
    .teacher-assessment-wizard-page .assessment-wizard-ai-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .teacher-assessment-wizard-page .assessment-wizard-ai-summary {
        grid-template-columns: 1fr;
    }
}
/* ===== guided wizard outcome ai generator END ===== */
/* ===== guided wizard dynamic polish END ===== */
/* ===== teacher assessment wizard END ===== */

/* ===== paper grade submission list records START ===== */
.teacher-paper-test-grade-page .paper-submissions-card {
    overflow: hidden;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.teacher-paper-test-grade-page .paper-submissions-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.96);
    background: #f8fafc;
}

.teacher-paper-test-grade-page .paper-submissions-card__eyebrow {
    margin: 0 0 0.22rem;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.teacher-paper-test-grade-page .paper-submissions-card__title .card-title {
    margin: 0;
}

.teacher-paper-test-grade-page .paper-submissions-card__actions,
.teacher-paper-test-grade-page .paper-submission-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.teacher-paper-test-grade-page .paper-submissions-card__summary {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.34rem 0.62rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.teacher-paper-test-grade-page .paper-submissions-card__summary--reviewed {
    border-color: rgba(99, 102, 241, 0.28);
    background: #eef2ff;
    color: #3730a3;
}

.teacher-paper-test-grade-page .paper-submissions-table-wrap {
    border-radius: 0 0 12px 12px;
}

.teacher-paper-test-grade-page .paper-submissions-table {
    min-width: 1040px;
}

.teacher-paper-test-grade-page .paper-submissions-table__select {
    width: 3.25rem;
}

.teacher-paper-test-grade-page .paper-submission-row > td {
    vertical-align: middle;
    border-top-color: rgba(226, 232, 240, 0.86);
}

.teacher-paper-test-grade-page .paper-submission-record {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    min-width: 0;
}

.teacher-paper-test-grade-page .paper-submission-record__icon {
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 10px;
    background: #e0f2fe;
    color: #075985;
    font-weight: 850;
    letter-spacing: 0;
}

.teacher-paper-test-grade-page .paper-submission-record__body {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.teacher-paper-test-grade-page .paper-submission-record__title {
    overflow: hidden;
    color: #172033;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teacher-paper-test-grade-page .paper-submission-record__meta {
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.25;
}

.teacher-paper-test-grade-page .paper-submission-record__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.32rem;
    margin-top: 0.16rem;
}

.teacher-paper-test-grade-page .paper-submission-score-chip,
.teacher-paper-test-grade-page .paper-submission-grade,
.teacher-paper-test-grade-page .paper-submission-percentage {
    font-variant-numeric: tabular-nums;
    font-weight: 850;
}

.teacher-paper-test-grade-page .paper-submission-progress-cell {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 10rem;
}

.teacher-paper-test-grade-page .paper-submission-progress {
    position: relative;
    flex: 0 0 7.5rem;
    height: 0.52rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
}

.teacher-paper-test-grade-page .paper-submission-progress__bar {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--paper-submission-progress, 0%);
    border-radius: inherit;
    background: #ef4444;
}

.teacher-paper-test-grade-page .paper-submission-progress__bar--warning {
    background: #f59e0b;
}

.teacher-paper-test-grade-page .paper-submission-progress__bar--success {
    background: #10b981;
}

.teacher-paper-test-grade-page .paper-submission-status {
    min-height: 30px;
    align-items: center;
    font-weight: 800;
}

.teacher-paper-test-grade-page .paper-submission-action-form {
    margin: 0;
}

.teacher-paper-test-grade-page .paper-submission-action-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    border-radius: 10px;
    font-weight: 800;
}

.teacher-paper-test-grade-page .paper-submission-action-chip:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.teacher-paper-test-grade-page .paper-submission-action-chip:active {
    transform: scale(0.98);
}

.teacher-paper-test-grade-page .paper-submission-card {
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 12px;
}

.teacher-paper-test-grade-page .paper-submission-card__progress {
    margin: 0.7rem 0;
}

@media (max-width: 900px) {
    .teacher-paper-test-grade-page .paper-submissions-card__header {
        align-items: stretch;
        flex-direction: column;
    }

    .teacher-paper-test-grade-page .paper-submissions-card__actions {
        justify-content: flex-start;
    }

    .teacher-paper-test-grade-page .paper-submission-actions .paper-submission-action-chip {
        flex: 1 1 8rem;
    }

    .teacher-paper-test-grade-page .paper-submission-progress-cell {
        min-width: 0;
    }
}
/* ===== paper grade submission list records END ===== */

/* ===== copilot guided workspace tour START ===== */
.copilot-guided-page .copilot-route-switcher {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin: 0.85rem 1.5rem 0;
    padding: 0.68rem 0.78rem;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.copilot-guided-page .copilot-route-current {
    display: flex;
    align-items: center;
    gap: 0.68rem;
    min-width: 0;
}

.copilot-guided-page .copilot-route-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #dbeafe;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}

.copilot-guided-page .copilot-route-copy {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.copilot-guided-page .copilot-route-kicker {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    line-height: 1.1;
    text-transform: uppercase;
}

.copilot-guided-page .copilot-route-copy strong {
    color: #172033;
    font-size: 0.98rem;
    font-weight: 780;
    line-height: 1.2;
    text-wrap: balance;
}

.copilot-guided-page .copilot-route-copy span:last-child {
    overflow: hidden;
    color: #607086;
    font-size: 0.84rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    text-wrap: pretty;
    white-space: nowrap;
}

.copilot-guided-page .copilot-route-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.copilot-guided-page .copilot-route-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 40px;
    padding: 0.52rem 0.74rem;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 8px;
    background: #f8fbff;
    color: #1e3a8a;
    font-size: 0.85rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.055);
    transition-duration: 160ms;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.copilot-guided-page .copilot-route-action:hover {
    border-color: rgba(37, 99, 235, 0.42);
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.11);
    transform: translateY(-1px);
}

.copilot-guided-page .copilot-route-action:active {
    transform: scale(0.96);
}

.copilot-guided-page .copilot-route-action:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.32);
    outline-offset: 2px;
}

.copilot-guided-page .copilot-guided-tour-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.46rem;
    min-height: 42px;
    padding: 0.56rem 0.82rem;
    border: 1px solid rgba(37, 99, 235, 0.24);
    border-radius: 8px;
    background: #ffffff;
    color: #1d4ed8;
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07);
    transition-duration: 160ms;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.copilot-guided-page .copilot-guided-tour-btn:hover {
    border-color: rgba(37, 99, 235, 0.42);
    background: #eff6ff;
    color: #1e40af;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.13);
    transform: translateY(-1px);
}

.copilot-guided-page .copilot-guided-tour-btn:active {
    transform: scale(0.96);
}

.copilot-guided-page .copilot-guided-tour-btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.copilot-guided-page .driver-popover {
    border-radius: 8px;
    font-family: inherit;
}

.copilot-guided-page .driver-popover-title {
    color: #172033;
    font-weight: 780;
}

@media (max-width: 760px) {
    .copilot-guided-page .copilot-route-switcher {
        align-items: stretch;
        flex-direction: column;
        margin: 0.7rem 0.85rem 0;
    }

    .copilot-guided-page .copilot-route-copy span:last-child {
        white-space: normal;
    }

    .copilot-guided-page .copilot-route-actions {
        justify-content: stretch;
    }

    .copilot-guided-page .copilot-route-action {
        flex: 1 1 0;
    }

    .copilot-guided-page .copilot-guided-tour-btn {
        width: 100%;
    }
}
/* ===== copilot guided workspace tour END ===== */

/* ===== shared teacher workflow tour START ===== */
.teacher-workspace-page .teacher-tour-button,
.teacher-create-test-page .teacher-tour-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    min-height: 42px;
    padding: 0.58rem 0.86rem;
    border: 1px solid rgba(37, 99, 235, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    color: #1e3a8a;
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transition-duration: 160ms;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-workspace-page .teacher-tour-button:hover,
.teacher-create-test-page .teacher-tour-button:hover {
    border-color: rgba(37, 99, 235, 0.42);
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.13);
    transform: translateY(-1px);
}

.teacher-workspace-page .teacher-tour-button:active,
.teacher-create-test-page .teacher-tour-button:active {
    transform: scale(0.96);
}

.teacher-workspace-page .teacher-tour-button:focus-visible,
.teacher-create-test-page .teacher-tour-button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.teacher-workspace-page .teacher-tour-button__icon,
.teacher-create-test-page .teacher-tour-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    color: currentColor;
}

.teacher-workflow-tour-popover.driver-popover {
    border-radius: 8px;
    font-family: inherit;
}

.teacher-workflow-tour-popover .driver-popover-title {
    color: #172033;
    font-weight: 780;
    text-wrap: balance;
}

.teacher-workflow-tour-popover .driver-popover-description {
    color: #475569;
    line-height: 1.45;
    text-wrap: pretty;
}

@media (max-width: 760px) {
    .teacher-workspace-page .teacher-tour-button,
    .teacher-create-test-page .teacher-tour-button {
        width: 100%;
    }
}
/* ===== shared teacher workflow tour END ===== */

/* ===== teacher support bot START ===== */
.teacher-support-bot {
    position: fixed;
    right: 1.1rem;
    bottom: 1.1rem;
    z-index: 1080;
    font-family: inherit;
}

.teacher-support-bot__launcher {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 44px;
    padding: 0.62rem 0.9rem;
    border: 1px solid rgba(37, 99, 235, 0.28);
    border-radius: 8px;
    background: #ffffff;
    color: #172554;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
    cursor: pointer;
    transition-duration: 160ms;
    transition-property: transform, box-shadow, background-color, border-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.teacher-support-bot__launcher:hover {
    border-color: rgba(37, 99, 235, 0.52);
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 22px 48px rgba(37, 99, 235, 0.18);
    transform: translateY(-1px);
}

.teacher-support-bot__launcher:active {
    transform: scale(0.97);
}

.teacher-support-bot__launcher:focus-visible,
.teacher-support-bot__close:focus-visible,
.teacher-support-bot__quick-actions button:focus-visible,
.teacher-support-bot__ask button:focus-visible,
.teacher-support-bot__message-actions a:focus-visible,
.teacher-support-bot__message-actions button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.34);
    outline-offset: 2px;
}

.teacher-support-bot__launcher-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 8px;
    background: #dbeafe;
    color: #1d4ed8;
}

.teacher-support-bot__panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.75rem);
    width: min(92vw, 390px);
    border: 1px solid rgba(148, 163, 184, 0.38);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    color: #172033;
    box-shadow: 0 26px 64px rgba(15, 23, 42, 0.22);
    overflow: hidden;
}

.teacher-support-bot__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 1rem 1rem 0.8rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: #f8fbff;
}

.teacher-support-bot__head h2 {
    margin: 0.16rem 0 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 780;
    letter-spacing: 0;
}

.teacher-support-bot__kicker {
    margin: 0;
    color: #2563eb;
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.teacher-support-bot__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
}

.teacher-support-bot__messages {
    display: flex;
    flex-direction: column;
    gap: 0.62rem;
    max-height: 320px;
    padding: 0.9rem 1rem;
    overflow-y: auto;
}

.teacher-support-bot__message {
    max-width: 92%;
    border: 1px solid rgba(203, 213, 225, 0.72);
    border-radius: 8px;
    padding: 0.72rem 0.78rem;
    background: #ffffff;
    color: #263449;
    font-size: 0.9rem;
    line-height: 1.45;
}

.teacher-support-bot__message p {
    margin: 0;
}

.teacher-support-bot__message--user {
    align-self: flex-end;
    border-color: rgba(37, 99, 235, 0.32);
    background: #eff6ff;
    color: #172554;
}

.teacher-support-bot__message--bot {
    align-self: flex-start;
}

.teacher-support-bot__message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.teacher-support-bot__message-actions a,
.teacher-support-bot__message-actions button,
.teacher-support-bot__quick-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 1px solid rgba(37, 99, 235, 0.28);
    border-radius: 8px;
    background: #ffffff;
    color: #1d4ed8;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.teacher-support-bot__message-actions a,
.teacher-support-bot__message-actions button {
    padding: 0.52rem 0.66rem;
}

.teacher-support-bot__quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0 1rem 0.9rem;
}

.teacher-support-bot__quick-actions button {
    padding: 0.58rem 0.62rem;
}

.teacher-support-bot__ask {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 0.55rem;
    padding: 0.9rem 1rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: #f8fafc;
}

.teacher-support-bot__ask input {
    min-height: 44px;
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, 0.5);
    border-radius: 8px;
    padding: 0.68rem 0.78rem;
    color: #172033;
    font-size: 0.92rem;
    font-weight: 500;
}

.teacher-support-bot__ask input:focus {
    border-color: rgba(37, 99, 235, 0.62);
    outline: 3px solid rgba(37, 99, 235, 0.16);
}

.teacher-support-bot__ask button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: #2563eb;
    color: #ffffff;
    cursor: pointer;
}

.support-action-highlight {
    position: relative;
    outline: 3px solid rgba(37, 99, 235, 0.55) !important;
    outline-offset: 4px;
    box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.12), 0 16px 42px rgba(37, 99, 235, 0.22) !important;
}

@media (max-width: 640px) {
    .teacher-support-bot {
        right: 0.75rem;
        bottom: 0.75rem;
        left: 0.75rem;
    }

    .teacher-support-bot__launcher {
        width: 100%;
    }

    .teacher-support-bot__panel {
        right: 0;
        left: 0;
        width: 100%;
        max-height: calc(100vh - 6rem);
    }

    .teacher-support-bot__quick-actions {
        grid-template-columns: 1fr;
    }
}
/* ===== teacher support bot END ===== */
