/* Academic screens share one quiet sheet, with source values kept intact. */
.beta .week-control > span { padding-block:7px; }
.beta .week-control > span > small { display:block; color:var(--ui-muted,#6b7480); font-size:10px; font-weight:400; }
.beta .day-strip button > small { display:block; font-size:10px; line-height:1.2; }
.beta .day-label h2 { text-transform:none; min-width:0; font-size:18px; line-height:1.4; }
.beta .day-weekday { display:block; }
.beta .day-weekday::first-letter { text-transform:uppercase; }
.beta .day-date { display:block; margin-top:3px; color:var(--ui-muted,#6b7480); font-size:13px; line-height:1.5; font-weight:400; letter-spacing:0; }
.beta .day-label > button { flex-shrink:0; }
.beta .grade-search-feedback { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 12px; margin:0 0 12px; }
.beta .grade-search-feedback p { font-size:12px; color:var(--ui-muted,#6b7480); }
.beta .academic-document {
  --document-text:var(--ui-text,#18232f);
  --document-muted:var(--ui-muted,#6b7480);
  --document-border:var(--ui-border,#dde2e7);
  position:relative;
  min-width:0;
  padding:24px 26px 14px;
  margin:0 0 24px;
  border:1px solid var(--document-border);
  border-radius:4px;
  background:var(--ui-surface,#fff);
  color:var(--document-text);
  box-shadow:0 3px 0 -1px var(--ui-soft,#f0f2f5),0 4px 0 var(--document-border);
}
.beta .academic-document-masthead {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:16px;
  margin-bottom:24px;
  border-bottom:2px solid var(--document-text);
  color:var(--document-muted);
  font-size:10px;
  line-height:1.4;
  font-weight:650;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.beta .academic-document-masthead > :first-child { color:var(--document-text); }
.beta .academic-document .study-passport-top { flex-wrap:wrap; gap:8px 16px; margin-bottom:12px; }
.beta .academic-document .passport-label,.beta .academic-document-kicker {
  margin:0;
  font-size:12px;
  line-height:1.5;
  letter-spacing:.03em;
  font-weight:500;
  color:var(--document-muted);
}
.beta .academic-document .study-group-tag { padding:0; border:0; border-radius:0; background:transparent; color:var(--document-muted); font-size:12px; }
.beta .academic-document .academic-document-name,.beta .academic-document-header h1 {
  margin:0 0 23px;
  color:var(--document-text);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,3.4vw,36px);
  line-height:1.2;
  font-weight:400;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
.beta .academic-document-header h1 { margin-top:10px; }
.beta .academic-document .person-fields { margin:0; padding:0; }
.beta .academic-document .person-fields > div {
  display:grid;
  grid-template-columns:minmax(95px,.75fr) minmax(0,1.65fr);
  gap:12px 24px;
  margin:0;
  padding:13px 0;
  border:0;
  border-top:1px solid var(--document-border);
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.beta .academic-document .person-fields dt { color:var(--document-muted); font-size:12px; line-height:1.65; font-weight:400; }
.beta .academic-document .person-fields dd { color:var(--document-text); font-size:14px; line-height:1.6; font-weight:500; overflow-wrap:anywhere; }
.beta .academic-document .passport-link { margin-top:12px; padding:14px 0 4px; border-top:1px solid var(--document-border); color:var(--ui-accent,#2856ce); font-size:12px; }
.beta .academic-document #beta-profile-metrics { margin-top:16px; padding-top:12px; border-top:1px solid var(--document-border); }
.beta .academic-document #beta-profile-metrics > summary { color:var(--document-muted); font-size:12px; }
.beta .academic-document-note { margin:24px 0 8px; color:var(--document-muted); font-size:11px; }
.beta .academic-document-full { padding-bottom:22px; }
/* A timetable reads down a single time rail; lesson metadata stays together. */
.beta .lesson-timeline { gap:10px; }
.beta .lesson-row { grid-template-columns:58px minmax(0,1fr); gap:16px; }
.beta .lesson-time { padding-top:18px; gap:5px; }
.beta .lesson-time strong { color:var(--ui-text,#18232f); font-size:15px; line-height:1.3; font-weight:750; }
.beta .lesson-time span { color:var(--ui-muted,#6b7480); font-size:12px; }
.beta .lesson-time::after { right:-10px; top:24px; width:4px; height:4px; background:var(--ui-accent,#2856ce); }
.beta .lesson-body,.beta .lesson-body.amber,.beta .lesson-body.mint {
  padding:17px 18px;
  border:1px solid var(--ui-border,#dde2e7);
  border-radius:14px;
  background:var(--ui-surface,#fff);
  color:var(--ui-text,#18232f);
}
.beta .lesson-body:hover { border-color:var(--ui-accent,#2856ce); }
.beta .lesson-body:is(.amber,.mint,.blue) .lesson-kind { order:0; margin:0 0 6px; color:var(--ui-accent,#2856ce); font-size:11px; font-weight:650; }
.beta .lesson-body .lesson-title { order:1; padding:0; color:var(--ui-text,#18232f); font-size:16px; line-height:1.5; letter-spacing:-.3px; }
.beta .lesson-body .lesson-meta { order:2; display:flex; flex-wrap:wrap; gap:7px 18px; margin-top:12px; }
.beta .lesson-body :is(.lesson-place,.lesson-teacher) { display:flex; align-items:flex-start; gap:5px; min-width:0; margin:0; color:var(--ui-muted,#6b7480); font-size:12px; line-height:1.5; }
.beta .lesson-meta .ui-icon { flex:none; width:14px; height:17px; margin:0; color:var(--ui-muted,#6b7480); }
.beta .lesson-meta > span > span { min-width:0; overflow-wrap:anywhere; }
.beta .lesson-detail.detail-sheet { padding:28px; border:1px solid var(--ui-border,#dde2e7); border-radius:18px; background:var(--ui-surface,#fff); color:var(--ui-text,#18232f); }
.beta .lesson-detail-header > p { margin:0 0 18px; color:var(--ui-muted,#6b7480); font-size:13px; text-transform:none; }
.beta .lesson-detail-header > p::first-letter { text-transform:uppercase; }
.beta .lesson-detail-header .lesson-kind { margin:0 0 9px; color:var(--ui-accent,#2856ce); font-size:12px; font-weight:650; }
.beta .lesson-detail-header h1 { margin:0; color:var(--ui-text,#18232f); font-size:clamp(25px,3.4vw,36px); line-height:1.25; letter-spacing:-1px; text-wrap:pretty; }
.beta .lesson-detail-time { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; justify-content:start; gap:10px 16px; margin:26px 0 0; padding:22px 0; border-color:var(--ui-border,#dde2e7); }
.beta .lesson-detail-time > span:first-child { display:block; }
.beta .lesson-detail-time small { margin-bottom:3px; color:var(--ui-muted,#6b7480); font-size:11px; }
.beta .lesson-detail-time strong { color:var(--ui-text,#18232f); font-size:clamp(21px,3vw,30px); font-weight:650; line-height:1.4; letter-spacing:-.8px; }
.beta .lesson-time-divider { color:var(--ui-muted,#6b7480); font-size:20px; }
.beta .lesson-detail-time .lesson-duration { grid-column:1/-1; font-size:12px; color:var(--ui-muted,#6b7480); white-space:normal; }
.beta .lesson-detail-facts > div { display:grid; grid-template-columns:minmax(105px,.65fr) minmax(0,1.6fr); gap:12px 20px; padding:20px 0; margin:0; border:0; border-bottom:1px solid var(--ui-border,#dde2e7); border-radius:0; background:transparent; }
.beta .lesson-detail-facts > div:last-child { border-bottom:0; padding-bottom:0; }
.beta .lesson-detail-facts .lesson-detail-label { margin:0; color:var(--ui-muted,#6b7480); font-size:12px; line-height:1.6; }
.beta .lesson-detail-facts :is(strong,p) { margin:0; color:var(--ui-text,#18232f); font-size:14px; line-height:1.6; font-weight:500; overflow-wrap:anywhere; }
.beta .lesson-detail-facts .lesson-location strong { font-size:18px; font-weight:650; }
/* Teachers are visible before opening a discipline, beside its academic context. */
.beta .course-teacher { display:block; margin:5px 0 0; color:var(--ui-muted,#6b7480); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.beta .course-item > summary { border:1px solid var(--ui-border,#dde2e7); background:var(--ui-surface,#fff); }
.beta .course-label strong { color:var(--ui-text,#18232f); }
.beta .course-label small { color:var(--ui-muted,#6b7480); }
.beta .course-detail { border-color:var(--ui-border,#dde2e7); background:var(--ui-surface,#fff); }
.beta .task-row { border-color:var(--ui-border,#dde2e7); }
.beta .task-work strong { color:var(--ui-text,#18232f); }
.beta .course-totals > span,.beta .task-work :is(small,p) { color:var(--ui-muted,#6b7480); }
.beta .course-totals strong { color:var(--ui-text,#18232f); }
@media (min-width:800px) {
  .beta .academic-document { padding:32px 40px 24px; }
  .beta .academic-document .person-fields > div { grid-template-columns:minmax(150px,.65fr) minmax(0,1.65fr); padding:16px 0; }
  .beta .academic-document .person-fields dt { font-size:13px; }
  .beta .academic-document .person-fields dd { font-size:15px; }
  .beta .lesson-row { grid-template-columns:76px minmax(0,1fr); gap:24px; }
  .beta .lesson-time::after { right:-14px; }
  .beta .lesson-body { padding:20px 24px; }
  .beta .lesson-body .lesson-meta { gap:10px 26px; }
  .beta .lesson-body .lesson-title { font-size:18px; }
  .beta .lesson-detail.detail-sheet { padding:38px; }
  .beta .lesson-detail-time { grid-template-columns:140px 26px 140px minmax(0,1fr); }
  .beta .lesson-detail-time .lesson-duration { grid-column:auto; justify-self:end; }
  .beta .course-item > summary { padding:20px 24px; }
  .beta .course-label strong { font-size:17px; }
}
@media (max-width:359px) {
  .beta .academic-document { padding:20px 17px 12px; }
  .beta .academic-document-masthead { margin-bottom:20px; font-size:9px; }
  .beta .academic-document .person-fields > div { grid-template-columns:minmax(76px,.7fr) minmax(0,1.3fr); gap:10px; }
  .beta .academic-document .person-fields dt { font-size:11px; }
  .beta .academic-document .person-fields dd { font-size:12px; }
  .beta .lesson-row { grid-template-columns:47px minmax(0,1fr); gap:12px; }
  .beta .lesson-time strong { font-size:13px; }
  .beta .lesson-time::after { right:-8px; }
  .beta .lesson-body { padding:14px 12px; }
  .beta .lesson-body .lesson-title { font-size:14px; }
  .beta .lesson-body .lesson-meta { gap:7px; }
  .beta .lesson-body :is(.lesson-place,.lesson-teacher) { font-size:11px; }
  .beta .lesson-detail.detail-sheet { padding:22px 18px; }
  .beta .lesson-detail-facts > div { grid-template-columns:1fr; gap:5px; padding:17px 0; }
}
