﻿:root {
  --ink: #17172a;
  --muted: #81829a;
  --line: #eaebf3;
  --surface: #fff;
  --canvas: #f7f7fb;
  --accent: #5b52e5;
  --accent-light: #f0efff;
  --danger: #e55f5f;
  --danger-soft: #fff1f1;
  --green: #2f9e6d;
  --green-soft: #d8f5df;
  --blue-soft: #dbeafe;
  --locked-soft: #f1f2f5;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--canvas); color: var(--ink); font-family: Manrope, Arial, sans-serif; }
button, a { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: none; }
.is-authenticated .app-shell { display: flex; }
.login-screen { min-height: 100vh; display: none; align-items: center; justify-content: center; padding: 28px; background: radial-gradient(circle at top right, #e7e4ff 0, transparent 36%), #f8f8fe; }
.is-login .login-screen { display: flex; }
.login-card { width: min(100%, 460px); padding: 38px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 20px 60px #29264b16; }
.login-brand { display: inline-flex; margin-bottom: 40px; }
.login-copy h1 { margin: 7px 0 10px; font-size: 32px; letter-spacing: -1.4px; }
.login-copy p:not(.page-eyebrow), .login-hint { color: var(--muted); line-height: 1.6; font-size: 14px; }
.login-form { display: grid; gap: 17px; margin-top: 28px; }
.login-form label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 800; }
.login-form input { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font: inherit; outline: none; }
.login-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #5e55ef1c; }
.login-message { min-height: 20px; margin: -5px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.login-message.error { color: #ba4555; }
.login-message.success { color: #19895d; }
.login-submit { min-height: 48px; border: 0; border-radius: 11px; background: var(--accent); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.login-submit:disabled { opacity: .65; cursor: wait; }
.login-hint { margin: 24px 0 0; }
.sidebar { position: fixed; z-index: 5; display: flex; flex-direction: column; width: 268px; height: 100vh; padding: 28px 16px 18px; background: var(--surface); border-right: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 10px; padding: 0 10px; color: var(--ink); font-size: 20px; font-weight: 800; letter-spacing: 0; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--accent); color: #fff; font-size: 19px; }
.role-switcher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 32px 4px 22px; padding: 4px; background: var(--canvas); border-radius: 8px; }
.is-authenticated .role-switcher { display: none; }
.role-button { border: 0; border-radius: 6px; background: transparent; padding: 8px 3px; color: var(--muted); font-size: 11px; font-weight: 700; }
.role-button.active { background: #fff; color: var(--accent); box-shadow: 0 1px 4px #1f21401c; }
nav { display: grid; gap: 5px; }
.nav-label { margin: 0 11px 8px; color: #a1a2b4; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nav-link { display: flex; align-items: center; gap: 12px; min-height: 45px; padding: 0 11px; border-radius: 8px; color: #68697f; font-size: 13px; font-weight: 700; text-decoration: none; transition: .18s ease; }
.nav-link:hover { background: #f6f6fc; color: var(--accent); }
.nav-link.active { background: var(--accent-light); color: var(--accent); }
.nav-icon { width: 20px; font-size: 19px; line-height: 1; text-align: center; }
.sidebar-bottom { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.profile-button { display: flex; align-items: center; width: 100%; gap: 10px; border: 0; background: transparent; padding: 9px 7px; text-align: left; }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: #dedbff; color: #5146d8; font-size: 11px; font-weight: 800; }
.profile-copy { display: grid; gap: 2px; flex: 1; min-width: 0; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--muted); font-size: 10px; }
.chevron { color: var(--muted); font-size: 10px; font-weight: 800; }
.main-content { width: 100%; min-height: 100vh; margin-left: 268px; }
.topbar { display: flex; align-items: center; height: 78px; padding: 0 44px; background: rgba(255,255,255,.82); border-bottom: 1px solid var(--line); }
.breadcrumb { color: #898a9f; font-size: 13px; font-weight: 700; }
.notification { position: relative; margin-left: auto; border: 0; background: transparent; color: #4e4f68; font-size: 27px; }
.notification span { position: absolute; top: 5px; right: 6px; width: 6px; height: 6px; border-radius: 50%; background: #ee6a63; }
.menu-toggle { display: none; }
.page { min-height: calc(100vh - 78px); padding: 42px clamp(24px, 5vw, 72px) 56px; }
.page-header { margin-bottom: 30px; }
.page-eyebrow { margin: 0 0 12px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0; max-width: 860px; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; letter-spacing: 0; }

.student-dashboard-grid { display: grid; grid-template-columns: minmax(260px, 1.05fr) minmax(320px, 1.6fr) minmax(260px, .95fr); gap: 16px; align-items: stretch; }
.dashboard-card { min-height: 210px; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 14px 36px #22233d0a; }
.card-label { display: inline-flex; margin-bottom: 18px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-card h2 { margin: 0; font-size: clamp(23px, 2vw, 32px); line-height: 1.12; letter-spacing: 0; }
.dashboard-card p { margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.profile-card { display: flex; flex-direction: column; justify-content: flex-end; min-height: 282px; background: linear-gradient(145deg, #ffffff 0%, #f0efff 100%); }
.teammates-card { min-height: 282px; }
.card-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.count-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 26px; padding: 0 9px; border-radius: 999px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; }
.teammate-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.teammate-list li { display: flex; align-items: center; gap: 10px; color: #393a52; font-size: 14px; font-weight: 700; }
.teammate-list span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #f2f3f8; color: #696b82; font-size: 11px; font-weight: 800; }
.schedule-card { grid-row: span 2; min-height: 496px; }
.schedule-list { display: grid; gap: 10px; }
.schedule-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfbfe; }
.schedule-row strong { display: block; font-size: 14px; }
.schedule-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.schedule-row span { flex: 0 0 auto; color: var(--ink); font-size: 13px; font-weight: 800; }
.lesson-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.lesson-link { display: grid; gap: 6px; min-height: 86px; padding: 14px; border: 1px solid #dcdff0; border-radius: 8px; background: #fff; color: var(--ink); text-decoration: none; transition: .18s ease; }
.lesson-link:hover { border-color: var(--accent); transform: translateY(-1px); }
.lesson-link span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lesson-link strong { font-size: 14px; line-height: 1.3; }
.last-lesson-card { min-height: 198px; }
.compact-links { margin-top: 18px; padding-top: 0; border-top: 0; }
.homework-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 198px; border-color: #d9ecd9; background: var(--green-soft); }
.deadline-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 16px; border-top: 1px solid #cdebdc; }
.deadline-line span { color: #668171; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.deadline-line strong { color: var(--green); font-size: 14px; }

.topics-page { display: block; }
.topics-layout { display: grid; gap: 18px; max-width: 1120px; }
.topics-section { padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 14px 36px #22233d0a; }
.topics-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.topics-section-head h2 { margin: 0; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; }
.topics-section-head > span { flex: 0 0 auto; color: var(--muted); font-size: 13px; font-weight: 800; }
.topics-list { display: grid; gap: 10px; }
.topic-item { border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.topic-item summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto 24px; align-items: center; gap: 14px; min-height: 68px; padding: 12px 16px; cursor: pointer; list-style: none; }
.topic-item summary::-webkit-details-marker, .subtopic-item summary::-webkit-details-marker { display: none; }
.topic-item summary::after { content: '⌄'; color: var(--muted); font-size: 18px; }
.topic-item[open] > summary::after { transform: rotate(180deg); }
.topic-item summary strong { min-width: 0; font-size: 16px; line-height: 1.3; }
.topic-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #f2f3f8; color: var(--ink); font-size: 13px; font-weight: 800; }
.status-badge { justify-self: end; padding: 8px 10px; border-radius: 999px; color: #17172a; font-size: 11px; font-weight: 800; white-space: nowrap; }
.status-badge.done { background: var(--green-soft); }
.status-badge.inProgress { background: var(--blue-soft); }
.status-badge.locked { background: var(--locked-soft); color: #8a8c99; }
.topic-item.locked summary strong, .topic-item.locked .topic-number { color: #a0a2ad; }
.topic-item.locked .topic-number { background: #f4f4f6; }
.subtopic-list { display: grid; gap: 8px; padding: 0 16px 16px 72px; }
.subtopic-item { border: 1px solid #ececf4; border-radius: 8px; background: #fbfbfe; }
.subtopic-item summary { padding: 13px 14px; color: #3b3c52; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.subtopic-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 14px 14px; }
.subtopic-item.locked { border-color: #ececf4; background: #f4f4f6; }
.subtopic-item.locked summary { color: #9b9da8; }
.subtopic-links a, .subtopic-links span { padding: 12px; border: 1px solid #dfe1ee; border-radius: 8px; background: #fff; color: var(--accent); font-size: 13px; font-weight: 800; text-decoration: none; }
.subtopic-links span { display: grid; gap: 4px; }
.subtopic-links span b { font-size: 13px; }
.subtopic-links a:hover { border-color: var(--accent); }
.subtopic-links.locked span { border-color: #e0e1e8; background: #eeeef2; color: #9b9da8; }
.subtopic-links.locked span b { color: #8c8e99; }

.homework-page { display: block; max-width: 1120px; }
.homework-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.homework-status-card { display: flex; flex-direction: column; min-height: 310px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-align: left; box-shadow: 0 14px 36px #22233d0a; transition: .18s ease; }
.homework-status-card:hover { transform: translateY(-3px); border-color: var(--accent); box-shadow: 0 18px 38px #22233d14; }
.homework-status-card.overdue { border-color: #f0d1d1; background: #fffafa; }
.homework-status-card.completed { border-color: #d8eadb; background: #fbfffc; }
.homework-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.homework-card-top .card-label { margin-bottom: 0; }
.homework-count { display: grid; place-items: center; min-width: 34px; height: 30px; padding: 0 9px; border-radius: 999px; background: var(--accent-light); color: var(--accent); font-size: 13px; font-weight: 800; }
.homework-status-card.overdue .homework-count { background: var(--danger-soft); color: #bd4a4a; }
.homework-status-card.completed .homework-count { background: var(--green-soft); color: #257c55; }
.homework-status-card h2 { margin: auto 0 10px; font-size: clamp(24px, 2.2vw, 31px); line-height: 1.12; }
.homework-status-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.homework-open { display: flex; align-items: center; justify-content: space-between; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--accent); font-size: 13px; font-weight: 800; }
.homework-status-card.overdue .homework-open { color: #bd4a4a; }
.homework-status-card.completed .homework-open { color: #257c55; }
.homework-open b { font-size: 19px; line-height: 1; }
.homework-list-page { display: grid; gap: 16px; max-width: 980px; }
.back-link { justify-self: start; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 13px; font-weight: 800; }
.back-link:hover { text-decoration: underline; }
.homework-list-section { padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 14px 36px #22233d0a; }
.homework-list-section.overdue { border-color: #f0d1d1; }
.homework-list-section.completed { border-color: #d8eadb; }
.homework-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.homework-list-head .card-label { margin-bottom: 9px; }
.homework-list-head h2 { margin: 0; font-size: clamp(24px, 2.5vw, 32px); }
.homework-list-head p { max-width: 320px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.assignment-list { display: grid; gap: 10px; margin-top: 16px; }
.assignment-card { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 17px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.assignment-main { display: flex; align-items: flex-start; gap: 13px; min-width: 0; }
.assignment-dot { flex: 0 0 auto; width: 11px; height: 11px; margin-top: 5px; border-radius: 50%; background: var(--accent); }
.overdue .assignment-dot { background: var(--danger); }
.completed .assignment-dot { background: var(--green); }
.assignment-card h3 { margin: 0; font-size: 15px; line-height: 1.35; }
.assignment-card p, .assignment-meta span { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.35; }
.assignment-meta { display: grid; flex: 0 0 auto; gap: 4px; text-align: right; }
.assignment-meta strong { color: var(--ink); font-size: 12px; }
.overdue .assignment-meta strong { color: #bd4a4a; }
.completed .assignment-meta strong { color: #257c55; }
.trainer-page { display: block; }
.trainer-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; max-width: 1240px; align-items: start; }
.trainer-topics { max-width: none; }
.trainer-section { box-shadow: 0 14px 36px #22233d0a; }
.trainer-topic summary { grid-template-columns: 42px minmax(0, 1fr) 24px; }
.trainer-topic summary::after { grid-column: 3; }
.trainer-topic summary:has(.quantity-control) { grid-template-columns: 42px minmax(0, 1fr) auto 24px; }
.trainer-topic summary:has(.quantity-control)::after { grid-column: 4; }
.trainer-subtopic-list { gap: 8px; }
.trainer-subtopic { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 10px 14px; border: 1px solid #ececf4; border-radius: 8px; background: #fbfbfe; color: #3b3c52; font-size: 14px; }
.trainer-subtopic strong { font-size: 14px; line-height: 1.35; }
.trainer-actions { position: sticky; top: 24px; }
.trainer-actions-inner { display: grid; gap: 14px; padding: 22px; border: 1px solid #dedcf6; border-radius: 8px; background: #fff; box-shadow: 0 14px 36px #22233d0a; }
.trainer-actions .card-label { margin: 0; }
.trainer-actions h2 { margin: 0; font-size: 25px; line-height: 1.15; }
.trainer-actions p { margin: 0 0 6px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.trainer-primary, .trainer-secondary, .trainer-cancel { width: 100%; min-height: 58px; border-radius: 8px; padding: 16px 18px; font-size: 15px; font-weight: 800; text-align: left; }
.trainer-primary { border: 1px solid var(--accent); background: var(--accent); color: #fff; }
.trainer-primary:hover { background: #4b42d4; }
.trainer-secondary { border: 1px solid #dcdff0; background: #fff; color: var(--ink); }
.trainer-secondary:hover { border-color: var(--accent); color: var(--accent); }
.trainer-cancel { border: 0; background: transparent; color: var(--muted); text-align: center; }
.trainer-cancel:hover { color: var(--ink); text-decoration: underline; }
.quantity-control { display: grid; grid-template-columns: 30px 25px 30px; align-items: center; gap: 5px; flex: 0 0 auto; }
.quantity-control button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d9dbe8; border-radius: 7px; background: #fff; color: var(--accent); font-size: 19px; line-height: 1; }
.quantity-control button:hover { border-color: var(--accent); background: var(--accent-light); }
.quantity-control b { text-align: center; font-size: 14px; }
.trainer-variant-page { display: grid; gap: 16px; max-width: 980px; }
.trainer-variant-card { padding: 24px; border: 1px solid #dedcf6; border-radius: 8px; background: #fff; box-shadow: 0 14px 36px #22233d0a; }
.trainer-variant-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.trainer-variant-head .card-label { margin-bottom: 9px; }
.trainer-variant-head h2 { margin: 0; font-size: clamp(26px, 3vw, 36px); }
.trainer-variant-card > p { margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.variant-status { padding: 8px 10px; border-radius: 999px; background: var(--green-soft); color: #257c55; font-size: 11px; font-weight: 800; white-space: nowrap; }
.variant-task-list { display: grid; gap: 9px; margin-top: 22px; }
.variant-task-list article { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfbfe; }
.variant-task-list article > span { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 7px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; }
.variant-task-list h3 { margin: 0; font-size: 14px; }
.variant-task-list p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.task-statement { display: grid; gap: 10px; }
.task-diagram { display: block; width: min(100%, 360px); height: 240px; border: 1px solid #e1e0ee; border-radius: 10px; background: #fff; }
.task-diagram a { display: inline-block; padding: 12px; color: var(--accent); font-weight: 700; }
.task-diagram-link { display: inline-flex; width: fit-content; margin-top: 2px; color: var(--accent); font-size: 12px; font-weight: 800; }
.task-vector-diagram { width: min(100%, 340px); padding: 10px; border: 1px solid #e1e0ee; border-radius: 10px; background: #fff; }
.task-vector-diagram svg { display: block; width: 100%; height: auto; }
.task-vector-diagram text { fill: #25233e; font-size: 12px; font-weight: 700; }
.task-vector-diagram .vector-tick { fill: #817d95; font-size: 8px; font-weight: 600; }
.task-vector-diagram .vector-label { font-size: 11px; fill: #25233e; }
.task-vector-diagram .vector-origin-label { fill: #625d76; font-size: 9px; font-weight: 600; }
.vector-grid path { stroke: #deddea; stroke-width: 1; }
.vector-axis { stroke: #625d76; stroke-width: 1.7; fill: none; }
.vector-line { fill: none; stroke: #5c4fea; stroke-width: 3; }
.vector-1 { stroke: #139c70; }.vector-2 { stroke: #e0754e; }
.task-vector-diagram marker path { fill: #5c4fea; }
.task-vector-diagram .vector-endpoint { fill: #5c4fea; stroke: #fff; stroke-width: 1.8; }
.task-vector-diagram .vector-1.vector-endpoint { fill: #139c70; }.task-vector-diagram .vector-2.vector-endpoint { fill: #e0754e; }
.task-vector-diagram .vector-origin { fill: #25233e; }
.geometry-shape { fill: #f0efff; stroke: #5c4fea; stroke-width: 2; }
.geometry-line { fill: none; stroke: #928adc; stroke-width: 1.4; }
.progress-page { display: grid; gap: 18px; max-width: 1120px; }
.progress-summary-grid { display: grid; grid-template-columns: 1.12fr 1fr 1fr; gap: 16px; }
.progress-summary-card { display: grid; align-content: start; min-height: 250px; padding: 23px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 14px 36px #22233d0a; }
.progress-summary-card.completion { background: linear-gradient(145deg, #fff 0%, #f0efff 100%); }
.progress-summary-card.accuracy { background: #fafffc; border-color: #d8eadb; }
.progress-summary-card.trainer-progress { background: #fbfbfe; }
.progress-summary-card .card-label { margin-bottom: 26px; }
.progress-number { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.progress-number strong { font-size: clamp(36px, 4vw, 52px); line-height: 1; }
.progress-number span { color: var(--muted); font-size: 13px; font-weight: 700; }
.progress-summary-card p { margin: 20px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.progress-summary-card p b { color: var(--ink); }
.progress-bar { height: 9px; margin-top: 26px; overflow: hidden; border-radius: 99px; background: #e5e4fb; }
.progress-bar span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.progress-split { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 14px; color: var(--muted); font-size: 12px; }
.progress-split b { color: var(--ink); }
.progress-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.progress-navigation button { display: grid; grid-template-columns: 40px minmax(0, 1fr) 24px; align-items: center; gap: 14px; min-height: 145px; padding: 21px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 14px 36px #22233d0a; transition: .18s ease; }
.progress-navigation button:hover { border-color: var(--accent); transform: translateY(-2px); }
.progress-navigation button > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; }
.progress-navigation h2 { margin: 0; font-size: 19px; }
.progress-navigation p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.progress-navigation button > b { color: var(--accent); font-size: 21px; }
.progress-detail-page { display: grid; gap: 16px; max-width: 1180px; }
.progress-table-card { padding: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 14px 36px #22233d0a; }
.progress-table-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.progress-table-head .card-label { margin-bottom: 9px; }
.progress-table-head h2 { margin: 0; font-size: clamp(24px, 2.5vw, 32px); }
.progress-table-head p { max-width: 300px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.progress-table-wrap { overflow-x: auto; margin-top: 18px; }
.progress-table { width: 100%; min-width: 900px; border-collapse: collapse; text-align: left; }
.progress-table th { padding: 0 12px 11px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.progress-table td { padding: 13px 12px; border-top: 1px solid var(--line); color: #46475a; font-size: 13px; }
.progress-table td:first-child { color: var(--ink); }
.accuracy-pill { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: var(--green-soft); color: #257c55; font-size: 11px; font-weight: 800; }
.monthly-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.monthly-cards article { padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: #fbfbfe; }
.monthly-cards h3 { margin: 0 0 15px; font-size: 17px; }
.monthly-cards article > div { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.monthly-cards span { color: var(--muted); font-size: 12px; }
.monthly-cards b { font-size: 12px; }
.monthly-cards strong { min-width: 42px; padding: 6px; border-radius: 999px; background: var(--accent-light); color: var(--accent); font-size: 11px; text-align: center; }
.block-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(150px, auto); gap: 16px; align-items: stretch; }
.layout-block { display: flex; flex-direction: column; justify-content: space-between; min-height: 154px; padding: 20px; border: 1px dashed #cfd1df; border-radius: 8px; background: #fff; }
.layout-block.medium { grid-column: span 2; }
.layout-block.large { grid-column: span 2; grid-row: span 2; min-height: 324px; }
.layout-block.wide { grid-column: 1 / -1; min-height: 172px; }
.layout-block.danger { border-color: #f0b9b9; background: var(--danger-soft); }
.block-kicker { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.layout-block h2 { margin: 22px 0 0; max-width: 420px; font-size: clamp(20px, 2vw, 28px); line-height: 1.16; letter-spacing: 0; }
.layout-block.danger h2 { color: #a93636; }
.toast { position: fixed; right: 25px; bottom: 25px; z-index: 10; transform: translateY(110px); padding: 12px 17px; border-radius: 8px; background: #25243c; color: #fff; box-shadow: 0 10px 30px #1b1a3e33; font-size: 12px; font-weight: 700; opacity: 0; transition: .25s ease; }
.toast.show { transform: translateY(0); opacity: 1; }

@media (max-width: 1180px) {
  .student-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .schedule-card { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 1040px) {
  .block-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-block.medium, .layout-block.large { grid-column: span 1; }
  .layout-block.wide { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .login-screen { padding: 16px; }
  .login-card { padding: 27px 23px; border-radius: 18px; }
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 10px 0 30px #22222d15; }
  .sidebar.open { transform: translateX(0); }
  .main-content { margin-left: 0; }
  .topbar { height: 66px; padding: 0 19px; }
  .menu-toggle { display: block; margin-right: 16px; border: 0; background: transparent; color: var(--ink); font-size: 21px; }
  .page { min-height: calc(100vh - 66px); padding: 34px 20px 42px; }
  .student-dashboard-grid, .block-grid, .homework-status-grid { grid-template-columns: 1fr; }
  .schedule-card { grid-column: auto; }
  .lesson-links, .subtopic-links { grid-template-columns: 1fr; }
  .topic-item summary { grid-template-columns: 34px minmax(0, 1fr); }
  .topic-item summary::after { display: none; }
  .status-badge { grid-column: 1 / -1; justify-self: start; }
  .subtopic-list { padding-left: 16px; }
  .topics-section { padding: 16px; }
  .topics-section-head, .homework-list-head { display: grid; }
  .assignment-card { align-items: flex-start; flex-direction: column; gap: 10px; }
  .assignment-meta { text-align: left; }
  .layout-block, .layout-block.medium, .layout-block.large, .layout-block.wide { grid-column: 1; min-height: 142px; }
}

@media (max-width: 1040px) {
  .trainer-layout { grid-template-columns: 1fr; }
  .trainer-actions { position: static; }
}
@media (max-width: 760px) {
  .trainer-topic summary, .trainer-topic summary:has(.quantity-control) { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .trainer-topic summary::after, .trainer-topic summary:has(.quantity-control)::after { display: none; }
  .trainer-subtopic { align-items: flex-start; flex-direction: column; }
  .trainer-variant-head { display: grid; }
}


@media (max-width: 1040px) {
  .progress-summary-grid { grid-template-columns: 1fr 1fr; }
  .progress-summary-card.completion { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .progress-summary-grid, .progress-navigation, .monthly-cards { grid-template-columns: 1fr; }
  .progress-summary-card.completion { grid-column: auto; }
  .progress-table-card { padding: 18px; }
  .progress-table-head { display: grid; }
}

/* Единый UX/UI-слой для ученического кабинета */
:root {
  --ink: #202033;
  --muted: #74758b;
  --line: #e7e8f1;
  --canvas: #f8f8fc;
  --accent: #6256e8;
  --accent-light: #f0efff;
  --green: #25885d;
  --green-soft: #dcf6e7;
  --blue-soft: #e6edff;
}

body { background: radial-gradient(circle at 85% 3%, #eeeefe 0, transparent 24rem), var(--canvas); }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #bcb7ff; outline-offset: 3px; }
.sidebar { width: 276px; padding: 25px 15px 17px; border-right-color: #e9e9f3; box-shadow: 8px 0 30px #27273f05; }
.brand { padding: 0 12px; font-size: 19px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; box-shadow: 0 8px 18px #6256e840; }
.role-switcher { margin: 29px 5px 24px; padding: 5px; border-radius: 12px; }
.role-button { min-height: 37px; border-radius: 9px; }
.role-button.active { box-shadow: 0 3px 10px #29255212; }
.nav-link { min-height: 47px; padding: 0 12px; border-radius: 11px; }
.nav-link.active { box-shadow: inset 3px 0 0 var(--accent); }
.sidebar-bottom { padding: 15px 3px 0; }
.profile-button { padding: 10px 8px; border-radius: 12px; }
.profile-button:hover { background: #f7f7fc; }
.main-content { margin-left: 276px; }
.topbar { position: sticky; top: 0; z-index: 4; height: 74px; padding: 0 clamp(24px, 5vw, 72px); background: #fffffff2; backdrop-filter: blur(14px); }
.breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.breadcrumb::before { content: 'Учебная платформа'; color: #adaebe; font-size: 11px; font-weight: 700; }
.page { padding-top: 38px; }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.page-eyebrow { display: inline-flex; align-items: center; min-height: 26px; margin-bottom: 10px; padding: 0 9px; border-radius: 999px; background: var(--accent-light); letter-spacing: .06em; }
h1 { font-size: clamp(32px, 3.8vw, 48px); letter-spacing: -.035em; }

.dashboard-card, .topics-section, .homework-status-card, .homework-list-section, .trainer-actions-inner, .trainer-variant-card, .progress-summary-card, .progress-navigation button, .progress-table-card { border-radius: 16px; box-shadow: 0 12px 30px #25253a0a; }
.dashboard-card { padding: 24px; }
.dashboard-card:hover { box-shadow: 0 16px 35px #25253a10; }
.card-label { margin-bottom: 16px; letter-spacing: .075em; }
.profile-card { background: linear-gradient(145deg, #fff 0%, #f1f0ff 100%); }
.homework-card { border-color: #d3ebdc; background: linear-gradient(145deg, #effcf3 0%, #dff7e9 100%); }
.schedule-row { padding: 15px; border-radius: 12px; background: #fcfcff; }
.lesson-link { border-radius: 12px; }

.topics-layout { gap: 20px; }
.topics-section { padding: 24px; }
.topics-section-head { margin-bottom: 18px; padding-bottom: 18px; }
.topics-list { gap: 9px; }
.topic-item { border-radius: 13px; transition: border-color .18s ease, box-shadow .18s ease; }
.topic-item:hover { border-color: #d9d7f4; }
.topic-item[open] { border-color: #d7d5f7; box-shadow: 0 8px 20px #5f55d80a; }
.topic-item[open] > summary { background: #fbfaff; }
.topic-item summary { min-height: 70px; padding: 13px 17px; }
.topic-number { width: 36px; height: 36px; border-radius: 10px; background: #f2f2fa; }
.status-badge { border-radius: 8px; }
.subtopic-list { gap: 9px; padding-bottom: 18px; }
.subtopic-item, .trainer-subtopic { border-radius: 10px; }
.subtopic-item summary { padding: 14px; }
.subtopic-links a, .subtopic-links span { border-radius: 9px; }

.homework-status-grid { gap: 18px; }
.homework-status-card { min-height: 325px; padding: 25px; border-radius: 16px; }
.homework-status-card:hover { box-shadow: 0 18px 38px #24243712; }
.homework-open { margin-top: 30px; }
.homework-list-section { padding: 25px; }
.assignment-card { padding: 18px; border-radius: 12px; transition: .18s ease; }
.assignment-card:hover { border-color: #d7d5f7; transform: translateX(2px); }

.trainer-layout { gap: 24px; }
.trainer-actions { top: 98px; }
.trainer-actions-inner { gap: 16px; padding: 24px; border-color: #dcdafa; background: linear-gradient(155deg, #fff 0%, #f5f4ff 100%); }
.trainer-primary, .trainer-secondary { border-radius: 12px; }
.trainer-primary { box-shadow: 0 10px 18px #6256e82e; }
.trainer-secondary { background: #ffffffbf; }
.quantity-control button { border-radius: 9px; }
.trainer-subtopic { min-height: 58px; padding: 12px 15px; }
.trainer-variant-card { border-color: #dcdafa; }
.variant-task-list article { border-radius: 11px; }

.progress-page { gap: 20px; }
.progress-summary-grid { gap: 18px; }
.progress-summary-card { min-height: 260px; padding: 25px; }
.progress-summary-card.completion { background: linear-gradient(145deg, #fff 0%, #efefff 100%); }
.progress-summary-card.accuracy { background: linear-gradient(145deg, #fff 0%, #effcf4 100%); }
.progress-summary-card.mock-exam-progress { border-color: #dbe4f5; background: linear-gradient(145deg, #fff 0%, #eef5ff 100%); }.mock-exam-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid #d8e5f5; color: #62738a; font-size: 10px; font-weight: 700; }.mock-exam-meta i { padding: 5px 7px; border-radius: 999px; background: #dcecff; color: #3470bf; font-size: 9px; font-style: normal; font-weight: 800; }
.progress-bar { height: 10px; }
.progress-navigation { gap: 18px; }
.progress-navigation button { min-height: 152px; border-radius: 16px; }
.progress-navigation button:hover { box-shadow: 0 16px 35px #25253a12; }
.progress-table-card { padding: 26px; }
.progress-table tbody tr { transition: background .14s ease; }
.progress-table tbody tr:hover { background: #fafaff; }
.progress-period-tabs { display: flex; gap: 7px; margin-top: 17px; }.progress-period-tabs button { min-height: 36px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #68697b; font-size: 11px; font-weight: 800; }.progress-period-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.progress-numbers-table { min-width: 650px; }.progress-period-state { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #f1f1f5; color: #747586; font-size: 10px; font-weight: 800; }
.monthly-cards article { border-radius: 12px; }
.back-link { display: inline-flex; align-items: center; min-height: 36px; padding: 0 11px; border-radius: 9px; background: #efefff; }
.back-link:hover { background: #e6e4ff; text-decoration: none; }
.toast { border-radius: 12px; }

@media (max-width: 760px) {
  .sidebar { width: 276px; }
  .main-content { margin-left: 0; }
  .topbar { height: 66px; padding: 0 20px; }
  .breadcrumb::before { display: none; }
  .page { padding-top: 31px; }
  .page-header { display: block; margin-bottom: 24px; }
  .page-eyebrow { margin-bottom: 9px; }
  h1 { font-size: 34px; }
  .dashboard-card, .topics-section, .homework-status-card, .homework-list-section, .progress-summary-card, .progress-table-card { border-radius: 14px; }
  .topics-section, .progress-table-card { padding: 18px; }
  .progress-period-tabs { overflow-x: auto; padding-bottom: 2px; }
  .topic-item summary { padding: 13px; }
  .subtopic-list { padding-left: 13px; padding-right: 13px; }
  .trainer-actions-inner { border-radius: 14px; }
}

/* Управление учениками для преподавателя */
.admin-students-page, .admin-roster-page { display: grid; gap: 16px; max-width: 1080px; }
.teacher-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.teacher-card { display: grid; gap: 25px; min-height: 246px; padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.teacher-card.unassigned-card { background: linear-gradient(145deg, #fff 0%, #f7f7fb 100%); border-style: dashed; }
.teacher-card-head { display: flex; align-items: center; gap: 14px; }
.teacher-avatar, .student-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; background: var(--accent-light); color: var(--accent); font-size: 13px; font-weight: 800; }
.teacher-card .card-label { margin: 0 0 5px; }
.teacher-card h2 { margin: 0; font-size: 23px; line-height: 1.2; }
.teacher-card > p { margin: -8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.teacher-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.teacher-actions button, .unassigned-open { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 12px 15px; border: 1px solid #dfdff0; border-radius: 11px; background: #fbfbff; color: var(--ink); font-size: 13px; font-weight: 800; text-align: left; transition: .18s ease; }
.teacher-actions button:hover, .unassigned-open:hover { border-color: var(--accent); background: var(--accent-light); color: var(--accent); }
.teacher-actions b, .unassigned-open b { display: grid; place-items: center; min-width: 26px; height: 26px; border-radius: 999px; background: #e9e8ff; color: var(--accent); font-size: 12px; }
.unassigned-open { width: 100%; }
.admin-roster-section { padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.admin-roster-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.admin-roster-head .card-label { margin-bottom: 9px; }
.admin-roster-head h2 { margin: 0; font-size: clamp(24px, 2.5vw, 32px); }
.admin-roster-head p { max-width: 350px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.admin-student-list, .admin-group-list { display: grid; gap: 10px; margin-top: 18px; }
.admin-student-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 75px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: .18s ease; }
.admin-student-card:hover { border-color: #d5d3f7; background: #fcfcff; }
.admin-student-card .student-avatar { width: 42px; height: 42px; border-radius: 12px; font-size: 11px; }
.admin-student-card h3 { margin: 0; font-size: 14px; }
.admin-student-card p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.admin-student-card button { padding: 10px 12px; border: 1px solid #dfdff0; border-radius: 9px; background: #fff; color: var(--accent); font-size: 12px; font-weight: 800; }
.admin-student-card button:hover { border-color: var(--accent); background: var(--accent-light); }
.admin-student-card button b { margin-left: 7px; font-size: 15px; }
.admin-group-item { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.admin-group-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 16px; cursor: pointer; list-style: none; }
.admin-group-item summary::-webkit-details-marker { display: none; }
.admin-group-item summary > span { color: var(--muted); font-size: 19px; }
.admin-group-item[open] summary > span { transform: rotate(180deg); }
.admin-group-item[open] > summary { background: #fbfaff; border-bottom: 1px solid var(--line); }
.admin-group-item h3 { margin: 0; font-size: 15px; }
.admin-group-item p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.admin-group-students { display: grid; gap: 9px; padding: 12px 16px 16px; background: #fcfcff; }
.viewed-student-banner { display: flex; align-items: center; gap: 13px; padding: 16px 18px; border: 1px solid #dddafa; border-radius: 14px; background: linear-gradient(145deg, #fff 0%, #f4f3ff 100%); }
.viewed-student-banner .student-avatar { width: 44px; height: 44px; border-radius: 13px; }
.viewed-student-banner .card-label { margin: 0 0 4px; }
.viewed-student-banner h2 { margin: 0; font-size: 18px; }
.viewed-student-banner p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 760px) {
  .teacher-directory { grid-template-columns: 1fr; }
  .teacher-card, .admin-roster-section { padding: 19px; border-radius: 14px; }
  .admin-roster-head { display: grid; }
  .admin-student-card { grid-template-columns: 40px minmax(0, 1fr); }
  .admin-student-card button { grid-column: 1 / -1; width: 100%; }
  .admin-group-students { padding: 10px; }
}
.admin-student-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.admin-student-card .assign-teacher { border-color: #d7eadf; background: #f4fcf7; color: #257c55; }
.admin-student-card .assign-teacher:hover { border-color: #25885d; background: #e5f7ec; }
.admin-progress-back { justify-self: start; }

@media (max-width: 760px) {
  .admin-student-actions { grid-column: 1 / -1; display: grid; width: 100%; }
  .admin-student-actions button { width: 100%; }
}

/* Банк заданий преподавателя */
.admin-task-bank-page { display: grid; gap: 18px; max-width: 1120px; }
.admin-task-bank-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border: 1px solid #dfdcfa; border-radius: 14px; background: linear-gradient(145deg, #fff 0%, #f4f3ff 100%); }
.admin-task-bank-intro .card-label { margin: 0; }
.admin-task-bank-intro p { margin: 0; color: var(--muted); font-size: 13px; }
.admin-task-section { box-shadow: 0 12px 30px #25253a0a; }
.admin-task-topic summary { grid-template-columns: 42px minmax(0, 1fr) 24px; }
.admin-task-topic summary::after { grid-column: 3; }
.admin-task-subtopic-list { gap: 8px; }
.admin-task-subtopic { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 12px 14px; border: 1px solid #e9e9f2; border-radius: 10px; background: #fbfbfe; color: #3b3c52; font-size: 14px; font-weight: 700; text-align: left; transition: .18s ease; }
.admin-task-subtopic:hover { border-color: var(--accent); background: var(--accent-light); color: var(--accent); transform: translateX(2px); }
.admin-task-subtopic b { font-size: 18px; line-height: 1; }
.admin-task-list-page { display: grid; gap: 16px; max-width: 920px; }
.admin-task-list-section { padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.admin-task-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.admin-task-list-head .card-label { margin-bottom: 9px; }
.admin-task-list-head h2 { margin: 0; font-size: clamp(24px, 2.7vw, 34px); }
.admin-task-list-head > span { padding: 8px 10px; border-radius: 999px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; white-space: nowrap; }
.task-bank-list { display: grid; gap: 10px; margin-top: 18px; }
.task-bank-item { display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbfbfe; }
.task-bank-item:hover { border-color: #d5d3f7; background: #fff; }
.task-bank-item > span { display: grid; place-items: center; flex: 0 0 auto; min-width: 42px; height: 34px; padding: 0 8px; border-radius: 9px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; }
.task-bank-item h3 { margin: 0; font-size: 14px; }
.task-bank-item p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 760px) {
  .admin-task-bank-intro, .admin-task-list-head { display: grid; }
  .admin-task-list-section { padding: 19px; border-radius: 14px; }
  .admin-task-topic summary { grid-template-columns: 34px minmax(0, 1fr); }
  .admin-task-topic summary::after { display: none; }
}

/* Стартовая страница учеников текущего преподавателя */
.admin-student-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.admin-student-section-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 12px 30px #25253a0a; transition: .18s ease; }
.admin-student-section-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 18px 38px #25253a12; }
.admin-student-section-card.groups { background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }
.section-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; background: var(--accent-light); color: var(--accent); font-size: 22px; }
.admin-student-section-card .card-label { margin-bottom: 8px; }
.admin-student-section-card h2 { margin: 0; font-size: clamp(25px, 2.7vw, 34px); }
.admin-student-section-card p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.section-count { display: grid; place-items: center; align-content: center; gap: 8px; min-width: 44px; height: 72px; border-radius: 12px; background: #f7f7fc; color: var(--accent); font-size: 18px; font-weight: 800; }
.section-count b { font-size: 16px; line-height: 1; }

@media (max-width: 760px) {
  .admin-student-sections { grid-template-columns: 1fr; }
  .admin-student-section-card { min-height: 180px; padding: 20px; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 13px; }
  .section-icon { width: 46px; height: 46px; border-radius: 13px; }
}

/* Рабочая панель преподавателя */
.teacher-dashboard-page { display: grid; gap: 18px; max-width: 1180px; }
.teacher-day-overview { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 25px; border: 1px solid #dddafa; border-radius: 16px; background: linear-gradient(135deg, #fff 0%, #f0efff 100%); }
.teacher-day-overview .card-label { margin-bottom: 9px; }
.teacher-day-overview h2 { margin: 0; font-size: clamp(25px, 2.7vw, 35px); }
.teacher-day-overview p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.teacher-main-action { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; min-height: 52px; padding: 14px 17px; border: 1px solid var(--accent); border-radius: 11px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 800; }
.teacher-main-action:hover { background: #5044d5; }
.teacher-main-action b { font-size: 18px; }
.teacher-dashboard-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; }
.teacher-panel { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.teacher-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.teacher-panel-head .card-label { margin-bottom: 7px; }
.teacher-panel-head h2 { margin: 0; font-size: 20px; }
.teacher-panel-head button { padding: 7px 0; border: 0; background: transparent; color: var(--accent); font-size: 12px; font-weight: 800; }
.today-count { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 999px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-weight: 800; }
.teacher-lesson-list { display: grid; gap: 10px; margin-top: 18px; }
.teacher-lesson-list article { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fcfcff; }
.teacher-lesson-list article > span { color: var(--accent); font-size: 12px; font-weight: 800; }
.teacher-lesson-list h3, .teacher-review-list h3 { margin: 0; font-size: 14px; }
.teacher-lesson-list p, .teacher-review-list p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.attention-panel { background: linear-gradient(145deg, #fff 0%, #fffaf9 100%); border-color: #f0ded7; }
.attention-list { display: grid; gap: 8px; margin-top: 13px; }
.attention-list button { display: grid; grid-template-columns: 30px minmax(0, 1fr) 16px; gap: 10px; align-items: center; padding: 9px 0; border: 0; border-bottom: 1px solid #f0ecea; background: transparent; color: var(--ink); text-align: left; }
.attention-list button:last-child { border-bottom: 0; }
.attention-list button:hover { color: var(--accent); }
.attention-list b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #fff0ec; color: #c45643; font-size: 12px; }
.attention-list span { font-size: 12px; font-weight: 700; line-height: 1.35; }
.attention-list i { color: var(--muted); font-size: 16px; font-style: normal; }
.teacher-review-list { display: grid; gap: 10px; margin-top: 18px; }
.teacher-review-list article { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.teacher-review-list .student-avatar { width: 34px; height: 34px; border-radius: 10px; font-size: 10px; }
.teacher-review-list article > b { padding: 6px 8px; border-radius: 999px; background: #fff2df; color: #b56a18; font-size: 10px; white-space: nowrap; }
.inactive-panel p { margin: 15px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.inactive-names { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.inactive-names span { padding: 7px 9px; border-radius: 8px; background: #f5f5fa; color: #66677b; font-size: 11px; font-weight: 700; }
.teacher-quick-actions { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.teacher-quick-actions .card-label { margin-bottom: 8px; }
.teacher-quick-actions h2 { margin: 0; font-size: 22px; }
.teacher-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.teacher-action-grid button { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 11px; border: 1px solid #e2e2ef; border-radius: 11px; background: #fbfbfe; color: var(--ink); font-size: 12px; font-weight: 800; text-align: left; transition: .18s ease; }
.teacher-action-grid button:hover { border-color: var(--accent); background: var(--accent-light); color: var(--accent); }
.teacher-action-grid span { display: grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px; border-radius: 7px; background: #eae9ff; color: var(--accent); font-size: 10px; }

@media (max-width: 900px) {
  .teacher-dashboard-grid { grid-template-columns: 1fr; }
  .teacher-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .teacher-day-overview { display: grid; padding: 20px; }
  .teacher-main-action { width: 100%; justify-content: space-between; }
  .teacher-panel, .teacher-quick-actions { padding: 19px; border-radius: 14px; }
  .teacher-action-grid { grid-template-columns: 1fr; }
}

/* Темы и уроки преподавателя */
.administrator-content-form { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: 22px; padding: 22px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f6f5ff 100%); }
.administrator-content-form h2 { margin: 7px 0 0; font-size: 22px; }
.administrator-content-form p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.administrator-content-form form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.administrator-content-form label { display: grid; gap: 6px; color: #55566c; font-size: 12px; font-weight: 800; }
.administrator-content-form input, .administrator-content-form select, .administrator-content-form textarea { width: 100%; min-height: 43px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.administrator-content-form textarea { min-height: 84px; resize: vertical; }
.administrator-content-form-wide, .administrator-content-form .user-form-message, .administrator-content-form form > div { grid-column: 1 / -1; }
.administrator-content-form form > div { display: flex; justify-content: flex-end; gap: 9px; }
.administrator-content-form form button { min-height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #5e5f72; font-size: 12px; font-weight: 800; }
.administrator-content-form form button[type="submit"] { border-color: var(--accent); background: var(--accent); color: #fff; }
.curriculum-subtopic-row { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid #ededf3; color: var(--ink); font-size: 13px; }
.curriculum-subtopic-row small, .curriculum-empty { color: var(--muted); font-size: 11px; }

.admin-topics-page { display: grid; gap: 16px; max-width: 1120px; }
.topics-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 24px; border: 1px solid #dddafa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }
.topics-toolbar .card-label { margin-bottom: 9px; }
.topics-toolbar h2 { margin: 0; font-size: clamp(24px, 2.6vw, 34px); }
.topics-toolbar p { max-width: 620px; margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.create-topic-button { flex: 0 0 auto; min-height: 48px; padding: 12px 15px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 800; }
.create-topic-button:hover { background: #5044d5; }
.topics-filter-row { display: flex; flex-wrap: wrap; gap: 10px; }
.topics-filter-row input { flex: 1 1 300px; min-height: 44px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.topics-filter-row button { min-height: 44px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #55566c; font-size: 12px; font-weight: 800; }
.admin-learning-topic summary { grid-template-columns: 42px minmax(0, 1fr) auto 24px; }
.teacher-topic-status { justify-self: end; padding: 7px 9px; border-radius: 8px; color: #3a3a4b; font-size: 11px; font-weight: 800; white-space: nowrap; }
.teacher-topic-status.completed { background: var(--green-soft); color: #257c55; }
.teacher-topic-status.inProgress { background: var(--blue-soft); color: #3d63c8; }
.teacher-topic-status.planned { background: #f1f1f5; color: #858696; }
.teacher-topic-preview { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 16px 16px 72px; }
.teacher-topic-preview > div { display: flex; flex-wrap: wrap; gap: 7px; }
.teacher-topic-preview > div span { padding: 7px 8px; border-radius: 7px; background: #f5f5fa; color: #66677b; font-size: 11px; font-weight: 700; }
.teacher-topic-preview button { flex: 0 0 auto; min-height: 38px; padding: 8px 11px; border: 1px solid #dedcf3; border-radius: 9px; background: #fff; color: var(--accent); font-size: 12px; font-weight: 800; }
.teacher-topic-preview button:hover { border-color: var(--accent); background: var(--accent-light); }
.teacher-topic-preview button b { margin-left: 6px; font-size: 15px; }
.admin-topic-detail-page { display: grid; gap: 16px; max-width: 1080px; }
.teacher-topic-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 25px; border: 1px solid #dddafa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f4f3ff 100%); }
.teacher-topic-hero .card-label { margin-bottom: 9px; }
.teacher-topic-hero h2 { margin: 0; font-size: clamp(27px, 3vw, 38px); }
.teacher-topic-hero p { max-width: 700px; margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.teacher-topic-hero > div:last-child { display: grid; justify-items: end; gap: 12px; }
.teacher-topic-hero strong { color: #505164; font-size: 13px; }
.teacher-topic-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }
.teacher-topic-tabs button { flex: 0 0 auto; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #68697d; font-size: 12px; font-weight: 800; }
.teacher-topic-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.teacher-topic-content { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.topic-lesson-timeline { display: grid; gap: 12px; }
.topic-lesson-timeline article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fcfcff; }
.topic-lesson-timeline article > div:first-child > span { color: var(--accent); font-size: 11px; font-weight: 800; }
.topic-lesson-timeline h3 { margin: 6px 0 0; font-size: 15px; }
.topic-lesson-timeline p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.lesson-resource-links { display: flex; gap: 8px; }
.lesson-resource-links button, .topic-content-card button { padding: 9px 10px; border: 1px solid #dedcf3; border-radius: 8px; background: #fff; color: var(--accent); font-size: 11px; font-weight: 800; }
.lesson-resource-links button:hover, .topic-content-card button:hover { border-color: var(--accent); background: var(--accent-light); }
.topic-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.topic-content-card { min-height: 205px; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: #fcfcff; }
.topic-content-card .card-label { margin-bottom: 12px; }
.topic-content-card h3 { margin: 0; font-size: 18px; }
.topic-content-card p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.topic-content-card ul { display: grid; gap: 8px; margin: 14px 0; padding-left: 18px; color: #53546a; font-size: 12px; line-height: 1.35; }
.topic-content-card button { margin-top: 17px; }
.topic-progress-line { height: 8px; margin-top: 18px; overflow: hidden; border-radius: 99px; background: #e6e6ed; }
.topic-progress-line span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.topic-content-card small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; }
.access-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.access-chips span { padding: 7px 8px; border-radius: 7px; background: #ecebff; color: #5d55ca; font-size: 11px; font-weight: 700; }

@media (max-width: 760px) {
  .topics-toolbar, .teacher-topic-hero, .topic-lesson-timeline article { display: grid; }
  .create-topic-button { width: 100%; }
  .teacher-topic-preview { align-items: flex-start; flex-direction: column; padding-left: 16px; }
  .teacher-topic-preview button { width: 100%; }
  .teacher-topic-hero > div:last-child { justify-items: start; }
  .topic-content-grid { grid-template-columns: 1fr; }
  .teacher-topic-content { padding: 18px; border-radius: 14px; }
  .lesson-resource-links { flex-wrap: wrap; }
}

/* Учебная карта ученика и карта знаний в кабинете преподавателя */
.knowledge-map-page, .knowledge-topic-detail-page { display: grid; gap: 16px; max-width: 1120px; }
.knowledge-toolbar { align-items: center; }
.knowledge-toolbar::after { content: 'Безопасный просмотр'; flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; background: #eeeff5; color: #77798a; font-size: 11px; font-weight: 800; }
.knowledge-map-page .teacher-topic-preview button { min-width: 146px; }
.knowledge-topic-detail-page .teacher-topic-hero { margin-top: 0; }
.knowledge-edit-actions { display: flex; flex-wrap: wrap; gap: 9px; padding: 14px; border: 1px dashed #cfccf5; border-radius: 12px; background: #fafaff; }
.knowledge-edit-actions button { min-height: 38px; padding: 8px 11px; border: 1px solid #dfddf7; border-radius: 8px; background: #fff; color: var(--accent); font-size: 12px; font-weight: 800; }
.knowledge-edit-actions button:hover { border-color: var(--accent); background: var(--accent-light); }
.admin-student-card .knowledge-map-button { border-color: #d7d3f6; background: #f8f7ff; color: #5c54ca; }
.admin-student-card .knowledge-map-button:hover { border-color: var(--accent); background: var(--accent-light); }

@media (max-width: 760px) {
  .knowledge-toolbar::after { display: none; }
  .knowledge-edit-actions { display: grid; }
  .knowledge-edit-actions button { width: 100%; }
}

/* Рабочий центр домашних заданий преподавателя */
.teacher-homework-page, .teacher-homework-detail-page, .homework-create-page { display: grid; gap: 16px; max-width: 1140px; }
.homework-overview, .homework-detail-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 25px; border: 1px solid #dddafa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }
.homework-overview .card-label, .homework-detail-hero .card-label { margin-bottom: 9px; }
.homework-overview h2, .homework-detail-hero h2 { margin: 0; font-size: clamp(25px, 2.7vw, 35px); }
.homework-overview p, .homework-detail-hero p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.homework-create-button { min-height: 50px; padding: 12px 15px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.homework-create-button:hover, .homework-create-primary:hover { background: #5146d6; }
.homework-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.homework-stats button { display: flex; align-items: center; gap: 11px; min-height: 76px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-align: left; transition: .18s ease; }
.homework-stats button:hover { border-color: var(--accent); background: #fbfaff; }
.homework-stats b { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 9px; background: var(--accent-light); color: var(--accent); font-size: 15px; }
.homework-stats span { color: #5c5d71; font-size: 11px; font-weight: 800; line-height: 1.35; }
.homework-tabs, .homework-detail-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }
.homework-tabs button, .homework-detail-tabs button { flex: 0 0 auto; min-height: 41px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #66677b; font-size: 12px; font-weight: 800; }
.homework-tabs button.active, .homework-detail-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.homework-list-section, .homework-template-section, .homework-detail-content, .homework-create-card { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.homework-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.homework-section-head .card-label { margin-bottom: 8px; }
.homework-section-head h2 { margin: 0; font-size: 22px; }
.homework-section-head p { max-width: 360px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.teacher-homework-list { display: grid; gap: 11px; margin-top: 17px; }
.teacher-homework-card { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fcfcff; transition: .18s ease; }
.teacher-homework-card:hover { border-color: #d5d3f7; background: #fff; }
.teacher-homework-card.overdue { border-color: #f0d9d2; background: #fffafa; }
.teacher-homework-card.completed { border-color: #d8eadb; background: #fbfffc; }
.teacher-homework-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; font-weight: 800; }
.homework-status-label { display: inline-flex; padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.homework-status-label.active { background: var(--accent-light); color: var(--accent); }
.homework-status-label.overdue { background: #fff0ec; color: #bd5544; }
.homework-status-label.completed { background: var(--green-soft); color: #257c55; }
.teacher-homework-card h3 { margin: 13px 0 0; font-size: 16px; }
.teacher-homework-card > p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.teacher-homework-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; margin-top: 15px; color: #606176; font-size: 11px; }
.teacher-homework-meta b { color: var(--ink); }
.teacher-homework-progress { height: 7px; margin-top: 13px; overflow: hidden; border-radius: 99px; background: #e8e8f0; }
.teacher-homework-progress span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.teacher-homework-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; color: var(--muted); font-size: 11px; font-weight: 700; }
.teacher-homework-footer > div { display: flex; gap: 8px; }
.teacher-homework-footer button { padding: 7px 8px; border: 1px solid #dfdff0; border-radius: 7px; background: #fff; color: var(--accent); font-size: 11px; font-weight: 800; }
.teacher-homework-footer button:hover { border-color: var(--accent); background: var(--accent-light); }
.homework-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.homework-template-grid article { min-height: 175px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fcfcff; }
.homework-template-grid article > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 10px; font-weight: 800; }
.homework-template-grid h3 { margin: 17px 0 0; font-size: 16px; }
.homework-template-grid p { min-height: 35px; margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.homework-template-grid button { margin-top: 13px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; }
.homework-detail-hero > div:last-child { display: grid; justify-items: end; gap: 11px; }
.homework-detail-hero strong { color: #5d5e70; font-size: 12px; }
.homework-submission-list, .homework-detail-task-list { display: grid; gap: 10px; }
.homework-submission-list article { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fcfcff; }
.homework-submission-list .student-avatar { width: 36px; height: 36px; border-radius: 10px; font-size: 10px; }
.homework-submission-list h3 { margin: 0; font-size: 13px; }
.homework-submission-list p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.homework-submission-list button { padding: 8px 9px; border: 1px solid #dfdff0; border-radius: 8px; background: #fff; color: var(--accent); font-size: 11px; font-weight: 800; }
.submission-status { padding: 6px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.submission-status.in-progress { background: var(--blue-soft); color: #3d63c8; }.submission-status.review { background: #fff0df; color: #b56a18; }.submission-status.inactive { background: #f1f1f5; color: #888999; }
.homework-detail-task-list article { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fcfcff; }
.homework-detail-task-list article > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 11px; font-weight: 800; }
.homework-detail-task-list h3 { margin: 0; font-size: 13px; }.homework-detail-task-list p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }.homework-detail-task-list button { padding: 8px; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; }
.homework-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.homework-settings-grid article { min-height: 170px; padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: #fcfcff; }.homework-settings-grid .card-label { margin-bottom: 12px; }.homework-settings-grid h3 { margin: 0; font-size: 15px; }.homework-settings-grid p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.homework-settings-grid button { margin-top: 17px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; }
.create-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }.create-header .card-label { margin-bottom: 8px; }.create-header h2 { margin: 0; font-size: 26px; }.create-header > span { color: var(--muted); font-size: 12px; font-weight: 800; }.create-stepper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 22px; }.create-stepper span { display: grid; gap: 5px; color: #9a9baa; font-size: 10px; font-weight: 700; }.create-stepper b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #f0f0f4; color: #8b8c99; font-size: 10px; }.create-stepper span.active { color: var(--accent); }.create-stepper span.active b { background: var(--accent); color: #fff; }.create-form { display: grid; gap: 16px; margin-top: 28px; }.create-form label { display: grid; gap: 8px; color: #4f5063; font-size: 12px; font-weight: 800; }.create-form input, .create-form textarea, .create-form select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }.create-form textarea { min-height: 100px; resize: vertical; }.create-checkbox { display: flex !important; align-items: center; gap: 9px !important; }.create-checkbox input { width: auto; min-height: auto; }.create-info-box, .create-review-card { display: grid; gap: 9px; padding: 17px; border: 1px solid #dddafa; border-radius: 11px; background: #fafaff; }.create-info-box span, .create-review-card p { color: var(--muted); font-size: 12px; }.create-info-box button { justify-self: start; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 12px; font-weight: 800; }.create-review-card h3 { margin: 0; }.create-review-card p { margin: 0; }.create-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 25px; }.create-actions > button:first-child { min-height: 44px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #55566c; font-size: 12px; font-weight: 800; }.homework-create-primary { min-height: 44px; padding: 10px 14px; border: 1px solid var(--accent); border-radius: 9px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; }

@media (max-width: 900px) { .homework-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.homework-template-grid, .homework-settings-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .homework-overview, .homework-detail-hero, .homework-section-head, .create-header { display: grid; }.homework-create-button { width: 100%; }.homework-list-section, .homework-template-section, .homework-detail-content, .homework-create-card { padding: 18px; border-radius: 14px; }.teacher-homework-meta { grid-template-columns: 1fr; gap: 5px; }.teacher-homework-footer { align-items: flex-start; flex-direction: column; }.teacher-homework-footer > div { width: 100%; }.teacher-homework-footer button { flex: 1; }.homework-submission-list article, .homework-detail-task-list article { grid-template-columns: 34px minmax(0, 1fr); }.homework-submission-list button, .homework-detail-task-list button, .submission-status { grid-column: 1 / -1; width: 100%; text-align: center; }.create-stepper { grid-template-columns: 1fr 1fr; } }

/* Статистика преподавателя */
.teacher-statistics-page { display: grid; gap: 16px; max-width: 1140px; }
.statistics-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 25px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f2f5ff 100%); }
.statistics-hero .card-label { margin-bottom: 9px; }.statistics-hero h2 { margin: 0; font-size: clamp(26px, 2.7vw, 35px); }.statistics-hero p { max-width: 570px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.statistics-hero > span { flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; background: #fff; color: #64657b; font-size: 11px; font-weight: 800; }
.statistics-filters { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 10px 25px #25253a08; }.statistics-filter-main { display: flex; flex: 1; gap: 10px; }.statistics-filter-main label { display: grid; flex: 1; gap: 6px; color: #626376; font-size: 10px; font-weight: 800; }.statistics-filter-main select { width: 100%; min-height: 38px; padding: 0 9px; border: 1px solid #dfdfe9; border-radius: 8px; background: #fcfcff; color: var(--ink); font: inherit; font-size: 12px; }.statistics-filter-actions { display: flex; gap: 8px; }.statistics-filter-actions button { min-height: 38px; padding: 0 10px; border: 1px solid #dfdfe9; border-radius: 8px; background: #fff; color: #626376; font-size: 11px; font-weight: 800; white-space: nowrap; }.statistics-filter-actions .statistics-export { border-color: var(--accent); background: var(--accent); color: #fff; }
.statistics-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }.statistics-tabs button, .statistics-metric-tabs button { flex: 0 0 auto; min-height: 40px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #66677b; font-size: 12px; font-weight: 800; }.statistics-tabs button.active, .statistics-metric-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.statistics-overview-grid { display: grid; grid-template-columns: 1.14fr .86fr; gap: 16px; }.statistics-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.statistics-card-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }.statistics-card-head .card-label { margin-bottom: 8px; }.statistics-card-head h2 { margin: 0; font-size: 20px; }.statistics-card-head > p { max-width: 360px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; text-align: right; }.statistics-card-head > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; }
.statistics-kpi-card { grid-column: 1 / -1; }.statistics-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 15px; }.statistics-kpi-grid article { position: relative; display: grid; gap: 5px; min-height: 108px; padding: 15px; border-radius: 12px; background: #f9f9fd; }.statistics-kpi-grid b { color: var(--ink); font-size: 27px; line-height: 1; }.statistics-kpi-grid span { color: #6b6c80; font-size: 11px; font-weight: 700; line-height: 1.35; }.statistics-kpi-grid i { margin-top: auto; font-size: 10px; font-style: normal; font-weight: 800; }
.trend-up { color: #27825a !important; }.trend-down { color: #c55b4b !important; }.trend-neutral { color: #7d7e90 !important; }
.statistics-chart-card { min-height: 260px; }.statistics-metric-tabs { display: flex; gap: 5px; }.statistics-metric-tabs button { min-height: 31px; padding: 0 8px; font-size: 10px; }.statistics-chart { position: relative; height: 150px; margin-top: 22px; color: var(--accent); }.statistics-chart::before, .statistics-chart::after { position: absolute; right: 0; left: 0; height: 1px; background: #ebebf2; content: ''; }.statistics-chart::before { top: 28%; }.statistics-chart::after { top: 64%; }.statistics-chart svg { position: absolute; inset: 0 0 20px; width: 100%; height: calc(100% - 20px); }.chart-y-label { position: absolute; top: -5px; right: 0; color: #a1a2ae; font-size: 9px; }.chart-months { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; color: #9a9ba9; font-size: 9px; }
.statistics-topic-card, .statistics-attention-card { min-height: 262px; }.statistics-topic-list { display: grid; gap: 8px; margin-top: 16px; }.statistics-topic-list article { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.statistics-number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #f0efff; color: var(--accent); font-size: 11px; font-weight: 800; }.statistics-topic-list h3, .statistics-attention-list h3 { margin: 0; font-size: 12px; }.statistics-topic-list p, .statistics-attention-list p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }.statistics-topic-list b { font-size: 10px; }.attention-count { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff0ec; color: #bd5544; font-size: 11px; font-weight: 800; }.statistics-attention-card > p { margin: 12px 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.statistics-attention-list { display: grid; gap: 8px; }.statistics-attention-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 9px; }.statistics-attention-list .student-avatar { width: 30px; height: 30px; border-radius: 8px; font-size: 9px; }.statistics-attention-list button, .statistics-table button, .statistics-group-grid button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; white-space: nowrap; }
.statistics-table-card { min-height: 390px; }.statistics-table-wrap { margin-top: 18px; overflow-x: auto; }.statistics-table { width: 100%; min-width: 920px; border-collapse: collapse; text-align: left; }.statistics-table th { padding: 0 10px 11px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.statistics-table td { padding: 13px 10px; border-top: 1px solid var(--line); color: #55566b; font-size: 11px; }.statistics-table td:first-child { color: var(--ink); }.statistics-table tbody tr:hover { background: #fcfcff; }.statistics-status, .statistics-topic-label { display: inline-flex; padding: 5px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }.statistics-status.stable, .statistics-topic-label.strong { background: var(--green-soft); color: #287957; }.statistics-status.attention, .statistics-topic-label.repeat { background: #fff1df; color: #b46a1e; }.statistics-status.risk { background: #fff0ec; color: #bd5544; }
.statistics-group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }.statistics-group-grid article { display: grid; gap: 16px; min-height: 220px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: #fcfcff; }.statistics-group-grid .card-label { margin-bottom: 9px; }.statistics-group-grid h3 { margin: 0; font-size: 16px; }.statistics-group-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }.statistics-group-values span { display: grid; gap: 3px; color: #777889; font-size: 9px; line-height: 1.3; }.statistics-group-values b { color: var(--ink); font-size: 17px; }.statistics-group-grid p { margin: 0; color: #6b6c7e; font-size: 11px; line-height: 1.45; }.statistics-group-grid button { margin-top: auto; justify-self: start; }
@media (max-width: 900px) { .statistics-overview-grid { grid-template-columns: 1fr; }.statistics-kpi-grid { grid-template-columns: repeat(2, 1fr); }.statistics-group-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .statistics-hero, .statistics-filters, .statistics-card-head { display: grid; }.statistics-hero > span { justify-self: start; }.statistics-filter-main { display: grid; width: 100%; }.statistics-filter-actions { width: 100%; }.statistics-filter-actions button { flex: 1; }.statistics-card { padding: 18px; border-radius: 14px; }.statistics-card-head > p { text-align: left; }.statistics-kpi-grid { grid-template-columns: 1fr 1fr; }.statistics-metric-tabs { overflow-x: auto; }.statistics-topic-card, .statistics-attention-card { min-height: auto; } }

/* Панель управления администратора */
.administrator-dashboard-page { display: grid; gap: 16px; max-width: 1140px; }
.administrator-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 25px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-hero .card-label { margin-bottom: 9px; }.administrator-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 36px); }.administrator-hero p { max-width: 510px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.administrator-quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-width: 315px; }.administrator-quick-actions button { min-height: 38px; padding: 8px 10px; border: 1px solid #dedcf5; border-radius: 8px; background: #fff; color: #5850c8; font-size: 11px; font-weight: 800; text-align: left; }.administrator-quick-actions button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-quick-actions button:hover { border-color: var(--accent); background: var(--accent-light); color: var(--accent); }.administrator-quick-actions button:first-child:hover { background: #5146d6; color: #fff; }
.administrator-health-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }.administrator-health-grid button { position: relative; display: grid; gap: 5px; min-height: 109px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 10px 25px #25253a08; transition: .18s ease; }.administrator-health-grid button:hover { border-color: #cbc8f4; transform: translateY(-1px); }.administrator-health-grid b { font-size: 25px; line-height: 1; }.administrator-health-grid span { color: #6c6d7f; font-size: 10px; font-weight: 700; line-height: 1.35; }.administrator-health-grid i { position: absolute; right: 13px; bottom: 11px; color: var(--accent); font-size: 14px; font-style: normal; }.administrator-health-grid .needs-attention { border-color: #f0ddd3; background: #fffdfa; }.administrator-health-grid .needs-attention b { color: #bd654d; }
.administrator-main-grid, .administrator-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.administrator-panel { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }.administrator-panel-head .card-label { margin-bottom: 8px; }.administrator-panel-head h2 { margin: 0; font-size: 20px; }.administrator-panel-head > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; white-space: nowrap; }
.administrator-urgent-list { display: grid; gap: 9px; margin-top: 17px; }.administrator-urgent-list article { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.urgent-index { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #fff0ec; color: #bd654d; font-size: 10px; font-weight: 800; }.administrator-urgent-list h3, .administrator-lesson-list h3, .administrator-teacher-list h3, .administrator-changes-list h3 { margin: 0; font-size: 12px; }.administrator-urgent-list p, .administrator-lesson-list p, .administrator-teacher-list p, .administrator-changes-list p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.35; }.administrator-urgent-list button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; white-space: nowrap; }.administrator-overdue-summary { display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; align-items: center; gap: 9px; margin-top: 12px; padding: 12px; border-radius: 10px; background: #fff4ed; }.administrator-overdue-summary b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #f3c9b9; color: #9f4d39; font-size: 11px; }.administrator-overdue-summary span { color: #815949; font-size: 10px; font-weight: 700; }.administrator-overdue-summary button { padding: 0; border: 0; background: transparent; color: #aa513c; font-size: 10px; font-weight: 800; white-space: nowrap; }
.administrator-lesson-list { display: grid; gap: 11px; margin-top: 17px; }.administrator-lesson-list article { display: grid; grid-template-columns: 43px minmax(0, 1fr) auto; gap: 11px; align-items: start; padding-bottom: 11px; border-bottom: 1px solid var(--line); }.administrator-lesson-list article:last-child { padding-bottom: 0; border-bottom: 0; }.administrator-lesson-list time { color: var(--accent); font-size: 12px; font-weight: 800; }.lesson-state { display: inline-flex; margin-top: 6px; padding: 4px 6px; border-radius: 999px; background: #f1f1f5; color: #7c7d8d; font-size: 9px; font-weight: 800; }.lesson-state.live { background: #e9f8ef; color: #287957; }.lesson-state.completed { background: #eeeef4; color: #797a89; }.administrator-lesson-list button { padding: 5px 6px; border: 1px solid #e1e0ef; border-radius: 7px; background: #fff; color: var(--accent); font-size: 9px; font-weight: 800; }
.administrator-homework-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 17px; }.administrator-homework-items button { position: relative; display: grid; gap: 5px; min-height: 105px; padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; color: var(--ink); text-align: left; }.administrator-homework-items b { font-size: 22px; }.administrator-homework-items span { color: #707184; font-size: 10px; font-weight: 700; line-height: 1.35; }.administrator-homework-items i { position: absolute; right: 11px; bottom: 9px; color: var(--accent); font-style: normal; }.administrator-teacher-list { display: grid; gap: 11px; margin-top: 17px; }.administrator-teacher-list article { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; }.administrator-teacher-list .student-avatar { width: 33px; height: 33px; border-radius: 9px; font-size: 9px; }.administrator-teacher-list article > b { color: #57586b; font-size: 10px; white-space: nowrap; }.teacher-attention { grid-column: 2 / -1; padding-left: 1px; color: #b86445; font-size: 9px; font-weight: 800; }.teacher-attention.quiet { color: #2d805b; }
.administrator-changes-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }.administrator-changes-list button { display: grid; gap: 7px; min-height: 108px; padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; color: var(--ink); text-align: left; }.administrator-changes-list time { color: #9495a4; font-size: 9px; font-weight: 800; }.administrator-changes-list i { margin-top: auto; color: var(--accent); font-size: 14px; font-style: normal; }
@media (max-width: 1000px) { .administrator-health-grid { grid-template-columns: repeat(3, 1fr); }.administrator-changes-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .administrator-hero, .administrator-main-grid, .administrator-bottom-grid { display: grid; }.administrator-quick-actions { min-width: 0; width: 100%; }.administrator-health-grid { grid-template-columns: 1fr 1fr; }.administrator-panel { padding: 18px; border-radius: 14px; }.administrator-homework-items { grid-template-columns: 1fr; }.administrator-changes-list { grid-template-columns: 1fr; }.administrator-urgent-list article, .administrator-overdue-summary { grid-template-columns: 30px minmax(0, 1fr); }.administrator-urgent-list button, .administrator-overdue-summary button { grid-column: 1 / -1; text-align: left; }.administrator-lesson-list article { grid-template-columns: 40px minmax(0, 1fr); }.administrator-lesson-list button { grid-column: 1 / -1; justify-self: start; } }

/* Справочник учеников администратора */
.administrator-students-page, .administrator-student-profile-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-students-hero, .administrator-profile-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-students-hero .card-label, .administrator-profile-hero .card-label { margin-bottom: 8px; }.administrator-students-hero h2, .administrator-profile-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-students-hero p, .administrator-profile-hero p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.administrator-students-hero > button { min-height: 44px; padding: 0 13px; border: 1px solid var(--accent); border-radius: 9px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; white-space: nowrap; }

/* Создание пользователей администратором */
.administrator-user-create-page { display: grid; gap: 16px; max-width: 900px; }
.administrator-user-create-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 25px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }
.administrator-user-create-hero .card-label { margin-bottom: 8px; }
.administrator-user-create-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }
.administrator-user-create-hero p { max-width: 510px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.administrator-user-create-hero aside { display: grid; gap: 5px; max-width: 215px; padding: 12px; border: 1px solid #dfdef1; border-radius: 11px; background: #fff; color: #696a7e; font-size: 10px; line-height: 1.4; }
.administrator-user-create-hero aside b { color: var(--accent); font-size: 10px; }
.administrator-user-form { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }
.administrator-user-form > section { padding: 22px; border-bottom: 1px solid var(--line); }
.administrator-form-section-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.administrator-form-section-head .card-label { margin-bottom: 7px; }
.administrator-form-section-head h3 { margin: 0; font-size: 17px; }
.administrator-form-section-head p { max-width: 320px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; text-align: right; }
.administrator-user-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.administrator-form-field { display: grid; gap: 7px; color: #4e4f63; font-size: 11px; font-weight: 800; }
.administrator-form-field.full { max-width: 430px; }
.administrator-form-field span { display: flex; gap: 5px; }
.administrator-form-field i { color: #9697a6; font-size: 9px; font-style: normal; font-weight: 700; }
.administrator-form-field input, .administrator-form-field select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid #dedee9; border-radius: 9px; background: #fcfcff; color: var(--ink); font: inherit; font-size: 12px; outline: 0; }
.administrator-form-field input:focus, .administrator-form-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #5e55ef17; }
.administrator-user-form-message { min-height: 18px; margin: 13px 0 0; color: #ba4555; font-size: 10px; font-weight: 800; }
.administrator-user-form-message:not(.error) { color: transparent; }
.administrator-user-form footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 22px; background: #fcfcff; }
.administrator-user-form footer > p { max-width: 420px; margin: 0; color: #7b7c8c; font-size: 10px; line-height: 1.45; }
.administrator-user-form footer > div { display: flex; gap: 8px; }
.administrator-user-form footer button { min-height: 41px; padding: 0 12px; border: 1px solid #dcdcea; border-radius: 9px; background: #fff; color: #626376; font-size: 11px; font-weight: 800; }
.administrator-user-form footer button[type="submit"] { border-color: var(--accent); background: var(--accent); color: #fff; }
.administrator-user-form footer button:disabled { opacity: .65; cursor: wait; }
.user-created-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 17px; padding: 28px; border: 1px solid #bce4cf; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f0fbf4 100%); }
.user-created-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #25865d; color: #fff; font-weight: 800; }
.user-created-card .card-label { margin-bottom: 7px; color: #25865d; }
.user-created-card h2 { margin: 0; font-size: 25px; }
.user-created-card > div > p { margin: 8px 0 0; color: #65736b; font-size: 11px; line-height: 1.5; }
.user-credentials { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 2px; }
.user-credentials > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #cee9d8; border-radius: 10px; background: #fff; }
.user-credentials span, .user-credentials small { color: #6c7f75; font-size: 9px; font-weight: 800; }
.user-credentials b { font-size: 13px; word-break: break-all; }
.user-credentials small { grid-column: 1 / -1; padding-left: 2px; }
.user-created-actions { grid-column: 2; display: flex; gap: 8px; margin-top: 3px; }
.user-created-actions button { min-height: 40px; padding: 0 12px; border: 1px solid #c5ddcf; border-radius: 9px; background: #fff; color: #237c55; font-size: 11px; font-weight: 800; }
.user-created-actions button:last-child { border-color: #25865d; background: #25865d; color: #fff; }
.administrator-student-filter-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.administrator-student-filter-cards button { position: relative; display: grid; gap: 5px; min-height: 91px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-align: left; transition: .16s ease; }.administrator-student-filter-cards button:hover, .administrator-student-filter-cards button.active { border-color: var(--accent); background: #fbfaff; }.administrator-student-filter-cards button.attention { background: #fffdfa; }.administrator-student-filter-cards b { font-size: 23px; line-height: 1; }.administrator-student-filter-cards span { color: #6c6d7e; font-size: 11px; font-weight: 800; }.administrator-student-filter-cards i { position: absolute; right: 12px; bottom: 10px; color: var(--accent); font-size: 14px; font-style: normal; }
.administrator-student-directory, .administrator-profile-content { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-directory-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.administrator-directory-head > div { display: flex; flex: 1; gap: 9px; }.administrator-directory-head > span { color: var(--muted); font-size: 11px; font-weight: 800; white-space: nowrap; }.administrator-search { display: flex; align-items: center; flex: 1; min-height: 39px; padding: 0 10px; border: 1px solid #dedee9; border-radius: 8px; background: #fcfcff; color: #8b8c9a; }.administrator-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 12px; }.administrator-selects { display: flex; gap: 7px; }.administrator-selects select, .administrator-selects button { min-height: 39px; padding: 0 8px; border: 1px solid #dedee9; border-radius: 8px; background: #fff; color: #616275; font: inherit; font-size: 10px; font-weight: 800; }.administrator-selects button { color: var(--accent); }.administrator-student-table-wrap { overflow-x: auto; }.administrator-student-table { width: 100%; min-width: 1100px; border-collapse: collapse; text-align: left; }.administrator-student-table th { padding: 15px 10px 10px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.administrator-student-table td { padding: 12px 10px; border-top: 1px solid var(--line); color: #5a5b6e; font-size: 11px; }.administrator-student-table tbody tr:hover { background: #fcfcff; }.administrator-student-name { display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 11px; text-align: left; }.administrator-student-name .student-avatar { width: 29px; height: 29px; border-radius: 8px; font-size: 9px; }.administrator-student-status { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #edf8f0; color: #287957; font-size: 9px; font-weight: 800; white-space: nowrap; }.administrator-student-status.attention { background: #fff2df; color: #ad691c; }.administrator-student-status.inactive { background: #fff0ec; color: #b95242; }.administrator-student-status.unassigned { background: #f0f0f4; color: #777888; }.administrator-row-action { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; white-space: nowrap; }.administrator-empty-row { padding: 30px !important; color: var(--muted) !important; text-align: center; }
.administrator-profile-person { display: flex; align-items: center; gap: 13px; }.administrator-profile-person > .student-avatar { width: 50px; height: 50px; border-radius: 13px; font-size: 14px; }.administrator-profile-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }.administrator-profile-actions button, .administrator-profile-warning button, .administrator-profile-grid button, .administrator-profile-action-card button, .administrator-profile-homework button { min-height: 35px; padding: 7px 9px; border: 1px solid #deddf0; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-profile-actions button:last-child { color: #9d5749; }.administrator-profile-warning { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px; border: 1px solid #f0ded4; border-radius: 11px; background: #fffaf7; color: #8a5b4c; font-size: 11px; font-weight: 700; line-height: 1.45; }.administrator-profile-warning.quiet { border-color: #dcece1; background: #fbfffc; color: #4b7960; }.administrator-profile-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }.administrator-profile-tabs button { flex: 0 0 auto; min-height: 39px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #6c6d7d; font-size: 11px; font-weight: 800; }.administrator-profile-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-profile-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.administrator-profile-kpis article, .administrator-profile-next article { display: grid; gap: 8px; min-height: 95px; padding: 15px; border: 1px solid #ececf2; border-radius: 11px; background: #fcfcff; }.administrator-profile-kpis span { color: #77788a; font-size: 10px; font-weight: 700; }.administrator-profile-kpis b { color: var(--ink); font-size: 19px; }.administrator-profile-next { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }.administrator-profile-next .card-label { margin-bottom: 2px; }.administrator-profile-next h3, .administrator-profile-grid h3, .administrator-profile-action-card h3, .administrator-profile-homework h3 { margin: 0; font-size: 14px; }.administrator-profile-next p, .administrator-profile-grid p, .administrator-profile-action-card p, .administrator-profile-homework p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.administrator-profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.administrator-profile-grid article { display: grid; align-content: start; gap: 11px; min-height: 180px; padding: 16px; border: 1px solid #ececf2; border-radius: 11px; background: #fcfcff; }.administrator-profile-grid .card-label { margin-bottom: 2px; }.administrator-profile-grid button { justify-self: start; margin-top: auto; }.administrator-profile-homework { display: grid; gap: 10px; }.administrator-profile-homework article, .administrator-profile-action-card { display: grid; gap: 9px; padding: 16px; border: 1px solid #ececf2; border-radius: 11px; background: #fcfcff; }.administrator-profile-homework button, .administrator-profile-action-card button { justify-self: start; margin-top: 4px; }.administrator-history-list { display: grid; gap: 10px; }.administrator-history-list article { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }.administrator-history-list article:last-child { border-bottom: 0; }.administrator-history-list time { color: #9495a3; font-size: 10px; font-weight: 800; }.administrator-history-list h3 { margin: 0; font-size: 12px; }.administrator-history-list p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
@media (max-width: 900px) { .administrator-student-filter-cards { grid-template-columns: repeat(2, 1fr); }.administrator-profile-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .administrator-students-hero, .administrator-profile-hero, .administrator-directory-head { display: grid; }.administrator-students-hero > button { width: 100%; }.administrator-directory-head > div { display: grid; width: 100%; }.administrator-selects { display: grid; grid-template-columns: 1fr 1fr; }.administrator-selects button { grid-column: 1 / -1; }.administrator-student-directory, .administrator-profile-content { padding: 18px; border-radius: 14px; }.administrator-profile-actions { justify-content: start; }.administrator-profile-warning { display: grid; }.administrator-profile-warning button { justify-self: start; }.administrator-profile-kpis, .administrator-profile-next { grid-template-columns: 1fr; } }

@media (max-width: 760px) { .administrator-user-create-hero, .administrator-form-section-head, .administrator-user-form footer { display: grid; }.administrator-user-create-hero aside { max-width: none; }.administrator-form-section-head p { text-align: left; }.administrator-user-form-grid, .user-credentials { grid-template-columns: 1fr; }.administrator-user-form > section { padding: 18px; }.administrator-user-form footer { padding: 16px 18px; }.administrator-user-form footer > div { width: 100%; }.administrator-user-form footer button { flex: 1; }.user-created-card { grid-template-columns: 40px minmax(0, 1fr); padding: 20px; }.user-credentials, .user-created-actions { grid-column: 1 / -1; }.user-created-actions button { flex: 1; } }

/* Преподаватели: кабинет администратора */
.administrator-teachers-page, .administrator-teacher-profile-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-teachers-hero, .administrator-teacher-profile-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-teachers-hero .card-label, .administrator-teacher-profile-hero .card-label { margin-bottom: 8px; }.administrator-teachers-hero h2, .administrator-teacher-profile-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-teachers-hero p, .administrator-teacher-profile-hero p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.administrator-teachers-hero > button { min-height: 44px; padding: 0 13px; border: 1px solid var(--accent); border-radius: 9px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; white-space: nowrap; }
.administrator-teacher-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.administrator-teacher-summary article { display: flex; align-items: center; gap: 10px; min-height: 72px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.administrator-teacher-summary article.attention { border-color: #f0dfd5; background: #fffdfa; }.administrator-teacher-summary b { font-size: 22px; }.administrator-teacher-summary span { color: #6e6f81; font-size: 10px; font-weight: 800; line-height: 1.35; }.administrator-teacher-directory, .administrator-teacher-profile-content { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-teacher-directory-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.administrator-teacher-filters { display: flex; gap: 7px; }.administrator-teacher-filters button { min-height: 34px; padding: 0 9px; border: 1px solid #e0e0ea; border-radius: 8px; background: #fff; color: #696a7d; font-size: 10px; font-weight: 800; }.administrator-teacher-filters button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-teacher-filters b { margin-left: 5px; }.administrator-teacher-search { display: flex; align-items: center; gap: 6px; min-height: 36px; min-width: 210px; padding: 0 9px; border: 1px solid #dfdfe9; border-radius: 8px; color: #8f90a0; }.administrator-teacher-search input { width: 100%; border: 0; outline: 0; font: inherit; font-size: 11px; }.administrator-teacher-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }.administrator-teacher-card { display: grid; gap: 15px; min-height: 310px; padding: 18px; border: 1px solid #e6e6ef; border-radius: 13px; background: #fcfcff; }.administrator-teacher-card-head { display: grid; grid-template-columns: 41px minmax(0, 1fr) auto; align-items: center; gap: 10px; }.administrator-teacher-card-head .teacher-avatar, .administrator-teacher-profile-person .teacher-avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; }.administrator-teacher-card-head .card-label { margin-bottom: 5px; }.administrator-teacher-card h3 { margin: 0; font-size: 16px; }.teacher-capacity { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #f1f1f5; color: #747586; font-size: 9px; font-weight: 800; white-space: nowrap; }.teacher-capacity.available { background: #eaf8ef; color: #287957; }.administrator-teacher-numbers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.administrator-teacher-numbers span { display: grid; gap: 3px; color: #767789; font-size: 9px; line-height: 1.35; }.administrator-teacher-numbers b { color: var(--ink); font-size: 18px; }.administrator-teacher-next { padding: 12px; border-radius: 10px; background: #f5f5fc; }.administrator-teacher-next > span { color: #878899; font-size: 9px; font-weight: 800; }.administrator-teacher-next b { display: block; margin-top: 5px; font-size: 12px; }.administrator-teacher-next p { margin: 3px 0 0; color: #6d6e80; font-size: 10px; }.administrator-teacher-card-footer { display: flex; justify-content: space-between; gap: 9px; color: #707184; font-size: 10px; font-weight: 700; }.administrator-teacher-card-footer b { color: var(--ink); }.administrator-teacher-card-footer em { color: #b65d45; font-style: normal; }.administrator-teacher-card-footer em.quiet { color: #2f805c; }.administrator-teacher-card-actions { display: flex; gap: 8px; }.administrator-teacher-card-actions button { flex: 1; min-height: 36px; padding: 6px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-teacher-card-actions button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }
.administrator-teacher-profile-person { display: flex; align-items: center; gap: 12px; }.administrator-teacher-profile-person .teacher-avatar { width: 49px; height: 49px; border-radius: 13px; font-size: 14px; }.administrator-teacher-profile-actions { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 8px; }.administrator-teacher-profile-actions button, .administrator-subsection-head button, .administrator-schedule-week button, .administrator-teacher-homework-content button, .administrator-teacher-statistics-content button { min-height: 35px; padding: 7px 9px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-teacher-profile-actions button:last-child { color: #9f5749; }.administrator-teacher-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }.administrator-teacher-tabs button { flex: 0 0 auto; min-height: 39px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #6c6d7d; font-size: 11px; font-weight: 800; }.administrator-teacher-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-teacher-overview-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.administrator-teacher-overview-kpis article { display: grid; gap: 4px; padding: 14px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-teacher-overview-kpis b { font-size: 21px; }.administrator-teacher-overview-kpis span { color: #777889; font-size: 10px; font-weight: 700; }.administrator-teacher-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }.administrator-teacher-overview-grid article, .administrator-teacher-statistics-content > div { display: grid; gap: 8px; min-height: 145px; padding: 15px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-teacher-overview-grid h3, .administrator-subsection-head h3, .administrator-teacher-group-list h3, .administrator-schedule-week h3, .administrator-teacher-statistics-content h3 { margin: 0; font-size: 14px; }.administrator-teacher-overview-grid p, .administrator-teacher-group-list p, .administrator-schedule-week p, .administrator-teacher-statistics-content p { margin: 3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.administrator-teacher-overview-grid button, .administrator-teacher-statistics-content button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-teacher-students-content { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.administrator-subsection-head { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }.administrator-subsection-head .card-label { margin-bottom: 5px; }.administrator-teacher-student-list, .administrator-teacher-group-list { display: grid; gap: 8px; margin-top: 12px; }.administrator-teacher-student-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.administrator-teacher-student-list .student-avatar { width: 29px; height: 29px; border-radius: 8px; font-size: 9px; }.administrator-teacher-student-list h3 { margin: 0; font-size: 11px; }.administrator-teacher-student-list p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }.administrator-teacher-student-list button, .administrator-teacher-group-list button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; white-space: nowrap; }.administrator-teacher-group-list article { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.administrator-schedule-week { display: grid; gap: 10px; }.administrator-schedule-week article { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-schedule-week time { color: var(--accent); font-size: 10px; font-weight: 800; line-height: 1.5; }.administrator-schedule-week time b { font-size: 14px; }.administrator-schedule-week article > span { padding: 5px 6px; border-radius: 999px; background: #f1f1f5; color: #747586; font-size: 9px; font-weight: 800; white-space: nowrap; }.administrator-teacher-homework-content, .administrator-teacher-statistics-content { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.administrator-teacher-homework-content article, .administrator-teacher-statistics-content > article { display: grid; gap: 8px; min-height: 145px; padding: 16px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-teacher-homework-content b, .administrator-teacher-statistics-content > article b { font-size: 26px; }.administrator-teacher-homework-content span, .administrator-teacher-statistics-content > article span { color: #6f7082; font-size: 11px; font-weight: 700; }.administrator-teacher-homework-content button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-teacher-statistics-content { grid-template-columns: repeat(3, 1fr); }.administrator-teacher-statistics-content > div { grid-column: 1 / -1; min-height: 104px; }.administrator-teacher-history { display: grid; gap: 9px; }.administrator-teacher-history article { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }.administrator-teacher-history article:last-child { border-bottom: 0; }.administrator-teacher-history time { color: #9293a2; font-size: 10px; font-weight: 800; }.administrator-teacher-history h3 { margin: 0; font-size: 12px; }.administrator-teacher-history p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
@media (max-width: 900px) { .administrator-teacher-card-grid, .administrator-teacher-students-content { grid-template-columns: 1fr; }.administrator-teacher-summary { grid-template-columns: repeat(2, 1fr); }.administrator-teacher-overview-kpis { grid-template-columns: repeat(2, 1fr); }.administrator-teacher-homework-content, .administrator-teacher-statistics-content { grid-template-columns: 1fr; }.administrator-teacher-statistics-content > div { grid-column: auto; } }
@media (max-width: 760px) { .administrator-teachers-hero, .administrator-teacher-profile-hero, .administrator-teacher-directory-head { display: grid; }.administrator-teachers-hero > button, .administrator-teacher-search { width: 100%; }.administrator-teacher-filters { overflow-x: auto; }.administrator-teacher-profile-actions { justify-content: start; }.administrator-teacher-directory, .administrator-teacher-profile-content { padding: 18px; border-radius: 14px; }.administrator-teacher-overview-grid { grid-template-columns: 1fr; }.administrator-schedule-week article { grid-template-columns: 70px minmax(0, 1fr); }.administrator-schedule-week article > span, .administrator-schedule-week button { grid-column: 1 / -1; justify-self: start; } }

/* Группы и расписание администратора */
.administrator-groups-page, .administrator-group-profile-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-groups-hero, .administrator-group-profile-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-groups-hero .card-label, .administrator-group-profile-hero .card-label { margin-bottom: 8px; }.administrator-groups-hero h2, .administrator-group-profile-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-groups-hero p, .administrator-group-profile-hero p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.administrator-groups-hero > div:last-child, .administrator-group-profile-hero > div:last-child { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }.administrator-groups-hero button, .administrator-group-profile-hero button, .administrator-subsection-head button { min-height: 38px; padding: 7px 10px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-groups-hero button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-group-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.administrator-group-summary button { position: relative; display: flex; align-items: center; gap: 10px; min-height: 76px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); text-align: left; }.administrator-group-summary button.attention { border-color: #f0dfd5; background: #fffdfa; }.administrator-group-summary b { font-size: 22px; }.administrator-group-summary span { color: #6d6e80; font-size: 10px; font-weight: 800; line-height: 1.35; }.administrator-group-summary i { margin-left: auto; color: var(--accent); font-size: 14px; font-style: normal; }.administrator-groups-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }.administrator-group-panel, .administrator-group-directory, .administrator-group-profile-content { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-group-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }.administrator-group-panel-head .card-label { margin-bottom: 8px; }.administrator-group-panel-head h2 { margin: 0; font-size: 20px; }.administrator-group-panel-head > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-group-lesson-list { display: grid; gap: 10px; margin-top: 16px; }.administrator-group-lesson-list article { display: grid; grid-template-columns: 41px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }.administrator-group-lesson-list article:last-child { padding-bottom: 0; border-bottom: 0; }.administrator-group-lesson-list time { color: var(--accent); font-size: 12px; font-weight: 800; }.administrator-group-lesson-list h3, .administrator-setup-panel h3, .administrator-group-card-grid h3, .administrator-group-student-list h3, .administrator-group-future-lessons h3, .administrator-group-resources h3, .administrator-group-progress h3, .administrator-group-history h3 { margin: 0; font-size: 12px; }.administrator-group-lesson-list p, .administrator-setup-panel p, .administrator-group-card-grid p, .administrator-group-student-list p, .administrator-group-future-lessons p, .administrator-group-resources p, .administrator-group-progress p, .administrator-group-history p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.35; }.administrator-lesson-status { display: inline-flex; margin-top: 5px; padding: 4px 6px; border-radius: 999px; background: #f0f0f4; color: #777888; font-size: 8px; font-weight: 800; }.administrator-lesson-status.live { background: #eaf8ef; color: #287957; }.administrator-lesson-status.complete { background: #f0f0f4; }.administrator-lesson-links { display: flex; gap: 5px; }.administrator-lesson-links button { padding: 5px 6px; border: 1px solid #e0e0ee; border-radius: 7px; background: #fff; color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-setup-panel > h2 { margin: 7px 0 0; font-size: 20px; }.administrator-setup-panel > p { margin: 8px 0 15px; }.administrator-setup-panel article { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid #f0dfd5; border-radius: 10px; background: #fffaf7; }.administrator-setup-panel .teacher-avatar { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: var(--accent); color: #fff; font-size: 9px; font-weight: 800; }.administrator-setup-panel button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-group-directory .administrator-group-panel-head { padding-bottom: 15px; border-bottom: 1px solid var(--line); }.administrator-group-filters { display: flex; gap: 6px; }.administrator-group-filters button { min-height: 32px; padding: 0 8px; border: 1px solid #e0e0ea; border-radius: 7px; background: #fff; color: #696a7d; font-size: 9px; font-weight: 800; }.administrator-group-filters button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-group-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin-top: 16px; }.administrator-group-card-grid article { display: grid; gap: 13px; min-height: 275px; padding: 16px; border: 1px solid #e6e6ef; border-radius: 12px; background: #fcfcff; }.administrator-group-card-head { display: flex; align-items: start; justify-content: space-between; gap: 8px; }.administrator-group-card-head .card-label { margin-bottom: 6px; }.administrator-group-state { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #eaf8ef; color: #287957; font-size: 8px; font-weight: 800; white-space: nowrap; }.administrator-group-card-info { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.administrator-group-card-info span { display: grid; gap: 3px; color: #77788a; font-size: 9px; }.administrator-group-card-info b { color: var(--ink); font-size: 10px; }.administrator-group-card-next { padding: 10px; border-radius: 9px; background: #f4f4fb; }.administrator-group-card-next span { color: #888998; font-size: 8px; font-weight: 800; }.administrator-group-card-next b { display: block; margin-top: 4px; font-size: 11px; }.administrator-group-link-state { display: flex; gap: 7px; color: #2b7b58; font-size: 9px; font-weight: 800; }.administrator-group-link-state .missing { color: #b65b46; }.administrator-group-card-grid article > button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }
.administrator-group-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }.administrator-group-tabs button { flex: 0 0 auto; min-height: 39px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #6c6d7d; font-size: 10px; font-weight: 800; }.administrator-group-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-group-overview-kpis, .administrator-group-homework, .administrator-group-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.administrator-group-overview-kpis article, .administrator-group-homework article, .administrator-group-progress > article { display: grid; gap: 6px; min-height: 102px; padding: 14px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-group-overview-kpis span, .administrator-group-homework span, .administrator-group-progress > article span { color: #77788a; font-size: 10px; font-weight: 700; }.administrator-group-overview-kpis b, .administrator-group-homework b, .administrator-group-progress > article b { font-size: 18px; }.administrator-group-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }.administrator-group-overview-grid article, .administrator-group-progress > div { display: grid; gap: 8px; min-height: 142px; padding: 15px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-group-overview-grid article.missing, .administrator-group-resources article.missing { border-color: #f0dfd5; background: #fffaf7; }.administrator-group-overview-grid h3 { margin: 0; font-size: 13px; }.administrator-group-overview-grid p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }.administrator-group-overview-grid button, .administrator-group-progress button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-group-students-content { display: grid; gap: 13px; }.administrator-group-student-list { display: grid; gap: 8px; }.administrator-group-student-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.administrator-group-student-list .student-avatar { width: 29px; height: 29px; border-radius: 8px; font-size: 9px; }.administrator-group-student-list button, .administrator-group-future-lessons button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; white-space: nowrap; }.administrator-group-schedule { display: grid; gap: 18px; }.administrator-group-schedule > section { display: grid; gap: 10px; }.administrator-group-schedule > section > article { padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-group-schedule > section > article span { display: block; margin-top: 5px; color: var(--accent); font-size: 12px; font-weight: 800; }.administrator-group-schedule > section > article p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }.administrator-group-future-lessons { display: grid; gap: 8px; }.administrator-group-future-lessons article { display: grid; grid-template-columns: 63px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.administrator-group-future-lessons time { color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-group-future-lessons time b { font-size: 13px; }.administrator-group-resources { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.administrator-group-resources article { display: grid; gap: 8px; min-height: 175px; padding: 16px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-group-resources .card-label { margin-bottom: 2px; }.administrator-group-resources button, .administrator-group-homework button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-group-homework article { min-height: 145px; }.administrator-group-homework p { margin: 0; color: var(--muted); font-size: 10px; }.administrator-group-progress > div { grid-column: 1 / -1; min-height: 105px; }.administrator-group-history { display: grid; gap: 9px; }.administrator-group-history article { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }.administrator-group-history article:last-child { border-bottom: 0; }.administrator-group-history time { color: #9293a2; font-size: 10px; font-weight: 800; }
@media (max-width: 950px) { .administrator-groups-layout { grid-template-columns: 1fr; }.administrator-group-card-grid { grid-template-columns: 1fr 1fr; }.administrator-group-resources { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .administrator-groups-hero, .administrator-group-profile-hero { display: grid; }.administrator-groups-hero > div:last-child { justify-content: start; }.administrator-group-summary { grid-template-columns: 1fr 1fr; }.administrator-group-panel, .administrator-group-directory, .administrator-group-profile-content { padding: 18px; border-radius: 14px; }.administrator-group-panel-head { display: grid; }.administrator-group-filters { overflow-x: auto; }.administrator-group-card-grid, .administrator-group-overview-kpis, .administrator-group-homework, .administrator-group-progress, .administrator-group-overview-grid { grid-template-columns: 1fr; }.administrator-group-progress > div { grid-column: auto; }.administrator-group-student-list article { grid-template-columns: 31px minmax(0, 1fr); }.administrator-group-student-list button { grid-column: 1 / -1; justify-self: start; }.administrator-group-lesson-list article { grid-template-columns: 40px minmax(0, 1fr); }.administrator-lesson-links { grid-column: 1 / -1; } }

/* Учебный контент администратора */
.administrator-content-page, .administrator-content-bank-page, .administrator-content-detail-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-content-hero, .administrator-content-subhero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-content-hero .card-label, .administrator-content-subhero .card-label { margin-bottom: 8px; }.administrator-content-hero h2, .administrator-content-subhero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-content-hero p, .administrator-content-subhero p { max-width: 570px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.administrator-content-hero > div:last-child { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }.administrator-content-hero button, .administrator-content-subhero button { min-height: 39px; padding: 7px 10px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-content-hero button:last-child, .administrator-content-subhero button { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-content-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.administrator-content-summary article { display: flex; align-items: center; gap: 10px; min-height: 75px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.administrator-content-summary b { font-size: 22px; }.administrator-content-summary span { color: #6e6f81; font-size: 10px; font-weight: 800; line-height: 1.35; }.administrator-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.administrator-content-grid > button { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: start; gap: 13px; min-height: 178px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 12px 30px #25253a0a; transition: .18s ease; }.administrator-content-grid > button:hover { border-color: #cbc8f4; background: #fcfcff; transform: translateY(-1px); }.administrator-content-grid > button > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--accent-light); color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-content-grid h3 { margin: 0; font-size: 18px; }.administrator-content-grid p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.administrator-content-grid footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; margin-top: auto; color: #77788a; font-size: 10px; }.administrator-content-grid footer i { color: var(--accent); font-size: 16px; font-style: normal; }.administrator-content-notice { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 19px; border: 1px solid #e1e0f7; border-radius: 14px; background: #fafaff; }.administrator-content-notice .card-label { margin-bottom: 7px; }.administrator-content-notice h2 { margin: 0; font-size: 17px; }.administrator-content-notice p { max-width: 670px; margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.administrator-content-notice button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; white-space: nowrap; }
.administrator-content-filter-row { display: flex; gap: 7px; overflow-x: auto; }.administrator-content-filter-row label { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 220px; min-height: 37px; padding: 0 9px; border: 1px solid #dfdfe9; border-radius: 8px; color: #8b8c9a; }.administrator-content-filter-row input { width: 100%; border: 0; outline: 0; font: inherit; font-size: 11px; }.administrator-content-filter-row button { flex: 0 0 auto; min-height: 37px; padding: 0 9px; border: 1px solid #dfdfe9; border-radius: 8px; background: #fff; color: #696a7d; font-size: 10px; font-weight: 800; }.administrator-program-card, .administrator-material-list, .administrator-template-grid { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-program-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.administrator-program-head .card-label { margin-bottom: 7px; }.administrator-program-head h2 { margin: 0; font-size: 20px; }.administrator-program-head > span { color: var(--muted); font-size: 10px; font-weight: 800; }.administrator-program-card > section { margin-top: 17px; }.administrator-program-group { display: flex; align-items: center; gap: 8px; }.administrator-program-group span { padding: 5px 7px; border-radius: 999px; background: #f0f0f5; color: #747586; font-size: 8px; font-weight: 800; }.administrator-program-group h3 { margin: 0; font-size: 13px; }.administrator-program-topics { display: grid; gap: 7px; margin-top: 10px; }.administrator-program-topics details { border: 1px solid #e7e7ef; border-radius: 9px; background: #fcfcff; }.administrator-program-topics summary { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px; cursor: pointer; list-style: none; }.administrator-program-topics summary::-webkit-details-marker { display: none; }.administrator-program-topics summary > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: var(--accent-light); color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-program-topics summary b { display: block; font-size: 11px; }.administrator-program-topics summary small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }.administrator-program-topics summary i { color: var(--accent); font-size: 13px; font-style: normal; }.administrator-program-topics details > div { display: grid; gap: 5px; padding: 0 9px 9px 43px; }.administrator-program-topics details > div button { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border: 0; border-top: 1px solid #ededf3; background: transparent; color: #5d5e70; font-size: 10px; text-align: left; }.administrator-program-topics details > div b { color: var(--accent); font-size: 9px; }.administrator-material-list { display: grid; gap: 9px; }.administrator-material-list article { display: grid; grid-template-columns: 33px minmax(0, 1fr) minmax(130px, .65fr) auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.administrator-material-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-material-list .card-label { margin-bottom: 4px; }.administrator-material-list h3, .administrator-template-grid h3 { margin: 0; font-size: 13px; }.administrator-material-list p, .administrator-template-grid p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }.administrator-material-list article > div:nth-child(3) { display: grid; gap: 3px; color: #858696; font-size: 9px; }.administrator-material-list article > div:nth-child(3) b { color: #5f6072; font-size: 10px; }.administrator-material-list button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; white-space: nowrap; }.administrator-template-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }.administrator-template-grid article { display: grid; gap: 14px; min-height: 220px; padding: 16px; border: 1px solid #e7e7ef; border-radius: 11px; background: #fcfcff; }.administrator-template-grid article > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-template-grid .card-label { margin-bottom: 6px; }.administrator-template-meta { display: grid; gap: 4px; color: #7c7d8e; font-size: 9px; }.administrator-template-grid footer { display: flex; justify-content: space-between; gap: 8px; margin-top: auto; }.administrator-template-grid button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; }
@media (max-width: 900px) { .administrator-content-summary { grid-template-columns: repeat(2, 1fr); }.administrator-template-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .administrator-content-hero, .administrator-content-subhero, .administrator-content-notice { display: grid; }.administrator-content-hero > div:last-child { justify-content: start; }.administrator-content-summary, .administrator-content-grid { grid-template-columns: 1fr; }.administrator-content-grid > button { min-height: 150px; }.administrator-program-card, .administrator-material-list, .administrator-template-grid { padding: 18px; border-radius: 14px; }.administrator-material-list article { grid-template-columns: 31px minmax(0, 1fr); }.administrator-material-list article > div:nth-child(3), .administrator-material-list button { grid-column: 1 / -1; }.administrator-content-notice button { justify-self: start; } }

/* Статистика администратора */
.administrator-statistics-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-stat-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-stat-hero .card-label { margin-bottom: 8px; }.administrator-stat-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-stat-hero p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }.administrator-stat-hero > span { padding: 7px 9px; border-radius: 999px; background: #fff; color: #707184; font-size: 10px; font-weight: 800; }.administrator-stat-filters { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }.administrator-stat-filters > div { display: flex; flex: 1; gap: 8px; }.administrator-stat-filters label { display: grid; flex: 1; gap: 5px; color: #727385; font-size: 9px; font-weight: 800; }.administrator-stat-filters select { min-height: 37px; padding: 0 8px; border: 1px solid #dfdfe9; border-radius: 8px; background: #fcfcff; color: var(--ink); font: inherit; font-size: 10px; }.administrator-stat-filters aside { display: flex; gap: 7px; }.administrator-stat-filters button { min-height: 37px; padding: 0 9px; border: 1px solid #dfdfe9; border-radius: 8px; background: #fff; color: #68697b; font-size: 10px; font-weight: 800; white-space: nowrap; }.administrator-stat-filters button:last-child { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-stat-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }.administrator-stat-tabs button, .administrator-stat-metric-tabs button { flex: 0 0 auto; min-height: 39px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #6c6d7d; font-size: 10px; font-weight: 800; }.administrator-stat-tabs button.active, .administrator-stat-metric-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }.administrator-stat-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }.administrator-stat-kpis article { position: relative; display: grid; gap: 5px; min-height: 100px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.administrator-stat-kpis article.attention { border-color: #f0dfd5; background: #fffdfa; }.administrator-stat-kpis b { font-size: 22px; }.administrator-stat-kpis span { color: #6e6f81; font-size: 9px; font-weight: 800; line-height: 1.3; }.administrator-stat-kpis i { margin-top: auto; font-size: 9px; font-style: normal; font-weight: 800; }.administrator-stat-kpis button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; }.stat-up { color: #27825a !important; }.stat-down { color: #c55b4b !important; }.administrator-stat-chart, .administrator-stat-attention-grid > section, .administrator-stat-load, .administrator-stat-changes, .administrator-stat-table-card { padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-stat-chart { margin-top: 16px; }.administrator-stat-card-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }.administrator-stat-card-head .card-label { margin-bottom: 7px; }.administrator-stat-card-head h2 { margin: 0; font-size: 19px; }.administrator-stat-card-head p { margin: 0; color: var(--muted); font-size: 10px; }.administrator-stat-card-head > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.administrator-stat-metric-tabs { display: flex; gap: 5px; }.administrator-stat-metric-tabs button { min-height: 31px; padding: 0 8px; font-size: 9px; }.administrator-stat-line { position: relative; height: 148px; margin-top: 18px; color: var(--accent); }.administrator-stat-line::before, .administrator-stat-line::after { position: absolute; right: 0; left: 0; height: 1px; background: #ececf2; content: ''; }.administrator-stat-line::before { top: 31%; }.administrator-stat-line::after { top: 65%; }.administrator-stat-line svg { position: absolute; inset: 0 0 20px; width: 100%; height: calc(100% - 20px); }.administrator-stat-line > div { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; color: #9a9ba9; font-size: 9px; }.administrator-stat-attention-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }.administrator-stat-attention-list, .administrator-stat-topic-list { display: grid; gap: 8px; margin-top: 15px; }.administrator-stat-attention-list article { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; }.administrator-stat-attention-list .student-avatar { width: 29px; height: 29px; border-radius: 8px; font-size: 9px; }.administrator-stat-attention-list h3, .administrator-stat-topic-list h3, .administrator-stat-load h3 { margin: 0; font-size: 11px; }.administrator-stat-attention-list p, .administrator-stat-topic-list p, .administrator-stat-load p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }.administrator-stat-attention-list button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-stat-topic-list article { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.administrator-stat-topic-list article > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: #fff1df; color: #b36b1e; font-size: 9px; font-weight: 800; }.administrator-stat-topic-list b { color: #ae661b; font-size: 9px; }.administrator-stat-load { margin-top: 16px; }.administrator-stat-load > article { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto auto; align-items: center; gap: 9px; padding: 11px 0; border-bottom: 1px solid var(--line); }.administrator-stat-load > article:last-child { border-bottom: 0; }.administrator-stat-load .teacher-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--accent); color: #fff; font-size: 9px; font-weight: 800; }.administrator-stat-load > article > b { color: #626376; font-size: 10px; white-space: nowrap; }.administrator-stat-status { display: inline-flex; padding: 5px 6px; border-radius: 999px; background: #eaf8ef; color: #287957; font-size: 8px; font-weight: 800; white-space: nowrap; }.administrator-stat-status.attention, .administrator-stat-status.inactive { background: #fff1df; color: #ae661b; }.administrator-stat-status.unassigned { background: #f0f0f4; color: #777888; }.administrator-stat-load button, .administrator-stat-table-card button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; white-space: nowrap; }.administrator-stat-changes { margin-top: 16px; }.administrator-stat-changes > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 15px; }.administrator-stat-changes article { display: grid; gap: 5px; padding: 10px; border-radius: 9px; background: #f8f8fc; color: #5d5e70; font-size: 10px; }.administrator-stat-changes time { color: #9192a0; font-size: 8px; font-weight: 800; }.administrator-stat-table-card { overflow-x: auto; }.administrator-stat-table-card table { width: 100%; min-width: 920px; margin-top: 17px; border-collapse: collapse; text-align: left; }.administrator-stat-table-card th { padding: 0 9px 10px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.administrator-stat-table-card td { padding: 12px 9px; border-top: 1px solid var(--line); color: #5a5b6e; font-size: 10px; }.administrator-stat-table-card tbody tr:hover { background: #fcfcff; }
@media (max-width: 1000px) { .administrator-stat-kpis { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .administrator-stat-hero, .administrator-stat-filters, .administrator-stat-card-head { display: grid; }.administrator-stat-hero > span { justify-self: start; }.administrator-stat-filters > div { display: grid; width: 100%; }.administrator-stat-filters aside { width: 100%; }.administrator-stat-filters aside button { flex: 1; }.administrator-stat-kpis { grid-template-columns: 1fr 1fr; }.administrator-stat-chart, .administrator-stat-attention-grid > section, .administrator-stat-load, .administrator-stat-changes, .administrator-stat-table-card { padding: 18px; border-radius: 14px; }.administrator-stat-attention-grid { grid-template-columns: 1fr; }.administrator-stat-load > article { grid-template-columns: 30px minmax(0, 1fr); }.administrator-stat-load > article > b, .administrator-stat-load .administrator-stat-status, .administrator-stat-load button { grid-column: 1 / -1; justify-self: start; }.administrator-stat-changes > div { grid-template-columns: 1fr; }.administrator-stat-metric-tabs { overflow-x: auto; } }

/* Настройки школы */
.administrator-settings-page, .administrator-settings-detail-page { display: grid; gap: 16px; max-width: 1140px; }.administrator-settings-hero, .administrator-settings-detail-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.administrator-settings-hero .card-label, .administrator-settings-detail-hero .card-label { margin-bottom: 8px; }.administrator-settings-hero h2, .administrator-settings-detail-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.administrator-settings-hero p, .administrator-settings-detail-hero p { max-width: 680px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.administrator-settings-hero > span { padding: 7px 9px; border-radius: 999px; background: #fff; color: #707184; font-size: 10px; font-weight: 800; }.administrator-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }.administrator-settings-grid > button { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; min-height: 145px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 12px 30px #25253a0a; }.administrator-settings-grid > button:hover { border-color: #cbc8f4; background: #fcfcff; }.administrator-settings-grid > button > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--accent-light); color: var(--accent); font-size: 9px; font-weight: 800; }.administrator-settings-grid h3 { margin: 0; font-size: 16px; }.administrator-settings-grid p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.administrator-settings-grid footer { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; margin-top: auto; color: #6c6d7e; font-size: 9px; }.administrator-settings-grid footer i { color: var(--accent); font-size: 15px; font-style: normal; }.administrator-settings-grid .attention footer b { color: #b75e47; }.administrator-settings-safety { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #dcece1; border-radius: 13px; background: #fbfffc; }.administrator-settings-safety .card-label { margin-bottom: 7px; }.administrator-settings-safety h2 { margin: 0; font-size: 17px; }.administrator-settings-safety p { margin: 6px 0 0; color: #5a7664; font-size: 11px; }.administrator-settings-safety button { padding: 0; border: 0; background: transparent; color: #287957; font-size: 10px; font-weight: 800; white-space: nowrap; }.administrator-settings-detail-content { display: grid; gap: 13px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.administrator-settings-detail-content > label { display: grid; gap: 7px; color: #5f6071; font-size: 11px; font-weight: 800; }.administrator-settings-detail-content input:not([type="checkbox"]), .administrator-settings-detail-content textarea, .administrator-settings-detail-content select { width: 100%; min-height: 42px; padding: 9px; border: 1px solid #dedee9; border-radius: 8px; background: #fcfcff; color: var(--ink); font: inherit; font-size: 11px; }.administrator-settings-detail-content textarea { min-height: 88px; resize: vertical; }.settings-check { display: flex !important; align-items: center; gap: 8px; }.settings-info-card, .settings-role-list article, .settings-rule-list article, .settings-integration-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.settings-info-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; }.settings-info-card span { color: var(--muted); font-size: 10px; }.settings-info-card button, .settings-integration-list button { grid-column: 2; grid-row: 1 / span 2; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.settings-role-list, .settings-rule-list, .settings-integration-list, .settings-history-list { display: grid; gap: 9px; }.settings-role-list article { display: grid; align-items: start; }.settings-role-list b, .settings-rule-list b { font-size: 12px; }.settings-role-list p, .settings-rule-list p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }.settings-rule-list label { display: flex; align-items: center; gap: 5px; color: #626375; font-size: 10px; font-weight: 800; white-space: nowrap; }.settings-status { padding: 5px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; }.settings-status.ready { background: #eaf8ef; color: #287957; }.settings-status.neutral { background: #f0f0f4; color: #777888; }.settings-status.attention { background: #fff1df; color: #ae661b; }.settings-archive-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.settings-archive-grid article { display: grid; gap: 6px; min-height: 125px; padding: 13px; border: 1px solid #ececf2; border-radius: 10px; background: #fcfcff; }.settings-archive-grid b { font-size: 18px; }.settings-archive-grid span { color: var(--muted); font-size: 10px; }.settings-archive-grid button { justify-self: start; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.settings-history-list article { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }.settings-history-list article:last-child { border-bottom: 0; }.settings-history-list time { color: #9394a3; font-size: 9px; font-weight: 800; }.settings-history-list b { font-size: 11px; }.settings-history-list p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }.administrator-settings-actions { display: flex; justify-content: space-between; gap: 10px; }.administrator-settings-actions button { min-height: 40px; padding: 0 11px; border: 1px solid #dedee9; border-radius: 8px; background: #fff; color: #666779; font-size: 10px; font-weight: 800; }.administrator-settings-actions button:last-child { border-color: var(--accent); background: var(--accent); color: #fff; }
@media (max-width: 760px) { .administrator-settings-hero, .administrator-settings-detail-hero, .administrator-settings-safety { display: grid; }.administrator-settings-hero > span, .administrator-settings-safety button { justify-self: start; }.administrator-settings-grid { grid-template-columns: 1fr; }.administrator-settings-detail-content { padding: 18px; border-radius: 14px; }.settings-info-card, .settings-rule-list article, .settings-integration-list article { display: grid; }.settings-info-card button, .settings-integration-list button { grid-column: auto; grid-row: auto; justify-self: start; }.settings-archive-grid { grid-template-columns: 1fr 1fr; } }

/* Рабочий кабинет ассистента */
.assistant-dashboard-page { display: grid; gap: 16px; max-width: 1140px; }.assistant-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.assistant-hero .card-label { margin-bottom: 8px; }.assistant-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.assistant-hero p { max-width: 590px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.assistant-hero > div:last-child { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }.assistant-hero button { min-height: 39px; padding: 7px 10px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.assistant-hero button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }.assistant-priority-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.assistant-priority-grid button { position: relative; display: grid; gap: 5px; min-height: 92px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); text-align: left; }.assistant-priority-grid b { font-size: 22px; }.assistant-priority-grid span { color: #707184; font-size: 10px; font-weight: 800; line-height: 1.35; }.assistant-priority-grid i { position: absolute; right: 11px; bottom: 9px; color: var(--accent); font-size: 14px; font-style: normal; }.assistant-work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.assistant-panel, .assistant-actions { padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.assistant-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }.assistant-panel-head .card-label { margin-bottom: 7px; }.assistant-panel-head h2 { margin: 0; font-size: 19px; }.assistant-panel-head > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; font-weight: 800; }.assistant-review-list { display: grid; gap: 9px; margin-top: 15px; }.assistant-review-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid #ececf2; border-radius: 9px; background: #fcfcff; }.assistant-review-list .student-avatar { width: 29px; height: 29px; border-radius: 8px; font-size: 9px; }.assistant-review-list h3 { margin: 0; font-size: 11px; }.assistant-review-list p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }.assistant-review-list button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; white-space: nowrap; }.assistant-actions { display: grid; gap: 15px; }.assistant-actions .card-label { margin-bottom: 7px; }.assistant-actions h2 { margin: 0; font-size: 19px; }.assistant-actions > div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }.assistant-actions button { display: grid; gap: 9px; min-height: 86px; padding: 12px; border: 1px solid #e5e4f0; border-radius: 9px; background: #fcfcff; color: #515266; font-size: 10px; font-weight: 800; text-align: left; }.assistant-actions button:hover { border-color: var(--accent); background: #fafaff; }.assistant-actions button span { color: var(--accent); font-size: 9px; }
@media (max-width: 900px) { .assistant-priority-grid, .assistant-actions > div:last-child { grid-template-columns: 1fr 1fr; }.assistant-work-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .assistant-hero { display: grid; }.assistant-hero > div:last-child { justify-content: start; }.assistant-priority-grid, .assistant-actions > div:last-child { grid-template-columns: 1fr; }.assistant-panel, .assistant-actions { padding: 18px; border-radius: 14px; } }

/* Материалы ассистента */
.assistant-materials-page { display: grid; gap: 16px; max-width: 1140px; }.assistant-materials-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid #dcd9fa; border-radius: 16px; background: linear-gradient(145deg, #fff 0%, #f3f2ff 100%); }.assistant-materials-hero .card-label { margin-bottom: 8px; }.assistant-materials-hero h2 { margin: 0; font-size: clamp(26px, 2.8vw, 34px); }.assistant-materials-hero p { max-width: 620px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.assistant-materials-hero > div:last-child { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }.assistant-materials-hero button { min-height: 39px; padding: 7px 10px; border: 1px solid #deddf1; border-radius: 8px; background: #fff; color: var(--accent); font-size: 10px; font-weight: 800; }.assistant-materials-hero button:first-child { border-color: var(--accent); background: var(--accent); color: #fff; }.assistant-material-access { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #dcece1; border-radius: 11px; background: #fbfffc; }.assistant-material-access > span { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; background: #eaf8ef; color: #287957; font-size: 9px; font-weight: 800; }.assistant-material-access p { margin: 0; color: #52735f; font-size: 10px; line-height: 1.4; }.assistant-material-list, .assistant-material-form { padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 12px 30px #25253a0a; }.assistant-material-list > .assistant-panel-head > span { color: var(--muted); font-size: 10px; font-weight: 800; }.assistant-material-list > article { display: grid; grid-template-columns: 32px minmax(0, 1fr) minmax(160px, .55fr) auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--line); }.assistant-material-list > article:last-child { border-bottom: 0; }.assistant-material-list > article > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 9px; font-weight: 800; }.assistant-material-list h3 { margin: 4px 0 0; font-size: 12px; }.assistant-material-list p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }.assistant-material-list article > div:nth-child(2) > b { color: var(--accent); font-size: 9px; }.assistant-material-list article > div:nth-child(3) { display: grid; gap: 3px; }.assistant-material-list small { color: #9293a0; font-size: 8px; font-weight: 800; }.assistant-material-list strong { color: #636477; font-size: 9px; line-height: 1.3; }.assistant-material-list > article > button { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 9px; font-weight: 800; white-space: nowrap; }.assistant-material-form { border-color: #dcd9fa; background: #fafaff; }.assistant-material-form-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }.assistant-material-form-head .card-label { margin-bottom: 7px; }.assistant-material-form-head h2 { margin: 0; font-size: 20px; }.assistant-material-form-head > button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #e0dff0; border-radius: 8px; background: #fff; color: #77788a; font-size: 16px; }.assistant-material-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 19px; }.assistant-material-fields label { display: grid; gap: 7px; color: #5f6071; font-size: 10px; font-weight: 800; }.assistant-material-fields input, .assistant-material-fields select, .assistant-material-fields textarea { width: 100%; min-height: 40px; padding: 8px; border: 1px solid #dedee9; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 11px; }.assistant-material-fields textarea { min-height: 76px; resize: vertical; }.assistant-material-description { grid-column: 1 / -1; }.assistant-material-form-actions { display: flex; justify-content: space-between; gap: 9px; margin-top: 18px; }.assistant-material-form-actions button { min-height: 39px; padding: 0 10px; border: 1px solid #dedee9; border-radius: 8px; background: #fff; color: #68697b; font-size: 10px; font-weight: 800; }.assistant-material-form-actions button:last-child { border-color: var(--accent); background: var(--accent); color: #fff; }
@media (max-width: 760px) { .assistant-materials-hero, .assistant-material-access { display: grid; }.assistant-materials-hero > div:last-child { justify-content: start; }.assistant-material-list, .assistant-material-form { padding: 18px; border-radius: 14px; }.assistant-material-list > article { grid-template-columns: 30px minmax(0, 1fr); }.assistant-material-list article > div:nth-child(3), .assistant-material-list > article > button { grid-column: 1 / -1; }.assistant-material-fields { grid-template-columns: 1fr; }.assistant-material-description { grid-column: auto; } }

/* Личный кабинет ученика: единый стиль рабочих панелей */
.group-member-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.group-member-list > label { display: grid; grid-template-columns: auto 29px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 53px; padding: 9px; border: 1px solid #e6e5f0; border-radius: 10px; background: #fcfcff; cursor: pointer; }.group-member-list > label:hover { border-color: #cbc8f4; }.group-member-list input { accent-color: var(--accent); }.group-member-list .student-avatar { width: 27px; height: 27px; border-radius: 8px; font-size: 9px; }.group-member-list b { font-size: 11px; }.group-member-list small { grid-column: 3; margin-top: -7px; color: var(--muted); font-size: 9px; }.administrator-live-group-note { min-height: 28px; margin: 11px 0 0; color: var(--muted); font-size: 10px; line-height: 1.35; }
@media (max-width: 760px) { .group-member-list { grid-template-columns: 1fr; } }
.student-dashboard-grid { max-width: 1140px; gap: 16px; align-items: stretch; }.student-dashboard-grid .dashboard-card { position: relative; overflow: hidden; min-height: 0; padding: 23px; border-radius: 16px; box-shadow: 0 12px 30px #25253a0a; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.student-dashboard-grid .dashboard-card:hover { border-color: #d5d3f5; box-shadow: 0 16px 34px #25253a10; transform: translateY(-1px); }.student-dashboard-grid .card-label { margin-bottom: 11px; }.student-dashboard-grid .profile-card { min-height: 276px; border-color: #dcd9fa; background: linear-gradient(145deg, #fff 0%, #f2f1ff 100%); }.student-dashboard-grid .profile-card::after { position: absolute; right: -36px; bottom: -48px; width: 156px; height: 156px; border: 26px solid #dfddff; border-radius: 50%; content: ''; opacity: .65; }.student-dashboard-grid .profile-card h2 { position: relative; z-index: 1; max-width: 250px; font-size: clamp(25px, 2.4vw, 34px); letter-spacing: -.03em; }.student-dashboard-grid .profile-card p { position: relative; z-index: 1; max-width: 220px; margin-top: 9px; font-size: 12px; font-weight: 700; line-height: 1.45; }.student-dashboard-grid .teammates-card { min-height: 276px; }.student-dashboard-grid .card-topline { padding-bottom: 12px; border-bottom: 1px solid var(--line); }.student-dashboard-grid .card-topline .card-label { margin: 0; }.student-dashboard-grid .count-pill { min-width: 28px; height: 28px; border-radius: 8px; }.student-dashboard-grid .teammate-list { gap: 8px; margin-top: 13px; }.student-dashboard-grid .teammate-list li { min-height: 34px; padding: 4px 0; color: #4e4f62; font-size: 11px; }.student-dashboard-grid .teammate-list span { width: 28px; height: 28px; border-radius: 8px; background: #f1f1f7; font-size: 9px; }.student-dashboard-grid .schedule-card { min-height: 500px; border-color: #e0dff3; background: #fff; }.student-dashboard-grid .schedule-list { gap: 8px; margin-top: 5px; }.student-dashboard-grid .schedule-row { padding: 12px; border: 1px solid #ececf3; border-radius: 10px; background: #fcfcff; }.student-dashboard-grid .schedule-row strong { font-size: 12px; }.student-dashboard-grid .schedule-row small { margin-top: 3px; font-size: 10px; }.student-dashboard-grid .schedule-row > span { padding: 5px 7px; border-radius: 7px; background: var(--accent-light); color: var(--accent); font-size: 10px; }.student-dashboard-grid .lesson-links { gap: 8px; margin-top: 15px; padding-top: 15px; }.student-dashboard-grid .lesson-link { min-height: 78px; padding: 12px; border: 1px solid #e0dff0; border-radius: 10px; background: #fcfcff; }.student-dashboard-grid .lesson-link:hover { border-color: var(--accent); background: #fafaff; transform: none; }.student-dashboard-grid .lesson-link span { font-size: 9px; }.student-dashboard-grid .lesson-link strong { font-size: 11px; }.student-dashboard-grid .last-lesson-card { min-height: 205px; background: linear-gradient(145deg, #fff 0%, #fbfbff 100%); }.student-dashboard-grid .last-lesson-card h2 { max-width: 360px; font-size: 17px; line-height: 1.3; }.student-dashboard-grid .compact-links { margin-top: 14px; }.student-dashboard-grid .compact-links .lesson-link { min-height: 67px; }.student-dashboard-grid .homework-card { min-height: 205px; border-color: #d7eadc; background: linear-gradient(145deg, #f5fff8 0%, #e2f8e9 100%); }.student-dashboard-grid .homework-card h2 { max-width: 340px; font-size: 18px; line-height: 1.3; }.student-dashboard-grid .homework-card p { margin-top: 7px; font-size: 11px; }.student-dashboard-grid .deadline-line { margin-top: 17px; padding-top: 13px; border-color: #cce9d5; }.student-dashboard-grid .deadline-line span { font-size: 9px; }.student-dashboard-grid .deadline-line strong { font-size: 11px; }
@media (max-width: 760px) { .student-dashboard-grid .dashboard-card { padding: 19px; border-radius: 14px; }.student-dashboard-grid .profile-card, .student-dashboard-grid .teammates-card, .student-dashboard-grid .schedule-card, .student-dashboard-grid .last-lesson-card, .student-dashboard-grid .homework-card { min-height: auto; }.student-dashboard-grid .profile-card { min-height: 200px; }.student-dashboard-grid .lesson-links { grid-template-columns: 1fr; }.student-dashboard-grid .compact-links { grid-template-columns: 1fr; } }

/* Результат автопроверки в варианте тренажёра. */
.trainer-answer-correct { border-color: #9edcbd !important; background: #f4fff8 !important; }
.trainer-answer-wrong { border-color: #f0c9c5 !important; background: #fff8f7 !important; }
.trainer-answer-result { margin: 12px 0 0; padding: 9px 11px; border-radius: 8px; background: #e2f7ea; color: #16734d; font-size: 11px; line-height: 1.4; }
.trainer-answer-wrong .trainer-answer-result { background: #ffebe8; color: #ad4841; }
.task-solution { margin-top: 10px; border: 1px solid #dcdafa; border-radius: 9px; background: #fff; color: var(--ink); }
.task-solution summary { padding: 10px 12px; color: var(--accent); font-size: 12px; font-weight: 800; cursor: pointer; }
.task-solution > div { padding: 0 12px 12px; font-size: 13px; }
.trainer-finish-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.trainer-exit-button { min-height: 46px; padding: 12px 16px; border: 1px solid #dcdafa; border-radius: 10px; background: #fff; color: var(--accent); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.trainer-exit-button:hover { border-color: var(--accent); background: var(--accent-light); }
.student-homework-deadline-link { margin-top: 15px; padding: 0; border: 0; background: transparent; color: #1c7d52; font: inherit; font-size: 11px; font-weight: 800; }
.homework-card .overdue-deadline { border-color: #efc7bf; }
.homework-card .overdue-deadline span, .homework-card .overdue-deadline strong { color: #ae4b42; }
.trainer-number-details { margin-top: 17px; border-top: 1px solid var(--line); }
.trainer-number-details summary { padding: 15px 0; color: var(--accent); font-size: 11px; font-weight: 800; cursor: pointer; }
.trainer-number-list { display: grid; gap: 8px; padding: 0 0 6px; }
.trainer-number-list article { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fcfcff; color: var(--muted); font-size: 11px; }
.trainer-number-list strong { color: var(--ink); font-size: 12px; }
.trainer-number-list b { color: #19714c; white-space: nowrap; }
@media (max-width: 600px) { .trainer-number-list article { grid-template-columns: 1fr auto; }.trainer-number-list article span { grid-column: 1 / -1; grid-row: 2; } }
