.student-shell {
    --student-primary: #3157e8;
    --student-primary-soft: #eef2ff;
    --student-violet: #7551df;
    --student-amber: #f2a929;
    --student-green: #1d9b72;
    --student-danger: #cf4b58;
    background:
        radial-gradient(circle at 6% 5%, rgba(49, 87, 232, .08), transparent 28rem),
        var(--bg-secondary, #f5f7fc);
    color: var(--text-color, #172b49);
    min-height: 100vh;
}

.student-shell header:not(.student-topbar) {
    background: transparent;
    box-shadow: none;
    height: auto;
    padding: 0;
    position: static;
    top: auto;
    width: auto;
    z-index: auto;
}

.student-topbar {
    align-items: center;
    backdrop-filter: blur(16px);
    background: color-mix(in srgb, var(--bg-color, #fff) 94%, transparent);
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(220px, 1fr);
    height: 76px;
    left: 0;
    padding: 0 clamp(20px, 4vw, 64px);
    position: sticky;
    right: 0;
    top: 0;
    z-index: 100;
}

.student-brand,
.student-brand:hover {
    align-items: center;
    color: var(--text-color, #172b49);
    display: inline-flex;
    gap: 12px;
    text-decoration: none;
}

.student-brand > span,
.student-section-icon {
    align-items: center;
    background: var(--student-primary-soft);
    border-radius: 14px;
    color: var(--student-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.student-brand strong { font-size: 1.05rem; font-weight: 850; }

.student-desktop-nav { align-items: center; display: flex; gap: 4px; }

.student-desktop-nav a {
    border-radius: 12px;
    color: var(--text-muted, #62718a);
    display: inline-flex;
    font-size: .9rem;
    font-weight: 700;
    gap: 8px;
    padding: 11px 14px;
    text-decoration: none;
}

.student-desktop-nav a:hover,
.student-desktop-nav a.active {
    background: var(--student-primary-soft);
    color: var(--student-primary);
}

.student-account-actions { align-items: center; display: flex; gap: 8px; justify-content: flex-end; }
.student-account-actions form { display: contents; }

.student-icon-button,
.student-profile-link {
    align-items: center;
    background: var(--bg-color, #fff);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    color: var(--text-color, #172b49);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .86rem;
    font-weight: 700;
    gap: 8px;
    min-height: 42px;
    padding: 0 13px;
    text-decoration: none;
}

.student-icon-button { justify-content: center; min-width: 42px; padding: 0; }
.student-icon-button:hover, .student-profile-link:hover { border-color: var(--student-primary); color: var(--student-primary); }

.student-main { margin: 0 auto; max-width: 1320px; padding: 36px clamp(18px, 4vw, 52px) 64px; }
.student-bottom-nav { display: none; }

.student-welcome {
    align-items: center;
    background: linear-gradient(125deg, #294be1, #6b48db);
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(47, 73, 189, .2);
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
    min-height: 184px;
    overflow: hidden;
    padding: clamp(28px, 5vw, 48px);
    position: relative;
}

.student-welcome::before,
.student-welcome::after { border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ""; position: absolute; }
.student-welcome::before { height: 240px; right: -70px; top: -120px; width: 240px; }
.student-welcome::after { bottom: -170px; height: 290px; right: 90px; width: 290px; }
.student-welcome > div { position: relative; z-index: 1; }
.student-welcome h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.75rem); margin: 7px 0 8px; }
.student-welcome p { color: rgba(255,255,255,.82); margin: 0; }
.student-welcome .student-eyebrow { color: rgba(255,255,255,.72); }
.student-welcome__art { align-items: center; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: flex; font-size: 2.3rem; height: 96px; justify-content: center; position: relative; transform: rotate(8deg); width: 96px; z-index: 1; }

.student-eyebrow { color: var(--student-primary); font-size: .72rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.student-dashboard-grid { display: grid; gap: 24px; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); margin-bottom: 24px; }

.student-card {
    background: var(--bg-color, #fff);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(28, 47, 86, .055);
}

.student-next-lesson,
.student-progress-card,
.student-dashboard-homework,
.student-content-card,
.student-submit-card,
.student-attempts,
.student-profile-details,
.student-profile-goal { padding: clamp(20px, 3vw, 28px); }

.student-section-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 24px; }
.student-section-heading > div { align-items: center; display: flex; gap: 12px; }
.student-section-heading h2, .student-content-card h2, .student-submit-card h2, .student-attempts h2, .student-profile-details h2, .student-profile-goal h2 { font-size: 1.1rem; margin: 2px 0 0; }
.student-section-heading small { color: var(--text-muted, #62718a); font-size: .76rem; }
.student-section-heading > a { color: var(--student-primary); font-size: .82rem; font-weight: 800; text-decoration: none; }
.student-section-icon--violet { background: #f2edff; color: var(--student-violet); }
.student-section-icon--amber { background: #fff4dc; color: #bd7910; }

.student-next-lesson__body { align-items: center; display: grid; gap: 18px; grid-template-columns: auto 1fr auto; }
.student-next-lesson__body h3 { font-size: 1.12rem; margin: 0 0 9px; }
.student-next-lesson__body p { color: var(--text-muted, #62718a); font-size: .85rem; margin: 5px 0; }
.student-next-lesson__body p i { color: var(--student-primary); margin-right: 8px; width: 14px; }
.student-date-tile { align-items: center; background: var(--student-primary-soft); border-radius: 16px; color: var(--student-primary); display: flex; flex-direction: column; height: 74px; justify-content: center; width: 68px; }
.student-date-tile strong { font-size: 1.45rem; line-height: 1; }
.student-date-tile span { font-size: .72rem; font-weight: 800; margin-top: 5px; text-transform: uppercase; }

.student-primary-action {
    align-items: center;
    background: linear-gradient(115deg, var(--student-primary), #704ae1);
    border: 0;
    border-radius: 13px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .86rem;
    font-weight: 800;
    gap: 9px;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    text-decoration: none;
}
.student-primary-action:hover { color: #fff; filter: brightness(1.05); transform: translateY(-1px); }
.student-primary-action:disabled { cursor: not-allowed; filter: grayscale(.15); opacity: .48; transform: none; }

.student-progress-stats { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.student-progress-stats a { background: var(--bg-secondary, #f5f7fc); border-radius: 16px; color: inherit; display: flex; flex-direction: column; min-height: 96px; padding: 18px; text-decoration: none; }
.student-progress-stats strong { color: var(--student-primary); font-size: 1.8rem; line-height: 1; }
.student-progress-stats span { color: var(--text-muted, #62718a); font-size: .78rem; margin-top: 8px; }

.student-compact-list { display: grid; }
.student-compact-list > a { align-items: center; border-top: 1px solid var(--border-color, #e2e8f0); color: inherit; display: grid; gap: 14px; grid-template-columns: auto minmax(0, 1fr) auto auto; min-height: 70px; padding: 10px 4px; text-decoration: none; }
.student-compact-list > a:first-child { border-top: 0; }
.student-compact-list strong, .student-compact-list small { display: block; }
.student-compact-list small { color: var(--text-muted, #62718a); font-size: .76rem; margin-top: 4px; }
.student-compact-list > a > i { color: var(--text-muted, #62718a); }

.student-status-dot { background: #8ba0c3; border-radius: 50%; height: 9px; width: 9px; }
.student-status-dot--confirmed, .student-status-dot--completed { background: var(--student-green); }
.student-status-dot--in-progress, .student-status-dot--assigned { background: var(--student-primary); box-shadow: 0 0 0 5px rgba(49,87,232,.1); }
.student-status-dot--submitted, .student-status-dot--rescheduled { background: var(--student-violet); }
.student-status-dot--revision { background: var(--student-amber); }
.student-status-dot--cancelled { background: #9aa5b5; }

.student-status { background: #eef1f5; border-radius: 999px; color: #5e697a; display: inline-flex; font-size: .68rem; font-weight: 850; line-height: 1; padding: 7px 10px; white-space: nowrap; }
.student-status--scheduled, .student-status--assigned { background: var(--student-primary-soft); color: var(--student-primary); }
.student-status--confirmed, .student-status--completed { background: #e6f7f1; color: #15785a; }
.student-status--in-progress { background: #e4f0ff; color: #1268b6; }
.student-status--submitted { background: #f2edff; color: #6542c9; }
.student-status--revision, .student-status--rescheduled { background: #fff4dc; color: #a4670e; }
.student-status--cancelled { background: #eef0f3; color: #737d8b; }

.student-empty-inline { align-items: center; background: var(--bg-secondary, #f5f7fc); border-radius: 16px; color: var(--text-muted, #62718a); display: flex; gap: 14px; min-height: 88px; padding: 18px; }
.student-empty-inline > i { color: var(--student-green); font-size: 1.35rem; }
.student-empty-inline strong, .student-empty-inline span { display: block; }
.student-empty-inline strong { color: var(--text-color, #172b49); margin-bottom: 4px; }
.student-empty-inline span { font-size: .82rem; }

.student-page-heading { align-items: flex-end; display: flex; gap: 28px; justify-content: space-between; margin: 4px 0 30px; }
.student-page-heading h1 { font-size: clamp(1.8rem, 4vw, 2.55rem); margin: 6px 0; }
.student-page-heading p { color: var(--text-muted, #62718a); margin: 0; }
.student-segmented { background: var(--bg-color, #fff); border: 1px solid var(--border-color, #e2e8f0); border-radius: 14px; display: flex; padding: 4px; }
.student-segmented button { background: transparent; border: 0; border-radius: 10px; color: var(--text-muted, #62718a); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; min-height: 38px; padding: 0 14px; }
.student-segmented button.active { background: var(--student-primary); box-shadow: 0 5px 14px rgba(49,87,232,.2); color: #fff; }

.student-state, .student-empty { align-items: center; background: var(--bg-color, #fff); border: 1px solid var(--border-color, #e2e8f0); border-radius: 22px; color: var(--text-muted, #62718a); display: flex; justify-content: center; min-height: 220px; padding: 30px; }
.student-state { gap: 10px; }
.student-state--error { color: var(--student-danger); }
.student-empty { flex-direction: column; text-align: center; }
.student-empty > i { color: var(--student-primary); font-size: 2rem; margin-bottom: 16px; }
.student-empty h1, .student-empty h2 { color: var(--text-color, #172b49); margin: 0 0 8px; }
.student-empty p { margin: 0 0 20px; }

.student-schedule-list { display: grid; gap: 18px; }
.student-schedule-day { background: var(--bg-color, #fff); border: 1px solid var(--border-color, #e2e8f0); border-radius: 22px; display: grid; grid-template-columns: 150px 1fr; overflow: hidden; }
.student-schedule-day > header { align-items: center; background: var(--student-primary-soft); color: var(--student-primary); display: flex; gap: 12px; padding: 24px; }
.student-schedule-day > header > strong { font-size: 2rem; }
.student-schedule-day > header span, .student-schedule-day > header small { display: block; text-transform: capitalize; }
.student-schedule-day > header span { font-weight: 850; }
.student-schedule-day > header small { font-size: .72rem; margin-top: 3px; opacity: .75; }
.student-schedule-item { align-items: center; border-top: 1px solid var(--border-color, #e2e8f0); color: inherit; display: grid; gap: 16px; grid-template-columns: 58px auto minmax(0,1fr) auto auto; min-height: 76px; padding: 12px 22px; text-decoration: none; }
.student-schedule-item:first-child { border-top: 0; }
.student-schedule-item time { font-size: 1rem; font-weight: 850; }
.student-schedule-item strong, .student-schedule-item small { display: block; }
.student-schedule-item small { color: var(--text-muted, #62718a); font-size: .76rem; margin-top: 4px; }
.student-schedule-item > i { color: var(--text-muted, #62718a); }
.student-schedule-item:hover { background: color-mix(in srgb, var(--student-primary-soft) 45%, transparent); }

.student-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.student-lesson-card { color: inherit; display: block; min-height: 240px; padding: 24px; text-decoration: none; transition: border-color .16s, transform .16s, box-shadow .16s; }
.student-lesson-card:hover { border-color: rgba(49,87,232,.4); box-shadow: 0 16px 36px rgba(28,47,86,.1); color: inherit; transform: translateY(-3px); }
.student-lesson-card__top { align-items: center; display: flex; justify-content: space-between; }
.student-lesson-card__top > i { color: var(--student-primary); font-size: 1.1rem; }
.student-lesson-card h2 { font-size: 1.2rem; margin: 24px 0 18px; }
.student-lesson-card p { color: var(--text-muted, #62718a); font-size: .82rem; margin: 8px 0; }
.student-lesson-card p i { color: var(--student-primary); margin-right: 8px; width: 14px; }
.student-card-link { color: var(--student-primary); display: block; font-size: .8rem; font-weight: 850; margin-top: 22px; }
.student-card-link i { margin-left: 6px; }

.student-back-link { color: var(--text-muted, #62718a); display: inline-flex; font-size: .85rem; font-weight: 750; gap: 8px; margin-bottom: 18px; text-decoration: none; }
.student-back-link:hover { color: var(--student-primary); }
.student-detail-hero { align-items: center; display: flex; justify-content: space-between; margin-bottom: 22px; padding: clamp(24px, 5vw, 42px); }
.student-detail-hero h1 { font-size: clamp(1.65rem, 4vw, 2.4rem); margin: 13px 0 16px; }
.student-detail-meta { align-items: center; color: var(--text-muted, #62718a); display: flex; flex-wrap: wrap; font-size: .83rem; gap: 18px; }
.student-detail-meta span, .student-detail-meta a { align-items: center; color: inherit; display: inline-flex; gap: 7px; text-decoration: none; }
.student-detail-meta i { color: var(--student-primary); }
.student-detail-grid { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; }
.student-text-card { align-items: flex-start; display: flex; gap: 16px; padding: 25px; }
.student-text-card h2 { font-size: 1.05rem; margin: 4px 0 10px; }
.student-text-card p { color: var(--text-muted, #62718a); line-height: 1.65; margin: 0; }
.student-info-note { align-items: flex-start; background: var(--student-primary-soft); border-radius: 14px; color: color-mix(in srgb, var(--student-primary) 70%, var(--text-color)); display: flex; font-size: .8rem; gap: 10px; line-height: 1.5; margin: 20px 0 0; padding: 14px 16px; }
.student-info-note > i { margin-top: 2px; }

.student-homework-list { display: grid; gap: 14px; }
.student-homework-card { align-items: center; color: inherit; display: grid; gap: 20px; grid-template-columns: auto minmax(0,1fr) auto; min-height: 132px; padding: 22px 25px; text-decoration: none; transition: transform .16s, border-color .16s; }
.student-homework-card:hover { border-color: rgba(49,87,232,.4); color: inherit; transform: translateY(-2px); }
.student-homework-card__icon { align-items: center; background: var(--student-primary-soft); border-radius: 18px; color: var(--student-primary); display: flex; font-size: 1.25rem; height: 62px; justify-content: center; width: 62px; }
.student-homework-card__body > div:first-child { align-items: center; display: flex; gap: 10px; }
.student-homework-card__body > div:first-child small { color: var(--text-muted, #62718a); }
.student-homework-card__body h2 { font-size: 1.12rem; margin: 11px 0 8px; }
.student-homework-card__body > p { color: var(--text-muted, #62718a); font-size: .8rem; margin: 0; }
.student-homework-card__body > p i { margin-right: 7px; }
.student-homework-card > i { color: var(--text-muted, #62718a); }
.student-homework-feedback { color: var(--student-violet) !important; margin-top: 8px !important; }
.is-overdue { color: var(--student-danger) !important; }

.student-detail-grid--homework { align-items: start; grid-template-columns: minmax(0, 1.3fr) minmax(310px, .7fr); }
.student-detail-grid--homework > div, .student-detail-grid--homework > aside { display: grid; gap: 20px; }
.student-content-card > header, .student-submit-card > header, .student-profile-details > header, .student-profile-goal > header { align-items: center; display: flex; gap: 13px; margin-bottom: 20px; }
.student-content-card > p { color: var(--text-muted, #62718a); line-height: 1.7; margin: 0; }
.student-preserve-lines { white-space: pre-line; }
.student-material-list { display: grid; gap: 9px; }
.student-material-list > a, .student-material-list > div { align-items: center; background: var(--bg-secondary, #f5f7fc); border-radius: 14px; color: inherit; display: grid; gap: 13px; grid-template-columns: auto minmax(0,1fr) auto; min-height: 64px; padding: 10px 15px; text-decoration: none; }
.student-material-list > a:hover { background: var(--student-primary-soft); }
.student-material-list > a > i:first-child, .student-material-list > div > i { color: var(--student-primary); font-size: 1rem; width: 20px; }
.student-material-list strong, .student-material-list small { display: block; }
.student-material-list small { color: var(--text-muted, #62718a); font-size: .72rem; margin-top: 3px; }
.student-material-list > a > i:last-child { color: var(--text-muted, #62718a); font-size: .75rem; }

.student-submit-card header p { color: var(--text-muted, #62718a); font-size: .76rem; margin: 4px 0 0; }
.student-submit-card form { display: grid; gap: 12px; }
.student-submit-card textarea { background: var(--bg-secondary, #f5f7fc); border: 1px solid var(--border-color, #d8dfeb); border-radius: 14px; color: var(--text-color, #172b49); font: inherit; line-height: 1.5; min-height: 150px; padding: 14px; resize: vertical; width: 100%; }
.student-submit-card textarea:focus { border-color: var(--student-primary); box-shadow: 0 0 0 3px rgba(49,87,232,.11); outline: none; }
.student-upload-note { color: var(--text-muted, #62718a); display: flex; font-size: .7rem; gap: 7px; line-height: 1.45; margin-top: 14px; }
.student-form-message { border-radius: 12px; font-size: .78rem; margin-bottom: 12px; padding: 11px 13px; }
.student-form-message--error { background: #fff0f1; color: #a92d3a; }
.student-form-message--success { background: #e9f8f2; color: #126b50; }

.student-attempts { display: grid; gap: 12px; }
.student-attempts > h2 { margin: 0 0 4px; }
.student-attempts article { border-top: 1px solid var(--border-color, #e2e8f0); padding-top: 16px; }
.student-attempts article header { align-items: center; display: flex; justify-content: space-between; }
.student-attempts article header span, .student-attempts article > small { color: var(--text-muted, #62718a); font-size: .72rem; }
.student-attempts article > p { font-size: .82rem; line-height: 1.55; }
.student-teacher-feedback { background: #f2edff; border-radius: 12px; color: #4f389e; font-size: .78rem; padding: 13px; }
.student-teacher-feedback strong { display: block; margin-bottom: 7px; }
.student-teacher-feedback strong i { margin-right: 6px; }
.student-teacher-feedback p { line-height: 1.5; margin: 0 0 7px; }
.student-teacher-feedback span { font-weight: 800; }

.student-profile-grid { display: grid; gap: 20px; grid-template-columns: .8fr 1.2fr; }
.student-profile-hero { align-items: center; display: flex; gap: 22px; grid-column: 1 / -1; padding: clamp(24px, 5vw, 38px); }
.student-profile-avatar { align-items: center; background: linear-gradient(135deg, var(--student-primary), var(--student-violet)); border-radius: 22px; color: #fff; display: flex; font-size: 2rem; font-weight: 900; height: 84px; justify-content: center; width: 84px; }
.student-profile-hero h1 { font-size: 1.65rem; margin: 10px 0 4px; }
.student-profile-hero p { color: var(--text-muted, #62718a); margin: 0; }
.student-profile-details dl { display: grid; margin: 0; }
.student-profile-details dl > div { border-top: 1px solid var(--border-color, #e2e8f0); display: flex; gap: 20px; justify-content: space-between; padding: 14px 0; }
.student-profile-details dt { color: var(--text-muted, #62718a); font-size: .78rem; }
.student-profile-details dd { font-size: .82rem; font-weight: 750; margin: 0; text-align: right; }
.student-profile-goal p { color: var(--text-muted, #62718a); line-height: 1.7; margin: 0; }

body.dark-theme .student-shell { --student-primary-soft: #172a56; }
body.dark-theme .student-section-icon--violet, body.dark-theme .student-teacher-feedback { background: #282042; }
body.dark-theme .student-section-icon--amber { background: #382d1b; }
body.dark-theme .student-status--confirmed, body.dark-theme .student-status--completed { background: #173a31; color: #78ddbd; }
body.dark-theme .student-status--submitted { background: #292044; color: #baa1ff; }
body.dark-theme .student-status--revision, body.dark-theme .student-status--rescheduled { background: #3a2e18; color: #f1c36f; }
body.dark-theme .student-form-message--error { background: #3b1d22; color: #ff9ca6; }
body.dark-theme .student-form-message--success { background: #17372d; color: #8be0c1; }

@media (max-width: 1040px) {
    .student-topbar { grid-template-columns: auto 1fr auto; }
    .student-desktop-nav { justify-content: center; }
    .student-desktop-nav a { font-size: 0; padding: 11px 13px; }
    .student-desktop-nav a i { font-size: .95rem; }
    .student-profile-link { max-width: 130px; overflow: hidden; white-space: nowrap; }
    .student-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
    .student-topbar { height: 66px; padding: 0 16px; }
    .student-desktop-nav, .student-profile-link { display: none; }
    .student-topbar { grid-template-columns: 1fr auto; }
    .student-main { padding: 24px 15px 104px; }
    .student-bottom-nav { align-items: stretch; background: color-mix(in srgb, var(--bg-color, #fff) 95%, transparent); border-top: 1px solid var(--border-color, #e2e8f0); bottom: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); left: 0; padding: 6px max(5px, env(safe-area-inset-left)) max(6px, env(safe-area-inset-bottom)); position: fixed; right: 0; z-index: 100; }
    .student-bottom-nav a { align-items: center; border-radius: 11px; color: var(--text-muted, #62718a); display: flex; flex-direction: column; font-size: clamp(.5rem, 1.8vw, .61rem); font-weight: 750; gap: 4px; justify-content: center; min-height: 51px; min-width: 0; text-decoration: none; }
    .student-bottom-nav a i { font-size: .98rem; }
    .student-bottom-nav a.active { background: var(--student-primary-soft); color: var(--student-primary); }
    .student-bottom-nav .chat-nav-badge { background: #3268da; border-radius: 999px; color: #fff; font-size: .56rem; margin-left: 2px; padding: 1px 4px; }
    .student-welcome { min-height: 160px; }
    .student-welcome__art { display: none; }
    .student-dashboard-grid, .student-detail-grid, .student-detail-grid--homework, .student-profile-grid { grid-template-columns: 1fr; }
    .student-page-heading { align-items: stretch; flex-direction: column; }
    .student-segmented { align-self: flex-start; max-width: 100%; overflow-x: auto; }
    .student-segmented--wide { align-self: stretch; }
    .student-segmented--wide button { flex: 1 0 auto; }
    .student-schedule-day { grid-template-columns: 1fr; }
    .student-schedule-day > header { padding: 14px 20px; }
    .student-schedule-day > header > strong { font-size: 1.45rem; }
    .student-card-grid { grid-template-columns: 1fr; }
    .student-detail-hero { align-items: flex-start; flex-direction: column; gap: 24px; }
    .student-profile-hero { grid-column: auto; }
}

@media (max-width: 560px) {
    .student-brand strong { font-size: .92rem; }
    .student-account-actions { gap: 6px; }
    .student-welcome { border-radius: 20px; padding: 26px 22px; }
    .student-next-lesson__body { align-items: start; grid-template-columns: auto 1fr; }
    .student-next-lesson__body .student-primary-action { grid-column: 1 / -1; width: 100%; }
    .student-section-heading { align-items: flex-start; }
    .student-section-heading > a { white-space: nowrap; }
    .student-compact-list > a { grid-template-columns: auto minmax(0,1fr) auto; }
    .student-compact-list .student-status { display: none; }
    .student-schedule-item { gap: 10px; grid-template-columns: 46px auto minmax(0,1fr) auto; padding: 12px 14px; }
    .student-schedule-item .student-status { display: none; }
    .student-homework-card { gap: 13px; grid-template-columns: minmax(0,1fr) auto; padding: 19px; }
    .student-homework-card__icon { display: none; }
    .student-profile-hero { align-items: flex-start; }
    .student-profile-avatar { border-radius: 17px; height: 65px; width: 65px; }
}

@media (prefers-reduced-motion: reduce) {
    .student-primary-action, .student-lesson-card, .student-homework-card { transition: none; }
}
.student-desktop-nav .chat-nav-badge { background: #3268da; border-radius: 999px; color: #fff; font-size: .64rem; margin-left: 4px; padding: 2px 6px; }
