:root {
    --ink: #0d0d0d;
    --cream: #f5f0e8;
    --gold: #c9a84c;
    --gold-light: #e8c97a;
    --teal: #1a6b6b;
    --teal-light: #2e9e9e;
    --teal-pale: #e8f4f4;
    --rust: #c05e3a;
    --sage: #7aad8a;
    --off-white: #faf7f2;
    --mid: #6b6560;
    --card: #ffffff;
    --border: rgba(13, 13, 13, 0.1);
    --sidebar-w: 320px;
    --sidebar-collapsed-w: 88px;
    --header-h: 60px;
    --scroll-track: rgba(13, 13, 13, 0.05);
    --scroll-thumb: rgba(26, 107, 107, 0.34);
    --scroll-thumb-strong: rgba(26, 107, 107, 0.56);
    --scroll-corner: rgba(13, 13, 13, 0.02);
    --workspace-hero-radius: 20px;
    --workspace-hero-padding: clamp(1.25rem, 2.4vw, 1.85rem);
    --workspace-hero-gap: clamp(1rem, 2vw, 1.6rem);
    --workspace-hero-shadow: 0 20px 56px rgba(13, 13, 13, 0.12);
    --workspace-card-radius: 18px;
    --workspace-card-padding: 1rem;
    --workspace-card-shadow: 0 14px 34px rgba(13, 13, 13, 0.055);
    --workspace-card-border: rgba(13, 13, 13, 0.08);
    --workspace-student-hero: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(46, 158, 158, 0.96));
    --workspace-school-hero: radial-gradient(circle at top right, rgba(232, 201, 122, 0.34), transparent 34%), linear-gradient(135deg, rgba(11, 39, 82, 0.98), rgba(26, 107, 107, 0.94));
    --workspace-tutor-hero: radial-gradient(circle at top right, rgba(46, 158, 158, 0.24), transparent 34%), linear-gradient(135deg, rgba(13, 13, 13, 0.98), rgba(26, 107, 107, 0.94));
    --workspace-course-hero: radial-gradient(circle at top right, rgba(232, 201, 122, 0.22), transparent 34%), linear-gradient(135deg, rgba(9, 51, 68, 0.98), rgba(26, 107, 107, 0.94));
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "DM Sans", sans-serif;
    background: var(--off-white);
    color: var(--ink);
    overflow-x: hidden;
}

html,
body,
.sidebar,
.sidebar-body,
.table-wrap,
.notif-dropdown,
.notif-dropdown-list,
.nav-user-dropdown {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

html:hover,
body:hover,
.sidebar:hover,
.sidebar-body:hover,
.table-wrap:hover,
.notif-dropdown:hover,
.notif-dropdown-list:hover,
.nav-user-dropdown:hover,
html:focus-within,
body:focus-within,
.sidebar:focus-within,
.sidebar-body:focus-within,
.table-wrap:focus-within,
.notif-dropdown:focus-within,
.notif-dropdown-list:focus-within,
.nav-user-dropdown:focus-within {
    scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.sidebar-body::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar,
.notif-dropdown::-webkit-scrollbar,
.notif-dropdown-list::-webkit-scrollbar,
.nav-user-dropdown::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
.sidebar::-webkit-scrollbar-track,
.sidebar-body::-webkit-scrollbar-track,
.table-wrap::-webkit-scrollbar-track,
.notif-dropdown::-webkit-scrollbar-track,
.notif-dropdown-list::-webkit-scrollbar-track,
.nav-user-dropdown::-webkit-scrollbar-track {
    background: transparent;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb,
.sidebar-body::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb,
.notif-dropdown::-webkit-scrollbar-thumb,
.notif-dropdown-list::-webkit-scrollbar-thumb,
.nav-user-dropdown::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
    border: 3px solid transparent;
    background-clip: padding-box;
}

html:hover::-webkit-scrollbar-thumb,
body:hover::-webkit-scrollbar-thumb,
.sidebar:hover::-webkit-scrollbar-thumb,
.sidebar-body:hover::-webkit-scrollbar-thumb,
.table-wrap:hover::-webkit-scrollbar-thumb,
.notif-dropdown:hover::-webkit-scrollbar-thumb,
.notif-dropdown-list:hover::-webkit-scrollbar-thumb,
.nav-user-dropdown:hover::-webkit-scrollbar-thumb,
html:focus-within::-webkit-scrollbar-thumb,
body:focus-within::-webkit-scrollbar-thumb,
.sidebar:focus-within::-webkit-scrollbar-thumb,
.sidebar-body:focus-within::-webkit-scrollbar-thumb,
.table-wrap:focus-within::-webkit-scrollbar-thumb,
.notif-dropdown:focus-within::-webkit-scrollbar-thumb,
.notif-dropdown-list:focus-within::-webkit-scrollbar-thumb,
.nav-user-dropdown:focus-within::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb);
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
.sidebar::-webkit-scrollbar-thumb:hover,
.sidebar-body::-webkit-scrollbar-thumb:hover,
.table-wrap::-webkit-scrollbar-thumb:hover,
.notif-dropdown::-webkit-scrollbar-thumb:hover,
.notif-dropdown-list::-webkit-scrollbar-thumb:hover,
.nav-user-dropdown::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:active,
body::-webkit-scrollbar-thumb:active,
.sidebar::-webkit-scrollbar-thumb:active,
.sidebar-body::-webkit-scrollbar-thumb:active,
.table-wrap::-webkit-scrollbar-thumb:active,
.notif-dropdown::-webkit-scrollbar-thumb:active,
.notif-dropdown-list::-webkit-scrollbar-thumb:active,
.nav-user-dropdown::-webkit-scrollbar-thumb:active {
    background: var(--scroll-thumb-strong);
}

html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner,
.sidebar::-webkit-scrollbar-corner,
.sidebar-body::-webkit-scrollbar-corner,
.table-wrap::-webkit-scrollbar-corner,
.notif-dropdown::-webkit-scrollbar-corner,
.notif-dropdown-list::-webkit-scrollbar-corner,
.nav-user-dropdown::-webkit-scrollbar-corner {
    background: var(--scroll-corner);
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
textarea,
select {
    font-family: inherit;
}

img {
    max-width: 100%;
    display: block;
}

[hidden] {
    display: none !important;
}

.container {
    width: min(1200px, calc(100vw - 3rem));
    margin: 0 auto;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 200;
}

.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 0;
    background: rgba(245, 240, 232, 0.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.brand img {
    width: 46px;
    height: 46px;
    object-fit: contain;
    flex-shrink: 0;
}

.brand span {
    display: grid;
    gap: 0.12rem;
}

.nav-logo strong,
.sidebar-logo strong,
.footer-brand strong {
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.nav-logo em,
.sidebar-logo em,
.footer-brand em {
    color: var(--teal);
    font-style: normal;
}

.nav-logo small,
.footer-brand small,
.sidebar-logo small {
    font-size: 0.72rem;
    color: var(--mid);
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-links a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.87rem;
    font-weight: 500;
    color: var(--mid);
    transition: color 0.2s;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--teal);
}

.nav-auth {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.nav-auth-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.45rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    color: var(--mid);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.nav-auth-link:hover,
.nav-auth-link:focus-visible {
    color: var(--teal);
    background: rgba(26, 107, 107, 0.07);
    transform: translateY(-1px);
}

.nav-auth-link.is-primary {
    color: var(--teal);
    background: rgba(232, 244, 244, 0.82);
}

.nav-auth-link.is-primary:hover,
.nav-auth-link.is-primary:focus-visible {
    color: var(--ink);
    background: rgba(232, 201, 122, 0.24);
}

.nav-user-menu {
    position: relative;
}

.nav-user-card {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.35rem 0.6rem 0.35rem 0.35rem;
    border: 1px solid rgba(26, 107, 107, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.nav-user-trigger {
    cursor: pointer;
}

.nav-user-card:hover,
.nav-user-card:focus-visible {
    border-color: rgba(26, 107, 107, 0.3);
    box-shadow: 0 10px 24px rgba(26, 107, 107, 0.08);
    transform: translateY(-1px);
}

.nav-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(26, 107, 107, 0.08);
}

.nav-user-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nav-user-copy {
    display: grid;
    min-width: 0;
}

.nav-user-copy strong {
    color: var(--ink);
    font-size: 0.84rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}

.nav-user-copy small {
    color: var(--mid);
    font-size: 0.72rem;
    line-height: 1.2;
}

.nav-user-caret {
    color: var(--mid);
    font-size: 0.78rem;
}

.nav-user-menu.open .nav-user-caret {
    transform: rotate(180deg);
}

.nav-user-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    min-width: 200px;
    padding: 0.45rem;
    border: 1px solid rgba(26, 107, 107, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(13, 13, 13, 0.12);
    gap: 0.25rem;
    z-index: 25;
}

.nav-user-menu.open .nav-user-dropdown {
    display: grid;
}

.nav-user-dropdown-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.85rem;
    border-radius: 10px;
    color: var(--ink);
    font-size: 0.84rem;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
}

.nav-user-dropdown-link:hover,
.nav-user-dropdown-link:focus-visible {
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
}

.nav-user-dropdown-link.danger:hover,
.nav-user-dropdown-link.danger:focus-visible {
    background: rgba(177, 59, 48, 0.08);
    color: #b13b30;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 1.6rem;
    border-radius: 3px;
    font-size: 0.87rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border: none;
    transition:
        transform 0.18s ease,
        box-shadow 0.22s ease,
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        opacity 0.22s ease;
    cursor: pointer;
    will-change: transform;
}

.button:hover,
.button:focus-visible {
    transform: translateY(-1px);
}

.button:focus-visible {
    outline: 3px solid rgba(201, 168, 76, 0.42);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(15, 76, 92, 0.18);
}

.button:active {
    transform: translateY(0) scale(0.985);
}

.button:disabled,
.button[disabled] {
    cursor: not-allowed;
    transform: none;
}

.button-primary {
    background: var(--teal);
    color: #fff;
}

.button-primary,
.button-primary i,
.button-primary span {
    color: #fff;
}

.button-primary:hover,
.button-primary:focus-visible {
    background: var(--teal-light);
    color: #fff;
    box-shadow: 0 6px 20px rgba(26, 107, 107, 0.3);
}

.button-primary:hover i,
.button-primary:hover span,
.button-primary:focus-visible i,
.button-primary:focus-visible span {
    color: #fff;
}

.button-secondary {
    background: transparent;
    border: 1.5px solid var(--ink);
    color: var(--ink);
}

.button-secondary:hover,
.button-secondary:focus-visible {
    background: var(--ink);
    color: var(--cream);
}

.button-secondary:hover i,
.button-secondary:hover span,
.button-secondary:focus-visible i,
.button-secondary:focus-visible span {
    color: var(--cream);
}

.button-secondary.light {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
}

.button-secondary.light:hover,
.button-secondary.light:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.button-small {
    padding: 0.45rem 1rem;
    font-size: 0.78rem;
    min-height: 44px;
}

.full {
    width: 100%;
}

.mobile-nav-toggle {
    display: none;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
    border-radius: 3px;
    border: 1.5px solid var(--border);
    background: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.mobile-nav-toggle-icon {
    display: inline-grid;
    gap: 0.22rem;
    width: 1.05rem;
}

.mobile-nav-toggle-icon span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
}

.hero-section,
.page-hero {
    padding: 8rem 0 4rem;
}

.page-hero {
    position: relative;
    overflow: hidden;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 44% 66% at 82% 22%, rgba(26, 107, 107, 0.08) 0%, transparent 70%),
        radial-gradient(ellipse 38% 58% at 12% 78%, rgba(201, 168, 76, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.hero-section {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 70% 50%, rgba(26, 107, 107, 0.07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 20% 80%, rgba(201, 168, 76, 0.09) 0%, transparent 60%);
}

.hero-grid,
.two-column,
.detail-grid,
.contact-grid,
.auth-grid,
.lesson-layout,
.cta-panel {
    display: grid;
    gap: 2rem;
}

.hero-grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    position: relative;
    z-index: 2;
}

.page-hero {
    padding-top: 8.5rem;
}

.page-hero .container,
.auth-section .container {
    position: relative;
    z-index: 1;
}

.eyebrow,
.eyebrow-inline {
    font-family: "Space Mono", monospace;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--teal);
    text-transform: uppercase;
    margin-bottom: 1.2rem;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.eyebrow::before,
.eyebrow-inline::before {
    content: "";
    width: 2rem;
    height: 2px;
    background: currentColor;
    display: block;
}

.eyebrow-inline.light {
    color: var(--gold-light);
}

h1,
h2,
h3,
h4 {
    font-family: "Playfair Display", serif;
    letter-spacing: -0.02em;
}

h1 {
    font-size: clamp(2.6rem, 4.5vw, 4.2rem);
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 1.4rem;
}

h2 {
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 1rem;
}

h3 {
    font-size: 1.08rem;
    margin-bottom: 0.55rem;
}

h4 {
    font-size: 1rem;
}

.lead,
.section-heading p,
.content-panel p,
.auth-copy p,
.contact-side p {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--mid);
}

.lead {
    max-width: 520px;
}

.lead.narrow {
    max-width: 620px;
}

.button-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
}

.hero-section .button-row {
    margin-top: 2rem;
}

.stat-grid.compact {
    display: flex;
    gap: 1.5rem;
    margin-top: 2.4rem;
    padding-top: 1.8rem;
    border-top: 1px solid var(--border);
}

.stat-grid.compact .stat-card {
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
}

.stat-card strong {
    font-family: "Playfair Display", serif;
    font-size: 1.8rem;
    font-weight: 700;
    display: block;
}

.stat-card span {
    font-size: 0.78rem;
    color: var(--mid);
    margin-top: 0.15rem;
    display: block;
}

.hero-card,
.course-card,
.plan-card,
.testimonial-card,
.content-panel,
.benefit-card,
.info-card,
.auth-card,
.stat-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 6px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08);
}

.hero-card {
    max-width: 420px;
    margin-left: auto;
    padding: 1.5rem;
    position: relative;
}

.hero-card::before {
    content: "";
    position: absolute;
    top: -14px;
    right: -12px;
    width: 92%;
    height: 100%;
    background: var(--teal);
    border-radius: 8px;
    z-index: -1;
    opacity: 0.12;
}

.hero-card p {
    color: var(--mid);
    font-size: 0.85rem;
    line-height: 1.6;
}

.status-pill,
.pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.65rem;
    border-radius: 2px;
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}

.pill {
    background: rgba(26, 107, 107, 0.14);
    color: var(--brand-700);
}

.status-pill-success {
    background: rgba(122, 173, 138, 0.2);
    color: var(--sage);
}

.status-pill-info {
    background: rgba(26, 107, 107, 0.16);
    color: var(--teal);
}

.status-pill-warning {
    background: rgba(0, 0, 0, 0.08);
    color: var(--mid);
}

.status-pill-error {
    background: rgba(185, 67, 47, 0.12);
    color: #a23c2c;
}

.stack-list,
.feature-list {
    list-style: none;
    margin-top: 1rem;
}

.stack-list li,
.feature-list li {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.84rem;
    color: var(--mid);
}

.stack-list li strong,
.feature-list li strong {
    color: var(--ink);
}

.stack-list li.active-item {
    color: var(--teal);
    font-weight: 600;
}

.stack-list li.muted-item {
    opacity: 0.5;
}

.section {
    padding: 6rem 0;
}

.muted-section {
    background: var(--cream);
}

.dark-section {
    background: var(--ink);
    color: var(--cream);
}

.dark-section .eyebrow-inline,
.dark-section .eyebrow-inline::before,
.cta-band .eyebrow-inline,
.cta-band .eyebrow-inline::before {
    color: var(--gold-light);
}

.dark-section h2,
.dark-section h3,
.dark-section p,
.dark-section .text-link,
.testimonial-card strong,
.testimonial-card span {
    color: var(--cream);
}

.dark-section .section-heading p {
    color: rgba(245, 240, 232, 0.6);
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    margin-bottom: 3rem;
}

.section-heading.center {
    justify-content: center;
    text-align: center;
}

.section-heading.center > * {
    max-width: 780px;
}

.feature-grid,
.card-grid,
.benefit-grid,
.testimonial-grid,
.plan-grid,
.info-grid,
.dashboard-stat-grid,
.dashboard-grid {
    display: grid;
    gap: 1.5rem;
}

.feature-grid,
.card-grid,
.benefit-grid,
.testimonial-grid,
.info-grid,
.plan-grid {
    grid-template-columns: repeat(3, 1fr);
}

.plan-grid.four {
    grid-template-columns: repeat(4, 1fr);
}

.feature-grid {
    gap: 1.5px;
    background: rgba(245, 240, 232, 0.1);
    border: 1.5px solid rgba(245, 240, 232, 0.1);
}

.feature-card {
    background: var(--ink);
    padding: 2.2rem 1.8rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transition: background 0.3s;
}

.feature-card:hover {
    background: #1c1c1c;
}

.feature-card h3 {
    color: var(--cream);
    font-size: 1.1rem;
}

.feature-card p {
    font-size: 0.87rem;
    line-height: 1.7;
    color: rgba(245, 240, 232, 0.58);
}

.feature-card small {
    color: var(--gold);
    opacity: 0.8;
    display: inline-block;
    margin-top: 0.9rem;
}

.feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin-bottom: 1.3rem;
    background: rgba(201, 168, 76, 0.15);
    color: var(--cream);
    font-family: "Space Mono", monospace;
}

.course-card,
.plan-card,
.testimonial-card,
.content-panel,
.benefit-card,
.info-card,
.auth-card,
.stat-card {
    padding: 1.5rem;
}

.course-card:hover,
.plan-card:hover {
    transform: translateY(-4px);
    transition: transform 0.25s, box-shadow 0.25s;
}

.course-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.course-card p {
    font-size: 0.83rem;
    color: var(--mid);
    line-height: 1.6;
}

.meta-pairs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    margin: 1.1rem 0 1.3rem;
}

.meta-pairs div {
    background: transparent;
    padding: 0;
}

.meta-pairs dt {
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--teal);
    margin-bottom: 0.2rem;
}

.meta-pairs dd {
    font-size: 0.83rem;
    color: var(--mid);
    margin: 0;
}

.course-hero-copy {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.course-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.72fr);
    gap: 1.5rem;
    align-items: start;
}

.course-hero-single {
    grid-template-columns: minmax(0, 1fr);
}

.course-hero-card {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.course-hero-copy h1,
.course-hero-copy .lead {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.course-student-progress {
    padding: 1rem;
    border: 1px solid var(--border);
    background: rgba(26, 107, 107, 0.05);
    display: grid;
    gap: 0.4rem;
}

.course-student-progress-label,
.course-pathway-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.course-student-progress strong {
    font-family: "Playfair Display", serif;
    font-size: 1.8rem;
    line-height: 1;
}

.course-student-progress p,
.course-journey-summary p {
    color: var(--mid);
    margin: 0;
}

.dashboard-page .page-hero {
    padding: 0 0 1rem;
}

.dashboard-page .page-hero::before {
    display: none;
}

.dashboard-page .section {
    padding: 0 0 1.5rem;
}

@media (max-width: 960px) {
    .course-hero {
        grid-template-columns: 1fr;
    }
}

.course-pathway-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}

.course-pathway-card {
    padding: 1rem 1.05rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 0.35rem;
}

.course-pathway-card strong {
    font-size: 1rem;
    line-height: 1.45;
}

.course-pathway-card p,
.curriculum-card-head p {
    color: var(--mid);
    line-height: 1.65;
}

.curriculum-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.course-journey-panel {
    display: grid;
    gap: 1rem;
}

.learner-course-journey-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 249, 248, 0.94));
}

.learner-course-journey-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.course-journey-summary {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.student-curriculum-tree-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.student-curriculum-tree {
    max-height: none;
    overflow: auto;
    padding-right: 0.4rem;
}

.learner-course-journey-grid {
    display: grid;
    gap: 0.85rem;
}

.learner-course-journey-card {
    display: grid;
    gap: 0.28rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.learner-course-journey-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.learner-course-journey-card strong {
    font-size: 1rem;
    line-height: 1.45;
    color: var(--ink);
}

.learner-course-journey-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
    font-size: 0.84rem;
}

.benefit-card p,
.info-card p,
.content-panel p,
.auth-card p {
    font-size: 0.87rem;
}

.plan-card {
    padding: 2.2rem 1.8rem;
}

.plan-card.highlight {
    background: var(--teal);
    color: #fff;
    border-color: var(--teal);
    transform: scale(1.02);
}

.plan-card.highlight:hover {
    transform: scale(1.02) translateY(-3px);
}

.plan-card .pill {
    background: transparent;
    padding: 0;
    color: var(--gold);
}

.plan-card.highlight .pill {
    color: #fff;
}

.price {
    font-family: "Playfair Display", serif;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1;
    margin: 0.8rem 0 1rem;
}

.price small {
    font-family: "DM Sans", sans-serif;
    font-size: 0.85rem;
    font-weight: 400;
    opacity: 0.72;
}

.pricing-plan-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.pricing-plan-top,
.pricing-plan-actions,
.pricing-school-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pricing-plan-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
    flex-shrink: 0;
}

.plan-card.highlight .pricing-plan-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.pricing-best-for {
    color: var(--teal);
    font-size: 0.88rem;
    line-height: 1.6;
}

.plan-card.highlight .pricing-best-for {
    color: rgba(255, 255, 255, 0.82);
}

.pricing-plan-note {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: auto;
    padding-top: 0.35rem;
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--mid);
}

.pricing-plan-note i {
    color: var(--gold);
    margin-top: 0.15rem;
}

.plan-card.highlight .pricing-plan-note,
.plan-card.highlight .pricing-plan-note i {
    color: rgba(255, 255, 255, 0.86);
}

.plan-card.highlight .feature-list li {
    color: rgba(255, 255, 255, 0.94);
    border-bottom-color: rgba(255, 255, 255, 0.18);
}

.plan-card.highlight .feature-list li strong {
    color: #fff;
}

.plan-card.highlight .button-primary {
    background: transparent;
    border: 1.5px solid #fff;
    color: #fff;
}

.plan-card.highlight .button-primary:hover,
.plan-card.highlight .button-primary:focus-visible {
    background: #fff;
    color: var(--teal);
    box-shadow: none;
}

.pricing-school-layout,
.pricing-compare-row {
    display: grid;
    gap: 1.5rem;
}

.pricing-school-layout {
    grid-template-columns: 1.35fr 0.9fr;
    align-items: stretch;
}

.pricing-school-panel,
.pricing-school-aside {
    padding: 2rem;
}

.premium-school-panel {
    background:
        linear-gradient(135deg, rgba(10, 53, 68, 0.96), rgba(26, 107, 107, 0.95)),
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 38%);
    color: #fff;
    border: none;
    position: relative;
    overflow: hidden;
}

.premium-school-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%);
    pointer-events: none;
}

.pricing-school-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.4rem;
}

.pricing-school-badge {
    font-family: "Space Mono", monospace;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    border: 1px solid rgba(255, 255, 255, 0.22);
    padding: 0.55rem 0.75rem;
    white-space: nowrap;
}

.premium-school-panel .eyebrow-inline,
.premium-school-panel p,
.premium-school-panel li {
    color: rgba(255, 255, 255, 0.88);
}

.premium-school-panel h2 {
    color: #fff;
}

.pricing-school-list {
    margin-top: 1.2rem;
}

.premium-school-panel .pricing-school-list li {
    color: rgba(255, 255, 255, 0.94);
    border-bottom-color: rgba(255, 255, 255, 0.16);
}

.pricing-school-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.3rem;
}

.pricing-school-highlight-card {
    padding: 1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    gap: 0.45rem;
}

.pricing-school-highlight-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.68);
}

.pricing-school-highlight-card strong {
    font-size: 0.92rem;
    line-height: 1.65;
    color: #fff;
    font-weight: 600;
}

.pricing-school-highlight-icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(232, 201, 122, 0.16);
    color: var(--gold-light);
}

.pricing-school-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 1.6rem;
}

.pricing-school-meta {
    display: grid;
    gap: 0.9rem;
    margin: 1.35rem 0 1rem;
}

.pricing-school-meta-item {
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
    border-radius: 4px;
    display: grid;
    gap: 0.3rem;
}

.pricing-school-meta-item span {
    font-family: "Space Mono", monospace;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--teal);
}

.pricing-school-meta-item strong {
    font-size: 0.95rem;
}

.pricing-school-aside-copy {
    color: var(--mid);
    line-height: 1.7;
}

.button-ghost.light-ghost {
    border-color: rgba(255, 255, 255, 0.32);
    color: #fff;
}

.button-ghost.light-ghost:hover,
.button-ghost.light-ghost:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.pricing-school-journey {
    margin-top: 1.75rem;
    display: grid;
    gap: 0.95rem;
}

.pricing-school-journey-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
    padding-top: 0.95rem;
    border-top: 1px solid var(--border);
}

.pricing-school-step {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--teal-pale);
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.72rem;
    font-weight: 700;
}

.pricing-school-journey-step h3 {
    font-size: 1rem;
    margin-bottom: 0.3rem;
}

.pricing-school-journey-step p {
    color: var(--mid);
    font-size: 0.87rem;
    line-height: 1.65;
}

.pricing-compare-shell {
    border: 1px solid var(--border);
    background: var(--card);
}

.pricing-compare-row {
    grid-template-columns: 1.3fr repeat(4, 1fr);
    border-bottom: 1px solid var(--border);
}

.pricing-compare-row:last-child {
    border-bottom: none;
}

.pricing-compare-head {
    background: rgba(26, 107, 107, 0.06);
}

.pricing-compare-feature,
.pricing-compare-plan,
.pricing-compare-value {
    padding: 1rem 1.1rem;
    font-size: 0.88rem;
}

.pricing-compare-feature {
    font-weight: 700;
}

.pricing-compare-plan {
    font-family: "Space Mono", monospace;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.pricing-compare-value {
    border-left: 1px solid var(--border);
    color: var(--mid);
}

.pricing-compare-value.is-strong {
    color: var(--ink);
    font-weight: 600;
}

.pricing-compare-value.is-partial {
    color: var(--rust);
    font-weight: 600;
}

.pricing-compare-value.is-muted {
    color: var(--mid);
}

.pricing-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.pricing-faq-item {
    border: 1px solid var(--border);
    background: var(--card);
    padding: 1.15rem 1.2rem;
}

.pricing-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.pricing-faq-item summary::-webkit-details-marker {
    display: none;
}

.pricing-faq-item summary i {
    color: var(--teal);
    transition: transform 0.25s ease;
}

.pricing-faq-item[open] summary i {
    transform: rotate(45deg);
}

.pricing-faq-item p {
    margin-top: 0.95rem;
    color: var(--mid);
    line-height: 1.7;
    font-size: 0.88rem;
}

.testimonial-card {
    background: rgba(245, 240, 232, 0.05);
    border: 1px solid rgba(245, 240, 232, 0.1);
}

.testimonial-card p {
    font-family: "Playfair Display", serif;
    font-size: 1.02rem;
    line-height: 1.75;
    color: rgba(245, 240, 232, 0.88);
    margin-bottom: 1rem;
    font-style: italic;
}

.testimonial-card strong {
    font-size: 0.88rem;
}

.testimonial-card span {
    display: block;
    font-size: 0.76rem;
    color: rgba(245, 240, 232, 0.45);
}

.cta-band {
    background: var(--teal);
    color: #fff;
    padding: 5rem 0;
    text-align: center;
}

.cta-panel {
    display: grid;
    gap: 1.5rem;
}

.cta-panel p {
    color: rgba(255, 255, 255, 0.75);
}

.cta-band .button-row {
    justify-content: center;
}

.mf {
    background: #080808;
    color: rgba(245, 240, 232, 0.55);
    padding: 3.5rem 0 2rem;
}

.foot-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(245, 240, 232, 0.1);
    margin-bottom: 1.5rem;
}

.foot-col h4 {
    font-family: "Space Mono", monospace;
    font-size: 0.67rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cream);
    margin-bottom: 1.1rem;
}

.foot-col a,
.foot-btm {
    font-size: 0.85rem;
    color: rgba(245, 240, 232, 0.45);
    transition: color 0.2s;
    display: block;
    margin-bottom: 0.5rem;
}

.foot-col a:hover {
    color: var(--teal-light);
}

.foot-btm {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.8rem;
}

.text-link {
    color: var(--teal);
    font-weight: 600;
}

.text-link i {
    margin-right: 0.35rem;
}

.ges-action-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.1rem;
    align-items: center;
    margin-top: 0.85rem;
}

.ges-action-links .text-link,
.ges-action-link-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.92rem;
}

.ges-action-links .text-link {
    min-height: 42px;
    padding: 0.55rem 0.75rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
    line-height: 1;
    text-decoration: none;
}

.ges-action-links .text-link:hover,
.ges-action-links .text-link:focus-visible {
    background: rgba(26, 107, 107, 0.14);
    color: var(--teal-dark);
}

.row-overflow-menu {
    position: relative;
    display: inline-flex;
}

.row-overflow-menu[open] {
    z-index: 12;
}

.row-overflow-trigger {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.72rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    white-space: nowrap;
}

.row-overflow-trigger::-webkit-details-marker {
    display: none;
}

.row-overflow-trigger-small {
    min-height: 2.45rem;
    padding: 0.58rem 0.85rem;
    font-size: 0.92rem;
}

.row-overflow-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    min-width: 220px;
    display: grid;
    gap: 0.25rem;
    padding: 0.45rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.09);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
}

.row-overflow-panel-compact {
    min-width: 200px;
}

.row-overflow-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.72rem 0.8rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ink);
    text-decoration: none;
    font-size: 0.94rem;
    text-align: left;
    cursor: pointer;
}

.row-overflow-link:hover,
.row-overflow-link:focus-visible {
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
}

.row-overflow-link-danger:hover,
.row-overflow-link-danger:focus-visible {
    background: rgba(185, 67, 47, 0.08);
    color: #b9432f;
}

.row-overflow-form {
    margin: 0;
}

.ges-action-link-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--teal);
    font-weight: 600;
}

.ges-action-link-danger {
    color: #8c2f2f;
}

.filter-bar {
    display: grid;
    gap: 1rem;
    margin-bottom: 2rem;
}

.filter-bar input,
.stack-form input,
.stack-form select,
.stack-form textarea,
.dark-panel textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--border);
    border-radius: 3px;
    font-size: 0.9rem;
    background: #fff;
    color: var(--ink);
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}

.filter-bar input:focus,
.stack-form input:focus,
.stack-form select:focus,
.stack-form textarea:focus,
.dark-panel textarea:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(26, 107, 107, 0.12);
}

.filter-pills,
.role-picker,
.category-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.filter-pill-button {
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-pill-button.active,
.filter-pill-button:hover {
    background: var(--teal);
    color: #fff;
}

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

.discovery-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.25rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.discovery-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
}

.discovery-card h3 {
    margin-bottom: 0.4rem;
}

.discovery-card p {
    font-size: 0.83rem;
    line-height: 1.65;
    color: var(--mid);
}

.catalog-learner-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    margin-bottom: 1.8rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(232, 244, 244, 0.84));
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.05);
}

.catalog-learner-copy {
    display: grid;
    gap: 0.45rem;
    max-width: 60ch;
    min-width: 0;
}

.catalog-learner-copy h2 {
    margin: 0;
    overflow-wrap: anywhere;
}

.catalog-learner-copy p {
    color: var(--mid);
    line-height: 1.7;
    margin: 0;
}

.catalog-learner-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-self: end;
}

.courses-access-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1.25rem;
}

.access-tab-button {
    border: 1px solid rgba(13, 13, 13, 0.12);
    background: rgba(255, 255, 255, 0.9);
    color: var(--mid);
    border-radius: 999px;
    padding: 0.62rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.access-tab-button.active,
.access-tab-button:hover {
    background: var(--ink);
    color: var(--cream);
    border-color: var(--ink);
}

.detail-grid,
.contact-grid {
    grid-template-columns: 2fr 1fr;
}

.two-column {
    grid-template-columns: 1fr 1fr;
}

.stack-panel,
.contact-side {
    display: grid;
    gap: 1.2rem;
}

.contact-panel,
.contact-channel-card,
.contact-location-card,
.contact-social-card {
    position: relative;
}

.contact-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.contact-panel-copy {
    max-width: 52ch;
    color: var(--mid);
    line-height: 1.75;
}

.contact-response-note {
    min-width: 180px;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    background: rgba(26, 107, 107, 0.05);
    display: grid;
    gap: 0.35rem;
}

.contact-response-note span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-family: "Space Mono", monospace;
    font-size: 0.67rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.contact-response-note strong {
    font-size: 0.95rem;
}

.contact-prefill-note {
    margin-top: -0.2rem;
    margin-bottom: 0.2rem;
    color: var(--teal);
    font-weight: 600;
}

.mobile-lab-page .mobile-lab-hero {
    background:
        radial-gradient(circle at top right, rgba(20, 73, 168, 0.12), transparent 34%),
        radial-gradient(circle at left center, rgba(201, 168, 76, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.92));
}

.mobile-lab-page .mobile-lab-hero-grid,
.mobile-lab-page .mobile-lab-readiness-layout {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 2rem;
    align-items: center;
}

.mobile-lab-page .mobile-lab-hero-copy {
    display: grid;
    gap: 1rem;
}

.mobile-lab-page .mobile-lab-hero-panel {
    background:
        linear-gradient(145deg, rgba(18, 61, 150, 0.96), rgba(26, 107, 107, 0.92));
    color: #fff;
    border-radius: 10px;
    padding: 1.6rem;
    box-shadow: 0 18px 46px rgba(18, 61, 150, 0.18);
    display: grid;
    gap: 1rem;
}

.mobile-lab-page .mobile-lab-hero-panel h3 {
    color: #fff;
    font-size: 1.55rem;
    line-height: 1.28;
    margin: 0;
}

.mobile-lab-page .mobile-lab-hero-panel p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    line-height: 1.7;
}

.mobile-lab-page .mobile-lab-hero-badge {
    display: inline-flex;
    width: fit-content;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: var(--gold-light);
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.mobile-lab-page .mobile-lab-hero-highlights {
    display: grid;
    gap: 0.85rem;
}

.mobile-lab-page .mobile-lab-highlight-item {
    padding: 0.95rem 1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    display: grid;
    gap: 0.3rem;
}

.mobile-lab-page .mobile-lab-highlight-item span {
    color: var(--gold-light);
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.mobile-lab-page .mobile-lab-highlight-item strong {
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.55;
}

.mobile-lab-page .mobile-lab-announcement {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.6rem 1rem;
    background: #123d96;
    color: #fff;
    border-radius: 4px;
    font-size: 0.86rem;
    font-weight: 600;
}

.mobile-lab-page .mobile-lab-trust-row {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.mobile-lab-page .mobile-lab-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(18, 61, 150, 0.14);
    background: rgba(255, 255, 255, 0.78);
    font-size: 0.8rem;
    color: #123d96;
    font-weight: 600;
}

.mobile-lab-page .mobile-lab-section-heading {
    align-items: flex-end;
}

.mobile-lab-page .mobile-lab-services-head {
    display: grid;
    grid-template-columns: minmax(80px, 1fr) auto minmax(80px, 1fr);
    gap: 1.5rem;
    align-items: center;
    margin-bottom: 2rem;
    text-align: center;
}

.mobile-lab-page .mobile-lab-services-head p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--mid);
    line-height: 1.7;
}

.mobile-lab-page .mobile-lab-services-head .eyebrow-inline {
    justify-content: center;
}

.mobile-lab-page .mobile-lab-services-line {
    height: 2px;
    background: linear-gradient(90deg, transparent, #123d96, transparent);
}

.mobile-lab-page .mobile-lab-step-card,
.mobile-lab-page .mobile-lab-service-card,
.mobile-lab-page .mobile-lab-benefit-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
}

.mobile-lab-page .mobile-lab-step-grid,
.mobile-lab-page .mobile-lab-service-grid,
.mobile-lab-page .mobile-lab-benefit-grid {
    display: grid;
    gap: 1.5rem;
}

.mobile-lab-page .mobile-lab-step-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mobile-lab-page .mobile-lab-service-grid,
.mobile-lab-page .mobile-lab-benefit-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mobile-lab-page .mobile-lab-step-card,
.mobile-lab-page .mobile-lab-service-card,
.mobile-lab-page .mobile-lab-benefit-card {
    padding: 1.4rem;
}

.mobile-lab-page .mobile-lab-step-card {
    position: relative;
    overflow: hidden;
}

.mobile-lab-page .mobile-lab-step-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #123d96, var(--gold));
}

.mobile-lab-page .mobile-lab-service-card {
    text-align: center;
    border-color: rgba(18, 61, 150, 0.18);
}

.mobile-lab-page .mobile-lab-service-card h3 {
    font-size: 1.18rem;
    line-height: 1.2;
    margin-bottom: 0.65rem;
    text-transform: uppercase;
}

.mobile-lab-page .mobile-lab-service-grid .mobile-lab-service-card:nth-child(odd) h3 {
    color: #123d96;
}

.mobile-lab-page .mobile-lab-service-grid .mobile-lab-service-card:nth-child(even) h3 {
    color: #c48b00;
}

.mobile-lab-page .mobile-lab-step-number,
.mobile-lab-page .mobile-lab-service-icon,
.mobile-lab-page .mobile-lab-benefit-icon {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.mobile-lab-page .mobile-lab-step-number {
    background: rgba(18, 61, 150, 0.12);
    color: #123d96;
    font-family: "Space Mono", monospace;
    font-size: 0.8rem;
    font-weight: 700;
}

.mobile-lab-page .mobile-lab-service-icon {
    background: rgba(201, 168, 76, 0.18);
    color: #b67b00;
    font-size: 1.15rem;
}

.mobile-lab-page .mobile-lab-service-grid .mobile-lab-service-card:nth-child(odd) .mobile-lab-service-icon {
    background: rgba(18, 61, 150, 0.12);
    color: #123d96;
}

.mobile-lab-page .mobile-lab-service-grid .mobile-lab-service-card:nth-child(even) .mobile-lab-service-icon {
    background: rgba(201, 168, 76, 0.18);
    color: #c48b00;
}

.mobile-lab-page .mobile-lab-benefit-icon {
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    font-size: 1.05rem;
}

.mobile-lab-page .mobile-lab-step-card p,
.mobile-lab-page .mobile-lab-service-card p,
.mobile-lab-page .mobile-lab-benefit-card p,
.mobile-lab-page .mobile-lab-readiness-panel p,
.mobile-lab-page .mobile-lab-school-note p {
    color: var(--mid);
    line-height: 1.7;
    font-size: 0.88rem;
}

.mobile-lab-page .mobile-lab-benefit-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,240,232,0.88));
}

.mobile-lab-page .mobile-lab-services-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 240, 232, 0.94));
}

.mobile-lab-page .mobile-lab-value-strip {
    margin-top: 1.6rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(18, 61, 150, 0.15);
}

.mobile-lab-page .mobile-lab-value-item {
    padding: 1.2rem 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    border-right: 1px solid rgba(18, 61, 150, 0.15);
}

.mobile-lab-page .mobile-lab-value-item:last-child {
    border-right: none;
}

.mobile-lab-page .mobile-lab-value-item strong {
    color: #123d96;
    font-size: 0.95rem;
    line-height: 1.45;
}

.mobile-lab-page .mobile-lab-value-icon {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    border: 2px solid rgba(18, 61, 150, 0.26);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #123d96;
    flex-shrink: 0;
    font-size: 1rem;
}

.mobile-lab-page .mobile-lab-readiness-section {
    background: rgba(245, 240, 232, 0.72);
}

.mobile-lab-page .mobile-lab-readiness-panel,
.mobile-lab-page .mobile-lab-school-note {
    padding: 1.7rem;
}

.mobile-lab-page .mobile-lab-readiness-list {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.2rem;
}

.mobile-lab-page .mobile-lab-readiness-item {
    display: grid;
    gap: 0.28rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.78);
    border-radius: 4px;
}

.mobile-lab-page .mobile-lab-readiness-item span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #123d96;
}

.mobile-lab-page .mobile-lab-school-note {
    background:
        linear-gradient(135deg, rgba(18, 61, 150, 0.96), rgba(26, 107, 107, 0.94));
    color: #fff;
    border: none;
}

.mobile-lab-page .mobile-lab-school-note h3,
.mobile-lab-page .mobile-lab-school-note p {
    color: #fff;
}

.mobile-lab-page .mobile-lab-school-note p {
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 1.2rem;
}

.mobile-lab-page .mobile-lab-note-actions {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.mobile-lab-page .mobile-lab-cta-band {
    background:
        linear-gradient(135deg, #123d96, #1a6b6b);
}

.contact-support-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.contact-support-card {
    padding: 1rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.75);
}

.contact-support-card h3 {
    font-size: 0.98rem;
    margin-bottom: 0.4rem;
}

.contact-support-card p {
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.7;
}

.contact-support-icon,
.contact-channel-icon,
.contact-social-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
}

.contact-support-icon {
    margin-bottom: 0.85rem;
}

.contact-success-card {
    padding: 1.4rem;
    border: 1px solid rgba(122, 173, 138, 0.28);
    background: rgba(122, 173, 138, 0.08);
    margin-bottom: 1.35rem;
    display: grid;
    gap: 0.75rem;
}

.contact-success-card p {
    color: var(--mid);
    line-height: 1.75;
}

.contact-channel-card {
    display: grid;
    gap: 0.65rem;
}

.contact-channel-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--teal);
}

.contact-map-placeholder {
    margin-top: 1rem;
    min-height: 150px;
    border: 1px dashed rgba(26, 107, 107, 0.28);
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.06), rgba(201, 168, 76, 0.09));
    display: grid;
    place-items: center;
    gap: 0.6rem;
    text-align: center;
    color: var(--teal);
    padding: 1rem;
}

.contact-map-placeholder i {
    font-size: 1.5rem;
}

.contact-social-list {
    display: grid;
    gap: 0.75rem;
}

.contact-social-link {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.contact-social-link:hover {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.28);
}

.contact-social-link span:last-child {
    display: grid;
    gap: 0.12rem;
}

.contact-social-link strong {
    font-size: 0.9rem;
}

.contact-social-link small {
    color: var(--mid);
    font-size: 0.78rem;
}

.utility-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.utility-card {
    height: 100%;
}

.utility-card h2 {
    font-size: 1.35rem;
    margin-bottom: 0.8rem;
}

.utility-card p {
    color: var(--mid);
    line-height: 1.75;
}

.utility-cta-panel {
    display: grid;
    grid-template-columns: 1.2fr auto;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;
    border: 1px solid var(--border);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(232, 244, 244, 0.72));
}

.utility-cta-panel p {
    color: var(--mid);
    line-height: 1.75;
}

.utility-cta-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.stack-form {
    display: grid;
    gap: 1rem;
}

.field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.field-row label,
.stack-form label {
    display: grid;
    gap: 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ink);
}

.role-option {
    border: 1.5px solid var(--border);
    border-radius: 4px;
    padding: 0.85rem 0.7rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
    color: var(--ink);
    font-size: 0.8rem;
    font-weight: 600;
}

.role-option:hover,
.role-option.active {
    border-color: var(--teal);
    background: var(--teal-pale);
}

.helper-text {
    margin-top: 1rem;
    font-size: 0.83rem;
    color: var(--mid);
}

.field-error {
    font-size: 0.77rem;
    color: #a13c24;
}

.form-alert {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(161, 60, 36, 0.25);
    background: rgba(192, 94, 58, 0.08);
    color: #7b351e;
    font-size: 0.83rem;
    line-height: 1.6;
}

.form-alert p + p {
    margin-top: 0.35rem;
}

.flash-stack {
    padding-top: 6.4rem;
}

.flash-stack .container {
    display: grid;
    gap: 0.75rem;
}

.flash-message {
    padding: 0.9rem 1rem;
    border-radius: 6px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    font-size: 0.88rem;
}

.flash-success {
    border-color: rgba(122, 173, 138, 0.28);
    background: rgba(122, 173, 138, 0.12);
}

.flash-info {
    border-color: rgba(26, 107, 107, 0.22);
    background: rgba(26, 107, 107, 0.09);
}

.flash-error,
.flash-warning {
    border-color: rgba(192, 94, 58, 0.28);
    background: rgba(192, 94, 58, 0.1);
}

.auth-section {
    padding: 8rem 0 4rem;
}

.auth-grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.small-row {
    font-size: 0.83rem;
}

.checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.app-shell {
    display: flex;
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 28%),
        linear-gradient(180deg, #f8f5ef, #f2ede5);
}

.sidebar {
    width: var(--sidebar-w);
    background:
        radial-gradient(circle at top left, rgba(46, 158, 158, 0.16), transparent 26%),
        radial-gradient(circle at bottom right, rgba(201, 168, 76, 0.14), transparent 30%),
        linear-gradient(180deg, #0a0b0f 0%, #0e1015 48%, #0b0c11 100%);
    color: var(--cream);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
    overflow-y: auto;
    overflow-x: hidden;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 22px 0 60px rgba(0, 0, 0, 0.28);
    will-change: width, transform;
    transition: width 0.42s cubic-bezier(0.2, 0.9, 0.2, 1), transform 0.42s cubic-bezier(0.2, 0.9, 0.2, 1), box-shadow 0.36s ease;
}

.sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 22%, transparent 78%, rgba(255, 255, 255, 0.02)),
        linear-gradient(135deg, rgba(255, 255, 255, 0.02), transparent 30%);
    pointer-events: none;
}

.sidebar-shell {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    padding: 1rem 0.95rem 1rem;
    transition: padding 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), gap 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    transition: gap 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-topbar-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.78rem;
    transition: transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), gap 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-mini-brand {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    transition: transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), width 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), height 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-mini-brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.sidebar-topbar-copy {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
    overflow: hidden;
    transform-origin: left center;
    transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.2, 0.9, 0.2, 1), max-width 0.3s cubic-bezier(0.2, 0.9, 0.2, 1);
    max-width: 210px;
}

.sidebar-topbar-copy strong {
    font-family: "Playfair Display", serif;
    font-size: 1.04rem;
    line-height: 1.08;
    color: var(--cream);
    letter-spacing: -0.02em;
}

.sidebar-topbar-copy small {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    color: rgba(245, 240, 232, 0.5);
}

.sidebar-collapse-btn {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(245, 240, 232, 0.82);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), width 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), height 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-collapse-btn i {
    position: absolute;
    top: 50%;
    left: 50%;
    line-height: 1;
    transform: translate(-50%, -50%);
    transform-origin: center;
    transition: transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-collapse-btn:hover,
.sidebar-collapse-btn:focus-visible {
    background: rgba(46, 158, 158, 0.16);
    border-color: rgba(46, 158, 158, 0.3);
    color: var(--cream);
    transform: translateY(-1px);
}

.sidebar-panel,
.sidebar-welcome-card,
.sidebar-role-card,
.sidebar-footer {
    border: 1px solid rgba(255, 255, 255, 0.07);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
    border-radius: 22px;
    backdrop-filter: blur(18px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 18px 40px rgba(0, 0, 0, 0.2);
    transition: opacity 0.24s ease, transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1), border-color 0.24s ease, background 0.24s ease;
}

.sidebar-body {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
    transition: gap 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar.role-student .sidebar-shell {
    gap: 0.8rem;
}

.sidebar.role-student .sidebar-welcome-card,
.sidebar.role-student .sidebar-panel,
.sidebar.role-student .sidebar-footer {
    border-radius: 18px;
}

.sidebar.role-student .sidebar-welcome-card {
    padding: 0.9rem;
}

.sidebar.role-student .sidebar-role-meta {
    gap: 0.45rem;
}

.sidebar.role-student .sidebar-item {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.sidebar.role-student .sidebar-action-list {
    gap: 0.65rem;
}

.sidebar.role-student .sidebar-footer-note {
    font-size: 0.78rem;
}

.sidebar-welcome-card {
    padding: 1rem;
    gap: 0.85rem;
    transition: opacity 0.22s ease, transform 0.3s ease;
}

.sidebar-welcome-top {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.sidebar-welcome-avatar {
    width: 46px;
    height: 46px;
    font-size: 0.92rem;
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(201, 168, 76, 0.88));
    color: #fff;
    box-shadow: 0 10px 20px rgba(13, 13, 13, 0.24);
}

.sidebar-welcome-copy {
    display: grid;
    gap: 0.26rem;
}

.sidebar-welcome-copy strong {
    color: var(--cream);
    font-size: 1.04rem;
    line-height: 1.2;
}

.sidebar-welcome-copy p {
    color: rgba(245, 240, 232, 0.72);
    font-size: 0.78rem;
    line-height: 1.55;
    margin: 0;
}

.sidebar-role-card {
    padding: 0.95rem 1rem;
    display: grid;
    gap: 0.42rem;
    transition: opacity 0.22s ease, transform 0.3s ease;
}

.sidebar-role-card strong {
    color: var(--cream);
    font-size: 0.92rem;
    line-height: 1.45;
}

.sidebar-role-eyebrow {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold-light);
}

.sidebar-role-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sidebar-role-meta span {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.62rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(245, 240, 232, 0.72);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.06em;
}

.sidebar-panel {
    padding: 0.85rem;
    transition: opacity 0.22s ease, transform 0.3s ease;
}

.sidebar-label {
    font-family: "Space Mono", monospace;
    font-size: 0.6rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(245, 240, 232, 0.34);
    padding: 0 0.15rem 0.75rem;
    transition: opacity 0.2s ease, transform 0.28s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.dashboard-nav {
    display: grid;
    gap: 0.4rem;
    transition: gap 0.34s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.78rem;
    min-height: 56px;
    padding: 0.72rem 0.78rem;
    font-size: 0.87rem;
    color: rgba(245, 240, 232, 0.68);
    position: relative;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid transparent;
    transition: transform 0.24s ease, background 0.24s ease, color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.sidebar-item:hover {
    color: var(--cream);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    transform: translateX(2px);
}

.sidebar-item.active {
    color: var(--cream);
    background:
        linear-gradient(135deg, rgba(46, 158, 158, 0.2), rgba(46, 158, 158, 0.08)),
        rgba(255, 255, 255, 0.04);
    border-color: rgba(46, 158, 158, 0.2);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

.sidebar-item.active::after {
    content: "";
    position: absolute;
    left: 0.42rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 24px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold-light), var(--teal-light));
}

.s-ico {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
    font-size: 0.96rem;
    background: rgba(255, 255, 255, 0.06);
    color: inherit;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.s-ico i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

.sidebar-item:hover .s-ico,
.sidebar-item.active .s-ico {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    transform: translateY(-1px);
}

.sidebar-item-copy {
    display: grid;
    min-width: 0;
    gap: 0.14rem;
}

.sidebar-item-label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    line-height: 1.2;
    overflow: hidden;
    white-space: nowrap;
    max-width: 180px;
    transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.2, 0.9, 0.2, 1), max-width 0.3s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.sidebar-item-hint {
    font-size: 0.7rem;
    line-height: 1.35;
    color: rgba(245, 240, 232, 0.44);
}

.sidebar-item-arrow {
    color: rgba(245, 240, 232, 0.3);
    font-size: 0.72rem;
    transition: transform 0.2s ease, color 0.2s ease;
}

.sidebar-item:hover .sidebar-item-arrow,
.sidebar-item.active .sidebar-item-arrow {
    color: rgba(245, 240, 232, 0.72);
    transform: translateX(2px);
}

.sidebar-action-list {
    display: grid;
    gap: 0.65rem;
}

.sidebar-action-card {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 18px;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.sidebar-action-card:hover {
    background: rgba(46, 158, 158, 0.12);
    border-color: rgba(46, 158, 158, 0.26);
    transform: translateY(-1px);
}

.sidebar-action-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.sidebar-action-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    color: var(--teal-light);
    flex-shrink: 0;
}

.sidebar-action-title {
    color: var(--cream);
    font-size: 0.83rem;
    font-weight: 600;
}

.sidebar-action-card small {
    color: rgba(245, 240, 232, 0.58);
    font-size: 0.74rem;
    line-height: 1.55;
}

.sidebar-collapsed-shortcuts-panel {
    display: none;
}

.sidebar-collapsed-shortcuts {
    display: grid;
    gap: 0.7rem;
}

.sidebar-collapsed-shortcut {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 240, 232, 0.84);
    display: grid;
    place-items: center;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.sidebar-collapsed-shortcut:hover {
    transform: translateY(-1px);
    border-color: rgba(198, 161, 74, 0.2);
    background: rgba(198, 161, 74, 0.08);
    color: #fff;
}

.sidebar-collapsed-logout {
    border-color: rgba(212, 90, 76, 0.18);
    background: rgba(212, 90, 76, 0.08);
    color: #ffd7d0;
}

.sidebar-collapsed-logout:hover,
.sidebar-collapsed-logout:focus-visible {
    border-color: rgba(212, 90, 76, 0.34);
    background: rgba(212, 90, 76, 0.15);
    color: #fff;
}

.sidebar-collapsed-shortcut i {
    font-size: 1rem;
}

.sidebar-mini-links {
    display: grid;
    gap: 0.55rem;
}

.sidebar-utility-link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 44px;
    padding: 0.7rem 0.8rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(245, 240, 232, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.78rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sidebar-utility-link:hover {
    color: var(--cream);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.08);
}

.sidebar-footer {
    margin-top: auto;
    padding: 0.95rem 1rem;
    display: grid;
    gap: 0.85rem;
    transition: opacity 0.22s ease, transform 0.3s ease;
}

.sidebar-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.s-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--teal), var(--gold));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #fff;
    flex-shrink: 0;
}

.sidebar-user strong {
    font-size: 0.85rem;
    color: var(--cream);
}

.sidebar-user small {
    font-size: 0.72rem;
    color: rgba(245, 240, 232, 0.45);
}

.sidebar-footer-note {
    color: rgba(245, 240, 232, 0.52);
    font-size: 0.76rem;
    line-height: 1.6;
    margin: 0;
}

.sidebar-developer-credit {
    margin: 0.25rem 0 0;
    color: rgba(245, 240, 232, 0.42);
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-main {
    margin-left: var(--sidebar-w);
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    transition: margin-left 0.42s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.app-shell.sidebar-collapsed .sidebar {
    width: var(--sidebar-collapsed-w);
}

.app-shell.sidebar-collapsed .app-main {
    margin-left: var(--sidebar-collapsed-w);
}

.app-shell.sidebar-collapsed .sidebar-topbar {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0.65rem;
}

.app-shell.sidebar-collapsed .sidebar-collapse-btn {
    order: 1;
}

.app-shell.sidebar-collapsed .sidebar-topbar-brand {
    order: 2;
    flex-direction: column;
    justify-content: center;
    gap: 0;
}

.app-shell.sidebar-collapsed .sidebar-mini-brand {
    width: 48px;
    height: 48px;
}

.app-shell.sidebar-collapsed .sidebar-topbar-copy,
.app-shell.sidebar-collapsed .sidebar-welcome-card,
.app-shell.sidebar-collapsed .sidebar-role-card,
.app-shell.sidebar-collapsed .sidebar-quick-panel,
.app-shell.sidebar-collapsed .sidebar-tools-panel,
.app-shell.sidebar-collapsed .sidebar-footer {
    display: none;
}

.app-shell.sidebar-collapsed .sidebar-shell {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
    gap: 0.85rem;
}

.app-shell.sidebar-collapsed .sidebar-body {
    gap: 0.7rem;
}

.app-shell.sidebar-collapsed .sidebar-nav-panel {
    padding: 0.45rem;
    border-radius: 24px;
}

.app-shell.sidebar-collapsed .sidebar-collapsed-shortcuts-panel {
    display: grid;
    padding: 0.45rem;
    border-radius: 24px;
}

.app-shell.sidebar-collapsed .sidebar-label,
.app-shell.sidebar-collapsed .sidebar-item-copy,
.app-shell.sidebar-collapsed .sidebar-item-arrow,
.app-shell.sidebar-collapsed .sidebar-item::after {
    display: none;
}

.app-shell.sidebar-collapsed .dashboard-nav {
    gap: 0.7rem;
}

.app-shell.sidebar-collapsed .sidebar-collapsed-shortcuts {
    gap: 0.7rem;
}

.app-shell.sidebar-collapsed .sidebar-item {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 56px;
    min-height: 56px;
    margin: 0 auto;
    padding: 0;
    border-radius: 18px;
}

.app-shell.sidebar-collapsed .sidebar-item:hover {
    transform: translateY(-1px);
}

.app-shell.sidebar-collapsed .s-ico {
    width: 2.55rem;
    height: 2.55rem;
    font-size: 0.98rem;
}

.app-shell.sidebar-collapsed .sidebar-collapsed-shortcut {
    width: 56px;
    min-height: 56px;
    margin: 0 auto;
    border-radius: 18px;
}

.app-shell.sidebar-collapsed .sidebar-collapse-btn {
    width: 40px;
    height: 40px;
}

.app-shell.sidebar-collapsed .sidebar-collapse-btn i {
    transform: translate(-50%, -50%) rotate(180deg);
}

.dashboard-action-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    flex-shrink: 0;
}

.app-header {
    min-height: var(--header-h);
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 2rem;
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(14px);
    gap: 1rem;
}

.app-header h1,
.app-header h2 {
    font-size: 1.28rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.app-shell.has-student-mobile-nav .app-header {
    position: relative;
    top: auto;
}

.app-header-main {
    display: grid;
    gap: 0.35rem;
    flex: 1 1 auto;
    min-width: 0;
}

.app-sidebar-toggle {
    display: none;
    align-items: center;
    gap: 0.7rem;
    width: fit-content;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(26, 107, 107, 0.18);
    background: rgba(255, 255, 255, 0.86);
    color: var(--ink);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.app-sidebar-toggle-bars {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
}

.app-sidebar-toggle-bars::before,
.app-sidebar-toggle-bars::after {
    content: "";
    position: absolute;
    left: 0;
    width: 14px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
}

.app-sidebar-toggle-bars::before {
    top: -5px;
}

.app-sidebar-toggle-bars::after {
    top: 5px;
}

.app-header-badge-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.app-shell-badge,
.app-shell-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.6rem;
    border-radius: 999px;
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-shell-badge {
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.app-shell-chip {
    background: rgba(201, 168, 76, 0.14);
    color: #8b6900;
}

.app-header-copy {
    margin-top: 0.18rem;
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.student-mobile-nav {
    display: none;
}

@keyframes studentSurfaceIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes studentNavIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-right {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    flex-wrap: nowrap;
    justify-content: flex-end;
    flex: 0 0 auto;
    max-width: min(520px, 48vw);
}

.app-header-meta {
    display: grid;
    gap: 0.12rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.8);
    min-width: 170px;
    flex: 0 0 auto;
}

.header-right .student-header-primary-action {
    flex: 0 0 auto;
    white-space: nowrap;
}

.header-right .notif-menu {
    flex: 0 0 auto;
}

.app-header-meta-label {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.app-header-meta strong {
    font-size: 0.88rem;
    color: var(--ink);
}

.notif-btn {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--border);
    font-size: 1rem;
    cursor: pointer;
    color: var(--mid);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.notif-btn:hover {
    color: var(--teal);
    border-color: rgba(26, 107, 107, 0.24);
    background: rgba(232, 244, 244, 0.92);
}

.notif-dot {
    position: absolute;
    top: 9px;
    right: 10px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--rust);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95);
}

.notif-menu {
    position: relative;
}

.notif-dropdown {
    position: absolute;
    top: calc(100% + 0.65rem);
    right: 0;
    width: min(340px, calc(100vw - 2rem));
    display: none;
    border: 1px solid rgba(26, 107, 107, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.99);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.14);
    overflow: hidden;
    z-index: 35;
}

.notif-menu.open .notif-dropdown {
    display: block;
}

.notif-dropdown-head {
    display: grid;
    gap: 0.15rem;
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.06), rgba(255, 255, 255, 0));
}

.notif-dropdown-head strong {
    font-size: 0.92rem;
    color: var(--ink);
}

.notif-dropdown-head small {
    color: var(--mid);
    font-size: 0.74rem;
}

.notif-dropdown-list {
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem;
}

.notif-item,
.notif-empty {
    display: grid;
    gap: 0.28rem;
    padding: 0.85rem 0.9rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(248, 245, 239, 0.72);
}

.notif-item strong,
.notif-empty strong {
    font-size: 0.8rem;
    color: var(--ink);
}

.notif-category {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--brand);
    font-family: var(--mono);
    font-size: 0.58rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.notif-item span,
.notif-empty span {
    font-size: 0.8rem;
    color: var(--mid);
    line-height: 1.55;
}

.notif-link {
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.notif-link:hover {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 12px 26px rgba(13, 13, 13, 0.08);
}

.notif-success {
    border-color: rgba(122, 173, 138, 0.22);
    background: rgba(122, 173, 138, 0.09);
}

.notif-info {
    border-color: rgba(26, 107, 107, 0.18);
    background: rgba(26, 107, 107, 0.08);
}

.notif-warning,
.notif-error {
    border-color: rgba(192, 94, 58, 0.22);
    background: rgba(192, 94, 58, 0.08);
}

.app-content {
    flex: 1;
    padding: 2rem;
    background: transparent;
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.24s ease,
        transform 0.28s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.dashboard-page.workspace-transition-ready .app-content {
    animation: workspacePageEnter 0.28s cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

.dashboard-page.workspace-is-leaving .app-content {
    opacity: 0.82;
    transform: translateY(4px);
}

@keyframes workspacePageEnter {
    from {
        opacity: 0.86;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dashboard-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.student-hero-band {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--workspace-hero-gap);
    margin-bottom: 1.4rem;
    padding: var(--workspace-hero-padding);
    border-radius: var(--workspace-hero-radius);
    background: var(--workspace-student-hero);
    color: #fff;
    box-shadow: var(--workspace-hero-shadow);
}

.student-hero-copy {
    display: grid;
    gap: 0.6rem;
    max-width: 62ch;
    min-width: 0;
}

.student-hero-band .eyebrow-inline {
    color: var(--gold-light);
}

.student-hero-band h2 {
    color: #fff;
    margin: 0;
    overflow-wrap: anywhere;
}

.student-hero-band p {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
    margin: 0;
}

.student-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-width: 210px;
}

.student-hero-actions .button {
    min-width: 0;
}

.student-hero-actions .button span {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.student-pulse-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.student-pulse-card {
    padding: 1.1rem 1.2rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.88);
    display: grid;
    gap: 0.45rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.05);
}

.student-pulse-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 76, 92, 0.1);
    color: var(--teal);
    font-size: 1rem;
    box-shadow: 0 8px 22px rgba(15, 76, 92, 0.08);
}

.student-pulse-card.tone-teal {
    background: linear-gradient(145deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.95));
}

.student-pulse-card.tone-gold {
    background: linear-gradient(145deg, rgba(255, 248, 229, 0.98), rgba(255, 255, 255, 0.95));
}

.student-pulse-card.tone-ink {
    background: linear-gradient(145deg, rgba(243, 242, 239, 0.98), rgba(255, 255, 255, 0.95));
}

.student-pulse-card.tone-sage {
    background: linear-gradient(145deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.student-pulse-label {
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--brand-700);
}

.student-pulse-card strong {
    font-family: "Playfair Display", serif;
    font-size: 1.8rem;
    line-height: 1;
    color: var(--ink);
}

.student-pulse-card strong small {
    font-family: "DM Sans", sans-serif;
    font-size: 0.82rem;
    color: var(--mid);
    margin-left: 0.3rem;
}

.student-pulse-card p {
    margin: 0;
    color: var(--mid);
    font-size: 0.88rem;
    line-height: 1.5;
}

.tutor-scope-overview-card {
    padding: 1.15rem 1.2rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    gap: 0.55rem;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.05);
}

.tutor-scope-overview-card.tone-teal {
    background: linear-gradient(145deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.95));
}

.tutor-scope-overview-card.tone-gold {
    background: linear-gradient(145deg, rgba(255, 248, 229, 0.98), rgba(255, 255, 255, 0.95));
}

.tutor-scope-overview-card.tone-ink {
    background: linear-gradient(145deg, rgba(243, 242, 239, 0.98), rgba(255, 255, 255, 0.95));
}

.tutor-scope-overview-card.tone-sage {
    background: linear-gradient(145deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.tutor-scope-overview-top {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.tutor-scope-overview-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.tutor-scope-overview-card.tone-gold .tutor-scope-overview-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.tutor-scope-overview-card.tone-ink .tutor-scope-overview-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.tutor-scope-overview-card.tone-sage .tutor-scope-overview-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.tutor-scope-overview-card strong {
    font-family: "Playfair Display", serif;
    font-size: 1.85rem;
    line-height: 1;
    color: var(--ink);
}

.tutor-scope-overview-card p,
.tutor-scope-overview-card small {
    margin: 0;
    color: var(--ink);
    line-height: 1.5;
}

.tutor-scope-overview-card p {
    font-size: 0.96rem;
}

.tutor-scope-overview-card small {
    color: var(--mid);
    font-size: 0.8rem;
}

.tutor-scope-compare-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
    margin-bottom: 1.35rem;
}

.tutor-scope-compare-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.tutor-scope-compare-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.tutor-scope-compare-card.tone-gold .tutor-scope-compare-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.tutor-scope-compare-card.tone-ink .tutor-scope-compare-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.tutor-scope-compare-card strong {
    display: block;
    margin-top: 0.45rem;
    color: var(--ink);
    line-height: 1.35;
}

.tutor-scope-compare-card p {
    margin: 0.3rem 0 0;
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.86rem;
}

.student-stat-grid {
    margin-bottom: 1.5rem;
}

.student-focus-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.92));
}

.student-dashboard-stack {
    display: grid;
    gap: 1.5rem;
}

.student-dashboard-stack > * {
    min-width: 0;
}

.student-summary-shell {
    display: grid;
    gap: 1rem;
}

.student-context-panel {
    display: grid;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.92));
}

.student-context-panel-classroom {
    border-color: rgba(26, 107, 107, 0.18);
}

.student-context-panel-direct {
    border-color: rgba(201, 168, 76, 0.18);
}

.student-context-head {
    display: grid;
    gap: 0.9rem;
}

.student-context-copy {
    display: grid;
    gap: 0.4rem;
}

.student-context-copy h3 {
    margin: 0;
}

.student-context-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.student-context-subjects {
    display: grid;
    gap: 0.55rem;
}

.student-context-subjects-label {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-context-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

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

.student-context-stat {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.student-context-stat span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-context-stat strong {
    font-size: 0.96rem;
    line-height: 1.45;
    color: var(--ink);
}

.student-subject-scope-panel {
    display: grid;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.94));
    border-color: rgba(26, 107, 107, 0.16);
}

.student-subject-scope-head {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
    gap: 1rem;
    align-items: start;
}

.student-subject-scope-copy {
    display: grid;
    gap: 0.45rem;
}

.student-subject-scope-copy h3,
.student-subject-scope-plan strong {
    margin: 0;
}

.student-subject-scope-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.student-subject-scope-plan {
    display: grid;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.86);
    justify-items: start;
}

.student-subject-scope-label {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-subject-scope-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.student-subject-scope-metric {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.student-subject-scope-metric span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-subject-scope-metric strong {
    font-size: 0.96rem;
    line-height: 1.45;
    color: var(--ink);
}

.student-subject-scope-body {
    display: grid;
    gap: 0.85rem;
}

.student-subject-scope-list {
    display: grid;
    gap: 0.75rem;
}

.student-subject-scope-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
}

.student-subject-scope-row-copy {
    display: grid;
    gap: 0.25rem;
}

.student-subject-scope-row-copy strong {
    color: var(--ink);
}

.student-subject-scope-row-copy span {
    color: var(--mid);
    line-height: 1.65;
}

.student-workspace-grid {
    display: grid;
    gap: 1.5rem;
}

.student-pathways-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.94));
}

.student-focus-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

.student-focus-primary {
    display: grid;
    gap: 0.9rem;
}

.student-focus-primary h3 {
    margin: 0;
}

.student-focus-primary p {
    color: var(--mid);
    line-height: 1.7;
}

.student-focus-mini-card {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 0.35rem;
}

.student-focus-mini-card span,
.student-next-label {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-focus-mini-card strong {
    font-size: 0.92rem;
    line-height: 1.55;
}

.student-next-lesson {
    padding: 1rem 1.1rem;
    border-radius: 10px;
    background: rgba(26, 107, 107, 0.08);
    border: 1px solid rgba(26, 107, 107, 0.14);
    display: grid;
    gap: 0.28rem;
}

.student-next-lesson strong {
    font-size: 1rem;
}

.student-next-lesson small {
    color: var(--mid);
}

.student-primary-actions {
    gap: 0.75rem;
}

.student-primary-actions .button {
    min-height: 48px;
}

.student-quick-grid {
    display: grid;
    gap: 0.85rem;
}

.student-quick-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    min-height: 96px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.76);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.24s ease;
}

.student-quick-card:hover {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.22);
    background: rgba(232, 244, 244, 0.9);
}

.student-quick-card:active {
    transform: translateY(0) scale(0.988);
}

.student-quick-card strong {
    font-size: 0.92rem;
}

.student-quick-card span {
    font-size: 0.82rem;
    color: var(--mid);
    line-height: 1.6;
}

.admin-action-studio-panel {
    display: grid;
    gap: 1rem;
}

.admin-action-studio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-studio-card {
    min-height: 112px;
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.1), transparent 45%),
        rgba(255, 255, 255, 0.78);
}

.admin-studio-card .dashboard-action-title-text {
    font-size: 0.98rem;
}

.website-content-summary-grid {
    margin-bottom: 0;
}

.website-content-library-panel,
.website-content-signal-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.94));
}

.website-content-section-list,
.website-content-signal-list {
    display: grid;
    gap: 0.95rem;
}

.website-content-section-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.website-content-section-row.tone-warning,
.website-content-section-row.tone-error {
    border-color: rgba(201, 168, 76, 0.24);
}

.website-content-section-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.website-content-section-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.website-content-section-copy {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.website-content-section-copy h3,
.website-content-support-card strong {
    margin: 0;
}

.website-content-section-copy p,
.website-content-section-copy span,
.website-content-signal-copy span,
.website-content-support-card span {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.website-content-section-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.website-content-signal-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.website-content-signal-card.is-ready {
    border-color: rgba(73, 125, 116, 0.2);
}

.website-content-signal-card.needs-attention {
    border-color: rgba(201, 168, 76, 0.24);
}

.website-content-signal-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.website-content-signal-card.needs-attention .website-content-signal-icon {
    background: rgba(201, 168, 76, 0.16);
    color: #9a7110;
}

.website-content-signal-copy {
    display: grid;
    gap: 0.22rem;
}

.website-content-signal-copy strong {
    color: var(--ink);
}

.website-content-support-grid {
    display: grid;
    gap: 0.85rem;
}

.website-content-support-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

@media (max-width: 760px) {
    .admin-action-studio-grid {
        grid-template-columns: 1fr;
    }
}

.dashboard-action-title-row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.dashboard-action-title-text {
    font-size: 0.92rem;
    color: var(--ink);
    line-height: 1.35;
}

.dashboard-action-description {
    font-size: 0.82rem;
    color: var(--mid);
    line-height: 1.6;
}

.student-activity-list {
    list-style: none;
    display: grid;
    gap: 0.85rem;
}

.student-activity-list li {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.76);
    position: relative;
}

.student-activity-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 999px;
    background: var(--teal);
}

.student-activity-list li.activity-assessment::before {
    background: var(--gold);
}

.student-activity-list li.activity-package::before {
    background: var(--gold);
}

.student-activity-list li.activity-classroom::before {
    background: var(--ink);
}

.student-activity-list li.activity-access::before {
    background: #7aad8a;
}

.student-activity-list li strong,
.student-course-card h3 {
    margin: 0;
}

.student-activity-list li span,
.student-activity-list li small {
    color: var(--mid);
}

.student-activity-list li small {
    font-size: 0.76rem;
}

.student-course-paths {
    display: grid;
    gap: 1rem;
}

.student-course-card {
    position: relative;
    overflow: hidden;
    padding: 1.2rem 1.25rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    gap: 0.85rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: transform 0.22s ease, box-shadow 0.24s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.student-course-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.88), rgba(201, 168, 76, 0.7));
}

.student-course-card:active {
    transform: scale(0.992);
}

.student-course-card.tone-strong {
    border-color: rgba(122, 173, 138, 0.28);
}

.student-course-card.tone-steady {
    border-color: rgba(26, 107, 107, 0.22);
}

.student-course-card.tone-starting {
    border-color: rgba(201, 168, 76, 0.3);
}

.student-course-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.student-course-progress {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-weight: 700;
    font-size: 0.86rem;
}

.student-course-summary-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    color: var(--mid);
    font-size: 0.78rem;
}

.student-course-summary-line span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.65rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
}

.student-course-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.student-course-meta-card {
    display: grid;
    gap: 0.22rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(248, 245, 239, 0.72);
}

.student-course-meta-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-course-meta-card strong {
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--ink);
}

.student-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    color: var(--mid);
    font-size: 0.8rem;
}

.student-course-next-step {
    display: grid;
    gap: 0.22rem;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background: rgba(26, 107, 107, 0.06);
}

.student-course-next-step strong {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
}

.student-course-next-step small {
    color: var(--mid);
    line-height: 1.55;
}

.student-course-next-step.is-complete {
    border-color: rgba(122, 173, 138, 0.22);
    background: rgba(239, 249, 242, 0.74);
}

.student-course-actions {
    gap: 0.7rem;
    align-items: center;
    flex-wrap: wrap;
}

.student-course-actions .button {
    min-height: 46px;
}

.student-course-secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.88rem;
    font-weight: 600;
}

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

.student-support-grid {
    align-items: start;
}

.student-secondary-card {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.04), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.92));
}

.student-secondary-list {
    display: grid;
    gap: 0.85rem;
}

.student-secondary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.student-notification-item {
    align-items: flex-start;
}

.student-notification-preview-panel {
    display: grid;
    gap: 0.9rem;
}

.student-notification-preview-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.student-notification-preview-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.9rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    min-width: 0;
}

.student-notification-preview-copy {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.student-notification-preview-copy strong {
    line-height: 1.35;
}

.student-notification-preview-copy span {
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.45;
}

.student-notification-preview-item .text-link {
    white-space: nowrap;
    align-self: center;
}

.student-notification-info {
    border-color: rgba(26, 107, 107, 0.16);
    background: linear-gradient(180deg, rgba(244, 250, 249, 0.98), rgba(255, 255, 255, 0.92));
}

.student-notification-warning {
    border-color: rgba(201, 168, 76, 0.24);
    background: linear-gradient(180deg, rgba(255, 251, 241, 0.98), rgba(255, 255, 255, 0.92));
}

.student-notification-success {
    border-color: rgba(72, 146, 89, 0.2);
    background: linear-gradient(180deg, rgba(245, 252, 246, 0.98), rgba(255, 255, 255, 0.92));
}

.student-notification-steady {
    border-color: rgba(15, 23, 42, 0.1);
}

.student-secondary-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.student-secondary-copy strong {
    margin: 0;
    line-height: 1.45;
}

.student-secondary-copy span {
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.84rem;
}

.student-secondary-meta {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.student-timeline-panel {
    display: grid;
    gap: 0.9rem;
}

.student-timeline-list {
    display: grid;
    gap: 0.85rem;
}

.student-timeline-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.student-timeline-icon {
    width: 2.7rem;
    height: 2.7rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.student-timeline-item-next .student-timeline-icon {
    background: rgba(26, 107, 107, 0.16);
}

.student-timeline-item-assessment .student-timeline-icon {
    background: rgba(201, 168, 76, 0.18);
    color: #8d6e19;
}

.student-timeline-item-certificate .student-timeline-icon {
    background: rgba(122, 173, 138, 0.2);
    color: #2f6d40;
}

.student-timeline-copy {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
}

.student-timeline-label {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.student-timeline-copy strong {
    color: var(--ink);
    line-height: 1.45;
}

.student-timeline-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.student-timeline-meta {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 0.2rem;
}

.student-timeline-meta small {
    color: var(--mid);
}

@media (max-width: 1100px) {
    .student-context-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .student-detail-grid {
        grid-template-columns: 1fr;
    }

    .student-hero-actions {
        min-width: 0;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .student-hero-actions .button {
        flex: 1 1 220px;
    }

    .student-pulse-grid-tight {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 760px) {
    .classroom-entry-grid,
    .classroom-entry-grid-wide {
        gap: 1.25rem;
    }

    .lesson-journey-grid {
        grid-template-columns: 1fr;
    }

    .lesson-journey-actions {
        flex-direction: column;
    }

    .lesson-journey-actions .button {
        width: 100%;
    }

    .classroom-entry-card {
        padding: 1.05rem 1rem 1rem;
        border-radius: 20px;
    }

    .classroom-entry-step,
    .classroom-entry-note {
        padding: 0.95rem;
        border-radius: 16px;
    }

    .classroom-entry-row {
        grid-template-columns: 1fr;
    }

    .classroom-entry-form input {
        min-height: 52px;
        font-size: 1rem;
    }

    .student-dashboard-stack {
        gap: 1rem;
    }

    .app-shell.has-student-mobile-nav .app-content {
        padding-bottom: calc(6.4rem + env(safe-area-inset-bottom, 0px));
    }

    .student-summary-shell,
    .student-workspace-grid {
        gap: 1rem;
    }

    .student-hero-band {
        padding: 1.15rem 1rem;
        gap: 1rem;
        border-radius: 18px;
    }

    .student-hero-copy {
        gap: 0.45rem;
    }

    .student-hero-band h2 {
        font-size: 1.8rem;
    }

    .student-pulse-grid-tight,
    .student-stat-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
    }

    .student-pulse-card,
    .student-stat-grid .stat-card {
        padding: 0.95rem 0.9rem;
    }

    .student-pulse-card strong {
        font-size: 1.55rem;
    }

    .student-focus-panel,
    .student-pathways-panel,
    .student-secondary-card {
        border-radius: 18px;
    }

    .student-context-head {
        gap: 0.75rem;
    }

    .student-subject-scope-head,
    .student-subject-scope-metrics {
        grid-template-columns: 1fr;
    }

    .student-focus-shell {
        gap: 0.9rem;
    }

    .student-focus-mini-card,
    .student-next-lesson,
    .student-course-next-step {
        padding: 0.9rem;
    }

    .student-course-card {
        padding: 1rem;
        gap: 0.75rem;
    }

    .student-course-progress {
        min-width: 50px;
        padding: 0.35rem 0.6rem;
    }

    .student-course-meta-grid {
        grid-template-columns: 1fr;
    }

    .student-secondary-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.65rem;
        padding: 0.9rem;
    }

    .student-timeline-item {
        grid-template-columns: 1fr;
    }

    .student-subject-scope-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .student-secondary-meta {
        justify-content: flex-start;
    }

    .learner-course-journey-actions {
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .classroom-entry-step {
        grid-template-columns: 1fr;
    }

    .classroom-entry-step-number {
        width: 2rem;
        height: 2rem;
    }

    .student-context-stats,
    .student-pulse-grid-tight,
    .student-stat-grid {
        grid-template-columns: 1fr;
    }

    .student-hero-actions .button {
        flex: 1 1 100%;
    }

}

.management-grid,
.tutor-module-grid {
    align-items: start;
}

.management-hero {
    margin-bottom: 1.2rem;
}

.management-tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.form-grid {
    display: grid;
    gap: 1rem;
}

.form-field {
    display: grid;
    gap: 0.38rem;
}

.form-field label {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ink);
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.92);
    padding: 0.9rem 1rem;
    color: var(--ink);
    font: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.form-field textarea {
    resize: vertical;
    min-height: 120px;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: none;
    border-color: rgba(26, 107, 107, 0.35);
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.08);
}

.form-help,
.form-error {
    font-size: 0.76rem;
    line-height: 1.55;
}

.form-help {
    color: var(--mid);
}

.form-error {
    color: #9b3027;
}

.form-field.has-errors input,
.form-field.has-errors select,
.form-field.has-errors textarea {
    border-color: rgba(155, 48, 39, 0.4);
    background: rgba(255, 248, 247, 0.95);
}

.content-copy-block {
    display: grid;
    gap: 0.9rem;
    color: var(--mid);
    line-height: 1.75;
}

.content-copy-block p {
    margin: 0;
}

.workflow-status-band {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.88));
}

.workflow-status-band-tight {
    margin-top: 0.5rem;
}

.workflow-status-band p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.workflow-status-band.tone-success {
    background: rgba(20, 110, 60, 0.08);
    border-color: rgba(20, 110, 60, 0.18);
}

.workflow-status-band.tone-info {
    background: rgba(26, 107, 107, 0.08);
    border-color: rgba(26, 107, 107, 0.18);
}

.workflow-status-band.tone-warning {
    background: rgba(201, 168, 76, 0.12);
    border-color: rgba(201, 168, 76, 0.24);
}

.workflow-status-band.tone-error {
    background: rgba(185, 67, 47, 0.1);
    border-color: rgba(185, 67, 47, 0.22);
}

.stack-list li form {
    display: inline;
}

.stack-list-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-left: 0.75rem;
}

.link-button {
    border: 0;
    background: none;
    padding: 0;
    color: var(--teal);
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}

.link-button:hover {
    color: var(--ink);
}

.link-button[disabled] {
    color: rgba(73, 68, 63, 0.42);
    cursor: not-allowed;
    text-decoration: none;
}

.checkpoint-stack {
    gap: 0.9rem;
}

.checkpoint-list-intro {
    margin-bottom: 0.95rem;
}

.checkpoint-list-intro p {
    color: var(--mid);
    line-height: 1.7;
}

.checkpoint-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(19, 107, 116, 0.14);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.82));
}

.checkpoint-card-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
}

.checkpoint-time-badge {
    min-width: 74px;
    padding: 0.55rem 0.75rem;
    border-radius: 14px;
    background: rgba(19, 107, 116, 0.12);
    color: var(--teal);
    font-weight: 700;
    text-align: center;
}

.checkpoint-copy {
    display: grid;
    gap: 0.32rem;
}

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

.checkpoint-pill-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.checkpoint-copy strong {
    font-size: 1rem;
}

.checkpoint-copy span,
.checkpoint-meta {
    color: var(--mid);
    line-height: 1.65;
}

.checkpoint-actions {
    margin-left: 0;
}

.checkpoint-studio-panel {
    overflow: visible;
}

.checkpoint-studio-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.9fr);
    gap: 1.2rem;
    align-items: start;
    margin-top: 1rem;
}

.checkpoint-video-shell {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
}

.checkpoint-studio-video {
    aspect-ratio: 16 / 9;
}

.checkpoint-studio-sidebar {
    display: grid;
    gap: 0.9rem;
}

.checkpoint-studio-status,
.checkpoint-studio-copy {
    display: grid;
    gap: 0.55rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.84));
}

.checkpoint-studio-status strong {
    font-size: 1.45rem;
    color: var(--ink);
}

.checkpoint-studio-status span,
.checkpoint-studio-copy span {
    color: var(--mid);
    line-height: 1.65;
}

.checkpoint-studio-copy strong {
    color: var(--ink);
}

.checkpoint-studio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.checkpoint-form-note {
    display: flex;
    gap: 0.65rem;
    align-items: start;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(19, 107, 116, 0.08);
    color: var(--mid);
    line-height: 1.7;
}

.checkpoint-form-note i {
    color: var(--teal);
    margin-top: 0.2rem;
}

.checkpoint-empty-state {
    margin-top: 1rem;
}

.checkpoint-upload-state {
    gap: 1.25rem;
}

.checkpoint-upload-intro {
    display: grid;
    gap: 0.75rem;
    justify-items: center;
}

.checkpoint-upload-copy {
    display: grid;
    gap: 0.5rem;
    justify-items: center;
    text-align: center;
}

.checkpoint-video-upload-form {
    display: grid;
    gap: 1rem;
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 1.2rem;
    border-radius: 20px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.86);
}

.checkpoint-video-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.checkpoint-video-upload-grid.single-column {
    grid-template-columns: minmax(0, 1fr);
}

.checkpoint-upload-actions {
    justify-content: center;
}

.checkpoint-upload-actions .button-primary,
.checkpoint-upload-actions .button-primary span,
.checkpoint-upload-actions .button-primary i {
    color: #fff;
}

.checkpoint-upload-actions .button-primary {
    box-shadow: 0 14px 30px rgba(26, 107, 107, 0.22);
}

.checkpoint-upload-hint {
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.6;
}

.checkpoint-studio-overlay {
    position: absolute;
    inset: 0;
}

.checkpoint-builder-panel {
    display: grid;
    gap: 1rem;
}

.checkpoint-builder-form {
    display: grid;
    gap: 1rem;
}

.checkpoint-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr);
    gap: 1.1rem;
    align-items: start;
}

.checkpoint-builder-main,
.checkpoint-builder-aside {
    display: grid;
    gap: 1rem;
}

.checkpoint-builder-section,
.checkpoint-builder-summary,
.checkpoint-builder-tips {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.84));
}

.checkpoint-builder-section {
    display: grid;
    gap: 0.95rem;
}

.checkpoint-builder-section-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.checkpoint-builder-section-head > div {
    display: grid;
    gap: 0.45rem;
}

.checkpoint-builder-section-head h4 {
    margin: 0;
    font-size: 1.05rem;
}

.checkpoint-builder-section-head p,
.checkpoint-builder-tips span {
    color: var(--mid);
    line-height: 1.65;
}

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

.checkpoint-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.checkpoint-toggle-wrap input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}

.checkpoint-toggle-wrap span {
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.88rem;
}

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

.checkpoint-option-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: start;
    padding: 0.9rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(19, 107, 116, 0.12);
    background: rgba(255, 255, 255, 0.72);
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.checkpoint-option-card.is-filled {
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 12px 24px rgba(13, 13, 13, 0.05);
}

.checkpoint-option-letter {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    color: var(--gold);
    font-weight: 700;
}

.checkpoint-option-body {
    display: grid;
    gap: 0.45rem;
}

.checkpoint-option-body label {
    margin: 0;
}

.checkpoint-builder-summary {
    display: grid;
    gap: 0.8rem;
}

.checkpoint-builder-summary strong {
    font-size: 1.05rem;
    line-height: 1.45;
}

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

.checkpoint-summary-card {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(13, 13, 13, 0.07);
}

.checkpoint-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.checkpoint-summary-card strong {
    font-size: 0.98rem;
}

.checkpoint-builder-tips {
    display: grid;
    gap: 0.6rem;
}

.checkpoint-builder-tips strong {
    color: var(--ink);
}

.lesson-management-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.lesson-management-card {
    display: grid;
    gap: 0.95rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.82));
}

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

.lesson-management-title {
    display: grid;
    gap: 0.3rem;
}

.lesson-management-title strong {
    font-size: 1.03rem;
    color: var(--ink);
}

.lesson-management-title span {
    color: var(--mid);
    line-height: 1.6;
}

.lesson-management-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.lesson-management-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.lesson-management-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.08);
    color: var(--mid);
    font-size: 0.82rem;
}

.lesson-management-stats strong {
    color: var(--ink);
}

.lesson-management-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.lesson-management-workflow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(19, 107, 116, 0.1);
}

.lesson-management-workflow form {
    display: inline;
}

.lesson-builder-panel {
    display: grid;
    gap: 1rem;
}

.ges-builder-shell {
    width: min(1200px, 100%);
    margin: 0 auto;
}

.ges-builder-hero .tutor-course-hero-copy {
    max-width: 760px;
}

.ges-lesson-builder-panel {
    gap: 1.2rem;
    padding: 1.15rem;
    border-radius: 26px;
    border: 1px solid rgba(19, 107, 116, 0.12);
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 241, 234, 0.92));
    box-shadow: 0 22px 48px rgba(15, 23, 35, 0.06);
}

.ges-builder-context-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.ges-builder-context-bar span {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(19, 107, 116, 0.12);
    background: rgba(255, 255, 255, 0.78);
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.88rem;
}

.ges-builder-context-bar i {
    color: var(--brand);
}

.lesson-builder-form {
    display: grid;
    gap: 1rem;
}

.lesson-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.85fr);
    gap: 1.15rem;
    align-items: start;
}

.ges-builder-grid {
    gap: 1.25rem;
}

.lesson-builder-main,
.lesson-builder-aside {
    display: grid;
    gap: 1rem;
}

.lesson-builder-section,
.lesson-builder-summary,
.lesson-builder-tips {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.84));
}

.lesson-builder-section {
    display: grid;
    gap: 0.95rem;
}

.ges-builder-section {
    padding: 1.15rem 1.15rem 1.05rem;
}

.lesson-builder-section-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.lesson-builder-section-head > div {
    display: grid;
    gap: 0.45rem;
}

.lesson-builder-section-head h4 {
    margin: 0;
    font-size: 1.05rem;
}

.lesson-builder-section-head p,
.lesson-builder-tips span {
    color: var(--mid);
    line-height: 1.65;
}

.ges-builder-inline-note {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(26, 107, 107, 0.07);
    border: 1px solid rgba(26, 107, 107, 0.12);
    color: var(--mid);
    line-height: 1.6;
}

.ges-builder-inline-note i {
    color: var(--brand);
    margin-top: 0.15rem;
}

.lesson-builder-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
}

.lesson-builder-toggle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.lesson-builder-toggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}

.lesson-builder-toggle span {
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.88rem;
}

.lesson-builder-summary {
    display: grid;
    gap: 0.8rem;
}

.ges-builder-summary-head {
    display: grid;
    gap: 0.45rem;
}

.lesson-builder-summary strong {
    font-size: 1.05rem;
    line-height: 1.45;
}

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

.lesson-summary-card {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(13, 13, 13, 0.07);
}

.lesson-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.lesson-summary-card strong {
    font-size: 0.98rem;
}

.lesson-builder-tips {
    display: grid;
    gap: 0.6rem;
}

.ges-builder-notes-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 247, 247, 0.9));
}

.lesson-builder-tips strong {
    color: var(--ink);
}

.lesson-builder-support-panel {
    gap: 0.85rem;
}

.lesson-support-grid {
    grid-template-columns: 1fr;
}

.ges-builder-footer {
    padding-top: 0.35rem;
    border-top: 1px solid rgba(19, 107, 116, 0.1);
}

.resource-workspace-grid {
    align-items: start;
}

.resource-management-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.resource-management-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(19, 107, 116, 0.14);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.82));
}

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

.resource-management-title {
    display: grid;
    gap: 0.3rem;
}

.resource-management-title strong {
    font-size: 1rem;
    color: var(--ink);
}

.resource-management-title span {
    color: var(--mid);
    line-height: 1.6;
}

.resource-management-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.resource-management-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.resource-management-actions form {
    margin: 0;
}

.inline-action-form {
    margin: 0;
}

.assessment-builder-workspace {
    align-items: start;
}

.assessment-builder-single-column {
    width: min(100%, 752px);
    margin: 0 auto;
    display: grid;
    gap: 1.15rem;
    padding-right: 4.25rem;
}

.assessment-builder-overview-bar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.2rem;
    align-items: start;
}

.assessment-builder-overview-main,
.assessment-builder-overview-side {
    display: grid;
    gap: 0.9rem;
}

.assessment-builder-overview-side .assessment-builder-status-strip > * {
    flex: 1 1 220px;
}

.assessment-builder-overview-side .assessment-builder-top-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
}

.assessment-builder-overview-side .assessment-builder-top-actions .button,
.assessment-builder-overview-side .assessment-builder-top-actions form .button {
    width: 100%;
    justify-content: center;
}

.assessment-builder-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
}

.assessment-builder-navigator-panel {
    display: none;
}

.assessment-builder-navigator-card {
    position: sticky;
    top: 7.5rem;
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(241, 247, 246, 0.94));
    box-shadow: 0 20px 40px rgba(17, 24, 39, 0.06);
}

.assessment-builder-navigator-head {
    display: flex;
    justify-content: space-between;
    gap: 0.9rem;
    align-items: start;
}

.assessment-builder-navigator-head h3 {
    margin: 0.25rem 0 0;
    font-size: 1rem;
    color: var(--ink);
}

.assessment-builder-navigator-list {
    display: grid;
    gap: 0.55rem;
    max-height: min(62vh, 34rem);
    overflow-y: auto;
    padding-right: 0.2rem;
}

.assessment-builder-navigator-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.75rem 0.8rem;
    border-radius: 16px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    background: rgba(255, 255, 255, 0.76);
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.assessment-builder-navigator-link:hover,
.assessment-builder-navigator-link:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 12px 26px rgba(17, 24, 39, 0.06);
}

.assessment-builder-navigator-link.is-active,
.assessment-builder-navigator-link.is-current {
    border-color: rgba(26, 107, 107, 0.24);
    background: linear-gradient(180deg, rgba(234, 245, 243, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: inset 0 0 0 1px rgba(26, 107, 107, 0.08);
}

.assessment-builder-navigator-order {
    display: inline-grid;
    place-items: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.14);
    color: #8d6e19;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.assessment-builder-navigator-link.is-active .assessment-builder-navigator-order,
.assessment-builder-navigator-link.is-current .assessment-builder-navigator-order {
    background: rgba(26, 107, 107, 0.16);
    color: var(--teal);
}

.assessment-builder-navigator-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.assessment-builder-navigator-copy strong {
    color: var(--ink);
    font-size: 0.86rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.assessment-builder-navigator-copy small {
    color: var(--mid);
    line-height: 1.4;
}

.assessment-builder-shortcut-note {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem;
    border-radius: 16px;
    background: rgba(250, 247, 242, 0.82);
    border: 1px solid rgba(17, 24, 39, 0.06);
}

.assessment-builder-shortcut-note p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
    font-size: 0.84rem;
}

.assessment-builder-shortcut-note kbd {
    display: inline-block;
    min-width: 1.45rem;
    padding: 0.1rem 0.35rem;
    border-radius: 8px;
    border: 1px solid rgba(17, 24, 39, 0.1);
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    font-family: "Space Mono", monospace;
    font-size: 0.7rem;
    text-align: center;
}

.assessment-builder-navigator-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 2.9rem;
    padding: 0.78rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(26, 107, 107, 0.16);
    background: rgba(255, 255, 255, 0.9);
    color: var(--teal);
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.assessment-builder-navigator-cta:hover,
.assessment-builder-navigator-cta:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 12px 24px rgba(26, 107, 107, 0.1);
    background: rgba(239, 248, 246, 0.96);
}

.assessment-builder-app {
    display: grid;
    gap: 1.2rem;
    transition: opacity 0.2s ease, filter 0.2s ease;
}

.assessment-builder-app.is-loading {
    opacity: 0.74;
    filter: saturate(0.94);
    pointer-events: none;
}

.assessment-form-stage {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 1260px) {
    .assessment-builder-single-column {
        width: min(100%, 1080px);
        padding-right: 4.75rem;
    }

    .assessment-builder-layout {
        grid-template-columns: minmax(0, 1fr) 252px;
    }

    .assessment-builder-navigator-panel {
        display: block;
        order: 2;
    }

    .assessment-form-stage {
        order: 1;
    }
}

@media (max-width: 900px) {
    .assessment-builder-overview-side .assessment-builder-top-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .assessment-builder-overview-side .assessment-builder-top-actions {
        grid-template-columns: 1fr;
    }
}

.assessment-question-insert-row {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    margin: -0.1rem 0 0.15rem;
}

.assessment-question-insert-line {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(17, 24, 39, 0), rgba(17, 24, 39, 0.12) 18%, rgba(17, 24, 39, 0.12) 82%, rgba(17, 24, 39, 0));
}

.assessment-question-insert-button,
.assessment-question-insert-active-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.assessment-question-insert-button {
    border: 1px dashed rgba(26, 107, 107, 0.22);
    background: rgba(255, 255, 255, 0.84);
    color: var(--mid);
}

.assessment-question-insert-button:hover,
.assessment-question-insert-button:focus-visible {
    color: var(--teal);
    border-color: rgba(26, 107, 107, 0.4);
    background: rgba(241, 248, 247, 0.94);
    box-shadow: 0 10px 22px rgba(26, 107, 107, 0.08);
    transform: translateY(-1px);
}

.assessment-question-insert-active-label {
    border: 1px solid rgba(26, 107, 107, 0.2);
    background: rgba(241, 248, 247, 0.94);
    color: var(--teal);
}

.assessment-question-insert-active-label i {
    font-size: 0.82rem;
}

.assessment-question-insert-row.is-active .assessment-question-insert-line {
    background: linear-gradient(90deg, rgba(17, 24, 39, 0), rgba(26, 107, 107, 0.18) 18%, rgba(26, 107, 107, 0.18) 82%, rgba(17, 24, 39, 0));
}

.assessment-builder-main {
    display: grid;
    gap: 1rem;
}

.assessment-form-stage,
.assessment-question-sheet,
#question-composer,
.assessment-question-insert-row {
    scroll-margin-top: 8rem;
}

.assessment-builder-rail {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.assessment-form-sheet {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1rem;
    padding: 1.15rem 1.15rem 1.2rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 243, 235, 0.92));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.assessment-form-sheet-bar {
    width: calc(100% + 2.3rem);
    height: 0.45rem;
    margin: -1.15rem -1.15rem 0;
    background: linear-gradient(90deg, rgba(26, 107, 107, 0.95), rgba(201, 168, 76, 0.88));
}

.assessment-form-header-card {
    gap: 0.95rem;
}

.assessment-builder-header-sheet {
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(250, 247, 241, 0.88));
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.04);
}

.assessment-form-header-copy {
    display: grid;
    gap: 0.5rem;
}

.assessment-form-header-copy h3 {
    margin: 0;
    font-size: clamp(1.3rem, 1.8vw, 1.75rem);
}

.assessment-form-header-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.62;
    max-width: 62ch;
}

.assessment-form-header-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.assessment-builder-header-sheet .assessment-form-header-meta .pill {
    padding: 0.34rem 0.62rem;
    font-size: 0.68rem;
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(17, 24, 39, 0.08);
}

.assessment-builder-status-strip {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.assessment-builder-save-chip {
    display: inline-grid;
    gap: 0.16rem;
    min-width: 228px;
    padding: 0.58rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background: rgba(241, 248, 247, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.assessment-builder-progress-chip {
    display: inline-grid;
    gap: 0.22rem;
    min-width: 220px;
    padding: 0.62rem 0.84rem;
    border-radius: 14px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.assessment-builder-progress-chip strong {
    font-size: 0.92rem;
    color: var(--ink);
}

.assessment-builder-progress-chip small {
    color: var(--mid);
    font-size: 0.74rem;
}

.assessment-builder-progress-track {
    position: relative;
    width: 100%;
    height: 0.34rem;
    margin-top: 0.18rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.08);
    overflow: hidden;
}

.assessment-builder-progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(26, 107, 107, 0.94), rgba(201, 168, 76, 0.88));
}

.assessment-builder-save-chip strong {
    font-size: 0.9rem;
    color: var(--ink);
}

.assessment-builder-save-chip small {
    color: var(--mid);
    font-size: 0.74rem;
}

.assessment-builder-save-chip.is-saved {
    border-color: rgba(26, 107, 107, 0.14);
    background: rgba(241, 248, 247, 0.82);
}

.assessment-builder-save-chip.is-dirty {
    border-color: rgba(201, 168, 76, 0.2);
    background: rgba(252, 248, 238, 0.9);
    box-shadow: 0 10px 22px rgba(201, 168, 76, 0.08);
}

.assessment-builder-save-chip.is-saving {
    border-color: rgba(26, 107, 107, 0.18);
    background: rgba(233, 243, 242, 0.95);
    box-shadow: 0 12px 26px rgba(26, 107, 107, 0.1);
    transform: translateY(-1px);
}

.assessment-builder-save-chip.is-dirty strong {
    color: #7f5f11;
}

.assessment-builder-save-chip.is-saving strong {
    color: var(--teal);
}

.assessment-builder-summary-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.72rem;
}

.assessment-builder-summary-chip {
    display: grid;
    gap: 0.25rem;
    padding: 0.78rem 0.88rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.72);
}

.assessment-builder-summary-chip span {
    font-size: 0.69rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
    font-weight: 700;
}

.assessment-builder-summary-chip strong {
    font-size: 1.04rem;
    color: var(--ink);
}

.assessment-builder-save-status,
.assessment-builder-readiness {
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.88);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.assessment-builder-save-status {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.assessment-builder-save-status strong,
.assessment-builder-readiness-head strong {
    display: block;
    font-size: 1rem;
    color: var(--ink);
    margin-top: 0.18rem;
}

.assessment-builder-save-status p,
.assessment-builder-readiness-head p {
    margin: 0.35rem 0 0;
    color: var(--mid);
    line-height: 1.7;
}

.assessment-builder-readiness {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(247, 243, 236, 0.84));
}

.assessment-builder-readiness.is-ready {
    background: linear-gradient(180deg, rgba(245, 252, 247, 0.98), rgba(255, 255, 255, 0.92));
    border-color: rgba(122, 173, 138, 0.24);
    box-shadow: 0 14px 30px rgba(122, 173, 138, 0.08);
}

.assessment-builder-readiness-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.assessment-builder-readiness-list {
    display: grid;
    gap: 0.75rem;
}

.assessment-builder-readiness-item {
    display: grid;
    gap: 0.28rem;
    padding: 0.9rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.8);
}

.assessment-builder-readiness-item strong {
    font-size: 0.95rem;
    color: var(--ink);
}

.assessment-builder-readiness-item p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.assessment-builder-readiness-item.tone-warning {
    border-color: rgba(201, 168, 76, 0.28);
    background: rgba(255, 249, 235, 0.92);
}

.assessment-builder-readiness-item.tone-ink {
    border-color: rgba(17, 24, 39, 0.12);
}

.assessment-builder-top-actions {
    justify-content: flex-start;
}

.assessment-builder-top-actions form {
    margin: 0;
}

.assessment-form-editor-card .panel-head,
.assessment-question-library .panel-head,
.assessment-option-panel .panel-head {
    margin-bottom: 0;
    align-items: start;
}

.assessment-google-form {
    gap: 0.95rem;
}

.assessment-google-form .form-field {
    gap: 0.45rem;
}

.assessment-google-form .form-field label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.assessment-google-form .form-field input,
.assessment-google-form .form-field select,
.assessment-google-form .form-field textarea {
    border-radius: 16px;
    border-color: rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.assessment-google-form .form-field textarea {
    min-height: 140px;
}

.assessment-question-card-list,
.assessment-option-card-list {
    gap: 1rem;
}

.assessment-question-sheet {
    position: relative;
    scroll-margin-top: 8.25rem;
    border-radius: 24px;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.assessment-question-sheet.is-active {
    overflow: visible;
    border-color: rgba(26, 107, 107, 0.26);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(244, 249, 248, 0.94));
    box-shadow:
        0 24px 44px rgba(26, 107, 107, 0.12),
        0 0 0 3px rgba(26, 107, 107, 0.08);
}

.assessment-question-sheet.is-active::before {
    content: "";
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: -0.42rem;
    width: 0.28rem;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.95), rgba(201, 168, 76, 0.82));
    box-shadow: 0 0 0 5px rgba(26, 107, 107, 0.08);
}

.assessment-question-sheet.is-active .assessment-form-sheet-bar {
    display: none;
}

.assessment-question-sheet.is-active .assessment-question-sheet-header h3 {
    color: #14363a;
}

.assessment-question-sheet.is-active .assessment-question-header-meta .pill {
    border-color: rgba(26, 107, 107, 0.16);
    background: rgba(232, 243, 241, 0.96);
}

.assessment-question-sheet.is-selected {
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 20px 42px rgba(26, 107, 107, 0.08);
}

.assessment-question-sheet.is-editing {
    border-color: rgba(201, 168, 76, 0.28);
    box-shadow: 0 20px 42px rgba(201, 168, 76, 0.08);
}

.assessment-question-sheet.is-collapsed {
    gap: 0.45rem;
    padding: 0.9rem 1rem 0.95rem;
}

.assessment-question-sheet.is-collapsed:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(17, 24, 39, 0.06);
}

.assessment-question-sheet.is-collapsed .assessment-form-sheet-bar {
    width: calc(100% + 2rem);
    height: 0.32rem;
    margin: -0.9rem -1rem 0;
}

.assessment-question-sheet.is-collapsed .assessment-builder-question-media,
.assessment-question-sheet.is-collapsed .assessment-question-card-note,
.assessment-question-sheet.is-collapsed .assessment-inline-option-preview,
.assessment-question-sheet.is-collapsed .assessment-flow-preview-list,
.assessment-question-sheet.is-collapsed .assessment-inline-config,
.assessment-question-sheet.is-collapsed .assessment-inline-question-form {
    display: none;
}

.assessment-question-sheet.is-collapsed .assessment-question-sheet-header h3 {
    margin-top: 0.15rem;
    font-size: 1.02rem;
    line-height: 1.38;
}

.assessment-question-sheet.is-collapsed .assessment-question-sheet-header p {
    margin-top: 0.28rem;
    font-size: 0.9rem;
}

.assessment-question-sheet.is-collapsed .assessment-question-sheet-header {
    gap: 0.8rem;
}

.assessment-question-sheet.is-collapsed .student-pulse-label {
    font-size: 0.64rem;
}

.assessment-question-sheet.is-spotlight {
    animation: assessmentBuilderSpotlight 1.4s ease;
}

.assessment-question-sheet.is-soft-focus {
    animation: assessmentBuilderSoftFocus 0.85s ease;
}

@keyframes assessmentBuilderSpotlight {
    0% {
        transform: translateY(6px) scale(0.992);
        box-shadow:
            0 0 0 0 rgba(26, 107, 107, 0.24),
            0 26px 52px rgba(26, 107, 107, 0.18);
    }
    45% {
        transform: translateY(0) scale(1);
        box-shadow:
            0 0 0 10px rgba(26, 107, 107, 0.1),
            0 28px 56px rgba(26, 107, 107, 0.16);
    }
    100% {
        transform: translateY(0) scale(1);
    }
}

@keyframes assessmentBuilderSoftFocus {
    0% {
        box-shadow:
            0 0 0 0 rgba(26, 107, 107, 0.18),
            0 18px 36px rgba(26, 107, 107, 0.08);
    }
    55% {
        box-shadow:
            0 0 0 8px rgba(26, 107, 107, 0.08),
            0 24px 44px rgba(26, 107, 107, 0.14);
    }
    100% {
        box-shadow: inherit;
    }
}

.assessment-question-composer {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(241, 247, 246, 0.92));
}

.assessment-builder-empty-starter {
    display: grid;
    gap: 0.95rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background:
        linear-gradient(180deg, rgba(252, 251, 248, 0.98), rgba(241, 248, 247, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.assessment-builder-empty-copy {
    display: grid;
    gap: 0.35rem;
}

.assessment-builder-empty-copy strong {
    color: var(--ink);
    font-size: 1rem;
}

.assessment-builder-empty-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.assessment-builder-empty-preset-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.assessment-builder-empty-preset {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.6rem;
    padding: 0.88rem 0.95rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.88);
    color: var(--ink);
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.assessment-builder-empty-preset:hover,
.assessment-builder-empty-preset:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 12px 24px rgba(17, 24, 39, 0.06);
}

.assessment-builder-empty-preset i {
    color: var(--teal);
    font-size: 1rem;
    margin-top: 0.1rem;
}

.assessment-builder-empty-preset-copy {
    display: grid;
    gap: 0.18rem;
}

.assessment-builder-empty-preset-copy strong {
    color: var(--ink);
    font-size: 0.9rem;
}

.assessment-builder-empty-preset-copy small {
    color: var(--mid);
    line-height: 1.45;
}

.assessment-question-composer-topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
    gap: 1rem;
    align-items: start;
}

.assessment-question-prompt-field textarea {
    min-height: 180px;
    font-size: 1.02rem;
    line-height: 1.65;
}

.assessment-question-type-field select {
    min-height: 3.35rem;
    font-weight: 600;
}

.assessment-question-side-rail {
    position: absolute;
    top: 1.15rem;
    right: -3.8rem;
    transform: none;
    z-index: 4;
    display: grid;
    gap: 0.55rem;
    padding: 0.45rem;
    border-radius: 20px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.09);
    backdrop-filter: blur(10px);
    opacity: 0.96;
    transition: transform 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease;
}

.assessment-question-sheet.is-active .assessment-question-side-rail {
    transform: translateX(-2px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.11);
}

.assessment-question-side-rail.is-fixed {
    position: fixed;
    top: var(--rail-top, 7.75rem);
    left: var(--rail-left);
    right: auto;
    width: var(--rail-width);
    transform: none;
}

.assessment-question-side-rail.is-docked {
    position: absolute;
    top: auto;
    bottom: 1rem;
    right: -3.8rem;
    transform: none;
}

.assessment-question-side-rail form {
    margin: 0;
}

.assessment-question-rail-button {
    position: relative;
    width: 2.85rem;
    height: 2.85rem;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid rgba(17, 24, 39, 0.1);
    background: rgba(255, 255, 255, 0.98);
    color: var(--mid);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.assessment-question-rail-button::after {
    content: attr(data-tooltip);
    position: absolute;
    right: calc(100% + 0.7rem);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    padding: 0.45rem 0.62rem;
    border-radius: 12px;
    background: rgba(17, 24, 39, 0.92);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 12px 26px rgba(17, 24, 39, 0.18);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.assessment-question-rail-button::before {
    content: "";
    position: absolute;
    right: calc(100% + 0.35rem);
    top: 50%;
    width: 0.5rem;
    height: 0.5rem;
    background: rgba(17, 24, 39, 0.92);
    transform: translateY(-50%) rotate(45deg) translateX(6px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.assessment-question-rail-button:hover,
.assessment-question-rail-button:focus-visible {
    transform: translateY(-1px);
    color: var(--ink);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 12px 24px rgba(26, 107, 107, 0.12);
}

.assessment-question-rail-button:hover::after,
.assessment-question-rail-button:hover::before,
.assessment-question-rail-button:focus-visible::after,
.assessment-question-rail-button:focus-visible::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.assessment-question-rail-button:focus-visible,
.assessment-question-insert-button:focus-visible,
.assessment-question-utility-button:focus-visible,
.assessment-question-utility-link:focus-visible,
.assessment-question-advanced-summary:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(26, 107, 107, 0.12),
        0 12px 24px rgba(26, 107, 107, 0.12);
}

.assessment-question-rail-button.is-primary {
    background: var(--teal);
    border-color: rgba(26, 107, 107, 0.8);
    color: #fff;
    box-shadow: 0 16px 30px rgba(26, 107, 107, 0.2);
}

.assessment-question-rail-button.is-primary:hover,
.assessment-question-rail-button.is-primary:focus-visible {
    background: var(--teal-light);
    color: #fff;
}

.assessment-question-rail-button.is-danger {
    color: #9b3027;
    border-color: rgba(155, 48, 39, 0.16);
    background: rgba(255, 247, 245, 0.98);
}

.assessment-question-rail-button.is-danger:hover,
.assessment-question-rail-button.is-danger:focus-visible {
    color: #9b3027;
    border-color: rgba(155, 48, 39, 0.28);
    background: rgba(255, 240, 236, 0.98);
    box-shadow: 0 12px 24px rgba(155, 48, 39, 0.12);
}

.assessment-question-rail-button i {
    font-size: 0.98rem;
}

.assessment-question-rail-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.assessment-question-sheet-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.assessment-question-sheet-header h3 {
    margin: 0.3rem 0 0;
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    line-height: 1.45;
}

.assessment-question-sheet-header p {
    margin: 0.45rem 0 0;
    color: var(--mid);
    line-height: 1.7;
    max-width: 44rem;
}

.assessment-question-sheet.is-editing .assessment-question-sheet-header {
    gap: 0.8rem;
    align-items: center;
}

.assessment-question-sheet.is-editing .assessment-question-sheet-header h3 {
    margin-top: 0.08rem;
    font-size: 1.08rem;
    line-height: 1.32;
}

.assessment-question-sheet.is-editing .assessment-question-sheet-header p {
    margin-top: 0.22rem;
    font-size: 0.92rem;
    line-height: 1.55;
}

.assessment-question-sheet.is-editing .assessment-question-header-meta {
    gap: 0.35rem;
}

.assessment-question-sheet.is-editing .assessment-question-header-meta .pill {
    padding: 0.3rem 0.56rem;
    font-size: 0.66rem;
}

.assessment-question-header-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    align-items: flex-start;
}

.assessment-question-header-meta .pill.is-core {
    background: rgba(241, 248, 247, 0.92);
    color: var(--teal);
}

.assessment-question-collapsed-summary {
    display: none;
    flex-wrap: wrap;
    gap: 0.5rem 0.8rem;
    align-items: center;
    padding: 0.05rem 0 0.1rem;
    color: var(--mid);
    font-size: 0.8rem;
    line-height: 1.5;
    opacity: 0.9;
    transition: opacity 0.18s ease;
}

.assessment-question-collapsed-summary span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    white-space: nowrap;
}

.assessment-question-collapsed-summary i {
    color: var(--teal);
    font-size: 0.76rem;
}

.assessment-question-sheet.is-collapsed .assessment-question-collapsed-summary {
    display: flex;
}

.assessment-question-sheet.is-collapsed .assessment-question-header-meta {
    gap: 0.35rem;
}

.assessment-question-sheet.is-collapsed .assessment-question-header-meta .pill {
    padding: 0.28rem 0.52rem;
    font-size: 0.66rem;
}

.assessment-question-sheet.is-collapsed .assessment-question-header-meta .pill.is-secondary {
    display: none;
}

.assessment-question-sheet.is-collapsed:hover .assessment-question-collapsed-summary,
.assessment-question-sheet.is-collapsed:focus-within .assessment-question-collapsed-summary {
    opacity: 1;
}

.assessment-question-card,
.assessment-option-card {
    position: relative;
    gap: 0.95rem;
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 20px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 239, 0.88));
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.04);
}

.assessment-question-card::before,
.assessment-option-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.35rem;
    border-radius: 20px 0 0 20px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.95), rgba(201, 168, 76, 0.82));
}

.assessment-question-card.is-active {
    border-color: rgba(26, 107, 107, 0.28);
    box-shadow: 0 18px 40px rgba(26, 107, 107, 0.09);
}

.assessment-option-card.is-correct {
    border-color: rgba(122, 173, 138, 0.35);
    background: linear-gradient(180deg, rgba(245, 252, 247, 0.98), rgba(255, 255, 255, 0.92));
}

.assessment-option-card.is-correct::before {
    background: linear-gradient(180deg, rgba(122, 173, 138, 0.95), rgba(26, 107, 107, 0.85));
}

.assessment-question-card-topline {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: start;
}

.assessment-inline-option-preview {
    display: grid;
    gap: 0.7rem;
}

.assessment-question-sheet .assessment-builder-option-preview {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.assessment-question-sheet .assessment-builder-option-card {
    position: relative;
    grid-template-columns: auto auto minmax(0, 1fr);
    cursor: default;
    padding-right: 1rem;
}

.assessment-question-sheet .assessment-builder-option-card:hover {
    transform: none;
    border-color: rgba(17, 24, 39, 0.08);
    box-shadow: none;
}

.assessment-builder-option-card.is-correct {
    border-color: rgba(122, 173, 138, 0.32);
    background: linear-gradient(180deg, rgba(245, 252, 247, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: inset 0 0 0 1px rgba(122, 173, 138, 0.12);
}

.assessment-builder-option-card.is-correct .learner-option-marker {
    background: rgba(122, 173, 138, 0.18);
    color: #2f6d40;
}

.assessment-builder-option-state {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    grid-column: 3;
    justify-self: start;
    margin-top: 0.1rem;
    padding: 0.24rem 0.55rem;
    border-radius: 999px;
    background: rgba(122, 173, 138, 0.14);
    color: #2f6d40;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.assessment-builder-option-state i {
    font-size: 0.78rem;
}

.assessment-option-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--mid);
    line-height: 1.6;
}

.assessment-option-status.is-correct {
    color: #2f6d40;
    font-weight: 700;
}

.assessment-option-status i {
    font-size: 0.78rem;
}

.assessment-inline-option-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    align-items: start;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.9);
}

.assessment-inline-option-row.is-correct {
    border-color: rgba(122, 173, 138, 0.32);
    background: linear-gradient(180deg, rgba(245, 252, 247, 0.98), rgba(255, 255, 255, 0.95));
}

.assessment-inline-option-marker {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(201, 168, 76, 0.16);
    color: #8d6e19;
    font-weight: 700;
    flex-shrink: 0;
}

.assessment-inline-option-row.is-correct .assessment-inline-option-marker {
    background: rgba(122, 173, 138, 0.18);
    color: #2f6d40;
}

.assessment-inline-option-body {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.assessment-inline-option-headline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.assessment-inline-option-headline strong {
    color: var(--ink);
    font-size: 0.92rem;
}

.assessment-question-card-copy {
    margin: 0;
    font-size: 1rem;
    line-height: 1.75;
    color: var(--ink);
}

.assessment-question-card-note {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(240, 247, 246, 0.72);
    border: 1px solid rgba(19, 107, 116, 0.08);
}

.assessment-question-card-note span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mid);
}

.assessment-question-card-note p,
.assessment-option-target p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.assessment-builder-summary-card {
    gap: 1rem;
}

.assessment-inline-config {
    display: grid;
    gap: 1rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.assessment-inline-config-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.assessment-inline-config-head h4 {
    margin: 0.28rem 0 0;
    font-size: 1.02rem;
    color: var(--ink);
}

.assessment-inline-config-head p {
    margin: 0.45rem 0 0;
    color: var(--mid);
    line-height: 1.7;
}

.assessment-option-target {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(19, 107, 116, 0.12);
    background: rgba(241, 248, 247, 0.92);
}

.assessment-option-target strong {
    font-size: 1.05rem;
    color: var(--ink);
}

.assessment-settings-form {
    display: grid;
    gap: 1.1rem;
}

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

.assessment-settings-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assessment-settings-grid .full-span {
    grid-column: 1 / -1;
}

.assessment-question-advanced-panel {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.84);
    overflow: hidden;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.assessment-question-advanced-summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1rem;
    cursor: pointer;
    list-style: none;
    background: rgba(250, 247, 242, 0.78);
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.assessment-question-advanced-summary::-webkit-details-marker {
    display: none;
}

.assessment-question-advanced-summary span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 700;
    color: var(--ink);
}

.assessment-question-advanced-summary i {
    color: var(--teal);
    transition: transform 0.18s ease, color 0.18s ease;
}

.assessment-question-advanced-summary small {
    color: var(--mid);
    line-height: 1.5;
    text-align: right;
}

.assessment-question-advanced-panel[open] .assessment-question-advanced-summary {
    border-bottom: 1px solid rgba(17, 24, 39, 0.06);
}

.assessment-question-advanced-panel[open] {
    border-color: rgba(26, 107, 107, 0.14);
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.04);
    background: rgba(255, 255, 255, 0.92);
}

.assessment-question-advanced-panel[open] .assessment-question-advanced-summary {
    background: rgba(241, 248, 247, 0.82);
}

.assessment-question-advanced-panel[open] .assessment-question-advanced-summary i {
    transform: rotate(90deg);
}

.assessment-question-advanced-body {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.assessment-question-settings-group {
    display: grid;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    background: rgba(255, 255, 255, 0.88);
}

.assessment-question-settings-group.is-muted {
    background: rgba(246, 248, 247, 0.72);
}

.assessment-question-settings-group-head {
    display: grid;
    gap: 0.25rem;
}

.assessment-question-settings-group-head p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.assessment-question-meta-grid {
    align-items: end;
}

.assessment-question-type-field select,
.assessment-question-meta-grid input,
.assessment-question-meta-grid select {
    min-height: 3.3rem;
}

.assessment-question-inline-meta-card {
    display: grid;
    gap: 0.4rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.assessment-question-inline-meta-card label {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
    font-weight: 700;
}

.assessment-question-inline-meta-input {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.assessment-question-inline-meta-input input {
    width: 100%;
    min-height: 2.8rem;
    border-radius: 14px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(250, 247, 242, 0.72);
    font-size: 1rem;
    font-weight: 700;
}

.assessment-question-inline-meta-input span {
    color: var(--mid);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.assessment-question-inline-toggle-card {
    align-content: center;
}

.assessment-question-inline-toggle-card .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.98rem;
    color: var(--ink);
    font-weight: 700;
}

.assessment-question-inline-toggle-card input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.assessment-question-inline-toggle-card small {
    color: var(--mid);
    line-height: 1.55;
}

.assessment-question-prompt-field textarea,
.assessment-question-prompt-field input,
.assessment-inline-question-form [id$="-prompt"] {
    min-height: 82px;
    border-radius: 0;
    border: none;
    border-bottom: 2px solid rgba(17, 24, 39, 0.16);
    background: transparent;
    padding: 0.65rem 0 0.8rem;
    box-shadow: none;
    font-size: 1.22rem;
    line-height: 1.55;
    resize: vertical;
}

.assessment-question-prompt-field textarea:focus,
.assessment-question-prompt-field input:focus,
.assessment-inline-question-form [id$="-prompt"]:focus {
    border-bottom-color: rgba(26, 107, 107, 0.5);
    box-shadow: none;
}

.assessment-inline-question-form.is-inline-card-edit {
    padding-top: 0.15rem;
    border-top: 1px solid rgba(17, 24, 39, 0.06);
}

.assessment-inline-question-form.is-inline-card-edit .assessment-settings-toggle-card,
.assessment-inline-question-form.is-inline-card-edit .form-field input,
.assessment-inline-question-form.is-inline-card-edit .form-field select,
.assessment-inline-question-form.is-inline-card-edit .form-field textarea {
    background: rgba(255, 255, 255, 0.96);
}

.assessment-inline-question-form.is-inline-card-edit .assessment-question-composer-actions {
    margin-top: 0.1rem;
}

.assessment-inline-question-form.is-inline-card-edit .assessment-question-advanced-panel {
    background: rgba(255, 255, 255, 0.92);
}

.assessment-question-type-field select {
    border-radius: 14px;
}

.assessment-settings-toggle-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.assessment-question-toggle-grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.1fr) minmax(0, 1.05fr);
    align-items: stretch;
}

.assessment-settings-toggle-card {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.assessment-settings-toggle-card .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 700;
    color: var(--ink);
}

.assessment-settings-toggle-card input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.assessment-settings-toggle-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.assessment-settings-toggle-card-copy {
    align-content: start;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(241, 248, 247, 0.96), rgba(255, 255, 255, 0.92));
    border-style: dashed;
    border-color: rgba(26, 107, 107, 0.18);
}

.assessment-flow-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.assessment-flow-card-meta span {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--mid);
    font-size: 0.77rem;
    line-height: 1.4;
}

.assessment-flow-preview-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.assessment-builder-question-media {
    display: block;
}

.assessment-builder-question-media img {
    width: 100%;
    max-height: 280px;
    object-fit: contain;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.assessment-builder-question-media.is-compact img {
    max-height: 220px;
}

.assessment-flow-actions {
    align-items: center;
}

.assessment-flow-actions .button-small {
    min-height: 2.35rem;
}

.assessment-question-footer-actions {
    display: flex;
    justify-content: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(17, 24, 39, 0.06);
}

.assessment-question-sheet.is-collapsed .assessment-question-footer-actions {
    padding-top: 0.55rem;
}

.assessment-question-main-action {
    display: inline-flex;
    align-items: center;
    gap: 0.52rem;
    padding-inline: 1rem;
    box-shadow: 0 10px 24px rgba(26, 107, 107, 0.14);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.assessment-question-main-action:hover,
.assessment-question-main-action:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(26, 107, 107, 0.18);
}

.assessment-question-main-action.is-setup {
    box-shadow: 0 16px 30px rgba(26, 107, 107, 0.2);
}

.assessment-question-main-action.is-edit-launch {
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(43, 129, 129, 0.94));
    border-color: rgba(26, 107, 107, 0.88);
    color: #fff;
}

.assessment-question-main-action.is-edit-launch:hover,
.assessment-question-main-action.is-edit-launch:focus-visible {
    background: linear-gradient(135deg, rgba(22, 96, 96, 0.98), rgba(38, 118, 118, 0.94));
    color: #fff;
}

.assessment-question-main-action.is-editing-return {
    background: rgba(255, 249, 235, 0.96);
    border-color: rgba(201, 168, 76, 0.32);
    color: #8d6e19;
    box-shadow: 0 12px 24px rgba(201, 168, 76, 0.12);
}

.assessment-question-main-action.is-editing-return:hover,
.assessment-question-main-action.is-editing-return:focus-visible {
    background: rgba(255, 244, 219, 0.98);
    border-color: rgba(201, 168, 76, 0.44);
    color: #7e6516;
}

.assessment-question-utility-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    justify-content: flex-end;
    padding: 0.45rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    background: rgba(250, 247, 242, 0.62);
    backdrop-filter: blur(8px);
    transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.assessment-question-utility-button {
    border-color: rgba(17, 24, 39, 0.12);
    color: var(--mid);
    background: rgba(255, 255, 255, 0.92);
    padding: 0.48rem 0.85rem;
    min-height: 2.15rem;
    font-size: 0.74rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.assessment-question-utility-button:hover,
.assessment-question-utility-button:focus-visible {
    color: var(--ink);
    border-color: rgba(17, 24, 39, 0.22);
    background: rgba(255, 255, 255, 0.98);
}

.assessment-question-utility-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(155, 48, 39, 0.12);
    background: rgba(255, 255, 255, 0.86);
    color: rgba(13, 13, 13, 0.56);
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.assessment-question-utility-link:hover,
.assessment-question-utility-link:focus-visible {
    transform: translateY(-1px);
    color: #9b3027;
    border-color: rgba(155, 48, 39, 0.24);
    background: rgba(255, 244, 242, 0.92);
    box-shadow: 0 10px 22px rgba(155, 48, 39, 0.08);
    text-decoration: none;
}

.assessment-builder-is-loading .assessment-question-sheet.is-active {
    box-shadow:
        0 22px 40px rgba(26, 107, 107, 0.1),
        0 0 0 3px rgba(26, 107, 107, 0.06);
}

.assessment-question-sheet.is-collapsed .assessment-question-utility-actions {
    opacity: 0;
    transform: translateY(3px);
    pointer-events: none;
}

.assessment-question-sheet.is-collapsed:hover .assessment-question-utility-actions,
.assessment-question-sheet.is-collapsed:focus-within .assessment-question-utility-actions {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    background: rgba(250, 247, 242, 0.88);
    border-color: rgba(26, 107, 107, 0.1);
}

.assessment-question-sheet.is-collapsed:hover .assessment-question-footer-actions,
.assessment-question-sheet.is-collapsed:focus-within .assessment-question-footer-actions {
    border-top-color: rgba(26, 107, 107, 0.12);
}

.assessment-flow-actions .link-button {
    align-self: center;
}

.assessment-option-panel .assessment-google-form {
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(19, 107, 116, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.74));
}

.assessment-builder-save-status,
.assessment-builder-readiness,
.assessment-question-insert-row,
.assessment-question-sheet {
    animation: assessmentBuilderFadeIn 0.28s ease;
}

@keyframes assessmentBuilderFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .app-content,
    .button,
    .student-mobile-nav,
    .student-mobile-nav-item,
    .student-quick-card,
    .student-course-card,
    .lesson-journey-card,
    .learner-assessment-nav-button,
    .student-library-item-shell,
    .app-shell.has-student-mobile-nav .dashboard-intro,
    .app-shell.has-student-mobile-nav .student-hero-band,
    .app-shell.has-student-mobile-nav .assessment-result-band,
    .app-shell.has-student-mobile-nav .course-hero-card,
    .app-shell.has-student-mobile-nav .content-panel,
    .app-shell.has-student-mobile-nav .certificate-card,
    .app-shell.has-student-mobile-nav .student-secondary-item,
    .app-shell.has-student-mobile-nav .student-timeline-item,
    .assessment-form-sheet,
    .assessment-builder-save-status,
    .assessment-builder-readiness,
    .assessment-question-sheet,
    .assessment-question-side-rail,
    .assessment-question-rail-button,
    .assessment-question-collapsed-summary,
    .assessment-question-advanced-panel,
    .assessment-question-advanced-summary,
    .assessment-question-advanced-summary i,
    .assessment-question-utility-actions,
    .assessment-question-utility-button,
    .assessment-question-utility-link,
    .assessment-question-insert-button {
        animation: none;
        transition: none;
    }
}

.assessment-option-panel .assessment-google-form .button-row {
    margin-top: 0.15rem;
}

.assessment-inline-builder-form {
    padding: 1rem 1rem 0.95rem;
    border-radius: 18px;
    border: 1px solid rgba(19, 107, 116, 0.1);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.74));
}

.assessment-choice-composer {
    gap: 0.85rem;
    background: linear-gradient(180deg, rgba(252, 252, 251, 0.98), rgba(244, 249, 248, 0.9));
}

.assessment-choice-composer-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 0.85rem;
    align-items: center;
}

.assessment-choice-composer-field {
    min-width: 0;
}

.assessment-choice-composer-field input {
    min-height: 3.15rem;
}

.assessment-choice-composer-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 3.15rem;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.9);
    color: var(--ink);
    font-weight: 600;
    white-space: nowrap;
}

.assessment-choice-composer-toggle input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
}

.assessment-choice-composer-extra,
.assessment-inline-option-extra-shell {
    border-top: 1px dashed rgba(17, 24, 39, 0.08);
    padding-top: 0.75rem;
}

.assessment-choice-composer-extra summary,
.assessment-inline-option-extra-shell summary {
    cursor: pointer;
    color: var(--mid);
    font-size: 0.8rem;
    font-weight: 600;
}

.assessment-inline-option-row-form {
    gap: 0.8rem;
}

.assessment-inline-option-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 0.8rem;
    align-items: start;
}

.assessment-inline-option-text-field input {
    min-height: 3rem;
}

.assessment-inline-option-toggle {
    display: grid;
    gap: 0.35rem;
    min-height: 3rem;
    align-content: center;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.94);
}

.assessment-inline-option-toggle .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 700;
    color: var(--ink);
}

.assessment-inline-option-toggle input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.assessment-inline-option-extra {
    display: grid;
    gap: 0.35rem;
}

.assessment-inline-option-actions {
    justify-content: flex-start;
}

.assessment-inline-option-actions-secondary {
    margin-top: -0.25rem;
}

.assessment-question-composer-actions {
    padding-top: 0.15rem;
    border-top: 1px solid rgba(17, 24, 39, 0.06);
}

.learner-assessment-shell {
    display: grid;
    gap: 1.4rem;
}

.learner-assessment-hero {
    display: grid;
    gap: 1rem;
    overflow: hidden;
    padding: 0;
}

.learner-assessment-hero-bar {
    width: 100%;
    height: 0.45rem;
    background: linear-gradient(90deg, rgba(26, 107, 107, 0.96), rgba(201, 168, 76, 0.88));
}

.learner-assessment-hero-copy,
.learner-assessment-hero-meta {
    padding: 0 1.25rem;
}

.learner-assessment-hero-copy {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
}

.learner-assessment-hero-copy h2 {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.learner-assessment-hero-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.75;
}

.learner-assessment-hero-meta {
    padding-bottom: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    min-width: 0;
}

.learner-assessment-timer {
    min-width: 132px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.98), rgba(33, 41, 54, 0.96));
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.18);
}

.learner-assessment-pulse-grid {
    margin-bottom: 0;
}

.learner-assessment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.78fr);
    gap: 1.1rem;
    align-items: start;
}

.learner-assessment-main,
.learner-assessment-rail {
    display: grid;
    gap: 1rem;
}

.learner-assessment-attempt-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(19, 107, 116, 0.14);
    background: linear-gradient(180deg, rgba(238, 247, 246, 0.98), rgba(255, 255, 255, 0.94));
}

.learner-assessment-attempt-card.is-locked {
    border-color: rgba(192, 94, 58, 0.22);
    background: linear-gradient(180deg, rgba(255, 246, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.learner-assessment-attempt-copy {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.learner-assessment-attempt-copy strong {
    font-size: 1.15rem;
    color: var(--ink);
}

.learner-assessment-attempt-copy p {
    margin: 0;
    color: var(--mid);
}

.learner-assessment-draft-status {
    color: var(--teal);
    font-weight: 600;
}

.learner-assessment-form {
    display: grid;
    gap: 1rem;
}

.learner-assessment-mobile-console {
    display: none;
    gap: 0.9rem;
    border: 1px solid rgba(19, 107, 116, 0.16);
    background: linear-gradient(180deg, rgba(245, 250, 249, 0.98), rgba(255, 255, 255, 0.96));
}

.learner-assessment-mobile-console-head {
    display: grid;
    gap: 0.85rem;
}

.learner-assessment-mobile-console-head strong {
    display: block;
    margin-top: 0.25rem;
    font-size: 1.02rem;
    color: var(--ink);
}

.learner-assessment-mobile-console-head p {
    margin: 0.35rem 0 0;
    color: var(--mid);
}

.learner-assessment-mobile-nav {
    display: flex;
    gap: 0.65rem;
    overflow-x: auto;
    padding-bottom: 0.1rem;
    scrollbar-width: thin;
}

.learner-assessment-mobile-nav .learner-assessment-nav-button {
    flex: 0 0 50px;
}

.learner-assessment-section-break {
    overflow: hidden;
    display: grid;
    gap: 0;
    padding: 0;
}

.learner-assessment-section-break-bar {
    width: 100%;
    height: 0.35rem;
    background: linear-gradient(90deg, rgba(201, 168, 76, 0.92), rgba(26, 107, 107, 0.92));
}

.learner-assessment-section-break-copy {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.15rem 1.05rem;
    background: linear-gradient(180deg, rgba(244, 249, 248, 0.98), rgba(255, 255, 255, 0.95));
}

.learner-assessment-section-break-copy strong {
    font-size: 1.02rem;
    color: var(--ink);
}

.learner-assessment-section-break-copy p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.learner-assessment-question-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1rem;
    padding: 0;
}

.learner-assessment-question-card.is-answered {
    border-color: rgba(122, 173, 138, 0.28);
    box-shadow: 0 18px 34px rgba(122, 173, 138, 0.08);
}

.learner-assessment-question-bar {
    width: 100%;
    height: 0.35rem;
    background: linear-gradient(90deg, rgba(201, 168, 76, 0.92), rgba(26, 107, 107, 0.88));
}

.learner-assessment-question-topline,
.learner-answer-options,
.learner-assessment-response,
.learner-assessment-question-card .resource-management-actions,
.learner-assessment-question-card > p {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.learner-assessment-question-topline {
    padding-top: 0.05rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.learner-assessment-question-topline h3 {
    margin: 0.35rem 0 0;
    font-size: 1.1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.learner-assessment-question-media {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.learner-assessment-question-media img {
    width: 100%;
    max-height: 340px;
    object-fit: contain;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.learner-assessment-question-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.learner-answer-options {
    display: grid;
    gap: 0.75rem;
    padding-bottom: 1.2rem;
}

.learner-option-card {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 1rem;
    align-items: center;
    padding: 1.05rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 237, 0.9));
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.learner-assessment-question-card.is-missing {
    border-color: rgba(192, 94, 58, 0.34);
    box-shadow: 0 18px 34px rgba(192, 94, 58, 0.08);
}

.learner-assessment-nav-button.is-missing {
    border-color: rgba(192, 94, 58, 0.34);
    background: rgba(255, 246, 242, 0.95);
    color: #9b3027;
}

.learner-option-card:hover {
    border-color: rgba(26, 107, 107, 0.24);
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(26, 107, 107, 0.08);
}

.learner-option-card:has(input:focus-visible) {
    border-color: rgba(26, 107, 107, 0.3);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.22);
}

.learner-option-card input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: var(--brand-teal);
}

.learner-option-card:has(input:checked) {
    border-color: rgba(26, 107, 107, 0.3);
    background: linear-gradient(180deg, rgba(239, 249, 246, 0.98), rgba(255, 255, 255, 0.96));
    box-shadow: 0 16px 28px rgba(26, 107, 107, 0.09);
}

.learner-option-marker {
    width: 2rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.18);
    color: #8d6e19;
    font-weight: 700;
}

.learner-option-card input:checked + .learner-option-marker {
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.94), rgba(201, 168, 76, 0.88));
    color: #ffffff;
}

.learner-option-copy {
    color: var(--ink);
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.learner-option-card input:checked ~ .learner-option-copy {
    font-weight: 600;
}

.learner-assessment-response {
    display: grid;
    gap: 0.55rem;
    padding-bottom: 1.2rem;
}

.learner-assessment-response textarea {
    width: 100%;
    min-height: 132px;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.98);
    padding: 1rem 1.05rem;
    color: var(--ink);
    font: inherit;
    line-height: 1.7;
    resize: vertical;
}

.learner-assessment-response textarea:focus {
    outline: none;
    border-color: rgba(26, 107, 107, 0.35);
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.08);
}

.learner-answer-count {
    justify-self: end;
    color: var(--mid);
    font-family: var(--mono);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}

.learner-assessment-response input:focus-visible,
.learner-assessment-response textarea:focus-visible,
.learner-assessment-response select:focus-visible {
    outline: 3px solid rgba(201, 168, 76, 0.36);
    outline-offset: 2px;
}

.learner-assessment-submit-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.learner-assessment-submit-card > div:first-child {
    min-width: 0;
}

.learner-assessment-submit-card strong {
    display: block;
    margin-top: 0.3rem;
    font-size: 1.08rem;
    color: var(--ink);
}

.learner-assessment-submit-card p {
    margin: 0.55rem 0 0;
    color: var(--mid);
    line-height: 1.7;
}

.learner-assessment-summary-card .panel-head,
.learner-assessment-note-card .panel-head {
    margin-bottom: 0.8rem;
}

.learner-assessment-navigator-card {
    display: grid;
    gap: 0.95rem;
}

.learner-assessment-progress-track {
    position: relative;
    width: 100%;
    height: 0.5rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.learner-assessment-progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(26, 107, 107, 0.96), rgba(201, 168, 76, 0.9));
    transition: width 0.2s ease;
}

.learner-assessment-navigator-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
    gap: 0.7rem;
}

.learner-assessment-nav-button {
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.learner-assessment-nav-button:hover {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 12px 24px rgba(26, 107, 107, 0.08);
}

.learner-assessment-nav-button:active {
    transform: translateY(0) scale(0.985);
}

.learner-assessment-nav-button:focus-visible {
    outline: 3px solid rgba(201, 168, 76, 0.42);
    outline-offset: 2px;
    border-color: rgba(26, 107, 107, 0.28);
    box-shadow: 0 0 0 3px rgba(15, 76, 92, 0.14);
}

.learner-assessment-nav-button.is-answered {
    background: linear-gradient(180deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
    border-color: rgba(122, 173, 138, 0.28);
    color: #2f6d40;
}

.learner-assessment-latest-score {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}

.learner-assessment-latest-score strong {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    line-height: 1;
    color: var(--ink);
}

.learner-assessment-latest-score span {
    color: var(--mid);
}

.learner-assessment-result-flow {
    display: grid;
    gap: 1rem;
}

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

.learner-assessment-followthrough-card {
    height: 100%;
}

.learner-assessment-result-summary-card .button-row {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.learner-assessment-focus-hero {
    width: min(100%, 980px);
    margin-inline: auto;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.14), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 251, 0.94));
}

.learner-assessment-focus-hero .learner-assessment-hero-copy,
.learner-assessment-focus-hero .learner-assessment-hero-meta {
    padding-left: clamp(1rem, 2vw, 1.5rem);
    padding-right: clamp(1rem, 2vw, 1.5rem);
}

.learner-assessment-focus-hero .learner-assessment-hero-copy h2 {
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    line-height: 1.08;
}

.learner-assessment-shell .learner-assessment-layout {
    width: min(100%, 980px);
    margin-inline: auto;
    display: block;
}

.learner-assessment-shell .learner-assessment-main {
    display: grid;
    gap: 1rem;
}

.learner-assessment-work-console {
    position: sticky;
    top: 0.85rem;
    z-index: 8;
    display: grid;
    gap: 0.95rem;
    border: 1px solid rgba(26, 107, 107, 0.16);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(16px);
}

.learner-assessment-work-console.is-locked {
    border-color: rgba(192, 94, 58, 0.22);
    background: rgba(255, 248, 244, 0.95);
}

.learner-assessment-work-console .learner-assessment-mobile-console-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.learner-assessment-work-console .learner-assessment-mobile-console-head p {
    max-width: 62ch;
}

.learner-assessment-console-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.learner-assessment-console-actions .button {
    white-space: nowrap;
}

.learner-assessment-work-console .learner-assessment-mobile-nav {
    padding-bottom: 0.2rem;
}

.learner-assessment-nav-shell {
    display: grid;
    gap: 0.65rem;
}

.learner-assessment-nav-toggle {
    display: none;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(26, 107, 107, 0.12);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(245, 250, 249, 0.98), rgba(255, 255, 255, 0.94));
    color: var(--ink);
    font: inherit;
    cursor: pointer;
}

.learner-assessment-nav-toggle span {
    font-family: var(--mono);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.learner-assessment-nav-toggle strong {
    margin-left: auto;
    white-space: nowrap;
}

.learner-assessment-nav-toggle i {
    color: var(--teal);
    transition: transform 0.18s ease;
}

.learner-assessment-nav-shell.is-open .learner-assessment-nav-toggle i {
    transform: rotate(180deg);
}

.learner-assessment-work-console .learner-assessment-nav-button {
    flex: 0 0 44px;
    min-height: 44px;
    border-radius: 14px;
}

.learner-assessment-form .learner-assessment-question-card {
    border-radius: 22px;
    scroll-margin-top: 11rem;
}

.learner-assessment-answered-badge {
    display: none;
    border-color: rgba(122, 173, 138, 0.24);
    background: rgba(239, 249, 242, 0.95);
    color: #2f6d40;
}

.learner-assessment-question-card.is-answered .learner-assessment-answered-badge {
    display: inline-flex;
}

.learner-assessment-question-controls {
    display: flex;
    justify-content: flex-end;
    gap: 0.7rem;
    padding: 0 1.2rem 1.2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    margin-top: -0.15rem;
    padding-top: 1rem;
}

.learner-assessment-question-controls .button {
    min-width: 9.5rem;
    justify-content: center;
}

.learner-assessment-form .learner-assessment-submit-card {
    border-radius: 22px;
    background:
        radial-gradient(circle at bottom right, rgba(26, 107, 107, 0.08), transparent 36%),
        rgba(255, 255, 255, 0.98);
}

.learner-assessment-confirm-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    border-radius: 22px;
    border-color: rgba(201, 168, 76, 0.32);
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(255, 252, 244, 0.98), rgba(255, 255, 255, 0.96));
    box-shadow: 0 18px 38px rgba(201, 168, 76, 0.12);
}

.learner-assessment-confirm-card[hidden] {
    display: none;
}

.learner-assessment-confirm-card > div:first-child {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.learner-assessment-confirm-card strong {
    color: var(--ink);
    font-size: 1.08rem;
}

.learner-assessment-confirm-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.resource-builder-panel {
    display: grid;
    gap: 1rem;
}

.resource-builder-form {
    display: grid;
    gap: 1rem;
}

.lesson-empty-state {
    display: grid;
    place-items: center;
    gap: 0.55rem;
    padding: 2.4rem 1.2rem;
    border: 1px dashed rgba(19, 107, 116, 0.22);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.64);
    text-align: center;
}

.lesson-empty-state i {
    color: var(--teal);
    font-size: 1.3rem;
}

.lesson-empty-state strong {
    color: var(--ink);
}

.lesson-empty-state span {
    color: var(--mid);
    max-width: 38rem;
    line-height: 1.7;
}

.assessment-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.sidebar-welcome-avatar img,
.sidebar-user .s-avatar img,
.tutor-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}

.sidebar-profile-line {
    display: block;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.72rem;
    line-height: 1.45;
}

.tutor-profile-grid {
    align-items: start;
}

.tutor-profile-main-column,
.tutor-profile-side-column {
    display: grid;
    gap: 1.5rem;
    align-content: start;
}

.tutor-profile-highlight-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.admin-user-record-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.72fr);
}

.admin-user-record-summary {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 238, 0.94));
}

.admin-record-highlight-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 0;
}

.tutor-profile-highlight-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 0.75rem;
    min-height: 188px;
    padding: 1.15rem 1.1rem;
    border-radius: 22px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 242, 233, 0.92));
    box-shadow: 0 20px 36px rgba(17, 24, 39, 0.08);
}

.admin-record-highlight-card {
    min-height: 144px;
    padding: 1rem;
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.06);
}

.admin-record-highlight-card .tutor-profile-highlight-value {
    font-size: clamp(1.05rem, 1.45vw, 1.32rem);
    line-height: 1.18;
}

.admin-record-highlight-card .tutor-profile-highlight-support {
    font-size: 0.82rem;
    line-height: 1.5;
}

.tutor-profile-highlight-card::after {
    content: "";
    position: absolute;
    inset: auto -16px -30px auto;
    width: 92px;
    height: 92px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0.55;
    pointer-events: none;
}

.tutor-profile-highlight-card.tone-teal {
    background: linear-gradient(180deg, rgba(242, 251, 250, 0.98), rgba(228, 244, 241, 0.94));
}

.tutor-profile-highlight-card.tone-gold {
    background: linear-gradient(180deg, rgba(255, 250, 241, 0.98), rgba(246, 237, 214, 0.94));
}

.tutor-profile-highlight-card.tone-ink {
    background: linear-gradient(180deg, rgba(249, 250, 252, 0.99), rgba(236, 241, 246, 0.94));
}

.tutor-profile-highlight-card.tone-sage {
    background: linear-gradient(180deg, rgba(244, 251, 248, 0.98), rgba(231, 243, 238, 0.94));
}

.tutor-profile-highlight-top {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.tutor-profile-highlight-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    background: rgba(17, 24, 39, 0.08);
    color: var(--teal);
    flex-shrink: 0;
}

.tutor-profile-highlight-card.tone-gold .tutor-profile-highlight-icon {
    color: #b7791f;
}

.tutor-profile-highlight-card.tone-ink .tutor-profile-highlight-icon {
    color: var(--ink);
}

.tutor-profile-highlight-card.tone-sage .tutor-profile-highlight-icon {
    color: #2f855a;
}

.tutor-profile-highlight-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(17, 24, 39, 0.62);
    font-weight: 700;
}

.tutor-profile-highlight-value {
    position: relative;
    z-index: 1;
    display: block;
    font-size: clamp(1.45rem, 2vw, 2.2rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
    color: var(--ink);
    word-break: break-word;
    text-wrap: balance;
}

.tutor-profile-highlight-support {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: auto;
    color: var(--text-soft);
    font-size: 0.85rem;
    font-weight: 600;
}

.school-access-form-grid {
    align-items: start;
}

.school-access-subject-field {
    grid-column: 1 / -1;
}

.school-access-subject-picker {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.school-access-level-group {
    display: grid;
    gap: 0.8rem;
    padding: 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        rgba(248, 250, 249, 0.92);
}

.school-access-level-group:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(217, 170, 43, 0.08), transparent 34%),
        rgba(255, 252, 244, 0.94);
}

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

.school-access-level-head strong {
    color: var(--ink);
    font-size: 1rem;
}

.school-access-level-head p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.55;
}

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

.school-access-subject-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.8rem 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.school-access-subject-option:hover,
.school-access-subject-option:focus-within {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.school-access-subject-option.is-selected {
    border-color: rgba(26, 107, 107, 0.34);
    background: linear-gradient(135deg, rgba(226, 241, 241, 0.98), rgba(255, 255, 255, 0.94));
}

.school-access-subject-option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.school-access-subject-check {
    width: 1rem;
    height: 1rem;
    margin-top: 0.2rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(26, 107, 107, 0.32);
    color: transparent;
    background: rgba(255, 255, 255, 0.95);
}

.school-access-subject-option.is-selected .school-access-subject-check {
    color: #fff;
    background: var(--teal);
    border-color: var(--teal);
}

.school-access-subject-check i {
    font-size: 0.58rem;
}

.school-access-subject-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.school-access-subject-copy strong {
    color: var(--ink);
    line-height: 1.35;
}

.school-access-subject-copy small {
    color: var(--mid);
    line-height: 1.45;
    font-size: 0.76rem;
}

.school-access-subject-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.admin-school-access-shell {
    display: grid;
    gap: 1.4rem;
}

.admin-school-access-hero {
    align-items: center;
}

.admin-school-access-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-school-access-card-grid .student-pulse-card {
    min-height: 160px;
}

.admin-school-access-card-grid .student-pulse-card p {
    margin: 0.25rem 0 0;
    color: var(--text-soft);
    line-height: 1.5;
}

.admin-school-access-main-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    align-items: start;
}

.admin-school-access-form-panel,
.admin-school-access-subject-panel,
.admin-school-access-history-panel,
.admin-school-access-links-panel {
    position: relative;
    overflow: hidden;
}

.admin-school-access-side {
    display: grid;
    gap: 1rem;
}

.admin-school-access-actions {
    grid-column: 1 / -1;
}

.admin-school-access-history-list {
    display: grid;
    gap: 0.75rem;
}

.admin-school-access-history-row {
    display: grid;
    gap: 0.7rem;
    padding: 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
}

.admin-school-access-history-row.is-current {
    border-color: rgba(26, 107, 107, 0.28);
    background: linear-gradient(145deg, rgba(26, 107, 107, 0.08), rgba(255, 255, 255, 0.94));
}

.admin-school-access-history-row h3,
.admin-school-access-history-row p {
    margin: 0;
}

.admin-school-access-history-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-school-access-history-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--brand);
    font-size: 0.72rem;
    font-weight: 800;
}

.tutor-profile-summary {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.92));
    display: grid;
    gap: 1rem;
}

.admin-tutor-roster {
    display: grid;
    gap: 0.75rem;
}

.admin-tutor-roster-card {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) auto minmax(250px, 0.9fr) minmax(250px, auto);
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background:
        linear-gradient(90deg, rgba(26, 107, 107, 0.04), transparent 40%),
        rgba(255, 255, 255, 0.94);
    color: inherit;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.admin-tutor-roster-card:nth-child(even) {
    background:
        linear-gradient(90deg, rgba(214, 180, 73, 0.08), transparent 40%),
        rgba(255, 252, 244, 0.94);
}

.admin-tutor-roster-card:hover,
.admin-tutor-roster-card:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.1);
    border-color: rgba(16, 132, 139, 0.22);
    background: rgba(247, 251, 251, 0.98);
}

.admin-tutor-roster-card.needs-attention {
    border-color: rgba(201, 86, 33, 0.18);
    background: rgba(255, 251, 248, 0.96);
}

.admin-tutor-roster-main {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
}

.admin-tutor-roster-avatar {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(16, 132, 139, 0.14), rgba(214, 180, 73, 0.2));
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.admin-tutor-roster-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-tutor-roster-avatar span {
    font-size: 1.35rem;
    font-weight: 700;
    color: #154a62;
}

.admin-tutor-roster-copy {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.admin-tutor-roster-copy strong {
    font-size: 1rem;
    line-height: 1.2;
    color: #10233a;
    word-break: break-word;
}

.admin-tutor-roster-copy span {
    color: var(--mid);
    font-size: 0.86rem;
    overflow-wrap: anywhere;
}

.admin-tutor-roster-copy small {
    color: var(--teal);
    font-size: 0.78rem;
    line-height: 1.45;
}

.admin-tutor-roster-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-tutor-scope-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.65rem;
    border-radius: 999px;
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-tutor-scope-badge.tone-gold {
    background: rgba(198, 161, 74, 0.16);
    color: #8a640a;
}

.admin-tutor-scope-badge.tone-ink {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.admin-tutor-roster-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-tutor-roster-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.6rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--mid);
    font-size: 0.78rem;
}

.admin-tutor-roster-stats strong {
    color: var(--ink);
}

.admin-tutor-roster-action {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
}

@media (max-width: 1180px) {
    .tutor-scope-compare-strip {
        grid-template-columns: 1fr;
    }

    .admin-tutor-roster-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .admin-tutor-roster-stats,
    .admin-tutor-roster-action {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .admin-tutor-roster-card {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .admin-tutor-roster-action {
        justify-content: flex-start;
        width: 100%;
    }
}

.tutor-profile-head {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.tutor-profile-avatar {
    width: 92px;
    height: 92px;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.16), rgba(201, 168, 76, 0.22));
    display: grid;
    place-items: center;
    font-size: 2rem;
    font-weight: 700;
    color: var(--teal);
    flex-shrink: 0;
}

.tutor-profile-copy {
    display: grid;
    gap: 0.35rem;
}

.tutor-profile-copy h3,
.tutor-profile-copy p,
.tutor-profile-copy strong {
    margin: 0;
}

.tutor-profile-copy strong {
    color: var(--teal);
    font-size: 0.95rem;
}

.tutor-profile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.tutor-profile-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--ink);
    font-size: 0.8rem;
    font-weight: 600;
}

.tutor-profile-meta i {
    color: var(--teal);
}

.tutor-profile-note {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--mid);
}

.tutor-profile-note i {
    color: var(--teal);
    margin-top: 0.1rem;
}

.tutor-profile-note p {
    margin: 0;
}

.tutor-profile-upload-shell {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    margin-bottom: 1rem;
}

.tutor-profile-upload-preview {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(235, 243, 245, 0.94));
    border: 1px solid rgba(17, 24, 39, 0.08);
    min-height: 260px;
    display: grid;
    place-items: center;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.tutor-profile-upload-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.tutor-profile-upload-copy {
    display: grid;
    gap: 1rem;
}

.tutor-profile-upload-copy .panel-head {
    margin-bottom: 0;
}

.tutor-profile-upload-copy input[type="file"] {
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
}

.tutor-profile-ges-scope {
    display: grid;
    gap: 1rem;
}

.tutor-profile-ges-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.tutor-profile-ges-stat {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(247, 250, 252, 0.88);
    display: grid;
    gap: 0.35rem;
}

.tutor-profile-ges-stat span {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--teal);
}

.tutor-profile-ges-stat strong {
    font-size: 1.2rem;
    color: var(--ink);
}

.tutor-profile-ges-groups {
    display: grid;
    gap: 0.95rem;
}

.tutor-profile-ges-group {
    display: grid;
    gap: 0.45rem;
}

.tutor-profile-ges-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.school-handout-grid {
    align-items: start;
}

.school-handout-sheet {
    background:
        radial-gradient(circle at top right, rgba(213, 181, 74, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(240, 247, 246, 0.98), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(26, 107, 107, 0.14);
}

.school-handout-sheet-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.5rem;
}

.school-handout-sheet-head h3 {
    margin-bottom: 0.35rem;
}

.school-handout-sheet-head p {
    margin: 0;
    color: rgba(20, 35, 34, 0.72);
}

.school-handout-code {
    padding: 1.5rem;
    border-radius: 24px;
    border: 1px dashed rgba(26, 107, 107, 0.24);
    background: rgba(255, 255, 255, 0.84);
    text-align: center;
}

.school-handout-code span,
.school-handout-link-card span {
    display: block;
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--brand-teal);
    font-family: var(--font-mono);
}

.school-handout-code strong {
    display: block;
    margin: 0.6rem 0 0.4rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1;
}

.school-handout-code p {
    margin: 0;
    color: rgba(20, 35, 34, 0.74);
}

.school-handout-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.school-handout-link-card,
.school-handout-step-card,
.school-copy-block,
.school-handout-note {
    padding: 1.25rem;
    border-radius: 22px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background: rgba(255, 255, 255, 0.9);
}

.school-handout-link-card strong {
    display: block;
    margin-top: 0.55rem;
    word-break: break-word;
    font-size: 0.98rem;
}

.school-handout-step-grid,
.school-copy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.school-handout-step-card p {
    margin: 0 0 1rem;
    color: rgba(20, 35, 34, 0.74);
}

.school-handout-step-list {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.75rem;
}

.school-handout-note {
    margin-top: 1.25rem;
    background: rgba(26, 107, 107, 0.06);
}

.school-handout-note strong {
    display: block;
    margin-bottom: 0.4rem;
}

.school-handout-note p {
    margin: 0;
}

.school-copy-block .panel-head {
    align-items: center;
}

.school-copy-block textarea {
    width: 100%;
    min-height: 170px;
    margin-top: 0.75rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background: rgba(245, 248, 248, 0.96);
    color: var(--ink-900);
    line-height: 1.6;
    resize: vertical;
}

.school-copy-trigger.is-copied {
    border-color: rgba(26, 107, 107, 0.26);
    background: rgba(26, 107, 107, 0.1);
    color: var(--brand-teal);
}

.school-handout-preview p {
    white-space: normal;
}

.school-setup-panel {
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 249, 0.94));
}

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

.school-next-steps-panel .school-setup-grid {
    grid-template-columns: 1fr;
}

.school-priorities-panel,
.school-next-steps-panel {
    align-self: stretch;
    display: flex;
    flex-direction: column;
}

.school-priorities-panel .student-quick-grid,
.school-next-steps-panel .school-setup-grid {
    flex: 1;
}

.school-setup-card,
.school-workflow-step {
    border-radius: 22px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.school-setup-card {
    padding: 1.25rem;
    display: grid;
    gap: 0.8rem;
}

.school-setup-card strong {
    font-size: 1.2rem;
    line-height: 1.25;
}

.school-setup-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.school-setup-card.tone-teal {
    border-color: rgba(26, 107, 107, 0.18);
}

.school-setup-card.tone-gold {
    border-color: rgba(213, 181, 74, 0.22);
    background: rgba(255, 249, 238, 0.94);
}

.school-setup-card.tone-ink {
    border-color: rgba(36, 67, 111, 0.16);
    background: rgba(244, 248, 255, 0.92);
}

.school-setup-card.tone-sage {
    border-color: rgba(90, 131, 103, 0.18);
    background: rgba(245, 250, 245, 0.92);
}

.school-workflow-strip {
    margin: 0 0 1.3rem;
    padding: 1.15rem 1.2rem;
    border-radius: 24px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 247, 247, 0.94));
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.05);
}

.school-workflow-strip-head {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 0.95rem;
}

.school-workflow-strip-head h3 {
    margin: 0;
    font-size: 1.1rem;
}

.school-workflow-step-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.school-workflow-step {
    display: flex;
    align-items: start;
    gap: 0.8rem;
    padding: 1rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.school-workflow-step:hover {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.school-workflow-step.is-active {
    border-color: rgba(26, 107, 107, 0.24);
    background: rgba(235, 246, 245, 0.96);
}

.school-workflow-step-index {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--brand-teal);
    font-weight: 700;
    flex-shrink: 0;
}

.school-workflow-step-copy {
    display: grid;
    gap: 0.3rem;
}

.school-workflow-step-copy strong {
    font-size: 1rem;
    line-height: 1.2;
}

.school-workflow-step-copy small {
    color: var(--mid);
    line-height: 1.5;
}

@media (max-width: 640px) {
    .tutor-profile-highlight-card {
        min-height: 0;
    }

    .tutor-profile-highlight-value {
        font-size: 1.6rem;
    }

    .school-access-subject-grid {
        grid-template-columns: 1fr;
    }

    .tutor-profile-upload-shell {
        grid-template-columns: 1fr;
    }

    .tutor-profile-upload-preview {
        min-height: 220px;
    }

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

    .school-handout-links,
    .school-handout-step-grid,
    .school-copy-grid,
    .school-setup-grid {
        grid-template-columns: 1fr;
    }

    .school-handout-sheet-head {
        flex-direction: column;
    }

    .school-workflow-step-list {
        grid-template-columns: 1fr;
    }
}

.tutor-module-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 240, 232, 0.92));
    display: grid;
    gap: 0.9rem;
}

.tutor-module-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.tutor-dashboard-stack {
    display: grid;
    gap: 1.5rem;
}

.tutor-dashboard-stack > section {
    margin: 0;
}

.tutor-hero-band {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--workspace-hero-gap);
    margin-bottom: 1.4rem;
    padding: var(--workspace-hero-padding);
    border-radius: var(--workspace-hero-radius);
    background: var(--workspace-tutor-hero);
    color: #fff;
    box-shadow: var(--workspace-hero-shadow);
}

.tutor-hero-copy {
    display: grid;
    gap: 0.6rem;
    max-width: 62ch;
}

.tutor-hero-band .eyebrow-inline,
.tutor-hero-band h2,
.tutor-hero-band p {
    color: #fff;
}

.tutor-hero-band p {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.75;
    margin: 0;
}

.tutor-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-width: 210px;
}

.tutor-hero-band .text-link {
    color: rgba(255, 255, 255, 0.92);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.tutor-hero-band .text-link:hover,
.tutor-hero-band .text-link:focus-visible {
    color: #ffffff;
}

.tutor-pulse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tutor-stat-grid {
    margin-bottom: 1.5rem;
}

.tutor-dashboard-grid {
    align-items: start;
    gap: 1.5rem;
}

.tutor-command-grid {
    align-items: start;
    margin-bottom: 1.1rem;
}

.tutor-action-board,
.tutor-queue-panel {
    height: 100%;
}

.tutor-priority-list {
    display: grid;
    gap: 0.8rem;
}

.tutor-priority-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 245, 239, 0.92));
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.tutor-priority-card:hover {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 16px 30px rgba(13, 13, 13, 0.08);
}

.tutor-priority-card.tone-teal {
    background: linear-gradient(180deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.96));
}

.tutor-priority-card.tone-gold {
    background: linear-gradient(180deg, rgba(251, 245, 226, 0.98), rgba(255, 255, 255, 0.96));
}

.tutor-priority-card.tone-ink {
    background: linear-gradient(180deg, rgba(239, 239, 241, 0.98), rgba(255, 255, 255, 0.96));
}

.tutor-priority-card.tone-sage {
    background: linear-gradient(180deg, rgba(238, 247, 239, 0.98), rgba(255, 255, 255, 0.96));
}

.tutor-priority-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    flex-shrink: 0;
}

.tutor-priority-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.tutor-priority-copy strong {
    color: var(--ink);
    font-size: 0.95rem;
    line-height: 1.3;
}

.tutor-priority-copy p {
    color: var(--mid);
    font-size: 0.8rem;
    line-height: 1.55;
    margin: 0;
}

.tutor-priority-arrow {
    color: rgba(13, 13, 13, 0.32);
    font-size: 0.78rem;
}

.tutor-queue-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.tutor-queue-card {
    padding: 1rem 0.85rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 245, 239, 0.9));
    display: grid;
    gap: 0.22rem;
    justify-items: start;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.tutor-queue-card:hover {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.16);
}

.tutor-queue-icon {
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    margin-bottom: 0.35rem;
}

.tutor-queue-card strong {
    color: var(--ink);
    font-size: 1.15rem;
    line-height: 1;
}

.tutor-queue-card span {
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 600;
}

.tutor-queue-card small {
    color: var(--mid);
    font-size: 0.74rem;
    line-height: 1.45;
}

.tutor-management-hero {
    margin-bottom: 1.2rem;
}

.tutor-pulse-grid-expanded {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.compact-priority-list {
    margin-top: 1rem;
}

.tutor-access-filter-bar {
    margin-bottom: 1rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: end;
}

.tutor-management-list {
    display: grid;
    gap: 1rem;
}

.tutor-management-card {
    position: relative;
    overflow: hidden;
    padding: 1.15rem;
    border-radius: 20px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 245, 239, 0.94));
    display: grid;
    gap: 1rem;
    box-shadow: 0 14px 32px rgba(18, 28, 49, 0.055);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.tutor-management-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.92), rgba(201, 168, 76, 0.78));
    opacity: 0.9;
}

.tutor-management-card:hover,
.tutor-management-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.2);
    box-shadow: 0 20px 42px rgba(18, 28, 49, 0.095);
}

.tutor-management-card.needs-attention {
    border-color: rgba(201, 168, 76, 0.28);
    box-shadow: 0 16px 28px rgba(201, 168, 76, 0.08);
}

.tutor-management-card.needs-attention::before {
    background: linear-gradient(180deg, rgba(201, 168, 76, 0.95), rgba(26, 107, 107, 0.82));
}

.tutor-management-top {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.tutor-management-top h3 {
    margin: 0 0 0.35rem;
    color: var(--ink);
    font-size: clamp(1.1rem, 1.35vw, 1.35rem);
}

.tutor-management-top p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

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

.tutor-management-metric {
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 0.2rem;
}

.tutor-management-metric span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.tutor-management-metric strong {
    font-size: 1rem;
    line-height: 1.2;
    color: var(--ink);
}

.tutor-management-metric p {
    margin: 0;
    color: var(--mid);
    font-size: 0.78rem;
    line-height: 1.55;
}

.tutor-management-status-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.tutor-management-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

.tutor-management-actions .ges-action-links {
    margin-top: 0;
}

.tutor-management-updated {
    color: var(--mid);
    font-size: 0.8rem;
}

.tutor-management-module-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.tutor-management-module {
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    background: rgba(245, 240, 232, 0.7);
    border: 1px solid rgba(13, 13, 13, 0.06);
    display: grid;
    gap: 0.22rem;
}

.tutor-management-module strong {
    font-size: 0.9rem;
    color: var(--ink);
}

.tutor-management-module span {
    font-size: 0.78rem;
    color: var(--mid);
    line-height: 1.5;
}

.single-column-module-list {
    grid-template-columns: minmax(0, 1fr);
}

.admin-assignment-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr);
    align-items: start;
}

.admin-assignment-form-panel,
.admin-assignment-side-panel {
    display: grid;
    gap: 1rem;
}

.admin-assignment-form {
    gap: 1rem;
}

.admin-linked-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tutor-focus-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.92));
}

.tutor-focus-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(240px, 0.7fr);
    gap: 1.25rem;
}

.tutor-focus-primary {
    display: grid;
    gap: 0.9rem;
}

.tutor-focus-primary h3 {
    margin: 0;
}

.tutor-focus-primary p {
    color: var(--mid);
    line-height: 1.7;
}

.tutor-overview-actions {
    flex-wrap: nowrap;
}

.tutor-overview-actions .button {
    white-space: nowrap;
}

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

.tutor-focus-mini-card,
.tutor-focus-summary {
    padding: 1rem;
    border: 1px solid var(--workspace-card-border);
    border-radius: var(--workspace-card-radius);
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 0.35rem;
    box-shadow: var(--workspace-card-shadow);
}

.tutor-focus-mini-card span,
.tutor-focus-summary span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.tutor-focus-mini-card strong,
.tutor-focus-summary strong {
    font-size: 0.96rem;
    line-height: 1.5;
}

.tutor-focus-summary p {
    color: var(--mid);
    line-height: 1.65;
    margin: 0;
}

.tutor-focus-side {
    display: grid;
    gap: 0.85rem;
}

.tutor-dashboard-course-list {
    gap: 1rem;
}

.tutor-dashboard-course-card {
    gap: 0;
}

.tutor-dashboard-course-body {
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
}

.tutor-dashboard-course-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.tutor-dashboard-course-stats {
    grid-template-columns: repeat(4, minmax(110px, 1fr));
}

.tutor-dashboard-course-actions {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.tutor-management-library-body {
    gap: 1rem;
}

.tutor-management-library-shell {
    align-items: center;
}

.tutor-management-library-stats {
    grid-template-columns: repeat(4, minmax(110px, 1fr));
}

.tutor-management-library-summary {
    display: block;
    margin-top: 0.45rem;
    color: var(--mid);
    line-height: 1.65;
}

.tutor-dashboard-course-card.needs-attention {
    border-color: rgba(201, 168, 76, 0.28);
    box-shadow: 0 16px 28px rgba(201, 168, 76, 0.08);
}

.tutor-management-library-modules {
    margin-top: 1rem;
}

.tutor-monitor-note {
    display: inline-flex;
    color: var(--mid);
    line-height: 1.6;
}

.tutor-monitor-overview-grid {
    align-items: stretch;
}

.tutor-dashboard-overview-grid {
    align-items: stretch;
}

.tutor-dashboard-overview-grid .school-focus-shell {
    grid-template-columns: minmax(0, 1fr);
}

.tutor-dashboard-priorities-panel {
    align-self: start;
}

.tutor-dashboard-priorities-panel .student-quick-grid {
    gap: 0.85rem;
}

.tutor-monitor-overview-grid .school-focus-shell {
    grid-template-columns: minmax(0, 1fr);
}

.tutor-empty-overview-state {
    min-height: 15rem;
    justify-content: center;
}

.tutor-monitor-priorities-panel {
    align-self: start;
}

.tutor-monitor-priorities-panel .student-quick-grid {
    gap: 0.85rem;
}

.tutor-management-overview-grid {
    align-items: stretch;
}

.tutor-management-overview-grid .school-focus-shell {
    grid-template-columns: minmax(0, 1fr);
}

.tutor-management-priorities-panel {
    align-self: start;
}

.tutor-management-priorities-panel .student-quick-grid {
    gap: 0.85rem;
}

.tutor-submission-overview-grid {
    align-items: stretch;
}

.tutor-submission-pressure-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tutor-submission-overview-grid .school-focus-shell {
    grid-template-columns: minmax(0, 1fr);
}

.tutor-submission-priorities-panel {
    align-self: start;
}

.tutor-submission-priorities-panel .student-quick-grid {
    gap: 0.85rem;
}

.tutor-monitor-row {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) auto auto;
    align-items: center;
    gap: 1rem;
}

.tutor-monitor-identity-line {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: nowrap;
    min-width: 0;
}

.tutor-monitor-identity-line > * {
    min-width: 0;
}

.tutor-monitor-identity-line strong,
.tutor-monitor-identity-line span {
    white-space: nowrap;
}

.tutor-monitor-identity-line span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.tutor-monitor-identity-line .tutor-monitor-note {
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.08);
    max-width: 320px;
}

.submission-queue-overview-shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.4rem;
}

.submission-queue-overview-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.submission-queue-overview-panel .school-overview-actions {
    flex-wrap: nowrap;
}

.tutor-queue-disclosure {
    display: grid;
    gap: 1rem;
}

.tutor-queue-disclosure > summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.tutor-queue-disclosure > summary::-webkit-details-marker {
    display: none;
}

.tutor-queue-disclosure > summary span {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    font-weight: 800;
    color: var(--ink);
}

.tutor-queue-disclosure > summary span i {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.1);
    color: var(--brand);
    font-size: 0.9rem;
}

.tutor-queue-disclosure > summary small {
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.1);
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tutor-queue-disclosure > summary > i:last-child {
    color: var(--teal);
    transition: transform 0.22s ease;
}

.tutor-queue-disclosure[open] > summary > i:last-child {
    transform: rotate(180deg);
}

.tutor-queue-compact-list {
    gap: 0.7rem;
}

.tutor-queue-course-row {
    padding: 0.9rem 1rem;
}

.tutor-queue-course-row .tutor-dashboard-course-body {
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
}

.tutor-queue-course-row .school-roster-stat {
    min-height: 0;
    padding: 0.72rem 0.78rem;
}

.ges-submission-context-chips {
    gap: 0.45rem;
}

.ges-submission-context-chips span {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.08);
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ges-submission-overview-actions {
    gap: 0.7rem;
    align-items: center;
}

.ges-submission-overview-actions .button {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
}

.submission-queue-overview-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.tutor-dashboard-support-list,
.tutor-dashboard-submission-list {
    display: grid;
    gap: 0.9rem;
}

.tutor-dashboard-watch-stats,
.tutor-dashboard-assessment-stats,
.tutor-dashboard-submission-stats {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.65rem;
    align-items: stretch;
}

.tutor-dashboard-watch-stats .school-roster-stat,
.tutor-dashboard-assessment-stats .school-roster-stat,
.tutor-dashboard-submission-stats .school-roster-stat {
    min-width: 104px;
    padding: 0.72rem 0.76rem;
}

.tutor-workflow-row,
.tutor-readiness-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: 1rem;
}

.tutor-workflow-row .school-roster-main,
.tutor-readiness-row .school-roster-main {
    min-width: 0;
}

.tutor-workflow-row .school-roster-copy,
.tutor-readiness-row .school-roster-copy {
    gap: 0.28rem;
}

.tutor-workflow-actions {
    justify-content: flex-start;
    flex-wrap: nowrap;
}

.tutor-workflow-actions .button {
    white-space: nowrap;
}

.tutor-readiness-stats {
    width: 100%;
    max-width: 470px;
}

.tutor-readiness-stats .school-roster-stat {
    min-width: 0;
    width: 100%;
}

.tutor-readiness-issue-card {
    gap: 0.35rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 250, 0.94));
}

.tutor-readiness-issue-card strong {
    font-size: 0.94rem;
    line-height: 1.55;
    font-weight: 700;
}

.tutor-course-hero {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--workspace-hero-gap);
    margin-bottom: 1.4rem;
    padding: var(--workspace-hero-padding);
    border-radius: var(--workspace-hero-radius);
    background: var(--workspace-course-hero);
    color: #fff;
    box-shadow: var(--workspace-hero-shadow);
}

.tutor-course-hero-copy {
    display: grid;
    gap: 0.65rem;
    max-width: 68ch;
}

.tutor-course-hero .eyebrow-inline,
.tutor-course-hero h2,
.tutor-course-hero p {
    color: #fff;
}

.tutor-course-hero p {
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.75;
    margin: 0;
}

.tutor-course-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.tutor-course-hero-meta .pill {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.tutor-course-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-width: 240px;
}

.tutor-course-pulse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.course-detail-overview-card {
    min-height: 100%;
    padding: var(--workspace-card-padding);
    border-radius: var(--workspace-card-radius);
    border: 1px solid var(--workspace-card-border);
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    align-content: start;
    gap: 0.5rem;
    box-shadow: var(--workspace-card-shadow);
}

.course-detail-overview-card.tone-teal {
    background: linear-gradient(145deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.95));
}

.course-detail-overview-card.tone-gold {
    background: linear-gradient(145deg, rgba(255, 248, 229, 0.98), rgba(255, 255, 255, 0.95));
}

.course-detail-overview-card.tone-ink {
    background: linear-gradient(145deg, rgba(243, 242, 239, 0.98), rgba(255, 255, 255, 0.95));
}

.course-detail-overview-card.tone-sage {
    background: linear-gradient(145deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.course-detail-overview-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.course-detail-overview-icon {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.course-detail-overview-card.tone-gold .course-detail-overview-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.course-detail-overview-card.tone-ink .course-detail-overview-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.course-detail-overview-card.tone-sage .course-detail-overview-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.course-detail-overview-card strong {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    line-height: 1;
    color: var(--ink);
    overflow-wrap: anywhere;
}

.course-detail-overview-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.92rem;
}

.tutor-course-detail-grid {
    align-items: stretch;
}

.ges-assessment-library-grid {
    align-items: stretch;
}

.ges-assessment-library-grid .tutor-course-overview-panel,
.ges-assessment-library-grid .tutor-course-quick-panel {
    align-self: stretch;
    height: 100%;
}

.tutor-course-lessons-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(270px, 30vw, 340px);
    gap: 1.65rem;
    align-items: stretch;
}

.tutor-course-lesson-focus-row {
    grid-template-columns: minmax(0, 1fr) clamp(230px, 24vw, 300px);
    gap: 1.25rem;
}

.tutor-course-lessons-row > * {
    min-width: 0;
}

.tutor-course-lessons-row .content-panel {
    margin: 0;
}

.tutor-course-lessons-panel .button-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, max-content));
    gap: 0.7rem;
    align-items: stretch;
    padding-top: 0.85rem;
    margin-top: 0.9rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.tutor-course-lessons-panel .button-row .button {
    flex: 0 1 auto;
    min-width: 150px;
    justify-content: center;
}

.tutor-course-lessons-panel .button-row .button span {
    white-space: nowrap;
}

.course-detail-copy-disclosure,
.course-detail-workflow-disclosure {
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.68);
}

.course-detail-copy-disclosure {
    padding: 0.95rem 1rem;
}

.course-detail-workflow-disclosure {
    padding: 0.85rem 1rem;
}

.course-detail-copy-disclosure summary,
.course-detail-workflow-disclosure summary {
    cursor: pointer;
    list-style: none;
    color: var(--brand);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.course-detail-copy-disclosure summary::-webkit-details-marker,
.course-detail-workflow-disclosure summary::-webkit-details-marker {
    display: none;
}

.course-detail-copy-disclosure .content-copy-block {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.course-detail-workflow-disclosure summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.course-detail-workflow-disclosure summary i {
    transition: transform 0.2s ease;
}

.course-detail-workflow-disclosure[open] summary i {
    transform: rotate(180deg);
}

.course-detail-workflow-actions {
    padding-top: 0.85rem;
    margin-top: 0.85rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.course-detail-workflow-actions form {
    margin: 0;
}

.tutor-structure-tree-panel {
    align-self: stretch;
    position: static;
    display: flex;
    flex-direction: column;
}

.tutor-structure-tree-panel .admin-structure-tree {
    flex: 1 1 auto;
    max-height: none;
    overflow: auto;
    padding-right: 0.7rem;
}

.ges-library-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
}

.ges-library-filter-grid .button-row {
    grid-column: 1 / -1;
    margin-top: 0.2rem;
}

.ges-page-stack {
    display: grid;
    gap: 1.55rem;
}

.ges-page-stack > section {
    margin: 0;
}

.ges-balanced-grid {
    align-items: stretch;
}

.ges-balanced-grid > .content-panel {
    height: 100%;
}

.ges-balanced-grid .school-focus-panel,
.ges-balanced-grid .tutor-course-overview-panel,
.ges-balanced-grid .school-priorities-panel,
.ges-balanced-grid .tutor-priorities-panel,
.ges-balanced-grid .tutor-course-quick-panel,
.ges-balanced-grid .tutor-structure-tree-panel {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    height: 100%;
}

.ges-balanced-grid .student-quick-grid,
.ges-balanced-grid .admin-structure-tree {
    align-content: start;
}

.ges-sticky-head-panel > .panel-head {
    position: sticky;
    top: 0.35rem;
    z-index: 4;
    margin-inline: -1.5rem;
    margin-top: -0.2rem;
    padding: 0.15rem 1.5rem 0.9rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.95) 72%, rgba(255, 255, 255, 0));
    backdrop-filter: blur(8px);
}

.ges-library-density .tutor-management-list,
.ges-library-density .course-detail-list,
.ges-library-density .school-classroom-list,
.ges-library-density .school-roster-list {
    gap: 0.95rem;
}

.ges-library-density .tutor-management-card {
    padding: 1.05rem;
    gap: 0.8rem;
}

.ges-library-density .course-detail-row {
    padding: 1rem 1.05rem;
}

.ges-library-density .school-roster-control-card {
    padding: 0.95rem 1.05rem;
}

.ges-library-density .school-roster-row {
    padding: 0.95rem 1.05rem;
}

.ges-library-density .school-roster-stat,
.ges-library-density .tutor-management-metric,
.ges-library-density .school-focus-mini-card,
.ges-library-density .tutor-focus-mini-card {
    min-height: 0;
}

.ges-library-density .tutor-management-status-row,
.ges-library-density .ges-action-links,
.ges-library-density .button-row {
    margin-top: 0.15rem;
}

.ges-subject-record {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.065), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 246, 240, 0.94));
}

.ges-library-density .tutor-management-list > .ges-subject-record:nth-child(even),
.ges-library-density .school-roster-list > .tutor-monitor-row:nth-child(even),
.ges-library-density .school-classroom-list > .ges-learner-lane-row:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 250, 0.94));
}

.ges-subject-record-title {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.ges-subject-path-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.ges-subject-path-chips span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    max-width: 100%;
    min-height: 1.85rem;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.09);
    color: var(--teal-dark);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ges-subject-path-chips i {
    font-size: 0.72rem;
}

.ges-learner-lane-row {
    border-color: rgba(26, 107, 107, 0.12);
}

.ges-learner-lane-row.needs-attention {
    border-color: rgba(201, 168, 76, 0.26);
}

.ges-learner-lane-row .school-classroom-copy {
    gap: 0.45rem;
}

.tutor-monitor-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.1fr) minmax(360px, 1.2fr) auto;
    align-items: center;
}

.tutor-monitor-row .school-roster-copy {
    gap: 0.45rem;
}

.tutor-monitor-row .school-classroom-actions,
.ges-learner-lane-row .school-classroom-actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.tutor-monitor-row .button,
.ges-learner-lane-row .button {
    white-space: nowrap;
}

.ges-subject-focus-panel {
    display: grid;
    gap: 1rem;
}

.ges-subject-focus-toolbar {
    display: grid;
    gap: 0.85rem;
}

.ges-view-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.ges-view-toggle-link,
.ges-focus-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(17, 24, 39, 0.1);
    background: rgba(255, 255, 255, 0.9);
    color: var(--text-strong);
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ges-view-toggle-link:hover,
.ges-view-toggle-link:focus-visible,
.ges-focus-chip:hover,
.ges-focus-chip:focus-visible {
    border-color: rgba(26, 107, 107, 0.28);
    color: var(--brand-deep);
    transform: translateY(-1px);
}

.ges-view-toggle-link.is-active,
.ges-focus-chip.is-active {
    border-color: rgba(26, 107, 107, 0.24);
    background: linear-gradient(180deg, rgba(231, 244, 242, 0.98), rgba(244, 249, 248, 0.96));
    color: var(--brand-deep);
    box-shadow: inset 0 0 0 1px rgba(26, 107, 107, 0.06);
}

.ges-focus-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.ges-tree-summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.2rem;
    color: var(--text-soft);
    font-size: 0.96rem;
}

.ges-tree-summary-row strong {
    color: var(--text-strong);
}

.ges-progress-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.ges-progress-step {
    display: grid;
    gap: 0.28rem;
    padding: 0.82rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.ges-progress-step.is-ready {
    border-color: rgba(122, 173, 138, 0.26);
    background: linear-gradient(180deg, rgba(245, 251, 247, 0.96), rgba(255, 255, 255, 0.94));
}

.ges-progress-step.is-pending {
    border-color: rgba(201, 168, 76, 0.18);
    background: linear-gradient(180deg, rgba(252, 249, 241, 0.96), rgba(255, 255, 255, 0.94));
}

.ges-progress-step-label {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--teal);
}

.ges-progress-step strong {
    font-size: 0.96rem;
    line-height: 1.45;
    color: var(--text-strong);
}

.ges-lesson-hero .tutor-course-hero-meta {
    row-gap: 0.65rem;
}

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

.ges-workflow-guide-card {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 243, 235, 0.92));
}

.ges-workflow-guide-card strong {
    font-size: 1rem;
}

.ges-workflow-guide-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.ges-workflow-guide-card.tone-success {
    border-color: rgba(20, 110, 60, 0.16);
}

.ges-workflow-guide-card.tone-info {
    border-color: rgba(26, 107, 107, 0.16);
}

.ges-workflow-guide-card.tone-warning {
    border-color: rgba(201, 168, 76, 0.22);
}

.ges-workflow-guide-card.tone-error {
    border-color: rgba(185, 67, 47, 0.18);
}

.ges-readiness-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-ges-review-list {
    display: grid;
    gap: 1rem;
}

.admin-ges-review-card {
    display: grid;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 5px solid rgba(26, 107, 107, 0.52);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.93));
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
}

.admin-ges-review-card:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.08), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 248, 241, 0.94));
}

.admin-ges-review-card.needs-attention,
.admin-ges-review-card.tone-warning {
    border-left-color: rgba(201, 168, 76, 0.76);
}

.admin-ges-review-card.tone-error {
    border-left-color: rgba(185, 67, 47, 0.68);
}

.admin-ges-review-card.tone-success {
    border-left-color: rgba(20, 110, 60, 0.68);
}

.admin-ges-review-main {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    min-width: 0;
}

.admin-ges-review-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 17px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.admin-ges-review-copy {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    width: 100%;
}

.admin-ges-review-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.admin-ges-review-heading h3,
.admin-ges-review-copy p,
.admin-ges-review-status p {
    margin: 0;
}

.admin-ges-review-copy > p,
.admin-ges-review-status p {
    color: var(--mid);
    line-height: 1.6;
}

.admin-ges-review-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.admin-ges-review-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.36rem 0.55rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-ges-review-checks {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.65rem;
}

.admin-ges-review-check {
    display: grid;
    gap: 0.25rem;
    min-height: 5rem;
    padding: 0.75rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.82);
}

.admin-ges-review-check.is-ready {
    border-color: rgba(26, 107, 107, 0.18);
    background: rgba(236, 245, 244, 0.78);
}

.admin-ges-review-check.is-pending {
    border-color: rgba(201, 168, 76, 0.24);
    background: rgba(252, 249, 241, 0.82);
}

.admin-ges-check-icon {
    color: var(--teal);
}

.admin-ges-review-check span:not(.admin-ges-check-icon) {
    font-family: var(--mono);
    font-size: 0.62rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--muted);
}

.admin-ges-review-check strong {
    font-size: 0.96rem;
    color: var(--ink);
}

.admin-ges-review-status {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(26, 107, 107, 0.13);
    background: rgba(236, 245, 244, 0.72);
}

.admin-ges-review-status.tone-warning {
    border-color: rgba(201, 168, 76, 0.24);
    background: rgba(252, 249, 241, 0.86);
}

.admin-ges-review-status.tone-error {
    border-color: rgba(185, 67, 47, 0.2);
    background: rgba(252, 242, 239, 0.88);
}

.admin-ges-review-status.tone-success {
    border-color: rgba(20, 110, 60, 0.18);
    background: rgba(242, 250, 245, 0.88);
}

.admin-ges-review-actions,
.admin-ges-decision-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.admin-ges-review-actions {
    justify-content: flex-start;
    padding-top: 0.15rem;
}

.ges-readiness-support-card {
    display: grid;
    gap: 0.4rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background: linear-gradient(180deg, rgba(236, 245, 244, 0.96), rgba(255, 255, 255, 0.94));
}

.ges-readiness-support-card strong {
    font-size: 1rem;
}

.ges-readiness-support-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.ges-readiness-check-item {
    align-items: start;
}

.ges-readiness-check-item strong,
.ges-readiness-check-item span {
    display: block;
}

.ges-readiness-check-item span {
    line-height: 1.55;
}

.ges-readiness-check-item.is-ready {
    border-left: 3px solid rgba(20, 110, 60, 0.55);
    padding-left: 0.85rem;
}

.ges-readiness-check-item.is-pending {
    border-left: 3px solid rgba(201, 168, 76, 0.6);
    padding-left: 0.85rem;
}

.tutor-course-quick-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.tutor-course-overview-panel {
    display: grid;
    gap: 1rem;
    height: 100%;
}

.ges-assessment-overview-panel {
    gap: 1rem;
}

.tutor-course-overview-panel .panel-head {
    align-items: start;
}

.tutor-course-overview-panel .panel-head > div {
    display: grid;
    gap: 0.35rem;
}

.tutor-course-lessons-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.tutor-course-lessons-panel .course-detail-list {
    flex: 1 1 auto;
}

.tutor-course-quick-panel .student-quick-grid {
    flex: 1 1 auto;
}

.ges-assessment-priorities-panel .student-quick-grid {
    gap: 0.75rem;
}

.ges-assessment-priorities-panel .student-quick-card {
    padding: 0.9rem 0.95rem;
}

.module-empty-state .button-primary,
.module-empty-state .button-primary span,
.module-empty-state .button-primary i {
    color: #fff;
}

.course-detail-health-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.ges-assessment-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.course-detail-health-card {
    display: grid;
    gap: 0.28rem;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(248, 245, 239, 0.92), rgba(255, 255, 255, 0.96));
}

.course-detail-health-card span {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.course-detail-health-card strong {
    color: var(--ink);
    font-size: 1rem;
    line-height: 1.35;
}

.course-detail-health-card p {
    margin: 0;
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.55;
}

.panel-subtext {
    margin: 0;
    color: var(--text-soft);
    font-size: 0.95rem;
}

.tutor-course-workflow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.tutor-course-paths {
    margin-top: 0.35rem;
}

.course-detail-list {
    display: grid;
    gap: 0.95rem;
}

.course-detail-row {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.05rem 1.05rem 1.2rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 245, 239, 0.93));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.course-detail-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.82), rgba(201, 168, 76, 0.66));
}

.course-detail-row:hover,
.course-detail-row:focus-within {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.075);
}

.course-detail-row-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.course-detail-row-copy {
    display: grid;
    gap: 0.2rem;
}

.course-detail-row-copy h3 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.course-detail-row-copy p {
    margin: 0;
    color: var(--mid);
}

.course-detail-row-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.course-detail-row-meta {
    margin-top: -0.15rem;
}

.course-module-page-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.88fr);
    align-items: start;
}

.course-module-builder-panel {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1.25rem;
}

.module-library-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.module-library-list-compact {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.module-library-card {
    display: grid;
    gap: 0.95rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid rgba(19, 107, 116, 0.12);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.82));
}

.module-library-card-compact {
    gap: 0.8rem;
    padding: 1rem 1.05rem;
}

.course-detail-module-strip-panel .module-library-list-compact {
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.course-detail-module-strip-panel .module-library-card-compact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 0;
    gap: 0.8rem 1rem;
    padding: 0.95rem 1rem;
}

.course-detail-module-strip-panel .module-library-head {
    min-width: 0;
}

.course-detail-module-strip-panel .module-library-stats {
    justify-content: flex-end;
    gap: 0.5rem;
}

.course-detail-module-strip-panel .module-library-stats span {
    white-space: nowrap;
}

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

.module-library-title {
    display: grid;
    gap: 0.28rem;
}

.module-library-title strong {
    font-size: 1rem;
    color: var(--ink);
}

.module-library-title span {
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.84rem;
}

.module-library-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.module-library-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.module-library-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.08);
    color: var(--mid);
    font-size: 0.82rem;
}

.module-library-stats strong {
    color: var(--ink);
}

.module-library-copy {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.module-library-lesson-stack {
    display: grid;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.84);
}

.module-library-lesson-stack-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
}

.module-library-lesson-stack-head strong {
    color: var(--ink);
}

.module-library-lesson-stack-head span {
    color: var(--mid);
    font-size: 0.82rem;
}

.module-library-lesson-list {
    display: grid;
    gap: 0.55rem;
}

.module-library-lesson-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: center;
}

.module-library-lesson-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    padding: 0.72rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(17, 24, 39, 0.06);
    background: rgba(248, 250, 249, 0.95);
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.module-library-lesson-link:hover,
.module-library-lesson-link:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 10px 22px rgba(17, 24, 39, 0.06);
}

.module-library-lesson-remove-form {
    margin: 0;
}

.module-library-lesson-remove-button {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    border: 1px solid rgba(155, 48, 39, 0.12);
    background: rgba(255, 247, 245, 0.9);
    color: #9b3027;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.module-library-lesson-remove-button:hover,
.module-library-lesson-remove-button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(155, 48, 39, 0.24);
    background: rgba(255, 241, 238, 0.98);
    box-shadow: 0 10px 20px rgba(155, 48, 39, 0.1);
}

.module-library-lesson-order {
    display: inline-grid;
    place-items: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    font-size: 0.72rem;
    font-weight: 700;
}

.module-library-lesson-copy {
    display: grid;
    gap: 0.14rem;
    min-width: 0;
}

.module-library-lesson-copy strong {
    color: var(--ink);
    font-size: 0.92rem;
}

.module-library-lesson-copy small,
.module-library-lesson-empty {
    color: var(--mid);
    line-height: 1.5;
}

.module-library-lesson-empty {
    margin: 0;
}

.module-library-assignment-form {
    display: grid;
    gap: 0.45rem;
}

.module-library-assignment-form label {
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
    font-weight: 700;
}

.module-library-assignment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
}

.module-library-assignment-row select {
    min-height: 3rem;
    border-radius: 14px;
}

@media (max-width: 720px) {
    .module-library-assignment-row {
        grid-template-columns: 1fr;
    }
}

.module-library-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.module-library-workflow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(19, 107, 116, 0.1);
}

.module-library-workflow form {
    display: inline;
}

.module-empty-state {
    display: grid;
    gap: 0.7rem;
    justify-items: start;
    padding: 1.25rem;
    border: 1px dashed rgba(19, 107, 116, 0.24);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 253, 0.88));
}

.module-empty-state i {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(19, 107, 116, 0.1);
    color: var(--brand);
}

.module-empty-state strong {
    color: var(--ink);
    font-size: 1rem;
}

.module-empty-state span {
    color: var(--mid);
    line-height: 1.7;
}

.course-detail-assessment-row {
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    column-gap: 1rem;
    row-gap: 0.75rem;
}

.course-detail-assessment-panel .course-detail-list {
    gap: 0.75rem;
}

.course-detail-assessment-panel .course-detail-row {
    padding: 0.95rem 1rem;
}

.ges-assessment-library-list {
    gap: 0.9rem;
}

.ges-assessment-library-row {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.ges-assessment-library-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: space-between;
}

.ges-assessment-library-heading h3 {
    margin: 0;
}

.course-detail-assessment-row .course-detail-row-copy {
    min-width: 0;
}

.course-detail-assessment-row .course-detail-row-copy p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.course-detail-assessment-row .course-detail-row-status {
    justify-content: flex-start;
}

.course-detail-assessment-meta {
    margin-top: 0;
    white-space: nowrap;
    justify-content: flex-start;
}

.course-detail-assessment-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0.7rem;
}

.course-detail-assessment-actions .button {
    flex: 0 0 auto;
}

.ges-assessment-shell-panel {
    display: grid;
    gap: 1rem;
}

.ges-assessment-shell-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

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

.tutor-course-assessment-grid .button-primary,
.tutor-course-assessment-grid .button-primary span,
.tutor-course-assessment-grid .button-primary i {
    color: #fff;
}

.school-hero-band {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--workspace-hero-gap);
    margin-bottom: 1.4rem;
    padding: var(--workspace-hero-padding);
    border-radius: var(--workspace-hero-radius);
    background: var(--workspace-school-hero);
    color: #fff;
    box-shadow: var(--workspace-hero-shadow);
}

.school-hero-copy {
    display: grid;
    gap: 0.6rem;
    max-width: 64ch;
}

.school-hero-band .eyebrow-inline,
.school-hero-band h2,
.school-hero-band p {
    color: #fff;
}

.school-hero-band p {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
    margin: 0;
}

.school-hero-inline-actions {
    margin-top: 0.35rem;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.school-hero-inline-actions .button {
    white-space: nowrap;
}

.school-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-width: 220px;
}

.student-hero-copy,
.tutor-hero-copy,
.school-hero-copy,
.tutor-course-hero-copy {
    min-width: 0;
}

.student-hero-band h2,
.tutor-hero-band h2,
.school-hero-band h2,
.tutor-course-hero h2 {
    line-height: 1.08;
}

.student-hero-band p,
.tutor-hero-band p,
.school-hero-band p,
.tutor-course-hero p {
    max-width: 68ch;
}

.student-hero-actions,
.tutor-hero-actions,
.school-hero-actions,
.tutor-course-hero-actions {
    align-self: stretch;
}

.student-hero-actions .button,
.tutor-hero-actions .button,
.school-hero-actions .button,
.tutor-course-hero-actions .button {
    min-height: 46px;
    border-radius: 6px;
    white-space: normal;
}

.student-hero-actions .button span,
.tutor-hero-actions .button span,
.school-hero-actions .button span,
.tutor-course-hero-actions .button span {
    overflow-wrap: anywhere;
}

.school-hero-summary-card {
    display: grid;
    gap: 0.55rem;
    width: 100%;
    padding: 1.1rem 1.15rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.82);
}

.school-hero-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-hero-summary-card strong {
    font-size: 1rem;
    line-height: 1.5;
}

.school-hero-summary-card p {
    color: var(--mid);
    line-height: 1.65;
}

.school-pulse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.school-overview-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-bottom: 1.6rem;
}

.school-stat-grid {
    margin-bottom: 1.5rem;
}

.school-dashboard-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
    align-items: start;
    gap: 1.5rem;
}

.school-overview-hub,
.school-priorities-panel {
    align-self: stretch;
}

.school-focus-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 246, 252, 0.94));
}

.school-focus-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    height: 100%;
}

.school-focus-primary {
    display: grid;
    gap: 0.9rem;
    align-content: start;
}

.school-focus-primary h3 {
    margin: 0;
}

.school-focus-primary p {
    color: var(--mid);
    line-height: 1.7;
}

.school-overview-actions {
    flex-wrap: nowrap;
}

.school-overview-actions .button {
    white-space: nowrap;
}

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

.school-focus-mini-card,
.school-focus-summary,
.school-package-card,
.school-support-card {
    padding: 1rem;
    border: 1px solid var(--workspace-card-border);
    border-radius: var(--workspace-card-radius);
    background: rgba(255, 255, 255, 0.88);
    display: grid;
    gap: 0.35rem;
    box-shadow: var(--workspace-card-shadow);
}

.school-focus-mini-card span,
.school-focus-summary span,
.school-support-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-focus-mini-card strong,
.school-focus-summary strong,
.school-support-card strong {
    font-size: 0.96rem;
    line-height: 1.5;
}

.school-focus-summary p,
.school-package-card p {
    color: var(--mid);
    line-height: 1.65;
    margin: 0;
}

.school-focus-side {
    display: grid;
    gap: 0.85rem;
    align-content: start;
}

.school-subscription-command-panel .school-focus-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.school-subscription-command-panel .school-focus-primary p:not(.eyebrow-inline) {
    max-width: 760px;
}

.school-subject-access-disclosure {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.9rem;
}

.school-subject-access-disclosure > summary,
.school-package-request-details > summary {
    list-style: none;
    cursor: pointer;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.68), rgba(255, 255, 255, 0.94)),
        #fff;
    color: var(--ink);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.school-subject-access-disclosure > summary::-webkit-details-marker,
.school-package-request-details > summary::-webkit-details-marker {
    display: none;
}

.school-subject-access-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-radius: var(--workspace-card-radius);
    box-shadow: var(--workspace-card-shadow);
}

.school-subject-access-disclosure > summary span,
.school-package-request-details > summary span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 800;
}

.school-subject-access-disclosure > summary small {
    margin-left: auto;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-subject-access-disclosure > summary:hover,
.school-subject-access-disclosure > summary:focus-visible,
.school-package-request-details > summary:hover,
.school-package-request-details > summary:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.2);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.075);
}

.school-subject-access-disclosure > summary i:last-child,
.school-package-request-details > summary i {
    transition: transform 0.22s ease;
}

.school-subject-access-disclosure[open] > summary i:last-child,
.school-package-request-details[open] > summary i {
    transform: rotate(180deg);
}

.school-subject-access-disclosure > .content-panel {
    margin: 0;
}

@media (max-width: 1180px) {
    .school-overview-actions {
        flex-wrap: wrap;
    }
}

.school-signal-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.94));
}

.school-roster-list,
.school-report-list,
.school-course-uptake-list,
.school-package-request-list {
    display: grid;
    gap: 0.95rem;
}

.school-bulk-action-form {
    margin-bottom: 1rem;
}

.school-bulk-action-bar {
    display: grid;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(241, 248, 247, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.school-bulk-action-copy {
    display: grid;
    gap: 0.25rem;
}

.school-bulk-action-copy strong {
    color: var(--ink);
}

.school-bulk-action-copy span {
    color: var(--mid);
    line-height: 1.6;
}

.school-bulk-action-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.85rem;
    align-items: end;
}

.school-bulk-field {
    display: grid;
    gap: 0.35rem;
}

.school-bulk-field label {
    font-weight: 700;
    color: var(--ink);
}

.school-bulk-field input,
.school-bulk-field select {
    width: 100%;
    padding: 0.8rem 0.9rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    font: inherit;
}

.school-roster-row,
.school-package-request-row {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem 1rem 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.school-roster-row::before,
.school-package-request-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.82), rgba(201, 168, 76, 0.66));
}

.school-roster-row:hover,
.school-roster-row:focus-within,
.school-package-request-row:hover,
.school-package-request-row:focus-within {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.075);
}

.school-roster-row.needs-support,
.school-roster-row.low-activity {
    border-color: rgba(201, 168, 76, 0.24);
}

.school-roster-main,
.school-package-request-main {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    min-width: 0;
}

.school-roster-selection {
    display: flex;
    align-items: center;
    justify-content: center;
}

.school-roster-selection-label {
    gap: 0.55rem;
    justify-content: flex-start;
    color: var(--mid);
    font-size: 0.88rem;
    cursor: pointer;
}

.school-roster-selection-label span {
    color: var(--mid);
}

.school-roster-selection input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--teal);
}

.school-roster-avatar,
.school-package-request-icon,
.school-report-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
    font-weight: 700;
}

.school-roster-copy,
.school-package-request-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.school-roster-copy strong,
.school-package-request-copy strong,
.school-course-uptake-row strong {
    margin: 0;
    color: var(--ink);
}

.school-roster-copy span,
.school-package-request-copy span,
.school-course-uptake-row span,
.school-report-item p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.school-roster-stats,
.school-package-request-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.school-package-request-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.school-package-structured-row {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    align-items: start;
}

.school-package-structured-row .school-package-request-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.school-package-structured-row.status-approved {
    border-color: rgba(26, 107, 107, 0.24);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.94);
}

.school-package-structured-row.status-changes_requested,
.school-package-structured-row.status-under_review,
.school-package-structured-row.status-submitted {
    border-color: rgba(201, 168, 76, 0.24);
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.1), transparent 34%),
        rgba(255, 255, 255, 0.94);
}

.school-package-structured-row.status-rejected,
.school-package-structured-row.status-expired {
    border-color: rgba(148, 58, 45, 0.22);
}

.school-package-subscription-subjects {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.school-package-subscription-subject {
    display: grid;
    grid-template-columns: minmax(180px, 0.85fr) minmax(220px, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.62), rgba(255, 255, 255, 0.88)),
        #fff;
}

.school-package-subscription-subject span,
.school-package-allocation-chips span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.school-package-subscription-subject span {
    color: var(--teal);
}

.school-package-subscription-subject strong {
    display: block;
    margin-top: 0.2rem;
    color: var(--ink);
}

.school-package-subscription-subject-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.school-package-subscription-subject-stats span,
.school-package-allocation-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.school-package-allocation-chips {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.school-package-allocation-chips span {
    color: var(--mid);
}

.school-package-request-details {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.8rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.school-package-request-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.78rem 0.9rem;
    border-radius: 16px;
    box-shadow: none;
}

.school-request-history-actions {
    justify-content: flex-end;
    margin-bottom: 0.9rem;
}

.school-package-audit-note {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.68), rgba(255, 255, 255, 0.9)),
        #fff;
}

.school-package-audit-note span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-package-audit-note p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
}

.admin-school-package-list .admin-operational-row {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        rgba(255, 255, 255, 0.92);
}

.admin-school-package-list .admin-operational-row.status-approved {
    border-color: rgba(26, 107, 107, 0.28);
}

.admin-school-package-list .admin-operational-row.status-rejected,
.admin-school-package-list .admin-operational-row.status-cancelled {
    border-color: rgba(132, 48, 48, 0.22);
}

.admin-school-package-detail-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr);
    align-items: start;
}

.admin-package-subject-review-list {
    display: grid;
    gap: 0.95rem;
}

.admin-package-subject-review-card {
    display: grid;
    gap: 0.95rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.68), rgba(255, 255, 255, 0.92)),
        #fff;
    box-shadow: var(--workspace-card-shadow);
}

.admin-package-subject-review-head,
.admin-package-subject-review-stats {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
}

.admin-package-subject-review-head h3 {
    margin: 0;
}

.admin-package-subject-review-price,
.admin-package-subject-review-stats > div:not(.form-field) {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: rgba(255, 255, 255, 0.82);
}

.admin-package-subject-review-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-package-subject-review-price span,
.admin-package-subject-review-stats span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-package-subject-review-price strong,
.admin-package-subject-review-stats strong {
    color: var(--ink);
}

.admin-package-review-panel {
    position: sticky;
    top: 1rem;
}

.admin-package-activation-card {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(26, 107, 107, 0.18);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.78), rgba(255, 248, 232, 0.72)),
        #fff;
    box-shadow: var(--workspace-card-shadow);
}

.admin-package-activation-card h3,
.admin-package-activation-card p {
    margin: 0;
}

.admin-package-activation-card p {
    color: var(--muted);
}

.admin-package-activation-card a {
    display: inline-flex;
    gap: 0.35rem;
    align-items: center;
    margin-top: 0.65rem;
    color: var(--teal);
    font-weight: 800;
    text-decoration: none;
}

.admin-package-review-form-grid {
    grid-template-columns: 1fr;
}

.admin-package-review-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.admin-package-review-actions .button {
    justify-content: center;
}

.school-roster-stat,
.school-package-request-stat {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.school-roster-stat span,
.school-package-request-stat span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-roster-stat strong,
.school-package-request-stat strong {
    font-size: 0.96rem;
    color: var(--ink);
}

.school-slot-summary-card {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(26, 107, 107, 0.18);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.78), rgba(255, 255, 255, 0.94)),
        #fff;
    box-shadow: var(--workspace-card-shadow);
}

.school-slot-summary-card.is-full {
    border-color: rgba(177, 124, 35, 0.26);
    background:
        linear-gradient(135deg, rgba(255, 248, 232, 0.88), rgba(255, 255, 255, 0.94)),
        #fff;
}

.school-slot-summary-card.is-over-limit {
    border-color: rgba(132, 48, 48, 0.28);
    background:
        linear-gradient(135deg, rgba(255, 236, 232, 0.88), rgba(255, 255, 255, 0.94)),
        #fff;
}

.school-slot-summary-main {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
}

.school-slot-summary-main h3,
.school-slot-summary-main p {
    margin: 0;
}

.school-slot-summary-main p {
    color: var(--muted);
}

.school-slot-subject-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.school-slot-subject-list span {
    padding: 0.45rem 0.65rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.09);
    color: var(--teal-dark);
    font-size: 0.78rem;
    font-weight: 800;
}

.school-focus-summary.is-warning {
    border-color: rgba(177, 124, 35, 0.25);
    background:
        linear-gradient(135deg, rgba(255, 248, 232, 0.84), rgba(255, 255, 255, 0.92)),
        #fff;
}

.school-roster-stats.tutor-monitor-roster-stats {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.65rem;
    align-items: stretch;
}

.school-roster-stats.tutor-monitor-roster-stats .school-roster-stat {
    min-width: 92px;
    padding: 0.7rem 0.72rem;
}

.school-classroom-roster-stats {
    grid-template-columns: repeat(5, minmax(100px, 1fr));
}

.school-roster-control-card {
    display: grid;
    gap: 1rem;
    align-items: stretch;
    padding: 1.15rem 1.2rem;
    border-radius: 22px;
    border: 1px solid var(--workspace-card-border);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.05), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 249, 0.94));
    box-shadow: var(--workspace-card-shadow);
}

.school-roster-control-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.school-roster-control-body {
    display: grid;
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.school-roster-control-stats {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
}

.school-roster-control-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.school-roster-control-actions {
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.school-roster-control-actions .button,
.school-roster-control-actions form .button {
    min-height: 2.9rem;
    padding-inline: 1rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.school-roster-control-actions .button.button-secondary {
    background: rgba(255, 255, 255, 0.95);
}

.school-report-item,
.school-course-uptake-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.school-course-uptake-row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
}

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

.school-learner-hero {
    align-items: flex-start;
}

.school-learner-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.school-learner-avatar,
.school-learner-avatar-image {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 22px;
    flex-shrink: 0;
}

.school-learner-avatar {
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
    font-size: 1.4rem;
    font-weight: 700;
}

.school-learner-avatar-image {
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.school-learner-identity-copy {
    display: grid;
    gap: 0.25rem;
}

.school-learner-hero-copy {
    display: grid;
    gap: 0.9rem;
}

.school-learner-meta,
.school-learner-course-meta,
.school-learner-course-top {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.school-learner-meta span,
.school-learner-course-meta span,
.school-learner-course-top span {
    color: var(--mid);
    line-height: 1.6;
}

.school-learner-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
}

.school-learner-course-list {
    gap: 1rem;
}

.school-learner-course-row {
    gap: 0.75rem;
}

.school-learner-course-top,
.school-learner-course-meta {
    justify-content: space-between;
}

.school-learner-course-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.school-classroom-list {
    display: grid;
    gap: 0.95rem;
}

.school-classroom-library-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
}

.school-classroom-library-main-panel,
.school-classroom-switch-panel {
    align-self: start;
}

.school-classroom-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.school-classroom-library-card {
    grid-template-columns: 1fr;
    gap: 0;
}

.school-classroom-library-body {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.school-classroom-library-shell {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.school-classroom-library-stats {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    flex-shrink: 0;
}

.school-classroom-meta-line {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.school-classroom-mini-stat {
    display: grid;
    gap: 0.22rem;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: rgba(255, 255, 255, 0.9);
}

.school-classroom-mini-stat span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-classroom-mini-stat strong {
    font-size: 0.98rem;
    color: var(--ink);
    line-height: 1.45;
}

.school-classroom-code-stat strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.school-classroom-code-stat strong span {
    font-size: 1rem;
    color: var(--ink);
}

.school-copy-button {
    padding-inline: 0.65rem;
    min-height: 2.1rem;
}

.school-copy-button.is-copied {
    border-color: rgba(26, 107, 107, 0.24);
    background: rgba(26, 107, 107, 0.1);
    color: var(--brand-teal);
}

.school-classroom-library-actions {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.school-classroom-library-stats .school-roster-stat {
    min-width: 132px;
    padding: 0.68rem 0.75rem;
    box-shadow: none;
}

.school-classroom-library-stats .school-classroom-code-stat {
    min-width: 132px;
}

.school-classroom-library-stats .school-classroom-learner-stat {
    min-width: 132px;
}

.school-classroom-library-actions .button,
.school-classroom-library-actions form .button {
    white-space: nowrap;
}

.school-classroom-library-actions .button,
.school-classroom-library-actions form {
    margin-top: 0;
}

.school-classroom-library-actions .button,
.school-classroom-library-actions form .button {
    min-height: 2.9rem;
    padding-inline: 1rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.school-classroom-library-actions .button.button-secondary {
    background: rgba(255, 255, 255, 0.95);
}

.school-classroom-switch-panel {
    position: sticky;
    top: 1.25rem;
}

.school-classroom-switch-row {
    gap: 0.75rem;
}

.school-classroom-switch-row .button {
    justify-self: start;
}

.school-classroom-main,
.school-classroom-actions {
    display: flex;
    align-items: center;
    gap: 0.95rem;
}

.school-classroom-main {
    min-width: 0;
}

.school-classroom-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.school-classroom-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    align-content: center;
}

.school-classroom-copy strong {
    margin: 0;
    color: var(--ink);
}

.school-classroom-copy span {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.school-classroom-reporting-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.school-classroom-reporting-body {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.school-classroom-reporting-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.6;
}

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

.school-classroom-reporting-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.school-classroom-reporting-card {
    gap: 0;
}

.school-classroom-reporting-compact-body {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
}

.school-classroom-reporting-compact-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.school-classroom-reporting-compact-stats {
    grid-template-columns: repeat(4, minmax(110px, 1fr));
}

.school-classroom-reporting-actions {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.school-dashboard-classroom-card {
    gap: 0;
}

.school-dashboard-classroom-body {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
}

.school-dashboard-classroom-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.school-dashboard-classroom-stats {
    grid-template-columns: repeat(4, minmax(110px, 1fr));
}

.school-dashboard-classroom-actions {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.school-classroom-actions {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.school-classroom-actions form,
.school-inline-actions form {
    margin: 0;
}

.school-inline-actions {
    margin-bottom: 0.95rem;
}

.school-roster-control-list .school-classroom-actions {
    align-self: stretch;
}

.school-classroom-builder-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.school-package-request-builder-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    align-items: start;
}

.school-package-request-form {
    display: grid;
    gap: 1.1rem;
}

.school-package-request-form .panel-head {
    align-items: flex-start;
}

.school-package-request-form .panel-head p,
.school-package-section-head p,
.school-package-quote-total p {
    margin: 0.35rem 0 0;
    color: var(--muted);
}

.school-package-form-section {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--workspace-card-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.07), transparent 34%),
        rgba(255, 255, 255, 0.72);
}

.school-package-section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.school-package-section-head h4 {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: 1.18rem;
}

.school-package-section-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 17px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: var(--teal);
    background: rgba(26, 107, 107, 0.1);
}

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

.school-package-subject-list {
    display: grid;
    gap: 0.95rem;
}

.school-package-subject-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(26, 107, 107, 0.15);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(232, 244, 244, 0.72)),
        #fff;
    box-shadow: 0 16px 36px rgba(13, 13, 13, 0.045);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease;
}

.school-package-subject-card.is-selected {
    border-color: rgba(26, 107, 107, 0.38);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.95), rgba(255, 248, 229, 0.75)),
        #fff;
    box-shadow: 0 20px 46px rgba(26, 107, 107, 0.09);
    transform: translateY(-1px);
}

.school-package-subject-card.is-incomplete {
    border-color: rgba(201, 168, 76, 0.6);
}

.school-package-subject-toggle {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    cursor: pointer;
}

.school-package-subject-toggle input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--teal);
}

.school-package-subject-copy,
.school-package-subject-price,
.school-package-quote-total {
    display: grid;
    gap: 0.2rem;
}

.school-package-subject-copy strong,
.school-package-subject-price strong,
.school-package-quote-total strong {
    color: var(--ink);
}

.school-package-subject-copy small,
.school-package-subject-price small,
.school-package-quote-total span {
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-package-subject-price {
    justify-items: end;
    text-align: right;
    padding: 0.6rem 0.75rem;
    border-radius: 16px;
    background: rgba(201, 168, 76, 0.12);
}

.school-package-minimum-pill {
    justify-self: start;
}

.school-package-allocation-field {
    display: grid;
    gap: 0.45rem;
    transition: opacity 180ms ease, filter 180ms ease;
}

.school-package-allocation-field.is-disabled {
    opacity: 0.48;
    filter: grayscale(0.25);
}

.school-package-allocation-field label {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-package-allocation-field input,
.school-package-contact-grid input,
.school-package-form-section textarea {
    width: 100%;
}

.school-package-action-row {
    margin-top: 0;
}

.school-package-renewal-note {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(26, 107, 107, 0.18);
    background:
        linear-gradient(135deg, rgba(232, 244, 244, 0.78), rgba(255, 248, 232, 0.74)),
        #fff;
    box-shadow: var(--workspace-card-shadow);
}

.school-package-renewal-note h3,
.school-package-renewal-note p {
    margin: 0;
}

.school-package-renewal-note p {
    color: var(--muted);
}

.school-package-quote-panel {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1rem;
}

.school-package-quote-total {
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background: rgba(232, 244, 244, 0.62);
}

.school-package-quote-total strong {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.85rem, 4vw, 2.55rem);
    line-height: 1;
}

.school-package-quote-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.school-package-quote-stats div {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    border: 1px solid var(--workspace-card-border);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.78);
}

.school-package-quote-stats span,
.school-package-quote-line span,
.school-package-warning-list p,
.school-package-empty-line {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.school-package-quote-stats span,
.school-package-quote-line span {
    color: var(--teal);
}

.school-package-quote-stats strong {
    color: var(--ink);
}

.school-package-quote-lines,
.school-package-warning-list {
    display: grid;
    gap: 0.55rem;
}

.school-package-quote-line {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    border-radius: 17px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background: rgba(255, 255, 255, 0.78);
}

.school-package-quote-line strong {
    color: var(--ink);
}

.school-package-empty-line,
.school-package-warning-list p {
    margin: 0;
    padding: 0.75rem;
    border-radius: 16px;
}

.school-package-empty-line {
    color: var(--muted);
    background: rgba(13, 13, 13, 0.035);
}

.school-package-warning-list p {
    color: #7a4d00;
    background: rgba(201, 168, 76, 0.14);
    border: 1px solid rgba(201, 168, 76, 0.28);
}

.school-package-review-steps {
    display: grid;
    gap: 0.75rem;
}

.school-package-review-steps div {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--workspace-card-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
}

.school-package-review-steps span {
    width: 2rem;
    height: 2rem;
    border-radius: 13px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: var(--teal);
    background: rgba(26, 107, 107, 0.1);
}

.school-package-review-steps p {
    margin: 0;
}

@media (max-width: 760px) {
    .school-package-request-form,
    .school-package-quote-panel {
        padding: 1rem;
    }

    .school-package-contact-grid,
    .school-package-allocation-grid {
        grid-template-columns: 1fr;
    }

    .school-package-subject-toggle {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .school-package-subject-price {
        grid-column: 1 / -1;
        justify-items: start;
        text-align: left;
    }

    .school-package-renewal-note {
        flex-direction: column;
    }

    .school-package-action-row {
        display: grid;
        grid-template-columns: 1fr;
    }

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

    .school-package-structured-row,
    .school-package-subscription-subject {
        grid-template-columns: 1fr;
    }

    .school-package-structured-row .school-package-request-meta,
    .school-package-request-meta {
        grid-template-columns: 1fr;
    }

    .school-package-subscription-subject-stats {
        justify-content: flex-start;
    }

    .admin-package-subject-review-head,
    .admin-package-subject-review-stats,
    .admin-package-review-actions {
        grid-template-columns: 1fr;
    }

    .admin-package-activation-card {
        flex-direction: column;
    }
}

.school-classroom-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
}

.school-classroom-overview-block {
    display: grid;
    gap: 0.9rem;
    margin-top: 1rem;
}

.school-classroom-overview-grid {
    margin-top: 0.35rem;
}

.school-classroom-overview-merged-grid {
    margin-top: 0.5rem;
}

.school-classroom-overview-block .panel-head {
    margin-bottom: 0;
}

.school-classroom-distribution-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.85rem;
}

.school-classroom-distribution-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border-radius: var(--workspace-card-radius);
    border: 1px solid var(--workspace-card-border);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: var(--workspace-card-shadow);
}

.school-classroom-distribution-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.school-classroom-distribution-card span:not(.school-classroom-distribution-icon) {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.school-classroom-distribution-card strong {
    font-size: 1.1rem;
    color: var(--ink);
}

.school-classroom-distribution-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.school-classroom-note-card {
    grid-column: 1 / -1;
}

.school-classroom-roster-list {
    gap: 1rem;
}

.school-classroom-roster-card {
    display: grid;
    gap: 0.9rem;
    align-items: stretch;
    padding: 1.15rem 1.2rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.05), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 249, 0.94));
}

.school-classroom-roster-actions {
    justify-content: flex-end;
    align-items: center;
}

.school-classroom-roster-actions .button {
    min-height: 2.85rem;
    white-space: nowrap;
}

.school-classroom-roster-shell {
    display: grid;
    grid-template-columns: minmax(180px, auto) minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.school-classroom-form {
    display: grid;
    gap: 1.15rem;
}

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

.school-classroom-form .form-field {
    display: grid;
    gap: 0.45rem;
}

.school-classroom-form .form-field.full-span {
    grid-column: 1 / -1;
}

.school-classroom-form .form-field label {
    font-weight: 700;
    color: var(--ink);
}

.school-classroom-form .form-field input[type="text"],
.school-classroom-form .form-field textarea,
.school-classroom-form .form-field select {
    width: 100%;
}

.school-classroom-form .form-field small {
    color: var(--mid);
    line-height: 1.6;
}

.school-classroom-form .form-field input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.school-classroom-form .form-field.checkbox-field {
    align-content: start;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.82);
}

.school-classroom-form .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.school-pricing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.15rem;
}

.school-plan-compare-list,
.school-package-compare-shell {
    display: grid;
    gap: 0.95rem;
}

.school-plan-compare-item,
.school-package-compare-row {
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
    display: grid;
    gap: 0.35rem;
}

.school-plan-compare-item strong,
.school-package-compare-feature strong {
    color: var(--ink);
}

.school-plan-compare-item span,
.school-plan-compare-item p,
.school-package-compare-values span {
    color: var(--mid);
    line-height: 1.6;
    margin: 0;
}

.school-plan-compare-item.is-school-plan {
    border-color: rgba(26, 107, 107, 0.22);
    background: rgba(26, 107, 107, 0.06);
}

.school-package-compare-row {
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 1rem;
}

.school-package-compare-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.form-errors,
.field-errors {
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(168, 50, 50, 0.18);
    background: rgba(168, 50, 50, 0.08);
    color: #7a2323;
}

.form-errors p,
.field-errors p {
    margin: 0;
}

.danger-button {
    border-color: rgba(168, 50, 50, 0.2);
    color: #8c2f2f;
}

.role-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.6rem;
}

.role-summary-card {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(245, 240, 232, 0.9));
    border: 1px solid var(--border);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    padding: 1.2rem 1.35rem;
    display: grid;
    gap: 0.5rem;
}

.role-summary-card strong {
    font-size: 0.96rem;
    line-height: 1.45;
}

.role-summary-card p {
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.65;
}

.role-guide-list {
    margin-top: 1.4rem;
    display: grid;
    gap: 0.9rem;
}

.role-guide-card {
    padding: 1rem 1.05rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
}

.role-guide-card strong {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.role-guide-card p {
    font-size: 0.84rem;
    line-height: 1.6;
    color: var(--mid);
}

.classroom-entry-section {
    padding-bottom: 4.5rem;
}

.classroom-entry-grid {
    align-items: start;
    gap: 2rem;
}

.classroom-entry-copy {
    display: grid;
    gap: 1rem;
}

.classroom-entry-copy h1 {
    margin: 0;
}

.classroom-entry-copy > p {
    margin: 0;
    color: var(--mid);
    line-height: 1.75;
    max-width: 60ch;
}

.classroom-entry-steps {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.25rem;
}

.classroom-entry-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.classroom-entry-step-number {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-weight: 700;
    flex-shrink: 0;
}

.classroom-entry-step strong {
    display: block;
    margin-bottom: 0.22rem;
    color: var(--ink);
}

.classroom-entry-step p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
    font-size: 0.9rem;
}

.classroom-entry-note {
    display: grid;
    gap: 0.32rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background: linear-gradient(180deg, rgba(232, 244, 244, 0.92), rgba(255, 255, 255, 0.94));
}

.classroom-entry-note strong {
    color: var(--ink);
}

.classroom-entry-note p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.classroom-entry-card {
    display: grid;
    gap: 1.15rem;
    padding: 1.35rem 1.35rem 1.25rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.96));
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
}

.classroom-entry-card-head {
    display: grid;
    gap: 0.35rem;
}

.classroom-entry-card-head h2 {
    margin: 0;
}

.classroom-entry-card-head p:last-child {
    margin: 0;
    color: var(--mid);
    line-height: 1.7;
}

.classroom-entry-form {
    gap: 1rem;
}

.classroom-entry-row {
    gap: 0.85rem;
}

.classroom-entry-field {
    gap: 0.35rem;
}

.classroom-entry-field > span {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ink);
}

.classroom-entry-field > small {
    color: var(--mid);
    font-size: 0.79rem;
    line-height: 1.55;
}

.classroom-entry-form input {
    min-height: 54px;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border-width: 1px;
    font-size: 0.98rem;
}

.classroom-entry-submit {
    width: 100%;
    min-height: 52px;
    justify-content: center;
}

.classroom-entry-links {
    display: grid;
    gap: 0.35rem;
}

.dashboard-stat-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.8rem;
}

.dashboard-stat-grid .stat-card {
    padding: 1.3rem 1.5rem;
}

.dashboard-grid {
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
}

.dashboard-grid .wide-panel {
    grid-column: 1 / -1;
}

.content-panel {
    padding: 1.2rem 1.5rem;
    overflow: hidden;
}

.panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.panel-title-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
}

.panel-title-icon {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(230, 241, 241, 0.96);
    border: 1px solid rgba(15, 76, 92, 0.1);
    color: var(--teal);
    box-shadow: 0 10px 22px rgba(15, 76, 92, 0.08);
    flex-shrink: 0;
}

.panel-title-icon i {
    font-size: 0.95rem;
}

.progress-item + .progress-item {
    margin-top: 1rem;
}

.progress-item p {
    margin-top: 0.45rem;
    font-size: 0.8rem;
    color: var(--mid);
}

.progress-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.76rem;
    color: var(--mid);
    margin-bottom: 0.35rem;
}

.progress-bar {
    height: 6px;
    background: rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar span {
    display: block;
    height: 100%;
    background: var(--teal);
    border-radius: 3px;
}

.lesson-layout {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.lesson-player-shell {
    gap: 1.25rem;
}

.lesson-hero-band {
    display: none;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.22), transparent 34%),
        linear-gradient(135deg, rgba(18, 102, 105, 0.98), rgba(46, 158, 158, 0.96));
    box-shadow: 0 18px 48px rgba(26, 107, 107, 0.18);
}

.lesson-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.9rem;
}

.lesson-hero-band .eyebrow-inline {
    color: var(--gold-light);
}

.lesson-hero-band h2,
.lesson-hero-band p {
    color: #fff;
}

.lesson-hero-band p {
    color: rgba(255, 255, 255, 0.82);
}

.lesson-hero-band .pill {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.lesson-hero-actions {
    align-items: flex-start;
}

.lesson-snapshot-grid {
    margin-bottom: 0;
}

.lesson-layout-revamp {
    align-items: start;
    gap: 1.25rem;
}

.lesson-player {
    display: grid;
    gap: 1.5rem;
    min-width: 0;
}

.lesson-video-showcase {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
}

@media (min-width: 961px) {
    .interactive-video-page .lesson-player-shell {
        gap: 0.9rem;
    }

    .interactive-video-page .lesson-hero-band {
        padding: 1rem 1.15rem;
    }

    .interactive-video-page .lesson-video-showcase {
        width: min(100%, 960px, calc((100vh - 200px) * 16 / 9));
        margin-inline: auto;
    }

    .interactive-video-page .lesson-video-showcase-head,
    .interactive-video-page .interactive-video-toolbar {
        padding: 0.7rem 0.95rem;
    }

    .interactive-video-page .lesson-hero-band h2 {
        font-size: clamp(1.45rem, 2vw, 2rem);
    }
}

.lesson-video-showcase-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.35rem 1rem;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(17, 24, 39, 0.82));
}

.lesson-video-showcase-head h3 {
    margin: 0.35rem 0 0;
    font-size: 1.12rem;
    color: #fff;
}

.lesson-video-showcase-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.lesson-video-showcase .eyebrow-inline {
    color: rgba(255, 255, 255, 0.72);
}

.lesson-journey-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.92));
}

.lesson-insight-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
    gap: 1rem;
}

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

.lesson-journey-card {
    display: grid;
    gap: 0.28rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
    transition: transform 0.22s ease, box-shadow 0.24s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.lesson-journey-card:active {
    transform: scale(0.992);
}

.lesson-journey-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.lesson-journey-card strong {
    font-size: 0.98rem;
    line-height: 1.45;
    color: var(--ink);
}

.lesson-journey-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
    font-size: 0.84rem;
}

.lesson-journey-actions {
    margin-top: 1rem;
    gap: 0.75rem;
}

.learner-course-journey-panel {
    gap: 1rem;
}

.learner-course-journey-actions {
    gap: 0.75rem;
    width: 100%;
}

.learner-course-journey-actions .button {
    justify-content: center;
}

@media (max-width: 960px) {
    .learner-course-journey-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

.learner-course-snapshot-panel {
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.92));
}

.learner-course-snapshot-grid {
    display: grid;
    gap: 0.85rem;
}

.learner-course-snapshot-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.learner-course-snapshot-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal);
}

.learner-course-snapshot-card strong {
    font-size: 0.98rem;
    line-height: 1.45;
    color: var(--ink);
}

.learner-course-snapshot-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
    font-size: 0.84rem;
}

.video-panel {
    background: #111;
    color: #fff;
    border-radius: 6px;
    overflow: hidden;
}

.video-stage {
    background: #000;
    padding: 1.5rem;
}

.video-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: rgba(255, 255, 255, 0.5);
    border: 1.5px solid rgba(255, 255, 255, 0.07);
    text-align: center;
    padding: 2rem;
}

.video-placeholder strong {
    color: #fff;
    margin: 0.4rem 0;
}

.interactive-video-page .lesson-layout {
    align-items: start;
}

.interactive-video-stage {
    position: relative;
    background: #000;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    min-height: 0;
}

.interactive-video-stage.is-manual-fullscreen {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
    z-index: 1200;
    display: grid;
    align-content: stretch;
    background: #000;
}

.interactive-video-stage.has-active-interaction {
    min-height: 0;
}

.interactive-video-element {
    width: 100%;
    display: block;
    height: 100%;
    background: #000;
    object-fit: contain;
}

.video-placeholder-rich {
    min-height: 420px;
}

.interactive-video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    width: min(420px, calc(100% - 2rem));
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(75, 173, 160, 0.28);
    background: linear-gradient(180deg, rgba(9, 33, 35, 0.86), rgba(10, 24, 28, 0.96));
    color: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
    text-align: left;
    backdrop-filter: blur(10px);
}

.interactive-video-play-overlay-icon {
    width: 3rem;
    height: 3rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(67, 171, 153, 0.9));
    color: #fff;
    font-size: 1rem;
    flex-shrink: 0;
}

.interactive-video-play-overlay-copy {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.interactive-video-play-overlay-copy strong,
.interactive-video-play-overlay-copy small {
    display: block;
}

.interactive-video-play-overlay-copy small {
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.5;
}

.interactive-video-stage.is-playing .interactive-video-play-overlay,
.interactive-video-stage.has-active-interaction .interactive-video-play-overlay {
    display: none;
}

.interactive-video-fullscreen-lock .student-mobile-nav {
    display: none !important;
}

.interactive-video-fullscreen-lock .lesson-hero-band {
    display: none !important;
}

.interactive-video-fullscreen-lock,
.interactive-video-fullscreen-lock body {
    overflow: hidden;
}

.interactive-video-fullscreen-lock .sidebar,
.interactive-video-fullscreen-lock .app-header {
    opacity: 0;
    pointer-events: none;
}

.interactive-video-question-lock .student-mobile-nav {
    display: none !important;
}

.interactive-video-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: clamp(0.65rem, 1.6vw, 1.1rem);
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.06) 0%, rgba(8, 8, 8, 0.18) 38%, rgba(8, 8, 8, 0.82) 100%);
    backdrop-filter: blur(2px);
    z-index: 4;
    overflow: hidden;
}

.interactive-video-card {
    box-sizing: border-box;
    width: min(560px, calc(100% - 1rem));
    max-width: calc(100% - 1rem);
    max-height: calc(100% - 1rem);
    display: grid;
    gap: clamp(0.55rem, 1.4vw, 0.95rem);
    padding: clamp(0.8rem, 1.8vw, 1.1rem);
    border-radius: 22px;
    border: 1px solid rgba(75, 173, 160, 0.24);
    background: linear-gradient(180deg, rgba(19, 21, 24, 0.94), rgba(12, 14, 17, 0.96));
    color: #f8f5ef;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34);
    overflow: auto;
}

.interactive-video-overlay[data-state="neutral"] .interactive-video-card {
    border-color: rgba(75, 173, 160, 0.34);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(75, 173, 160, 0.1);
}

.interactive-video-overlay[data-state="incorrect"] .interactive-video-card {
    border-color: rgba(192, 94, 58, 0.48);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(192, 94, 58, 0.14);
}

.interactive-video-overlay[data-state="correct"] .interactive-video-card {
    border-color: rgba(122, 173, 138, 0.52);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(122, 173, 138, 0.18);
}

@media (max-width: 720px) {
    .interactive-video-card {
        width: min(100%, calc(100% - 0.75rem));
        max-width: calc(100% - 0.75rem);
        max-height: calc(100% - 0.75rem);
        padding: 0.75rem;
        border-radius: 18px;
    }

    .interactive-video-card-head {
        gap: 0.5rem;
    }

    .interactive-video-question {
        line-height: 1.45;
    }

    .interactive-video-options {
        gap: 0.5rem;
    }

    .interactive-option-button,
    .interactive-video-prompt {
        padding: 0.58rem 0.65rem;
        border-radius: 12px;
    }
}

.interactive-video-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
}

.interactive-video-card-head strong {
    font-size: 1.02rem;
    color: #fff;
}

.interactive-video-card-head .pill {
    background: rgba(67, 171, 153, 0.18);
    color: #bff3e8;
}

.interactive-video-overlay[data-state="incorrect"] .interactive-video-card-head .pill {
    background: rgba(192, 94, 58, 0.16);
    color: #ffb29a;
}

.interactive-video-overlay[data-state="correct"] .interactive-video-card-head .pill {
    background: rgba(122, 173, 138, 0.18);
    color: #d7f1de;
}

.interactive-video-question {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(248, 245, 239, 0.96);
}

.interactive-video-options {
    display: grid;
    gap: 0.8rem;
}

.interactive-option-button,
.interactive-video-prompt {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    width: 100%;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
}

.interactive-option-button {
    cursor: pointer;
    text-align: left;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.interactive-option-button:hover,
.interactive-option-button.selected {
    transform: translateY(-1px);
    border-color: rgba(67, 171, 153, 0.56);
    background: rgba(67, 171, 153, 0.12);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

.interactive-option-button.is-correct {
    border-color: rgba(122, 173, 138, 0.52);
    background: rgba(122, 173, 138, 0.14);
}

.interactive-option-button.is-correct strong {
    background: rgba(122, 173, 138, 0.2);
    color: #d7f1de;
}

.interactive-option-button.is-incorrect {
    border-color: rgba(192, 94, 58, 0.54);
    background: rgba(192, 94, 58, 0.12);
}

.interactive-option-button.is-incorrect strong {
    background: rgba(192, 94, 58, 0.18);
    color: #ffb29a;
}

.interactive-option-button strong {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(67, 171, 153, 0.18);
    color: #bff3e8;
    flex-shrink: 0;
}

.interactive-option-button span,
.interactive-video-prompt {
    color: rgba(248, 245, 239, 0.78);
    line-height: 1.65;
}

.interactive-prompt-response {
    width: 100%;
    min-height: 120px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    padding: 0.95rem 1rem;
    font: inherit;
    resize: vertical;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
}

.interactive-prompt-response:focus {
    outline: none;
    border-color: rgba(67, 171, 153, 0.55);
    box-shadow: 0 0 0 4px rgba(67, 171, 153, 0.12);
}

.interactive-video-feedback {
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(67, 171, 153, 0.24);
    background: rgba(67, 171, 153, 0.12);
    color: rgba(248, 245, 239, 0.86);
    line-height: 1.65;
}

.interactive-video-feedback[data-state="incorrect"] {
    border-color: rgba(192, 94, 58, 0.4);
    background: rgba(192, 94, 58, 0.14);
    color: #ffd0c0;
}

.interactive-video-feedback[data-state="correct"] {
    border-color: rgba(122, 173, 138, 0.45);
    background: rgba(122, 173, 138, 0.16);
    color: #def5e4;
}

.interactive-video-actions {
    justify-content: flex-end;
}

.interactive-video-controls {
    position: absolute;
    left: 0.85rem;
    right: 0.85rem;
    bottom: 0.85rem;
    z-index: 3;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px 42px;
    gap: 0.5rem;
    align-items: center;
    padding: 0.44rem;
    border-radius: 999px;
    border: 1px solid rgba(75, 173, 160, 0.28);
    background:
        linear-gradient(180deg, rgba(10, 37, 40, 0.76), rgba(5, 14, 18, 0.92)),
        rgba(5, 14, 18, 0.72);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(10px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.interactive-video-stage.has-active-interaction .interactive-video-controls {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
}

.interactive-video-control-button {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(75, 173, 160, 0.22);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.interactive-video-control-button:hover,
.interactive-video-control-button:focus-visible {
    background: rgba(67, 171, 153, 0.22);
    border-color: rgba(67, 171, 153, 0.38);
    transform: translateY(-1px);
}

.interactive-video-control-button span {
    display: none;
}

.interactive-video-control-button.is-primary {
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(67, 171, 153, 0.9));
    border-color: rgba(67, 171, 153, 0.24);
}

.interactive-video-timeline {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.interactive-video-time {
    font-family: "Space Mono", monospace;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.86);
    white-space: nowrap;
}

.interactive-video-seek,
.interactive-video-volume {
    width: 100%;
    accent-color: var(--teal);
}

.interactive-video-audio {
    display: block;
}

.interactive-video-audio .interactive-video-volume {
    display: none;
}

.interactive-video-stage.is-controls-hidden:not(.has-active-interaction) .interactive-video-controls,
.interactive-video-stage.is-controls-hidden:not(.has-active-interaction) .interactive-video-step-nav {
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.65rem);
    pointer-events: none;
}

.interactive-video-stage.is-controls-hidden:not(.has-active-interaction) .interactive-video-step-nav {
    transform: translateY(-0.65rem);
}

.interactive-video-stage:not(.has-active-interaction):not(.is-controls-visible) .interactive-video-controls,
.interactive-video-stage:not(.has-active-interaction):not(.is-controls-visible) .interactive-video-step-nav {
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.65rem);
    pointer-events: none;
}

.interactive-video-stage:not(.has-active-interaction):not(.is-controls-visible) .interactive-video-step-nav {
    transform: translateY(-0.65rem);
}

.interactive-video-stage:hover .interactive-video-controls,
.interactive-video-stage:focus-within .interactive-video-controls,
.interactive-video-stage.is-controls-visible .interactive-video-controls,
.interactive-video-stage:hover .interactive-video-step-nav,
.interactive-video-stage:focus-within .interactive-video-step-nav,
.interactive-video-stage.is-controls-visible .interactive-video-step-nav {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}

.interactive-video-actions .button-secondary {
    border-color: rgba(67, 171, 153, 0.26);
    background: rgba(67, 171, 153, 0.14);
    color: #fff;
}

.interactive-video-actions .button-secondary:hover,
.interactive-video-actions .button-secondary:focus-visible {
    background: rgba(67, 171, 153, 0.22);
    color: #fff;
    border-color: rgba(67, 171, 153, 0.36);
}

.interactive-video-toolbar {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.interactive-video-step-nav {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    right: 0.85rem;
    z-index: 5;
    display: none;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    pointer-events: none;
}

.interactive-video-step-button {
    pointer-events: auto;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.62rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(75, 173, 160, 0.28);
    background: rgba(8, 28, 31, 0.82);
    color: #fff;
    font-weight: 800;
    font-size: 0.76rem;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(10px);
}

.interactive-video-step-button.is-next {
    margin-left: auto;
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.96), rgba(67, 171, 153, 0.9));
}

.interactive-video-stage:fullscreen .interactive-video-step-nav,
.checkpoint-video-shell:fullscreen .interactive-video-step-nav,
.interactive-video-stage:-webkit-full-screen .interactive-video-step-nav,
.checkpoint-video-shell:-webkit-full-screen .interactive-video-step-nav,
.interactive-video-stage.is-manual-fullscreen .interactive-video-step-nav {
    display: flex;
}

.lesson-video-showcase-actions [data-interactive-video-fullscreen] {
    border-color: rgba(26, 107, 107, 0.26);
    background: rgba(67, 171, 153, 0.14);
    color: #dff9f3;
}

.lesson-mobile-tabs,
.lesson-mobile-next-bar {
    display: none;
}

.lesson-video-showcase-actions [data-interactive-video-fullscreen]:hover,
.lesson-video-showcase-actions [data-interactive-video-fullscreen]:focus-visible {
    border-color: rgba(67, 171, 153, 0.42);
    background: rgba(67, 171, 153, 0.22);
    color: #fff;
}

.interactive-video-stage:fullscreen,
.checkpoint-video-shell:fullscreen,
.interactive-video-stage:-webkit-full-screen,
.checkpoint-video-shell:-webkit-full-screen {
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
    background: #000;
    display: grid;
    place-items: center;
}

.interactive-video-stage.is-manual-fullscreen .interactive-video-overlay,
.interactive-video-stage.is-manual-fullscreen .interactive-video-controls {
    width: auto;
}

.interactive-video-stage:fullscreen .interactive-video-element,
.checkpoint-video-shell:fullscreen .interactive-video-element,
.interactive-video-stage:-webkit-full-screen .interactive-video-element,
.checkpoint-video-shell:-webkit-full-screen .interactive-video-element,
.interactive-video-stage.is-manual-fullscreen .interactive-video-element {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    max-height: 100vh;
    aspect-ratio: auto;
    object-fit: contain;
}

.interactive-video-stage:fullscreen .interactive-video-overlay,
.checkpoint-video-shell:fullscreen .interactive-video-overlay,
.interactive-video-stage:-webkit-full-screen .interactive-video-overlay,
.checkpoint-video-shell:-webkit-full-screen .interactive-video-overlay,
.interactive-video-stage.is-manual-fullscreen .interactive-video-overlay {
    inset: 0;
    width: 100%;
    height: 100%;
    padding: clamp(1.1rem, 2.5vw, 2rem);
}

.interactive-video-stage:fullscreen .interactive-video-card,
.checkpoint-video-shell:fullscreen .interactive-video-card,
.interactive-video-stage:-webkit-full-screen .interactive-video-card,
.checkpoint-video-shell:-webkit-full-screen .interactive-video-card,
.interactive-video-stage.is-manual-fullscreen .interactive-video-card {
    width: min(720px, 100%);
}

.interactive-video-stage:fullscreen .interactive-video-controls,
.checkpoint-video-shell:fullscreen .interactive-video-controls,
.interactive-video-stage:-webkit-full-screen .interactive-video-controls,
.checkpoint-video-shell:-webkit-full-screen .interactive-video-controls,
.interactive-video-stage.is-manual-fullscreen .interactive-video-controls {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
}

.lesson-progress-panel .interactive-progress-shell {
    display: grid;
    gap: 1rem;
}

.interactive-progress-bar span {
    background: linear-gradient(90deg, var(--teal), var(--gold));
}

.lesson-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #151515;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.lesson-toolbar-copy {
    display: grid;
    gap: 0.28rem;
}

.lesson-toolbar-copy strong {
    color: #fff;
    font-size: 0.96rem;
}

.lesson-toolbar p {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.76rem;
}

.lesson-toolbar-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.lesson-side {
    display: grid;
    gap: 1.2rem;
}

.lesson-sequence-panel {
    display: grid;
    gap: 1rem;
}

.lesson-course-tree-panel {
    background:
        radial-gradient(circle at top right, rgba(67, 171, 153, 0.12), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 246, 240, 0.96));
}

.lesson-sequence-tree {
    max-height: none;
    overflow: auto;
    padding: 0.75rem;
}

.lesson-sequence-tree .admin-structure-tree-list .admin-structure-tree-list {
    margin-left: 0.55rem;
    padding-left: 0.65rem;
}

.lesson-sequence-tree .admin-structure-tree-node {
    grid-template-columns: 1.55rem minmax(0, 1fr) auto;
    padding: 0.58rem 0.62rem;
}

.lesson-sequence-tree .admin-structure-tree-icon {
    width: 1.55rem;
    height: 1.55rem;
    font-size: 0.66rem;
}

.lesson-sequence-tree .admin-structure-tree-link {
    font-size: 0.82rem;
}

.lesson-sequence-tree .admin-structure-tree-detail {
    font-size: 0.68rem;
}

.lesson-tree-badge {
    min-width: 1.75rem;
    min-height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.3rem 0.45rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-family: var(--mono);
    font-size: 0.65rem;
    font-weight: 800;
}

.lesson-sequence-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.lesson-sequence-summary-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.9rem 0.95rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.lesson-sequence-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.64rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

.lesson-sequence-summary-card strong {
    color: #fff;
    line-height: 1.45;
}

.dark-panel {
    background: #1a1a1a;
    border-color: rgba(255, 255, 255, 0.07);
}

.dark-panel h3,
.dark-panel p,
.dark-panel .eyebrow-inline {
    color: #fff;
}

.dark-panel textarea {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.8);
}

.lesson-reading-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 240, 232, 0.92));
}

.lesson-reading-copy {
    display: grid;
    gap: 1rem;
}

.lesson-reading-copy p {
    color: var(--mid);
    line-height: 1.8;
    margin: 0;
}

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

.lesson-support-grid-revamp {
    align-items: stretch;
}

.lesson-support-card {
    display: grid;
    gap: 0.9rem;
}

.lesson-support-list {
    display: grid;
    gap: 0.75rem;
}

.lesson-support-item {
    display: grid;
    gap: 0.25rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.lesson-support-item strong {
    color: var(--ink);
}

.lesson-support-item span {
    color: var(--mid);
    line-height: 1.6;
}

.lesson-sequence-list li {
    background: rgba(255, 255, 255, 0.04);
}

.lesson-sequence-list li strong,
.lesson-sequence-list li a {
    color: rgba(255, 255, 255, 0.9);
}

.lesson-sequence-list li span {
    color: rgba(255, 255, 255, 0.5);
}

.dark-panel .text-link {
    color: var(--gold-light);
}

.lesson-module-stack {
    display: grid;
    gap: 1rem;
}

.lesson-module-card {
    padding: 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
}

.lesson-module-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.35rem;
}

.lesson-module-head strong {
    color: #fff;
    font-size: 0.88rem;
}

.lesson-module-head span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.46);
}

.lesson-module-card > p {
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.78rem;
    line-height: 1.6;
    margin-bottom: 0.8rem;
}

.table-wrap {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th {
    text-align: left;
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mid);
    padding: 0.7rem 1rem;
    border-bottom: 1.5px solid var(--border);
}

.data-table td {
    padding: 0.8rem 1rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.87rem;
}

.question-card {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 4px;
    padding: 1rem;
    margin-bottom: 0.9rem;
}

.question-card h3 {
    font-size: 0.95rem;
    margin: 0.45rem 0 0.75rem;
}

.answer-options {
    display: grid;
    gap: 0.4rem;
}

.option-card {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.75rem;
    border-radius: 3px;
    margin-bottom: 0.2rem;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 0.83rem;
    color: var(--mid);
    background: rgba(0, 0, 0, 0.03);
}

.option-card:hover {
    background: var(--teal-pale);
    color: var(--teal);
}

.option-card input {
    width: auto;
}

.timer-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 0.7rem 1rem;
    border-radius: 3px;
    background: var(--ink);
    color: var(--cream);
    font-family: "Space Mono", monospace;
    font-size: 0.82rem;
}

.timer-badge.is-low-time {
    background: #8a6817;
    color: #fff8df;
    box-shadow: 0 12px 24px rgba(201, 168, 76, 0.22);
}

.timer-badge.is-urgent-time {
    background: #9b3027;
    color: #fff7f5;
    box-shadow: 0 12px 24px rgba(155, 48, 39, 0.24);
    animation: assessmentTimerPulse 1s ease-in-out infinite;
}

@keyframes assessmentTimerPulse {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.035);
    }
}

.certificate-wrapper {
    display: flex;
    justify-content: center;
}

.certificate-card {
    max-width: 760px;
    width: 100%;
    text-align: center;
    padding: 3rem 2rem;
    background: var(--cream);
    border: 1px solid var(--border);
}

.certificate-card h3 {
    font-size: 2rem;
}

.certificate-card h4 {
    font-size: 1.4rem;
    color: var(--teal);
}

.certificate-meta {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin: 1.5rem 0;
    color: var(--mid);
    font-size: 0.85rem;
}

.certificate-verification-note {
    margin: 1.2rem auto 1.5rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
    max-width: 640px;
    display: grid;
    gap: 0.35rem;
    font-size: 0.84rem;
    color: var(--mid);
}

.certificate-verification-note strong {
    color: var(--ink);
}

.certificate-verification-note span {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.certificate-verify-card.verified {
    border-top: 4px solid var(--sage);
}

.certificate-verify-card.invalid {
    border-top: 4px solid var(--rust);
}

.attempt-banner {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(26, 107, 107, 0.16);
    background: rgba(26, 107, 107, 0.07);
    color: var(--ink);
    font-size: 0.85rem;
}

.attempt-banner-locked {
    border-color: rgba(192, 94, 58, 0.2);
    background: rgba(192, 94, 58, 0.08);
}

.assessment-hero-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.assessment-grid {
    align-items: start;
}

.assessment-result-band {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.6rem 1.8rem;
    border-radius: 14px;
    margin-bottom: 1.5rem;
    color: #fff;
}

.assessment-result-band.passed {
    background: linear-gradient(135deg, rgba(122, 173, 138, 0.98), rgba(26, 107, 107, 0.96));
}

.assessment-result-band.retry {
    background: linear-gradient(135deg, rgba(192, 94, 58, 0.98), rgba(201, 168, 76, 0.96));
}

.assessment-result-band.info {
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(90, 119, 160, 0.96));
}

.assessment-result-band .eyebrow-inline,
.assessment-result-band h2,
.assessment-result-band p {
    color: #fff;
}

.assessment-result-score {
    min-width: 180px;
    padding: 1rem 1.2rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    display: grid;
    gap: 0.25rem;
    text-align: center;
}

.assessment-result-score strong {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    line-height: 1;
}

.assessment-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.assessment-summary-card {
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 0.3rem;
}

.assessment-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mid);
}

.assessment-summary-card strong {
    font-size: 1.15rem;
}

.assessment-outcome-copy {
    color: var(--mid);
    line-height: 1.7;
    margin-bottom: 1.2rem;
}

.pricing-flow-grid,
.pricing-hooks-grid {
    display: grid;
    gap: 1.5rem;
}

.pricing-flow-grid {
    grid-template-columns: 1fr 1fr;
}

.pricing-hooks-grid {
    grid-template-columns: 1fr;
}

.pricing-hook-card {
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
    display: grid;
    gap: 0.35rem;
}

.pricing-hook-card strong {
    font-size: 0.92rem;
}

.pricing-hook-card span {
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.6;
}

.admin-hero-band {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 1.5rem;
    margin-bottom: 1.4rem;
    padding: 1.7rem 1.8rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(13, 13, 13, 0.99), rgba(11, 39, 82, 0.95));
    color: #fff;
    box-shadow: 0 18px 48px rgba(13, 13, 13, 0.18);
}

.admin-hero-copy {
    display: grid;
    gap: 0.6rem;
    max-width: 66ch;
}

.admin-hero-band .eyebrow-inline,
.admin-hero-band h2,
.admin-hero-band p {
    color: #fff;
}

.admin-hero-band p {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
    margin: 0;
}

.admin-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-width: 240px;
}

.admin-user-directory-hero {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.3), transparent 38%),
        linear-gradient(135deg, rgba(10, 42, 55, 0.98), rgba(26, 107, 107, 0.94));
    color: #fff;
    box-shadow: 0 18px 44px rgba(10, 42, 55, 0.16);
}

.admin-user-directory-hero .eyebrow-inline,
.admin-user-directory-hero h2 {
    color: #fff;
}

.admin-user-directory-hero p {
    max-width: 68ch;
    color: rgba(255, 255, 255, 0.82);
}

.admin-user-directory-hero .admin-hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    min-width: min(100%, 420px);
}

.admin-user-directory-hero .button-secondary {
    background: rgba(255, 255, 255, 0.92);
    color: var(--ink);
}

.admin-user-directory-hero .button-primary {
    background: var(--teal);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
}

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

.admin-stat-grid {
    margin-bottom: 1.5rem;
}

.admin-dashboard-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr);
    align-items: start;
    gap: 1.85rem;
}

.admin-dashboard-clean-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

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

.admin-command-card-grid .student-pulse-card {
    min-height: 132px;
    border-radius: 18px;
    align-content: start;
}

.admin-command-card-grid .student-pulse-card strong {
    font-size: 1.55rem;
}

.admin-command-card-grid .student-pulse-card strong small {
    display: inline-block;
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-today-focus-panel {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.15rem;
    padding: 1.1rem;
    border: 1px solid rgba(26, 107, 107, 0.14);
    border-radius: 18px;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 242, 234, 0.9));
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.admin-today-focus-head {
    align-items: flex-start;
    margin: 0;
}

.admin-today-focus-head h3 {
    margin: 0.2rem 0 0;
    font-size: 1.05rem;
}

.admin-today-focus-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.admin-today-focus-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    min-height: 108px;
    padding: 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    color: var(--ink);
    text-decoration: none;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-today-focus-card:hover,
.admin-today-focus-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.3);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);
}

.admin-today-focus-icon {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    color: var(--teal);
    background: rgba(26, 107, 107, 0.1);
}

.admin-today-focus-copy {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
}

.admin-today-focus-label {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-today-focus-copy strong {
    color: var(--ink);
    font-size: 0.98rem;
    line-height: 1.35;
}

.admin-today-focus-copy small {
    color: var(--mid);
    font-size: 0.78rem;
    line-height: 1.45;
}

.admin-today-focus-arrow {
    color: var(--teal);
}

.admin-today-focus-card.tone-gold .admin-today-focus-icon {
    color: #8a640a;
    background: rgba(217, 170, 43, 0.16);
}

.admin-today-focus-card.tone-ink .admin-today-focus-icon {
    color: var(--ink);
    background: rgba(15, 23, 42, 0.08);
}

.admin-today-focus-card.tone-sage .admin-today-focus-icon {
    color: #22775e;
    background: rgba(34, 119, 94, 0.12);
}

.admin-command-panel {
    border-radius: 18px;
}

.admin-command-panel .panel-head {
    align-items: flex-start;
}

.admin-action-lanes-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.07), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 238, 0.92));
}

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

.admin-action-lane-grid .tutor-priority-card {
    min-height: 132px;
    align-items: start;
}

.admin-action-lane-grid .tutor-priority-copy p {
    font-size: 0.84rem;
    line-height: 1.55;
}

.admin-top-snapshot-section {
    margin-bottom: 1.2rem;
}

.admin-focus-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 245, 250, 0.94));
}

.admin-focus-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr);
    gap: 1.25rem;
}

.admin-focus-primary {
    display: grid;
    gap: 0.9rem;
}

.admin-focus-primary h3 {
    margin: 0;
}

.admin-focus-primary p {
    color: var(--mid);
    line-height: 1.7;
}

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

.admin-focus-mini-card,
.admin-focus-summary {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.88);
    display: grid;
    gap: 0.35rem;
}

.admin-focus-mini-card span,
.admin-focus-summary span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-focus-mini-card strong,
.admin-focus-summary strong {
    font-size: 0.96rem;
    line-height: 1.5;
}

.admin-focus-summary p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.admin-focus-side {
    display: grid;
    gap: 0.85rem;
}

.admin-panel-copy {
    margin-top: 0.35rem;
    color: var(--brand-700);
    font-size: 0.88rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-break: break-word;
}

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

.admin-ops-card {
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.72);
    padding: 1rem 1.1rem;
    display: grid;
    gap: 0.55rem;
}

.admin-ops-card strong {
    font-size: 0.95rem;
    line-height: 1.5;
}

.admin-ops-card p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
}

.admin-ops-card a {
    color: var(--teal);
    font-weight: 600;
}

.curriculum-summary-grid {
    margin-bottom: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.curriculum-manager-panel,
.curriculum-signal-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 234, 0.94));
}

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

.curriculum-manager-card {
    display: grid;
    gap: 0.65rem;
    padding: 1.05rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.curriculum-manager-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

.curriculum-manager-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.curriculum-manager-card strong {
    font-size: 1.02rem;
    line-height: 1.45;
    color: var(--ink);
}

.curriculum-manager-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.curriculum-manager-card a {
    color: var(--teal);
    font-weight: 700;
}

.curriculum-signal-panel .tutor-priority-list {
    margin-top: 0.25rem;
}

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

.admin-lane-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.admin-command-panel .admin-lane-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.admin-publishing-lane-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-lanes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-note-list {
    display: grid;
    gap: 0.75rem;
}

.admin-user-note-item {
    display: grid;
    gap: 0.35rem;
    padding: 0.95rem 1rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.78);
}

.admin-user-note-item strong {
    font-size: 0.92rem;
    color: var(--ink);
}

.admin-user-note-item p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.6;
}

.admin-account-directory {
    display: grid;
    gap: 0.9rem;
}

.admin-directory-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.9rem;
    padding: 0.85rem;
    border: 1px solid rgba(26, 107, 107, 0.1);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.08), transparent 35%),
        rgba(255, 255, 255, 0.74);
}

.admin-directory-search-box {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.admin-directory-search-field {
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.admin-directory-search-input-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    min-height: 2.9rem;
    padding: 0 0.95rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--teal);
}

.admin-directory-search-input-wrap input {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
}

.admin-directory-search-input-wrap:focus-within {
    outline: none;
    border-color: rgba(26, 107, 107, 0.4);
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.08);
}

.admin-directory-search-input-wrap input:focus {
    outline: none;
}

.admin-directory-search-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.content-panel.is-loading-directory {
    opacity: 0.72;
    pointer-events: none;
}

.admin-role-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.admin-role-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 118px;
    padding: 0.72rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.86);
    color: var(--mid);
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.admin-role-filter-chip:hover,
.admin-role-filter-chip:focus-visible,
.admin-role-filter-chip.is-active {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.24);
    background: rgba(226, 241, 241, 0.96);
    color: var(--teal);
}

.admin-role-filter-chip span {
    font-weight: 700;
}

.admin-role-filter-chip strong {
    font-family: "Space Mono", monospace;
    font-size: 0.78rem;
    color: var(--ink);
}

.admin-account-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) auto minmax(250px, auto);
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.05rem 1rem 1.15rem;
    border-radius: var(--workspace-card-radius);
    border: 1px solid var(--workspace-card-border);
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.08), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 250, 0.82));
    box-shadow: var(--workspace-card-shadow);
    color: inherit;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease;
    overflow: hidden;
}

.admin-account-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: rgba(26, 107, 107, 0.55);
}

.admin-account-row:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 235, 0.8));
}

.admin-account-row.role-tutor::before {
    background: rgba(198, 161, 74, 0.75);
}

.admin-account-row.role-school::before {
    background: rgba(73, 125, 116, 0.65);
}

.admin-account-row.role-admin::before {
    background: rgba(18, 28, 49, 0.5);
}

.admin-account-row:hover,
.admin-account-row:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.09);
    border-color: rgba(16, 132, 139, 0.22);
    background: rgba(247, 251, 251, 0.98);
}

.admin-account-row.needs-attention {
    border-color: rgba(201, 86, 33, 0.18);
    background: rgba(255, 251, 248, 0.96);
}

.admin-account-row-main {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
}

.admin-account-row-avatar {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(16, 132, 139, 0.14), rgba(214, 180, 73, 0.2));
    display: grid;
    place-items: center;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(26, 107, 107, 0.08);
}

.admin-account-row-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-account-row-avatar span {
    font-size: 1.2rem;
    font-weight: 700;
    color: #154a62;
}

.admin-account-row-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.admin-account-row-copy strong {
    font-size: 1rem;
    line-height: 1.2;
    color: #10233a;
    word-break: break-word;
}

.admin-account-row-copy span,
.admin-account-row-copy small {
    color: var(--mid);
    line-height: 1.55;
}

.admin-account-row-copy span {
    font-size: 0.86rem;
}

.admin-account-row-copy small {
    font-size: 0.78rem;
}

.admin-account-row-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
    color: #166e76;
    font-size: 0.84rem;
    font-weight: 600;
}

.admin-role-pill.role-student {
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-role-pill.role-tutor {
    background: rgba(217, 170, 43, 0.16);
    color: #8a640a;
}

.admin-role-pill.role-school {
    background: rgba(34, 119, 94, 0.12);
    color: #22775e;
}

.admin-role-pill.role-admin {
    background: rgba(15, 23, 42, 0.08);
    color: var(--ink);
}

.admin-account-row-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.admin-account-timeline-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 238, 0.92));
}

.admin-user-related-panel {
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.96);
}

.admin-record-disclosure {
    display: grid;
    gap: 0.9rem;
}

.admin-record-disclosure > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.05rem 0 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--ink);
}

.admin-record-disclosure > summary::-webkit-details-marker {
    display: none;
}

.admin-record-disclosure > summary span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 900;
}

.admin-record-disclosure > summary small {
    margin-left: auto;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-record-disclosure > summary i:last-child {
    color: var(--teal);
    transition: transform 0.22s ease;
}

.admin-record-disclosure[open] > summary i:last-child {
    transform: rotate(180deg);
}

.admin-record-disclosure-action {
    width: 100%;
    justify-content: center;
}

.admin-account-timeline {
    position: relative;
    display: grid;
    gap: 0.9rem;
}

.admin-account-timeline::before {
    content: "";
    position: absolute;
    top: 1.1rem;
    bottom: 1.1rem;
    left: 1.15rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(26, 107, 107, 0.28), rgba(217, 170, 43, 0.16));
}

.admin-account-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.admin-account-timeline-icon {
    position: relative;
    z-index: 1;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    color: var(--teal);
    background: rgba(26, 107, 107, 0.1);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.92);
}

.admin-account-timeline-copy {
    display: grid;
    gap: 0.26rem;
    min-width: 0;
}

.admin-account-timeline-copy span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-account-timeline-copy strong {
    color: var(--ink);
    font-size: 0.96rem;
    line-height: 1.4;
}

.admin-account-timeline-copy p,
.admin-account-timeline-copy small {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
}

.admin-account-timeline-copy small {
    font-size: 0.76rem;
}

.admin-account-timeline-item.tone-gold .admin-account-timeline-icon {
    color: #8a640a;
    background: rgba(217, 170, 43, 0.16);
}

.admin-account-timeline-item.tone-ink .admin-account-timeline-icon {
    color: var(--ink);
    background: rgba(15, 23, 42, 0.08);
}

.admin-account-timeline-item.tone-sage .admin-account-timeline-icon {
    color: #22775e;
    background: rgba(34, 119, 94, 0.12);
}

.admin-directory-links-column {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem;
}

.commercial-overview-card {
    padding: 1.15rem 1.2rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    gap: 0.55rem;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.05);
}

.commercial-overview-card.tone-teal {
    background: linear-gradient(145deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.95));
}

.commercial-overview-card.tone-gold {
    background: linear-gradient(145deg, rgba(255, 248, 229, 0.98), rgba(255, 255, 255, 0.95));
}

.commercial-overview-card.tone-ink {
    background: linear-gradient(145deg, rgba(243, 242, 239, 0.98), rgba(255, 255, 255, 0.95));
}

.commercial-overview-card.tone-sage {
    background: linear-gradient(145deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.commercial-overview-top {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.commercial-overview-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.commercial-overview-card.tone-gold .commercial-overview-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.commercial-overview-card.tone-ink .commercial-overview-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.commercial-overview-card.tone-sage .commercial-overview-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.commercial-overview-card strong {
    font-family: "Playfair Display", serif;
    font-size: 1.85rem;
    line-height: 1;
    color: var(--ink);
}

.commercial-overview-card p {
    margin: 0;
    color: var(--ink);
    line-height: 1.55;
}

.commercial-watch-list,
.commercial-course-directory {
    display: grid;
    gap: 0.9rem;
}

.commercial-watch-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid rgba(201, 86, 33, 0.14);
    background: linear-gradient(180deg, rgba(255, 250, 245, 0.98), rgba(255, 255, 255, 0.94));
}

.commercial-watch-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(201, 86, 33, 0.1);
    color: var(--rust);
}

.commercial-watch-copy {
    display: grid;
    gap: 0.25rem;
}

.commercial-watch-copy strong {
    font-size: 0.98rem;
    color: var(--ink);
}

.commercial-watch-copy p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.6;
}

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

.commercial-lane-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 35%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 239, 0.92));
}

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

.commercial-lane-card {
    display: grid;
    gap: 1rem;
    padding: 1.05rem;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 5px solid rgba(26, 107, 107, 0.68);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.055);
}

.commercial-lane-card.tone-gold {
    border-left-color: rgba(201, 168, 76, 0.76);
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.1), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(252, 249, 241, 0.92));
}

.commercial-lane-head {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
}

.commercial-lane-head h3,
.commercial-lane-head p {
    margin: 0;
}

.commercial-lane-head p:not(.eyebrow-inline) {
    color: var(--mid);
    line-height: 1.6;
}

.commercial-lane-icon {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(26, 107, 107, 0.11);
    color: var(--teal);
}

.commercial-lane-card.tone-gold .commercial-lane-icon {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

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

.commercial-lane-metric {
    display: grid;
    gap: 0.2rem;
    padding: 0.72rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: rgba(255, 255, 255, 0.8);
}

.commercial-lane-metric span {
    font-family: var(--mono);
    font-size: 0.6rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--teal);
}

.commercial-lane-metric strong {
    color: var(--ink);
    font-size: 1.05rem;
}

.commercial-access-section {
    margin-top: 1.5rem;
}

.commercial-access-layout {
    align-items: start;
}

.commercial-settings-panel {
    position: sticky;
    top: 1rem;
}

.commercial-course-row {
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 5px solid rgba(26, 107, 107, 0.42);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.05), transparent 34%),
        rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.commercial-course-row:nth-child(even) {
    border-left-color: rgba(201, 168, 76, 0.62);
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(252, 249, 241, 0.92));
}

.commercial-course-row.is-selected {
    border-color: rgba(16, 132, 139, 0.26);
    border-left-color: rgba(16, 132, 139, 0.72);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(247, 251, 251, 0.98), rgba(255, 255, 255, 0.94));
}

.commercial-course-row-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.commercial-course-row-copy {
    display: grid;
    gap: 0.2rem;
}

.commercial-course-row-copy h3,
.commercial-settings-summary h3 {
    margin: 0;
}

.commercial-course-row-copy p,
.commercial-settings-summary p {
    margin: 0;
    color: var(--mid);
}

.commercial-course-row-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.oversight-overview-card {
    min-height: 100%;
    padding: var(--workspace-card-padding);
    border-radius: var(--workspace-card-radius);
    border: 1px solid var(--workspace-card-border);
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    align-content: start;
    gap: 0.5rem;
    box-shadow: var(--workspace-card-shadow);
}

.oversight-overview-card.tone-teal {
    background: linear-gradient(145deg, rgba(232, 244, 244, 0.98), rgba(255, 255, 255, 0.95));
}

.oversight-overview-card.tone-gold {
    background: linear-gradient(145deg, rgba(255, 248, 229, 0.98), rgba(255, 255, 255, 0.95));
}

.oversight-overview-card.tone-ink {
    background: linear-gradient(145deg, rgba(243, 242, 239, 0.98), rgba(255, 255, 255, 0.95));
}

.oversight-overview-card.tone-sage {
    background: linear-gradient(145deg, rgba(239, 249, 242, 0.98), rgba(255, 255, 255, 0.95));
}

.oversight-overview-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.oversight-overview-top > div {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

.oversight-overview-top span,
.oversight-overview-card > span,
.course-detail-overview-top span,
.student-pulse-card span,
.school-hero-summary-card span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--teal);
}

.oversight-overview-icon {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.oversight-overview-card.tone-gold .oversight-overview-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.oversight-overview-card.tone-ink .oversight-overview-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.oversight-overview-card.tone-sage .oversight-overview-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.oversight-overview-card strong {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    line-height: 1;
    color: var(--ink);
    overflow-wrap: anywhere;
}

.oversight-overview-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.92rem;
}

.oversight-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.oversight-section + .oversight-section {
    margin-top: 1.8rem;
}

.oversight-queue-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(238, 246, 246, 0.98), rgba(247, 243, 235, 0.96));
    border-color: rgba(26, 107, 107, 0.18);
    box-shadow: 0 18px 40px rgba(26, 107, 107, 0.08);
}

.oversight-watch-list,
.oversight-course-list {
    display: grid;
    gap: 0.9rem;
}

.oversight-watch-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid rgba(201, 168, 76, 0.18);
    background: linear-gradient(180deg, rgba(255, 250, 245, 0.98), rgba(255, 255, 255, 0.94));
}

.oversight-watch-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(201, 86, 33, 0.1);
    color: var(--rust);
}

.oversight-watch-copy {
    display: grid;
    gap: 0.22rem;
}

.oversight-watch-copy strong {
    color: var(--ink);
    font-size: 0.98rem;
}

.oversight-watch-copy p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.6;
}

.oversight-guide-grid {
    display: grid;
    gap: 0.85rem;
}

.oversight-guide-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 245, 239, 0.92));
}

.oversight-guide-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

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

.oversight-commercial-card {
    display: grid;
    gap: 0.28rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 245, 239, 0.92));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.oversight-commercial-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    margin-bottom: 0.2rem;
}

.oversight-commercial-card.tone-gold .oversight-commercial-icon {
    background: rgba(198, 161, 74, 0.16);
    color: #9a7110;
}

.oversight-commercial-card.tone-ink .oversight-commercial-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.oversight-commercial-card.tone-sage .oversight-commercial-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.oversight-commercial-card span {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.oversight-commercial-card strong {
    font-size: 1rem;
    color: var(--ink);
}

.oversight-commercial-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
}

.oversight-filter-shell {
    display: grid;
    gap: 0.9rem;
    margin: 1.15rem 0 1.35rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 245, 239, 0.9));
}

.admin-course-search-field {
    grid-column: span 2;
}

.admin-course-pagination-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin: 0 0 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.78);
}

.admin-course-pagination-row .button-row {
    justify-content: flex-end;
}

.admin-course-pagination-row-bottom {
    margin: 1rem 0 0;
}

.oversight-course-row {
    position: relative;
    display: grid;
    gap: 0.85rem;
    padding: 1.05rem 1.1rem 1.05rem 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 249, 0.9));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.oversight-course-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: rgba(26, 107, 107, 0.58);
}

.oversight-course-row:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.12), transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 237, 0.9));
}

.oversight-course-row:hover,
.oversight-course-row:focus-within {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.2);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.09);
}

.oversight-course-row.status-pending_review::before,
.oversight-course-row.status-draft::before {
    background: rgba(198, 161, 74, 0.82);
}

.oversight-course-row.status-published::before {
    background: rgba(73, 125, 116, 0.72);
}

.oversight-course-row.status-rejected::before {
    background: rgba(181, 75, 48, 0.72);
}

.oversight-course-row.needs-attention {
    border-color: rgba(201, 168, 76, 0.28);
    box-shadow: 0 16px 30px rgba(201, 168, 76, 0.1);
}

.oversight-course-row.access-premium {
    border-right: 4px solid rgba(198, 161, 74, 0.34);
}

.oversight-course-row.access-school-package {
    border-right: 4px solid rgba(73, 125, 116, 0.32);
}

.oversight-course-row.access-free-preview {
    border-right: 4px solid rgba(26, 107, 107, 0.28);
}

.oversight-course-row-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.oversight-course-row-copy {
    display: grid;
    gap: 0.2rem;
}

.oversight-course-row-copy h3 {
    margin: 0;
}

.oversight-course-row-copy p {
    margin: 0;
    color: var(--mid);
}

.oversight-course-row-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.oversight-course-row-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.oversight-course-stat {
    display: grid;
    gap: 0.18rem;
    padding: 0.8rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(248, 245, 239, 0.62);
}

.oversight-course-stat span {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.oversight-course-stat strong {
    font-size: 0.95rem;
    color: var(--ink);
}

.commercial-course-row-stats,
.commercial-settings-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.commercial-course-row-stats-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.commercial-course-stat,
.commercial-settings-summary-item {
    display: grid;
    gap: 0.18rem;
    padding: 0.8rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(248, 245, 239, 0.62);
}

.commercial-course-stat span,
.commercial-settings-summary-item span {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mid);
}

.commercial-course-stat strong,
.commercial-settings-summary-item strong {
    font-size: 0.95rem;
    color: var(--ink);
}

.commercial-settings-summary {
    display: grid;
    gap: 0.8rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(16, 132, 139, 0.14);
    background: linear-gradient(180deg, rgba(243, 250, 250, 0.98), rgba(255, 255, 255, 0.94));
}

.commercial-settings-context-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.commercial-settings-context-card,
.commercial-settings-editor {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.commercial-settings-form {
    margin-top: 0.9rem;
}

.admin-lane-card,
.admin-queue-card {
    display: grid;
    gap: 0.6rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.08), transparent 42%),
        rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 30px rgba(11, 25, 34, 0.05);
}

.admin-queue-card {
    text-decoration: none;
    color: inherit;
}

.admin-publishing-lane-grid .admin-queue-card {
    min-height: 13rem;
    border-left: 5px solid rgba(26, 107, 107, 0.52);
}

.admin-publishing-lane-grid .admin-queue-card.tone-gold {
    border-left-color: rgba(201, 168, 76, 0.76);
}

.admin-publishing-lane-grid .admin-queue-card.tone-ink {
    border-left-color: rgba(15, 23, 42, 0.28);
}

.admin-publishing-lane-grid .admin-queue-card.tone-sage {
    border-left-color: rgba(73, 125, 116, 0.6);
}

.admin-lane-card strong,
.admin-queue-card strong {
    font-size: 1rem;
    line-height: 1.45;
}

.admin-lane-card p,
.admin-queue-card p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.65;
}

.admin-lane-icon,
.admin-queue-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-lane-card.tone-gold .admin-lane-icon,
.admin-queue-card.tone-gold .admin-queue-icon {
    background: rgba(198, 161, 74, 0.15);
    color: #9a7110;
}

.admin-lane-card.tone-ink .admin-lane-icon,
.admin-queue-card.tone-ink .admin-queue-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.admin-lane-card.tone-sage .admin-lane-icon,
.admin-queue-card.tone-sage .admin-queue-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.admin-queue-card:hover,
.admin-queue-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(11, 25, 34, 0.08);
}

.admin-queue-compact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-queue-compact-grid .admin-queue-card {
    min-height: 136px;
}

.admin-queue-list-panel {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.055), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 244, 238, 0.93));
}

.admin-queue-list-panel .admin-operational-list {
    gap: 0.85rem;
}

.admin-queue-compact-row {
    align-items: center;
    padding: 0.95rem 1rem;
}

.admin-queue-compact-row .admin-operational-main {
    align-items: center;
}

.admin-queue-compact-row .admin-operational-meta {
    align-content: center;
}

.admin-row-detail-disclosure {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.7rem;
    padding: 0.72rem 0.78rem;
    border-radius: 16px;
}

.admin-row-detail-disclosure > summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
}

.admin-row-detail-disclosure > summary::-webkit-details-marker {
    display: none;
}

.admin-row-detail-disclosure > summary > i:last-child {
    color: var(--teal);
    transition: transform 0.22s ease;
}

.admin-row-detail-disclosure[open] > summary > i:last-child {
    transform: rotate(180deg);
}

.admin-row-detail-disclosure > summary strong,
.admin-row-detail-disclosure > summary span:not(.payment-next-step-icon) {
    min-width: 0;
}

.admin-row-detail-disclosure > p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
}

.admin-row-detail-disclosure .button {
    width: fit-content;
}

.admin-queue-compact-row .payment-next-step-card {
    box-shadow: none;
}

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

.admin-bulk-policy-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1.1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(246, 252, 250, 0.72)),
        rgba(255, 255, 255, 0.8);
    box-shadow: 0 16px 32px rgba(11, 25, 34, 0.05);
}

.admin-bulk-policy-card.tone-gold {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 249, 232, 0.72)),
        rgba(255, 255, 255, 0.8);
}

.admin-bulk-policy-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
}

.admin-bulk-policy-card.tone-gold .admin-bulk-policy-icon {
    background: rgba(198, 161, 74, 0.18);
    color: #9a7110;
}

.admin-bulk-policy-copy {
    display: grid;
    gap: 0.55rem;
}

.admin-bulk-policy-copy strong {
    font-size: 1rem;
}

.admin-bulk-policy-copy p {
    margin: 0;
    color: var(--mid);
    font-size: 0.86rem;
    line-height: 1.65;
}

.admin-bulk-policy-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-bulk-policy-tags span {
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(26, 107, 107, 0.12);
    border-radius: 999px;
    background: rgba(239, 249, 247, 0.82);
    color: var(--ink);
    font-size: 0.73rem;
    font-weight: 800;
}

.compact-management-list {
    gap: 1rem;
}

.admin-report-card {
    display: grid;
    gap: 0.55rem;
    padding: 1.15rem 1.2rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background:
        radial-gradient(circle at top right, rgba(198, 161, 74, 0.08), transparent 42%),
        rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 30px rgba(11, 25, 34, 0.05);
}

.admin-report-card strong {
    font-size: 1.02rem;
    line-height: 1.45;
}

.admin-report-card p {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.65;
}

.admin-report-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-report-card.tone-gold .admin-report-icon {
    background: rgba(198, 161, 74, 0.15);
    color: #9a7110;
}

.admin-report-card.tone-ink .admin-report-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.admin-report-card.tone-sage .admin-report-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.admin-report-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.15rem;
    color: var(--teal);
    font-weight: 700;
    text-decoration: none;
}

.admin-report-link:hover,
.admin-report-link:focus-visible {
    color: var(--ink);
}

.admin-queue-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.15rem;
    color: var(--teal);
    font-weight: 700;
}

.admin-queue-summary-grid .student-pulse-card {
    min-height: 118px;
    align-content: start;
}

.admin-queue-filter-panel {
    margin-bottom: 0.2rem;
}

.admin-queue-filter-panel .ges-library-filter-grid {
    margin-top: 0;
}

.admin-active-filter-strip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.9rem;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(26, 107, 107, 0.12);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.84);
}

.admin-active-filter-copy {
    display: grid;
    gap: 0.1rem;
}

.admin-active-filter-copy span,
.admin-active-filter-chip span {
    font-family: var(--mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-active-filter-copy strong {
    color: var(--ink);
    font-size: 0.9rem;
}

.admin-active-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

.admin-active-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.15rem;
    padding: 0.4rem 0.62rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(237, 247, 247, 0.86);
}

.admin-active-filter-chip strong {
    color: var(--ink);
    font-size: 0.82rem;
}

.admin-operational-list {
    display: grid;
    gap: 0.95rem;
}

.admin-operational-row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.7fr) minmax(220px, auto);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.05rem 1rem 1.2rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 5px solid rgba(26, 107, 107, 0.42);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.92));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-operational-row.needs-attention {
    border-left-color: rgba(201, 168, 76, 0.82);
}

.admin-operational-row.trust-verified {
    border-left-color: rgba(26, 107, 107, 0.72);
}

.admin-operational-row.trust-unverified {
    border-left-color: rgba(158, 65, 52, 0.7);
    background:
        radial-gradient(circle at top right, rgba(158, 65, 52, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 247, 244, 0.92));
}

.admin-operational-row.trust-needs-review {
    border-left-color: rgba(201, 168, 76, 0.86);
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 249, 241, 0.94));
}

.admin-operational-row.activation-success {
    border-left-color: rgba(26, 107, 107, 0.72);
}

.admin-operational-row.activation-ink {
    border-left-color: rgba(15, 23, 42, 0.24);
}

.admin-operational-row:hover,
.admin-operational-row:focus-within {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.admin-operational-main {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    min-width: 0;
}

.admin-operational-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-operational-main h3 {
    margin: 0;
}

.admin-operational-main p {
    margin: 0.25rem 0 0;
    color: var(--mid);
    line-height: 1.55;
}

.payment-next-step-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    margin-top: 0.85rem;
    padding: 0.78rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.82);
}

.payment-next-step-card.tone-warning {
    border-color: rgba(201, 168, 76, 0.26);
    background: rgba(252, 249, 241, 0.92);
}

.payment-next-step-card.tone-success {
    border-color: rgba(26, 107, 107, 0.18);
    background: rgba(236, 245, 244, 0.86);
}

.payment-next-step-card.tone-ink {
    background: rgba(15, 23, 42, 0.04);
}

.payment-next-step-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.payment-next-step-card.tone-warning .payment-next-step-icon {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

.payment-next-step-card.tone-ink .payment-next-step-icon {
    background: rgba(15, 23, 42, 0.08);
    color: var(--ink);
}

.payment-next-step-card span:not(.payment-next-step-icon) {
    font-family: var(--mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.payment-next-step-card strong {
    display: block;
    margin-top: 0.12rem;
    color: var(--ink);
}

.payment-next-step-card p {
    margin: 0.15rem 0 0;
    color: var(--mid);
    line-height: 1.5;
}

.certificate-trust-state-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.72rem;
    align-items: start;
    margin-top: 0.8rem;
    padding: 0.78rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.84);
}

.certificate-trust-state-card > span {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.certificate-trust-state-card.tone-warning {
    border-color: rgba(158, 65, 52, 0.18);
    background: rgba(252, 247, 244, 0.94);
}

.certificate-trust-state-card.tone-warning > span {
    background: rgba(158, 65, 52, 0.12);
    color: #9e4134;
}

.certificate-trust-state-card.tone-gold {
    border-color: rgba(201, 168, 76, 0.24);
    background: rgba(252, 249, 241, 0.94);
}

.certificate-trust-state-card.tone-gold > span {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

.certificate-trust-state-card strong {
    display: block;
    color: var(--ink);
}

.certificate-trust-state-card p {
    margin: 0.15rem 0 0;
    color: var(--mid);
    line-height: 1.5;
}

.certificate-queue-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 0.85rem;
    padding: 1.05rem 1.1rem 1rem 1.25rem;
}

.certificate-queue-row .admin-operational-main {
    align-items: flex-start;
}

.certificate-queue-copy {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.certificate-queue-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
}

.certificate-queue-heading > div {
    min-width: 0;
}

.certificate-queue-heading h3,
.certificate-queue-heading p {
    overflow-wrap: anywhere;
}

.certificate-queue-heading .pill {
    flex-shrink: 0;
}

.certificate-trust-note {
    display: grid;
    grid-template-columns: auto minmax(0, auto) minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
    max-width: 760px;
    padding: 0.68rem 0.78rem;
    border-radius: 14px;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background: rgba(236, 245, 244, 0.72);
}

.certificate-trust-note > span {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
}

.certificate-trust-note strong {
    color: var(--ink);
    font-size: 0.92rem;
}

.certificate-trust-note p {
    margin: 0;
    color: var(--mid);
    line-height: 1.45;
}

.certificate-trust-note.tone-warning {
    border-color: rgba(158, 65, 52, 0.2);
    background: rgba(252, 247, 244, 0.86);
}

.certificate-trust-note.tone-warning > span {
    background: rgba(158, 65, 52, 0.12);
    color: #9e4134;
}

.certificate-trust-note.tone-gold {
    border-color: rgba(201, 168, 76, 0.26);
    background: rgba(252, 249, 241, 0.88);
}

.certificate-trust-note.tone-gold > span {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

.admin-row-detail-disclosure.certificate-trust-note,
.admin-row-detail-disclosure.payment-next-step-card {
    grid-template-columns: 1fr;
    align-items: stretch;
    max-width: 760px;
}

.admin-row-detail-disclosure.certificate-trust-note > summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.admin-row-detail-disclosure.payment-next-step-card > summary {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
}

.admin-row-detail-disclosure.certificate-trust-note > summary > span {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
}

.admin-row-detail-disclosure.certificate-trust-note.tone-warning > summary > span {
    background: rgba(158, 65, 52, 0.12);
    color: #9e4134;
}

.admin-row-detail-disclosure.certificate-trust-note.tone-gold > summary > span {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

.certificate-queue-row .admin-operational-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.certificate-queue-row .admin-operational-meta > div {
    min-width: 160px;
    flex: 0 1 190px;
}

.certificate-queue-row .admin-operational-actions {
    justify-content: flex-start;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(15, 23, 42, 0.07);
}

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

.admin-operational-meta .pill {
    grid-column: 1 / -1;
    justify-self: start;
}

.admin-operational-meta > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: rgba(255, 255, 255, 0.82);
}

.admin-operational-meta span:not(.pill) {
    font-family: "Space Mono", monospace;
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-operational-meta strong {
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.25;
}

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

.admin-operational-actions .admin-inline-form {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.admin-operational-actions .button {
    min-width: 0;
}

.admin-review-signal-grid {
    display: grid;
    gap: 1rem;
}

.admin-review-signal-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.admin-review-signal-card:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(252, 249, 241, 0.9));
}

.admin-review-signal-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-review-signal-card.tone-gold .admin-review-signal-icon {
    background: rgba(198, 161, 74, 0.15);
    color: #9a7110;
}

.admin-review-signal-card.tone-ink .admin-review-signal-icon {
    background: rgba(18, 28, 49, 0.1);
    color: #17243f;
}

.admin-review-signal-card.tone-sage .admin-review-signal-icon {
    background: rgba(73, 125, 116, 0.12);
    color: #3f7067;
}

.admin-review-signal-copy {
    display: grid;
    gap: 0.3rem;
}

.admin-review-signal-copy strong {
    font-size: 1rem;
    line-height: 1.4;
}

.admin-review-signal-copy p,
.admin-review-signal-copy span {
    margin: 0;
    color: var(--mid);
    font-size: 0.84rem;
    line-height: 1.6;
}

.admin-button-stack {
    display: grid;
    gap: 0.75rem;
}

.admin-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-action-stack {
    display: grid;
    gap: 0.45rem;
}

.admin-directory-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.admin-directory-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.82);
    color: var(--teal);
    font-weight: 700;
    text-decoration: none;
}

.admin-directory-link:hover,
.admin-directory-link:focus-visible {
    color: var(--ink);
    border-color: rgba(26, 107, 107, 0.28);
}

.admin-stack-list li {
    display: grid;
    gap: 0.75rem;
}

.content-editor-form {
    display: grid;
    gap: 1.25rem;
}

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

.content-editor-field {
    display: grid;
    gap: 0.45rem;
    font-size: 0.86rem;
    color: var(--ink);
}

.content-editor-field span {
    font-weight: 700;
}

.stacked-input,
.content-editor-field input,
.content-editor-field textarea,
.content-editor-field select {
    width: 100%;
    padding: 0.85rem 0.95rem;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.96);
    color: var(--ink);
    font: inherit;
}

.stacked-input:focus,
.content-editor-field input:focus,
.content-editor-field textarea:focus,
.content-editor-field select:focus {
    outline: none;
    border-color: rgba(26, 107, 107, 0.45);
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.08);
}

@media (max-width: 1100px) {
    .admin-ops-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-report-grid,
    .admin-queue-grid,
    .admin-action-lane-grid,
    .admin-record-highlight-grid,
    .admin-bulk-policy-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-user-lanes-grid {
        grid-template-columns: 1fr;
    }

    .commercial-snapshot-grid,
    .commercial-lane-grid,
    .oversight-summary-grid,
    .commercial-course-row-stats,
    .commercial-settings-summary-grid,
    .commercial-settings-context-grid,
    .course-detail-health-grid,
    .oversight-course-row-stats,
    .oversight-commercial-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-course-search-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1100px) {
    .feature-grid,
    .card-grid,
    .benefit-grid,
    .testimonial-grid,
    .plan-grid,
    .plan-grid.four,
    .info-grid,
    .dashboard-stat-grid,
    .dashboard-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero-grid,
    .detail-grid,
    .contact-grid,
    .auth-grid,
    .lesson-layout,
    .catalog-learner-band,
    .student-pulse-grid,
    .tutor-pulse-grid,
    .school-pulse-grid,
    .admin-pulse-grid,
    .tutor-queue-grid,
    .tutor-management-metrics,
    .tutor-management-module-list,
    .tutor-focus-shell,
    .tutor-focus-grid,
    .school-focus-shell,
      .school-focus-grid,
      .school-support-grid,
      .learner-assessment-layout,
      .school-classroom-builder-grid,
      .school-package-request-builder-grid,
      .school-classroom-detail-grid,
      .school-classroom-distribution-grid,
      .admin-school-package-detail-grid,
    .school-learner-detail-grid,
    .admin-focus-shell,
    .admin-focus-grid,
    .content-editor-grid,
    .course-pathway-grid,
      .assessment-summary-grid,
      .assessment-settings-grid,
      .assessment-settings-toggle-grid,
      .lesson-support-grid,
      .admin-assignment-grid,
      .admin-manager-side-grid,
    .two-column,
    .utility-cta-panel,
    .pricing-flow-grid {
        grid-template-columns: 1fr;
    }

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

    .dashboard-grid .wide-panel {
        grid-column: auto;
    }

    .school-subscription-command-panel .school-focus-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .school-package-quote-panel {
        position: static;
    }

    .admin-package-review-panel {
        position: static;
    }

    .utility-card-grid,
    .contact-support-grid,
    .admin-ops-grid,
    .admin-report-grid,
    .admin-lane-grid,
    .admin-queue-grid,
    .admin-bulk-policy-grid,
    .website-content-support-grid {
        grid-template-columns: 1fr;
    }

    .admin-command-card-grid,
    .admin-command-panel .admin-lane-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-today-focus-strip {
        grid-template-columns: 1fr;
    }

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

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

    .admin-school-access-main-grid {
        grid-template-columns: 1fr;
    }

    .admin-review-signal-card {
        grid-template-columns: 1fr;
    }

    .admin-operational-row {
        grid-template-columns: 1fr;
    }

    .payment-next-step-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-active-filter-strip {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .admin-directory-search {
        grid-template-columns: 1fr;
    }

    .admin-directory-search-actions {
        justify-content: flex-start;
    }

    .admin-active-filter-strip .button {
        justify-self: start;
    }

    .payment-next-step-card .button {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .admin-operational-actions,
    .admin-operational-actions .admin-inline-form {
        justify-content: flex-start;
    }

    .tutor-access-filter-bar,
    .admin-linked-content-grid,
    .commercial-snapshot-grid,
    .oversight-summary-grid,
    .commercial-lane-metrics,
    .commercial-course-row-stats,
    .commercial-settings-summary-grid,
    .commercial-settings-context-grid,
    .curriculum-manager-grid,
    .course-detail-health-grid,
    .oversight-course-row-stats,
    .oversight-commercial-grid,
    .school-classroom-reporting-stats,
    .school-classroom-stats,
    .school-classroom-library-stats,
    .school-package-compare-row,
    .school-roster-control-body,
    .school-roster-control-shell,
    .tutor-monitor-row,
    .school-roster-stats,
    .school-package-request-meta,
    .school-bulk-action-fields {
        grid-template-columns: 1fr;
    }

    .contact-panel-head {
        flex-direction: column;
    }

    .school-roster-row,
    .school-package-request-row,
    .school-classroom-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .school-learner-identity {
        align-items: flex-start;
    }

    .school-classroom-row,
    .school-classroom-reporting-row {
        grid-template-columns: 1fr;
    }

    .school-classroom-library-grid {
        grid-template-columns: 1fr;
    }

    .school-classroom-actions {
        justify-content: flex-start;
    }

    .tutor-monitor-row .school-classroom-actions,
    .ges-learner-lane-row .school-classroom-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .tutor-workflow-row,
    .tutor-readiness-row {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ges-sticky-head-panel > .panel-head {
        position: static;
        margin-inline: 0;
        margin-top: 0;
        padding: 0 0 0.9rem;
        background: transparent;
        backdrop-filter: none;
    }

    .ges-progress-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tutor-readiness-stats {
        max-width: none;
    }

    .school-classroom-library-actions {
        justify-content: flex-start;
    }

    .school-classroom-switch-panel {
        position: static;
    }

    .tutor-monitor-priorities-panel {
        position: static;
    }

    .tutor-management-priorities-panel {
        position: static;
    }

    .tutor-submission-priorities-panel {
        position: static;
    }

    .tutor-submission-pressure-grid {
        grid-template-columns: 1fr;
    }

    .tutor-queue-disclosure > summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .tutor-queue-disclosure > summary small {
        justify-self: start;
    }

    .tutor-queue-course-row .tutor-dashboard-course-body {
        grid-template-columns: 1fr;
    }

    .tutor-monitor-row {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .tutor-dashboard-watch-stats,
    .tutor-dashboard-assessment-stats,
    .tutor-dashboard-submission-stats {
        flex-wrap: wrap;
    }

    .assessment-question-composer-topline {
        grid-template-columns: 1fr;
    }

    .assessment-builder-single-column {
        padding-right: 0;
    }

    .assessment-builder-save-status,
    .assessment-builder-readiness-head {
        grid-template-columns: 1fr;
        display: grid;
    }

    .assessment-inline-option-edit-grid {
        grid-template-columns: 1fr;
    }

    .assessment-choice-composer-row {
        grid-template-columns: 1fr;
    }

    .assessment-choice-composer-toggle {
        justify-content: flex-start;
    }

    .assessment-builder-empty-preset-row {
        grid-template-columns: 1fr;
    }

    .assessment-question-advanced-summary {
        flex-direction: column;
        align-items: flex-start;
    }

    .assessment-question-advanced-summary small {
        text-align: left;
    }

    .assessment-question-side-rail {
        display: none;
    }

    .assessment-builder-option-card {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .assessment-builder-option-state {
        grid-column: 2 / -1;
        justify-self: start;
        white-space: normal;
    }

    .tutor-monitor-identity-line {
        flex-wrap: wrap;
    }

    .school-classroom-roster-shell {
        grid-template-columns: 1fr;
    }

    .website-content-section-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .website-content-section-actions {
        justify-content: flex-start;
    }

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

      .assessment-settings-grid.compact {
          grid-template-columns: 1fr;
      }

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

@media (max-width: 960px) {
    .learner-assessment-mobile-console {
        display: grid;
        position: sticky;
        top: 0.85rem;
        z-index: 4;
        box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
        backdrop-filter: blur(12px);
    }

    .learner-assessment-mobile-console .button {
        width: 100%;
        justify-content: center;
    }

    .learner-assessment-rail {
        display: none;
    }

    .learner-assessment-followthrough-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .tutor-course-lessons-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .tutor-structure-tree-panel {
        position: static;
    }

    .course-detail-module-strip-panel .module-library-card-compact {
        grid-template-columns: 1fr;
    }

    .course-detail-module-strip-panel .module-library-stats {
        justify-content: flex-start;
    }

    .top-nav {
        padding: 1rem 0;
        flex-wrap: wrap;
    }

    .container {
        width: min(1200px, calc(100vw - 2rem));
    }

    .nav-links,
    .nav-auth {
        display: none;
    }

    .nav-links.open,
    .nav-auth.open {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        padding-top: 0.75rem;
    }

    .mobile-nav-toggle {
        display: inline-flex;
    }

    .nav-user-card {
        width: 100%;
        justify-content: flex-start;
    }

    .nav-user-menu {
        width: 100%;
    }

    .nav-user-dropdown {
        position: static;
        margin-top: 0.45rem;
        width: 100%;
        box-shadow: none;
    }

    .app-sidebar-toggle {
        display: inline-flex;
    }

    .hero-section,
    .page-hero,
    .section,
    .auth-section {
        padding-top: 6rem;
    }

    .hero-card {
        margin-left: 0;
    }

    .feature-grid,
    .card-grid,
    .benefit-grid,
    .testimonial-grid,
    .plan-grid,
    .plan-grid.four,
    .info-grid,
    .dashboard-stat-grid,
    .student-pulse-grid,
    .tutor-pulse-grid,
    .school-pulse-grid,
    .admin-command-card-grid,
    .admin-action-lane-grid,
    .admin-record-highlight-grid,
    .admin-pulse-grid,
    .curriculum-summary-grid,
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .oversight-summary-grid {
        grid-template-columns: 1fr;
    }

    .stat-grid.compact {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s;
    }

    .sidebar.open {
        transform: translateX(0);
        box-shadow: 0 22px 60px rgba(13, 13, 13, 0.25);
    }

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

    .app-shell.sidebar-collapsed .app-main {
        margin-left: 0;
    }

    .sidebar-brand-row {
        padding-right: 1rem;
    }

    .app-header,
    .dashboard-intro,
    .student-hero-band,
    .tutor-hero-band,
    .school-hero-band,
    .tutor-course-hero,
    .admin-hero-band,
    .assessment-result-band,
    .lesson-module-head,
    .curriculum-card-head,
    .student-course-top,
    .lesson-toolbar,
    .foot-btm {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        height: auto;
        padding: 1rem 1.5rem;
    }

    .catalog-learner-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .header-right {
        width: 100%;
        max-width: none;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
    }

    .app-header-meta {
        min-width: min(100%, 190px);
    }

    .student-hero-actions,
    .tutor-hero-actions,
    .school-hero-actions,
    .admin-hero-actions,
    .tutor-course-hero-actions {
        width: 100%;
        min-width: 0;
    }

    .admin-command-panel .admin-lane-grid {
        grid-template-columns: 1fr;
    }

    .admin-hero-actions {
        width: 100%;
        min-width: 0;
    }

    .student-hero-actions .button,
    .tutor-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .school-hero-actions .button,
    .tutor-course-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .admin-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .tutor-management-top,
    .tutor-management-status-row,
    .commercial-course-row-head,
    .course-detail-row-head,
    .admin-manager-relationship-row,
    .oversight-course-row-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-account-row {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .admin-account-row-meta {
        padding-left: 0;
    }

    .admin-account-row-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .commercial-course-row-status,
    .course-detail-row-status,
    .oversight-course-row-status {
        justify-content: flex-start;
    }

    .course-detail-assessment-row {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .course-detail-assessment-row .course-detail-row-copy p {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .course-module-page-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .course-module-builder-panel {
        position: static;
    }

    .course-detail-assessment-meta,
    .course-detail-assessment-actions {
        white-space: normal;
        flex-wrap: wrap;
    }

    .school-hero-actions {
        width: 100%;
        min-width: 0;
    }

    .school-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .admin-inline-form .button,
    .admin-action-stack .button {
        width: 100%;
        justify-content: center;
    }

    .admin-action-stack a {
        display: inline-flex;
        width: 100%;
        justify-content: center;
    }

    .data-table th,
    .data-table td {
        font-size: 0.82rem;
        white-space: nowrap;
    }

    .admin-hero-actions {
        width: 100%;
        min-width: 0;
    }

    .admin-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .notif-menu {
        width: 100%;
    }

    .notif-dropdown {
        position: static;
        width: 100%;
        margin-top: 0.5rem;
        box-shadow: none;
    }

    .student-hero-actions {
        width: 100%;
        min-width: 0;
    }

    .student-hero-actions .button {
        width: 100%;
        justify-content: center;
    }

    .app-content {
        padding: 1.5rem;
    }

    .lesson-side {
        display: none;
    }

    .course-hero-copy,
    .course-hero-card,
    .course-pathway-card,
    .curriculum-card,
    .lesson-player,
    .lesson-video-showcase,
    .learner-assessment-shell,
    .learner-assessment-main,
    .learner-assessment-form,
    .student-library-panel,
    .student-library-list,
    .student-library-item,
    .student-library-item-shell,
    .student-library-item-main,
    .student-profile-main,
    .student-profile-side,
    .classroom-entry-copy,
    .classroom-entry-card {
        min-width: 0;
    }

    .course-hero-copy .button-row,
    .dashboard-intro .button-row {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        gap: 0.7rem;
        overflow-x: auto;
        padding-bottom: 0.1rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .course-hero-copy .button-row::-webkit-scrollbar,
    .dashboard-intro .button-row::-webkit-scrollbar {
        display: none;
    }

    .course-hero-copy .button-row .button,
    .dashboard-intro .button-row .button {
        width: auto;
        min-width: max-content;
        flex: 0 0 auto;
        justify-content: center;
    }
}

@media (max-width: 700px) {
    .curriculum-summary-grid,
    .curriculum-manager-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .lesson-insight-grid {
        grid-template-columns: 1fr;
    }

    .lesson-video-showcase-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .lesson-journey-grid {
        grid-template-columns: 1fr;
    }

    .lesson-journey-actions {
        flex-direction: column;
    }

    .lesson-journey-actions .button {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .lesson-hero-meta,
    .student-library-item-kicker-row,
    .student-library-meta-inline {
        display: grid;
        gap: 0.45rem;
    }

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

    .student-context-stats,
    .student-pulse-grid-tight,
    .learner-assessment-pulse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .student-pulse-grid-tight .student-pulse-card p,
    .learner-assessment-pulse-grid .student-pulse-card p {
        display: none;
    }

    .learner-assessment-pulse-grid .student-pulse-card strong {
        font-size: 1.45rem;
    }

    .student-secondary-item,
    .student-secondary-meta,
    .learner-assessment-attempt-card,
    .learner-assessment-submit-card,
    .assessment-result-band {
        flex-direction: column;
        align-items: flex-start;
    }

    .student-library-action-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .student-library-action-row .button:only-child {
        grid-column: 1 / -1;
    }

    .student-library-action-row .button:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .course-hero-copy .button-row .button,
    .dashboard-intro .button-row .button {
        min-width: 152px;
    }
}

@media (max-width: 360px) {
    .student-context-stats,
    .student-pulse-grid-tight,
    .learner-assessment-pulse-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Template Fidelity Overrides ===== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.6rem;
    border-radius: 3px;
    font-size: 0.87rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border: none;
    transition: all 0.22s;
    cursor: pointer;
}

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

.btn-teal:hover {
    background: var(--teal-light);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(26, 107, 107, 0.3);
}

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

.btn-outline:hover {
    background: var(--ink);
    color: var(--cream);
}

.btn-gold {
    background: var(--gold);
    color: var(--ink);
}

.btn-gold:hover {
    background: var(--gold-light);
}

.btn-ghost {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    color: #fff;
}

.btn-ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #fff;
}

.btn-sm {
    padding: 0.45rem 1rem;
    font-size: 0.78rem;
}

.btn-icon {
    padding: 0.5rem;
    border-radius: 3px;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--mid);
}

.btn-icon:hover {
    background: var(--teal-pale);
    color: var(--teal);
    border-color: var(--teal);
}

.top-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 3rem;
    background: rgba(245, 240, 232, 0.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
}

.nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.nav-logo-mark {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid rgba(13, 13, 13, 0.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.nav-logo-mark img {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 88%;
    height: 88%;
    object-fit: contain;
    object-position: center center;
    display: block;
    transform: none;
}

.nav-logo-wordmark {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.nav-logo-wordmark strong {
    font-family: "Playfair Display", serif;
    font-size: 1.12rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1;
}

.nav-logo-wordmark strong span {
    color: var(--teal);
}

.nav-logo-wordmark small {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mid);
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-links a {
    font-size: 0.87rem;
    font-weight: 500;
    color: var(--mid);
    transition: color 0.2s;
}

.nav-links a:hover {
    color: var(--teal);
}

.nav-auth {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.btn i,
.nav-links i,
.feat-ico i,
.btn-white i,
.modal-close i,
.r-ico i {
    line-height: 1;
}

.btn span,
.btn-white span {
    display: inline-block;
}

.top-nav .nav-auth .btn {
    min-height: 40px;
    padding: 0.55rem 1.15rem;
    font-size: 0.82rem;
    line-height: 1;
}

.top-nav .nav-auth .btn-outline {
    border-width: 1.5px;
    background: transparent;
}

.top-nav .nav-auth .btn-teal {
    background: var(--teal);
    color: #fff;
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    backdrop-filter: blur(4px);
}

.modal-overlay.open {
    opacity: 1;
    pointer-events: auto;
}

.modal-box {
    background: var(--off-white);
    border-radius: 10px;
    width: 100%;
    max-width: 440px;
    padding: 2.2rem;
    position: relative;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(13, 13, 13, 0.08);
}

.modal-close {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(13, 13, 13, 0.1);
    background: #fff;
    color: var(--mid);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-close:hover {
    color: var(--ink);
    border-color: rgba(13, 13, 13, 0.2);
}

.modal-title {
    font-family: "Playfair Display", serif;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.modal-sub {
    font-size: 0.88rem;
    color: var(--mid);
    margin-bottom: 1.4rem;
}

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

.form-group label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
    color: var(--ink);
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--border);
    border-radius: 3px;
    font-size: 0.9rem;
    background: #fff;
    color: var(--ink);
    outline: none;
}

.form-group input:focus,
.form-group select:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(26, 107, 107, 0.12);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.modal-footer {
    margin-top: 1.3rem;
    font-size: 0.83rem;
    color: var(--mid);
    text-align: center;
}

.modal-footer a {
    color: var(--teal);
    font-weight: 600;
}

.role-select {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
    margin-bottom: 1.2rem;
}

.role-opt,
.role-option {
    border: 1.5px solid var(--border);
    border-radius: 4px;
    padding: 0.75rem 0.5rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
}

.role-opt:hover,
.role-opt.selected,
.role-option:hover,
.role-option.active {
    border-color: var(--teal);
    background: var(--teal-pale);
}

.role-opt .r-ico {
    font-size: 1.25rem;
    display: block;
    margin-bottom: 0.3rem;
    color: var(--teal);
}

.role-opt .r-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ink);
}

.toast {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    background: var(--ink);
    color: var(--cream);
    padding: 0.9rem 1.2rem;
    border-radius: 16px;
    font-size: 0.88rem;
    z-index: 1100;
    transform: translateY(80px);
    opacity: 0;
    max-width: min(360px, calc(100vw - 2rem));
    line-height: 1.45;
    pointer-events: none;
    transition: transform 0.28s ease, opacity 0.28s ease;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.toast.show {
    transform: translateY(0);
    opacity: 1;
}

.toast.success {
    border-left: 3px solid var(--sage);
}

.toast.info {
    border-left: 3px solid var(--teal-light);
}

.toast.warning {
    border-left: 3px solid var(--gold);
}

.toast.error {
    border-left: 3px solid #d45a4c;
}

.server-toast-payload {
    display: none !important;
}

@media (max-width: 700px) {
    .toast {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        max-width: none;
    }

    .app-shell.has-student-mobile-nav ~ .toast,
    body:has(.student-mobile-nav) .toast {
        bottom: calc(6.35rem + env(safe-area-inset-bottom, 0px));
    }
}

.hero {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 8rem 4rem 4rem;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 70% 50%, rgba(26, 107, 107, 0.07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 20% 80%, rgba(201, 168, 76, 0.09) 0%, transparent 60%);
}

.hero-text {
    position: relative;
    z-index: 2;
    animation: fadeUp 0.8s 0.2s ease both;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.eyebrow {
    font-family: "Space Mono", monospace;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--teal);
    text-transform: uppercase;
    margin-bottom: 1.4rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.eyebrow::before {
    content: "";
    width: 2rem;
    height: 2px;
    background: var(--teal);
    display: block;
}

.hero h1 {
    font-family: "Playfair Display", serif;
    font-size: clamp(2.6rem, 4.5vw, 4.2rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.4rem;
}

.hero h1 em {
    color: var(--teal);
    font-style: italic;
}

.hero h1 .acc {
    color: var(--gold);
}

.hero-desc {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--mid);
    max-width: 460px;
    margin-bottom: 2.2rem;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
}

.hero-stats {
    display: flex;
    gap: 2.5rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
}

.stat-n {
    font-family: "Playfair Display", serif;
    font-size: 1.9rem;
    font-weight: 700;
}

.stat-l {
    font-size: 0.78rem;
    color: var(--mid);
    margin-top: 0.15rem;
}

.hero-visual {
    animation: fadeUp 0.8s 0.4s ease both;
    position: relative;
    z-index: 2;
}

.demo-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08);
    max-width: 420px;
    margin-left: auto;
    position: relative;
}

.demo-back {
    position: absolute;
    top: -14px;
    right: -12px;
    width: 92%;
    height: 100%;
    background: var(--teal);
    border-radius: 8px;
    z-index: -1;
    opacity: 0.12;
}

.course-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    padding: 0.28rem 0.75rem;
    border-radius: 20px;
    font-size: 0.76rem;
    font-weight: 600;
    margin-bottom: 0.9rem;
}

.prog-wrap {
    margin: 0.9rem 0;
}

.prog-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.76rem;
    color: var(--mid);
    margin-bottom: 0.35rem;
}

.prog-bar {
    height: 6px;
    background: rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    overflow: hidden;
}

.prog-fill {
    height: 100%;
    background: var(--teal);
    border-radius: 3px;
}

.lesson-row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.42rem 0;
    font-size: 0.83rem;
    border-bottom: 1px solid var(--border);
}

.lesson-row:last-child {
    border: none;
}

.l-dot {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.l-dot.done {
    background: var(--sage);
    color: #fff;
}

.l-dot.now {
    background: var(--teal);
    color: #fff;
}

.l-dot.lock {
    background: rgba(0, 0, 0, 0.08);
    color: var(--mid);
}

section.ms {
    padding: 6rem 4rem;
}

.sec-head {
    margin-bottom: 3.5rem;
}

.sec-title {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.sec-sub {
    font-size: 1rem;
    color: var(--mid);
    line-height: 1.75;
    max-width: 500px;
}

.sec-dark {
    background: var(--ink);
    color: var(--cream);
}

.sec-dark .eyebrow {
    color: var(--gold);
}

.sec-dark .eyebrow::before {
    background: var(--gold);
}

.sec-dark .sec-title {
    color: var(--cream);
}

.sec-dark .sec-sub {
    color: rgba(245, 240, 232, 0.6);
}

.feat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5px;
    background: rgba(245, 240, 232, 0.1);
    border: 1.5px solid rgba(245, 240, 232, 0.1);
}

.feat-card {
    background: var(--ink);
    padding: 2.2rem 1.8rem;
    transition: background 0.3s;
}

.feat-card:hover {
    background: #1c1c1c;
}

.feat-ico {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    margin-bottom: 1.3rem;
}

.feat-card h3 {
    font-family: "Playfair Display", serif;
    font-size: 1.1rem;
    color: var(--cream);
    margin-bottom: 0.6rem;
}

.feat-card p {
    font-size: 0.87rem;
    line-height: 1.7;
    color: rgba(245, 240, 232, 0.58);
}

.feat-tag {
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
    opacity: 0.8;
    display: inline-block;
    margin-top: 0.9rem;
}

.courses-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

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

.courses-results-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.courses-results-copy {
    font-size: 0.84rem;
    color: var(--mid);
}

.courses-results-copy span {
    font-weight: 700;
    color: var(--ink);
}

.courses-results-note {
    max-width: 520px;
    text-align: right;
    font-size: 0.82rem;
    line-height: 1.6;
    color: var(--mid);
}

.role-focus-section {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 35%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(245, 240, 232, 0.8));
}

.role-focus-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

.role-focus-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.7rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.role-focus-top {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.role-focus-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-size: 1.15rem;
    flex-shrink: 0;
}

.role-focus-copy h3 {
    margin-bottom: 0.15rem;
}

.role-focus-eyebrow {
    display: inline-block;
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
    margin-bottom: 0.35rem;
}

.role-focus-card p {
    font-size: 0.88rem;
    line-height: 1.7;
    color: var(--mid);
    margin-bottom: 1rem;
}

.role-focus-list {
    list-style: none;
    display: grid;
    gap: 0.65rem;
}

.role-focus-list li {
    position: relative;
    padding-left: 1.35rem;
    font-size: 0.84rem;
    color: var(--ink);
    line-height: 1.6;
}

.role-focus-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62rem;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.12);
}

.motto-panel {
    background: linear-gradient(145deg, rgba(26, 107, 107, 0.08), rgba(201, 168, 76, 0.14));
}

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

.about-pillar-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.7rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.about-pillar-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.about-pillar-card h3 {
    margin-bottom: 0.55rem;
}

.about-pillar-card p {
    font-size: 0.88rem;
    line-height: 1.7;
    color: var(--mid);
}

.school-fit-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 240, 232, 0.88));
}

.school-fit-section .section-heading p {
    max-width: 520px;
}

.school-compare-table {
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.05);
}

.school-compare-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.school-compare-head {
    background: var(--ink);
    color: var(--cream);
}

.school-compare-head > div {
    padding: 1rem 1.25rem;
    font-family: "Space Mono", monospace;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.school-compare-head > div + div {
    border-left: 1px solid rgba(245, 240, 232, 0.08);
}

.school-compare-row + .school-compare-row {
    border-top: 1px solid var(--border);
}

.school-compare-cell {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 1.25rem;
}

.school-compare-cell + .school-compare-cell {
    border-left: 1px solid var(--border);
    background: rgba(26, 107, 107, 0.03);
}

.school-compare-cell p {
    font-size: 0.88rem;
    line-height: 1.7;
    color: var(--mid);
}

.school-compare-badge {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 168, 76, 0.16);
    color: #a07e20;
    flex-shrink: 0;
    margin-top: 0.05rem;
}

.success-badge {
    background: rgba(26, 107, 107, 0.12);
    color: var(--teal);
}

.trust-section {
    background:
        radial-gradient(circle at left top, rgba(201, 168, 76, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(245, 240, 232, 0.9), rgba(255, 255, 255, 0.92));
}

.trust-layout {
    display: grid;
    grid-template-columns: 1.15fr 1.85fr;
    gap: 1.5rem;
    align-items: start;
}

.trust-promise-card {
    background: var(--ink);
    color: var(--cream);
    border-radius: 10px;
    padding: 2rem;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.12);
}

.trust-promise-eyebrow {
    display: inline-block;
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 0.8rem;
}

.trust-promise-card h3 {
    color: var(--cream);
    font-size: 1.45rem;
    margin-bottom: 0.85rem;
}

.trust-promise-card p {
    color: rgba(245, 240, 232, 0.72);
    font-size: 0.9rem;
    line-height: 1.75;
    margin-bottom: 1.1rem;
}

.trust-promise-list {
    list-style: none;
    display: grid;
    gap: 0.8rem;
}

.trust-promise-list li {
    position: relative;
    padding-left: 1.45rem;
    color: rgba(245, 240, 232, 0.88);
    font-size: 0.84rem;
    line-height: 1.65;
}

.trust-promise-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.58rem;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--gold-light);
}

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

.trust-signal-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.65rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.trust-signal-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.trust-signal-card h3 {
    margin-bottom: 0.55rem;
}

.trust-signal-card p {
    font-size: 0.87rem;
    line-height: 1.7;
    color: var(--mid);
}

.home-mobile-lab-section {
    background:
        radial-gradient(circle at top left, rgba(201, 168, 76, 0.12), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 240, 232, 0.96));
}

.home-mobile-lab-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 2rem;
    align-items: stretch;
}

.home-mobile-lab-copy .sec-sub {
    max-width: 54ch;
}

.home-mobile-lab-list {
    list-style: none;
    display: grid;
    gap: 0.85rem;
    margin: 1.5rem 0 2rem;
}

.home-mobile-lab-list li {
    position: relative;
    padding-left: 1.5rem;
    color: var(--mid);
    line-height: 1.7;
}

.home-mobile-lab-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62rem;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--gold);
}

.home-mobile-lab-panel {
    background: linear-gradient(160deg, rgba(12, 45, 103, 0.98), rgba(18, 67, 141, 0.98));
    color: var(--cream);
    border-radius: 16px;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 55px rgba(12, 45, 103, 0.18);
}

.home-mobile-lab-panel-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--gold-light);
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.home-mobile-lab-panel h3 {
    color: var(--cream);
    font-size: 1.35rem;
    line-height: 1.35;
    margin-bottom: 1.2rem;
}

.home-mobile-lab-stats {
    display: grid;
    gap: 1rem;
}

.home-mobile-lab-stat {
    padding: 1rem 1.1rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.home-mobile-lab-stat span {
    display: block;
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(245, 240, 232, 0.62);
    margin-bottom: 0.45rem;
}

.home-mobile-lab-stat strong {
    display: block;
    color: var(--cream);
    line-height: 1.55;
}

.c-card {
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--card);
    transition: transform 0.25s, box-shadow 0.25s;
}

.c-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.09);
}

.c-thumb {
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-family: "Space Mono", monospace;
    letter-spacing: 0.08em;
    position: relative;
}

.c-thumb.sci {
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.15), rgba(46, 158, 158, 0.3));
}

.c-thumb.math {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.15), rgba(232, 201, 122, 0.3));
}

.c-thumb.prac {
    background: linear-gradient(135deg, rgba(192, 94, 58, 0.15), rgba(216, 122, 90, 0.3));
}

.c-thumb.exam {
    background: linear-gradient(135deg, rgba(122, 173, 138, 0.14), rgba(201, 168, 76, 0.22));
}

.c-badge {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    background: rgba(0, 0, 0, 0.08);
    color: var(--mid);
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    padding: 0.22rem 0.55rem;
    border-radius: 2px;
}

.c-badge.free {
    background: rgba(122, 173, 138, 0.2);
    color: var(--sage);
}

.c-body {
    padding: 1.4rem;
}

.public-course-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.55rem;
}

.public-course-path {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mid);
}

.c-tag {
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--teal);
    margin-bottom: 0.5rem;
    display: block;
}

.c-body h3 {
    font-family: "Playfair Display", serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.c-body p {
    font-size: 0.83rem;
    color: var(--mid);
    line-height: 1.6;
    margin-bottom: 1.1rem;
}

.public-course-card h3 {
    min-height: 2.5em;
}

.public-course-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
    margin-bottom: 1.1rem;
}

.public-course-meta dt {
    font-family: "Space Mono", monospace;
    font-size: 0.64rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--teal);
    margin-bottom: 0.18rem;
}

.public-course-meta dd {
    margin: 0;
    font-size: 0.82rem;
    color: var(--mid);
    line-height: 1.45;
}

.public-course-footer {
    margin-top: auto;
}

.courses-empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    border: 1px dashed rgba(13, 13, 13, 0.18);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.78);
    margin-top: 1.5rem;
}

.courses-empty-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 1rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-size: 1.1rem;
}

.courses-empty-state h3 {
    margin-bottom: 0.45rem;
}

.courses-empty-state p {
    max-width: 420px;
    margin: 0 auto 1.1rem;
    color: var(--mid);
    font-size: 0.88rem;
    line-height: 1.65;
}

.c-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--border);
}

.c-price {
    font-family: "Playfair Display", serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--teal);
}

.c-price small {
    font-family: "DM Sans", sans-serif;
    font-size: 0.73rem;
    color: var(--mid);
    font-weight: 400;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
}

.p-card {
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 2.2rem 1.8rem;
    background: var(--card);
    transition: all 0.25s;
}

.p-card:hover {
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.09);
    transform: translateY(-3px);
}

.p-card.feat {
    background: var(--teal);
    color: #fff;
    border-color: var(--teal);
    transform: scale(1.02);
}

.p-card.feat:hover {
    transform: scale(1.02) translateY(-3px);
}

.p-tag {
    font-family: "Space Mono", monospace;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    display: block;
    margin-bottom: 0.6rem;
}

.p-card.feat .p-tag {
    color: var(--gold-light);
}

.p-name {
    font-family: "Playfair Display", serif;
    font-size: 1.4rem;
    font-weight: 700;
}

.p-amt {
    font-family: "Playfair Display", serif;
    font-size: 2.6rem;
    font-weight: 900;
    margin: 0.9rem 0;
    line-height: 1;
}

.p-amt small {
    font-family: "DM Sans", sans-serif;
    font-size: 0.85rem;
    font-weight: 400;
    opacity: 0.7;
}

.p-desc {
    font-size: 0.87rem;
    opacity: 0.75;
    margin-bottom: 1.4rem;
    line-height: 1.6;
}

.p-list {
    list-style: none;
    margin-bottom: 1.8rem;
}

.p-list li {
    font-size: 0.84rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.p-card.feat .p-list li {
    border-color: rgba(255, 255, 255, 0.15);
}

.p-list li::before {
    content: "\2713";
    color: var(--sage);
    font-weight: 700;
    flex-shrink: 0;
}

.p-card.feat .p-list li::before {
    color: var(--gold-light);
}

.btn-plan {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.85rem;
    border-radius: 3px;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border: 1.5px solid var(--teal);
    color: var(--teal);
    background: transparent;
    transition: all 0.25s;
    cursor: pointer;
}

.btn-plan:hover {
    background: var(--teal);
    color: #fff;
}

.p-card.feat .btn-plan {
    background: #fff;
    color: var(--teal);
    border-color: #fff;
}

.p-card.feat .btn-plan:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
    color: var(--ink);
}

.landing-page main {
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 30rem),
        linear-gradient(180deg, var(--off-white), rgba(245, 240, 232, 0.72));
}

.landing-hero,
.landing-section {
    position: relative;
    padding-inline: clamp(1.25rem, 4vw, 4rem);
}

.landing-hero {
    min-height: min(860px, 100vh);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.88fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    padding-top: clamp(7rem, 11vw, 9rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
    overflow: hidden;
}

.landing-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(4px);
    pointer-events: none;
    animation: landingFloat 9s ease-in-out infinite;
}

.landing-orb-teal {
    width: clamp(14rem, 30vw, 26rem);
    height: clamp(14rem, 30vw, 26rem);
    right: 5vw;
    top: 7rem;
    background: rgba(26, 107, 107, 0.1);
}

.landing-orb-gold {
    width: clamp(10rem, 22vw, 18rem);
    height: clamp(10rem, 22vw, 18rem);
    left: 8vw;
    bottom: 4rem;
    background: rgba(201, 168, 76, 0.12);
    animation-delay: -3s;
}

@keyframes landingFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(0, -16px, 0) scale(1.04);
    }
}

.landing-hero-copy,
.landing-hero-visual,
.landing-section > * {
    position: relative;
    z-index: 1;
}

.landing-hero h1 {
    max-width: 760px;
    font-size: clamp(2.65rem, 5.6vw, 5rem);
    line-height: 1;
    margin-bottom: 1.35rem;
}

.landing-hero h1 em {
    color: var(--teal);
    font-style: italic;
}

.landing-hero h1 span {
    color: var(--gold);
}

.landing-hero-lead {
    max-width: 620px;
    color: var(--mid);
    font-size: clamp(1rem, 1.55vw, 1.18rem);
    line-height: 1.75;
    margin-bottom: 1.75rem;
}

.landing-action-row,
.landing-school-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
}

.landing-hero-visual {
    min-height: 440px;
}

.landing-preview-card {
    max-width: 470px;
    margin-left: auto;
    padding: clamp(1.35rem, 3vw, 2rem);
    border-radius: 28px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.18), transparent 38%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 70px rgba(13, 13, 13, 0.12);
}

.landing-preview-card h2 {
    margin: 1rem 0 0.55rem;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
}

.landing-preview-card p {
    color: var(--mid);
    line-height: 1.65;
}

.landing-progress-track {
    height: 10px;
    margin: 1.4rem 0;
    border-radius: 999px;
    background: rgba(13, 13, 13, 0.08);
    overflow: hidden;
}

.landing-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--teal), var(--teal-light));
}

.landing-preview-list {
    display: grid;
    gap: 0.75rem;
}

.landing-preview-list div {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    background: rgba(245, 240, 232, 0.75);
    color: var(--ink);
}

.landing-preview-list i {
    color: var(--teal);
}

.landing-floating-card {
    position: absolute;
    display: grid;
    gap: 0.22rem;
    min-width: 170px;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 44px rgba(13, 13, 13, 0.1);
    animation: landingFloat 7.5s ease-in-out infinite;
}

.landing-floating-card i {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-floating-card strong {
    color: var(--ink);
}

.landing-floating-card span {
    color: var(--mid);
    font-size: 0.82rem;
    line-height: 1.45;
}

.landing-floating-card-one {
    left: 0;
    top: 9%;
}

.landing-floating-card-two {
    right: 0.5rem;
    bottom: 5%;
    animation-delay: -2.6s;
}

.landing-section {
    padding-top: clamp(3.5rem, 7vw, 6rem);
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.landing-section-head {
    display: grid;
    gap: 0.35rem;
    max-width: 760px;
    margin-bottom: clamp(1.5rem, 3vw, 2.6rem);
}

.landing-section-head h2,
.landing-proof-copy h2,
.landing-school-card h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.06;
}

.landing-section-head p:not(.eyebrow),
.landing-proof-copy p,
.landing-school-card p {
    max-width: 620px;
    color: var(--mid);
    line-height: 1.72;
}

.landing-path-section,
.landing-pricing-preview {
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.07), transparent 34%),
        rgba(255, 255, 255, 0.44);
}

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

.landing-path-card,
.landing-feature-card,
.landing-price-card,
.landing-proof-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 42px rgba(13, 13, 13, 0.055);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.landing-path-card:hover,
.landing-path-card:focus-visible,
.landing-feature-card:hover,
.landing-price-card:hover,
.landing-proof-card:hover {
    transform: translateY(-4px);
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.09);
}

.landing-path-card {
    display: grid;
    gap: 0.8rem;
    min-height: 245px;
    padding: 1.2rem;
    border-radius: 24px;
    color: var(--ink);
}

.landing-path-icon,
.landing-feature-icon,
.landing-proof-card span {
    width: 3rem;
    height: 3rem;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-path-card strong {
    font-family: "Playfair Display", serif;
    font-size: 1.3rem;
}

.landing-path-card p,
.landing-feature-card p,
.landing-price-card p,
.landing-proof-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.62;
    font-size: 0.92rem;
}

.landing-path-cta {
    margin-top: auto;
    color: var(--teal);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.landing-feature-section,
.landing-proof-section {
    background: var(--ink);
    color: var(--cream);
}

.landing-feature-section .eyebrow,
.landing-proof-section .eyebrow {
    color: var(--gold-light);
}

.landing-feature-section .eyebrow::before,
.landing-proof-section .eyebrow::before {
    background: var(--gold-light);
}

.landing-feature-section .landing-section-head p,
.landing-proof-copy p {
    color: rgba(245, 240, 232, 0.66);
}

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

.landing-feature-card {
    display: grid;
    gap: 0.75rem;
    min-height: 260px;
    padding: 1.25rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.1), transparent 35%),
        rgba(245, 240, 232, 0.055);
    border-color: rgba(245, 240, 232, 0.1);
    box-shadow: none;
}

.landing-feature-card h3,
.landing-proof-card strong {
    color: var(--cream);
}

.landing-feature-card p,
.landing-proof-card p {
    color: rgba(245, 240, 232, 0.66);
}

.landing-feature-icon,
.landing-proof-card span {
    background: rgba(232, 201, 122, 0.14);
    color: var(--gold-light);
}

.landing-courses-section {
    background: linear-gradient(180deg, rgba(245, 240, 232, 0.9), rgba(255, 255, 255, 0.86));
}

.landing-course-grid {
    align-items: stretch;
}

.landing-course-grid > .landing-reveal {
    min-width: 0;
}

.landing-center-action {
    display: flex;
    justify-content: center;
    margin-top: 1.6rem;
}

.landing-school-strip {
    padding-top: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.landing-school-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.26), transparent 34%),
        linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(9, 51, 68, 0.96));
    color: #fff;
    box-shadow: 0 24px 64px rgba(26, 107, 107, 0.18);
}

.landing-school-card .eyebrow,
.landing-school-card h2,
.landing-school-card p {
    color: #fff;
}

.landing-school-card p {
    color: rgba(255, 255, 255, 0.78);
}

.landing-school-card .btn-outline {
    border-color: rgba(255, 255, 255, 0.58);
    color: #fff;
}

.landing-school-card .btn-outline:hover {
    background: #fff;
    color: var(--teal);
}

.landing-school-actions {
    justify-content: flex-end;
}

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

.landing-price-card {
    display: grid;
    gap: 0.72rem;
    padding: 1.35rem;
    border-radius: 24px;
}

.landing-price-card > span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.landing-price-card h3 {
    font-size: 1.45rem;
    margin: 0;
}

.landing-price-card strong {
    font-family: "Playfair Display", serif;
    font-size: 2.25rem;
    line-height: 1;
}

.landing-price-card strong small {
    font-family: "DM Sans", sans-serif;
    font-size: 0.85rem;
    color: var(--mid);
    font-weight: 500;
}

.landing-price-card .btn-plan {
    margin-top: auto;
}

.landing-price-card.is-featured {
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.2), transparent 36%),
        var(--teal);
    color: #fff;
    border-color: rgba(26, 107, 107, 0.2);
}

.landing-price-card.is-featured > span,
.landing-price-card.is-featured p,
.landing-price-card.is-featured strong small {
    color: rgba(255, 255, 255, 0.76);
}

.landing-price-card.is-featured .btn-plan {
    background: #fff;
    border-color: #fff;
    color: var(--teal);
}

.landing-proof-section {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 1.5rem;
    align-items: start;
}

.landing-proof-grid {
    display: grid;
    gap: 1rem;
}

.landing-proof-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.35rem 0.85rem;
    align-items: start;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(245, 240, 232, 0.055);
    border-color: rgba(245, 240, 232, 0.1);
    box-shadow: none;
}

.landing-proof-card span {
    grid-row: span 2;
}

.landing-catalog-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.5fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: end;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.5rem, 6vw, 4rem);
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.1), transparent 34rem),
        linear-gradient(180deg, rgba(245, 240, 232, 0.92), rgba(255, 255, 255, 0.72));
}

.landing-catalog-copy,
.landing-catalog-summary {
    position: relative;
    z-index: 1;
}

.landing-catalog-copy h1 {
    max-width: 860px;
    font-size: clamp(2.45rem, 5.2vw, 4.75rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-catalog-copy p:not(.eyebrow) {
    max-width: 670px;
    color: var(--mid);
    line-height: 1.74;
    margin-bottom: 1.5rem;
}

.landing-catalog-summary {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 24px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 48px rgba(13, 13, 13, 0.08);
}

.landing-catalog-summary h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    line-height: 1.18;
}

.landing-catalog-mini-grid {
    display: grid;
    gap: 0.65rem;
}

.landing-catalog-mini-grid div {
    display: grid;
    gap: 0.2rem;
    padding: 0.78rem 0.85rem;
    border-radius: 14px;
    background: rgba(245, 240, 232, 0.76);
}

.landing-catalog-mini-grid span {
    font-family: "Space Mono", monospace;
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.landing-catalog-mini-grid strong {
    font-size: 0.95rem;
    color: var(--ink);
}

.landing-catalog-section {
    padding-top: clamp(2rem, 5vw, 4rem);
}

.landing-catalog-shell {
    display: grid;
    gap: 1.2rem;
}

.landing-course-filter {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.12), transparent 34%),
        rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 44px rgba(13, 13, 13, 0.055);
}

.landing-course-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.8rem;
    min-height: 56px;
    padding: 0 1rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: #fff;
}

.landing-course-search i {
    color: var(--teal);
}

.landing-course-search input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    color: var(--ink);
    font: inherit;
}

.landing-filter-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.landing-course-filter .filter-pill-button,
.landing-course-filter .access-tab-button {
    min-height: 40px;
}

.landing-access-filter {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(13, 13, 13, 0.08);
}

.landing-catalog-section .courses-results-head {
    margin: 0;
    padding: 0.35rem 0;
}

.landing-catalog-section .courses-results-copy {
    font-size: 0.92rem;
}

.landing-catalog-grid {
    gap: 1rem;
}

.landing-catalog-grid > .landing-reveal {
    min-width: 0;
}

.landing-catalog-grid .c-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(13, 13, 13, 0.055);
}

.landing-catalog-grid .c-thumb {
    height: 118px;
    font-size: 1.45rem;
}

.landing-catalog-grid .c-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.1rem;
}

.landing-catalog-grid .public-course-card h3 {
    min-height: 0;
}

.landing-catalog-grid .c-body p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 0.9rem;
}

.landing-catalog-grid .public-course-meta {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    margin-bottom: 0.9rem;
}

.landing-catalog-grid .public-course-meta div:nth-child(n + 3) {
    display: none;
}

.landing-catalog-grid .public-course-footer {
    margin-top: auto;
}

.landing-catalog-grid .public-course-footer .btn {
    white-space: nowrap;
}

.landing-detail-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.44fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: end;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.5rem, 6vw, 4rem);
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.12), transparent 32rem),
        linear-gradient(180deg, rgba(245, 240, 232, 0.94), rgba(255, 255, 255, 0.76));
}

.landing-detail-copy,
.landing-detail-card {
    position: relative;
    z-index: 1;
}

.landing-detail-copy h1 {
    max-width: 860px;
    font-size: clamp(2.45rem, 5.2vw, 4.75rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-detail-copy p:not(.eyebrow) {
    max-width: 700px;
    color: var(--mid);
    line-height: 1.74;
    margin-bottom: 1.5rem;
}

.landing-detail-card,
.landing-detail-overview,
.landing-detail-next,
.landing-module-card,
.landing-assessment-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 44px rgba(13, 13, 13, 0.055);
}

.landing-detail-card {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 24px;
}

.landing-detail-card h2 {
    margin: 0;
    font-size: 1.55rem;
}

.landing-detail-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.landing-detail-meta div {
    display: grid;
    gap: 0.22rem;
    padding: 0.82rem 0.88rem;
    border-radius: 16px;
    background: rgba(245, 240, 232, 0.74);
}

.landing-detail-meta span,
.landing-module-head span,
.landing-detail-benefits span + strong {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.landing-detail-meta strong {
    color: var(--ink);
    line-height: 1.35;
}

.landing-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    gap: 1rem;
    align-items: stretch;
}

.landing-detail-overview,
.landing-detail-next,
.landing-module-card {
    border-radius: 24px;
    padding: clamp(1.2rem, 2.4vw, 1.65rem);
}

.landing-detail-overview h2,
.landing-detail-next h2,
.landing-assessment-card h2 {
    font-size: clamp(1.75rem, 3.4vw, 2.7rem);
    line-height: 1.08;
}

.landing-detail-overview > p,
.landing-detail-next p,
.landing-assessment-card p {
    color: var(--mid);
    line-height: 1.7;
}

.landing-detail-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.2rem;
}

.landing-detail-benefits div {
    display: grid;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(245, 240, 232, 0.72);
}

.landing-detail-benefits span {
    width: 2.7rem;
    height: 2.7rem;
    display: inline-grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-detail-benefits strong {
    color: var(--ink);
}

.landing-detail-benefits p {
    margin: 0;
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.9rem;
}

.landing-detail-next {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(232, 244, 244, 0.82));
}

.landing-detail-next .btn {
    margin-top: auto;
    justify-content: center;
}

.landing-lesson-preview-section {
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(245, 240, 232, 0.86);
}

.landing-lesson-preview-list {
    display: grid;
    gap: 1rem;
}

.landing-module-card {
    display: grid;
    gap: 1rem;
}

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

.landing-module-head h3 {
    margin: 0.2rem 0 0;
    font-size: 1.45rem;
}

.landing-lesson-list {
    display: grid;
    gap: 0.65rem;
}

.landing-lesson-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.82rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(255, 255, 255, 0.78);
    color: var(--ink);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.landing-lesson-row:hover,
.landing-lesson-row:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.22);
    box-shadow: 0 14px 30px rgba(13, 13, 13, 0.06);
}

.landing-lesson-number {
    width: 2.2rem;
    height: 2.2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    font-weight: 800;
}

.landing-lesson-row strong {
    display: block;
    overflow-wrap: anywhere;
}

.landing-lesson-row small {
    display: block;
    color: var(--mid);
    margin-top: 0.12rem;
}

.landing-lesson-row > i {
    color: var(--teal);
}

.landing-assessment-strip {
    padding-top: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.landing-assessment-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.24), transparent 34%),
        linear-gradient(135deg, rgba(9, 51, 68, 0.98), rgba(26, 107, 107, 0.95));
    color: #fff;
    box-shadow: 0 24px 64px rgba(26, 107, 107, 0.18);
}

.landing-assessment-card .eyebrow,
.landing-assessment-card h2,
.landing-assessment-card p {
    color: #fff;
}

.landing-assessment-card p {
    color: rgba(255, 255, 255, 0.78);
}

.landing-assessment-card .btn-outline {
    border-color: rgba(255, 255, 255, 0.58);
    color: #fff;
}

.landing-assessment-card .btn-outline:hover {
    background: #fff;
    color: var(--teal);
}

.landing-pricing-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.44fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: stretch;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.75rem, 6vw, 5rem);
    overflow: hidden;
}

.landing-pricing-copy,
.landing-pricing-choice-card {
    position: relative;
    z-index: 1;
}

.landing-pricing-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.landing-pricing-copy h1 {
    max-width: 860px;
    font-size: clamp(2.45rem, 5.1vw, 4.7rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-pricing-copy > p:not(.eyebrow) {
    max-width: 680px;
    color: var(--mid);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.76;
    margin-bottom: 1.6rem;
}

.landing-pricing-choice-card,
.landing-pricing-card,
.landing-school-pricing-card,
.landing-compare-panel,
.landing-faq-item {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.08);
}

.landing-pricing-choice-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1.25rem, 2.6vw, 1.8rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.22), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-pricing-choice-card h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    line-height: 1.14;
}

.landing-choice-list {
    display: grid;
    gap: 0.75rem;
}

.landing-choice-list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: center;
    padding: 0.9rem;
    border: 1px solid rgba(13, 13, 13, 0.07);
    border-radius: 18px;
    background: rgba(245, 240, 232, 0.72);
    color: var(--ink);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.landing-choice-list a:hover,
.landing-choice-list a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 14px 30px rgba(13, 13, 13, 0.07);
}

.landing-choice-list i,
.landing-pricing-icon,
.landing-school-pricing-points i {
    display: inline-grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-choice-list small {
    display: block;
    margin-top: 0.14rem;
    color: var(--mid);
}

.landing-pricing-plans {
    padding-top: clamp(2.75rem, 6vw, 4.75rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.75rem);
}

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

.landing-pricing-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: clamp(1.1rem, 2vw, 1.35rem);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 35%),
        rgba(255, 255, 255, 0.9);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.landing-pricing-card:hover {
    transform: translateY(-4px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 28px 68px rgba(13, 13, 13, 0.11);
}

.landing-pricing-card.is-featured {
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.24), transparent 38%),
        linear-gradient(145deg, rgba(9, 51, 68, 0.98), rgba(26, 107, 107, 0.96));
    color: #fff;
}

.landing-pricing-card.is-featured h3,
.landing-pricing-card.is-featured p,
.landing-pricing-card.is-featured .landing-pricing-price strong,
.landing-pricing-card.is-featured .landing-pricing-price span,
.landing-pricing-card.is-featured .landing-pricing-features li {
    color: #fff;
}

.landing-pricing-card.is-featured .pill,
.landing-pricing-card.is-featured .landing-pricing-icon {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.landing-pricing-card.is-featured .btn.primary {
    background: #fff;
    border-color: #fff;
    color: var(--teal);
}

.landing-pricing-top {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: center;
}

.landing-pricing-card h3 {
    margin: 0;
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    line-height: 1.12;
}

.landing-pricing-card > p {
    color: var(--mid);
    line-height: 1.58;
    margin: 0;
}

.landing-pricing-price {
    display: grid;
    gap: 0.15rem;
    padding: 0.95rem 0;
    border-top: 1px solid rgba(13, 13, 13, 0.08);
    border-bottom: 1px solid rgba(13, 13, 13, 0.08);
}

.landing-pricing-card.is-featured .landing-pricing-price {
    border-color: rgba(255, 255, 255, 0.18);
}

.landing-pricing-price strong {
    color: var(--ink);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1;
}

.landing-pricing-price span {
    color: var(--mid);
    font-size: 0.86rem;
}

.landing-pricing-features {
    display: grid;
    gap: 0.68rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.landing-pricing-features li {
    display: flex;
    gap: 0.6rem;
    color: var(--mid);
    line-height: 1.45;
}

.landing-pricing-features i {
    color: var(--teal);
    margin-top: 0.2rem;
}

.landing-pricing-card.is-featured .landing-pricing-features i {
    color: var(--gold-light);
}

.landing-pricing-actions {
    margin-top: auto;
}

.landing-pricing-actions .btn {
    width: 100%;
    justify-content: center;
}

.landing-school-pricing-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.42);
}

.landing-school-pricing-card {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1fr);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.2), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(232, 244, 244, 0.78));
}

.landing-school-pricing-copy h2 {
    margin: 0 0 0.8rem;
    font-size: clamp(2rem, 4.4vw, 3.45rem);
    line-height: 1.02;
}

.landing-school-pricing-copy > p:not(.eyebrow) {
    color: var(--mid);
    line-height: 1.72;
    margin-bottom: 1.25rem;
}

.landing-school-pricing-points {
    display: grid;
    gap: 0.85rem;
}

.landing-school-pricing-points article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.4rem 0.82rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(255, 255, 255, 0.72);
}

.landing-school-pricing-points i {
    grid-row: span 2;
}

.landing-school-pricing-points strong {
    color: var(--ink);
}

.landing-school-pricing-points span {
    color: var(--mid);
    line-height: 1.55;
}

.landing-compare-section {
    padding-top: clamp(2.5rem, 5vw, 3.75rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.landing-compare-panel {
    border-radius: 26px;
    overflow: hidden;
}

.landing-compare-panel summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem clamp(1.15rem, 2.5vw, 1.65rem);
    cursor: pointer;
    list-style: none;
}

.landing-compare-panel summary::-webkit-details-marker {
    display: none;
}

.landing-compare-panel summary small {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.landing-compare-panel summary strong {
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
}

.landing-compare-panel summary i {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    transition: transform 0.22s ease;
}

.landing-compare-panel[open] summary i {
    transform: rotate(45deg);
}

.landing-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    padding: 0 clamp(1rem, 2.5vw, 1.65rem) clamp(1rem, 2.5vw, 1.65rem);
}

.landing-compare-card {
    padding: 1rem;
    border: 1px solid rgba(13, 13, 13, 0.07);
    border-radius: 18px;
    background: rgba(245, 240, 232, 0.66);
}

.landing-compare-card h3 {
    margin: 0 0 0.8rem;
    font-size: 1rem;
}

.landing-compare-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.landing-compare-values span {
    display: grid;
    gap: 0.2rem;
    padding: 0.7rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--mid);
    font-size: 0.76rem;
}

.landing-compare-values strong {
    color: var(--ink);
    font-size: 0.86rem;
    line-height: 1.35;
}

.landing-compare-values .is-partial {
    color: var(--rust);
}

.landing-compare-values .is-muted {
    color: var(--mid);
}

.landing-pricing-faq-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(3rem, 7vw, 5rem);
    background:
        radial-gradient(circle at bottom right, rgba(232, 201, 122, 0.14), transparent 36%),
        rgba(245, 240, 232, 0.72);
}

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

.landing-faq-item {
    padding: 1.05rem 1.15rem;
    border-radius: 20px;
}

.landing-faq-item summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
    color: var(--ink);
    font-weight: 800;
    list-style: none;
}

.landing-faq-item summary::-webkit-details-marker {
    display: none;
}

.landing-faq-item summary i {
    color: var(--teal);
    transition: transform 0.22s ease;
}

.landing-faq-item[open] summary i {
    transform: rotate(45deg);
}

.landing-faq-item p {
    margin: 0.9rem 0 0;
    color: var(--mid);
    line-height: 1.68;
}

.landing-about-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: stretch;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.75rem, 6vw, 5rem);
    overflow: hidden;
}

.landing-about-copy,
.landing-about-story-card {
    position: relative;
    z-index: 1;
}

.landing-about-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.landing-about-copy h1 {
    max-width: 920px;
    font-size: clamp(2.45rem, 5.2vw, 4.75rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-about-copy > p:not(.eyebrow) {
    max-width: 710px;
    color: var(--mid);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.76;
    margin-bottom: 1.6rem;
}

.landing-about-story-card,
.landing-about-purpose-card,
.landing-about-mini-card,
.landing-about-pillar-card,
.landing-about-audience-card,
.landing-about-school-card,
.landing-about-cta-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.08);
}

.landing-about-story-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1.25rem, 2.6vw, 1.8rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.22), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-about-story-card h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.04;
}

.landing-about-story-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.landing-about-proof {
    display: grid;
    gap: 0.65rem;
}

.landing-about-proof span {
    display: grid;
    gap: 0.12rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(13, 13, 13, 0.07);
    border-radius: 16px;
    background: rgba(245, 240, 232, 0.72);
}

.landing-about-proof small {
    color: var(--mid);
}

.landing-about-purpose {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1fr);
    gap: 1rem;
    padding-top: clamp(2.75rem, 6vw, 4.75rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.75rem);
}

.landing-about-purpose-card,
.landing-about-mini-card {
    border-radius: 24px;
    padding: clamp(1.2rem, 2.6vw, 1.8rem);
}

.landing-about-purpose-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.1), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-about-purpose-card h2 {
    margin: 0 0 0.8rem;
    font-size: clamp(2rem, 4.3vw, 3.35rem);
    line-height: 1.04;
}

.landing-about-purpose-card p,
.landing-about-mini-card p {
    color: var(--mid);
    line-height: 1.7;
}

.landing-about-mini-grid {
    display: grid;
    gap: 1rem;
}

.landing-about-mini-card {
    display: grid;
    gap: 0.65rem;
}

.landing-about-mini-card i,
.landing-about-pillar-card span,
.landing-about-audience-card i,
.landing-about-school-list span {
    display: inline-grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-about-mini-card > span {
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--teal);
}

.landing-about-mini-card h3 {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.14;
}

.landing-about-pillars-section,
.landing-about-school-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.07), transparent 34%),
        rgba(245, 240, 232, 0.72);
}

.landing-about-pillars-grid,
.landing-about-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.landing-about-pillar-card,
.landing-about-audience-card {
    display: grid;
    gap: 0.8rem;
    padding: clamp(1.1rem, 2vw, 1.35rem);
    border-radius: 24px;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.landing-about-pillar-card:hover,
.landing-about-audience-card:hover {
    transform: translateY(-4px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 28px 68px rgba(13, 13, 13, 0.11);
}

.landing-about-pillar-card h3,
.landing-about-audience-card h3 {
    margin: 0;
    font-size: 1.28rem;
    line-height: 1.15;
}

.landing-about-pillar-card p,
.landing-about-audience-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.62;
}

.landing-about-audience-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
}

.landing-about-school-card {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1fr);
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.2), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(232, 244, 244, 0.78));
}

.landing-about-school-card h2,
.landing-about-cta-card h2 {
    margin: 0 0 0.8rem;
    font-size: clamp(2rem, 4.4vw, 3.45rem);
    line-height: 1.02;
}

.landing-about-school-card p {
    color: var(--mid);
    line-height: 1.72;
}

.landing-about-school-list {
    display: grid;
    gap: 0.75rem;
}

.landing-about-school-list article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: center;
    padding: 0.95rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(255, 255, 255, 0.72);
}

.landing-about-school-list p {
    margin: 0;
    line-height: 1.55;
}

.landing-about-cta-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(3rem, 7vw, 5rem);
}

.landing-about-cta-card {
    display: grid;
    gap: 1.2rem;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.24), transparent 34%),
        linear-gradient(135deg, rgba(9, 51, 68, 0.98), rgba(26, 107, 107, 0.95));
    color: #fff;
}

.landing-about-cta-card .eyebrow,
.landing-about-cta-card h2 {
    color: #fff;
}

.landing-about-cta-card .btn.primary {
    background: #fff;
    border-color: #fff;
    color: var(--teal);
}

.landing-about-cta-card .btn.ghost {
    border-color: rgba(255, 255, 255, 0.52);
    color: #fff;
}

.landing-about-reason-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.landing-about-reason-strip span {
    padding: 0.7rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.9);
    font-weight: 700;
}

.landing-contact-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: stretch;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.75rem, 6vw, 5rem);
    overflow: hidden;
}

.landing-contact-copy,
.landing-contact-response-card {
    position: relative;
    z-index: 1;
}

.landing-contact-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.landing-contact-copy h1 {
    max-width: 920px;
    font-size: clamp(2.45rem, 5.2vw, 4.75rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-contact-copy > p:not(.eyebrow) {
    max-width: 710px;
    color: var(--mid);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.76;
    margin-bottom: 1.6rem;
}

.landing-contact-response-card,
.landing-contact-path-card,
.landing-contact-form-card,
.landing-contact-side-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.08);
}

.landing-contact-response-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1.25rem, 2.6vw, 1.8rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.22), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-contact-response-card h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.04;
}

.landing-contact-response-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.landing-contact-channel-mini {
    display: grid;
    gap: 0.65rem;
}

.landing-contact-channel-mini a,
.landing-contact-channel-list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.78rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(245, 240, 232, 0.72);
    color: var(--ink);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.landing-contact-channel-mini a:hover,
.landing-contact-channel-list a:hover,
.landing-contact-path-card:hover {
    transform: translateY(-3px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 18px 38px rgba(13, 13, 13, 0.08);
}

.landing-contact-channel-mini i,
.landing-contact-channel-list i,
.landing-contact-path-card i,
.landing-contact-form-head > span i {
    display: inline-grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-contact-path-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.07), transparent 34%),
        rgba(245, 240, 232, 0.72);
}

.landing-contact-path-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.landing-contact-path-card {
    display: grid;
    gap: 0.72rem;
    padding: clamp(1rem, 2vw, 1.25rem);
    border-radius: 24px;
    color: var(--ink);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.landing-contact-path-card strong {
    font-size: 1.05rem;
    line-height: 1.18;
}

.landing-contact-path-card span {
    color: var(--mid);
    line-height: 1.55;
    font-size: 0.88rem;
}

.landing-contact-path-card.is-active {
    border-color: rgba(26, 107, 107, 0.32);
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.18), transparent 34%),
        rgba(232, 244, 244, 0.9);
}

.landing-contact-form-section {
    padding-top: clamp(2.75rem, 6vw, 4.75rem);
    padding-bottom: clamp(3rem, 7vw, 5rem);
}

.landing-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.38fr);
    gap: 1rem;
}

.landing-contact-form-card,
.landing-contact-side-card {
    border-radius: 26px;
}

.landing-contact-form-card {
    padding: clamp(1.25rem, 3vw, 2rem);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.92);
}

.landing-contact-form-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.landing-contact-form-head h2 {
    margin: 0 0 0.45rem;
    font-size: clamp(1.85rem, 4vw, 3rem);
    line-height: 1.06;
}

.landing-contact-form-head p {
    max-width: 700px;
    color: var(--mid);
    line-height: 1.7;
}

.landing-contact-form-head > span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    white-space: nowrap;
    padding: 0.7rem 0.85rem;
    border-radius: 999px;
    background: rgba(245, 240, 232, 0.78);
    color: var(--teal);
    font-weight: 800;
}

.landing-contact-form-head > span i {
    width: 1.8rem;
    height: 1.8rem;
}

.landing-contact-form,
.landing-contact-form label {
    display: grid;
    gap: 0.65rem;
}

.landing-contact-form {
    gap: 1rem;
}

.landing-contact-form label {
    color: var(--ink);
    font-weight: 800;
}

.landing-contact-fields.two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.landing-contact-form input,
.landing-contact-form select,
.landing-contact-form textarea {
    width: 100%;
    border: 1px solid rgba(13, 13, 13, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.84);
    padding: 0.95rem 1rem;
    color: var(--ink);
    font: inherit;
    font-weight: 600;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.landing-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.landing-contact-form input:focus,
.landing-contact-form select:focus,
.landing-contact-form textarea:focus {
    border-color: rgba(26, 107, 107, 0.5);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.1);
}

.landing-contact-form .btn {
    justify-self: start;
}

.landing-contact-note {
    padding: 0.85rem 1rem;
    border: 1px solid rgba(26, 107, 107, 0.18);
    border-radius: 16px;
    background: rgba(232, 244, 244, 0.78);
    color: var(--teal);
    font-weight: 800;
}

.landing-contact-side {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.landing-contact-side-card {
    display: grid;
    gap: 0.85rem;
    padding: 1.15rem;
}

.landing-contact-side-card h3 {
    margin: 0;
    font-size: 1.2rem;
}

.landing-contact-side-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.landing-contact-channel-list {
    display: grid;
    gap: 0.7rem;
}

.landing-contact-channel-list small {
    display: block;
    margin-top: 0.15rem;
    color: var(--mid);
    overflow-wrap: anywhere;
}

.landing-contact-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.landing-contact-socials a {
    display: inline-grid;
    place-items: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(232, 244, 244, 0.7);
    color: var(--teal);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.landing-contact-socials a:hover {
    transform: translateY(-2px);
    background: var(--teal);
    color: #fff;
}

.landing-mobile-lab-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: stretch;
    padding: clamp(7rem, 11vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(2.75rem, 6vw, 5rem);
    overflow: hidden;
}

.landing-mobile-lab-copy,
.landing-mobile-lab-card {
    position: relative;
    z-index: 1;
}

.landing-mobile-lab-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.landing-mobile-lab-copy h1 {
    max-width: 920px;
    font-size: clamp(2.45rem, 5.2vw, 4.75rem);
    line-height: 1;
    margin-bottom: 1.15rem;
}

.landing-mobile-lab-copy > p:not(.eyebrow) {
    max-width: 710px;
    color: var(--mid);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.76;
    margin-bottom: 1.6rem;
}

.landing-mobile-lab-card,
.landing-mobile-lab-step-card,
.landing-mobile-lab-service-card,
.landing-mobile-lab-benefit-panel,
.landing-mobile-lab-readiness-card,
.landing-mobile-lab-cta-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.08);
}

.landing-mobile-lab-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1.25rem, 2.6vw, 1.8rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.22), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-mobile-lab-card h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.04;
}

.landing-mobile-lab-image-frame {
    position: relative;
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 1rem;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(26, 107, 107, 0.12);
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.16), transparent 38%),
        linear-gradient(135deg, rgba(245, 240, 232, 0.9), rgba(232, 244, 244, 0.86));
}

.landing-mobile-lab-image-frame::before {
    content: "";
    position: absolute;
    inset: auto 1rem 1rem auto;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 999px;
    background: rgba(232, 201, 122, 0.24);
    filter: blur(2px);
}

.landing-mobile-lab-image-frame img {
    position: relative;
    z-index: 1;
    width: min(100%, 580px);
    max-height: 300px;
    object-fit: contain;
    justify-self: center;
    filter: drop-shadow(0 18px 28px rgba(13, 13, 13, 0.12));
}

.landing-mobile-lab-image-frame figcaption {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--mid);
    font-weight: 700;
    font-size: 0.86rem;
    line-height: 1.55;
    text-align: center;
}

.landing-mobile-lab-proof {
    display: grid;
    gap: 0.65rem;
}

.landing-mobile-lab-proof span {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(13, 13, 13, 0.07);
    border-radius: 16px;
    background: rgba(245, 240, 232, 0.72);
    color: var(--ink);
    font-weight: 800;
}

.landing-mobile-lab-proof i,
.landing-mobile-lab-service-card i,
.landing-mobile-lab-benefit-list i {
    display: inline-grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.landing-mobile-lab-process,
.landing-mobile-lab-benefits {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.07), transparent 34%),
        rgba(245, 240, 232, 0.72);
}

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

.landing-mobile-lab-step-card {
    display: grid;
    gap: 0.75rem;
    padding: clamp(1.1rem, 2vw, 1.35rem);
    border-radius: 24px;
}

.landing-mobile-lab-step-card span {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--teal), var(--teal-light));
    color: #fff;
    font-family: "Space Mono", monospace;
    font-weight: 800;
}

.landing-mobile-lab-step-card h3,
.landing-mobile-lab-service-card h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.15;
}

.landing-mobile-lab-step-card p,
.landing-mobile-lab-service-card p,
.landing-mobile-lab-benefit-panel p,
.landing-mobile-lab-readiness-card p,
.landing-mobile-lab-cta-card p {
    margin: 0;
    color: var(--mid);
    line-height: 1.65;
}

.landing-mobile-lab-services {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
}

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

.landing-mobile-lab-service-card {
    display: grid;
    gap: 0.8rem;
    padding: clamp(1.1rem, 2vw, 1.35rem);
    border-radius: 24px;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.landing-mobile-lab-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 28px 68px rgba(13, 13, 13, 0.11);
}

.landing-mobile-lab-benefit-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(300px, 1fr);
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.2), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(232, 244, 244, 0.78));
}

.landing-mobile-lab-benefit-panel h2,
.landing-mobile-lab-readiness-card h2,
.landing-mobile-lab-cta-card h2 {
    margin: 0 0 0.8rem;
    font-size: clamp(2rem, 4.4vw, 3.45rem);
    line-height: 1.02;
}

.landing-mobile-lab-benefit-list {
    display: grid;
    gap: 0.75rem;
}

.landing-mobile-lab-benefit-list article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.82rem;
    align-items: center;
    padding: 0.95rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(255, 255, 255, 0.72);
}

.landing-mobile-lab-benefit-list strong,
.landing-mobile-lab-benefit-list small {
    display: block;
}

.landing-mobile-lab-benefit-list small {
    margin-top: 0.18rem;
    color: var(--mid);
    line-height: 1.48;
}

.landing-mobile-lab-readiness-section,
.landing-mobile-lab-cta-section {
    padding-top: clamp(2.75rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4.5rem);
}

.landing-mobile-lab-readiness-card {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(320px, 1fr);
    gap: clamp(1.2rem, 3vw, 2rem);
    align-items: center;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.1), transparent 38%),
        rgba(255, 255, 255, 0.92);
}

.landing-mobile-lab-readiness-grid {
    display: grid;
    gap: 0.8rem;
}

.landing-mobile-lab-readiness-grid article {
    display: grid;
    gap: 0.3rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(13, 13, 13, 0.07);
    background: rgba(245, 240, 232, 0.68);
}

.landing-mobile-lab-readiness-grid span {
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.66rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.landing-mobile-lab-readiness-grid strong {
    line-height: 1.5;
}

.landing-mobile-lab-cta-card {
    display: grid;
    gap: 1rem;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(232, 201, 122, 0.24), transparent 34%),
        linear-gradient(135deg, rgba(9, 51, 68, 0.98), rgba(26, 107, 107, 0.95));
    color: #fff;
}

.landing-mobile-lab-cta-card .eyebrow,
.landing-mobile-lab-cta-card h2 {
    color: #fff;
}

.landing-mobile-lab-cta-card p {
    color: rgba(255, 255, 255, 0.82);
}

.landing-mobile-lab-cta-card .btn.primary {
    background: #fff;
    border-color: #fff;
    color: var(--teal);
}

.landing-mobile-lab-cta-card .btn.ghost {
    border-color: rgba(255, 255, 255, 0.52);
    color: #fff;
}

.landing-animations-ready .landing-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.58s ease, transform 0.58s cubic-bezier(0.2, 0.9, 0.2, 1);
    transition-delay: var(--landing-delay, var(--delay, 0s));
}

.landing-animations-ready .landing-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.landing-path-grid .landing-reveal:nth-child(2),
.landing-feature-grid .landing-reveal:nth-child(2),
.landing-price-grid .landing-reveal:nth-child(2),
.landing-proof-grid .landing-reveal:nth-child(2) {
    --landing-delay: 0.08s;
}

.landing-path-grid .landing-reveal:nth-child(3),
.landing-feature-grid .landing-reveal:nth-child(3),
.landing-price-grid .landing-reveal:nth-child(3),
.landing-proof-grid .landing-reveal:nth-child(3) {
    --landing-delay: 0.16s;
}

.landing-path-grid .landing-reveal:nth-child(4),
.landing-feature-grid .landing-reveal:nth-child(4) {
    --landing-delay: 0.24s;
}

.cta-band {
    background: var(--teal);
    color: #fff;
    padding: 5rem 4rem;
    text-align: center;
}

.cta-band .eyebrow {
    color: var(--gold-light);
    justify-content: center;
}

.cta-band .eyebrow::before {
    background: var(--gold-light);
}

.cta-band .sec-title {
    color: #fff;
    text-align: center;
    margin: 0 auto 1rem;
}

.cta-band .sec-sub {
    color: rgba(255, 255, 255, 0.75);
    text-align: center;
    margin: 0 auto 2.2rem;
}

.cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    background: #fff;
    color: var(--teal);
    padding: 0.85rem 2rem;
    border-radius: 3px;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
}

.btn-white:hover {
    background: var(--gold-light);
    transform: translateY(-2px);
}

footer.mf {
    background: #080808;
    color: rgba(245, 240, 232, 0.55);
    padding: 3.5rem 4rem 2rem;
}

.foot-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(245, 240, 232, 0.1);
    margin-bottom: 1.5rem;
}

.foot-brand .nav-logo {
    color: var(--cream);
    display: inline-flex;
    margin-bottom: 0.9rem;
}

.footer-logo-mark {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.96);
}

.footer-logo-wordmark strong {
    color: var(--cream);
}

.footer-logo-wordmark small {
    color: rgba(245, 240, 232, 0.55);
}

.foot-brand p {
    font-size: 0.85rem;
    line-height: 1.7;
    max-width: 270px;
}

.foot-col h4 {
    font-family: "Space Mono", monospace;
    font-size: 0.67rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cream);
    margin-bottom: 1.1rem;
}

.foot-col ul {
    list-style: none;
}

.foot-col ul li {
    margin-bottom: 0.5rem;
}

.foot-col ul li a {
    font-size: 0.85rem;
    color: rgba(245, 240, 232, 0.45);
    transition: color 0.2s;
}

.foot-col ul li a:hover {
    color: var(--teal-light);
}

.foot-btm {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.foot-btm a {
    color: var(--teal-light);
}

@media (max-width: 1120px) {
    .landing-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .auth-page .auth-revamp-grid,
    .auth-page .auth-revamp-grid-wide {
        grid-template-columns: 1fr;
    }

    .auth-page .auth-revamp-copy {
        max-width: 760px;
    }

    .auth-page .auth-revamp-card {
        max-width: 760px;
        width: 100%;
    }

    .landing-hero-visual {
        min-height: 360px;
        max-width: 620px;
        width: 100%;
    }

    .landing-preview-card {
        margin-left: 0;
    }

    .landing-path-grid,
    .landing-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-school-card,
    .landing-proof-section,
    .landing-catalog-hero,
    .landing-detail-hero,
    .landing-detail-grid,
    .landing-pricing-hero,
    .landing-school-pricing-card,
    .landing-about-hero,
    .landing-about-purpose,
    .landing-about-school-card,
    .landing-contact-hero,
    .landing-contact-layout,
    .landing-mobile-lab-hero,
    .landing-mobile-lab-benefit-panel,
    .landing-mobile-lab-readiness-card,
    .landing-assessment-card {
        grid-template-columns: 1fr;
    }

    .landing-about-pillars-grid,
    .landing-about-audience-grid,
    .landing-contact-path-grid,
    .landing-mobile-lab-step-grid,
    .landing-mobile-lab-service-grid,
    .landing-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-school-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .auth-page .auth-revamp-section {
        padding: 7rem 1rem 2.5rem;
    }

    .auth-page .auth-revamp-copy h1 {
        font-size: clamp(2.35rem, 13vw, 3.65rem);
    }

    .auth-page .auth-workspace-strip,
    .auth-page .role-picker,
    .auth-page .field-row {
        grid-template-columns: 1fr;
    }

    .auth-page .auth-code-card {
        align-items: start;
    }

    .auth-page .auth-code-card > i:last-child {
        display: none;
    }

    .auth-page .auth-revamp-card {
        padding: 1.1rem;
        border-radius: 24px;
    }

    .auth-page .inline-between {
        align-items: flex-start;
        gap: 0.75rem;
    }

    .landing-hero,
    .landing-section {
        padding-inline: 1rem;
    }

    .landing-hero {
        padding-top: 6.25rem;
        gap: 1.6rem;
    }

    .landing-pricing-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-about-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-contact-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-mobile-lab-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-hero h1 {
        font-size: clamp(2.25rem, 12vw, 3.25rem);
        line-height: 1.02;
    }

    .landing-about-copy h1,
    .landing-contact-copy h1,
    .landing-mobile-lab-copy h1,
    .landing-pricing-copy h1 {
        font-size: clamp(2.1rem, 10.5vw, 3.05rem);
        line-height: 1.04;
    }

    .landing-catalog-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-catalog-copy h1 {
        font-size: clamp(2.1rem, 10.5vw, 3.05rem);
        line-height: 1.04;
    }

    .landing-detail-hero {
        padding: 6.25rem 1rem 2.5rem;
    }

    .landing-detail-copy h1 {
        font-size: clamp(2.1rem, 10.5vw, 3.05rem);
        line-height: 1.04;
    }

    .landing-action-row .btn,
    .landing-school-actions .btn,
    .landing-pricing-copy .btn,
    .landing-about-copy .btn,
    .landing-contact-copy .btn,
    .landing-mobile-lab-copy .btn,
    .landing-mobile-lab-cta-card .btn,
    .landing-contact-form .btn,
    .landing-center-action .btn {
        width: 100%;
        justify-content: center;
    }

    .landing-hero-visual {
        min-height: 0;
    }

    .landing-floating-card {
        position: static;
        margin-top: 0.8rem;
        min-width: 0;
    }

    .landing-floating-card-two {
        display: none;
    }

    .landing-path-grid,
    .landing-feature-grid,
    .landing-price-grid,
    .landing-pricing-grid,
    .landing-about-pillars-grid,
    .landing-about-audience-grid,
    .landing-contact-path-grid,
    .landing-contact-fields.two,
    .landing-mobile-lab-step-grid,
    .landing-mobile-lab-service-grid,
    .landing-compare-grid,
    .landing-compare-values,
    .landing-faq-grid,
    .landing-proof-grid,
    .public-course-grid.landing-course-grid,
    .landing-catalog-grid,
    .landing-detail-benefits {
        grid-template-columns: 1fr;
    }

    .landing-course-filter {
        border-radius: 20px;
        padding: 0.85rem;
    }

    .landing-filter-group {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.2rem;
        scrollbar-width: none;
    }

    .landing-filter-group::-webkit-scrollbar {
        display: none;
    }

    .landing-filter-group .pill,
    .landing-filter-group .access-tab-button {
        flex: 0 0 auto;
    }

    .landing-catalog-section .courses-results-head {
        align-items: stretch;
        flex-direction: column;
    }

    .landing-path-card,
    .landing-feature-card {
        min-height: 0;
    }

    .landing-section-head {
        margin-bottom: 1.3rem;
    }

    .landing-section-head h2,
    .landing-proof-copy h2,
    .landing-school-card h2 {
        font-size: clamp(1.9rem, 10vw, 2.65rem);
    }

    .landing-preview-card,
    .landing-school-card,
    .landing-price-card,
    .landing-pricing-choice-card,
    .landing-pricing-card,
    .landing-school-pricing-card,
    .landing-compare-panel,
    .landing-about-story-card,
    .landing-about-purpose-card,
    .landing-about-mini-card,
    .landing-about-pillar-card,
    .landing-about-audience-card,
    .landing-about-school-card,
    .landing-about-cta-card,
    .landing-contact-response-card,
    .landing-contact-path-card,
    .landing-contact-form-card,
    .landing-contact-side-card,
    .landing-mobile-lab-card,
    .landing-mobile-lab-step-card,
    .landing-mobile-lab-service-card,
    .landing-mobile-lab-benefit-panel,
    .landing-mobile-lab-readiness-card,
    .landing-mobile-lab-cta-card,
    .landing-path-card,
    .landing-feature-card,
    .landing-proof-card {
        border-radius: 20px;
    }

    .landing-contact-form-head {
        flex-direction: column;
    }

    .landing-contact-form-head > span {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .landing-school-card {
        padding: 1.2rem;
    }

    .landing-proof-card {
        grid-template-columns: 1fr;
    }

    .landing-proof-card span {
        grid-row: auto;
    }

    .landing-detail-meta {
        grid-template-columns: 1fr;
    }

    .landing-module-head {
        flex-direction: column;
    }

    .landing-lesson-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .landing-lesson-row > i {
        display: none;
    }

    .landing-assessment-card .landing-school-actions .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-orb,
    .landing-floating-card {
        animation: none;
    }

    .landing-animations-ready .landing-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Public landing polish pass: scoped so workspace dashboards keep their own rules. */
.landing-page {
    overflow-x: hidden;
}

.landing-page main {
    overflow-x: clip;
}

.landing-transition-ready.landing-page main,
.landing-transition-ready.landing-page .top-nav,
.landing-transition-ready.landing-page footer.mf {
    transition: opacity 0.18s ease, transform 0.18s ease, filter 0.18s ease;
}

.landing-is-leaving.landing-page main {
    opacity: 0;
    transform: translateY(8px);
    filter: blur(2px);
}

.landing-is-leaving.landing-page .top-nav,
.landing-is-leaving.landing-page footer.mf {
    opacity: 0.72;
}

.landing-page .top-nav {
    transition: background 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.landing-page .nav-links a {
    min-height: 38px;
    padding: 0.45rem 0.1rem;
    border-radius: 999px;
}

.landing-page .nav-links a.active,
.landing-page .nav-links a:focus-visible,
.landing-page .nav-links a:hover {
    color: var(--teal);
}

.landing-page .nav-links a:focus-visible,
.landing-page .nav-auth a:focus-visible,
.landing-page .mobile-nav-toggle:focus-visible,
.landing-page .btn:focus-visible {
    outline: 3px solid rgba(201, 168, 76, 0.42);
    outline-offset: 3px;
}

.landing-page .mobile-nav-toggle {
    align-items: center;
    gap: 0.45rem;
    min-height: 42px;
    border-radius: 999px;
    font-weight: 800;
    color: var(--teal);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.landing-page .mobile-nav-toggle:hover {
    border-color: rgba(26, 107, 107, 0.28);
    box-shadow: 0 10px 24px rgba(26, 107, 107, 0.08);
}

.landing-page .btn,
.landing-page .button,
.landing-page .btn-white {
    max-width: 100%;
    white-space: normal;
}

.landing-page .landing-section,
.landing-page .landing-hero,
.landing-page .landing-catalog-hero,
.landing-page .landing-detail-hero,
.landing-page .landing-pricing-hero,
.landing-page .landing-about-hero,
.landing-page .landing-contact-hero,
.landing-page .landing-mobile-lab-hero {
    contain: paint;
}

.landing-reveal-fade-up,
.landing-reveal-slide-left,
.landing-reveal-slide-right,
.landing-reveal-soft-scale {
    will-change: opacity, transform;
}

.auth-page .auth-revamp-section {
    position: relative;
    min-height: 100vh;
    padding: clamp(7rem, 10vw, 9rem) clamp(1.25rem, 4vw, 4rem) clamp(3rem, 6vw, 5rem);
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(26, 107, 107, 0.1), transparent 32%),
        radial-gradient(circle at bottom right, rgba(232, 201, 122, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(245, 240, 232, 0.82));
}

.auth-page .auth-revamp-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}

.auth-page .auth-revamp-grid-wide {
    grid-template-columns: minmax(0, 0.76fr) minmax(480px, 1fr);
}

.auth-page .auth-revamp-copy {
    display: grid;
    gap: 1.1rem;
    align-content: center;
}

.auth-page .auth-revamp-copy h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.75rem, 6vw, 5.25rem);
    line-height: 0.98;
}

.auth-page .auth-revamp-copy > p:not(.eyebrow) {
    max-width: 680px;
    color: var(--mid);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.78;
}

.auth-page .auth-workspace-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 0.3rem;
}

.auth-page .auth-workspace-strip article,
.auth-page .auth-role-preview-list article,
.auth-page .auth-code-card,
.auth-page .auth-revamp-card {
    border: 1px solid rgba(13, 13, 13, 0.08);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 22px 54px rgba(13, 13, 13, 0.08);
}

.auth-page .auth-workspace-strip article {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border-radius: 20px;
}

.auth-page .auth-workspace-strip span {
    color: var(--teal);
    font-family: "Space Mono", monospace;
    font-size: 0.65rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.auth-page .auth-code-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    max-width: 620px;
    padding: 1rem;
    border-radius: 22px;
    color: var(--ink);
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-page .auth-code-card:hover,
.auth-page .auth-code-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(26, 107, 107, 0.24);
    box-shadow: 0 24px 54px rgba(13, 13, 13, 0.1);
}

.auth-page .auth-code-card > i:first-child,
.auth-page .auth-role-preview-list i {
    display: inline-grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.auth-page .auth-code-card small,
.auth-page .auth-role-preview-list small {
    display: block;
    margin-top: 0.18rem;
    color: var(--mid);
    line-height: 1.5;
}

.auth-page .auth-role-preview-list {
    display: grid;
    gap: 0.85rem;
    max-width: 680px;
}

.auth-page .auth-role-preview-list article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem;
    border-radius: 20px;
}

.auth-page .auth-revamp-card {
    border-radius: 30px;
    padding: clamp(1.25rem, 3vw, 2rem);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.94);
}

.auth-page .auth-card-head {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1.3rem;
}

.auth-page .auth-card-head h2 {
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.04;
}

.auth-page .auth-card-head p:not(.eyebrow-inline) {
    margin: 0;
    color: var(--mid);
}

.auth-page .auth-revamp-form {
    gap: 1rem;
}

.auth-page .auth-revamp-form label {
    color: var(--ink);
    font-weight: 800;
}

.auth-page .auth-revamp-form input,
.auth-page .auth-revamp-form select,
.auth-page .auth-revamp-form textarea {
    width: 100%;
    border: 1px solid rgba(13, 13, 13, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.95rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.auth-page .auth-revamp-form input:focus,
.auth-page .auth-revamp-form select:focus,
.auth-page .auth-revamp-form textarea:focus {
    border-color: rgba(26, 107, 107, 0.5);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(26, 107, 107, 0.1);
    outline: none;
}

.auth-page .auth-revamp-form .small-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.auth-page .auth-revamp-form .checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    margin: 0;
    color: var(--ink);
    line-height: 1.2;
}

.auth-page .auth-revamp-form .checkbox input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    accent-color: var(--teal);
}

.auth-page .auth-revamp-form .small-row .text-link {
    line-height: 1.2;
}

.auth-page .auth-submit-button {
    width: 100%;
    justify-content: center;
    min-height: 3.15rem;
    border-radius: 16px;
}

.auth-page .auth-card-links {
    display: grid;
    gap: 0.4rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(13, 13, 13, 0.08);
}

.auth-page .auth-card-links .helper-text {
    margin: 0;
    color: var(--mid);
}

.auth-page .role-picker {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.auth-page .role-option {
    min-height: 3rem;
    border-radius: 16px;
    border: 1px solid rgba(13, 13, 13, 0.1);
    background: rgba(255, 255, 255, 0.8);
    color: var(--ink);
    font-weight: 900;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.auth-page .role-option:hover,
.auth-page .role-option:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(26, 107, 107, 0.26);
}

.auth-page .role-option.active {
    border-color: rgba(26, 107, 107, 0.4);
    background: linear-gradient(135deg, rgba(26, 107, 107, 0.98), rgba(43, 129, 129, 0.92));
    color: #fff;
}

@media (max-width: 760px) {
    .auth-page .auth-revamp-section {
        min-height: auto;
        padding: 6.25rem 1rem 2.25rem;
        overflow: visible;
    }

    .auth-page .auth-revamp-grid,
    .auth-page .auth-revamp-grid-wide {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        width: 100%;
        max-width: 440px;
        margin-inline: auto;
        align-items: start;
    }

    .auth-page .auth-revamp-copy {
        gap: 0.82rem;
        max-width: 100%;
    }

    .auth-page .auth-revamp-copy h1 {
        max-width: 100%;
        font-size: clamp(2rem, 10vw, 2.7rem);
        line-height: 1.04;
    }

    .auth-page .auth-revamp-copy > p:not(.eyebrow) {
        max-width: 100%;
        font-size: 0.94rem;
        line-height: 1.62;
    }

    .auth-page .auth-workspace-strip {
        display: none;
    }

    .auth-page .auth-revamp-card {
        width: 100%;
        max-width: 100%;
        padding: 1rem;
        border-radius: 24px;
    }

    .auth-page .auth-card-head {
        margin-bottom: 1rem;
    }

    .auth-page .auth-card-head h2 {
        font-size: clamp(1.55rem, 8vw, 2.15rem);
    }

    .auth-page .auth-revamp-form {
        gap: 0.85rem;
    }

    .auth-page .auth-revamp-form input,
    .auth-page .auth-revamp-form select,
    .auth-page .auth-revamp-form textarea {
        min-height: 3rem;
        padding: 0.85rem 0.9rem;
        border-radius: 14px;
    }

    .auth-page .auth-revamp-form .small-row {
        align-items: center;
        gap: 0.65rem;
    }

    .auth-page .auth-submit-button {
        min-height: 3rem;
    }

    .auth-page .auth-card-links {
        margin-top: 0.9rem;
        padding-top: 0.9rem;
    }

    .auth-page .auth-code-card {
        grid-template-columns: auto minmax(0, 1fr);
        max-width: 100%;
        padding: 0.9rem;
        border-radius: 20px;
    }

    .auth-page .auth-code-card > i:last-child {
        display: none;
    }
}

@media (max-width: 380px) {
    .auth-page .auth-revamp-section {
        padding-inline: 0.75rem;
    }

    .auth-page .auth-revamp-copy h1 {
        font-size: clamp(1.82rem, 9.5vw, 2.35rem);
    }

    .auth-page .auth-revamp-copy > p:not(.eyebrow) {
        font-size: 0.9rem;
    }

    .auth-page .auth-revamp-form .small-row {
        display: grid;
        justify-content: stretch;
    }
}

.landing-animations-ready .landing-reveal-slide-left {
    transform: translateX(-28px);
}

.landing-animations-ready .landing-reveal-slide-right {
    transform: translateX(28px);
}

.landing-animations-ready .landing-reveal-soft-scale {
    transform: translateY(18px) scale(0.975);
}

.landing-animations-ready .landing-reveal.is-visible,
.landing-animations-ready .landing-reveal-slide-left.is-visible,
.landing-animations-ready .landing-reveal-slide-right.is-visible,
.landing-animations-ready .landing-reveal-soft-scale.is-visible {
    transform: none;
}

.landing-stagger > .landing-reveal:nth-child(2),
.landing-stagger > *:nth-child(2) .landing-reveal {
    --landing-delay: 80ms;
}

.landing-stagger > .landing-reveal:nth-child(3),
.landing-stagger > *:nth-child(3) .landing-reveal {
    --landing-delay: 160ms;
}

.landing-stagger > .landing-reveal:nth-child(4),
.landing-stagger > *:nth-child(4) .landing-reveal {
    --landing-delay: 240ms;
}

.landing-stagger > .landing-reveal:nth-child(n + 5),
.landing-stagger > *:nth-child(n + 5) .landing-reveal {
    --landing-delay: 320ms;
}

@media (max-width: 900px) {
    .landing-page .top-nav {
        padding: 0.75rem 1rem;
        align-items: center;
        gap: 0.8rem;
    }

    .landing-page .nav-logo-mark {
        width: 44px;
        height: 44px;
    }

    .landing-page .nav-logo-wordmark strong {
        font-size: 1rem;
    }

    .landing-page .nav-logo-wordmark small {
        font-size: 0.56rem;
    }
}

@media (max-width: 760px) {
    .landing-page .top-nav {
        left: 0.75rem;
        right: 0.75rem;
        top: 0.75rem;
        width: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        border: 1px solid rgba(13, 13, 13, 0.08);
        border-radius: 22px;
        background:
            radial-gradient(circle at top left, rgba(232, 244, 244, 0.88), transparent 42%),
            rgba(255, 255, 255, 0.96);
        box-shadow: 0 18px 44px rgba(13, 13, 13, 0.11);
        overflow: hidden;
    }

    .landing-page .nav-links:not(.open),
    .landing-page .nav-auth:not(.open) {
        display: none;
    }

    .landing-page .nav-links.open,
    .landing-page .nav-auth.open {
        grid-column: 1 / -1;
        display: grid;
        width: 100%;
        gap: 0.35rem;
        padding: 0.55rem 0.2rem 0;
        border-radius: 0;
        background: transparent;
    }

    .landing-page .nav-auth.open {
        margin-top: 0;
        padding-top: 0.55rem;
        border-top: 1px solid rgba(13, 13, 13, 0.08);
    }

    .landing-page .nav-links.open a,
    .landing-page .nav-auth.open a {
        width: 100%;
        min-height: 2.85rem;
        padding: 0.75rem 0.85rem;
        border-radius: 16px;
        justify-content: flex-start;
        background: rgba(255, 255, 255, 0.66);
        color: var(--ink);
        font-weight: 800;
    }

    .landing-page .nav-links.open a:hover,
    .landing-page .nav-links.open a:focus-visible,
    .landing-page .nav-auth.open a:hover,
    .landing-page .nav-auth.open a:focus-visible {
        background: rgba(232, 244, 244, 0.92);
        color: var(--teal);
        transform: none;
    }

    .landing-page .nav-auth.open .nav-auth-link.is-primary {
        background: rgba(26, 107, 107, 0.1);
        color: var(--teal);
    }

    .landing-page .nav-auth.open .nav-auth-link.is-primary:hover,
    .landing-page .nav-auth.open .nav-auth-link.is-primary:focus-visible {
        background: rgba(232, 201, 122, 0.2);
        color: var(--ink);
    }

    .landing-page .mobile-nav-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .landing-page .landing-hero,
    .landing-page .landing-catalog-hero,
    .landing-page .landing-detail-hero,
    .landing-page .landing-pricing-hero,
    .landing-page .landing-about-hero,
    .landing-page .landing-contact-hero,
    .landing-page .landing-mobile-lab-hero {
        padding-top: 7rem;
    }

    .landing-page .landing-section-head {
        gap: 0.55rem;
    }

    .landing-page .landing-section-head p {
        max-width: 100%;
    }

    .landing-page .landing-action-row {
        width: 100%;
    }

    .landing-page footer.mf {
        padding: 2.5rem 1rem calc(2rem + env(safe-area-inset-bottom, 0px));
    }

    .landing-page .foot-grid {
        grid-template-columns: 1fr;
        gap: 1.35rem;
        padding-bottom: 1.8rem;
    }

    .landing-page .foot-brand p {
        max-width: none;
    }

    .landing-page .foot-col {
        padding: 1rem;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.04);
    }

    .landing-page .foot-col h4 {
        margin-bottom: 0.75rem;
    }

    .landing-page .foot-col ul {
        display: grid;
        gap: 0.2rem;
    }

    .landing-page .foot-col ul li {
        margin-bottom: 0;
    }

    .landing-page .foot-col ul li a {
        min-height: 38px;
        display: flex;
        align-items: center;
    }

    .landing-page .foot-btm {
        padding: 0;
        align-items: flex-start;
    }
}

@media (max-width: 420px) {
    .landing-page .nav-logo-wordmark {
        display: grid;
        min-width: 0;
    }

    .landing-page .nav-logo {
        gap: 0.45rem;
        min-width: 0;
    }

    .landing-page .nav-logo-mark {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
    }

    .landing-page .nav-logo-wordmark strong {
        font-size: clamp(0.72rem, 3.2vw, 0.88rem);
        line-height: 1.05;
        white-space: nowrap;
    }

    .landing-page .nav-logo-wordmark small {
        font-size: 0.5rem;
        letter-spacing: 0.08em;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .landing-page .mobile-nav-toggle {
        padding-inline: 0.72rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-reveal,
    .landing-reveal-fade-up,
    .landing-reveal-slide-left,
    .landing-reveal-slide-right,
    .landing-reveal-soft-scale,
    .landing-page .top-nav,
    .landing-page .mobile-nav-toggle,
    .landing-page .mobile-nav-toggle::after {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

@media (max-width: 900px) {
    .top-nav {
        padding: 1rem 1.5rem;
    }

    .nav-links {
        display: none;
    }

    .nav-logo img {
        width: 100%;
    }

    .nav-logo-mark {
        width: 44px;
        height: 44px;
    }

    .nav-logo-wordmark strong {
        font-size: 0.98rem;
    }

    .nav-logo-wordmark small {
        font-size: 0.56rem;
    }

    section.ms,
    .hero,
    footer.mf,
    .cta-band {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    section.ms,
    .hero {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .hero {
        grid-template-columns: 1fr;
        padding-top: 5.5rem;
    }

    .hero-visual {
        display: none;
    }

    .home-mobile-lab-shell,
    .feat-grid,
    .courses-grid,
    .public-course-grid,
    .pricing-grid,
    .role-focus-grid,
    .trust-signal-grid,
    .about-pillars-grid,
    .pricing-school-highlight-grid,
    .discovery-strip,
    .pricing-faq-grid,
    .pricing-school-layout {
        grid-template-columns: 1fr;
    }

    .contact-response-note {
        min-width: 0;
        width: 100%;
    }

    .mobile-lab-hero-grid,
    .mobile-lab-readiness-layout,
    .mobile-lab-step-grid,
    .mobile-lab-service-grid,
    .mobile-lab-benefit-grid,
    .mobile-lab-value-strip,
    .mobile-lab-services-head {
        grid-template-columns: 1fr;
    }

    .mobile-lab-services-line {
        display: none;
    }

    .home-mobile-lab-panel {
        padding: 1.5rem;
    }

    .mobile-lab-value-item {
        border-right: none;
        border-top: 1px solid rgba(18, 61, 150, 0.15);
        padding-top: 1rem;
    }

    .pricing-school-hero {
        flex-direction: column;
    }

    .pricing-school-badge {
        white-space: normal;
    }

    .trust-layout {
        grid-template-columns: 1fr;
    }

    .school-compare-row {
        grid-template-columns: 1fr;
    }

    .school-compare-cell + .school-compare-cell,
    .school-compare-head > div + div {
        border-left: none;
        border-top: 1px solid var(--border);
    }

    .pricing-compare-shell {
        border: none;
        background: transparent;
    }

    .pricing-compare-head {
        display: none;
    }

    .pricing-compare-row {
        grid-template-columns: 1fr;
        gap: 0;
        border: 1px solid var(--border);
        background: var(--card);
        margin-bottom: 1rem;
    }

    .pricing-compare-feature {
        background: rgba(26, 107, 107, 0.06);
    }

    .pricing-compare-value {
        border-left: none;
        border-top: 1px solid var(--border);
    }

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

@media (max-width: 900px) {
    .ges-builder-context-bar,
    .checkpoint-studio-layout {
        grid-template-columns: 1fr;
    }

    .lesson-builder-grid,
    .lesson-builder-two-col,
    .lesson-summary-grid,
    .resource-workspace-grid {
        grid-template-columns: 1fr;
    }

    .lesson-builder-section-head {
        display: grid;
    }

      .checkpoint-builder-grid,
      .checkpoint-core-grid,
      .checkpoint-options-grid,
      .checkpoint-summary-grid,
      .tutor-course-pulse-grid,
    .ges-library-filter-grid,
    .tutor-course-workflow-grid,
    .tutor-course-assessment-grid,
    .ges-workflow-guide-grid {
        grid-template-columns: 1fr;
    }

      .checkpoint-copy-head,
      .checkpoint-builder-section-head {
          grid-template-columns: 1fr;
          display: grid;
      }

      .learner-assessment-question-topline,
      .learner-assessment-submit-card,
      .learner-assessment-attempt-card {
          display: grid;
      }

      .learner-assessment-question-meta {
          justify-content: flex-start;
      }

      .checkpoint-pill-row {
          justify-content: flex-start;
    }

    .tutor-course-hero,
    .tutor-course-hero-actions {
        display: grid;
    }

    .checkpoint-studio-actions .button {
        width: 100%;
        justify-content: center;
    }

    .interactive-video-card {
        padding: 1rem;
    }

    .interactive-video-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
    }

    .interactive-video-timeline {
        grid-column: 1 / -1;
    }

    .interactive-video-audio {
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ges-readiness-chip-list {
        gap: 0.4rem;
    }

    .video-placeholder-rich {
        min-height: 280px;
    }

    .interactive-video-actions .button {
        width: 100%;
        justify-content: center;
    }

    .learner-assessment-mobile-console {
        top: 0.6rem;
        padding: 0.95rem;
    }

    .learner-assessment-mobile-nav .learner-assessment-nav-button {
        min-height: 46px;
        border-radius: 14px;
        flex-basis: 46px;
    }
}

.admin-structure-tree {
    position: relative;
    padding: 1rem;
    border: 1px solid rgba(26, 107, 107, 0.16);
    border-radius: 1.1rem;
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.94));
    width: 100%;
    overflow-x: auto;
}

.admin-structure-tree-list {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.admin-structure-tree-list .admin-structure-tree-list {
    margin-left: 0.7rem;
    padding-left: 0.9rem;
    border-left: 1px solid rgba(26, 107, 107, 0.18);
}

.admin-structure-tree-item {
    position: relative;
    margin: 0.45rem 0;
}

.admin-structure-tree-item.is-current > .admin-structure-tree-node {
    border-color: rgba(26, 107, 107, 0.34);
    box-shadow: 0 10px 24px rgba(10, 19, 28, 0.07);
    background: linear-gradient(145deg, rgba(26, 107, 107, 0.08), rgba(255, 255, 255, 0.98));
}

.admin-structure-tree-item.is-current > .admin-structure-tree-branch > .admin-structure-tree-summary .admin-structure-tree-node {
    border-color: rgba(26, 107, 107, 0.34);
    box-shadow: 0 10px 24px rgba(10, 19, 28, 0.07);
    background: linear-gradient(145deg, rgba(26, 107, 107, 0.08), rgba(255, 255, 255, 0.98));
}

.admin-structure-tree-branch {
    display: grid;
    gap: 0.45rem;
}

.admin-structure-tree-summary {
    list-style: none;
    cursor: pointer;
}

.admin-structure-tree-summary::-webkit-details-marker {
    display: none;
}

.admin-structure-tree-node {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem;
    align-items: start;
    padding: 0.72rem 0.78rem;
    border: 1px solid rgba(15, 23, 35, 0.08);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.94);
    min-width: 0;
}

.admin-structure-tree-icon {
    width: 1.7rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.12);
    color: var(--brand);
    font-size: 0.72rem;
}

.admin-structure-tree-copy {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.admin-structure-tree-meta {
    font-size: 0.58rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
    font-family: var(--mono);
}

.admin-structure-tree-link {
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.88rem;
    line-height: 1.3;
}

a.admin-structure-tree-link:hover,
a.admin-structure-tree-link:focus-visible {
    color: var(--brand);
}

.admin-structure-tree-detail {
    color: var(--muted);
    font-size: 0.74rem;
    line-height: 1.35;
}

.admin-structure-tree-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.3rem;
}

.admin-structure-tree-action {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.75rem;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    border: 1px solid rgba(26, 107, 107, 0.16);
    background: rgba(26, 107, 107, 0.07);
    color: var(--brand);
    font-size: 0.68rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.admin-structure-tree-action:hover,
.admin-structure-tree-action:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(26, 107, 107, 0.32);
    background: rgba(26, 107, 107, 0.13);
}

.admin-structure-tree-toggle {
    width: 1.45rem;
    height: 1.45rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.08);
    color: var(--teal);
    font-size: 0.72rem;
    transition: transform 0.2s ease, background 0.2s ease;
}

.admin-structure-tree-branch[open] > .admin-structure-tree-summary .admin-structure-tree-toggle {
    transform: rotate(0deg);
}

.admin-structure-tree-branch:not([open]) > .admin-structure-tree-summary .admin-structure-tree-toggle {
    transform: rotate(-90deg);
}

.admin-structure-tree-summary:hover .admin-structure-tree-toggle,
.admin-structure-tree-summary:focus-visible .admin-structure-tree-toggle {
    background: rgba(26, 107, 107, 0.14);
}

.admin-structure-tree-item.is-branch > .admin-structure-tree-branch > .admin-structure-tree-summary .admin-structure-tree-node {
    background: linear-gradient(180deg, rgba(244, 249, 250, 0.96), rgba(255, 255, 255, 0.94));
}

.admin-structure-tree-item.is-leaf > .admin-structure-tree-node {
    background: rgba(255, 255, 255, 0.82);
}

.admin-manager-shell {
    display: grid;
    gap: 1rem;
}

.admin-manager-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    font-family: var(--mono);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}

.admin-manager-breadcrumbs a {
    color: var(--brand);
    text-decoration: none;
}

.admin-manager-breadcrumbs strong {
    color: var(--ink);
}

.admin-manager-hero {
    position: relative;
    overflow: hidden;
}

.admin-manager-hero::after {
    content: "";
    position: absolute;
    inset: auto -2rem -3rem auto;
    width: 12rem;
    height: 12rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(224, 180, 83, 0.18), transparent 68%);
    pointer-events: none;
}

.admin-manager-guidance-panel,
.admin-manager-library-panel,
.admin-manager-overview-panel,
.admin-manager-tree-panel {
    position: relative;
    overflow: hidden;
}

.admin-manager-side-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
    align-items: start;
    margin-top: 1rem;
}

.admin-manager-tree-detail-grid {
    grid-template-columns: 1fr;
}

.admin-manager-tree-detail-grid .admin-manager-actions-panel {
    padding-top: 1rem;
}

.admin-manager-tree-detail-grid .admin-manager-action-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-readiness-checklist-panel {
    border-color: rgba(201, 168, 76, 0.18);
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.1), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 248, 241, 0.92));
}

.admin-readiness-checklist-panel.is-ready {
    border-color: rgba(26, 107, 107, 0.18);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 248, 247, 0.92));
}

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

.admin-readiness-check-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-height: 8rem;
    padding: 0.9rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.84);
}

.admin-readiness-check-card.is-ready {
    border-color: rgba(26, 107, 107, 0.16);
    background: rgba(236, 245, 244, 0.82);
}

.admin-readiness-check-card.is-pending {
    border-color: rgba(201, 168, 76, 0.24);
    background: rgba(252, 249, 241, 0.86);
}

.admin-readiness-check-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 15px;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
}

.admin-readiness-check-card.is-pending .admin-readiness-check-icon {
    background: rgba(224, 180, 83, 0.16);
    color: #7a5a0a;
}

.admin-readiness-check-card > div {
    display: grid;
    gap: 0.25rem;
}

.admin-readiness-check-card strong {
    font-size: 1.12rem;
    color: var(--ink);
}

.admin-readiness-check-card span:not(.admin-readiness-check-icon) {
    color: var(--mid);
    line-height: 1.45;
}

.admin-manager-action-list,
.admin-manager-relationship-list {
    display: grid;
    gap: 0.9rem;
}

.admin-manager-action-card {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 245, 239, 0.93));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.admin-manager-action-card h3,
.admin-manager-relationship-row h3 {
    margin: 0;
}

.admin-manager-action-card p,
.admin-manager-relationship-row p {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.admin-manager-relationship-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 245, 239, 0.93));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.admin-manager-relationship-copy {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.admin-manager-relationship-copy > div {
    display: grid;
    gap: 0.2rem;
}

.admin-manager-relationship-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

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

.admin-manager-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.92));
}

.admin-manager-filter-shell {
    display: grid;
    gap: 0.95rem;
    margin: 1rem 0 1.35rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 245, 239, 0.9));
}

.admin-manager-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    align-items: end;
}

.admin-manager-filter-grid.has-search {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-manager-search-field {
    grid-column: 1 / -1;
}

.admin-manager-filter-actions {
    flex-wrap: nowrap;
    align-items: center;
}

.admin-manager-filter-actions .button {
    white-space: nowrap;
}

.dashboard-filter-note {
    margin: -0.2rem 0 1rem;
    color: var(--mid);
    line-height: 1.65;
}

.admin-manager-library-list {
    display: grid;
    gap: 0.95rem;
}

.admin-manager-library-row {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.65fr) minmax(220px, auto);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.05rem 1rem 1.2rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 5px solid rgba(26, 107, 107, 0.42);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 253, 0.92));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-manager-library-row:nth-child(even) {
    background:
        radial-gradient(circle at top right, rgba(224, 180, 83, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 248, 241, 0.94));
}

.admin-manager-library-row.needs-attention {
    border-color: rgba(201, 168, 76, 0.26);
    border-left-color: rgba(201, 168, 76, 0.78);
}

.admin-manager-library-row.tone-success {
    border-left-color: rgba(26, 107, 107, 0.74);
}

.admin-manager-library-row.tone-ink {
    border-left-color: rgba(15, 23, 42, 0.22);
}

.admin-manager-library-row:hover,
.admin-manager-library-row:focus-within {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.admin-manager-library-main {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    min-width: 0;
}

.admin-manager-library-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: rgba(26, 107, 107, 0.1);
    color: var(--teal);
    flex-shrink: 0;
}

.admin-manager-library-copy {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.admin-manager-library-copy h3 {
    margin: 0;
}

.admin-manager-library-copy p:last-child {
    margin: 0;
    color: var(--mid);
    line-height: 1.6;
}

.admin-manager-health-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.curriculum-health-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.34rem 0.58rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(241, 245, 249, 0.82);
    color: var(--ink);
    font-family: var(--mono);
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.curriculum-health-badge.tone-success {
    border-color: rgba(26, 107, 107, 0.18);
    background: rgba(26, 107, 107, 0.11);
    color: var(--teal);
}

.curriculum-health-badge.tone-warning,
.curriculum-health-badge.tone-draft {
    border-color: rgba(224, 180, 83, 0.28);
    background: rgba(224, 180, 83, 0.15);
    color: #7a5a0a;
}

.curriculum-health-badge.tone-empty,
.curriculum-health-badge.tone-setup {
    border-color: rgba(15, 23, 42, 0.1);
    background: rgba(15, 23, 42, 0.06);
    color: var(--muted);
}

.admin-manager-library-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.admin-manager-library-stat {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.admin-manager-library-stat span {
    font-family: "Space Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--teal);
}

.admin-manager-library-stat strong {
    font-size: 0.98rem;
    color: var(--ink);
}

.admin-manager-library-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.admin-manager-library-actions .button {
    min-width: 0;
}

.panel-head-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.admin-empty-state {
    display: grid;
    justify-items: start;
    gap: 0.8rem;
    padding: 1.25rem;
    border: 1px dashed rgba(26, 107, 107, 0.28);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.72);
}

.admin-empty-state.compact {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.admin-empty-state i {
    width: 2.7rem;
    height: 2.7rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(26, 107, 107, 0.12);
    color: var(--brand);
}

.admin-empty-copy {
    display: grid;
    gap: 0.28rem;
}

.admin-empty-copy h3,
.admin-empty-copy p {
    margin: 0;
}

.admin-empty-copy p {
    color: var(--mid);
    line-height: 1.6;
}

.admin-empty-actions {
    margin-top: 0.1rem;
}

.admin-builder-stage-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.admin-builder-stage-bar span {
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(26, 107, 107, 0.14);
    background: rgba(26, 107, 107, 0.06);
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-family: var(--mono);
}

.admin-builder-stage-bar span.is-active {
    background: rgba(224, 180, 83, 0.14);
    border-color: rgba(224, 180, 83, 0.3);
}

@media (max-width: 900px) {
    .admin-manager-guidance-grid {
        grid-template-columns: 1fr;
    }

    .admin-manager-filter-grid,
    .admin-manager-library-row {
        grid-template-columns: 1fr;
    }

    .admin-manager-search-field {
        grid-column: auto;
    }

    .admin-manager-filter-actions {
        flex-wrap: wrap;
    }

    .admin-readiness-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-empty-state.compact {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-empty-state.compact .admin-empty-actions {
        grid-column: 1 / -1;
    }

    .admin-manager-library-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-ges-review-checks {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-manager-library-actions {
        justify-content: flex-start;
    }

    .panel-head-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .admin-structure-tree {
        padding: 0.85rem;
    }

    .admin-structure-tree-list .admin-structure-tree-list {
        margin-left: 0.7rem;
        padding-left: 0.8rem;
    }

    .admin-structure-tree-node {
        padding: 0.8rem;
    }
}

@media (max-width: 700px) {
    .commercial-lane-head {
        flex-direction: column;
    }

    .commercial-lane-metrics {
        grid-template-columns: 1fr;
    }

    .commercial-lane-card .button-row .button {
        flex: 1 1 100%;
    }

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

    .admin-operational-meta {
        grid-template-columns: 1fr;
    }

    .admin-readiness-check-grid {
        grid-template-columns: 1fr;
    }

    .admin-manager-tree-detail-grid .admin-manager-action-list {
        grid-template-columns: 1fr;
    }

    .admin-school-access-card-grid {
        grid-template-columns: 1fr;
    }

    .admin-ges-review-heading,
    .admin-ges-review-main {
        flex-direction: column;
    }

    .admin-ges-review-checks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-ges-review-actions,
    .admin-ges-decision-form {
        align-items: stretch;
    }

    .admin-ges-review-actions .button,
    .admin-ges-decision-form .button {
        flex: 1 1 100%;
    }
}

.student-library-filter-panel,
.student-library-panel {
    display: grid;
    gap: 1rem;
}

.student-library-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.student-library-filter-row .text-link.active {
    color: var(--brand-700);
    font-weight: 700;
}

.student-library-list {
    display: grid;
    gap: 1rem;
}

.student-library-item {
    display: grid;
    gap: 0.9rem;
    align-items: start;
}

.student-library-item-shell {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.95rem;
    align-items: start;
    padding: 1.2rem 1.25rem;
    border: 1px solid rgba(15, 76, 92, 0.12);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 249, 0.92));
    box-shadow: 0 20px 36px rgba(15, 23, 42, 0.06);
    transition: transform 0.24s ease, box-shadow 0.26s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.student-library-item-shell:active {
    transform: scale(0.994);
}

.student-library-item-main {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.student-library-item-teal {
    border-color: rgba(26, 107, 107, 0.16);
}

.student-library-item-gold,
.student-library-item-steady {
    border-color: rgba(201, 168, 76, 0.18);
}

.student-library-item-watch {
    border-color: rgba(116, 90, 31, 0.18);
}

.student-library-item-success {
    border-color: rgba(72, 146, 89, 0.22);
}

.student-library-item-warning {
    border-color: rgba(192, 94, 58, 0.22);
}

.student-library-item-title-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.85rem;
}

.student-library-title-block {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}

.student-library-item-title-row h3 {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.student-library-item-kicker-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.student-library-summary-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}

.student-library-result-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.78rem;
    border-radius: 999px;
    background: rgba(230, 241, 241, 0.94);
    color: var(--teal);
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.student-library-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.46rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 76, 92, 0.12);
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    font-size: 0.74rem;
    font-weight: 700;
}

.student-library-status-pill i {
    font-size: 0.48rem;
}

.student-library-status-pill.tone-success {
    border-color: rgba(72, 146, 89, 0.22);
    background: rgba(245, 252, 246, 0.95);
    color: #2f6d40;
}

.student-library-status-pill.tone-watch {
    border-color: rgba(201, 168, 76, 0.24);
    background: rgba(255, 251, 241, 0.96);
    color: #8d6e19;
}

.student-library-status-pill.tone-warning {
    border-color: rgba(192, 94, 58, 0.2);
    background: rgba(255, 245, 241, 0.96);
    color: #9a4524;
}

.student-library-status-pill.tone-steady,
.student-library-status-pill.tone-teal {
    border-color: rgba(15, 76, 92, 0.14);
    background: rgba(241, 248, 247, 0.96);
    color: var(--teal);
}

.student-library-metric-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.student-library-metric-pill {
    padding: 0.78rem 0.88rem;
    border: 1px solid rgba(15, 76, 92, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
}

.student-library-metric-pill span {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--brand-700);
    font-size: 0.67rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.student-library-metric-pill strong {
    font-size: 0.96rem;
}

.student-library-meta-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1rem;
    color: var(--mid);
    font-size: 0.84rem;
}

.student-library-meta-inline span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.student-library-action-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.8rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(15, 76, 92, 0.08);
}

.student-library-action-row .button {
    width: 100%;
    justify-content: center;
}

.student-empty-state {
    padding: 1.2rem;
    border: 1px dashed rgba(15, 76, 92, 0.2);
    border-radius: 22px;
    background: rgba(241, 248, 247, 0.72);
}

.student-empty-state strong,
.student-empty-state p {
    display: block;
}

.student-empty-state p {
    margin: 0.45rem 0 0;
}

.app-shell.has-student-mobile-nav .course-hero-copy {
    padding: 1.45rem 1.55rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.24), transparent 34%),
        linear-gradient(135deg, rgba(18, 102, 105, 0.98), rgba(46, 158, 158, 0.96));
    box-shadow: 0 18px 42px rgba(26, 107, 107, 0.16);
    color: #fff;
}

.app-shell.has-student-mobile-nav .course-hero-copy .eyebrow,
.app-shell.has-student-mobile-nav .course-hero-copy h1 {
    color: #fff;
}

.app-shell.has-student-mobile-nav .course-hero-copy .eyebrow {
    color: var(--gold-light);
}

.app-shell.has-student-mobile-nav .course-hero-copy .lead {
    color: rgba(255, 255, 255, 0.84);
}

.app-shell.has-student-mobile-nav .course-hero-card {
    border: 1px solid rgba(15, 76, 92, 0.1);
    background:
        radial-gradient(circle at top right, rgba(26, 107, 107, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(244, 250, 249, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.app-shell.has-student-mobile-nav .dashboard-intro,
.app-shell.has-student-mobile-nav .student-hero-band,
.app-shell.has-student-mobile-nav .assessment-result-band,
.app-shell.has-student-mobile-nav .course-hero-card,
.app-shell.has-student-mobile-nav .content-panel,
.app-shell.has-student-mobile-nav .student-library-item-shell,
.app-shell.has-student-mobile-nav .certificate-card,
.app-shell.has-student-mobile-nav .student-course-card,
.app-shell.has-student-mobile-nav .student-quick-card,
.app-shell.has-student-mobile-nav .lesson-journey-card,
.app-shell.has-student-mobile-nav .student-secondary-item,
.app-shell.has-student-mobile-nav .student-timeline-item {
    animation: studentSurfaceIn 0.3s ease both;
}

.app-shell.has-student-mobile-nav .student-pulse-grid > *:nth-child(1),
.app-shell.has-student-mobile-nav .student-stat-grid > *:nth-child(1),
.app-shell.has-student-mobile-nav .student-library-list > *:nth-child(1) {
    animation-delay: 0.02s;
}

.app-shell.has-student-mobile-nav .student-pulse-grid > *:nth-child(2),
.app-shell.has-student-mobile-nav .student-stat-grid > *:nth-child(2),
.app-shell.has-student-mobile-nav .student-library-list > *:nth-child(2) {
    animation-delay: 0.05s;
}

.app-shell.has-student-mobile-nav .student-pulse-grid > *:nth-child(3),
.app-shell.has-student-mobile-nav .student-stat-grid > *:nth-child(3),
.app-shell.has-student-mobile-nav .student-library-list > *:nth-child(3) {
    animation-delay: 0.08s;
}

.app-shell.has-student-mobile-nav .student-pulse-grid > *:nth-child(4),
.app-shell.has-student-mobile-nav .student-stat-grid > *:nth-child(4),
.app-shell.has-student-mobile-nav .student-library-list > *:nth-child(4) {
    animation-delay: 0.11s;
}

@media (hover: hover) and (pointer: fine) {
    .app-shell.has-student-mobile-nav .content-panel:hover,
    .app-shell.has-student-mobile-nav .student-library-item-shell:hover,
    .app-shell.has-student-mobile-nav .student-course-card:hover,
    .app-shell.has-student-mobile-nav .student-secondary-item:hover,
    .app-shell.has-student-mobile-nav .student-timeline-item:hover,
    .app-shell.has-student-mobile-nav .lesson-journey-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(15, 23, 42, 0.09);
    }
}

.student-profile-grid {
    align-items: stretch;
}

.student-profile-hub-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 1rem;
    align-items: start;
}

.student-profile-main,
.student-profile-side {
    display: grid;
    gap: 1rem;
}

.student-profile-side {
    align-self: stretch;
}

.student-profile-shortcuts-panel,
.student-profile-details-panel,
.student-profile-notification-panel,
.student-profile-activity-panel {
    height: auto;
}

.student-profile-activity-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 1rem;
    align-items: start;
}

.student-profile-activity-panel .student-activity-list {
    margin: 0;
    padding: 0;
}

.student-profile-activity-panel .student-activity-list li {
    gap: 0.3rem;
}

.student-profile-activity-panel .student-activity-list .text-link {
    margin-top: 0.1rem;
}

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

.student-profile-details-panel .student-profile-notes {
    grid-template-columns: 1fr;
}

.student-profile-details-panel .student-focus-mini-card {
    min-width: 0;
}

.student-profile-details-panel .student-focus-mini-card strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 900px) {
    .student-notification-preview-list {
        grid-template-columns: 1fr;
    }

    .student-notification-preview-item {
        align-items: stretch;
        flex-direction: column;
    }

    .student-notification-preview-item .text-link {
        align-self: flex-start;
    }

    .student-hero-band {
        flex-direction: column;
        align-items: stretch;
        min-width: 0;
        overflow: hidden;
    }

    .student-hero-copy {
        max-width: none;
    }

    .app-shell.has-student-mobile-nav .sidebar,
    .app-shell.has-student-mobile-nav .app-sidebar-toggle {
        display: none;
    }

    .app-shell.has-student-mobile-nav .app-header-main {
        width: 100%;
    }

    body.interactive-video-page .app-shell.has-student-mobile-nav .app-header {
        display: none;
    }

    .app-shell.has-student-mobile-nav .app-main,
    .app-shell.has-student-mobile-nav.sidebar-collapsed .app-main {
        margin-left: 0;
        width: 100%;
    }

    .app-shell.has-student-mobile-nav .app-content {
        padding-bottom: calc(6.7rem + env(safe-area-inset-bottom, 0px));
    }

    .app-shell.has-student-mobile-nav .lesson-player-shell {
        gap: 0.9rem;
    }

    .app-shell.has-student-mobile-nav .lesson-hero-band {
        display: grid;
        padding: 1rem;
        gap: 0.85rem;
    }

    .app-shell.has-student-mobile-nav .lesson-layout,
    .app-shell.has-student-mobile-nav .interactive-lesson-layout,
    .app-shell.has-student-mobile-nav .lesson-layout-revamp {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        overflow-x: hidden;
    }

    .app-shell.has-student-mobile-nav .lesson-player,
    .app-shell.has-student-mobile-nav .lesson-video-showcase,
    .app-shell.has-student-mobile-nav .interactive-video-stage {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .app-shell.has-student-mobile-nav .lesson-side {
        display: grid;
        width: 100%;
        max-width: 100%;
    }

    .app-shell.has-student-mobile-nav .lesson-course-tree-panel {
        display: grid;
        scroll-margin-top: 1rem;
    }

    .app-shell.has-student-mobile-nav .lesson-sequence-tree {
        max-height: none;
        overflow: visible;
    }

    .app-shell.has-student-mobile-nav .lesson-reading-panel,
    .app-shell.has-student-mobile-nav .lesson-support-grid {
        scroll-margin-top: 1rem;
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-tabs {
        position: sticky;
        top: 0.6rem;
        z-index: 18;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.4rem;
        padding: 0.42rem;
        border: 1px solid rgba(26, 107, 107, 0.12);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
        backdrop-filter: blur(12px);
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-tabs a {
        min-height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        border-radius: 14px;
        color: var(--mid);
        font-size: 0.72rem;
        font-weight: 800;
        text-decoration: none;
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-tabs a:first-child {
        background: rgba(26, 107, 107, 0.12);
        color: var(--teal);
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-next-bar {
        position: sticky;
        bottom: calc(5.95rem + env(safe-area-inset-bottom, 0px));
        z-index: 19;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.72rem;
        border: 1px solid rgba(26, 107, 107, 0.14);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
        backdrop-filter: blur(14px);
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-next-bar div {
        display: grid;
        gap: 0.1rem;
        min-width: 0;
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-next-bar span:first-child {
        font-family: var(--mono);
        font-size: 0.58rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--teal);
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-next-bar strong {
        overflow: hidden;
        color: var(--ink);
        font-size: 0.82rem;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-shell.has-student-mobile-nav .lesson-mobile-next-bar .button {
        flex: 0 0 auto;
        min-width: 5.4rem;
        justify-content: center;
    }

    .student-mobile-nav {
        position: fixed;
        left: 0.85rem;
        right: 0.85rem;
        bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
        z-index: 48;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.28rem;
        padding: 0.42rem 0.42rem calc(0.42rem + env(safe-area-inset-bottom, 0px));
        border: 1px solid rgba(26, 107, 107, 0.14);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
        backdrop-filter: blur(14px);
        animation: studentNavIn 0.28s ease both;
    }

    .student-mobile-nav-item {
        min-height: 54px;
        display: grid;
        gap: 0.2rem;
        place-items: center;
        padding: 0.4rem 0.18rem;
        border-radius: 14px;
        color: var(--mid);
        text-decoration: none;
        font-size: 0.58rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.1;
        transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    }

    .student-mobile-nav-item:focus-visible {
        outline: 3px solid rgba(201, 168, 76, 0.42);
        outline-offset: 2px;
        background: rgba(232, 244, 244, 0.96);
        color: var(--teal);
    }

    .student-mobile-nav-item i {
        font-size: 0.88rem;
    }

    .student-mobile-nav-item span {
        white-space: nowrap;
    }

    .student-mobile-nav-item.active {
        background: linear-gradient(180deg, rgba(26, 107, 107, 0.14), rgba(255, 255, 255, 0.96));
        color: var(--teal);
    }

    .student-mobile-nav-item.is-danger {
        color: #9b3027;
    }

    .student-mobile-nav-item.is-danger:focus-visible,
    .student-mobile-nav-item.is-danger:active {
        background: rgba(212, 90, 76, 0.1);
        color: #8f261f;
    }

    .student-mobile-nav-item.is-disabled {
        opacity: 0.45;
    }

    .student-mobile-nav-item:not(.is-disabled):active {
        transform: translateY(1px) scale(0.98);
    }

    .student-detail-grid,
    .student-summary-shell,
    .student-workspace-grid,
    .student-profile-hub-grid,
    .student-profile-activity-grid {
        grid-template-columns: 1fr;
    }

    .student-course-top,
    .student-context-head,
    .student-secondary-item,
    .student-secondary-meta {
        min-width: 0;
    }

    .student-secondary-copy,
    .student-context-copy,
    .student-subject-scope-copy,
    .student-course-top > div {
        min-width: 0;
    }

    .catalog-learner-band {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .app-shell.has-student-mobile-nav .student-hero-actions,
    .app-shell.has-student-mobile-nav .dashboard-intro .button-row,
    .app-shell.has-student-mobile-nav .course-hero-copy .button-row,
    .app-shell.has-student-mobile-nav .student-primary-actions,
    .app-shell.has-student-mobile-nav .student-course-actions,
    .app-shell.has-student-mobile-nav .lesson-journey-actions,
    .app-shell.has-student-mobile-nav .learner-assessment-result-summary-card .button-row,
    .app-shell.has-student-mobile-nav .certificate-card .button-row {
        width: 100%;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        gap: 0.7rem;
        padding-bottom: 0.15rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .app-shell.has-student-mobile-nav .student-hero-actions::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .dashboard-intro .button-row::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .course-hero-copy .button-row::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .student-primary-actions::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .student-course-actions::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .lesson-journey-actions::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .learner-assessment-result-summary-card .button-row::-webkit-scrollbar,
    .app-shell.has-student-mobile-nav .certificate-card .button-row::-webkit-scrollbar {
        display: none;
    }

    .app-shell.has-student-mobile-nav .student-hero-actions .button,
    .app-shell.has-student-mobile-nav .dashboard-intro .button-row .button,
    .app-shell.has-student-mobile-nav .course-hero-copy .button-row .button,
    .app-shell.has-student-mobile-nav .student-primary-actions .button,
    .app-shell.has-student-mobile-nav .student-course-actions .button,
    .app-shell.has-student-mobile-nav .lesson-journey-actions .button,
    .app-shell.has-student-mobile-nav .learner-assessment-result-summary-card .button-row .button,
    .app-shell.has-student-mobile-nav .certificate-card .button-row .button {
        width: auto;
        min-width: max-content;
        flex: 0 0 auto;
        justify-content: center;
    }

    .app-shell.has-student-mobile-nav .catalog-learner-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        justify-content: stretch;
        overflow: visible;
        padding-bottom: 0;
    }

    .app-shell.has-student-mobile-nav .catalog-learner-actions .button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .student-mobile-duplicate-action {
        display: none !important;
    }

    .student-library-item-title-row {
        flex-direction: column;
    }

    .student-library-metric-row,
    .student-profile-notes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .student-library-metric-row,
    .student-profile-notes {
        grid-template-columns: 1fr 1fr;
    }

    .student-library-action-row {
        grid-template-columns: 1fr 1fr;
    }

    .student-library-meta-inline {
        display: grid;
        gap: 0.45rem;
    }

    .app-shell.has-student-mobile-nav .student-hero-actions .button,
    .app-shell.has-student-mobile-nav .dashboard-intro .button-row .button,
    .app-shell.has-student-mobile-nav .course-hero-copy .button-row .button,
    .app-shell.has-student-mobile-nav .student-primary-actions .button,
    .app-shell.has-student-mobile-nav .student-course-actions .button,
    .app-shell.has-student-mobile-nav .lesson-journey-actions .button,
    .app-shell.has-student-mobile-nav .learner-assessment-result-summary-card .button-row .button,
    .app-shell.has-student-mobile-nav .certificate-card .button-row .button {
        padding: 0.78rem 1rem;
        font-size: 0.78rem;
    }

    .student-library-item {
        gap: 0.75rem;
    }

    .student-library-item-shell {
        padding: 1rem;
    }

    .student-library-result-chip {
        white-space: normal;
    }

    .student-library-summary-line {
        gap: 0.5rem;
    }

    .app-shell.has-student-mobile-nav .app-content {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .app-shell.has-student-mobile-nav .dashboard-intro,
    .app-shell.has-student-mobile-nav .student-hero-band,
    .app-shell.has-student-mobile-nav .assessment-result-band,
    .app-shell.has-student-mobile-nav .content-panel,
    .app-shell.has-student-mobile-nav .certificate-card,
    .app-shell.has-student-mobile-nav .student-library-item-shell {
        border-radius: 18px;
    }

    .app-shell.has-student-mobile-nav .dashboard-intro,
    .app-shell.has-student-mobile-nav .student-hero-band,
    .app-shell.has-student-mobile-nav .assessment-result-band,
    .app-shell.has-student-mobile-nav .content-panel,
    .app-shell.has-student-mobile-nav .certificate-card {
        padding: 1rem;
    }

    .app-shell.has-student-mobile-nav .course-hero {
        gap: 1rem;
    }

    .app-shell.has-student-mobile-nav .course-hero-card {
        gap: 0.85rem;
    }

    .app-shell.has-student-mobile-nav .meta-pairs {
        gap: 0.65rem 0.85rem;
        margin: 0.85rem 0 1rem;
    }

    .app-shell.has-student-mobile-nav .student-detail-grid,
    .app-shell.has-student-mobile-nav .student-summary-shell,
    .app-shell.has-student-mobile-nav .student-workspace-grid,
    .app-shell.has-student-mobile-nav .learner-assessment-result-flow,
    .app-shell.has-student-mobile-nav .lesson-player,
    .app-shell.has-student-mobile-nav .lesson-insight-grid,
    .app-shell.has-student-mobile-nav .lesson-support-grid {
        gap: 0.9rem;
    }

    .app-shell.has-student-mobile-nav .student-secondary-item,
    .app-shell.has-student-mobile-nav .student-timeline-item,
    .app-shell.has-student-mobile-nav .lesson-journey-card,
    .app-shell.has-student-mobile-nav .learner-course-snapshot-card,
    .app-shell.has-student-mobile-nav .student-context-stat,
    .app-shell.has-student-mobile-nav .student-subject-scope-row,
    .app-shell.has-student-mobile-nav .assessment-question-card-note {
        border-radius: 16px;
    }

    .app-shell.has-student-mobile-nav .lesson-video-showcase {
        border-radius: 12px;
        background: #050505;
        box-shadow: 0 18px 38px rgba(15, 23, 42, 0.2);
    }

    .app-shell.has-student-mobile-nav .lesson-video-showcase-head,
    .app-shell.has-student-mobile-nav .interactive-video-toolbar {
        padding: 0.78rem 0.9rem;
    }

    .app-shell.has-student-mobile-nav .lesson-video-showcase-head {
        display: none;
    }

    .app-shell.has-student-mobile-nav .lesson-video-showcase-head .eyebrow-inline {
        font-size: 0.62rem;
        letter-spacing: 0.16em;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage {
        min-height: auto;
        aspect-ratio: 16 / 9;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage.has-active-interaction {
        min-height: auto;
        aspect-ratio: 16 / 9;
    }

    .app-shell.has-student-mobile-nav .interactive-video-card {
        width: min(100%, calc(100% - 0.25rem));
        max-height: calc(100% - 0.25rem);
        padding: 1rem;
        border-radius: 20px;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls {
        left: 0.55rem;
        right: 0.55rem;
        bottom: 0.55rem;
        gap: 0.36rem;
        padding: 0.38rem;
        grid-template-columns: 38px minmax(0, 1fr) 38px 38px;
        grid-template-areas: "play timeline audio fullscreen";
        align-items: center;
        border-radius: 999px;
        background: linear-gradient(180deg, rgba(10, 45, 43, 0.86), rgba(7, 22, 24, 0.94));
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen {
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100dvh;
        max-width: 100vw;
        max-height: 100dvh;
        min-height: 0;
        transform: none;
        border-radius: 0;
        z-index: 1400;
        overflow: hidden;
        aspect-ratio: auto;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage:fullscreen,
    .app-shell.has-student-mobile-nav .interactive-video-stage:-webkit-full-screen {
        width: 100vw;
        height: 100dvh;
        max-width: 100vw;
        max-height: 100dvh;
        aspect-ratio: auto;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage:fullscreen .interactive-video-element,
    .app-shell.has-student-mobile-nav .interactive-video-stage:-webkit-full-screen .interactive-video-element,
    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen .interactive-video-element {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: cover;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage:fullscreen .interactive-video-overlay,
    .app-shell.has-student-mobile-nav .interactive-video-stage:-webkit-full-screen .interactive-video-overlay,
    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen .interactive-video-overlay {
        width: 100%;
        height: 100%;
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen .interactive-video-controls {
        left: calc(0.7rem + env(safe-area-inset-left, 0px));
        right: calc(0.7rem + env(safe-area-inset-right, 0px));
        bottom: calc(0.7rem + env(safe-area-inset-bottom, 0px));
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen .interactive-video-step-nav {
        top: calc(0.7rem + env(safe-area-inset-top, 0px));
        left: calc(0.7rem + env(safe-area-inset-left, 0px));
        right: calc(0.7rem + env(safe-area-inset-right, 0px));
    }

    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen .interactive-video-step-button {
        min-height: 36px;
        padding: 0.48rem 0.68rem;
        font-size: 0.68rem;
    }

    .app-shell.has-student-mobile-nav .lesson-video-showcase-actions [data-interactive-video-fullscreen] {
        display: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls #interactive-video-play-toggle {
        grid-area: play;
        min-width: 38px;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-timeline {
        grid-area: timeline;
        width: 100%;
        min-width: 0;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.34rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-audio {
        grid-area: audio;
        display: block;
        width: auto;
        min-width: 0;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls [data-interactive-video-fullscreen] {
        grid-area: fullscreen;
        justify-self: end;
    }

    .app-shell.has-student-mobile-nav .interactive-video-control-button {
        width: 38px;
        min-width: 38px;
        min-height: 38px;
        padding: 0;
        border-radius: 12px;
        box-shadow: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls #interactive-video-play-toggle span,
    .app-shell.has-student-mobile-nav .interactive-video-controls [data-interactive-video-fullscreen] span {
        display: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-time {
        font-size: 0.62rem;
        min-width: 2.1rem;
        text-align: right;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls #interactive-video-duration {
        display: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-seek,
    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-volume {
        width: 100%;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-audio .interactive-video-control-button {
        min-width: 38px;
        padding-inline: 0;
    }

    .app-shell.has-student-mobile-nav .interactive-video-controls .interactive-video-volume {
        display: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-play-overlay {
        width: 4.15rem;
        height: 4.15rem;
        grid-template-columns: 1fr;
        place-items: center;
        padding: 0;
        border-radius: 999px;
        background: rgba(9, 33, 35, 0.72);
    }

    .app-shell.has-student-mobile-nav .interactive-video-play-overlay-icon {
        width: 3.45rem;
        height: 3.45rem;
        font-size: 1rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-play-overlay-copy {
        display: none;
    }

    .app-shell.has-student-mobile-nav .interactive-video-overlay {
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0.45rem;
        align-items: center;
        overflow-x: hidden;
    }

    .app-shell.has-student-mobile-nav .interactive-video-actions {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0.55rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-actions .button {
        width: auto;
        flex: 1 1 0;
        min-width: 0;
        min-height: 34px;
        padding: 0.42rem 0.55rem;
        justify-content: center;
        color: #fff;
    }

    .app-shell.has-student-mobile-nav .interactive-video-actions .button span {
        display: inline !important;
        color: inherit;
        white-space: nowrap;
        font-size: 0.7rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-card {
        box-sizing: border-box;
        max-height: calc(100% - 0.25rem);
        gap: 0.28rem;
        padding: 0.45rem;
        border-radius: 12px;
    }

    .app-shell.has-student-mobile-nav .interactive-video-card-head {
        gap: 0.38rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-card-head strong {
        font-size: 0.74rem;
        line-height: 1.25;
    }

    .app-shell.has-student-mobile-nav .interactive-video-card-head .pill {
        font-size: 0.5rem;
        letter-spacing: 0.08em;
        padding: 0.22rem 0.38rem;
    }

    .app-shell.has-student-mobile-nav .interactive-video-question {
        font-size: 0.72rem;
        line-height: 1.25;
    }

    .app-shell.has-student-mobile-nav .interactive-video-options {
        gap: 0.26rem;
    }

    .app-shell.has-student-mobile-nav .interactive-option-button,
    .app-shell.has-student-mobile-nav .interactive-video-prompt {
        gap: 0.34rem;
        padding: 0.3rem 0.4rem;
        border-radius: 9px;
    }

    .app-shell.has-student-mobile-nav .interactive-option-button strong {
        width: 1.35rem;
        height: 1.35rem;
        font-size: 0.64rem;
    }

    .app-shell.has-student-mobile-nav .interactive-option-button span,
    .app-shell.has-student-mobile-nav .interactive-video-prompt,
    .app-shell.has-student-mobile-nav .interactive-video-feedback {
        font-size: 0.66rem;
        line-height: 1.25;
    }

    .app-shell.has-student-mobile-nav .interactive-video-feedback {
        padding: 0.5rem 0.58rem;
        border-radius: 10px;
    }

    .app-shell.has-student-mobile-nav .interactive-video-toolbar {
        align-items: flex-start;
        gap: 0.6rem;
        background: #0d0d0d;
    }

    .app-shell.has-student-mobile-nav .lesson-toolbar-copy strong {
        font-size: 0.9rem;
    }

    .app-shell.has-student-mobile-nav .lesson-toolbar-copy p {
        font-size: 0.68rem;
    }

    .app-shell.has-student-mobile-nav .assessment-question-card-topline {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.55rem;
    }

    .app-shell.has-student-mobile-nav .certificate-card h3 {
        font-size: 1.55rem;
        line-height: 1.2;
    }

    .app-shell.has-student-mobile-nav .certificate-card h4 {
        font-size: 1.08rem;
        line-height: 1.35;
    }

    .app-shell.has-student-mobile-nav .certificate-meta {
        justify-content: flex-start;
        gap: 0.55rem 1rem;
        margin: 1rem 0;
        text-align: left;
    }

    .app-shell.has-student-mobile-nav .certificate-verification-note {
        margin: 1rem 0 1.2rem;
        max-width: none;
        text-align: left;
    }

    .classroom-entry-card-head p:last-child,
    .classroom-entry-field > small,
    .learner-assessment-attempt-copy p,
    .learner-assessment-submit-card p,
    .learner-assessment-section-break-copy p,
    .learner-assessment-latest-score + p {
        line-height: 1.6;
    }
}

@media (max-width: 768px) and (orientation: portrait) {
    .app-shell.has-student-mobile-nav .interactive-video-stage.is-manual-fullscreen {
        inset: auto;
        top: 50%;
        left: 50%;
        width: 100dvh;
        height: 100vw;
        max-width: 100dvh;
        max-height: 100vw;
        transform: translate(-50%, -50%) rotate(90deg);
        transform-origin: center;
    }
}

@media (max-width: 960px) {
    .learner-assessment-work-console {
        top: 0.65rem;
    }

    .learner-assessment-work-console .learner-assessment-mobile-console-head {
        grid-template-columns: 1fr;
    }

    .learner-assessment-console-actions {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
        width: 100%;
    }

    .learner-assessment-work-console .learner-assessment-console-actions .button {
        width: auto;
        justify-content: center;
    }

    .learner-assessment-nav-toggle {
        display: flex;
    }

    .learner-assessment-nav-shell .learner-assessment-mobile-nav {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        padding-bottom: 0;
        pointer-events: none;
        transition: max-height 0.22s ease, opacity 0.18s ease, padding 0.18s ease;
    }

    .learner-assessment-nav-shell.is-open .learner-assessment-mobile-nav {
        max-height: 10rem;
        opacity: 1;
        overflow-x: auto;
        padding-bottom: 0.2rem;
        pointer-events: auto;
    }

    .learner-assessment-form .learner-assessment-question-card {
        scroll-margin-top: 1rem;
    }

    .learner-assessment-question-controls {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .learner-assessment-question-controls .button {
        min-width: 0;
        width: 100%;
    }

    .learner-assessment-confirm-card {
        display: grid;
    }

    .learner-assessment-confirm-card .button-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
        width: 100%;
    }

    .assessment-text-entry-active .learner-assessment-work-console {
        position: static;
        top: auto;
        z-index: 1;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
        backdrop-filter: none;
    }

    .assessment-text-entry-active .learner-assessment-work-console .learner-assessment-mobile-nav,
    .assessment-text-entry-active .learner-assessment-work-console .learner-assessment-console-actions {
        display: none;
    }

    .assessment-text-entry-active .student-mobile-nav {
        opacity: 0;
        visibility: hidden;
        transform: translateY(1.25rem);
        pointer-events: none;
    }

    .assessment-text-entry-active .learner-assessment-response textarea {
        min-height: 180px;
        scroll-margin-top: 1rem;
    }
}

@media (max-width: 560px) {
    .learner-assessment-focus-hero .learner-assessment-hero-meta {
        gap: 0.45rem;
    }

    .learner-assessment-focus-hero .pill {
        flex: 1 1 auto;
        justify-content: center;
    }

    .learner-assessment-work-console {
        margin-inline: -0.15rem;
        border-radius: 18px;
    }

    .learner-assessment-work-console .learner-assessment-mobile-nav {
        gap: 0.45rem;
    }

    .learner-assessment-work-console .learner-assessment-nav-button {
        flex-basis: 40px;
        min-height: 40px;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .oversight-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .oversight-summary-grid {
        grid-template-columns: 1fr;
    }

    .admin-course-pagination-row {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-course-pagination-row .button-row {
        justify-content: stretch;
    }

    .admin-course-pagination-row .button {
        flex: 1 1 0;
    }

    .certificate-queue-heading {
        flex-direction: column;
    }

    .certificate-trust-note {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .certificate-trust-note p {
        grid-column: 2;
    }

    .certificate-queue-row .admin-operational-meta > div,
    .certificate-queue-row .admin-operational-actions .button,
    .certificate-queue-row .admin-operational-actions .admin-inline-form {
        flex: 1 1 100%;
    }
}

/* Final landing-page hero balance: keep the homepage dramatic, but make inner pages tighter. */
.landing-page .landing-catalog-hero,
.landing-page .landing-detail-hero,
.landing-page .landing-pricing-hero,
.landing-page .landing-about-hero,
.landing-page .landing-contact-hero,
.landing-page .landing-mobile-lab-hero {
    align-items: start;
    padding-top: clamp(6rem, 8vw, 7.25rem);
    padding-bottom: clamp(2.4rem, 5vw, 3.75rem);
}

.landing-page .landing-catalog-copy,
.landing-page .landing-detail-copy,
.landing-page .landing-pricing-copy,
.landing-page .landing-about-copy,
.landing-page .landing-contact-copy,
.landing-page .landing-mobile-lab-copy {
    align-self: start;
    justify-content: start;
    padding-top: clamp(0.45rem, 1.4vw, 1.1rem);
}

.landing-page .landing-catalog-summary,
.landing-page .landing-detail-card,
.landing-page .landing-pricing-choice-card,
.landing-page .landing-about-story-card,
.landing-page .landing-contact-response-card,
.landing-page .landing-mobile-lab-card {
    align-self: start;
}

.landing-page .landing-catalog-copy h1,
.landing-page .landing-detail-copy h1,
.landing-page .landing-pricing-copy h1,
.landing-page .landing-about-copy h1,
.landing-page .landing-contact-copy h1,
.landing-page .landing-mobile-lab-copy h1 {
    max-width: 780px;
    font-size: clamp(2.05rem, 3.7vw, 3.45rem);
    line-height: 1.03;
    margin-bottom: 0.95rem;
}

.landing-page .landing-catalog-copy p:not(.eyebrow),
.landing-page .landing-detail-copy p:not(.eyebrow),
.landing-page .landing-pricing-copy > p:not(.eyebrow),
.landing-page .landing-about-copy > p:not(.eyebrow),
.landing-page .landing-contact-copy > p:not(.eyebrow),
.landing-page .landing-mobile-lab-copy > p:not(.eyebrow) {
    max-width: 620px;
    margin-bottom: 1.15rem;
    font-size: clamp(0.95rem, 1.18vw, 1.05rem);
    line-height: 1.66;
}

.landing-page .landing-pricing-choice-card h2,
.landing-page .landing-about-story-card h2,
.landing-page .landing-contact-response-card h2,
.landing-page .landing-mobile-lab-card h2 {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.12;
}

@media (max-width: 1120px) {
    .landing-page .landing-catalog-hero,
    .landing-page .landing-detail-hero,
    .landing-page .landing-pricing-hero,
    .landing-page .landing-about-hero,
    .landing-page .landing-contact-hero,
    .landing-page .landing-mobile-lab-hero {
        gap: 1.25rem;
    }
}

@media (max-width: 760px) {
    .landing-page .landing-catalog-hero,
    .landing-page .landing-detail-hero,
    .landing-page .landing-pricing-hero,
    .landing-page .landing-about-hero,
    .landing-page .landing-contact-hero,
    .landing-page .landing-mobile-lab-hero {
        padding-top: 6.4rem;
        padding-bottom: 2.15rem;
    }

    .landing-page .landing-catalog-copy,
    .landing-page .landing-detail-copy,
    .landing-page .landing-pricing-copy,
    .landing-page .landing-about-copy,
    .landing-page .landing-contact-copy,
    .landing-page .landing-mobile-lab-copy {
        padding-top: 0;
    }

    .landing-page .landing-catalog-copy h1,
    .landing-page .landing-detail-copy h1,
    .landing-page .landing-pricing-copy h1,
    .landing-page .landing-about-copy h1,
    .landing-page .landing-contact-copy h1,
    .landing-page .landing-mobile-lab-copy h1 {
        font-size: clamp(2rem, 9vw, 2.85rem);
        line-height: 1.05;
    }
}

@media print {
    .app-sidebar,
    .app-header,
    .school-print-hide {
        display: none !important;
    }

    .app-main,
    .app-content {
        padding: 0 !important;
        margin: 0 !important;
    }

    .school-handout-grid {
        display: block;
    }

    .school-handout-sheet {
        border: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        padding: 0 !important;
    }

    .school-handout-link-card,
    .school-handout-step-card,
    .school-handout-note,
    .school-handout-code {
        break-inside: avoid;
        background: #fff !important;
    }
}
