﻿.student-shell { display:grid; grid-template-columns:260px minmax(0,1fr); gap:12px; align-items:start; margin-top:12px; }
    .student-side { position:sticky; top:64px; display:grid; gap:10px; }
    .student-side-card { border:1px solid #d5e3d9; border-radius:14px; background:#f4faf6; padding:14px; }
    .student-side-title { margin:0; font-size:.72rem; text-transform:uppercase; letter-spacing:1px; color:#6a8d7d; font-weight:800; }
    .student-side-main { margin:6px 0 0; font-size:1.05rem; font-weight:700; color:#173a2c; }
    .student-side-sub { margin-top:3px; color:#4d685c; font-size:.85rem; }
    .student-side-menu { display:grid; gap:8px; margin-top:8px; }
    .student-side-group { display:grid; gap:6px; }
    .student-side-btn {
        border:1px solid transparent;
        background:transparent;
        color:#264d3b;
        border-radius:12px;
        padding:9px 12px;
        text-align:left;
        font-weight:700;
        font-size:1.02rem;
        cursor:pointer;
        text-decoration:none;
        display:flex;
        align-items:center;
        gap:10px;
    }
    .student-side-btn:hover { color:#173a2c; background:#eaf5ee; }
    .student-side-btn.active { color:#174d36; background:#cfe7d8; border-color:#cfe7d8; }
    .student-side-parent {
        justify-content:space-between;
    }
    .student-side-label {
        display:inline-flex;
        align-items:center;
        gap:10px;
    }
    .student-side-caret {
        font-size:.82rem;
        opacity:.85;
        transform:rotate(0deg);
        transition:transform .2s ease;
    }
    .student-side-submenu {
        display:grid;
        gap:6px;
        max-height:0;
        overflow:hidden;
        opacity:0;
        transform:translateY(-2px);
        transition:max-height .22s ease, opacity .2s ease, transform .2s ease;
    }
    .student-side-group.open .student-side-submenu {
        max-height:130px;
        opacity:1;
        transform:translateY(0);
    }
    .student-side-group.open .student-side-caret { transform:rotate(180deg); }
    .student-side-submenu .student-side-btn {
        margin-left:10px;
        font-size:.96rem;
        padding:8px 10px;
    }
    .student-side-ico {
        width:22px;
        height:22px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-size:.9rem;
        font-weight:800;
        border-radius:7px;
        color:#1f5a41;
        background:#e8f4ed;
        border:1px solid #c7ddcf;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
    }
    .student-side-btn.active .student-side-ico {
        color:#144a34;
        background:#ffffff;
        border-color:#b7d5c5;
    }
    .student-main {
        min-width:0;
        display:grid;
        align-content:start;
        gap:12px;
    }
    .portal-mobile-help-link {
        display:none;
    }
    .student-mobile-menu-backdrop {
        display:none;
    }
    #sectionStudentOverview,
    #sectionStudentNotifications,
    #sectionStudentSchedule,
    #sectionStudentExamHistory { grid-template-columns:1fr; }
    .student-top {
        background:linear-gradient(120deg,#174632 0%, #1f6d4d 52%, #249663 100%);
        border:1px solid #2b7a5a;
        border-radius:14px;
        padding:14px;
        color:#fff;
    }
    .student-top-bar {
        display:flex;
        justify-content:space-between;
        align-items:flex-start;
        gap:14px;
        flex-wrap:wrap;
    }
    .student-top-copy {
        min-width:0;
        flex:1 1 280px;
    }
    .student-top h2 { margin:0; font-size:1.3rem; }
    .student-top p { margin:6px 0 0; color:#ffffff !important; font-size:.92rem; }
    .student-top ::selection { color:#ffffff; background:#1f5fb8; }
    .student-exam-countdowns {
        display:flex;
        gap:10px;
        flex-wrap:wrap;
        justify-content:flex-end;
        align-items:stretch;
        flex:0 1 360px;
    }
    .student-exam-countdown-card {
        min-width:118px;
        border:1px solid rgba(255,255,255,.28);
        border-radius:14px;
        padding:10px 12px;
        background:linear-gradient(145deg, rgba(8,25,54,.72), rgba(27,78,137,.42));
        box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 12px 26px rgba(5,18,38,.16);
        color:#fff;
        text-align:center;
    }
    .student-exam-countdown-card span {
        display:block;
        font-size:.74rem;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#d9ebff;
    }
    .student-exam-countdown-card strong {
        display:block;
        margin-top:3px;
        font-size:2rem;
        line-height:1;
        color:#ffce6a;
        text-shadow:0 2px 10px rgba(0,0,0,.2);
    }
    .student-exam-countdown-card small {
        display:block;
        margin-top:3px;
        font-size:.72rem;
        font-weight:800;
        color:#ffffff !important;
        opacity:1;
    }
    @media (max-width:720px) {
        .student-top-bar {
            align-items:stretch;
        }
        .student-exam-countdowns {
            flex:1 1 100%;
            justify-content:flex-start;
        }
        .student-exam-countdown-card {
            flex:1 1 118px;
        }
    }
    @media (max-width:420px) {
        .student-exam-countdown-card {
            min-width:0;
            padding:9px 10px;
        }
        .student-exam-countdown-card strong {
            font-size:1.72rem;
        }
    }
    .student-week-toolbar {
        border:1px solid #d5e3d9;
        border-radius:14px;
        background:linear-gradient(180deg,#ffffff 0%,#f7fcf9 100%);
        padding:12px 14px;
        display:flex;
        justify-content:space-between;
        gap:12px;
        align-items:center;
        flex-wrap:wrap;
    }
    .student-week-toolbar-copy {
        display:grid;
        gap:3px;
    }
    .student-week-toolbar-copy strong {
        color:#173a2c;
        font-size:1rem;
        display:inline-flex;
        align-items:center;
        gap:8px;
    }
    .student-week-toolbar-copy strong i { color:#f28a24; }
    .student-week-toolbar-copy span {
        color:#4d685c;
        font-size:.9rem;
        font-weight:700;
    }
    .student-week-toolbar-form {
        display:flex;
        align-items:end;
        gap:8px;
        flex-wrap:wrap;
        justify-content:flex-end;
    }
    .student-week-nav {
        display:flex;
        flex-wrap:wrap;
        gap:8px;
        align-items:center;
        justify-content:flex-end;
    }
    .student-week-return-row {
        width:100%;
        display:flex;
        justify-content:flex-end;
    }
    .student-week-return-row .student-week-link.current {
        min-width:176px;
    }
    .student-week-nav .student-week-link.current {
        min-width:154px;
    }
    .student-week-picker-row {
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        align-items:end;
        justify-content:flex-end;
    }
    .student-week-toolbar-form label {
        display:grid;
        gap:4px;
        color:#4d685c;
        font-size:.82rem;
        font-weight:700;
    }
    .student-week-picker span {
        display:inline-flex;
        align-items:center;
        gap:6px;
    }
    .student-week-picker {
        align-self:end;
    }
    .student-week-toolbar-form input[type="date"] {
        min-height:42px;
        border:1px solid #bfd2c6;
        border-radius:10px;
        padding:0 12px;
        background:#f9fdfb;
        color:#173a2c;
    }
    .student-week-link,
    .student-week-open {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:42px;
        border-radius:10px;
        padding:0 14px;
        font-weight:700;
        text-decoration:none;
    }
    .student-week-link {
        border:1px solid #c7ddcf;
        background:#eef7f1;
        color:#1c4f39;
    }
    .student-week-link.current {
        background:#dff0e7;
        border-color:#b8d7c7;
    }
    .student-week-open {
        border:1px solid #1f6d4d;
        background:#1f6d4d;
        color:#fff;
        cursor:pointer;
        margin-left:auto;
    }
    .student-week-link i,
    .student-week-open i {
        font-size:.88rem;
        line-height:1;
    }
    .student-week-inline-note {
        margin-bottom:10px;
        border:1px solid #d8e7de;
        border-radius:10px;
        background:#f5fbf7;
        color:#3d5f50;
        padding:8px 10px;
        font-size:.9rem;
    }
    .student-inline-feedback {
        margin-bottom:10px;
        border:1px solid transparent;
        border-radius:12px;
        padding:10px 12px;
        font-size:.92rem;
        font-weight:700;
    }
    .student-inline-feedback.is-success {
        background:#edf8f1;
        border-color:#b9dcc6;
        color:#1f6d46;
    }
    .student-inline-feedback.is-error {
        background:#fff1f1;
        border-color:#efc6c6;
        color:#983838;
    }
    .student-inline-feedback.is-error > div + div {
        margin-top:4px;
    }
    .student-daily-save-message {
        margin:0 0 12px;
        border:1px solid #bfd4ef;
        border-radius:14px;
        padding:12px;
        display:flex;
        align-items:center;
        gap:12px;
        background:
            radial-gradient(circle at 100% 0%, rgba(242,138,36,.14), transparent 32%),
            linear-gradient(180deg,#ffffff 0%,#f3f8ff 100%);
        box-shadow:0 14px 26px rgba(31,61,99,.09);
    }
    .student-daily-save-mark {
        width:42px;
        height:42px;
        flex:0 0 42px;
        border-radius:12px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
        background:linear-gradient(135deg,#1f5f92 0%,#2f6f9e 58%,#f28a24 150%);
        color:#fff;
        font-weight:950;
        box-shadow:0 10px 20px rgba(31,95,146,.18);
    }
    .student-daily-save-mark.has-logo {
        padding:5px;
        border:1px solid rgba(31,61,99,.14);
        background:#fff;
        box-shadow:0 10px 22px rgba(31,61,99,.12);
    }
    .student-daily-save-mark img {
        width:100%;
        height:100%;
        object-fit:contain;
        display:block;
    }
    .student-daily-save-copy {
        flex:1 1 auto;
        min-width:0;
        display:grid;
        gap:3px;
    }
    .student-daily-save-copy strong {
        color:#102b4a;
        font-size:1rem;
    }
    .student-daily-save-copy span {
        color:#3d5874;
        font-weight:650;
        line-height:1.35;
    }
    .student-daily-save-close {
        flex:0 0 auto;
        min-height:34px;
        border:1px solid #cbdcf0;
        border-radius:10px;
        padding:0 12px;
        background:#fff;
        color:#244d78;
        font-weight:850;
        cursor:pointer;
    }
    .student-daily-save-close:hover,
    .student-daily-save-close:focus-visible {
        border-color:#f28a24;
        color:#8b4b12;
        outline:none;
    }
    .student-daily-save-message.is-success {
        border-color:#b9dcc6;
        background:
            radial-gradient(circle at 100% 0%, rgba(46,168,111,.12), transparent 32%),
            linear-gradient(180deg,#fbfffd 0%,#eefaf3 100%);
    }
    .student-daily-save-message.is-success .student-daily-save-mark:not(.has-logo) {
        background:linear-gradient(135deg,#1f6d4d 0%,#2f8f66 58%,#e88324 160%);
        box-shadow:0 10px 20px rgba(31,109,77,.18);
    }
    .student-daily-save-message.is-success .student-daily-save-copy strong {
        color:#1f6d46;
    }
    .student-daily-save-message.is-success .student-daily-save-copy span {
        color:#315f49;
    }
    .student-daily-save-message.is-error {
        border-color:#f0c2bd;
        background:
            radial-gradient(circle at 100% 0%, rgba(191,73,55,.12), transparent 32%),
            linear-gradient(180deg,#fffafa 0%,#fff0ef 100%);
    }
    .student-daily-save-message.is-error .student-daily-save-mark:not(.has-logo) {
        background:linear-gradient(135deg,#b84937 0%,#d6664f 58%,#f28a24 150%);
    }
    .student-daily-save-message.is-error .student-daily-save-copy strong {
        color:#8f3529;
    }
    .student-daily-save-message.is-error .student-daily-save-copy span {
        color:#74433d;
    }
    .student-overview-hero {
        grid-column: 1 / -1;
        border-radius: 18px;
        padding: 16px 18px;
        background: linear-gradient(135deg, #f7fbf9 0%, #eef7f1 100%);
        border: 1px solid #d8e7de;
    }
    .student-overview-hero.tone-success { border-color: #bde2cb; background: linear-gradient(135deg, #f3fff8 0%, #ecfaf2 100%); }
    .student-overview-hero.tone-info { border-color: #c5dcf7; background: linear-gradient(135deg, #f5faff 0%, #edf4ff 100%); }
    .student-overview-hero.tone-warning { border-color: #eed8b0; background: linear-gradient(135deg, #fffaf0 0%, #fff5e7 100%); }
    .student-overview-hero.tone-neutral { border-color: #d8e3dd; background: linear-gradient(135deg, #f9fbfa 0%, #f1f5f3 100%); }
    .student-overview-hero-head {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        align-items: start;
        flex-wrap: wrap;
    }
    .student-overview-kicker {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 10px;
        border-radius: 999px;
        background: #e9f5ee;
        color: #22513e;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .02em;
        text-transform: uppercase;
    }
    .student-overview-hero h3 {
        margin: 8px 0 0;
        font-size: 1.25rem;
        color: #15392b;
    }
    .student-overview-hero p {
        margin: 12px 0 0;
        color: #466257;
        font-size: .96rem;
        max-width: 820px;
    }
    .student-overview-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 7px 12px;
        border-radius: 999px;
        border: 1px solid #cae0d3;
        background: rgba(255,255,255,.72);
        color: #204636;
        font-weight: 700;
        white-space: nowrap;
    }
    .student-overview-stat-row {
        margin-top: 14px;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
    }
    .student-overview-stat {
        border: 1px solid #d3e4d9;
        border-radius: 14px;
        background: rgba(255,255,255,.78);
        padding: 12px 14px;
        display: grid;
        gap: 4px;
    }
    .student-overview-stat span {
        color: #557066;
        font-size: .82rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 7px;
    }
    .student-overview-stat strong {
        color: #12382b;
        font-size: 1.45rem;
        line-height: 1.05;
    }
    .student-daily-accordion-card {
        grid-column: 1 / -1;
    }
    .student-daily-accordion-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 14px;
    }
    .student-daily-accordion-head h3 {
        margin: 8px 0 0;
        color: #15392b;
        font-size: 1.18rem;
    }
    .student-daily-accordion-head p {
        margin: 6px 0 0;
        color: #536f64;
        max-width: 680px;
    }
    .student-daily-accordion-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 14px;
        border-radius: 999px;
        border: 1px solid #b9d8c5;
        background: #eaf7ef;
        color: #1d5a40;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
    }
    .student-daily-accordion-list {
        display: grid;
        gap: 10px;
    }
    .student-daily-log {
        border: 1px solid #d8e7de;
        border-radius: 16px;
        background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%);
        overflow: hidden;
        box-shadow: 0 10px 18px rgba(31, 109, 77, .06);
    }
    .student-daily-log summary {
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        cursor: pointer;
        padding: 14px 46px 14px 16px;
        position: relative;
    }
    .student-daily-log summary::-webkit-details-marker {
        display: none;
    }
    .student-daily-log summary::after {
        content: "+";
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        border-radius: 999px;
        border: 1px solid #cfe0d6;
        background: #fff;
        color: #1f6d4d;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 900;
    }
    .student-daily-log[open] summary::after {
        content: "-";
    }
    .student-daily-log-summary-main,
    .student-daily-log-summary-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }
    .student-daily-log-summary-main strong {
        color: #173a2c;
        font-size: 1rem;
    }
    .student-daily-log-summary-main span,
    .student-daily-log-summary-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0 9px;
        border-radius: 999px;
        border: 1px solid #dce9e1;
        background: #fff;
        color: #4f6a5f;
        font-size: .8rem;
        font-weight: 800;
    }
    .student-daily-log-summary-main span {
        color: #1f6d4d;
        border-color: #c7e1d0;
        background: #eef9f2;
    }
    .student-daily-log-body {
        border-top: 1px solid #e1eee6;
        background: #fbfefc;
        padding: 14px;
    }
    .student-daily-log-items {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: 10px;
    }
    .student-daily-log-item {
        border: 1px solid #d8e7de;
        border-radius: 16px;
        background: #fff;
        padding: 12px;
        display: grid;
        gap: 10px;
    }
    .student-daily-log-item-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
    }
    .student-daily-log-item-head span,
    .student-daily-log-item-head strong {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0 9px;
        border-radius: 999px;
        font-size: .78rem;
        font-weight: 900;
    }
    .student-daily-log-item-head span {
        border: 1px solid #d7e7dd;
        background: #f4faf7;
        color: #254f3f;
    }
    .student-daily-log-item-head strong {
        border: 1px solid #f0d5ae;
        background: #fff8ed;
        color: #9c5e12;
    }
    .student-daily-log-item h4 {
        margin: 0;
        color: #173a2c;
        font-size: .98rem;
    }
    .student-daily-log-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
    .student-daily-log-stats div {
        border: 1px solid #dce9e1;
        border-radius: 12px;
        background: #f9fdfb;
        padding: 8px;
        display: grid;
        gap: 3px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    }
    .student-daily-log-stats span {
        color: #647f73;
        font-size: .72rem;
        font-weight: 800;
    }
    .student-daily-log-stats strong {
        color: #173a2c;
        font-size: 1.05rem;
    }
    .student-daily-log-stats div:first-child {
        background: #f6fbf8;
        border-color: #d6e5db;
    }
    .student-daily-log-stats .is-good {
        background:#ecfbf1;
        border-color:#bde2c8;
    }
    .student-daily-log-stats .is-warn {
        background:#fff0ef;
        border-color:#f0c2bd;
    }
    .student-daily-log-stats .is-muted {
        background:#f1f6fd;
        border-color:#cbd9ee;
    }
    .student-daily-log-stats .is-good strong { color: #167246; }
    .student-daily-log-stats .is-warn strong { color: #b9561f; }
    .student-daily-log-stats .is-muted strong { color: #45627f; }
    .student-daily-log-empty,
    .student-daily-log-note {
        margin: 0;
        border: 1px dashed #d6e7dd;
        border-radius: 12px;
        background: #fff;
        color: #5d766b;
        padding: 12px;
        font-size: .9rem;
    }
    .student-daily-log-note {
        margin-top: 10px;
    }
    .student-daily-overview-card {
        grid-column: 1 / -1;
        overflow: hidden;
    }
    .student-daily-overview-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 14px;
    }
    .student-daily-overview-head h3 {
        margin: 8px 0 0;
        color: #15392b;
        font-size: 1.18rem;
    }
    .student-daily-overview-head p {
        margin: 6px 0 0;
        color: #536f64;
        max-width: 680px;
    }
    .student-daily-overview-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 14px;
        border-radius: 999px;
        border: 1px solid #b9d8c5;
        background: #eaf7ef;
        color: #1d5a40;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
    }
    .student-daily-overview-strip {
        display: grid;
        grid-template-columns: repeat(7, minmax(150px, 1fr));
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: thin;
        scrollbar-color: rgba(44, 98, 72, .32) transparent;
    }
    .student-daily-overview-strip::-webkit-scrollbar {
        height: 8px;
    }
    .student-daily-overview-strip::-webkit-scrollbar-thumb {
        background: rgba(44, 98, 72, .32);
        border-radius: 999px;
    }
    .student-daily-overview-day {
        min-width: 150px;
        border: 1px solid #d8e7de;
        border-radius: 16px;
        background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%);
        padding: 12px;
        display: grid;
        gap: 10px;
    }
    .student-daily-overview-day.has-log {
        border-color: #b9dcc7;
        background: linear-gradient(180deg, #fbfffd 0%, #eff9f3 100%);
        box-shadow: 0 12px 22px rgba(31, 109, 77, .08);
    }
    .student-daily-overview-day-top {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        align-items: flex-start;
    }
    .student-daily-overview-day-top strong,
    .student-daily-overview-day-top span {
        display: block;
    }
    .student-daily-overview-day-top strong {
        color: #173a2c;
        font-size: 1rem;
    }
    .student-daily-overview-day-top span {
        color: #678278;
        font-size: .8rem;
        font-weight: 800;
    }
    .student-daily-overview-score {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 42px;
        min-height: 28px;
        border-radius: 999px;
        border: 1px solid #d8e7de;
        background: #fff;
        color: #2a6048;
        font-size: .78rem;
        font-weight: 900;
    }
    .student-daily-overview-meter {
        height: 8px;
        border-radius: 999px;
        background: #edf4ef;
        overflow: hidden;
    }
    .student-daily-overview-meter span {
        display: block;
        width: var(--daily-progress);
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #1f6d4d, #f0a13b);
    }
    .student-daily-overview-counts {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }
    .student-daily-overview-counts span,
    .student-daily-overview-lessons span {
        display: inline-flex;
        align-items: center;
        min-height: 26px;
        padding: 0 8px;
        border-radius: 999px;
        border: 1px solid #dce9e1;
        background: rgba(255,255,255,.78);
        color: #4f6a5f;
        font-size: .76rem;
        font-weight: 800;
    }
    .student-daily-overview-counts strong {
        color: #173a2c;
        margin-right: 3px;
    }
    .student-daily-overview-lessons {
        display: grid;
        gap: 6px;
    }
    .student-daily-overview-lessons span {
        justify-content: flex-start;
        border-radius: 10px;
        min-height: 0;
        padding: 6px 8px;
        line-height: 1.3;
        white-space: normal;
    }
    .student-daily-overview-empty {
        margin: 0;
        color: #70887e;
        font-size: .82rem;
        line-height: 1.45;
    }
    .student-overview-mini {
        min-height: 100%;
    }
    .student-overview-note {
        display: grid;
        gap: 8px;
        border: 1px solid #d7e6dd;
        border-radius: 14px;
        background: #fbfefc;
        padding: 14px;
    }
    .student-overview-note strong {
        color: #163c2d;
        font-size: 1rem;
    }
    .student-overview-note p {
        margin: 0;
        color: #4c665b;
    }
    .student-overview-note span {
        color: #6a8378;
        font-size: .82rem;
        font-weight: 700;
    }
    .student-overview-targets {
        display: grid;
        gap: 10px;
    }
    .student-learning-board {
        position: relative;
        overflow: hidden;
        background:
            radial-gradient(circle at 92% 8%, rgba(232, 131, 36, .14), transparent 28%),
            linear-gradient(135deg, #ffffff 0%, #fffaf2 48%, #f4f9ff 100%);
    }
    .student-learning-board-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 12px;
    }
    .student-learning-board-head h3 {
        margin: 4px 0 6px;
        color: #102b4a;
        font-size: 1.35rem;
    }
    .student-learning-board-head .student-helper-text {
        margin: 0;
        max-width: 760px;
    }
    .student-learning-week {
        flex: 0 0 auto;
        border: 1px solid #cfe0f4;
        border-radius: 999px;
        background: #f7fbff;
        color: #254f83;
        padding: 7px 11px;
        font-size: .84rem;
        font-weight: 850;
        box-shadow: 0 10px 18px rgba(37, 79, 131, .07);
    }
    .student-task-flow {
        margin-top: 12px;
        display: grid;
        gap: 12px;
    }
    .student-task-flow.is-scrollable {
        max-height: 620px;
        overflow-y: auto;
        padding-right: 8px;
    }
    .student-task-flow.is-scrollable::-webkit-scrollbar {
        width: 10px;
    }
    .student-task-flow.is-scrollable::-webkit-scrollbar-thumb {
        background: rgba(67, 98, 138, .28);
        border-radius: 999px;
        border: 2px solid transparent;
        background-clip: padding-box;
    }
    .student-task-flow.is-scrollable::-webkit-scrollbar-track {
        background: transparent;
    }
    .student-task-flow-item {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 12px;
        align-items: stretch;
        cursor: pointer;
    }
    .student-task-flow-rail {
        position: relative;
        display: grid;
        justify-items: center;
        align-content: start;
        gap: 8px;
        padding-top: 2px;
    }
    .student-task-flow-rail::after {
        content: "";
        position: absolute;
        top: 18px;
        bottom: -18px;
        width: 2px;
        background: linear-gradient(180deg, rgba(54, 101, 164, .34), rgba(54, 101, 164, .08));
    }
    .student-task-flow-item:last-child .student-task-flow-rail::after {
        display: none;
    }
    .student-task-flow-dot {
        position: relative;
        z-index: 1;
        width: 14px;
        height: 14px;
        border-radius: 999px;
        background: linear-gradient(135deg, #f6a44d 0%, #e88324 100%);
        border: 3px solid #fff7ef;
        box-shadow: 0 0 0 4px rgba(232, 131, 36, .12);
    }
    .student-task-flow-date {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 54px;
        padding: 5px 8px;
        border-radius: 999px;
        border: 1px solid #d7e0ea;
        background: #fff;
        color: #315178;
        font-size: .8rem;
        font-weight: 800;
        box-shadow: 0 8px 14px rgba(31, 61, 99, .06);
    }
    .student-task-flow-card {
        position: relative;
        border: 1px solid #d7e0ea;
        border-radius: 16px;
        background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
        padding: 14px 15px;
        box-shadow: 0 12px 22px rgba(31, 61, 99, .08);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .student-task-flow-item:hover .student-task-flow-card,
    .student-task-flow-item:focus-within .student-task-flow-card {
        transform: translateY(-2px);
        border-color: #9cc0ed;
        box-shadow: 0 16px 30px rgba(31, 61, 99, .13);
    }
    .student-task-flow-head {
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
    }
    .student-task-flow-head strong {
        color: #132b49;
        font-size: 1rem;
        line-height: 1.3;
    }
    .student-task-flow-meta {
        margin-top: 10px;
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }
    .student-task-flow-note {
        margin: 7px 0 0;
        color: #456255;
        font-size: .9rem;
        line-height: 1.45;
    }
    .student-task-flow-actions {
        margin-top: 12px;
        display: flex;
        justify-content: flex-end;
    }
    .student-task-flow-item.status-completed .student-task-flow-dot,
    .student-task-flow-item.status-approved .student-task-flow-dot {
        background: linear-gradient(135deg, #4d9b75 0%, #2f7b57 100%);
        box-shadow: 0 0 0 4px rgba(77, 155, 117, .12);
    }
    .student-task-flow-item.status-revision .student-task-flow-dot {
        background: linear-gradient(135deg, #ef6f6f 0%, #d24a4a 100%);
        box-shadow: 0 0 0 4px rgba(210, 74, 74, .10);
    }
    .student-task-flow-item.status-submitted .student-task-flow-dot {
        background: linear-gradient(135deg, #5f92d8 0%, #3d6db7 100%);
        box-shadow: 0 0 0 4px rgba(61, 109, 183, .10);
    }
    .student-target-chip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 1px solid #d5e5dc;
        border-radius: 12px;
        background: #fbfefc;
        padding: 11px 12px;
        color: #28493c;
        font-weight: 700;
    }
    .student-archive-note {
        margin-top: 10px;
        border: 1px solid #d9e6de;
        border-left: 4px solid #4e89c7;
        border-radius: 12px;
        background: #f5f9ff;
        padding: 12px 14px;
    }
    .student-archive-note strong {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #214b7d;
    }
    .student-archive-note p {
        margin: 8px 0 0;
        color: #4c6177;
    }
    .student-quick-nav { margin-top:12px; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
    .student-quick-btn { display:inline-flex; justify-content:center; align-items:center; text-decoration:none; background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:10px; padding:10px; font-weight:700; cursor:pointer; }
    .student-quick-btn:hover { background:rgba(255,255,255,.24); }
    .student-quick-btn.active { background:#fff; color:#1a5a41; border-color:#fff; }
    .hidden { display:none; }
    .std-section.hidden { display:none; }
    .acc.hidden { display:none; }
    .student-grid { display:grid; gap:12px; }
    .plan-card {
        border:1px solid #d5e3d9;
        border-radius:20px;
        background:linear-gradient(180deg,#ffffff 0%,#f7fcf9 100%);
        padding:16px;
        box-shadow:0 12px 26px rgba(19,61,42,.06);
        position:relative;
        overflow:hidden;
    }
    .plan-card::before {
        content:"";
        position:absolute;
        inset:0 auto 0 0;
        width:6px;
        background:linear-gradient(180deg,#2ec5d3 0%,#2e7cf6 100%);
    }
    .plan-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-bottom:12px; }
    .plan-title-wrap { display:grid; gap:8px; }
    .plan-head-actions {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:8px;
        flex-wrap:wrap;
    }
    .student-plan-print-link {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:36px;
        padding:0 12px;
        border-radius:14px;
        border:1px solid #c9dceb;
        background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);
        color:#244b76;
        text-decoration:none;
        font-weight:900;
        font-size:.82rem;
        box-shadow:0 8px 16px rgba(31,61,99,.08);
    }
    .student-plan-print-link:hover {
        background:linear-gradient(180deg,#eef7ff 0%,#e1edf8 100%);
        color:#173a5f;
    }
    .plan-week-badge {
        display:inline-flex;
        align-items:center;
        gap:8px;
        width:max-content;
        border-radius:14px;
        padding:6px 11px;
        background:var(--tone-status-bg);
        color:var(--tone-status-tx);
        border:1px solid var(--tone-status-bd);
        font-size:.8rem;
        font-weight:800;
    }
    .plan-week-badge svg,
    .plan-submeta svg { width:18px; height:18px; display:block; }
    .plan-week-range {
        font-size:1.18rem;
        color:#183b2c;
        line-height:1.2;
        letter-spacing:-.2px;
    }
    .plan-submeta {
        display:flex;
        gap:10px;
        flex-wrap:wrap;
        color:#516b5f;
        font-size:.92rem;
    }
    .plan-submeta span {
        display:inline-flex;
        align-items:center;
        gap:6px;
        border-radius:10px;
        padding:5px 10px;
        background:var(--tone-neutral-bg);
        border:1px solid var(--tone-neutral-bd);
        color:var(--tone-neutral-tx);
    }
    .task-list { display:grid; gap:8px; }
    .task-row {
        border:1px solid #dfece4;
        border-radius:16px;
        padding:12px;
        display:grid;
        grid-template-columns:1fr auto;
        gap:12px;
        align-items:center;
        background:rgba(248,252,250,.92);
        transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }
    .task-row:hover {
        transform:translateY(-1px);
        border-color:#bfd9cb;
        box-shadow:0 10px 20px rgba(22,67,46,.08);
    }
    .task-row-main {
        display:grid;
        grid-template-columns:52px minmax(0,1fr);
        gap:12px;
        align-items:center;
    }
    .task-icon {
        width:52px;
        height:52px;
        border-radius:16px;
        display:flex;
        align-items:center;
        justify-content:center;
        color:#0f5f72;
        background:linear-gradient(145deg,#dffaff 0%,#cbe7ff 100%);
        border:1px solid #9fd6e8;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
    }
    .task-icon-video {
        color:#0f5f72;
        background:linear-gradient(145deg,#dffaff 0%,#caedff 100%);
        border-color:#a2d9ee;
    }
    .task-icon-worksheet {
        color:#176240;
        background:linear-gradient(145deg,#e8fff1 0%,#d6f5e2 100%);
        border-color:#aaddbd;
    }
    .task-icon-resource {
        color:#7b4a03;
        background:linear-gradient(145deg,#fff4dc 0%,#ffe8b8 100%);
        border-color:#f0cf84;
    }
    .task-icon-mixed {
        color:#5a229e;
        background:linear-gradient(145deg,#f3e7ff 0%,#e7d8ff 100%);
        border-color:#ceb2f5;
    }
    .task-body { min-width:0; }
    .task-title {
        display:block;
        color:#153829;
        font-size:1.08rem;
        line-height:1.25;
    }
    .task-meta { color:#456255; font-size:.9rem; margin-top:3px; display:flex; gap:8px; flex-wrap:wrap; }
    .task-meta-chips { margin-top:8px; }
    .task-chip {
        display:inline-flex;
        align-items:center;
        border-radius:999px;
        padding:5px 10px;
        background:var(--tone-neutral-bg);
        border:1px solid var(--tone-neutral-bd);
        color:var(--tone-neutral-tx);
        font-size:.82rem;
        font-weight:700;
    }
    .task-chip-deadline {
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
        color:var(--tone-info-tx);
    }
    .badge { display:inline-flex; align-items:center; border-radius:10px; padding:3px 9px; font-size:.78rem; border:1px solid var(--tone-neutral-bd); background:var(--tone-neutral-bg); color:var(--tone-neutral-tx); }
    .badge.pending { background:var(--tone-warning-bg); border-color:var(--tone-warning-bd); color:var(--tone-warning-tx); }
    .badge.submitted { background:var(--tone-info-bg); border-color:var(--tone-info-bd); color:var(--tone-info-tx); }
    .badge.approved { background:var(--tone-success-bg); border-color:var(--tone-success-bd); color:var(--tone-success-tx); }
    .badge.revision { background:var(--tone-danger-bg); border-color:var(--tone-danger-bd); color:var(--tone-danger-tx); }
    .badge.assigned { background:var(--tone-status-bg); border-color:var(--tone-status-bd); color:var(--tone-status-tx); }
    .btn-detail { background:#195f98; color:#fff; border:0; border-radius:12px; padding:9px 14px; cursor:pointer; font-weight:800; }
    .btn-detail:hover { background:#154f80; }
    .student-task-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
    .student-task-check-form { margin:0; }
    .student-task-check {
        display:inline-flex;
        align-items:center;
        gap:8px;
        border:1px solid #bed8c8;
        background:#fff;
        color:#1d4f38;
        border-radius:12px;
        min-height:38px;
        padding:0 12px;
        font-weight:700;
        cursor:pointer;
    }
    .student-task-check-box {
        width:18px;
        height:18px;
        border-radius:999px;
        border:2px solid #97b8a4;
        background:#fff;
        display:inline-block;
    }
    .student-task-check.is-done {
        background:#eaf7ef;
        border-color:#90c0a2;
        color:#245f3f;
    }
    .student-task-check.is-done .student-task-check-box {
        background:#2f8a56;
        border-color:#2f8a56;
        box-shadow:inset 0 0 0 4px #eaf7ef;
    }
    .student-task-check:disabled {
        opacity:.7;
        cursor:not-allowed;
    }

    .task-modal { position:fixed; inset:0; display:none; z-index:9999; }
    .task-modal.open { display:block; }
    .task-modal-backdrop { position:absolute; inset:0; background:rgba(10,18,14,.50); backdrop-filter:blur(3px); }
    .task-modal-panel { position:absolute; top:0; right:0; height:100%; width:min(540px, 96vw); background:linear-gradient(180deg,#fffdf9 0%,#f7fbf8 100%); box-shadow:-18px 0 50px rgba(12,28,20,.22); padding:18px; overflow:auto; border-left:1px solid #d7e8de; }
    .task-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding-bottom:12px; border-bottom:1px solid #e1ece5; }
    .task-modal-head h3 { margin:2px 0 0; font-size:1.34rem; color:#173f2f; letter-spacing:-.02em; }
    .task-modal-kicker { display:inline-flex; color:#638073; font-weight:900; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
    .task-close { border:1px solid #cfe1d7; background:#fff; color:#204636; border-radius:999px; padding:7px 12px; cursor:pointer; font-weight:800; box-shadow:0 8px 18px rgba(32,70,54,.08); }
    .task-block { border:1px solid #dcebe3; border-radius:18px; padding:14px; margin-top:12px; background:rgba(255,255,255,.78); box-shadow:0 12px 28px rgba(38,73,56,.07); }
    .task-block p { margin:6px 0; }
    .task-modal-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .task-modal-summary-item { display:grid; gap:4px; min-width:0; padding:10px; border-radius:14px; background:#f5faf7; border:1px solid #e0ece4; }
    .task-modal-summary-item span,
    .task-modal-topic-card span,
    .task-modal-resource-row > span { color:#668073; font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
    .task-modal-summary-item strong,
    .task-modal-topic-card strong,
    .task-modal-resource-row strong { color:#173f2f; font-size:.95rem; line-height:1.25; }
    .task-modal-topic-card { display:grid; gap:6px; background:linear-gradient(135deg,#eff8f3 0%,#fff 100%); }
    .task-modal-topic-card strong { font-size:1.02rem; }
    .task-block-title { display:flex; align-items:center; gap:8px; color:#173f2f; font-weight:900; }
    .task-modal-note-card #taskModalNotes { white-space:pre-line; line-height:1.55; color:#365b49; }
    .task-modal-resource-row { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px dashed #d7e7df; }
    .task-modal-action-card h4 { margin:0 0 10px; color:#173f2f; }
    .student-task-lock-note { margin:0 0 10px !important; padding:10px 12px; border-radius:14px; border:1px solid #ecd9a9; background:#fff8e6; color:#7a5a16; font-weight:800; line-height:1.45; }
    .student-plan-lock-banner { display:flex; align-items:flex-start; gap:10px; margin:12px 0 0; padding:12px 14px; border:1px solid #ecd9a9; border-radius:16px; background:linear-gradient(135deg,#fff9e9 0%,#fffdf7 100%); color:#74561a; font-weight:800; line-height:1.45; }
    .task-form textarea { width:100%; border:1px solid #c9d9cf; border-radius:8px; padding:8px; min-height:80px; }
    .task-form button { margin-top:8px; }
    .acc-wrap { margin-top:12px; display:grid; gap:10px; }
    .acc { border:1px solid #d5e4da; border-radius:12px; background:#fff; overflow:hidden; }
    .acc > summary { list-style:none; cursor:pointer; padding:12px 14px; font-weight:700; background:#f2f8f4; display:flex; align-items:center; justify-content:space-between; }
    .acc > summary::-webkit-details-marker { display:none; }
    .acc-content { padding:12px 14px; border-top:1px solid #e0ece4; }
    .lgs-block { border:1px solid #e1ece5; border-radius:10px; padding:10px; margin-top:10px; max-width:920px; margin-left:auto; margin-right:auto; }
    .lgs-block h4 { margin:0 0 8px; font-size:.95rem; }
    .lgs-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .lgs-table { width:100%; border-collapse:collapse; }
    .lgs-table th, .lgs-table td {
        border-bottom:1px solid #e7efe9;
        padding:7px;
        text-align:left;
        font-size:.88rem;
        word-break:normal;
        overflow-wrap:normal;
        white-space:nowrap;
    }
    .lgs-table th:first-child,
    .lgs-table td:first-child {
        min-width:140px;
        white-space:normal;
    }
    .lgs-table th:nth-child(2),
    .lgs-table td:nth-child(2) {
        min-width:56px;
        text-align:center;
    }
    .lgs-table input { width:76px; min-width:76px; }
    .lgs-table input {
        border-radius:10px;
        font-weight:800;
        transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
    }
    .lgs-table input:focus {
        outline:0;
        box-shadow:0 0 0 3px rgba(232,131,36,.14);
    }
    .in-correct { border-color:#82c8a1; background:#eefaf2; color:#145634; }
    .in-wrong { border-color:#e9b5b5; background:#fff2f2; color:#842d2d; }
    .in-blank { border-color:#d0d7d3; background:#f2f4f3; color:#55625c; }
    .in-net { border-color:#b8ccd8; background:#eef6fb; color:#1d4f6a; font-weight:900; }
    .lgs-summary { margin-top:12px; border:1px solid #d9e8df; border-radius:10px; padding:10px; background:#f8fcf9; }
    .lgs-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
    .sum-box { border:1px solid #d6e5db; border-radius:8px; padding:8px; background:#fff; }
    .sum-box strong { display:block; font-size:1.2rem; margin-top:2px; }
    .lgs-estimated-score-card {
        max-width:920px;
        margin:12px auto 0;
        border:1px solid #f0c887;
        border-radius:14px;
        padding:14px 16px;
        background:linear-gradient(135deg,#fff8e9 0%,#fffdf7 100%);
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        box-shadow:0 12px 28px rgba(154,97,22,.08);
    }
    .lgs-estimated-score-card span {
        display:block;
        color:#8a5b12;
        font-size:.78rem;
        font-weight:900;
        letter-spacing:.06em;
        text-transform:uppercase;
    }
    .lgs-estimated-score-card strong {
        display:block;
        margin-top:3px;
        color:#143a64;
        font-size:2rem;
        line-height:1;
        font-weight:900;
        font-variant-numeric:tabular-nums;
    }
    .lgs-estimated-score-card small {
        color:#6a5530;
        max-width:360px;
        line-height:1.45;
        font-weight:700;
    }
    .qa-list { display:grid; gap:10px; }
    .qa-card { border:1px solid #d6e5db; border-radius:12px; overflow:hidden; background:#fff; }
    .qa-q { background:#f6fbf8; border-bottom:1px solid #e0ece4; padding:10px 12px; }
    .qa-a { padding:10px 12px; border-left:4px solid #1f8f55; background:#fcfffd; }
    .qa-meta { color:#5f786b; font-size:.82rem; margin-top:4px; }
    .qa-empty { color:#5c7769; }
    .help-fab { position:fixed; right:18px; bottom:18px; z-index:10020; border:0; border-radius:14px; background:#167a47; color:#fff; padding:11px 14px; font-weight:700; cursor:pointer; box-shadow:0 10px 28px rgba(17,67,43,.26); }
    .help-fab:hover { background:#12683c; }
    .help-panel { position:fixed; top:0; right:-430px; width:min(420px,92vw); height:100vh; z-index:10030; background:#fff; border-left:1px solid #d8e7dd; box-shadow:-12px 0 36px rgba(0,0,0,.18); transition:right .24s ease; display:flex; flex-direction:column; }
    .help-panel.open { right:0; }
    body.student-help-open .nav { z-index:10050; }
    .help-head { padding:14px; border-bottom:1px solid #e0ece4; display:flex; justify-content:space-between; align-items:center; background:#f5faf7; }
    .help-close { border:1px solid #d1e1d6; background:#fff; color:#204636; border-radius:8px; padding:5px 9px; cursor:pointer; font-weight:700; }
    .help-body { padding:12px; overflow:auto; display:grid; gap:10px; }
    .help-backdrop { position:fixed; inset:0; background:rgba(6,14,10,.36); z-index:10010; display:none; }
    .help-backdrop.open { display:block; }
    .help-ask { border:1px solid #dce9e0; border-radius:10px; padding:10px; background:#f8fcf9; }
    .help-ask h4 { margin:0 0 8px; font-size:.95rem; }
    .help-ask label { margin-bottom:6px; }
    .help-ask input, .help-ask textarea { background:#fff; }
    .help-ask button { margin-top:6px; }
    .section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
    .btn-mini { border:1px solid #c8dbc9; background:#eff8f1; color:#245a3f; border-radius:10px; padding:5px 10px; font-size:.8rem; font-weight:700; cursor:pointer; }
    .btn-mini:hover { background:#dff0e4; }
    .exam-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
    .exam-sum-box { border:1px solid #d6e5db; border-radius:10px; padding:8px; background:#f8fcf9; }
    .exam-sum-box span { font-size:.78rem; color:#4f6a5e; display:block; }
    .exam-sum-box strong { font-size:1.15rem; display:block; margin-top:2px; font-weight:800; }
    .student-daily-entry-panel .acc-content {
        background:
            radial-gradient(circle at 100% 0%, rgba(232, 131, 36, .12), transparent 30%),
            radial-gradient(circle at 0% 100%, rgba(36, 77, 120, .08), transparent 32%),
            linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    }
    .student-daily-entry-hero {
        display:flex;
        justify-content:space-between;
        gap:16px;
        align-items:flex-start;
        border:1px solid #cdddf0;
        border-radius:14px;
        padding:16px 18px;
        background:
            radial-gradient(circle at 100% 0%, rgba(242, 138, 36, .16), transparent 32%),
            linear-gradient(135deg,#ffffff 0%,#f4f8ff 62%,#fff8ef 100%);
        box-shadow:0 18px 34px rgba(31,61,99,.09);
    }
    .student-daily-entry-hero h4 {
        margin:4px 0 5px;
        color:#102b4a;
        font-size:1.25rem;
    }
    .student-daily-entry-hero p {
        margin:0;
        color:#3d5874;
        line-height:1.45;
        font-weight:650;
    }
    .student-daily-entry-date {
        min-width:210px;
        border:1px solid #bfd4ef;
        border-radius:14px;
        padding:11px 13px;
        background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%);
        color:#244d78;
        box-shadow:0 10px 20px rgba(37,79,131,.08);
    }
    .student-daily-entry-date span {
        display:block;
        color:#6b7f96;
        font-size:.78rem;
        font-weight:850;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .student-daily-entry-date strong {
        display:block;
        margin-top:4px;
        font-size:.95rem;
    }
    .student-daily-date-field {
        max-width:100%;
        margin-top:12px;
        border:1.5px solid #9fb8d8;
        border-radius:12px;
        padding:12px 14px;
        background:linear-gradient(180deg,#ffffff 0%,#f1f6ff 100%);
        color:#173f70;
        font-weight:800;
        box-shadow:0 8px 18px rgba(31,61,99,.08);
    }
    .student-daily-date-field::first-line {
        color:#0f345f;
    }
    .student-daily-date-field input {
        margin-top:6px;
        border-color:#a8bfdc;
        border-radius:10px;
        background:#fff;
        color:#0f345f;
    }
    .student-daily-date-field input:focus {
        border-color:#f28a24;
        box-shadow:0 0 0 3px rgba(242,138,36,.16);
        outline:none;
    }
    .daily-save-btn {
        margin-top:14px;
        width:100%;
        min-height:50px;
        border-radius:12px;
        font-size:1rem;
        font-weight:900;
        background:linear-gradient(135deg,#1f5f92 0%,#244d78 58%,#f28a24 160%);
        box-shadow:0 14px 26px rgba(31,61,99,.18);
    }
    .daily-save-btn:disabled,
    .daily-save-btn.is-loading {
        cursor:wait;
        opacity:.72;
        transform:none;
        filter:saturate(.75);
    }
    .daily-kpi-grid { display:grid; grid-template-columns:.88fr .94fr 1.34fr .96fr; gap:10px; margin:8px 0 12px; }
    .daily-kpi-box {
        border:1px solid #cbdcf0;
        border-radius:16px;
        padding:14px;
        background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
        box-shadow:0 10px 20px rgba(31,61,99,.05);
    }
    .daily-kpi-box span {
        font-size:.8rem;
        color:#60768e;
        display:block;
        letter-spacing:.07em;
        text-transform:uppercase;
        font-weight:850;
    }
    .daily-kpi-box strong {
        font-family:"DM Mono","Consolas","Courier New",monospace;
        font-size:2.05rem;
        line-height:1;
        color:#0f345f;
        display:block;
        margin-top:8px;
        font-variant-numeric: tabular-nums;
        font-weight:800;
    }
    .dyb-three-line {
        display:inline-flex;
        align-items:baseline;
        flex-wrap:nowrap;
        gap:.16em;
        white-space:nowrap;
        line-height:1;
        font-size:clamp(1rem, 1.4vw, 1.7rem) !important;
        letter-spacing:-.2px !important;
        max-width:100%;
        overflow:hidden;
    }
    .dyb-three-line i {
        font-style:normal;
        display:inline;
        flex:0 0 auto;
    }
    .daily-kpi-box.dyb-box { padding-left:12px; padding-right:12px; }
    .daily-kpi-box.dyb-box .dyb-three-line {
        font-family:var(--portal-number-font) !important;
        font-size:2.05rem !important;
        font-weight:900 !important;
        letter-spacing:-.04em !important;
    }
    .score-entry { max-width:920px; margin:10px auto 0; }
    .exam-modal { position:fixed; inset:0; display:none; z-index:10040; }
    .exam-modal.open { display:block; }
    .exam-modal-backdrop { position:absolute; inset:0; background:rgba(10,18,14,.46); }
    .exam-modal-panel { position:relative; width:min(760px,96vw); margin:4vh auto; background:#fff; border:1px solid #d7e6dc; border-radius:14px; max-height:92vh; display:flex; flex-direction:column; }
    .exam-modal-head { padding:12px 14px; border-bottom:1px solid #e0ece4; display:flex; justify-content:space-between; align-items:center; gap:8px; }
    .exam-modal-body { padding:10px 14px 14px; overflow:auto; }
    .student-image-stage { min-height:min(60vh, 520px); display:flex; align-items:center; justify-content:center; border:1px solid #dce9e1; border-radius:12px; background:#f8fcf9; padding:12px; }
    .student-image-stage img { max-width:100%; max-height:min(72vh, 680px); width:auto; height:auto; border-radius:10px; border:1px solid #dce9e1; background:#fff; }
    .student-image-status { margin:0; color:#335646; font-weight:700; text-align:center; }
    .student-image-status.is-error { color:#a03d3d; }
    .exam-list { display:grid; gap:8px; }
    .exam-list.scrollable { max-height:460px; overflow:auto; padding-right:4px; }
    .exam-row { border:1px solid #deebe2; border-radius:10px; padding:8px 10px; background:#fbfefc; }
    .exam-row-top { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
    .exam-row-meta { margin-top:4px; color:#506a5f; font-size:.88rem; display:flex; gap:12px; flex-wrap:wrap; }
    .exam-note { margin-top:4px; color:#446156; font-size:.84rem; }
    .student-helper-text { color:#4f6a5e; }
    .notif-body { font-size:.88rem; color:#4d675b; }
    .student-exam-history { margin-top:14px; border-top:1px solid #dfece4; padding-top:12px; }
    .student-exam-history h4 { margin:0 0 8px; color:#173f2f; font-size:1.1rem; }
    .student-exam-history-note { margin:0 0 10px; color:#4f6a5e; font-size:.88rem; }
    .student-exam-months { display:grid; gap:10px; }
    .student-exam-month { border:1px solid #d8e8de; border-radius:12px; background:#fbfefc; overflow:hidden; }
    .student-exam-month-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:9px 11px; border-bottom:1px solid #e4efe8; background:#f3f9f5; color:#2a5642; }
    .student-exam-month-head strong { color:#173f2f; font-size:.98rem; }
    .student-exam-month-list { display:grid; gap:10px; padding:12px; }
    .student-exam-item { border:1px solid #dce9e1; border-radius:12px; background:#fff; }
    .student-exam-item > summary {
        list-style:none;
        cursor:pointer;
        padding:12px;
    }
    .student-exam-item > summary::-webkit-details-marker { display:none; }
    .student-exam-item-top { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:center; }
    .student-exam-item-name { color:#1a4533; font-weight:800; font-size:1.06rem; }
    .student-exam-item-date { color:#5f776b; font-size:.9rem; font-weight:700; }
    .student-exam-item-metrics { margin-top:7px; display:flex; gap:8px; flex-wrap:wrap; }
    .student-exam-chip { border:1px solid var(--tone-success-bd); border-radius:999px; background:var(--tone-success-bg); color:var(--tone-success-tx); font-size:.88rem; font-weight:800; padding:5px 11px; }
    .student-exam-chip.neutral { background:var(--tone-neutral-bg); border-color:var(--tone-neutral-bd); color:var(--tone-neutral-tx); }
    .student-exam-detail { border-top:1px dashed #d8e6dd; padding:10px 12px 12px; display:grid; gap:8px; }
    .student-exam-lessons { display:grid; gap:8px; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); }
    .student-exam-lesson {
        --lesson-accent:#df9840;
        --lesson-surface:#fff4e8;
        --lesson-tint:#fff0df;
        border:1px solid #d9e4ef;
        border-radius:16px;
        padding:8px;
        background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
        box-shadow:0 10px 20px rgba(31,61,99,.06);
        display:grid;
        gap:8px;
    }
    .student-exam-lesson:nth-child(6n+1) { --lesson-accent:#df9840; --lesson-surface:#fff4e8; --lesson-tint:#fff0df; }
    .student-exam-lesson:nth-child(6n+2) { --lesson-accent:#3eaf72; --lesson-surface:#ecfbf1; --lesson-tint:#dcf5e5; }
    .student-exam-lesson:nth-child(6n+3) { --lesson-accent:#4f8fe5; --lesson-surface:#eef5ff; --lesson-tint:#ddeafd; }
    .student-exam-lesson:nth-child(6n+4) { --lesson-accent:#d25d88; --lesson-surface:#fff0f5; --lesson-tint:#ffe0ea; }
    .student-exam-lesson:nth-child(6n+5) { --lesson-accent:#8d66d6; --lesson-surface:#f5f0ff; --lesson-tint:#e8deff; }
    .student-exam-lesson:nth-child(6n+6) { --lesson-accent:#33a6b4; --lesson-surface:#ebfbfc; --lesson-tint:#d8f3f6; }
    .student-exam-lesson-title {
        display:inline-flex;
        align-items:center;
        justify-content:space-between;
        gap:8px;
        min-height:42px;
        padding:8px 12px;
        border-radius:12px;
        border:1px solid color-mix(in srgb, var(--lesson-accent) 40%, #ffffff 60%);
        background:linear-gradient(180deg,var(--lesson-surface) 0%,var(--lesson-tint) 100%);
        width:fit-content;
        max-width:100%;
    }
    .student-exam-lesson-title strong { display:block; color:#1e3553; line-height:1.25; font-size:.84rem; }
    .student-exam-metrics {
        display:grid;
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:6px;
    }
    .student-exam-metrics span {
        display:grid;
        justify-items:center;
        align-content:center;
        justify-content:center;
        min-height:42px;
        border-radius:12px;
        border:1px solid transparent;
        font-size:.82rem;
        font-weight:800;
        line-height:1.1;
    }
    .student-exam-metrics span small {
        font-size:.62rem;
        letter-spacing:.1em;
        opacity:.82;
    }
    .student-exam-metrics span b {
        font-size:.98rem;
        line-height:1;
    }
    .student-exam-net-panel {
        display:flex;
        align-items:end;
        justify-content:space-between;
        gap:10px;
        padding:8px 4px 0;
        border-top:1px solid color-mix(in srgb, var(--lesson-accent) 24%, #dbe5f1 76%);
    }
    .student-exam-net-label {
        color:#6f88a4;
        font-size:.72rem;
        font-weight:800;
        letter-spacing:.12em;
    }
    .student-exam-net-value {
        color:var(--lesson-accent);
        font-size:1.3rem;
        font-weight:900;
        line-height:1;
    }
    .student-exam-metrics span {
        min-height:44px;
        padding:4px 6px;
        border-radius:9px;
    }
    .student-exam-note { font-size:.85rem; color:#4f6a5e; }
    .student-exam-empty { margin:0; color:#5c7769; font-size:.9rem; }
    .student-notif-summary {
        display:grid;
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:12px;
        margin:16px 0 14px;
    }
    .student-notif-summary-card {
        border:1px solid #d7e0ec;
        border-radius:14px;
        padding:14px 16px;
        background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
        box-shadow:0 10px 20px rgba(31,61,99,.05);
        display:grid;
        gap:6px;
    }
    .student-notif-summary-card.is-unread {
        border-color:#bcd0ec;
        background:linear-gradient(180deg,#fbfdff 0%,#f3f8ff 100%);
    }
    .student-notif-summary-card.is-important {
        border-color:#f0cfaa;
        background:linear-gradient(180deg,#fffdfa 0%,#fff6ea 100%);
    }
    .student-notif-summary-card.is-reply {
        border-color:#d8c8f4;
        background:linear-gradient(180deg,#fefcff 0%,#f7f1ff 100%);
    }
    .student-notif-summary-label {
        color:#7688a0;
        font-size:.78rem;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
    }
    .student-notif-summary-value {
        color:#173253;
        font-size:1.6rem;
        line-height:1;
        font-weight:900;
        font-variant-numeric:tabular-nums;
    }
    .student-notif-filters {
        display:flex;
        gap:8px;
        flex-wrap:wrap;
        margin:0 0 16px;
    }
    .student-notif-filter {
        border:1px solid #d7e0ec;
        border-radius:10px;
        padding:8px 13px;
        background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
        color:#446386;
        font-size:.84rem;
        font-weight:800;
        cursor:pointer;
        transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
        box-shadow:0 6px 14px rgba(31,61,99,.05);
    }
    .student-notif-filter:hover {
        transform:translateY(-1px);
        border-color:#bfd0e5;
        box-shadow:0 10px 18px rgba(31,61,99,.08);
    }
    .student-notif-filter.is-active {
        border-color:#9cb8df;
        background:linear-gradient(135deg,#f0f6ff 0%,#dbe8fb 100%);
        color:#1f4f8e;
        box-shadow:0 12px 22px rgba(46,124,246,.12);
    }
    .student-notif-empty-state {
        border:1px dashed #c9d7e8;
        border-radius:14px;
        padding:14px 16px;
        margin:0 0 14px;
        background:linear-gradient(180deg,#fbfdff 0%,#f5f9ff 100%);
        color:#61758d;
        font-size:.94rem;
        font-weight:700;
    }
    .my-notif-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
    .my-notif-item {
        border:1px solid #d7dee8;
        border-radius:20px;
        padding:16px 18px;
        background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
        box-shadow:0 12px 24px rgba(31,61,99,.06);
        position:relative;
        overflow:hidden;
        transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .my-notif-item::before {
        content:"";
        position:absolute;
        inset:0 auto 0 0;
        width:6px;
        background:linear-gradient(180deg,#2ec5d3 0%,#2e7cf6 100%);
    }
    .my-notif-item:hover {
        transform:translateY(-2px);
        box-shadow:0 16px 30px rgba(31,61,99,.1);
        border-color:#bfd0e5;
    }
    .my-notif-item.is-unread {
        border-color:#aac3e4;
        box-shadow:0 0 0 2px rgba(76,120,186,.10), 0 16px 30px rgba(31,61,99,.12);
    }
    .my-notif-shell { display:grid; grid-template-columns:56px minmax(0,1fr); gap:14px; align-items:center; }
    .my-notif-avatar {
        width:56px;
        height:56px;
        border-radius:16px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:.92rem;
        font-weight:900;
        letter-spacing:.6px;
        color:#0f4c5a;
        background:linear-gradient(145deg,#dffaff 0%,#cbe7ff 100%);
        border:1px solid #9fd6e8;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
    }
    .my-notif-avatar i {
        width:26px;
        height:26px;
        font-size:24px;
        display:block;
        line-height:1;
    }
    .task-icon i {
        font-size:22px;
        line-height:1;
    }
    .my-notif-content { min-width:0; }
    .my-notif-top {
        display:flex;
        justify-content:space-between;
        gap:14px;
        align-items:flex-start;
    }
    .my-notif-title-wrap { min-width:0; }
    .my-notif-kickers { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
    .my-notif-tag,
    .my-notif-fresh {
        display:inline-flex;
        align-items:center;
        border-radius:10px;
        padding:3px 9px;
        font-size:.72rem;
        font-weight:800;
        letter-spacing:.12px;
        border:1px solid transparent;
    }
    .my-notif-tag {
        color:var(--tone-info-tx);
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
    }
    .my-notif-tag.kind-info {
        color:var(--tone-info-tx);
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
    }
    .my-notif-tag.kind-success {
        color:var(--tone-success-tx);
        background:var(--tone-success-bg);
        border-color:var(--tone-success-bd);
    }
    .my-notif-tag.kind-warning {
        color:var(--tone-danger-tx);
        background:var(--tone-danger-bg);
        border-color:var(--tone-danger-bd);
    }
    .my-notif-tag.kind-status {
        color:var(--tone-status-tx);
        background:var(--tone-status-bg);
        border-color:var(--tone-status-bd);
    }
    .my-notif-fresh {
        color:var(--tone-danger-tx);
        background:var(--tone-danger-bg);
        border-color:var(--tone-danger-bd);
    }
    .my-notif-title {
        display:block;
        color:#173253;
        font-size:1.08rem;
        line-height:1.28;
        letter-spacing:-.12px;
    }
    .notif-body {
        font-size:.95rem;
        color:#5e7187;
        line-height:1.58;
        margin:10px 0 0;
        max-width:72ch;
    }
    .my-notif-meta {
        color:#70839a;
        font-size:.81rem;
        margin-top:12px;
        display:flex;
        align-items:center;
        gap:8px;
        flex-wrap:wrap;
    }
    .my-notif-actions {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        min-width:max-content;
    }
    .my-notif-dot {
        width:4px;
        height:4px;
        border-radius:10px;
        background:currentColor;
        opacity:.7;
    }
    .student-notif-reply-btn {
        border:1px solid #d6e1ee;
        border-radius:12px;
        padding:9px 14px;
        font-size:.86rem;
        font-weight:800;
        color:#315178;
        background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%);
        box-shadow:0 6px 14px rgba(31,61,99,.08);
        cursor:pointer;
        transition:transform .16s ease, filter .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
    }
    .student-notif-reply-btn:hover {
        transform:translateY(-1px);
        filter:none;
        box-shadow:0 10px 18px rgba(31,61,99,.12);
    }
    .my-notif-item[data-notif-type="coach_mock_exam_feedback"]::before { background:linear-gradient(180deg,#27d17f 0%,#1a9d5c 100%); }
    .my-notif-item[data-notif-type="coach_mock_exam_feedback"] {
        background:linear-gradient(180deg,#ffffff 0%,#f4fbf6 100%);
    }
    .my-notif-item[data-notif-type="coach_mock_exam_feedback"] .my-notif-avatar {
        color:#13603c;
        background:linear-gradient(145deg,#e4fff1 0%,#d2f6e1 100%);
        border-color:#9fdab8;
    }
    .my-notif-item[data-notif-type="coach_mock_exam_feedback"] .my-notif-tag {
        color:var(--tone-success-tx);
        background:var(--tone-success-bg);
        border-color:var(--tone-success-bd);
    }
    .my-notif-item[data-notif-type="coach_reply"]::before { background:linear-gradient(180deg,#2ec5d3 0%,#2e7cf6 100%); }
    .my-notif-item[data-notif-type="coach_reply"] {
        background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);
    }
    .my-notif-item[data-notif-type="coach_reply"] .my-notif-avatar {
        color:#1f5ea8;
        background:linear-gradient(145deg,#eaf4ff 0%,#d9e9ff 100%);
        border-color:#b8d2f5;
    }
    .my-notif-item[data-notif-type="coach_reply"] .my-notif-tag {
        color:var(--tone-info-tx);
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
    }
    .my-notif-item[data-notif-type="coach_direct_message"]::before { background:linear-gradient(180deg,#a855f7 0%,#6d28d9 100%); }
    .my-notif-item[data-notif-type="coach_direct_message"] {
        background:linear-gradient(180deg,#ffffff 0%,#faf6ff 100%);
    }
    .my-notif-item[data-notif-type="coach_direct_message"] .my-notif-avatar {
        color:#5a229e;
        background:linear-gradient(145deg,#f3e7ff 0%,#e7d8ff 100%);
        border-color:#ceb2f5;
    }
    .my-notif-item[data-notif-type="coach_direct_message"] .my-notif-tag {
        color:var(--tone-status-tx);
        background:var(--tone-status-bg);
        border-color:var(--tone-status-bd);
    }
    .student-reply-box { margin-top:8px; border-top:1px dashed #d5e4da; padding-top:8px; display:none; }
    .student-reply-box.open { display:block; }
    .student-reply-box textarea { width:100%; border:1px solid #ccdcd1; border-radius:8px; padding:8px; min-height:72px; }
    .daily-wrap { display:grid; gap:12px; }
    .daily-subject-quick-picks {
        display:flex;
        gap:8px;
        overflow-x:auto;
        padding:2px 2px 8px;
        -webkit-overflow-scrolling:touch;
    }
    .daily-subject-quick-picks button {
        flex:0 0 auto;
        border:1px solid #c6d9f0;
        border-radius:10px;
        padding:10px 15px;
        background:
            linear-gradient(180deg,#ffffff 0%,#f1f6ff 100%);
        color:#173f70;
        font-weight:900;
        cursor:pointer;
        box-shadow:0 8px 16px rgba(31,61,99,.07);
        transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
    }
    .daily-subject-quick-picks button:hover,
    .daily-subject-quick-picks button:focus-visible {
        border-color:#f28a24;
        color:#8b4b12;
        background:linear-gradient(180deg,#fff8ef 0%,#fff1df 100%);
        box-shadow:0 12px 22px rgba(242,138,36,.15);
        transform:translateY(-1px);
        outline:none;
    }
    #dailyRows {
        display:grid;
        grid-template-columns:repeat(3, minmax(210px, 1fr));
        gap:12px;
        align-items:start;
    }
    .daily-row {
        border:1px solid #cbdcf0;
        border-radius:14px;
        padding:12px;
        background:
            radial-gradient(circle at 100% 0%, rgba(242,138,36,.12), transparent 32%),
            linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
        box-shadow:0 12px 24px rgba(31,61,99,.08);
        display:grid;
        gap:8px;
        overflow:hidden;
    }
    .daily-row.is-highlighted {
        animation: dailyCardPulse .7s ease;
    }
    @keyframes dailyCardPulse {
        0%, 100% { box-shadow:0 12px 24px rgba(31,61,99,.08); }
        40% { box-shadow:0 0 0 3px rgba(242,138,36,.22), 0 18px 32px rgba(31,61,99,.14); }
    }
    .daily-card-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:8px;
    }
    .daily-card-head strong {
        display:block;
        margin-top:3px;
        color:#0f345f;
        font-size:.96rem;
        line-height:1.2;
    }
    .daily-card-kicker {
        display:inline-flex;
        align-items:center;
        min-height:22px;
        padding:0 9px;
        border:1px solid #f0b16a;
        border-radius:10px;
        background:#fff3e8;
        color:#8b4b12;
        font-size:.72rem;
        font-weight:800;
    }
    .daily-card-actions {
        display:flex;
        align-items:center;
        gap:6px;
        flex:0 0 auto;
    }
    .daily-card-accuracy {
        min-width:48px;
        min-height:28px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border:1px solid #f1bd8d;
        border-radius:10px;
        background:linear-gradient(180deg,#fff8ef 0%,#fff0dc 100%);
        color:#8b4b12;
        font-weight:900;
    }
    .daily-card-actions [data-remove-row] {
        min-height:30px;
        margin:0;
        padding:0 11px;
        border-radius:10px;
    }
    .daily-row-grid {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:7px;
        align-items:end;
    }
    .daily-row-grid label:nth-child(1),
    .daily-row-grid label:nth-child(2) {
        align-self:stretch;
        grid-column:1 / -1;
    }
    .daily-row-grid label:nth-child(n+3):nth-child(-n+6) {
        border:1px solid #cbdcf0;
        border-radius:10px;
        background:#fff;
        padding:10px 12px;
        margin:0;
        color:#557084;
        font-size:.74rem;
        font-weight:900;
        letter-spacing:.04em;
        text-transform:uppercase;
    }
    .daily-row-grid label:nth-child(n+3):nth-child(-n+6) input[type="number"] {
        margin-top:5px;
        width:100%;
        min-height:34px;
        border:0;
        padding:2px 6px;
        background:transparent;
        color:#0f345f;
        font-size:1.35rem;
        font-weight:950;
        line-height:1.1;
        box-shadow:none;
        appearance:textfield;
        -moz-appearance:textfield;
    }
    .daily-row-grid label:nth-child(n+3):nth-child(-n+6) input[type="number"]::-webkit-outer-spin-button,
    .daily-row-grid label:nth-child(n+3):nth-child(-n+6) input[type="number"]::-webkit-inner-spin-button {
        -webkit-appearance:none;
        margin:0;
    }
    .daily-row-grid label:nth-child(n+3):nth-child(-n+6) input[type="number"]:focus {
        outline:2px solid rgba(242,138,36,.34);
        outline-offset:3px;
        border-radius:8px;
    }
    .daily-row-grid label:nth-child(3) {
        border-color:#cbdcf0;
        background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    }
    .daily-row-grid label:nth-child(4) {
        background:#eaf8f0;
        border-color:#bde5cd;
        color:#55745f;
    }
    .daily-row-grid label:nth-child(4) input[type="number"] {
        color:#146d43;
    }
    .daily-row-grid label:nth-child(5) {
        background:#fff0ef;
        border-color:#f0c2bd;
        color:#8a5a54;
    }
    .daily-row-grid label:nth-child(5) input[type="number"] {
        color:#b84937;
    }
    .daily-row-grid label:nth-child(6) {
        background:#edf4ff;
        border-color:#cbd9ee;
        color:#596f8b;
    }
    .daily-row-grid label:nth-child(6) input[type="number"] {
        color:#315178;
    }
    .daily-row-grid > [data-remove-row] {
        display:none;
    }
    .daily-mini { font-size:.82rem; color:#5a7568; margin-top:2px; }
    .daily-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
    .daily-toolbar button {
        min-height:38px;
        border-radius:10px;
        font-weight:850;
    }
    .daily-total {
        border:1px solid #cbdcf0;
        border-radius:12px;
        background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
        padding:10px 12px;
        display:flex;
        gap:16px;
        flex-wrap:wrap;
        box-shadow:0 8px 18px rgba(31,61,99,.05);
    }
    .daily-total strong { display:inline-block; min-width:56px; }
    .daily-row-grid input[type="number"] { width:100%; max-width:none; min-height:32px; padding:4px 7px; }
    .daily-row-grid [data-remove-row] { align-self:end; height:36px; margin:0; padding:7px 12px; }
    .daily-detail-table-wrap { margin-top:10px; border:1px solid #dce9e1; border-radius:12px; background:#fff; overflow:auto; }
    .daily-detail-table-wrap .daily-detail-table { min-width:680px; }
    .daily-detail-table th { white-space:nowrap; background:#f6fbf8; position:sticky; top:0; z-index:1; }
    .daily-detail-table td { white-space:nowrap; }
    .school-schedule-wrap { display:grid; gap:10px; }
    .school-schedule-head { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
    .school-schedule-grid { border:1px solid #dce9e1; border-radius:12px; background:#fff; overflow:hidden; }
    .school-schedule-grid table { width:100%; border-collapse:collapse; table-layout:fixed; }
    .school-schedule-grid th, .school-schedule-grid td { border-bottom:1px solid #e8f0eb; border-right:1px solid #e8f0eb; padding:4px; text-align:center; vertical-align:middle; }
    .school-schedule-grid tr > *:last-child { border-right:0; }
    .school-schedule-grid th { background:#f6fbf8; white-space:nowrap; font-weight:700; font-size:.84rem; }
    .school-schedule-grid .day-cell { width:94px; text-align:left; font-weight:700; color:#214a38; background:#f9fcfa; font-size:.84rem; }
    .school-schedule-grid .period-time { display:grid; grid-template-columns:1fr; gap:3px; }
    .school-schedule-grid .period-time input { width:100%; min-width:0; padding:4px 5px; font-size:.78rem; }
    .school-schedule-grid .lesson-cell-input { width:100%; min-width:0; text-align:left; padding:6px 7px; font-size:.84rem; }
    .school-schedule-import-card {
        border:1px solid #dce9e1;
        border-radius:16px;
        background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
        padding:14px;
        display:grid;
        gap:12px;
        box-shadow:0 12px 24px rgba(19,61,42,.06);
    }
    .school-schedule-import-copy { display:grid; gap:5px; }
    .school-schedule-import-copy strong { color:#16392b; font-size:1rem; }
    .school-schedule-import-copy p {
        margin:0;
        color:#567066;
        line-height:1.5;
        font-size:.92rem;
        max-width:72ch;
    }
    .school-schedule-import-actions {
        display:flex;
        align-items:flex-end;
        gap:10px;
        flex-wrap:wrap;
    }
    .school-schedule-upload-field {
        flex:1 1 260px;
        min-width:0;
        display:grid;
        gap:6px;
    }
    .school-schedule-upload-field span {
        color:#466257;
        font-size:.82rem;
        font-weight:700;
    }
    .school-schedule-upload-field input[type="file"] {
        min-height:44px;
        border:1px dashed #bfd2c6;
        border-radius:12px;
        background:#fbfefc;
        color:#234637;
        padding:9px 12px;
    }
    .school-schedule-import-actions button { min-height:44px; }
    .school-schedule-import-status {
        display:none;
        border:1px solid transparent;
        border-radius:12px;
        padding:10px 12px;
        font-size:.9rem;
        font-weight:700;
    }
    .school-schedule-import-status.is-visible { display:block; }
    .school-schedule-import-status.is-loading {
        background:#f5f9ff;
        border-color:#c7daf3;
        color:#315178;
    }
    .school-schedule-import-status.is-success {
        background:#edf8f1;
        border-color:#b9dcc6;
        color:#1f6d46;
    }
    .school-schedule-import-status.is-error {
        background:#fff1f1;
        border-color:#efc6c6;
        color:#983838;
    }
    .schedule-day-cards { display:grid; gap:8px; }
    .schedule-day-card { border:1px solid #dce9e1; border-radius:10px; background:#fbfefc; overflow:hidden; }
    .schedule-day-card-head { background:#f3f9f5; border-bottom:1px solid #e2ede6; padding:9px 10px; font-weight:700; color:#214a38; }
    .schedule-day-card-body { padding:8px 10px; }
    .schedule-pill { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--tone-neutral-bd); border-radius:999px; padding:4px 10px; background:var(--tone-neutral-bg); color:var(--tone-neutral-tx); margin:0 8px 8px 0; font-size:.84rem; }
    .school-schedule-summary-table-wrap {
        border:1px solid #dce9e1;
        border-radius:14px;
        background:#fff;
        overflow:auto;
    }
    .school-schedule-summary-table {
        width:100%;
        min-width:900px;
        border-collapse:collapse;
        table-layout:fixed;
    }
    .school-schedule-summary-table th,
    .school-schedule-summary-table td {
        border-right:1px solid #e8f0eb;
        border-bottom:1px solid #e8f0eb;
        padding:10px 8px;
        text-align:center;
        vertical-align:middle;
    }
    .school-schedule-summary-table tr > *:last-child { border-right:0; }
    .school-schedule-summary-table th {
        background:#f6fbf8;
        color:#214a38;
        font-size:.84rem;
        font-weight:800;
        white-space:nowrap;
    }
    .school-schedule-summary-table .schedule-summary-day {
        min-width:110px;
        text-align:left;
        font-weight:800;
        color:#214a38;
        background:#f9fcfa;
    }
    .schedule-summary-cell {
        display:grid;
        gap:4px;
        min-height:56px;
        align-content:center;
    }
    .schedule-summary-cell strong {
        color:#173a2c;
        font-size:.92rem;
        line-height:1.2;
    }
    .schedule-summary-cell span {
        color:#587065;
        font-size:.78rem;
        line-height:1.2;
    }
    .schedule-empty { color:#5c7769; font-size:.9rem; }
    .rate-badge { display:inline-flex; align-items:center; justify-content:center; min-width:52px; border-radius:999px; padding:3px 8px; background:var(--tone-success-bg); color:var(--tone-success-tx); font-weight:700; font-size:.78rem; border:1px solid var(--tone-success-bd); }
    .cell-good { color:#1f7a4f; font-weight:700; }
    .cell-warn { color:#ad4d4d; font-weight:700; }
    .cell-muted { color:#65776e; font-weight:700; }
    :root[data-theme="dark"] .student-top { background:linear-gradient(125deg,#0f1a31,#162b4a); border-color:#2d4a74; color:#eef4ff; }
    :root[data-theme="dark"] .student-top p { color:#ffffff; }
    :root[data-theme="dark"] .student-week-toolbar {
        background:#18253a;
        border-color:#2c4568;
    }
    :root[data-theme="dark"] .student-inline-feedback.is-success {
        background:#173426;
        border-color:#2f6b50;
        color:#d8f4e5;
    }
    :root[data-theme="dark"] .student-inline-feedback.is-error {
        background:#3b1c23;
        border-color:#8d4654;
        color:#ffd9de;
    }
    :root[data-theme="dark"] .student-daily-save-message {
        border-color:#34577f;
        background:
            radial-gradient(circle at 100% 0%, rgba(242,138,36,.16), transparent 34%),
            linear-gradient(180deg,#14243a 0%,#101c2f 100%);
        box-shadow:0 14px 28px rgba(0,0,0,.24);
    }
    :root[data-theme="dark"] .student-daily-save-copy strong { color:#eaf2ff; }
    :root[data-theme="dark"] .student-daily-save-copy span { color:#b8cae6; }
    :root[data-theme="dark"] .student-daily-save-close {
        border-color:#34577f;
        background:#162742;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-daily-save-message.is-success {
        border-color:#2f6b50;
        background:
            radial-gradient(circle at 100% 0%, rgba(46,168,111,.16), transparent 34%),
            linear-gradient(180deg,#132b24 0%,#101f1c 100%);
    }
    :root[data-theme="dark"] .student-daily-save-message.is-success .student-daily-save-copy strong {
        color:#d8f4e5;
    }
    :root[data-theme="dark"] .student-daily-save-message.is-success .student-daily-save-copy span {
        color:#bce4cd;
    }
    :root[data-theme="dark"] .student-daily-save-mark.has-logo {
        border-color:#34577f;
        background:#f8fbff;
    }
    :root[data-theme="dark"] .student-daily-save-message.is-error {
        border-color:#704656;
        background:
            radial-gradient(circle at 100% 0%, rgba(242,138,36,.14), transparent 34%),
            linear-gradient(180deg,#301d26 0%,#21151d 100%);
    }
    :root[data-theme="dark"] .student-daily-save-message.is-error .student-daily-save-copy strong {
        color:#ffe8ea;
    }
    :root[data-theme="dark"] .student-daily-save-message.is-error .student-daily-save-copy span {
        color:#ffc8c2;
    }
    :root[data-theme="dark"] .student-week-toolbar-copy strong,
    :root[data-theme="dark"] .student-week-toolbar-form input[type="date"] {
        color:#eef4ff;
    }
    :root[data-theme="dark"] .student-week-toolbar-copy strong i {
        color:#4dd4ff;
    }
    :root[data-theme="dark"] .student-week-toolbar-copy span,
    :root[data-theme="dark"] .student-week-toolbar-form label,
    :root[data-theme="dark"] .student-week-inline-note {
        color:#a8bddc;
    }
    :root[data-theme="dark"] .student-week-toolbar-form input[type="date"] {
        background:#101c2f;
        border-color:#2b466b;
    }
    :root[data-theme="dark"] .student-week-link {
        background:#13233b;
        border-color:#2d4b72;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-week-link.current {
        background:#1a314e;
        border-color:#3b6698;
    }
    :root[data-theme="dark"] .student-week-open {
        background:#2563eb;
        border-color:#3b82f6;
    }
    :root[data-theme="dark"] .student-week-inline-note {
        background:#13233b;
        border-color:#284464;
    }
    :root[data-theme="dark"] .student-overview-hero {
        background: linear-gradient(135deg, #18253a 0%, #1d3048 100%);
        border-color: #2c4568;
    }
    :root[data-theme="dark"] .student-overview-hero.tone-success { border-color: #2d8d5f; background: linear-gradient(135deg, #14342a 0%, #1a4031 100%); }
    :root[data-theme="dark"] .student-overview-hero.tone-info { border-color: #2f5f8f; background: linear-gradient(135deg, #16314c 0%, #1a3857 100%); }
    :root[data-theme="dark"] .student-overview-hero.tone-warning { border-color: #8a6a2a; background: linear-gradient(135deg, #3a2b17 0%, #48351c 100%); }
    :root[data-theme="dark"] .student-overview-hero.tone-neutral { border-color: #37506b; background: linear-gradient(135deg, #18253a 0%, #20324b 100%); }
    :root[data-theme="dark"] .student-overview-kicker,
    :root[data-theme="dark"] .student-overview-chip,
    :root[data-theme="dark"] .student-overview-stat,
    :root[data-theme="dark"] .student-overview-note,
    :root[data-theme="dark"] .student-target-chip {
        background: rgba(16, 28, 47, .78);
        border-color: #2b466b;
        color: #dce9ff;
    }
    :root[data-theme="dark"] .student-overview-hero h3,
    :root[data-theme="dark"] .student-overview-note strong,
    :root[data-theme="dark"] .student-overview-stat strong {
        color: #f1f6ff;
    }
    :root[data-theme="dark"] .student-overview-hero p,
    :root[data-theme="dark"] .student-overview-note p,
    :root[data-theme="dark"] .student-overview-stat span,
    :root[data-theme="dark"] .student-overview-note span,
    :root[data-theme="dark"] .student-archive-note p {
        color: #a8bddc;
    }
    :root[data-theme="dark"] .student-daily-overview-day,
    :root[data-theme="dark"] .student-daily-overview-score,
    :root[data-theme="dark"] .student-daily-overview-counts span,
    :root[data-theme="dark"] .student-daily-overview-lessons span {
        background: rgba(16, 28, 47, .78);
        border-color: #2b466b;
        color: #dce9ff;
    }
    :root[data-theme="dark"] .student-daily-overview-day.has-log {
        background: linear-gradient(180deg, #101c2f 0%, #13233b 100%);
        border-color: #315074;
        box-shadow: none;
    }
    :root[data-theme="dark"] .student-daily-overview-head h3,
    :root[data-theme="dark"] .student-daily-overview-day-top strong,
    :root[data-theme="dark"] .student-daily-overview-counts strong {
        color: #f1f6ff;
    }
    :root[data-theme="dark"] .student-daily-overview-head p,
    :root[data-theme="dark"] .student-daily-overview-day-top span,
    :root[data-theme="dark"] .student-daily-overview-empty {
        color: #a8bddc;
    }
    :root[data-theme="dark"] .student-daily-overview-link {
        background: #172842;
        border-color: #31537e;
        color: #dce9ff;
    }
    :root[data-theme="dark"] .student-daily-overview-meter {
        background: #162844;
    }
    :root[data-theme="dark"] .student-daily-accordion-head h3,
    :root[data-theme="dark"] .student-daily-log-summary-main strong,
    :root[data-theme="dark"] .student-daily-log-item h4,
    :root[data-theme="dark"] .student-daily-log-stats strong {
        color: #f1f6ff;
    }
    :root[data-theme="dark"] .student-daily-accordion-head p,
    :root[data-theme="dark"] .student-daily-log-stats span,
    :root[data-theme="dark"] .student-daily-log-empty,
    :root[data-theme="dark"] .student-daily-log-note {
        color: #a8bddc;
    }
    :root[data-theme="dark"] .student-daily-accordion-link,
    :root[data-theme="dark"] .student-daily-log,
    :root[data-theme="dark"] .student-daily-log summary::after,
    :root[data-theme="dark"] .student-daily-log-summary-main span,
    :root[data-theme="dark"] .student-daily-log-summary-meta span,
    :root[data-theme="dark"] .student-daily-log-item,
    :root[data-theme="dark"] .student-daily-log-item-head span,
    :root[data-theme="dark"] .student-daily-log-stats div,
    :root[data-theme="dark"] .student-daily-log-empty,
    :root[data-theme="dark"] .student-daily-log-note {
        background: #101c2f;
        border-color: #29466b;
        color: #dce9ff;
    }
    :root[data-theme="dark"] .student-daily-log-body {
        background: #0f1b2d;
        border-top-color: #29466b;
    }
    :root[data-theme="dark"] .student-daily-log-item-head strong {
        background: #2b2417;
        border-color: #76531f;
        color: #ffd79a;
    }
    :root[data-theme="dark"] .student-daily-log-stats div:first-child {
        background:linear-gradient(180deg,rgba(21,36,57,.9) 0%,rgba(16,28,47,.98) 100%);
        border-color:#345476;
    }
    :root[data-theme="dark"] .student-daily-log-stats .is-good {
        background:linear-gradient(180deg,rgba(30,104,70,.78) 0%,rgba(18,69,47,.94) 100%);
        border-color:#59c28a;
    }
    :root[data-theme="dark"] .student-daily-log-stats .is-warn {
        background:linear-gradient(180deg,rgba(118,43,54,.78) 0%,rgba(76,28,38,.94) 100%);
        border-color:#ee8790;
    }
    :root[data-theme="dark"] .student-daily-log-stats .is-muted {
        background:linear-gradient(180deg,rgba(54,65,82,.86) 0%,rgba(36,47,62,.96) 100%);
        border-color:#708297;
    }
    :root[data-theme="dark"] .student-daily-log-stats .is-good strong { color:#e9fff0; }
    :root[data-theme="dark"] .student-daily-log-stats .is-warn strong { color:#ffe8ea; }
    :root[data-theme="dark"] .student-daily-log-stats .is-muted strong { color:#e2eaf5; }
    :root[data-theme="dark"] .student-archive-note {
        background: #16273f;
        border-color: #32557d;
    }
    :root[data-theme="dark"] .student-archive-note strong {
        color: #dce9ff;
    }
    :root[data-theme="dark"] .student-quick-btn { background:#172842; border-color:#31537e; color:#d5e4ff; }
    :root[data-theme="dark"] .student-quick-btn.active { background:#2563eb; border-color:#3b82f6; color:#eef4ff; }
    :root[data-theme="dark"] .student-side-card { background:#1b2236; border-color:#2b3d5f; }
    :root[data-theme="dark"] .student-side-title { color:#7f95bb; }
    :root[data-theme="dark"] .student-side-main { color:#e8f1ff; }
    :root[data-theme="dark"] .student-side-sub { color:#a4b7d6; }
    :root[data-theme="dark"] .student-side-btn { color:#d5e7ff; }
    :root[data-theme="dark"] .student-side-btn:hover { color:#e8f8ff; background:#1b2e49; }
    :root[data-theme="dark"] .student-side-btn.active {
        color:#ecfdff;
        background:linear-gradient(120deg,#0ea5b7,#2563eb);
        border-color:#22d3ee;
    }
    :root[data-theme="dark"] .student-side-submenu .student-side-btn {
        background:#15253f;
        border-color:#284a73;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-side-submenu .student-side-btn:hover {
        background:#1a3150;
    }
    :root[data-theme="dark"] .student-side-ico {
        color:#bfe6ff;
        background:#1d3558;
        border-color:#2f578b;
        box-shadow:none;
    }
    :root[data-theme="dark"] .student-side-btn.active .student-side-ico {
        color:#083b53;
        background:#d7f9ff;
        border-color:#67e8f9;
    }
    :root[data-theme="dark"] .plan-card {
        background:linear-gradient(180deg,#12213a 0%,#152744 100%);
        border-color:#29466b;
        box-shadow:0 14px 28px rgba(0,0,0,.18);
    }
    :root[data-theme="dark"] .plan-week-badge {
        background:var(--tone-status-bg);
        border-color:var(--tone-status-bd);
        color:var(--tone-status-tx);
    }
    :root[data-theme="dark"] .plan-week-range,
    :root[data-theme="dark"] .task-title { color:#f7fbff; }
    :root[data-theme="dark"] .plan-submeta { color:#c7d7ef; }
    :root[data-theme="dark"] .plan-submeta span {
        background:var(--tone-neutral-bg);
        border-color:var(--tone-neutral-bd);
        color:var(--tone-neutral-tx);
    }
    :root[data-theme="dark"] .plan-card,
    :root[data-theme="dark"] .acc,
    :root[data-theme="dark"] .task-row,
    :root[data-theme="dark"] .lgs-block,
    :root[data-theme="dark"] .lgs-summary,
    :root[data-theme="dark"] .sum-box,
    :root[data-theme="dark"] .qa-card,
    :root[data-theme="dark"] .help-panel,
    :root[data-theme="dark"] .help-head,
    :root[data-theme="dark"] .help-ask,
    :root[data-theme="dark"] .daily-row,
    :root[data-theme="dark"] .daily-total,
    :root[data-theme="dark"] .daily-detail-table-wrap { background:#101c2f; border-color:#29466b; }
    :root[data-theme="dark"] .student-daily-entry-panel .acc-content,
    :root[data-theme="dark"] .student-daily-entry-hero,
    :root[data-theme="dark"] .student-daily-entry-date,
    :root[data-theme="dark"] .student-daily-date-field,
    :root[data-theme="dark"] .daily-subject-quick-picks button {
        background:#101c2f;
        border-color:#29466b;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-daily-entry-hero h4,
    :root[data-theme="dark"] .student-daily-entry-date strong {
        color:#eaf2ff;
    }
    :root[data-theme="dark"] .student-daily-entry-hero p,
    :root[data-theme="dark"] .student-daily-entry-date span {
        color:#9ab0d2;
    }
    :root[data-theme="dark"] .daily-subject-quick-picks button:hover,
    :root[data-theme="dark"] .daily-subject-quick-picks button:focus-visible {
        border-color:#d98a35;
        background:#2a2118;
        color:#fff1df;
    }
    :root[data-theme="dark"] .daily-card-head strong {
        color:#f1f6ff;
    }
    :root[data-theme="dark"] .daily-card-kicker {
        background:#172840;
        border-color:#34577f;
        color:#cfe1ff;
    }
    :root[data-theme="dark"] .daily-card-accuracy {
        background:#253249;
        border-color:#4d6488;
        color:#f4c06f;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(n+3):nth-child(-n+6) {
        background:#14243a;
        border-color:#2d4667;
        color:#9fb6d8;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(n+3):nth-child(-n+6) input[type="number"] {
        color:#eaf2ff;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(4) {
        background:#142d28;
        border-color:#2c6654;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(4) input[type="number"] {
        color:#88f0b7;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(5) {
        background:#301d26;
        border-color:#704656;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(5) input[type="number"] {
        color:#ffaaa0;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(6) {
        background:#17263c;
        border-color:#36557c;
    }
    :root[data-theme="dark"] .daily-row-grid label:nth-child(6) input[type="number"] {
        color:#b8d3ff;
    }
    :root[data-theme="dark"] .acc > summary {
        background:#13233b;
        border-bottom:1px solid #29466b;
        color:#eaf2ff;
    }
    :root[data-theme="dark"] .acc > summary span { color:#9eb6d9; }
    :root[data-theme="dark"] .acc-content {
        background:#101c2f;
        border-top-color:#29466b;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .acc-content h3,
    :root[data-theme="dark"] .acc-content h4,
    :root[data-theme="dark"] .acc-content strong,
    :root[data-theme="dark"] .acc-content label,
    :root[data-theme="dark"] .lgs-block h4,
    :root[data-theme="dark"] .daily-total span { color:#dce9ff; }
    :root[data-theme="dark"] .exam-sum-box span,
    :root[data-theme="dark"] .daily-mini,
    :root[data-theme="dark"] .task-meta,
    :root[data-theme="dark"] .qa-meta,
    :root[data-theme="dark"] .section-head { color:#9ab0d2; }
    :root[data-theme="dark"] .student-helper-text,
    :root[data-theme="dark"] .notif-body,
    :root[data-theme="dark"] .exam-row-meta,
    :root[data-theme="dark"] .exam-note,
    :root[data-theme="dark"] .qa-q > div,
    :root[data-theme="dark"] .qa-a > div,
    :root[data-theme="dark"] .qa-empty,
    :root[data-theme="dark"] .schedule-empty { color:#e2ecfb; }
    :root[data-theme="dark"] .lgs-table th,
    :root[data-theme="dark"] .lgs-table td,
    :root[data-theme="dark"] .daily-detail-table th,
    :root[data-theme="dark"] .daily-detail-table td {
        color:#dce9ff;
        border-bottom-color:#274467;
    }
    :root[data-theme="dark"] .lgs-table input.in-correct {
        background:linear-gradient(180deg,rgba(29,88,61,.72) 0%,rgba(18,61,43,.88) 100%);
        border-color:#4fb17a;
        color:#dffbea;
    }
    :root[data-theme="dark"] .lgs-table input.in-wrong {
        background:linear-gradient(180deg,rgba(95,38,45,.76) 0%,rgba(66,28,36,.9) 100%);
        border-color:#e07b82;
        color:#ffe1e3;
    }
    :root[data-theme="dark"] .lgs-table input.in-blank {
        background:linear-gradient(180deg,rgba(47,58,72,.82) 0%,rgba(32,42,55,.94) 100%);
        border-color:#63758c;
        color:#d7e0ec;
    }
    :root[data-theme="dark"] .lgs-table input.in-net {
        background:linear-gradient(180deg,rgba(25,66,99,.76) 0%,rgba(17,48,76,.92) 100%);
        border-color:#5ba4d5;
        color:#ccefff;
    }
    :root[data-theme="dark"] .lgs-table input:focus {
        box-shadow:0 0 0 3px rgba(240,138,36,.22);
    }
    :root[data-theme="dark"] .lgs-summary .sum-box:nth-child(1) {
        background:linear-gradient(180deg,rgba(29,88,61,.72) 0%,rgba(18,61,43,.88) 100%);
        border-color:#4fb17a;
    }
    :root[data-theme="dark"] .lgs-summary .sum-box:nth-child(2) {
        background:linear-gradient(180deg,rgba(95,38,45,.76) 0%,rgba(66,28,36,.9) 100%);
        border-color:#e07b82;
    }
    :root[data-theme="dark"] .lgs-summary .sum-box:nth-child(3) {
        background:linear-gradient(180deg,rgba(47,58,72,.82) 0%,rgba(32,42,55,.94) 100%);
        border-color:#63758c;
    }
    :root[data-theme="dark"] .lgs-summary .sum-box:nth-child(4) {
        background:linear-gradient(180deg,rgba(25,66,99,.76) 0%,rgba(17,48,76,.92) 100%);
        border-color:#5ba4d5;
    }
    :root[data-theme="dark"] .daily-detail-table th { background:#13233b; }
    :root[data-theme="dark"] .exam-modal-panel,
    :root[data-theme="dark"] .task-modal-panel { background:#101c2f; border-color:#29466b; color:#dce9ff; }
    :root[data-theme="dark"] .exam-modal-head,
    :root[data-theme="dark"] .task-modal-head { border-bottom-color:#29466b; }
    :root[data-theme="dark"] .task-close,
    :root[data-theme="dark"] .help-close { background:#162844; border-color:#2f4f77; color:#dce9ff; }
    :root[data-theme="dark"] .task-block,
    :root[data-theme="dark"] .exam-row { background:#13233b; border-color:#2c476b; color:#eef4ff; }
    :root[data-theme="dark"] .task-modal-summary-item,
    :root[data-theme="dark"] .task-modal-topic-card {
        background:#101d32;
        border-color:#2c476b;
    }
    :root[data-theme="dark"] .task-modal-head h3,
    :root[data-theme="dark"] .task-modal-summary-item strong,
    :root[data-theme="dark"] .task-modal-topic-card strong,
    :root[data-theme="dark"] .task-block-title,
    :root[data-theme="dark"] .task-modal-action-card h4 {
        color:#eef4ff;
    }
    :root[data-theme="dark"] .task-modal-note-card #taskModalNotes {
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-task-lock-note,
    :root[data-theme="dark"] .student-plan-lock-banner {
        background:#332712;
        border-color:#6f541e;
        color:#ffe7a8;
    }
    :root[data-theme="dark"] .my-notif-item {
        background:linear-gradient(180deg,#12213a 0%,#152744 100%);
        border-color:#2c476b;
        color:#eef4ff;
        box-shadow:0 14px 28px rgba(0,0,0,.18);
    }
    :root[data-theme="dark"] .student-notif-summary-card {
        border-color:#2b4261;
        background:linear-gradient(180deg,#12213a 0%,#0f1b30 100%);
        box-shadow:0 16px 30px rgba(2,8,23,.32);
    }
    :root[data-theme="dark"] .student-notif-summary-card.is-unread {
        border-color:#345884;
        background:linear-gradient(180deg,#12233e 0%,#0f1d34 100%);
    }
    :root[data-theme="dark"] .student-notif-summary-card.is-important {
        border-color:rgba(240,138,36,.46);
        background:
            radial-gradient(circle at 92% 0%,rgba(240,138,36,.16),transparent 36%),
            linear-gradient(180deg,#17243a 0%,#101c2f 100%);
    }
    :root[data-theme="dark"] .student-notif-summary-card.is-reply {
        border-color:#5f4a82;
        background:linear-gradient(180deg,#1f1830 0%,#171223 100%);
    }
    :root[data-theme="dark"] .student-notif-summary-label { color:#9fb3d2; }
    :root[data-theme="dark"] .student-notif-summary-value { color:#f5f9ff; }
    :root[data-theme="dark"] .student-notif-filter {
        border-color:#29405e;
        background:linear-gradient(180deg,#14243d 0%,#0f1c31 100%);
        color:#d5e4fb;
        box-shadow:0 12px 22px rgba(2,8,23,.28);
    }
    :root[data-theme="dark"] .student-notif-filter:hover {
        border-color:#3b5d88;
        box-shadow:0 14px 24px rgba(2,8,23,.34);
    }
    :root[data-theme="dark"] .student-notif-filter.is-active {
        border-color:#4f78b4;
        background:linear-gradient(135deg,#1f3556 0%,#163354 100%);
        color:#f6fbff;
        box-shadow:0 14px 24px rgba(46,124,246,.18);
    }
    :root[data-theme="dark"] .student-notif-empty-state {
        border-color:#345273;
        background:linear-gradient(180deg,#12213b 0%,#0f1b30 100%);
        color:#c4d4ea;
    }
    :root[data-theme="dark"] .my-notif-item:hover {
        border-color:#3b6192;
        box-shadow:0 18px 34px rgba(0,0,0,.24);
    }
    :root[data-theme="dark"] .my-notif-item strong { color:#f8fbff; }
    :root[data-theme="dark"] .my-notif-item p,
    :root[data-theme="dark"] .my-notif-item div,
    :root[data-theme="dark"] .my-notif-item span,
    :root[data-theme="dark"] .my-notif-item small { color:#e8f0ff !important; }
    :root[data-theme="dark"] .my-notif-avatar {
        color:#e5f9ff;
        background:linear-gradient(145deg,#173656 0%,#1d4e7b 100%);
        border-color:#2d6ca7;
        box-shadow:none;
    }
    :root[data-theme="dark"] .my-notif-tag {
        color:var(--tone-info-tx);
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
    }
    :root[data-theme="dark"] .my-notif-fresh {
        color:var(--tone-danger-tx);
        background:var(--tone-danger-bg);
        border-color:var(--tone-danger-bd);
    }
    :root[data-theme="dark"] .my-notif-title { color:#f7fbff; }
    :root[data-theme="dark"] .notif-body { color:#dce7f8; }
    :root[data-theme="dark"] .my-notif-meta { color:#bfd0ea; }
    :root[data-theme="dark"] .my-notif-actions { align-items:flex-start; }
    :root[data-theme="dark"] .student-notif-reply-btn {
        background:linear-gradient(135deg,#13b8d1,#1f78e9);
        box-shadow:0 10px 20px rgba(18,93,184,.22);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_mock_exam_feedback"] .my-notif-avatar {
        color:#d8ffe8;
        background:linear-gradient(145deg,#17422f 0%,#1e6d4a 100%);
        border-color:#2f9f6a;
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_mock_exam_feedback"] {
        background:linear-gradient(180deg,#12213a 0%,#142a24 100%);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_mock_exam_feedback"] .my-notif-tag {
        color:var(--tone-success-tx);
        background:var(--tone-success-bg);
        border-color:var(--tone-success-bd);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_reply"] {
        background:linear-gradient(180deg,#12213a 0%,#132948 100%);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_reply"] .my-notif-avatar {
        color:#dcecff;
        background:linear-gradient(145deg,#18365a 0%,#24528a 100%);
        border-color:#3970b2;
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_reply"] .my-notif-tag {
        color:var(--tone-info-tx);
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_direct_message"] {
        background:linear-gradient(180deg,#12213a 0%,#24183c 100%);
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_direct_message"] .my-notif-avatar {
        color:#f0ddff;
        background:linear-gradient(145deg,#352052 0%,#5a2e8a 100%);
        border-color:#8551c5;
    }
    :root[data-theme="dark"] .my-notif-item[data-notif-type="coach_direct_message"] .my-notif-tag {
        color:var(--tone-status-tx);
        background:var(--tone-status-bg);
        border-color:var(--tone-status-bd);
    }
    :root[data-theme="dark"] .task-icon {
        color:#d8f7ff;
        background:linear-gradient(145deg,#173656 0%,#1d4e7b 100%);
        border-color:#2d6ca7;
        box-shadow:none;
    }
    :root[data-theme="dark"] .task-icon-worksheet {
        color:#d8ffe8;
        background:linear-gradient(145deg,#17422f 0%,#1e6d4a 100%);
        border-color:#2f9f6a;
    }
    :root[data-theme="dark"] .task-icon-resource {
        color:#d9ecff;
        background:linear-gradient(145deg,#17324f 0%,#23598d 100%);
        border-color:#2f6aa4;
    }
    :root[data-theme="dark"] .task-icon-mixed {
        color:#f0ddff;
        background:linear-gradient(145deg,#352052 0%,#5a2e8a 100%);
        border-color:#8551c5;
    }
    :root[data-theme="dark"] .task-chip {
        background:var(--tone-neutral-bg);
        border-color:var(--tone-neutral-bd);
        color:var(--tone-neutral-tx);
    }
    :root[data-theme="dark"] .task-chip-deadline {
        background:var(--tone-info-bg);
        border-color:var(--tone-info-bd);
        color:var(--tone-info-tx);
    }
    @media (max-width:720px) {
        .student-notif-summary { grid-template-columns:repeat(2, minmax(0, 1fr)); }
        .my-notif-shell { grid-template-columns:1fr; }
        .my-notif-avatar { width:48px; height:48px; }
        .my-notif-top { flex-direction:column; }
        .my-notif-actions { width:100%; }
        .student-notif-reply-btn { width:100%; justify-content:center; }
        .student-daily-overview-head { flex-direction:column; }
        .student-daily-overview-link { width:100%; }
        .student-daily-overview-strip {
            grid-template-columns:none;
            grid-auto-flow:column;
            grid-auto-columns:minmax(160px, 72vw);
        }
        .student-daily-accordion-head { flex-direction:column; }
        .student-daily-accordion-link { width:100%; }
        .student-daily-log summary {
            align-items:flex-start;
            flex-direction:column;
        }
        .student-daily-log-stats {
            grid-template-columns:repeat(2, minmax(0, 1fr));
        }
        .task-row { grid-template-columns:1fr; }
        .task-row-main { grid-template-columns:1fr; }
        .task-icon { width:48px; height:48px; }
    }
    @media (max-width:520px) {
        .student-notif-summary { grid-template-columns:1fr; }
    }
    :root[data-theme="dark"] .student-reply-box { border-top-color:#335274; }
    :root[data-theme="dark"] .student-reply-box textarea { background:#101c2f; border-color:#345476; color:#eef4ff; }
    :root[data-theme="dark"] .student-reply-box textarea::placeholder { color:#9cb2d4; }
    :root[data-theme="dark"] .badge.assigned { background:var(--tone-status-bg); border-color:var(--tone-status-bd); color:var(--tone-status-tx); }
    :root[data-theme="dark"] .student-exam-history { border-top-color:#2a4568; }
    :root[data-theme="dark"] .student-exam-history h4 { color:#eef4ff; }
    :root[data-theme="dark"] .student-exam-history-note { color:#9fb3d3; }
    :root[data-theme="dark"] .student-exam-month { background:#101c2f; border-color:#29466b; }
    :root[data-theme="dark"] .student-exam-month-head { background:#13233b; border-bottom-color:#29466b; color:#b7c9e5; }
    :root[data-theme="dark"] .student-exam-month-head strong { color:#f1f6ff; }
    :root[data-theme="dark"] .student-exam-item { background:#13233b; border-color:#2a466b; }
    :root[data-theme="dark"] .student-exam-item > summary { background:#13233b; }
    :root[data-theme="dark"] .student-exam-item-name { color:#e8f1ff; }
    :root[data-theme="dark"] .student-exam-item-date { color:#a9bfdc; }
    :root[data-theme="dark"] .student-exam-chip { background:var(--tone-success-bg); border-color:var(--tone-success-bd); color:var(--tone-success-tx); }
    :root[data-theme="dark"] .student-exam-chip.neutral { background:var(--tone-neutral-bg); border-color:var(--tone-neutral-bd); color:var(--tone-neutral-tx); }
    :root[data-theme="dark"] .student-exam-empty { color:#9ab0d2; }
    :root[data-theme="dark"] .student-exam-detail { border-top-color:#29466b; }
    :root[data-theme="dark"] .student-exam-lesson {
        background:linear-gradient(180deg, rgba(17, 29, 48, 0.98), rgba(14, 24, 41, 0.98));
        border-color:#315074;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+1) { --lesson-accent:#f0ad56; --lesson-surface:rgba(103,67,21,.92); --lesson-tint:rgba(80,50,15,.96); }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+2) { --lesson-accent:#56c788; --lesson-surface:rgba(19,70,42,.92); --lesson-tint:rgba(14,54,33,.96); }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+3) { --lesson-accent:#73aef4; --lesson-surface:rgba(24,58,96,.92); --lesson-tint:rgba(18,45,74,.96); }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+4) { --lesson-accent:#ef7fa4; --lesson-surface:rgba(92,29,53,.92); --lesson-tint:rgba(70,22,40,.96); }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+5) { --lesson-accent:#b894ff; --lesson-surface:rgba(66,38,110,.92); --lesson-tint:rgba(52,30,87,.96); }
    :root[data-theme="dark"] .student-exam-lesson:nth-child(6n+6) { --lesson-accent:#67d4dc; --lesson-surface:rgba(14,74,83,.92); --lesson-tint:rgba(11,57,64,.96); }
    :root[data-theme="dark"] .student-exam-lesson-title {
        background:linear-gradient(180deg,var(--lesson-surface) 0%,var(--lesson-tint) 100%);
        border-color:rgba(255,255,255,.16);
    }
    :root[data-theme="dark"] .student-exam-lesson-title strong { color:#eef5ff; }
    :root[data-theme="dark"] .student-exam-metrics span { color:#e7f0ff; }
    :root[data-theme="dark"] .student-exam-net-label { color:#9fb3d3; }
    :root[data-theme="dark"] .student-exam-net-panel { border-top-color:color-mix(in srgb, var(--lesson-accent) 28%, #29466b 72%); }
    :root[data-theme="dark"] .student-exam-net-value { color:var(--lesson-accent); }
    :root[data-theme="dark"] .student-exam-note { color:#9fb3d3; }
    :root[data-theme="dark"] .sum-box strong,
    :root[data-theme="dark"] .exam-sum-box strong,
    :root[data-theme="dark"] .daily-kpi-box strong { color:#eaf2ff; }
    :root[data-theme="dark"] .daily-kpi-box { background:#101c2f; border-color:#29466b; }
    :root[data-theme="dark"] .daily-kpi-box span { color:#9ab0d2; }
    :root[data-theme="dark"] .school-schedule-grid,
    :root[data-theme="dark"] .schedule-day-card,
    :root[data-theme="dark"] .school-schedule-summary-table-wrap { background:#101c2f; border-color:#29466b; }
    :root[data-theme="dark"] .school-schedule-grid th { background:#13233b; border-bottom-color:#274467; border-right-color:#274467; color:#dce9ff; }
    :root[data-theme="dark"] .school-schedule-grid td { border-bottom-color:#274467; border-right-color:#274467; color:#dce9ff; }
    :root[data-theme="dark"] .school-schedule-grid .day-cell { background:#12243d; color:#dce9ff; }
    :root[data-theme="dark"] .school-schedule-summary-table th,
    :root[data-theme="dark"] .school-schedule-summary-table td { border-bottom-color:#274467; border-right-color:#274467; color:#dce9ff; }
    :root[data-theme="dark"] .school-schedule-summary-table th,
    :root[data-theme="dark"] .school-schedule-summary-table .schedule-summary-day { background:#13233b; color:#dce9ff; }
    :root[data-theme="dark"] .schedule-day-card-head { background:#13233b; border-bottom-color:#274467; color:#dce9ff; }
    :root[data-theme="dark"] .schedule-day-card-body { color:#dce9ff; }
    :root[data-theme="dark"] .schedule-pill { background:var(--tone-neutral-bg); border-color:var(--tone-neutral-bd); color:var(--tone-neutral-tx); }
    :root[data-theme="dark"] .schedule-summary-cell strong { color:#eef4ff; }
    :root[data-theme="dark"] .schedule-summary-cell span { color:#9ab0d2; }
    :root[data-theme="dark"] .schedule-empty { color:#9ab0d2; }
    :root[data-theme="dark"] .school-schedule-import-card {
        background:linear-gradient(180deg,#12213a 0%,#152744 100%);
        border-color:#29466b;
        box-shadow:0 14px 28px rgba(0,0,0,.18);
    }
    :root[data-theme="dark"] .school-schedule-import-copy strong { color:#f1f6ff; }
    :root[data-theme="dark"] .school-schedule-import-copy p,
    :root[data-theme="dark"] .school-schedule-upload-field span { color:#a8bddc; }
    :root[data-theme="dark"] .school-schedule-upload-field input[type="file"] {
        background:#101c2f;
        border-color:#2b466b;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .school-schedule-import-status.is-loading {
        background:#16273f;
        border-color:#32557d;
        color:#dce9ff;
    }
    :root[data-theme="dark"] .school-schedule-import-status.is-success {
        background:#173426;
        border-color:#2f6b50;
        color:#d8f4e5;
    }
    :root[data-theme="dark"] .school-schedule-import-status.is-error {
        background:#3b1c23;
        border-color:#8d4654;
        color:#ffd9de;
    }
    @media (max-width:1100px) {
        #dailyRows { grid-template-columns:repeat(2, minmax(230px, 1fr)); }
        .daily-row-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:720px) {
        .student-daily-entry-hero {
            display:grid;
        }

        .student-daily-entry-date {
            min-width:0;
            width:100%;
        }

        #dailyRows { grid-template-columns:1fr; }
        .daily-row-grid { grid-template-columns:1fr 1fr; }
        .lgs-estimated-score-card {
            align-items:flex-start;
            flex-direction:column;
        }
        .lgs-estimated-score-card small {
            max-width:none;
        }
    }
    @media (max-width:460px) { .daily-row-grid { grid-template-columns:1fr; } }
    @media (max-width:980px) { .lgs-summary-grid { grid-template-columns:1fr 1fr; } }
    @media (max-width:980px) {
        .exam-summary-grid { grid-template-columns:1fr 1fr; }
        .student-week-toolbar-form { width:100%; }
        .student-week-nav,
        .student-week-return-row,
        .student-week-picker-row {
            width:100%;
        }
        .student-week-nav {
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
        }
        .student-week-return-row {
            justify-content:flex-start;
        }
        .student-week-picker-row {
            display:grid;
            grid-template-columns:minmax(0, 1fr) auto;
            align-items:end;
        }
        .student-week-picker {
            min-width:0;
        }
        .student-week-picker input[type="date"] {
            width:100%;
        }
        .student-week-open {
            margin-left:0;
            min-width:168px;
        }
        .student-overview-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .lgs-block {
            max-width:none;
            margin-left:0;
            margin-right:0;
            padding:10px 8px;
        }
        .lgs-table {
            min-width:640px;
        }
    }
    @media (max-width:640px) {
        .student-week-toolbar {
            padding:14px;
            gap:14px;
        }
        .student-week-toolbar-copy strong {
            font-size:1.08rem;
        }
        .student-week-toolbar-form {
            gap:12px;
        }
        .student-week-nav {
            grid-template-columns:repeat(2, minmax(0, 1fr));
        }
        .student-week-nav .student-week-link.current {
            grid-column:1 / -1;
            min-width:0;
        }
        .student-week-picker-row {
            grid-template-columns:1fr;
        }
        .student-week-return-row .student-week-link.current {
            width:100%;
            min-width:0;
        }
        .student-week-link,
        .student-week-open {
            min-height:48px;
            padding:0 16px;
            border-radius:14px;
        }
        .student-week-open {
            width:100%;
            min-width:0;
        }
        .student-overview-stat-row { grid-template-columns: 1fr; }
        .lgs-table {
            min-width:620px;
        }
        .lgs-table th,
        .lgs-table td {
            padding:6px;
            font-size:.84rem;
        }
        .lgs-table input {
            width:68px;
            min-width:68px;
        }
    }
    @media (max-width:980px) { .daily-kpi-grid { grid-template-columns:1fr 1fr; } }
    .student-quick-nav { display:none; }
    @media (max-width:980px) {
        .portal-mobile-help-link {
            display:flex;
        }
        .student-shell {
            grid-template-columns:1fr !important;
            position:relative !important;
        }
        .student-mobile-menu-backdrop {
            display:block !important;
            position:fixed !important;
            inset:0 !important;
            background:rgba(9, 18, 31, .46) !important;
            opacity:0 !important;
            pointer-events:none !important;
            transition:opacity .18s ease !important;
            z-index:138 !important;
        }
        .student-shell.menu-open .student-mobile-menu-backdrop {
            opacity:1 !important;
            pointer-events:auto !important;
        }
        #studentMobileMenu,
        .student-side {
            position:fixed !important;
            top:0 !important;
            left:0 !important;
            bottom:0 !important;
            right:auto !important;
            width:min(86vw, 360px) !important;
            max-width:360px !important;
            height:100vh !important;
            max-height:none !important;
            overflow:auto !important;
            display:grid !important;
            align-content:start !important;
            gap:10px !important;
            padding:88px 14px 18px !important;
            margin:0 !important;
            border-right:1px solid rgba(34, 53, 78, .14) !important;
            border-radius:0 18px 18px 0 !important;
            box-shadow:0 28px 44px rgba(8, 16, 30, .28) !important;
            z-index:140 !important;
            opacity:1 !important;
            visibility:visible !important;
            pointer-events:auto !important;
            transform:translateX(-108%) !important;
            transition:transform .22s ease !important;
        }
        .student-shell.menu-open #studentMobileMenu,
        .student-shell.menu-open .student-side {
            transform:translateX(0) !important;
        }
        #studentMobileMenu .student-side-card:nth-child(1),
        #studentMobileMenu .student-side-card:nth-child(2),
        .student-side .student-side-card:nth-child(1),
        .student-side .student-side-card:nth-child(2) {
            display:none !important;
        }
        #studentMobileMenu .student-side-card:last-child,
        .student-side .student-side-card:last-child {
            display:block !important;
            padding:16px !important;
        }
        .student-side-title {
            font-size:.76rem !important;
        }
        .student-quick-nav,
        .student-top .student-quick-nav {
            display:none !important;
            max-height:0 !important;
            overflow:hidden !important;
            margin:0 !important;
            padding:0 !important;
        }
        .student-top {
            padding:20px 18px !important;
        }
    }
    @media (max-width:640px) {
        #studentMobileMenu,
        .student-side {
            width:min(90vw, 340px) !important;
            max-width:340px !important;
            padding:82px 12px 16px !important;
        }
    }

    /* Student panel theme alignment */
    :root:not([data-theme="dark"]) .student-side-card {
        border-color:#d5dce5;
        background:linear-gradient(180deg,#fffdf9 0%,#f7f2ea 100%);
        box-shadow:0 12px 26px rgba(29,45,63,.06);
    }
    :root:not([data-theme="dark"]) .student-side-title { color:#8a98a7; }
    :root:not([data-theme="dark"]) .student-side-main { color:#1d2d3f; }
    :root:not([data-theme="dark"]) .student-side-sub { color:#647487; }
    :root:not([data-theme="dark"]) .student-side-btn { color:#3c556f; }
    :root:not([data-theme="dark"]) .student-side-btn:not(.active):hover {
        color:#1d2d3f;
        background:linear-gradient(180deg,#f4f7fc 0%,#eaf0f8 100%);
        border-color:#cfd9e7;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
    }
    :root:not([data-theme="dark"]) .student-side-btn.active {
        color:#fff;
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        border-color:rgba(31,61,99,.68);
        box-shadow:0 10px 18px rgba(31,61,99,.18);
    }
    :root:not([data-theme="dark"]) .student-side-ico {
        color:#365477;
        background:#eff4fb;
        border-color:#d4deed;
    }
    :root:not([data-theme="dark"]) .student-side-btn.active .student-side-ico {
        color:#1f3d63;
        background:#fff3e3;
        border-color:#f0c48d;
    }
    :root:not([data-theme="dark"]) .student-top {
        background:
            radial-gradient(circle at top right, rgba(235,125,34,.16), transparent 24%),
            linear-gradient(126deg, #1b3a68 0%, #21477d 58%, #29558f 100%) !important;
        border-color:#315784 !important;
        color:#f8fbff !important;
        box-shadow:0 18px 34px rgba(17,33,57,.18) !important;
    }
    :root:not([data-theme="dark"]) .student-top h2,
    :root:not([data-theme="dark"]) .student-top strong,
    :root:not([data-theme="dark"]) .student-top p,
    :root:not([data-theme="dark"]) .student-top label {
        color:inherit !important;
    }
    :root:not([data-theme="dark"]) .student-top p,
    :root:not([data-theme="dark"]) .student-top label {
        color:#d7e4f7 !important;
    }
    :root[data-theme="dark"] .student-side-card {
        background:linear-gradient(180deg,rgba(18,26,42,.96) 0%,rgba(23,33,51,.98) 100%);
        border-color:#2f3c56;
        box-shadow:0 16px 32px rgba(4,10,18,.34);
    }
    :root[data-theme="dark"] .student-side-btn.active {
        background:linear-gradient(135deg,rgba(36,56,88,.96) 0%,rgba(240,138,36,.82) 180%);
        border-color:rgba(240,138,36,.38);
        color:#fffaf2;
    }

    /* Student panel control colors and readability */
    :root:not([data-theme="dark"]) .student-week-toolbar {
        border-color:#d7dfe8;
        background:linear-gradient(180deg,#fffdf9 0%,#f7f3ec 100%);
    }
    :root:not([data-theme="dark"]) .student-week-toolbar-copy strong,
    :root:not([data-theme="dark"]) .student-week-toolbar-form label,
    :root:not([data-theme="dark"]) .student-week-toolbar-copy span {
        color:#2a4463;
    }
    :root:not([data-theme="dark"]) .student-week-toolbar-copy strong i {
        color:#e88324;
    }
    :root:not([data-theme="dark"]) .student-week-toolbar-form input[type="date"] {
        border-color:#cbd6e3;
        background:#fff;
        color:#1d2d3f;
    }
    :root:not([data-theme="dark"]) .student-week-link {
        border-color:#d7e0ea;
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        color:#315178;
    }
    :root:not([data-theme="dark"]) .student-week-link.current {
        background:linear-gradient(135deg,#fff0dc 0%,#ffdba9 100%);
        border-color:#eab06a;
        color:#935111;
    }
    :root:not([data-theme="dark"]) .student-week-open {
        border-color:#274c7b;
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        color:#fff;
        box-shadow:0 10px 18px rgba(31,61,99,.18);
    }

    :root:not([data-theme="dark"]) .student-overview-kicker {
        background:#eef3fb;
        color:#2f527a;
    }
    :root:not([data-theme="dark"]) .student-overview-chip,
    :root:not([data-theme="dark"]) .student-overview-stat,
    :root:not([data-theme="dark"]) .student-overview-note {
        border-color:#d7e0ea;
        background:rgba(255,255,255,.9);
    }
    :root:not([data-theme="dark"]) .student-overview-hero h3,
    :root:not([data-theme="dark"]) .student-overview-note strong,
    :root:not([data-theme="dark"]) .student-overview-stat strong {
        color:#132b49;
    }
    :root:not([data-theme="dark"]) .student-overview-hero p,
    :root:not([data-theme="dark"]) .student-overview-note p,
    :root:not([data-theme="dark"]) .student-overview-stat span,
    :root:not([data-theme="dark"]) .student-overview-note span {
        color:#607286;
    }

    /* Final student palette aligned with coach theme */
    :root:not([data-theme="dark"]) .student-week-inline-note {
        border-color:#d7e0ea;
        background:#f7f9fd;
        color:#607286;
    }

    :root:not([data-theme="dark"]) .student-overview-hero {
        border-color:#d7e0ea;
        background:linear-gradient(135deg,#f8fafd 0%,#eef3fb 100%);
    }
    :root:not([data-theme="dark"]) .student-task-flow-card {
        border-color:#cfdced;
        background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%);
        box-shadow:
            0 1px 0 rgba(255,255,255,.84) inset,
            0 12px 22px rgba(31,61,99,.07);
    }
    :root:not([data-theme="dark"]) .student-task-flow.is-scrollable {
        scrollbar-color: rgba(67, 98, 138, .34) transparent;
    }
    :root:not([data-theme="dark"]) .student-task-flow-date {
        border-color:#ccd8e7;
        background:linear-gradient(180deg,#f8fbff 0%,#edf3fb 100%);
        color:#315178;
    }

    :root:not([data-theme="dark"]) .student-overview-hero.tone-success,
    :root:not([data-theme="dark"]) .student-overview-hero.tone-info,
    :root:not([data-theme="dark"]) .student-overview-hero.tone-warning,
    :root:not([data-theme="dark"]) .student-overview-hero.tone-neutral {
        border-color:#d7e0ea;
        background:linear-gradient(135deg,#f8fafd 0%,#eef3fb 100%);
    }

    :root:not([data-theme="dark"]) .student-target-chip {
        border-color:#d7e0ea;
        background:#fff;
        color:#315178;
    }

    :root:not([data-theme="dark"]) .student-quick-btn {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        color:#315178;
        border-color:#d4deed;
    }

    :root:not([data-theme="dark"]) .student-quick-btn.active {
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        color:#fff;
        border-color:rgba(31,61,99,.72);
    }

    :root:not([data-theme="dark"]) .btn-mini,
    :root:not([data-theme="dark"]) .student-notif-reply-btn {
        background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%);
        border-color:#d4deed;
        color:#315178;
        box-shadow:0 6px 14px rgba(31,61,99,.08);
    }

    :root:not([data-theme="dark"]) .btn-mini:hover,
    :root:not([data-theme="dark"]) .student-notif-reply-btn:hover {
        background:linear-gradient(180deg,#f9fbff 0%,#eef4fb 100%);
        border-color:#becfe5;
        color:#1f3d63;
    }

    :root:not([data-theme="dark"]) .my-notif-item[data-notif-type="coach_reply"] .student-notif-reply-btn {
        background:linear-gradient(180deg,#f8fbff 0%,#edf4ff 100%);
        border-color:#bfd4f8;
        color:#29538f;
        box-shadow:0 6px 14px rgba(46,124,246,.10);
    }

    :root:not([data-theme="dark"]) .my-notif-item[data-notif-type="coach_direct_message"] .student-notif-reply-btn {
        background:linear-gradient(180deg,#fcf9ff 0%,#f3ebff 100%);
        border-color:#dcc6fb;
        color:#6f3faa;
        box-shadow:0 6px 14px rgba(109,40,217,.10);
    }

    :root:not([data-theme="dark"]) .my-notif-item[data-notif-type="coach_mock_exam_feedback"] .student-notif-reply-btn {
        background:linear-gradient(180deg,#f8fdf9 0%,#edf8f1 100%);
        border-color:#c6dfcf;
        color:#2b6b47;
        box-shadow:0 6px 14px rgba(47,123,87,.10);
    }

    :root[data-theme="dark"] .student-week-toolbar {
        border-color:#2f3c56;
        background:linear-gradient(180deg,#121a2a 0%,#172133 100%);
    }

    :root[data-theme="dark"] .student-week-toolbar-copy strong,
    :root[data-theme="dark"] .student-week-toolbar-form label,
    :root[data-theme="dark"] .student-week-toolbar-copy span {
        color:#dce7f8;
    }

    :root[data-theme="dark"] .student-week-toolbar-copy strong i {
        color:#f08a24;
    }

    :root[data-theme="dark"] .student-week-toolbar-form input[type="date"] {
        background:#141f31;
        border-color:#3b4a67;
        color:#edf3fb;
    }

    :root[data-theme="dark"] .student-week-link {
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        border-color:#385072;
        color:#dce7f8;
    }

    :root[data-theme="dark"] .student-week-link.current,
    :root[data-theme="dark"] .student-week-open,
    :root[data-theme="dark"] .student-quick-btn.active,
    :root[data-theme="dark"] .student-notif-reply-btn {
        background:linear-gradient(135deg,#213a5c,#f08a24);
        border-color:#f0a14c;
        color:#fffaf2;
    }

    :root[data-theme="dark"] .student-overview-hero,
    :root[data-theme="dark"] .student-overview-hero.tone-success,
    :root[data-theme="dark"] .student-overview-hero.tone-info,
    :root[data-theme="dark"] .student-overview-hero.tone-warning,
    :root[data-theme="dark"] .student-overview-hero.tone-neutral {
        border-color:#2f3c56;
        background:linear-gradient(135deg,#121a2a 0%,#172133 100%);
    }
    :root[data-theme="dark"] .student-task-flow-rail::after {
        background: linear-gradient(180deg, rgba(114, 151, 208, .38), rgba(114, 151, 208, .12));
    }
    :root[data-theme="dark"] .student-task-flow-date {
        border-color:#385072;
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        color:#dce7f8;
        box-shadow:0 10px 16px rgba(4,10,18,.22);
    }
    :root[data-theme="dark"] .student-task-flow-card {
        border-color:#2f3c56;
        background:linear-gradient(180deg,#121a2a 0%,#172133 100%);
        box-shadow:0 14px 24px rgba(4,10,18,.28);
    }
    :root[data-theme="dark"] .student-task-flow-head strong {
        color:#edf3fb;
    }
    :root[data-theme="dark"] .student-task-flow.is-scrollable {
        scrollbar-color: rgba(126, 152, 198, .38) transparent;
    }
    :root[data-theme="dark"] .student-task-flow.is-scrollable::-webkit-scrollbar-thumb {
        background: rgba(126, 152, 198, .34);
    }

    :root[data-theme="dark"] .student-overview-kicker,
    :root[data-theme="dark"] .student-overview-chip,
    :root[data-theme="dark"] .student-overview-stat,
    :root[data-theme="dark"] .student-overview-note,
    :root[data-theme="dark"] .student-daily-overview-day,
    :root[data-theme="dark"] .student-daily-overview-score,
    :root[data-theme="dark"] .student-daily-overview-counts span,
    :root[data-theme="dark"] .student-daily-overview-lessons span,
    :root[data-theme="dark"] .student-target-chip,
    :root[data-theme="dark"] .student-quick-btn,
    :root[data-theme="dark"] .btn-mini {
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        border-color:#385072;
        color:#dce7f8;
    }

    /* Student task/plans view aligned to coach theme */
    :root:not([data-theme="dark"]) .plan-card {
        border-color:#d7dee8;
        background:linear-gradient(180deg,#fffdf9 0%,#f8f4ee 100%);
        box-shadow:0 14px 28px rgba(31,49,72,.08);
    }
    :root:not([data-theme="dark"]) .plan-card::before {
        background:linear-gradient(180deg,#e88324 0%,#29547f 100%);
    }
    :root:not([data-theme="dark"]) .plan-week-badge {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        border-color:#d4deed;
        color:#315178;
    }
    :root:not([data-theme="dark"]) .plan-week-range,
    :root:not([data-theme="dark"]) .task-title {
        color:#122b4b;
    }
    :root:not([data-theme="dark"]) .plan-submeta {
        color:#647487;
    }
    :root:not([data-theme="dark"]) .plan-submeta span,
    :root:not([data-theme="dark"]) .task-chip,
    :root:not([data-theme="dark"]) .badge.assigned {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        border-color:#d4deed;
        color:#315178;
    }
    :root:not([data-theme="dark"]) .task-chip-deadline,
    :root:not([data-theme="dark"]) .badge.submitted {
        background:linear-gradient(180deg,#fff0dc 0%,#ffdba9 100%);
        border-color:#eab06a;
        color:#935111;
    }
    :root:not([data-theme="dark"]) .badge.approved {
        background:#eef4fb;
        border-color:#d4deed;
        color:#315178;
    }
    :root:not([data-theme="dark"]) .task-row {
        border-color:#d7e0ea;
        background:rgba(255,255,255,.92);
    }
    :root:not([data-theme="dark"]) .task-row:hover {
        border-color:#bccbdb;
        box-shadow:0 12px 22px rgba(31,49,72,.08);
    }
    :root:not([data-theme="dark"]) .task-icon {
        color:#2e557f;
        background:linear-gradient(145deg,#eff4fb 0%,#dfe9f8 100%);
        border-color:#bfd0e7;
    }
    :root:not([data-theme="dark"]) .task-icon-video,
    :root:not([data-theme="dark"]) .task-icon-worksheet,
    :root:not([data-theme="dark"]) .task-icon-resource,
    :root:not([data-theme="dark"]) .task-icon-mixed {
        color:#2e557f;
        background:linear-gradient(145deg,#eff4fb 0%,#dfe9f8 100%);
        border-color:#bfd0e7;
    }
    :root:not([data-theme="dark"]) .task-meta {
        color:#607286;
    }
    :root:not([data-theme="dark"]) .btn-detail {
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        color:#fff;
        box-shadow:0 10px 18px rgba(31,61,99,.16);
    }
    :root:not([data-theme="dark"]) .btn-detail:hover {
        background:linear-gradient(135deg,#1b3354 0%,#254b74 55%,#d9781c 180%);
    }
    :root:not([data-theme="dark"]) .acc {
        border-color:#d7dee8;
        background:#fff;
    }
    :root:not([data-theme="dark"]) .acc > summary {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        border-bottom-color:#d9e1ec;
        color:#173253;
    }
    :root:not([data-theme="dark"]) .acc > summary span {
        color:#6a7f97;
    }
    :root:not([data-theme="dark"]) .acc-content,
    :root:not([data-theme="dark"]) .lgs-block,
    :root:not([data-theme="dark"]) .lgs-summary,
    :root:not([data-theme="dark"]) .sum-box,
    :root:not([data-theme="dark"]) .qa-card,
    :root:not([data-theme="dark"]) .help-panel,
    :root:not([data-theme="dark"]) .help-head,
    :root:not([data-theme="dark"]) .help-ask,
    :root:not([data-theme="dark"]) .daily-kpi-box,
    :root:not([data-theme="dark"]) .exam-sum-box,
    :root:not([data-theme="dark"]) .daily-detail-table-wrap,
    :root:not([data-theme="dark"]) .school-schedule-grid,
    :root:not([data-theme="dark"]) .schedule-day-card,
    :root:not([data-theme="dark"]) .student-exam-month,
    :root:not([data-theme="dark"]) .student-exam-item,
    :root:not([data-theme="dark"]) .student-exam-lesson {
        border-color:#d7dee8;
        background:#fff;
    }
    :root:not([data-theme="dark"]) .qa-q,
    :root:not([data-theme="dark"]) .help-head,
    :root:not([data-theme="dark"]) .daily-detail-table th,
    :root:not([data-theme="dark"]) .school-schedule-grid th,
    :root:not([data-theme="dark"]) .student-exam-month-head,
    :root:not([data-theme="dark"]) .student-exam-item > summary {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        border-bottom-color:#d9e1ec;
    }
    :root:not([data-theme="dark"]) .qa-a {
        border-left-color:#e88324;
        background:#fffaf4;
    }
    :root:not([data-theme="dark"]) .help-fab {
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        box-shadow:0 12px 28px rgba(31,61,99,.24);
    }
    :root:not([data-theme="dark"]) .help-fab:hover {
        background:linear-gradient(135deg,#1b3354 0%,#254b74 55%,#d9781c 180%);
    }

    :root[data-theme="dark"] .plan-card {
        background:linear-gradient(180deg,#121a2a 0%,#172133 100%);
        border-color:#2f3c56;
        box-shadow:0 16px 30px rgba(4,10,18,.32);
    }
    :root[data-theme="dark"] .plan-card::before {
        background:linear-gradient(180deg,#f08a24 0%,#5e84b8 100%);
    }
    :root[data-theme="dark"] .plan-week-badge,
    :root[data-theme="dark"] .plan-submeta span,
    :root[data-theme="dark"] .task-chip,
    :root[data-theme="dark"] .badge.assigned,
    :root[data-theme="dark"] .student-exam-chip.neutral,
    :root[data-theme="dark"] .btn-mini {
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        border-color:#385072;
        color:#dce7f8;
    }
    :root[data-theme="dark"] .task-chip-deadline,
    :root[data-theme="dark"] .badge.submitted,
    :root[data-theme="dark"] .student-week-link.current {
        background:linear-gradient(135deg,rgba(240,138,36,.26) 0%,rgba(240,138,36,.14) 100%);
        border-color:rgba(240,138,36,.38);
        color:#ffe1bb;
    }
    :root[data-theme="dark"] .plan-week-range,
    :root[data-theme="dark"] .task-title,
    :root[data-theme="dark"] .student-exam-item-name {
        color:#edf3fb;
    }
    :root[data-theme="dark"] .plan-submeta,
    :root[data-theme="dark"] .task-meta,
    :root[data-theme="dark"] .student-exam-item-date,
    :root[data-theme="dark"] .student-exam-note,
    :root[data-theme="dark"] .qa-meta {
        color:#afbdd2;
    }
    :root[data-theme="dark"] .task-row,
    :root[data-theme="dark"] .acc,
    :root[data-theme="dark"] .lgs-block,
    :root[data-theme="dark"] .lgs-summary,
    :root[data-theme="dark"] .sum-box,
    :root[data-theme="dark"] .qa-card,
    :root[data-theme="dark"] .help-panel,
    :root[data-theme="dark"] .help-head,
    :root[data-theme="dark"] .help-ask,
    :root[data-theme="dark"] .daily-kpi-box,
    :root[data-theme="dark"] .exam-sum-box,
    :root[data-theme="dark"] .daily-detail-table-wrap,
    :root[data-theme="dark"] .school-schedule-grid,
    :root[data-theme="dark"] .schedule-day-card,
    :root[data-theme="dark"] .student-exam-month,
    :root[data-theme="dark"] .student-exam-item,
    :root[data-theme="dark"] .student-exam-lesson {
        border-color:#2f3c56;
        background:#121a2a;
    }
    :root[data-theme="dark"] .qa-q,
    :root[data-theme="dark"] .help-head,
    :root[data-theme="dark"] .acc > summary,
    :root[data-theme="dark"] .daily-detail-table th,
    :root[data-theme="dark"] .school-schedule-grid th,
    :root[data-theme="dark"] .student-exam-month-head,
    :root[data-theme="dark"] .student-exam-item > summary {
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        border-bottom-color:#30415d;
    }
    :root[data-theme="dark"] .task-icon,
    :root[data-theme="dark"] .task-icon-video,
    :root[data-theme="dark"] .task-icon-worksheet,
    :root[data-theme="dark"] .task-icon-resource,
    :root[data-theme="dark"] .task-icon-mixed {
        color:#dce7f8;
        background:linear-gradient(145deg,#182336 0%,#152031 100%);
        border-color:#385072;
    }
    :root[data-theme="dark"] .btn-detail,
    :root[data-theme="dark"] .help-fab {
        background:linear-gradient(135deg,#213a5c,#f08a24);
        border-color:#f0a14c;
        color:#fffaf2;
    }
    :root[data-theme="dark"] .btn-detail:hover,
    :root[data-theme="dark"] .help-fab:hover {
        background:linear-gradient(135deg,#1d3453,#db7d1f);
    }
    :root[data-theme="dark"] .qa-a {
        border-left-color:#f08a24;
        background:#1a2437;
    }

    /* Task card button refinement */
    :root:not([data-theme="dark"]) .task-row .btn-detail {
        min-height:42px;
        padding:0 16px;
        border-radius:12px;
        font-weight:800;
        letter-spacing:.01em;
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%) !important;
        color:#fff !important;
        border:1px solid rgba(31,61,99,.72) !important;
        box-shadow:0 12px 22px rgba(31,61,99,.18) !important;
    }
    :root:not([data-theme="dark"]) .task-row .btn-detail:hover {
        background:linear-gradient(135deg,#1b3354 0%,#254b74 55%,#d9781c 180%) !important;
    }
    :root:not([data-theme="dark"]) .task-row .badge,
    :root:not([data-theme="dark"]) .plan-head > .badge,
    :root:not([data-theme="dark"]) .task-row .task-chip {
        min-height:30px;
        padding:0 12px;
        font-weight:800;
    }
    :root:not([data-theme="dark"]) .task-row .badge.submitted,
    :root:not([data-theme="dark"]) .task-row .task-chip-deadline {
        background:linear-gradient(180deg,#fff0dc 0%,#ffdba9 100%);
        border-color:#eab06a;
        color:#935111;
    }
    :root:not([data-theme="dark"]) .task-row .badge.assigned,
    :root:not([data-theme="dark"]) .plan-head > .badge.assigned,
    :root:not([data-theme="dark"]) .task-row .task-chip,
    :root:not([data-theme="dark"]) .plan-submeta span {
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        border-color:#d4deed;
        color:#315178;
    }

    :root[data-theme="dark"] .task-row .btn-detail {
        min-height:42px;
        padding:0 16px;
        border-radius:12px;
        font-weight:800;
        letter-spacing:.01em;
        background:linear-gradient(135deg,#213a5c,#f08a24) !important;
        border:1px solid #f0a14c !important;
        color:#fffaf2 !important;
        box-shadow:0 14px 24px rgba(6,12,22,.32) !important;
    }
    :root[data-theme="dark"] .task-row .btn-detail:hover {
        background:linear-gradient(135deg,#1d3453,#db7d1f) !important;
    }
    :root[data-theme="dark"] .task-row .badge,
    :root[data-theme="dark"] .plan-head > .badge,
    :root[data-theme="dark"] .task-row .task-chip {
        min-height:30px;
        padding:0 12px;
        font-weight:800;
    }

    :root[data-theme="dark"] .student-task-check {
        background:rgba(20,34,56,.92);
        border-color:#315074;
        color:#eef4ff;
    }
    :root[data-theme="dark"] .student-task-check-box {
        border-color:#7ea0cf;
        background:rgba(13,24,42,.96);
    }
    :root[data-theme="dark"] .student-task-check.is-done {
        background:rgba(34,78,58,.82);
        border-color:#4b9b73;
        color:#e8fff2;
    }
    :root[data-theme="dark"] .student-task-check.is-done .student-task-check-box {
        background:#58b77e;
        border-color:#58b77e;
        box-shadow:inset 0 0 0 4px rgba(34,78,58,.82);
    }

    @media (max-width: 640px) {
        .student-task-flow-item {
            grid-template-columns: 1fr;
            gap: 8px;
        }
        .student-task-flow-rail {
            grid-auto-flow: column;
            justify-content: start;
            gap: 10px;
        }
        .student-task-flow-rail::after {
            display: none;
        }
        .school-schedule-import-actions {
            align-items:stretch;
        }
        .school-schedule-upload-field,
        .school-schedule-import-actions button {
            flex:1 1 100%;
            width:100%;
        }
    }

    /* Exam history contrast lift */
    :root:not([data-theme="dark"]) .student-exam-month {
        border-color:#ccd7e4;
        background:linear-gradient(180deg,#f7f9fc 0%,#f2f6fb 100%);
        box-shadow:0 10px 20px rgba(31,49,72,.05);
    }
    :root:not([data-theme="dark"]) .student-exam-month-head {
        background:linear-gradient(180deg,#eef3fb 0%,#e7eef8 100%);
        border-bottom-color:#d4deeb;
        color:#46627f;
    }
    :root:not([data-theme="dark"]) .student-exam-month-head strong {
        color:#143355;
    }
    :root:not([data-theme="dark"]) .student-exam-item {
        border:1px solid #b8cbe3;
        background:linear-gradient(180deg,#ffffff 0%,#f4f8fd 100%);
        box-shadow:
            0 1px 0 rgba(255,255,255,.82) inset,
            0 10px 18px rgba(31,49,72,.08),
            0 0 0 1px rgba(116, 149, 196, .10);
    }
    :root:not([data-theme="dark"]) .student-exam-item > summary {
        background:linear-gradient(180deg,#ffffff 0%,#f3f7fc 100%);
    }
    :root:not([data-theme="dark"]) .student-exam-item[open] > summary {
        border-bottom:1px solid #bfd1e8;
        background:linear-gradient(180deg,#f7faff 0%,#edf3fb 100%);
    }
    :root:not([data-theme="dark"]) .student-exam-item-name {
        color:#143355;
    }
    :root:not([data-theme="dark"]) .student-exam-item-date,
    :root:not([data-theme="dark"]) .student-exam-history-note,
    :root:not([data-theme="dark"]) .student-exam-note,
    :root:not([data-theme="dark"]) .student-exam-net-label {
        color:#5f7287;
    }
    :root:not([data-theme="dark"]) .student-exam-chip {
        background:linear-gradient(180deg,#eef6f0 0%,#e4f1e8 100%);
        border-color:#bcd7c7;
        color:#2d6b47;
    }
    :root:not([data-theme="dark"]) .student-exam-chip.neutral {
        background:linear-gradient(180deg,#f4f7fc 0%,#ebf1f9 100%);
        border-color:#d2dceb;
        color:#355674;
    }
    :root:not([data-theme="dark"]) .student-exam-detail {
        border-top-color:#bfd1e8;
        background:linear-gradient(180deg,#f9fbfe 0%,#f1f6fc 100%);
    }
    :root:not([data-theme="dark"]) .student-exam-lesson {
        border-color:#aebfd0;
        background:
            linear-gradient(180deg,#ffffff 0%,#f8fbff 100%),
            radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--lesson-accent) 12%, transparent),transparent 34%);
        box-shadow:0 8px 18px rgba(45, 73, 104, .10), inset 0 0 0 1px rgba(255,255,255,.88);
    }
    :root:not([data-theme="dark"]) .student-exam-lesson-title strong {
        color:#173456;
    }
    :root:not([data-theme="dark"]) .student-exam-metrics span {
        border-color:#c6d4e2;
        background:linear-gradient(180deg,#fbfdff 0%,#eef4fa 100%);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
    }
    :root:not([data-theme="dark"]) .student-exam-metrics span small {
        color:#63788f;
    }
    :root:not([data-theme="dark"]) .student-exam-metrics span b {
        color:#142f4b;
        font-weight:900;
    }
    :root:not([data-theme="dark"]) .student-exam-net-panel {
        border-top-color:#c5d3e2;
    }

    .student-plan-board-shell {
        display:grid;
        gap:14px;
    }
    .student-plan-board-summary {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px;
    }
    .student-plan-board-stat {
        border:1px solid #d5e3d9;
        border-radius:14px;
        background:linear-gradient(180deg,#ffffff 0%,#f5fbf7 100%);
        padding:12px 14px;
        display:grid;
        gap:4px;
    }
    .student-plan-board-stat span {
        color:#557063;
        font-size:.84rem;
        font-weight:700;
    }
    .student-plan-board-stat strong {
        color:#173a2c;
        font-size:1.4rem;
        font-weight:800;
    }
    .student-plan-report-card {
        border:1px solid #d4e5db;
        border-radius:20px;
        background:
            radial-gradient(circle at 8% 10%,rgba(31,109,77,.13),transparent 32%),
            linear-gradient(135deg,#fdfefd 0%,#eef8f2 100%);
        box-shadow:0 14px 30px rgba(38,73,56,.08);
        padding:16px;
        display:grid;
        gap:10px;
        align-items:center;
    }
    .student-plan-report-main {
        display:grid;
        gap:8px;
        min-width:0;
    }
    .student-plan-report-kicker {
        color:#597568;
        font-size:.78rem;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .student-plan-report-main strong {
        color:#143b2b;
        font-size:1.18rem;
        line-height:1.25;
    }
    .student-plan-report-bar {
        height:10px;
        border-radius:999px;
        background:#e2eee7;
        overflow:hidden;
        box-shadow:inset 0 1px 2px rgba(25,70,49,.08);
    }
    .student-plan-report-bar span {
        display:block;
        width:var(--student-plan-progress,0%);
        height:100%;
        border-radius:inherit;
        background:linear-gradient(90deg,#1f7a4f 0%,#80bf72 58%,#ef9a2d 100%);
        transition:width .24s ease;
    }
    .student-plan-report-done {
        display:grid;
        gap:8px;
        min-width:0;
    }
    .student-plan-report-done > span {
        color:#557063;
        font-size:.82rem;
        font-weight:900;
    }
    .student-plan-report-done-list {
        display:flex;
        flex-wrap:wrap;
        gap:7px;
    }
    .student-plan-report-done-list em {
        display:inline-flex;
        align-items:center;
        gap:6px;
        max-width:100%;
        border:1px solid #cbe3d4;
        border-radius:999px;
        background:#fff;
        color:#214c38;
        padding:6px 9px;
        font-size:.78rem;
        font-style:normal;
        font-weight:800;
        box-shadow:0 7px 14px rgba(38,73,56,.06);
    }
    .student-plan-report-done-list em i {
        color:#1f7a4f;
        font-size:.72rem;
    }
    .student-plan-report-done-list em.is-empty {
        border-style:dashed;
        color:#6f877b;
        background:#f8fcf9;
        box-shadow:none;
    }
    .student-plan-board {
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        overflow-x:visible;
        padding-bottom:6px;
    }
    .student-plan-day {
        border:1px solid #d5e3d9;
        border-radius:18px;
        background:linear-gradient(180deg,#fbfefc 0%,#f1f7f4 100%);
        overflow:hidden;
        display:grid;
        grid-template-columns:66px minmax(0,1fr);
        align-items:stretch;
    }
    .student-plan-day-ribbon {
        border-right:1px solid #dfeae3;
    }
    .student-plan-day-head {
        color:#fff;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:12px 0 10px;
        min-height:100%;
    }
    .student-plan-day-head > * {
        width:100%;
    }
    .student-plan-day-head {
        min-height:100%;
    }
    .student-plan-day-head {
        writing-mode:initial;
    }
    .student-plan-day-head {
        position:relative;
    }
    .student-plan-day-head strong,
    .student-plan-day-head span {
        display:block;
        writing-mode:vertical-rl;
        transform:rotate(180deg);
        margin:0;
        color:inherit;
    }
    .student-plan-day-head {
        display:flex;
    }
    .student-plan-day-head::before {
        content:"";
        position:absolute;
        inset:0;
    }
    .student-plan-day-head {
        z-index:0;
    }
    .student-plan-day-head > strong,
    .student-plan-day-head > span {
        position:relative;
        z-index:1;
    }
    .student-plan-day-head {
        flex-direction:column;
        gap:10px;
        align-items:center;
        justify-content:center;
    }
    .student-plan-day-head strong {
        font-size:1.08rem;
        letter-spacing:.02em;
    }
    .student-plan-day-head span {
        font-size:1.08rem;
        font-weight:700;
        opacity:.96;
    }
    .student-plan-day-content {
        display:grid;
        grid-template-rows:auto 1fr;
        min-width:0;
    }
    .student-plan-day-head.day-1 { background:#d37a63; }
    .student-plan-day-head.day-2 { background:#a9c995; }
    .student-plan-day-head.day-3 { background:#4f8895; }
    .student-plan-day-head.day-4 { background:#8b78be; }
    .student-plan-day-head.day-5 { background:#de8d92; }
    .student-plan-day-head.day-6 { background:#b66a00; }
    .student-plan-day-head.day-7 { background:#4f82d4; }
    .student-plan-day-summary {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:12px 14px;
        border-bottom:1px solid #dfeae3;
        color:#456457;
        font-weight:700;
        font-size:.92rem;
    }
    .student-plan-day-summary-count {
        display:inline-flex;
        align-items:center;
        gap:8px;
    }
    .student-plan-day-summary strong {
        color:#173a2c;
        font-size:1rem;
    }
    .student-plan-day-items {
        display:flex;
        gap:12px;
        padding:14px;
        align-items:stretch;
        min-width:0;
        overflow-x:auto;
        overflow-y:hidden;
        min-height:0;
        scrollbar-width:thin;
        scrollbar-color:#b8ccc0 transparent;
    }
    .student-plan-day-items::-webkit-scrollbar {
        height:8px;
    }
    .student-plan-day-items::-webkit-scrollbar-thumb {
        background:#b8ccc0;
        border-radius:999px;
    }
    .student-plan-day-items::-webkit-scrollbar-track {
        background:#edf4ef;
        border-radius:999px;
    }
    .student-plan-slot {
        border:1px solid #cee0d4;
        border-radius:18px;
        background:
            linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(250,253,251,.98) 100%),
            radial-gradient(circle at 20% 0%,rgba(31,109,77,.08),transparent 34%);
        padding:11px;
        display:grid;
        grid-template-rows:auto minmax(74px,1fr) auto;
        gap:9px;
        box-shadow:0 10px 20px rgba(38,73,56,.055);
        min-width:202px;
        max-width:222px;
        flex:0 0 212px;
        position:relative;
        transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .student-plan-slot:hover {
        transform:translateY(-1px);
        box-shadow:0 14px 24px rgba(38,73,56,.09);
    }
    .student-plan-slot-top,
    .student-plan-slot-footer {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }
    .student-plan-slot-meta {
        display:flex;
        flex-wrap:wrap;
        gap:6px;
        align-items:center;
        min-width:0;
    }
    .student-plan-mood {
        border:1px solid #d9e7df;
        border-radius:999px;
        background:#f7fbf8;
        color:#527063;
        padding:4px 9px;
        font-size:.72rem;
        line-height:1;
        font-weight:800;
        white-space:nowrap;
    }
    .student-plan-slot-body {
        display:grid;
        gap:5px;
        align-content:start;
        min-width:0;
    }
    .student-plan-slot-title {
        color:#16392b;
        font-size:.98rem;
        line-height:1.25;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }
    .student-plan-slot-content {
        white-space:pre-line;
        color:#486557;
        font-size:.88rem;
        line-height:1.42;
        display:-webkit-box;
        -webkit-line-clamp:3;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }
    .student-plan-day-empty {
        min-height:140px;
        border:1px dashed #c9dad0;
        border-radius:16px;
        background:#f8fcf9;
        color:#71877b;
        display:grid;
        place-items:center;
        text-align:center;
        padding:16px;
        font-weight:700;
        font-size:.92rem;
    }
    .student-plan-link {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:36px;
        height:36px;
        min-height:36px;
        padding:0;
        border-radius:999px;
        border:1px solid #d4deed;
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        color:#315178;
        text-decoration:none;
        font-weight:800;
        font-size:.82rem;
        box-shadow:0 6px 14px rgba(31,61,99,.08);
    }
    .student-plan-link i {
        font-size:.95rem;
    }
    .student-task-check--compact {
        min-width:40px;
        width:40px;
        min-height:40px;
        padding:0;
        border-radius:999px;
        justify-content:center;
        background:#fff;
        border:1px solid #a7c9b6;
        color:#1f6d4d;
        box-shadow:0 8px 16px rgba(31,109,77,.10);
    }
    .student-task-check--compact .student-task-check-box {
        margin:0;
        display:grid;
        place-items:center;
        width:24px;
        height:24px;
        border-radius:999px;
        border:1px solid #b8d8c5;
        background:#f8fcfa;
        color:transparent;
        transition:all .16s ease;
    }
    .student-task-check--compact .student-task-check-box i {
        font-size:.88rem;
        line-height:1;
    }
    .student-plan-slot.status-submitted,
    .student-plan-slot.status-approved,
    .student-plan-slot.status-completed {
        border-color:#b9dbc6;
        background:
            linear-gradient(180deg,rgba(251,255,252,.98) 0%,rgba(238,249,242,.98) 100%),
            radial-gradient(circle at 100% 0%,rgba(31,109,77,.18),transparent 32%);
        box-shadow:0 12px 24px rgba(31,109,77,.10);
    }
    .student-plan-slot.status-submitted .student-plan-mood,
    .student-plan-slot.status-approved .student-plan-mood,
    .student-plan-slot.status-completed .student-plan-mood {
        border-color:#b9dbc6;
        background:#eaf7ef;
        color:#1f6d4d;
    }
    .student-task-check--compact.is-done {
        background:linear-gradient(135deg,#1f8b5f 0%,#35b37a 100%);
        border-color:#1f8b5f;
        color:#fff;
        box-shadow:0 10px 20px rgba(31,139,95,.24), inset 0 0 0 2px rgba(255,255,255,.18);
    }
    .student-task-check--compact.is-done .student-task-check-box {
        background:#fff;
        border-color:#fff;
        color:#fff;
        box-shadow:0 0 0 3px rgba(255,255,255,.22);
    }
    .student-task-check--compact.is-done .student-task-check-box i {
        color:#1f8b5f;
        font-size:.95rem;
    }
    .student-plan-slot.status-revision {
        border-color:#e6c3a8;
    }
    .student-plan-slot .btn-detail {
        min-height:34px;
        padding:0 12px;
        border-radius:999px;
        background:linear-gradient(135deg,#1f3d63 0%,#29547f 55%,#e88324 180%);
        color:#fff;
        border:0;
        font-size:.82rem;
        font-weight:800;
        box-shadow:0 10px 18px rgba(31,61,99,.16);
    }
    .student-task-resource-link {
        display:inline-flex;
        align-items:center;
        gap:7px;
        min-height:32px;
        padding:0 12px;
        border-radius:999px;
        border:1px solid #d4deed;
        background:linear-gradient(180deg,#f7f9fd 0%,#edf3fb 100%);
        color:#315178;
        text-decoration:none;
        font-weight:800;
    }
    .student-task-modal-complete {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        width:100%;
        min-height:44px;
        border:0;
        border-radius:14px;
        background:linear-gradient(135deg,#1f8b5f 0%,#35b37a 100%);
        color:#fff;
        font-weight:900;
        cursor:pointer;
        box-shadow:0 14px 24px rgba(31,109,77,.18);
    }
    .student-task-modal-complete:disabled {
        cursor:not-allowed;
        background:linear-gradient(135deg,#c4d2ca 0%,#dfe8e3 100%);
        color:#587064;
        box-shadow:none;
    }
    .student-task-note-toggle {
        margin-top:10px;
        border:1px solid #e0ece4;
        border-radius:14px;
        background:#fbfdfc;
        overflow:hidden;
    }
    .student-task-note-toggle summary {
        list-style:none;
        cursor:pointer;
        padding:11px 12px;
        color:#315846;
        font-weight:800;
    }
    .student-task-note-toggle summary::-webkit-details-marker {
        display:none;
    }
    .student-task-note-toggle summary::after {
        content:"+";
        float:right;
        color:#60776c;
    }
    .student-task-note-toggle[open] summary::after {
        content:"-";
    }
    .student-task-note-toggle label {
        display:grid;
        gap:7px;
        padding:0 12px 12px;
        color:#486557;
        font-weight:700;
    }
    .student-task-upload-box {
        display:grid;
        gap:6px;
        margin-top:10px;
        padding:12px;
        border:1px dashed #b7d5c5;
        border-radius:14px;
        background:linear-gradient(135deg,#f8fdfb 0%,#fffaf0 100%);
        color:#315846;
        font-weight:800;
    }
    .student-task-upload-box small {
        color:#60776c;
        font-size:12px;
        font-weight:700;
        line-height:1.45;
    }
    .student-task-upload-box input {
        margin-top:4px;
        max-width:100%;
        color:#173f2f;
        font-weight:700;
    }

    :root[data-theme="dark"] .student-plan-board-stat,
    :root[data-theme="dark"] .student-plan-report-card,
    :root[data-theme="dark"] .student-plan-day,
    :root[data-theme="dark"] .student-plan-slot {
        border-color:#2b4568;
        background:
            radial-gradient(circle at 92% 0%,rgba(240,138,36,.13),transparent 34%),
            linear-gradient(180deg,#17263d 0%,#101c2f 100%);
        box-shadow:none;
    }
    :root[data-theme="dark"] .student-plan-board-stat span,
    :root[data-theme="dark"] .student-plan-report-kicker,
    :root[data-theme="dark"] .student-plan-report-mini > span,
    :root[data-theme="dark"] .student-plan-slot-content,
    :root[data-theme="dark"] .student-plan-day-summary {
        color:#aebfd7;
    }
    :root[data-theme="dark"] .student-plan-board-stat strong,
    :root[data-theme="dark"] .student-plan-report-main strong,
    :root[data-theme="dark"] .student-plan-slot-title,
    :root[data-theme="dark"] .student-plan-day-summary strong {
        color:#f1fbf5;
    }
    :root[data-theme="dark"] .student-plan-report-bar {
        background:#22334b;
    }
    :root[data-theme="dark"] .student-plan-report-bar span {
        background:linear-gradient(90deg,#2e7cf6 0%,#57a7ff 58%,#f08a24 100%);
    }
    :root[data-theme="dark"] .student-plan-report-segments i {
        background:#22334b;
        box-shadow:inset 0 1px 1px rgba(0,0,0,.2);
    }
    :root[data-theme="dark"] .student-plan-report-segments i.is-done {
        background:linear-gradient(90deg,#2e7cf6 0%,#f08a24 150%);
        box-shadow:0 5px 12px rgba(46,124,246,.22);
    }
    :root[data-theme="dark"] .student-plan-report-done-list em {
        border-color:#355446;
        background:#14251e;
        color:#d8eee3;
        box-shadow:none;
    }
    :root[data-theme="dark"] .student-plan-report-done-list em.is-empty {
        color:#9db8aa;
        background:#122019;
    }
    :root[data-theme="dark"] .student-plan-mood {
        border-color:#355446;
        background:#14251e;
        color:#a9c6b8;
    }
    :root[data-theme="dark"] .student-plan-slot.status-submitted .student-plan-mood,
    :root[data-theme="dark"] .student-plan-slot.status-approved .student-plan-mood,
    :root[data-theme="dark"] .student-plan-slot.status-completed .student-plan-mood {
        border-color:#426d55;
        background:#183627;
        color:#9be0b6;
    }
    :root[data-theme="dark"] .student-plan-day-summary {
        border-bottom-color:#284236;
    }
    :root[data-theme="dark"] .student-plan-day-ribbon {
        border-right-color:#284236;
    }
    :root[data-theme="dark"] .student-plan-day-empty {
        border-color:#355446;
        background:#122019;
        color:#9db8aa;
    }
    :root[data-theme="dark"] .student-plan-link {
        border-color:#385072;
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        color:#dce7f8;
    }
    :root[data-theme="dark"] .student-plan-print-link {
        border-color:#385072;
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        color:#dce7f8;
    }
    :root[data-theme="dark"] .student-task-check--compact.is-done {
        background:linear-gradient(135deg,#1f8b5f 0%,#35b37a 100%);
        border-color:#58d99a;
        box-shadow:0 10px 20px rgba(0,0,0,.32), inset 0 0 0 2px rgba(255,255,255,.18);
    }
    :root[data-theme="dark"] .student-task-check--compact.is-done .student-task-check-box {
        background:#f4fff8;
        border-color:#f4fff8;
        color:#1f8b5f;
        box-shadow:0 0 0 3px rgba(255,255,255,.18);
    }
    :root[data-theme="dark"] .student-task-resource-link {
        border-color:#385072;
        background:linear-gradient(180deg,#182336 0%,#152031 100%);
        color:#dce7f8;
    }
    :root[data-theme="dark"] .student-task-modal-complete {
        background:linear-gradient(135deg,#1f8b5f 0%,#2aa56f 100%);
        color:#f4fff8;
        box-shadow:0 14px 24px rgba(4,10,18,.32);
    }
    :root[data-theme="dark"] .student-task-note-toggle {
        border-color:#29466b;
        background:#101c2f;
    }
    :root[data-theme="dark"] .student-task-note-toggle summary {
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-task-note-toggle label {
        color:#b8c9df;
    }
    :root[data-theme="dark"] .student-task-upload-box {
        border-color:#365d78;
        background:linear-gradient(135deg,#101c2f 0%,#172237 100%);
        color:#dce9ff;
    }
    :root[data-theme="dark"] .student-task-upload-box small,
    :root[data-theme="dark"] .student-task-upload-box input {
        color:#b8c9df;
    }
    :root[data-theme="dark"] .student-plan-day-items::-webkit-scrollbar-thumb {
        background:#486d5b;
    }
    :root[data-theme="dark"] .student-plan-day-items::-webkit-scrollbar-track {
        background:#1b2d24;
    }
    :root[data-theme="dark"] .student-plan-slot .btn-detail {
        background:linear-gradient(135deg,#213a5c,#f08a24);
        color:#fffaf2;
        box-shadow:0 12px 20px rgba(4,10,18,.28);
    }

    @media (max-width: 980px) {
        .student-plan-board-summary {
            grid-template-columns:repeat(3,minmax(0,1fr));
        }
        .student-plan-report-card {
            grid-template-columns:1fr;
        }
        .student-plan-day {
            grid-template-columns:60px minmax(0,1fr);
        }
    }

    @media (max-width: 760px) {
        .student-plan-board-summary {
            grid-template-columns:1fr;
        }
    }

    @media (max-width: 560px) {
        .student-plan-day {
            grid-template-columns:56px minmax(0,1fr);
        }
        .student-plan-day-summary {
            flex-direction:column;
            align-items:flex-start;
        }
        .student-plan-slot-top,
        .student-plan-slot-footer {
            align-items:flex-start;
            flex-direction:column;
        }
    }

    /* Mobile polish pass */
    :root[data-theme="dark"] .student-exam-history-note,
    :root[data-theme="dark"] .student-overview-hero p,
    :root[data-theme="dark"] .student-week-inline-note,
    :root[data-theme="dark"] .student-archive-note p {
        color:#dce9ff !important;
    }

    .student-month-toolbar .student-week-toolbar-form {
        display:grid;
        grid-template-columns:auto minmax(130px, 1fr) auto;
        align-items:end;
    }

    .student-month-toolbar .student-week-link.current {
        grid-column:1 / -1;
        justify-self:end;
    }

    .school-schedule-grid,
    .school-schedule-summary-table-wrap {
        display:block;
        max-width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
    }

    .school-schedule-grid table,
    .school-schedule-summary-table {
        min-width:760px;
    }

    @media (max-width:720px) {
        #sectionStudentSchedule,
        #sectionStudentSchedule .card,
        #sectionStudentSchedule form,
        #sectionStudentSchedule .school-schedule-wrap {
            min-width:0;
            max-width:100%;
        }

        #sectionStudentSchedule .school-schedule-grid,
        #sectionStudentSchedule .school-schedule-summary-table-wrap {
            display:block;
            width:100%;
            inline-size:100%;
            max-width:calc(100vw - 48px);
            overflow-x:auto !important;
            overflow-y:hidden;
            -webkit-overflow-scrolling:touch;
            overscroll-behavior-x:contain;
            touch-action:auto;
            scrollbar-width:thin;
            scrollbar-color:#b8ccc0 transparent;
            scroll-snap-type:x proximity;
            isolation:isolate;
            contain:inline-size;
        }

        #sectionStudentSchedule .school-schedule-grid table,
        #sectionStudentSchedule .school-schedule-summary-table {
            display:table;
            width:920px !important;
            min-width:920px !important;
            max-width:none !important;
            table-layout:fixed;
        }

        #sectionStudentSchedule .school-schedule-grid th,
        #sectionStudentSchedule .school-schedule-grid td,
        #sectionStudentSchedule .school-schedule-summary-table th,
        #sectionStudentSchedule .school-schedule-summary-table td {
            padding:8px 6px;
            font-size:.82rem;
            overflow-wrap:normal;
            word-break:normal;
        }

        #sectionStudentSchedule .school-schedule-grid th:not(.day-cell),
        #sectionStudentSchedule .school-schedule-grid td:not(.day-cell),
        #sectionStudentSchedule .school-schedule-summary-table th:not(:first-child),
        #sectionStudentSchedule .school-schedule-summary-table td:not(:first-child) {
            min-width:92px;
            width:92px;
        }

        #sectionStudentSchedule .school-schedule-grid .day-cell,
        #sectionStudentSchedule .school-schedule-summary-table .schedule-summary-day,
        #sectionStudentSchedule .school-schedule-summary-table thead th:first-child {
            position:sticky;
            left:0;
            z-index:2;
            min-width:92px;
            box-shadow:1px 0 0 rgba(220, 233, 225, .95);
        }

        #sectionStudentSchedule .school-schedule-summary-table thead th:first-child {
            z-index:3;
        }

        #sectionStudentSchedule .school-schedule-grid::-webkit-scrollbar,
        #sectionStudentSchedule .school-schedule-summary-table-wrap::-webkit-scrollbar {
            height:8px;
        }

        #sectionStudentSchedule .school-schedule-grid::-webkit-scrollbar-thumb,
        #sectionStudentSchedule .school-schedule-summary-table-wrap::-webkit-scrollbar-thumb {
            background:#b8ccc0;
            border-radius:999px;
        }

        #sectionStudentSchedule .school-schedule-grid::-webkit-scrollbar-track,
        #sectionStudentSchedule .school-schedule-summary-table-wrap::-webkit-scrollbar-track {
            background:#edf4ef;
            border-radius:999px;
        }

        #sectionStudentSchedule .schedule-summary-cell {
            min-height:44px;
            gap:2px;
        }

        #sectionStudentSchedule .schedule-summary-cell strong {
            font-size:.9rem;
        }

        .student-plan-board {
            max-width:100%;
            overflow-x:auto;
            overflow-y:hidden;
            -webkit-overflow-scrolling:touch;
            padding-bottom:10px;
            scrollbar-width:thin;
            scrollbar-color:#b8ccc0 transparent;
        }

        .student-plan-board::-webkit-scrollbar {
            height:8px;
        }

        .student-plan-board::-webkit-scrollbar-thumb {
            background:#b8ccc0;
            border-radius:999px;
        }

        .student-plan-board::-webkit-scrollbar-track {
            background:#edf4ef;
            border-radius:999px;
        }

        .student-plan-day {
            min-width:760px;
        }

        :root[data-theme="dark"] .student-plan-board::-webkit-scrollbar-thumb {
            background:#486d5b;
        }

        :root[data-theme="dark"] .student-plan-board::-webkit-scrollbar-track {
            background:#1b2d24;
        }

        .student-month-toolbar .student-week-toolbar-form {
            grid-template-columns:1fr 1fr;
        }

        .student-month-toolbar .student-week-picker,
        .student-month-toolbar .student-week-link.current {
            grid-column:1 / -1;
            width:100%;
            justify-self:stretch;
        }

        .student-month-toolbar .student-week-link {
            min-width:0;
        }

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

.student-shell .daily-kpi-box strong,
.student-shell .daily-kpi-box .dyb-three-line,
.student-shell .daily-kpi-box .dyb-three-line i,
.student-shell .exam-sum-box strong,
.student-shell .sum-box strong,
.student-shell .student-exam-net-value,
.student-shell .student-exam-metrics span small,
.student-shell .student-exam-metrics span b,
.student-shell .student-plan-board-stat strong,
.student-shell .student-week-plan-summary strong {
    font-family: var(--portal-number-font) !important;
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "tnum" 1, "lnum" 1, "zero" 0;
    font-style: normal !important;
    letter-spacing: -0.02em;
}

.student-shell .student-exam-metrics span small {
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.08em;
}

.student-shell .student-exam-metrics span b {
    font-size:1.08rem;
    font-weight:900;
    letter-spacing:-.01em;
}

/* Keep the LGS entry table color-coded even after broader theme rules. */
html[data-theme="dark"] .student-shell .lgs-table input.in-correct {
    background:linear-gradient(180deg,rgba(30,104,70,.78) 0%,rgba(18,69,47,.94) 100%) !important;
    border-color:#59c28a !important;
    color:#e9fff0 !important;
}

html[data-theme="dark"] .student-shell .lgs-table input.in-wrong {
    background:linear-gradient(180deg,rgba(118,43,54,.78) 0%,rgba(76,28,38,.94) 100%) !important;
    border-color:#ee8790 !important;
    color:#ffe8ea !important;
}

html[data-theme="dark"] .student-shell .lgs-table input.in-blank {
    background:linear-gradient(180deg,rgba(54,65,82,.86) 0%,rgba(36,47,62,.96) 100%) !important;
    border-color:#708297 !important;
    color:#e2eaf5 !important;
}

html[data-theme="dark"] .student-shell .lgs-table input.in-net {
    background:linear-gradient(180deg,rgba(25,78,119,.8) 0%,rgba(17,54,86,.95) 100%) !important;
    border-color:#68b6e7 !important;
    color:#d8f3ff !important;
}

.student-demo-tour-launch {
    position:fixed; right:18px; bottom:78px; z-index:50; min-height:48px; border:0; border-radius:999px; padding:0 18px 0 12px;
    background:linear-gradient(135deg,#12345f,#1f7a55); color:#fff; font-weight:900; box-shadow:0 18px 40px rgba(10,35,66,.28);
    display:inline-flex; align-items:center; gap:10px; cursor:pointer;
}
.student-demo-tour-launch span {
    width:30px; height:30px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.24);
}
.student-demo-tour-layer { position:fixed; inset:0; z-index:11000; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, visibility .18s ease; }
.student-demo-tour-layer.is-open { opacity:1; visibility:visible; pointer-events:auto; }
body.student-demo-tour-open { overflow:hidden; }
body.student-demo-tour-open .help-fab,
body.student-demo-tour-open .student-demo-tour-launch { display:none; }
.student-demo-tour-backdrop { position:absolute; inset:0; background:rgba(6,17,33,.58); }
.student-demo-tour-spotlight {
    position:fixed; z-index:11002; border:2px solid rgba(255,255,255,.9); border-radius:18px;
    box-shadow:0 0 0 9999px rgba(6,17,33,.58),0 20px 50px rgba(7,18,36,.34),inset 0 0 0 1px rgba(31,109,77,.18);
    pointer-events:none; transition:top .28s ease,left .28s ease,width .28s ease,height .28s ease,opacity .12s ease; opacity:0;
}
.student-demo-tour-card {
    position:fixed; z-index:11003; max-width:calc(100vw - 28px); border:1px solid rgba(255,255,255,.78); border-radius:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,255,.98)); color:#12345f; padding:18px;
    box-shadow:0 28px 70px rgba(6,17,33,.36); transition:top .28s ease,left .28s ease,opacity .12s ease; max-height:calc(100vh - 32px); overflow-y:auto; opacity:0; pointer-events:none;
}
.student-demo-tour-layer.is-ready .student-demo-tour-spotlight,
.student-demo-tour-layer.is-ready .student-demo-tour-card { opacity:1; }
.student-demo-tour-layer.is-ready .student-demo-tour-card { pointer-events:auto; }
.student-demo-tour-top,.student-demo-tour-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.student-demo-tour-top span {
    min-height:30px; padding:0 10px; border-radius:999px; background:#e9f3ff; color:#28518e; display:inline-flex; align-items:center; font-size:.78rem; font-weight:900;
}
.student-demo-tour-top button {
    width:34px; height:34px; border:1px solid #d7e3ef; border-radius:999px; background:#fff; color:#173a2c; font-size:1.2rem; cursor:pointer;
}
.student-demo-tour-card h3 { margin:16px 0 8px; color:#12345f; font-size:1.32rem; line-height:1.15; }
.student-demo-tour-card p { margin:0; color:#557092; line-height:1.6; }
.student-demo-tour-dots { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0; }
.student-demo-tour-dots span { width:8px; height:8px; border-radius:999px; background:#c9d8e8; transition:width .18s ease,background .18s ease; }
.student-demo-tour-dots span.active { width:26px; background:linear-gradient(135deg,#163b73,#f18b2b); }
.student-demo-tour-actions { justify-content:flex-end; position:sticky; bottom:-18px; margin:16px -18px -18px; padding:12px 18px 18px; background:linear-gradient(180deg,rgba(246,250,255,.72),rgba(246,250,255,.98) 45%); border-radius:0 0 18px 18px; }
.student-demo-tour-primary,.student-demo-tour-secondary { min-height:38px; padding:0 14px; border-radius:999px; font-weight:900; cursor:pointer; }
.student-demo-tour-primary { border:0; background:#1f7a55; color:#fff; }
.student-demo-tour-secondary { border:1px solid #d7e3ef; background:#fff; color:#28518e; }
.student-demo-tour-secondary:disabled { opacity:.48; cursor:not-allowed; }
