/* Approved 27 September 2026: warm paper, original logo, soft raised blocks. */
html:root {
  --paper:#f3f5f6; --ink:#292d35; --blue:#526778; --red:#4e6475;
  --muted:#68737c; --line:#dfe5e8; --lavender:#eee7f2;
  --mint:#eee7f2; --orange:#f4e4d5; --pink:#f5e3e1;
  --lift:inset 0 1px 1px #fff, inset 0 -2px 3px #6e594509,
    0 3px 5px #4353680a, 0 12px 18px -10px #43536838, 0 26px 34px -17px #43536830;
  --small-lift:inset 0 1px 0 #ffffffcc,0 5px 10px #43536812;
  font-family:'Segoe UI',Arial,sans-serif;
  color:var(--ink); background:var(--paper);
}
html body {background:var(--paper); font-size:15px; line-height:1.55}
html h1,html h2,html h3 {color:var(--ink);font-weight:650;letter-spacing:-.035em}
html h1 {font-size:34px} html h2 {font-size:21px} html h3 {font-size:17px}
html strong {font-weight:600} html small,html .muted {color:var(--muted)}
html a {color:var(--red)}
html :is(button,a,input,textarea,select,summary):focus-visible {outline:3px solid #7a8ea4;outline-offset:4px}
html .sidebar {inset:18px auto 18px 18px;width:202px;padding:24px 12px;background:#fff;border:0;border-radius:25px;box-shadow:var(--lift)}
html .brand {width:140px;margin:5px auto 36px}
html .brand img {display:block;width:100%;aspect-ratio:1;height:auto;object-fit:contain;border-radius:50%;padding:12px;background:#fff;box-shadow:var(--small-lift)}
html .sidebar nav {gap:12px}
html .sidebar nav a {font-size:14px;gap:12px;color:var(--muted);padding:14px 12px;font-weight:400}
html .sidebar nav a.active,html #mobile-nav a.active {background:#e8edf3;color:var(--red);box-shadow:none;font-weight:600}
html .sidebar nav a:hover {background:#eef2f5;color:var(--ink)}
html .sidebar:after {content:'Французский язык';font-size:11px;border:0;padding-left:12px}
html .workspace {margin-left:238px;padding:0 36px 48px}
html header {height:82px;border:0}
html main {padding-top:15px}
html .avatar {background:#e8edf3;color:var(--ink);border:0;box-shadow:var(--small-lift)}
html .account-button {color:var(--ink)}
html .identity-copy strong {font-weight:400}
html .greeting {display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 30px}
html .greeting .eyebrow {display:none}
html .greeting h1 {font-size:36px;letter-spacing:-.045em;margin:0}
html .today {font-size:15px;max-width:none;text-align:left;margin:0}
html .eyebrow {text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--muted)}
html :is(.panel,.card,.feedback,.list-surface,.results-ledger,.day-agenda,.work-matrix,.week-strip,.week-agenda,.chart-card) {
  background:#ffffff;border:1px solid #ffffffd9;border-radius:23px;box-shadow:var(--lift);color:var(--ink);
}
html .panel,html .feedback {padding:26px}
html .card {padding:26px;margin:24px 0}
html .detail-grid .card {margin-top:0}
html .dashboard {background:none;padding:0;gap:28px}
html .dashboard-main,html .dashboard-side {gap:28px;padding:0;border:0}
html .hero {background:linear-gradient(130deg,#faf5fc,#eee7f2);border:1px solid #fff9;border-radius:23px;padding:28px;box-shadow:var(--lift);margin-bottom:0}
html .hero::after {content:none}
html .hero h2 {font-size:29px;line-height:1.2;letter-spacing:-.035em;color:var(--ink);margin:22px 0 18px}
html .hero>strong {font-size:18px;font-weight:600}
html .hero>p {color:var(--muted);font-size:14px;margin:8px 0 22px}
html .hero>.section-heading>svg {display:none}
html .hero .primary {min-width:0;justify-content:center;margin-top:0}
html .button {font-weight:600;border-radius:12px;font-size:14px}
html .primary,html .login-entry .primary {color:#fff;background:linear-gradient(#62798a,#4b6274);border:0;box-shadow:inset 0 1px 0 #ffffff40,0 5px 10px #4659701c}
html .primary:hover,html .login-entry .primary:hover {background:#435867;filter:none}
html .secondary {background:#edf1f4;color:var(--ink);border:1px solid #fff;box-shadow:var(--small-lift)}
html .button.danger {color:#96332c;background:#f8e8e4;border-color:#edd3cc}
html .text-link {font-size:13px;font-weight:500;color:var(--red)}
html .section-heading {gap:16px;margin-bottom:10px}
html .section-heading h2 {font-size:20px;color:var(--ink)}
html .list-row {color:var(--ink);border-color:var(--line)}
html .list-row:hover {background:#f4f6f8}
html main>.list-row {background:#ffffff;padding:18px 22px;border:1px solid #fff;border-radius:18px;margin:12px 0;box-shadow:var(--small-lift)}
html .editor {background:#ffffff;border:1px solid #fff;border-radius:23px;padding:28px;box-shadow:var(--lift)}
html .row-copy strong {font-size:15px;font-weight:600}
html .row-copy small {font-size:13px}
html .tile,html .list-row:nth-of-type(3n) .tile,html .list-row:nth-of-type(3n + 1) .tile {background:#eeeaf3;color:#706382;border:0;box-shadow:none}
html .date-tile {background:#eaeef4;color:var(--ink);box-shadow:var(--small-lift);border:0}
html .date-tile strong {font-size:25px}
html .agenda-item {padding:12px 0;gap:18px;border-bottom:1px solid var(--line)}
html .agenda-item:last-child {border:0;padding-bottom:0}
html .agenda-item .list-row {display:flex;flex-direction:column;align-items:flex-start;border:0;gap:5px;padding:0}
html .agenda-item .row-copy {order:-1;flex-basis:auto}
html .agenda-item .row-copy small {display:none}
html .agenda-item .row-copy strong {font-size:15px}
html .agenda-item .lesson-time {font-size:14px;color:var(--muted)}
html .pill {border:0;box-shadow:none;font-size:12px;font-weight:500;padding:5px 9px}
html .pill.red {background:#f9e9e5;color:#983a32}
html .pill.blue {background:#eee9f3;color:#655376}
html .pill.green {background:#e8f1e9;color:#37684a}
html .pill.orange {background:#f7ecdd;color:#805d31}
html .metrics,html .home-metrics {gap:18px;background:none;border:0;padding:0}
html .metric,html .home-metrics .metric:first-child,html .home-metrics .metric:nth-child(2) {background:#ffffff;border:1px solid #fff;border-radius:20px;padding:20px;box-shadow:var(--lift);color:var(--ink)}
html .metric strong {font-size:30px;color:var(--ink)}
html .metric:nth-child(n) {background:#ffffff}
html .metric-arrow {background:#e8edf3;color:var(--red);box-shadow:none}
html .tabs button[aria-pressed=true],html .route-tabs a.selected {color:var(--red);border-color:var(--red)}
html input:not([type=checkbox]):not([type=radio]):not([type=range]),html textarea,html select {background:#f7f9fa;border:1px solid #d6dfe4;border-radius:11px;box-shadow:inset 0 2px 4px #43536808;font-family:inherit}
html input:focus,html textarea:focus,html select:focus {background:#fff}
html input::file-selector-button {background:#e9eef1;color:var(--ink)}
html .assignment-groups {border-color:var(--line)}
html input[type=checkbox],html .chart-range {accent-color:var(--red)}
html .file-card {background:#f4f6f8;border-color:var(--line);color:var(--ink)}
html .file-selection:not(:empty) {background:#eee7f2}
html .group-grid {background:none;gap:22px;overflow:visible;margin-top:20px}
html .group-grid .card {border:1px solid #fff;border-radius:23px;padding:24px}
html .group-number {background:#eee7f2;font-size:26px}
html .group-grid .card:nth-child(3n + 2) .group-number {background:#f5e5da}
html .group-grid .card:nth-child(3n) .group-number {background:#f5e5e3}
html .week-strip {padding:7px;gap:4px;margin-bottom:20px}
html .week-strip button {border:0;border-radius:12px}
html .week-strip button.has-lesson {background:#f2e5de;color:var(--ink);box-shadow:none}
html .week-strip button.has-lesson small {color:var(--muted)}
html .week-strip button[aria-pressed=true],html .week-strip button.has-lesson[aria-pressed=true] {background:#e8edf4;color:var(--red);box-shadow:inset 0 0 0 2px #8d9eb6}
html .week-agenda .list-row {background:#f1ebf5;border-left-color:#c5b6d1}
html .day-agenda {padding:24px}
html .chart-card,html .chart-card:nth-child(2n) {background:#ffffff;border-color:#fff}
html .chart-card polyline {stroke:#8196b5}
html .chart-card path {stroke:#e5ded9}
html .bar-track {border-color:var(--line)}
html .bar-track i {background:#c9bdd9;box-shadow:inset 0 1px 0 #fff8}
html .result-meter {background:#eee8e3;box-shadow:inset 0 1px 3px #4353680c}
html .result-meter i {background:#9baac4}
html .list-caption,html .ledger-caption {background:#f3f6f7;color:var(--muted)}
html .result-entry[open],html .result-entry summary:hover {background:#f6f8fa}
html .result-copy::after {color:var(--red)}
html .feedback>.score,html .dashboard .feedback>.score {font-size:32px;color:var(--ink)}
html .dashboard .feedback blockquote {border-left-color:#dec4b6;font-size:15px}
html dialog {background:#ffffff;border:1px solid #fff;box-shadow:0 28px 70px #3b302b38;border-radius:24px}
html dialog::backdrop {background:#302b294d;backdrop-filter:blur(3px)}
html .empty {border-color:var(--line);background:transparent;color:var(--muted)}
html .student-dashboard {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px;align-items:start}
html .student-dashboard>.hero {min-height:330px;display:flex;flex-direction:column;align-items:flex-start}
html .student-dashboard>.hero {align-self:stretch}
html .student-dashboard>.hero>.primary {margin-top:auto}
html .student-dashboard>.hero>h2 {max-width:470px;font-size:32px}
html .student-dashboard .work-panel .tile {display:none}
html .student-dashboard .work-panel .list-row {flex-wrap:wrap;gap:8px;padding:18px 0}
html .student-dashboard .work-panel .list-row:last-of-type {border-bottom:0}
html .student-dashboard .work-panel .list-row>.pill {margin:0;font-size:11px}
html .student-dashboard .work-panel .row-copy {flex-basis:65%;min-width:0}
html .task-count {display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 9px;background:#eee7f2;border-radius:9px;font-size:13px;font-weight:500;letter-spacing:0}
html .home-feedback {border-top:1px solid var(--line);padding-top:20px;margin-top:8px}
html .home-feedback>.muted {margin-bottom:7px}
html .home-feedback h3 {margin:0;font-size:16px}
html .home-feedback .section-heading>strong {white-space:nowrap}
html .home-feedback .multiline {font-size:14px;color:var(--muted);margin:0}
html .recent-results {min-width:0;min-height:330px}
html .recent-results h2 {margin-bottom:5px}
html .recent-results>.muted {font-size:13px;margin-bottom:28px}
html .recent-plot {display:flex;gap:10px;min-width:0}
html .recent-axis {display:flex;flex-direction:column;justify-content:space-between;height:150px;flex:0 0 25px;font-size:11px;color:var(--muted);line-height:1}
html .recent-bars {display:flex;gap:18px;flex:1;min-width:0;background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 75px/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 149px/100% 1px no-repeat}
html .recent-column {flex:1;min-width:0;text-align:center}
html .recent-track {height:150px;display:flex;align-items:flex-end;justify-content:center}
html .recent-bar {position:relative;height:var(--value);width:70%;max-width:82px;background:linear-gradient(100deg,#cfc4dc,#c4b7d3);border-radius:6px 6px 0 0;box-shadow:inset 0 1px 1px #ffffff70}
html .recent-column.latest .recent-bar {background:linear-gradient(100deg,#b4c8d9,#95aec5)}
html .recent-bar>span {position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);font-size:13px;font-weight:600;white-space:nowrap}
html .recent-label {display:block;margin-top:10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}
html .recent-footer {display:flex;justify-content:flex-end;margin-top:8px}
html body[data-page=login] {background:var(--paper)}
html .login-layout {box-shadow:var(--lift);border:1px solid #fff}
html .login-art {background:#eee7f2}
html .login-logo {box-sizing:border-box;width:100px;height:100px;object-fit:contain;border-radius:50%;padding:10px;box-shadow:var(--small-lift);background:#fff}
html .mobile-logo img {display:block;box-sizing:border-box;width:100%;aspect-ratio:1;object-fit:contain;border-radius:50%;padding:7px;background:#fff;box-shadow:var(--small-lift)}
html .login-school,html .login-help,html .login-school span,html .login-entry .eyebrow {color:var(--muted)}
html .login-entry h1 {font-size:34px;color:var(--ink)}
html .login-entry input {border-color:#d6dfe4}
@media(min-width:768px) and (max-width:1100px) {
  html .sidebar {width:88px;padding:20px 6px;left:12px}
  html .brand {width:70px;margin-bottom:26px}
  html .sidebar nav a {font-size:10px;padding:12px 2px;gap:6px}
  html .sidebar:after {content:'EFA';padding:16px 0;text-align:center}
  html .workspace {margin-left:112px;padding:0 24px 40px}
  html .student-dashboard {gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  html .student-dashboard>.hero>h2 {font-size:27px}
  html .panel,html .hero {padding:22px}
}
@media(max-width:767px) {
  html .workspace {margin:0;padding:0 18px calc(106px + env(safe-area-inset-bottom))}
  html header {height:76px}
  html main {padding-top:14px}
  html .mobile-logo {width:72px}
  html h1,html .heading h1,html .greeting h1 {font-size:29px}
  html .greeting {gap:7px;margin-bottom:24px}
  html .today {font-size:13px}
  html .student-dashboard {display:flex;flex-direction:column;gap:24px}
  html .student-dashboard>section {width:100%;min-height:0}
  html .student-dashboard>.hero {min-height:0}
  html .student-dashboard>.hero>h2 {font-size:28px}
  html .hero,html .panel,html .card,html .feedback {padding:22px 20px;border-radius:21px}
  html .hero>strong {font-size:16px}
  html .hero>p {font-size:13px}
  html .hero .primary {width:auto;min-height:46px}
  html .student-dashboard>.hero>.primary {margin-top:0}
  html .dashboard {margin:0;padding:0;gap:24px}
  html .dashboard-side {padding:0;border:0}
  html .section-heading {gap:10px;flex-wrap:wrap}
  html .section-heading h2,html .panel h2 {font-size:19px}
  html .recent-bars {gap:12px}
  html .recent-label {font-size:11px}
  html .recent-results>.muted {margin-bottom:28px}
  html .metrics {gap:10px}
  html .metric,html .home-metrics .metric:first-child,html .home-metrics .metric:nth-child(2) {padding:15px 10px;border-radius:17px}
  html .metric strong {font-size:25px}
  html .metric span,html .metric small {font-size:11px}
  html .list-row .row-copy {min-width:0}
  html .week-strip {gap:2px;padding:5px}
  html .week-strip button {min-width:0;padding:8px 2px}
  html .day-agenda {padding:20px}
  html .editor {padding:22px 18px}
  html #mobile-nav {background:#fffdfaf5;border:1px solid #fff;box-shadow:0 -5px 22px #4353680e;backdrop-filter:blur(14px)}
  html .login-entry {padding:28px 24px}
  html .login-layout {box-shadow:none;border:0}
  html .login-logo {width:76px;height:76px;padding:8px}
  html .login-entry h1 {font-size:29px}
}
@media print {html body{background:#fff}html :is(.panel,.card,.hero,.metric,.sidebar,.chart-card){box-shadow:none}}

.assignment-materials label{display:flex;flex-direction:row;align-items:center;gap:12px;font-weight:400}.assignment-materials input{width:20px;height:20px;min-height:20px;flex-shrink:0}.assignment-materials span{overflow-wrap:anywhere;min-width:0}

/* Balanced school pastels: neutral paper, mint, lilac, peach and dusty rose. */
html:root {--paper:#f6f5f4;--ink:#292d35;--muted:#6d6b73;--line:#e4e1e5;--blue:#6e5b83;--red:#a6535c;--mint:#e0eee6;--lavender:#ece3f3;--orange:#f7e5d4;--pink:#f3dfe1;
 --lift:inset 0 1px 1px #fff,inset 0 -2px 3px #63566d09,0 3px 5px #554b600a,0 12px 18px -10px #554b6036,0 26px 34px -17px #554b602c;}
html a,html .text-link,html .result-copy::after {color:#6e5b83}
html .sidebar nav a.active,html #mobile-nav a.active {background:#e8def1;color:#665078}
html .sidebar nav a:hover {background:#f0eaf5}
html .primary,html .login-entry .primary {background:linear-gradient(135deg,#e4d6f0,#d4c1e4);color:#473451;box-shadow:inset 0 1px 0 #ffffffb0,0 5px 10px #70598220}
html .primary:hover,html .login-entry .primary:hover {background:#ccbadc;color:#473451}
html .secondary {background:#edf2ee;color:#42634e}
html .hero {background:linear-gradient(130deg,#f9f5fc,#ece2f3)}
html .student-dashboard>.recent-results {background:linear-gradient(145deg,#fff 15%,#edf5ef)}
html .upcoming {background:linear-gradient(145deg,#fff 20%,#fcf1e6)}
html .date-tile {background:#f5dfc8;color:#76533a}
html .avatar {background:#f2dfe2;color:#79464f}
html .tile,html .list-row:nth-of-type(3n) .tile,html .list-row:nth-of-type(3n + 1) .tile {background:#f6e2cf;color:#856044}
html .task-count {background:#e0eee4;color:#47654f}
html .metric-arrow {background:#ece2f3;color:#715982}
html .pill.red {background:#f4dfe2;color:#924751}
html .pill.green {background:#dfede3;color:#466a50}
html .pill.blue {background:#e9e0f2;color:#715782}
html .pill.orange {background:#f7e6d4;color:#886039}
html .tabs button[aria-pressed=true],html .route-tabs a.selected {color:#715782;border-color:#b9a2ca}
html .recent-bar {background:linear-gradient(100deg,#bcd8c5,#a8cbb4)}
html .recent-column:nth-child(2) .recent-bar {background:linear-gradient(100deg,#d8c7e6,#c7b3d8)}
html .recent-column.latest .recent-bar {background:linear-gradient(100deg,#e6b7bc,#dca2ab)}
html .bar-track i {background:#b9d2c0}
html .bar-item:nth-child(2n) .bar-track i {background:#ccbadd}
html .bar-item:nth-child(3n) .bar-track i {background:#e9c3a0}
html .result-meter i {background:#b9cdbf}
html .chart-card polyline {stroke:#a58ab9}
html .week-strip button.has-lesson {background:#e1eee5;color:#47634e}
html .week-strip button[aria-pressed=true],html .week-strip button.has-lesson[aria-pressed=true] {background:#ece2f3;color:#654d78;box-shadow:inset 0 0 0 2px #bda6ce}
html .week-agenda .list-row {background:#e7f1ea;border-left-color:#a6c4ae}
html .group-number {background:#e2eee6;color:#46604d}
html .group-grid .card:nth-child(3n + 2) .group-number {background:#eee1f4;color:#705581}
html .group-grid .card:nth-child(3n) .group-number {background:#f7e3d0;color:#845c39}
html .group-grid .card:nth-child(4n) .group-number {background:#f3dfe2;color:#89515b}
html .button.danger {background:#f4dfe2;color:#924751}
html input[type=checkbox],html .chart-range {accent-color:#a28ab5}
html .login-art {background:#e7efe9}
html input:not([type=checkbox]):not([type=radio]):not([type=range]),html textarea,html select {background:#faf9fb;border-color:#ded9e3}

/* Server-inspired mint base; the additional pastels remain small accents. */
html:root {--paper:#f2f5f4;--blue:#42685d;--mint:#dceee5;--lavender:#eee8f3}
html a,html .text-link,html .result-copy::after {color:#42685d}
html .sidebar nav a.active,html #mobile-nav a.active {background:#deece5;color:#365b4c}
html .sidebar nav a:hover {background:#edf3ef}
html .primary,html .login-entry .primary {background:linear-gradient(135deg,#dceee3,#c6dfd1);color:#294f3b;box-shadow:inset 0 1px 0 #ffffffb0,0 5px 10px #52796020}
html .primary:hover,html .login-entry .primary:hover {background:#bed8c9;color:#294f3b}
html .hero {background:linear-gradient(130deg,#f6fbf8,#dfede5)}
html .student-dashboard>.recent-results {background:#fff}
html .upcoming {background:linear-gradient(145deg,#fff 40%,#fcf4eb)}
html .metric-arrow {background:#f1e8f4;color:#766183}
html .tabs button[aria-pressed=true],html .route-tabs a.selected {color:#42685d;border-color:#9fbfad}
html .week-strip button[aria-pressed=true],html .week-strip button.has-lesson[aria-pressed=true] {background:#e1eee5;color:#365b4c;box-shadow:inset 0 0 0 2px #a0beac}
html .week-agenda .list-row {background:#e8f1eb;border-left-color:#a6c4ae}
html input[type=checkbox],html .chart-range {accent-color:#7ea78f}
html input:not([type=checkbox]):not([type=radio]):not([type=range]),html textarea,html select {background:#fafbfa;border-color:#d9e1dc}

/* Small warm accents, keeping the mint base calm. */
html .task-count {background:#f6e3d1;color:#805b3e}
html .date-tile {background:#f4ddc5;color:#79583e}
html .avatar {background:#f1dde0;color:#84525b}
html .student-dashboard .home-feedback>.text-link {color:#9a6066}
html .recent-column.latest .recent-bar {background:linear-gradient(100deg,#e5bcc0,#dcaab2)}
html .metric-arrow {background:#f5e2d4;color:#8a6349}

/* Balance mint with small blue and lilac surfaces. */
html .sidebar nav a.active,html #mobile-nav a.active {background:#eae3f2;color:#6b587c}
html .sidebar nav a:hover {background:#f0edf6}
html .student-dashboard>.recent-results {background:linear-gradient(145deg,#fff 30%,#edf3fa)}
html .recent-bar {background:linear-gradient(100deg,#c0d3e6,#abc3dc)}
html .recent-column:nth-child(2) .recent-bar {background:linear-gradient(100deg,#d8c7e6,#c7b3d8)}
html .recent-column.latest .recent-bar {background:linear-gradient(100deg,#e5bcc0,#dcaab2)}
html .student-dashboard .home-feedback {background:#f6f2fa;border-top:0;border-radius:14px;padding:16px;margin-top:12px}
html .secondary:not(.danger) {background:#eaf0f7;color:#4b627c}
html .week-agenda .list-row {background:#edf0f9;border-left-color:#b8b6d7}
html .bar-track i {background:#b6cce1}
html .bar-item:nth-child(2n) .bar-track i {background:#ccbadd}
html .bar-item:nth-child(3n) .bar-track i {background:#e9c3a0}
html .result-meter i {background:#b7badb}
html .chart-card:nth-child(2n) {background:linear-gradient(145deg,#fff 35%,#f3edf8)}

/* Quiet author credit after page content, clear of the mobile navigation. */
html .developer-credit {max-width:1280px;margin:40px auto 0;padding:16px 0 4px;text-align:center;font-size:11px;line-height:1.6;font-weight:400;letter-spacing:.025em;color:#7b7c80}
html .developer-credit a {display:inline-block;padding:5px 2px;color:inherit;text-decoration:none;text-underline-offset:3px}
html .developer-credit a:hover,html .developer-credit a:focus-visible {color:#545962;text-decoration:underline}
html body[data-page=login] .developer-credit {margin-top:16px;width:100%;align-self:end}
@media(max-width:767px){html .developer-credit{margin-top:28px;padding-top:12px}html body[data-page=login] .developer-credit{margin:0;padding:12px 20px calc(20px + env(safe-area-inset-bottom))}}

/* Monthly calendar: seven columns, with horizontal scrolling on small screens. */
.month-schedule{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.month-picker{display:grid;gap:8px;text-align:center;min-width:0}
.month-picker>span{font-weight:700;text-transform:capitalize}
.month-picker input{width:100%;max-width:220px;margin:auto}
.month-calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:840px}
.month-weekday{padding:12px;text-align:center;background:#edf4ef;font-weight:700;border-bottom:1px solid var(--line)}
.month-cell{min-width:0;min-height:130px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.month-cell:nth-child(7n){border-right:0}.month-cell:nth-last-child(-n+7){border-bottom:0}
.month-cell h3{margin:0 0 10px;font-size:14px}.month-cell-empty{background:#f6f7f5}
.month-today{background:#fff7eb}.month-today h3{color:#99531a}
.month-lesson{display:grid;gap:5px;padding:8px;margin-top:8px;background:#e8f3ed;border-left:3px solid #86b29e;border-radius:6px;color:var(--ink);overflow-wrap:anywhere}
.month-lesson:hover{background:#d9ecdf}.month-lesson:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.month-lesson strong{font-size:13px;line-height:1.4}.month-lesson small,.month-lesson-time{font-size:11px;line-height:1.4}
.row-copy small.late{background:#f9dfe1;border-radius:4px;box-shadow:0 0 0 2px #f9dfe1;width:fit-content;max-width:100%}
@media(max-width:767px){.month-picker>span{font-size:14px}.month-schedule{margin-top:24px}}
