/* Student entry and workspace share the OxenFinans color, surface and spacing system. */
:root {
  font-family: 'DM Sans', Inter, ui-sans-serif, system-ui, sans-serif;
  color: #f7f8fb;
  background: #202938;
}

body {
  background: #202938;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible {
  outline: 2px solid #ffbf94;
  outline-offset: 3px;
}

.student-workspace {
  width: min(1920px, 100%);
  max-width: none;
  min-height: 100dvh;
  padding: 22px clamp(16px, 1.6vw, 34px) 90px;
}

.student-workspace .workspace-navigation {
  display: grid;
  gap: 18px;
}

.student-workspace .workspace-header,
.student-workspace .tabs {
  border: 1px solid #ffffff25;
  border-radius: 26px;
  background: linear-gradient(135deg, #3a485c, #344054);
  box-shadow: inset 0 1px 0 #ffffff12;
}

.student-workspace .card {
  border: 1px solid #ffffff25;
  border-radius: 26px;
  color: #f7f8fb;
  background: linear-gradient(135deg, #3a485c, #344054);
  box-shadow: inset 0 1px 0 #ffffff12;
}

.student-workspace .card { padding: clamp(20px, 2vw, 32px); }
.student-workspace .card .muted { color: #b7c4d2; }
.student-workspace .eyebrow { margin: 0; color: #ffad77; font-size: 12px; letter-spacing: .17em; }
.student-workspace .workspace-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 0; min-height: 138px; padding: 22px 28px; }
.workspace-identity { display: flex; align-items: center; gap: 16px; min-width: 0; }

.workspace-avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 76px;
  height: 76px;
  border: 1px solid #ffad7742;
  border-radius: 21px;
  color: #ffd3b3;
  background: linear-gradient(145deg, #ffad772e, #ffad7710);
  font-size: 25px;
  font-weight: 800;
}

.workspace-identity h1 { margin: 5px 0; font-size: clamp(25px, 2vw, 34px); line-height: 1.12; }
.workspace-identity p { margin: 0; color: #bfcbd8; font-size: 13px; }
.workspace-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex: none; }
.workspace-brand { display: flex; align-items: center; gap: 8px; color: #e8edf5; font-size: 16px; font-weight: 800; white-space: nowrap; }
.workspace-brand .brand-mark { width: 32px; height: 32px; border-radius: 10px; font-size: 18px; }
.workspace-actions .quiet { display: inline-flex; align-items: center; gap: 10px; min-height: 39px; border-color: #ffffff34; color: #f7f8fb; font-size: 12px; font-weight: 800; }
.workspace-actions .quiet:hover { border-color: #ffad7780; background: #ffad771a; }

.student-workspace .teacher-overview { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 18px; align-items: stretch; margin-top: 18px; }
.student-workspace .teacher-panel { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; margin: 0; padding: 24px 27px; }
.teacher-panel__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.teacher-panel h2 { margin: 5px 0 4px; font-size: clamp(21px, 1.6vw, 25px); }
.teacher-panel__top p:last-child { margin: 0; color: #b9c5d3; font-size: 12px; }
.join-disclosure { position: relative; flex: none; z-index: 3; }

.join-disclosure summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid #ffb27e;
  border-radius: 11px;
  color: #272320;
  background: #ffad77;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.join-disclosure summary::-webkit-details-marker { display: none; }
.join-disclosure summary:hover { background: #ffc191; }

.join-disclosure .join-form {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  display: grid;
  gap: 14px;
  width: min(360px, calc(100vw - 40px));
  max-width: none;
  padding: 20px;
  border: 1px solid #ffffff3d;
  border-radius: 18px;
  background: #29384e;
  box-shadow: 0 22px 55px #111b2db3;
}

.join-form label { display: grid; gap: 7px; color: #e4ebf3; font-size: 12px; font-weight: 750; }
.join-form label small { color: #b3c0d0; font-weight: 500; }
.join-form input { min-width: 0; height: 45px; border-color: #ffffff35; color: #fff; background: #223047; }
.join-form input::placeholder { color: #aebaca; }
.join-form button { background: #ffad77; color: #272320; }
.join-form button:hover { background: #ffc191; }
.teacher-list { display: flex; gap: 10px; overflow-x: auto; margin-top: 14px; padding: 0 0 3px; }

.student-workspace .teacher-chip {
  flex: 0 0 auto;
  min-width: 230px;
  max-width: 300px;
  min-height: 64px;
  padding: 9px 12px;
  border-color: #ffffff2d;
  border-radius: 17px;
  background: #2534498c;
  color: #f7f8fb;
}

.student-workspace .teacher-chip:hover { border-color: #ffad7780; }
.student-workspace .teacher-chip.selected { border-color: #ffad77a6; background: #ffad771f; color: #fff; }
.student-workspace .teacher-chip .avatar { width: 39px; height: 39px; border-radius: 11px; background: #ffad7727; color: #ffc79e; }
.student-workspace .teacher-chip.selected .avatar { background: #ffad77; color: #263145; }
.student-workspace .teacher-chip > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.teacher-chip strong { font-size: 14px; }
.teacher-chip small { color: #b9c6d4; font-size: 12px; opacity: 1; }
.teacher-chip__arrow { margin-left: auto; color: #ffad77; font-size: 18px; }

.student-workspace .content { margin-top: 18px; }
.student-workspace .course-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; min-height: 108px; }
.course-header h2 { margin: 4px 0 3px; font-size: clamp(25px, 2.1vw, 33px); }
.course-header p:last-child { margin: 0; color: #bdc9d7; font-size: 12px; }

.course-header__mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 53px;
  height: 53px;
  border: 1px solid #ffad7755;
  border-radius: 15px;
  color: #ffbf94;
  background: #ffad7716;
  font-size: 24px;
  font-weight: 800;
}

.student-workspace .tabs {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 16px;
  overflow-x: auto;
}

.student-workspace .tabs button {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 128px;
  min-height: 98px;
  padding: 12px 15px;
  border: 1px solid #ffffff32;
  border-radius: 17px;
  color: #f1f4f8;
  background: linear-gradient(145deg, #ffffff13, #ffffff05), #2836499c;
  font-size: 14px;
  font-weight: 800;
}

.student-workspace .tabs svg { width: 21px; height: 21px; fill: none; stroke: #cbd7e5; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-workspace .tabs button:hover { border-color: #ffad777a; }
.student-workspace .tabs button.active { border-color: #ffad779d; color: #ffe0ca; background: #ffad771e; }
.student-workspace .tabs button.active svg { stroke: #ffbc8c; }
.student-workspace .metric-grid { gap: 16px; margin-bottom: 22px; }
.student-workspace .metric { min-height: 158px; gap: 10px; }
.student-workspace .metric span { color: #b9c5d3; font-size: 13px; }
.student-workspace .metric strong { color: #f7f8fb; font-size: clamp(24px, 2.4vw, 36px); letter-spacing: -.045em; }
.student-workspace .metric small { color: #aebdcd; font-size: 12px; }
.student-workspace .metric--balance strong { color: #ffad77; }
.finance-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }
.student-workspace .finance-grid .card { min-width: 0; }
.panel-heading { margin-bottom: 16px; }
.panel-heading h3 { margin: 0 0 5px; font-size: 23px; }
.panel-heading p { margin: 0; color: #afbdcd; font-size: 13px; }
.student-workspace .row { min-height: 70px; border-bottom-color: #ffffff23; }
.student-workspace .row strong { font-size: 14px; }
.student-workspace .row small { color: #b3c0d0; font-size: 12px; }
.student-workspace .row > span { color: #ffbf94; font-weight: 800; white-space: nowrap; }
.empty-state { display: grid; align-content: center; min-height: 120px; color: #b9c5d3; }
.empty-state > span { color: #ffad77; font-size: 25px; }
.empty-state p { margin: 9px 0 0; }
.student-workspace .item-grid { gap: 18px; }
.lesson-attendance { margin-bottom: 24px; }
.lesson-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.lesson-section-heading h3 { margin: 0 0 5px; font-size: 24px; }
.lesson-section-heading p { margin: 0; color: #b9c5d3; font-size: 13px; }
.student-workspace .lesson-card,
.student-workspace .item-grid > .card { min-height: 220px; }
.notebook-days { display: grid; gap: 13px; }
.notebook-day { overflow: hidden; border: 1px solid #ffffff2d; border-radius: 22px; background: linear-gradient(135deg, #344257, #2d3b50); box-shadow: inset 0 1px #ffffff12; }
.notebook-day[open] { border-color: #ffad7761; }
.notebook-day__summary { display: flex; align-items: center; gap: 17px; min-height: 91px; padding: 16px 22px; cursor: pointer; list-style: none; }
.notebook-day__summary::-webkit-details-marker { display: none; }
.notebook-day__summary:hover { background: #ffffff09; }
.notebook-day__calendar { display: grid; place-items: center; flex: none; width: 53px; height: 53px; border: 1px solid #ffad7757; border-radius: 15px; color: #ffc59d; background: #ffad771a; font-size: 20px; font-weight: 800; }
.notebook-day__heading { display: grid; gap: 5px; min-width: 0; }
.notebook-day__heading strong { font-size: clamp(16px, 1.4vw, 20px); text-transform: capitalize; }
.notebook-day__heading small { color: #b9c6d5; font-size: 12px; }
.notebook-day__chevron { display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin-left: auto; border: 1px solid #ffffff2c; border-radius: 11px; color: #ffd0ad; font-size: 24px; line-height: 1; transition: transform .2s ease; }
.notebook-day[open] .notebook-day__chevron { transform: rotate(180deg); }
.notebook-day__content { padding: 0 22px 22px; border-top: 1px solid #ffffff16; }
.notebook-day__content .item-grid { padding-top: 21px; }
.student-workspace .item-top small { color: #b9c5d3; }
.student-workspace .pill { color: #ffcfaa; background: #ffad7726; }
.student-workspace .homework { color: #243349; background: #ffe9d7; }
.student-workspace .asset-link,
.student-workspace .video-detail summary { color: #ffcb9f; background: #233246; }
.student-workspace .asset-link { display: flex; align-items: center; gap: 10px; }
.student-workspace .asset-link span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; color: #243349; background: #ffad77; }
.student-workspace .asset-link:hover { color: #ffe2c8; background: #1b2a40; }
.student-workspace .empty.card { max-width: none; }
.student-workspace .empty.card p { color: #b9c5d3; }
.document-topbar { padding: 18px max(22px, calc((100vw - 1420px) / 2)); background: #18263b; }
.document-topbar .brand { color: #f7f8fb; }
.document-topbar .brand > span { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #ffffff2e; border-radius: 9px; color: #ffc59d; font-size: 20px; }
.document-topbar > span { color: #b8c5d4; font-size: 13px; }
.document-topbar > span span { margin: 0 8px; color: #ffad77; }
.document-viewer.pdf-viewer,
.document-viewer.notebook-viewer { width: min(1460px, 100%); max-width: none; margin: 0 auto; padding: clamp(18px, 3vw, 38px) 20px 80px; }
.document-hero { position: relative; display: flex; justify-content: space-between; gap: 24px; overflow: hidden; min-height: 205px; padding: clamp(25px, 3vw, 42px); border: 1px solid #ffffff2c; border-radius: 28px; background: radial-gradient(circle at 90% 20%, #ffad7729, transparent 27%), linear-gradient(115deg, #3a485d, #2b3a4f); box-shadow: 0 20px 55px #0c17264a; }
.document-hero > div:first-child { position: relative; z-index: 1; }
.document-kicker { display: block; color: #ffbb8c; font-size: 11px; font-weight: 850; letter-spacing: .18em; }
.document-kicker span { padding: 0 6px; }
.document-course { display: inline-block; margin-top: 20px; padding: 6px 11px; border: 1px solid #ffad774d; border-radius: 999px; color: #ffd6b8; background: #ffad7718; font-size: 11px; font-weight: 800; letter-spacing: .03em; }
.document-course:empty { display: none; }
.document-hero h1 { max-width: 850px; margin: 12px 0 6px; color: #f8f9fb; font-size: clamp(26px, 3vw, 42px); line-height: 1.12; }
.document-hero p { margin: 0; color: #c2cedb; font-size: 14px; }
.document-hero p:empty { display: none; }
.document-hero__mark { align-self: center; display: grid; place-items: center; flex: none; width: 112px; height: 112px; border: 1px solid #ffad7757; border-radius: 30px; color: #ffd0ad; background: #ffad7718; font-size: 66px; font-weight: 900; letter-spacing: -.12em; transform: rotate(-8deg); }
.document-hero__mark span { color: #ffad77; }
.document-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 22px; margin-top: 24px; }
.document-reader,
.document-sidebar { min-width: 0; border: 1px solid #ffffff2a; border-radius: 24px; background: #344155; box-shadow: inset 0 1px #ffffff12, 0 18px 48px #0c172633; }
.document-reader { overflow: hidden; }
.document-reader__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 84px; padding: 17px 22px; border-bottom: 1px solid #ffffff1c; }
.document-reader__status { display: grid; gap: 5px; }
.document-reader__status span { color: #ffbf94; font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.document-reader__status strong { color: #f5f7fa; font-size: 15px; }
.document-reader__controls { display: flex; gap: 9px; }
.document-reader__controls button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 41px; padding: 9px 14px; border: 1px solid #ffad7769; border-radius: 10px; color: #ffcfab; background: #ffad7718; font-size: 13px; font-weight: 800; }
.document-reader__controls button:hover:not(:disabled) { background: #ffad7730; }
.document-reader__controls button:disabled { border-color: #ffffff20; color: #9cabbc; background: #ffffff08; cursor: default; opacity: 1; }
.document-page-frame { min-height: 460px; padding: clamp(16px, 3vw, 34px); background: radial-gradient(circle at center, #4b5a6e, #29374a); }
.document-viewer .pdf-stage { overflow: visible; text-align: center; }
.document-viewer .pdf-stage[hidden] { display: none; }
.document-viewer .pdf-stage canvas { display: block; width: min(100%, 780px); height: auto; margin: 0 auto; border-radius: 3px; background: #fff; box-shadow: 0 20px 45px #0b152b91, 0 0 0 1px #ffffff4d; }
.document-viewer .pdf-error { margin: 0; padding: 0 20px; }
.document-viewer .pdf-error:not(:empty) { padding: 16px 20px 22px; }
.document-warning { margin: 16px 22px 0; padding: 13px 16px; border: 1px solid #efbf6c80; border-radius: 11px; color: #ffe2b5; background: #654b2e70; font-size: 13px; }
.document-warning[hidden] { display: none; }
.document-sidebar { overflow: hidden; padding: 23px; }
.document-sidebar__intro h2 { margin: 13px 0 9px; color: #f8f9fb; font-size: 22px; }
.document-sidebar__intro p { margin: 0; color: #bdc9d7; font-size: 13px; }
.notebook-viewer__summary { display: grid; gap: 12px; margin-top: 23px; }
.notebook-viewer__summary[hidden] { display: none; }
.notebook-viewer__summary > div { padding: 17px; border: 1px solid #ffffff24; border-radius: 15px; background: #ffffff0d; }
.notebook-viewer__summary h2 { margin: 0 0 8px; color: #ffcb9f; font-size: 15px; }
.notebook-viewer__summary p { margin: 0; color: #d5dfea; font-size: 13px; white-space: pre-wrap; }

@media (max-width: 980px) {
  .student-workspace .workspace-header { min-height: 112px; padding: 16px 18px; }
  .workspace-avatar { width: 58px; height: 58px; font-size: 20px; }
  .workspace-brand { display: none; }
  .student-workspace .teacher-overview { grid-template-columns: 1fr; }
  .student-workspace .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-grid { grid-template-columns: 1fr; }
  .document-layout { grid-template-columns: 1fr; }
  .document-sidebar { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
  .notebook-viewer__summary { margin-top: 0; }
}

@media (max-width: 760px) {
  .student-workspace { padding: 16px 14px 65px; }
  .student-workspace .workspace-navigation { gap: 12px; }
  .student-workspace .workspace-header, .student-workspace .tabs { border-radius: 18px; }
  .student-workspace .workspace-header { align-items: flex-start; flex-direction: column; gap: 14px; min-height: 0; padding: 19px; }
  .workspace-avatar { width: 58px; height: 58px; border-radius: 16px; font-size: 23px; }
  .workspace-identity { gap: 14px; }
  .workspace-identity p { font-size: 13px; }
  .workspace-actions { width: 100%; justify-content: flex-end; padding-top: 10px; border-top: 1px solid #ffffff22; }
  .student-workspace .tabs { gap: 7px; padding: 8px; }
  .student-workspace .tabs button { min-height: 72px; }
  .teacher-panel__top { flex-direction: column; }
  .join-disclosure { width: 100%; }
  .join-disclosure summary { width: 100%; }
  .join-disclosure .join-form { right: auto; left: 0; width: min(100%, 390px); }
  .student-workspace .course-header { min-height: 0; }
  .course-header__mark { width: 52px; height: 52px; border-radius: 15px; font-size: 24px; }
  .student-workspace .tabs button { min-width: 110px; }
  .document-hero__mark { width: 75px; height: 75px; border-radius: 22px; font-size: 43px; }
}

@media (max-width: 480px) {
  .student-workspace .card { padding: 19px; border-radius: 20px; }
  .workspace-brand { font-size: 13px; }
  .workspace-actions .quiet { min-height: 39px; padding: 7px 11px; }
  .teacher-list { margin-top: 19px; }
  .student-workspace .teacher-chip { min-width: 230px; }
  .student-workspace .tabs button { min-width: 95px; min-height: 72px; padding: 9px; font-size: 12px; }
  .student-workspace .metric-grid { gap: 9px; }
  .student-workspace .metric { min-height: 125px; }
  .student-workspace .metric strong { font-size: clamp(20px, 5.1vw, 26px); }
  .student-workspace .metric small { font-size: 10px; }
  .notebook-day__summary { gap: 12px; min-height: 78px; padding: 12px 15px; }
  .notebook-day__calendar { width: 43px; height: 43px; border-radius: 12px; font-size: 17px; }
  .notebook-day__content { padding: 0 13px 14px; }
  .notebook-day__content .item-grid { padding-top: 14px; }
  .document-topbar { padding: 14px 16px; }
  .document-topbar > span { display: none; }
  .document-viewer.pdf-viewer,
  .document-viewer.notebook-viewer { padding: 15px 12px 55px; }
  .document-hero { min-height: 0; padding: 22px; border-radius: 20px; }
  .document-hero__mark { display: none; }
  .document-hero h1 { font-size: 27px; }
  .document-layout { gap: 13px; margin-top: 13px; }
  .document-reader,
  .document-sidebar { border-radius: 18px; }
  .document-reader__toolbar { flex-wrap: wrap; padding: 15px; }
  .document-reader__controls { width: 100%; }
  .document-reader__controls button { flex: 1; }
  .document-page-frame { min-height: 300px; padding: 13px; }
}

.learning-card{margin-bottom:24px}
.learning-card .panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.learning-card .panel-heading h3{margin:5px 0;font-size:21px}
.learning-card .panel-heading p{margin:0;color:#b9c5d3;font-size:13px}
.learning-percent{color:#ffb27e;font-size:28px;font-weight:800}
.learning-card progress{display:block;width:100%;height:10px;margin:16px 0 20px;accent-color:#ffad77}
.learning-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.learning-topic{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid #ffffff24;border-radius:12px;background:#172539a6}
.learning-topic>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:#ffffff10;color:#b9c5d3;font-size:17px}
.learning-topic--done>span{background:#6cc79a2b;color:#9ce1bb}
.learning-topic>div{display:grid;gap:3px;min-width:0;flex:1}
.learning-topic strong{font-size:12px;line-height:1.35}
.learning-topic small{color:#b9c5d3;font-size:10px;line-height:1.4}
.learning-topic b{flex:none;color:#b9c5d3;font-size:10px}
.learning-topic--done b{color:#9ce1bb}
@media(max-width:650px){.learning-topic-list{grid-template-columns:1fr}.learning-card .panel-heading h3{font-size:17px}.learning-percent{font-size:23px}}

/* OxenKoç goals share the existing student account and workspace. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.coaching-workspace { display: grid; gap: 18px; }
.coaching-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.coaching-intro h2 { margin: 7px 0 8px; font-size: clamp(26px, 2.5vw, 36px); }
.coaching-intro p:last-child { margin: 0; color: #bfccda; font-size: 14px; }
.coaching-coach { display: flex; align-items: center; gap: 12px; min-width: 0; }
.coaching-coach .avatar { width: 44px; height: 44px; border-radius: 13px; color: #ffd0ad; background: #ffad7726; }
.coaching-coach > div { display: grid; gap: 5px; min-width: 0; }
.coaching-coach small { color: #b9c6d4; font-size: 12px; }
.coaching-coach strong { overflow-wrap: anywhere; font-size: 14px; }
.coaching-goal-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 18px; }
.coaching-detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 18px; }
.coaching-workspace .card { min-width: 0; }
.student-workspace .coaching-destination { display: flex; flex-direction: column; align-items: flex-start; background: radial-gradient(circle at 100% 0, #ffad7729, transparent 65%), linear-gradient(135deg, #3a485c, #344054); }
.coaching-destination h3 { margin: 23px 0 9px; color: #fff6ed; font-size: clamp(25px, 2.3vw, 35px); line-height: 1.2; overflow-wrap: anywhere; }
.coaching-destination p { margin: 0 0 24px; color: #c4cedb; font-size: 14px; overflow-wrap: anywhere; }
.coaching-destination > small { margin-top: auto; color: #b6c4d3; font-size: 11px; }
.coaching-net .panel-heading h3, .coaching-availability .panel-heading h3 { font-size: 21px; }
.coaching-net table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.coaching-net thead th { padding: 11px 8px; border-bottom: 1px solid #ffffff28; color: #bbc8d6; font-size: 11px; font-weight: 600; text-align: right; }
.coaching-net thead th:first-child, .coaching-net tbody th { text-align: left; }
.coaching-net tbody th { padding: 16px 8px; border-bottom: 1px solid #ffffff1f; font-size: 14px; }
.coaching-net td { padding: 16px 8px; border-bottom: 1px solid #ffffff1f; color: #e4ebf3; font-size: 22px; font-weight: 800; text-align: right; }
.coaching-net td:last-child { color: #ffbf94; }
.coaching-note { margin: 13px 0 0; color: #bdc9d6; font-size: 11px; }
.coaching-availability ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.coaching-availability li { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 13px; border: 1px solid #ffffff24; border-radius: 12px; background: #23324680; }
.coaching-availability li strong { font-size: 12px; }
.coaching-availability li span { color: #ffcba4; font-size: 12px; white-space: nowrap; }
.coaching-followup h3 { margin: 13px 0 18px; font-size: 21px; }
.coaching-followup__date { margin: 0 0 7px; color: #ffcb9f; font-size: 25px; font-weight: 800; }
.coaching-followup .muted { font-size: 13px; }
.coaching-help { margin-top: 25px; padding-top: 18px; border-top: 1px solid #ffffff24; color: #c1cddb; font-size: 12px; line-height: 1.6; }
@media (max-width: 980px) {
  .coaching-availability ul { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .coaching-intro { align-items: flex-start; flex-direction: column; gap: 20px; }
  .coaching-goal-grid, .coaching-detail-grid { grid-template-columns: 1fr; gap: 13px; }
  .coaching-workspace { gap: 13px; }
  .coaching-coach { width: 100%; padding-top: 16px; border-top: 1px solid #ffffff24; }
  .coaching-availability ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .coaching-availability ul { grid-template-columns: 1fr; }
  .coaching-net .panel-heading h3, .coaching-availability .panel-heading h3 { font-size: 19px; }
  .coaching-net td { font-size: 21px; }
}

/* The student home uses the same navigation and overview hierarchy as OxenDers. */
.student-workspace { margin-inline: auto; }
.student-workspace .workspace-identity > div { min-width: 0; }
.student-workspace .workspace-identity h1 { overflow-wrap: anywhere; }
.student-workspace .workspace-actions { gap: 10px; }
.workspace-actions .workspace-icon-action { display: grid; place-items: center; flex: none; width: 66px; height: 66px; padding: 0; border: 1px solid #ffffff24; border-radius: 17px; background: #ffffff0b; color: #f8f3ef; }
.workspace-actions .workspace-icon-action:hover { border-color: #ffad7780; background: #ffad7721; }
.workspace-actions .workspace-icon-action svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-quick-menu { position: fixed; inset: auto 0 0; width: min(920px, calc(100vw - 24px)); max-height: calc(100dvh - 16px); margin: 0 auto; overflow: auto; padding: 24px 24px calc(24px + env(safe-area-inset-bottom)); border: 1px solid #ffffff35; border-radius: 24px 24px 0 0; background: linear-gradient(145deg, #354154, #202d40); color: #f7f8fb; box-shadow: 0 -20px 90px #060d18b8; }
.student-quick-menu[open] { animation: student-menu-rise .25s ease-out both; }
.student-quick-menu::backdrop { background: #071320d9; backdrop-filter: blur(8px); }
.student-quick-menu > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 21px; }
.student-quick-menu .eyebrow { margin: 0; color: #ffad77; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.student-quick-menu h2 { margin: 9px 0 6px; color: #fff; font-size: 27px; line-height: 1.2; letter-spacing: -.03em; }
.student-quick-menu header p:last-child { margin: 0; color: #b9c5d3; font-size: 13px; }
.student-quick-menu #close-quick-menu { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff28; border-radius: 13px; background: #ffffff0d; color: #e4eaf1; font-size: 27px; }
.student-quick-menu #close-quick-menu svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.student-quick-menu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.student-quick-menu__grid > button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; min-width: 0; min-height: 132px; padding: 17px 12px; border: 1px solid #ffffff25; border-radius: 17px; background: #18273bbb; color: #f7f8fb; text-align: center; }
.student-quick-menu__grid > button:hover { border-color: #ffad7780; background: #ffad7715; }
.student-quick-menu__grid svg { width: 28px; height: 28px; color: #ffb987; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-quick-menu__grid strong { overflow-wrap: anywhere; font-size: 14px; }
.student-quick-menu__join { display: block; width: 100%; min-height: 47px; margin-top: 16px; padding: 12px 16px; border: 1px solid #ffad7760; border-radius: 12px; background: #ffad771c; color: #ffd0af; font-size: 13px; font-weight: 800; }
.student-quick-menu__join:hover { background: #ffad7733; }
@keyframes student-menu-rise { from { opacity: .7; transform: translateY(80px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) {
  .workspace-actions .workspace-icon-action { width: 48px; height: 48px; border-radius: 14px; }
  .workspace-actions .workspace-icon-action svg { width: 23px; height: 23px; }
}
@media (max-width: 760px) {
  .student-workspace .workspace-actions { gap: 7px; }
  .workspace-actions .workspace-icon-action { width: 39px; height: 39px; border-radius: 11px; }
  .workspace-actions .workspace-icon-action svg { width: 21px; height: 21px; }
  .student-quick-menu { width: 100%; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  .student-quick-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .student-quick-menu__grid > button { min-height: 107px; gap: 10px; padding: 13px 9px; }
  .student-quick-menu__grid strong { font-size: 12px; }
  .student-quick-menu h2 { font-size: 23px; }
}
@media (max-width: 480px) {
  .student-workspace .workspace-actions { gap: 5px; }
  .workspace-actions .workspace-icon-action { width: 37px; height: 37px; }
  .workspace-actions .workspace-icon-action svg { width: 19px; height: 19px; }
}
@media (max-width: 360px) {
  .student-workspace .workspace-avatar { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .student-quick-menu[open] { animation: none; }
}
.student-workspace .student-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  padding: 28px 34px;
}
.student-intro > div { min-width: 0; }
.student-intro h2 { margin: 12px 0 8px; font-size: clamp(27px, 3vw, 40px); line-height: 1.2; letter-spacing: -.04em; }
.student-intro p:last-child { margin: 0; color: #bec8d6; font-size: 14px; }
.home-date { flex: none; padding: 11px 14px; border: 1px solid #ffad7750; border-radius: 11px; color: #ffd0af; font-size: 13px; font-weight: 700; text-transform: capitalize; }
.student-workspace .workspace-context { margin-top: 18px; padding: 21px 27px; }
.workspace-context .teacher-panel__top { align-items: center; }
.workspace-context h2 { margin: 5px 0 4px; font-size: 21px; }
.workspace-context .teacher-list { margin-top: 16px; }
.workspace-context .empty-state { min-height: 0; margin-top: 14px; font-size: 13px; }
.workspace-context .teacher-chip strong,
.workspace-context .teacher-chip small { overflow-wrap: anywhere; }
@media (min-width: 981px) {
  .student-workspace .workspace-context { flex-direction: row; align-items: center; gap: 28px; padding: 19px 27px; }
  .workspace-context .teacher-panel__top { flex: 1; min-width: 0; }
  .workspace-context .teacher-list { flex: 0 1 auto; min-width: 230px; max-width: 45%; margin: 0; }
  .workspace-context .empty-state { flex: 0 1 45%; margin: 0; }
}
.student-workspace .home-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; margin-bottom: 22px; }
.student-workspace .home-summary__card {
  display: grid;
  justify-items: start;
  gap: 12px;
  min-width: 0;
  padding: 23px 26px;
  font: inherit;
  text-align: left;
  transition: border-color .18s ease, transform .18s ease;
}
.student-workspace .home-summary__card:hover { border-color: #ffad7770; transform: translateY(-2px); }
.home-summary__label { display: flex; align-items: center; gap: 9px; color: #ffb987; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-summary__label svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-summary__card > strong { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(28px, 2.7vw, 38px); line-height: 1.1; letter-spacing: -.04em; }
.home-summary__card > small { display: flex; align-items: center; gap: 8px; color: #bec8d6; font-size: 12px; line-height: 1.5; }
.home-summary__card > small > span { color: #ffad77; }
.home-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.home-details > .home-panel { min-width: 0; margin: 0; }
.home-panel--wide { grid-column: 1 / -1; }
.home-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 23px; }
.home-panel__heading > div { min-width: 0; }
.home-panel__heading h3 { margin: 7px 0 0; font-size: clamp(21px, 1.8vw, 26px); line-height: 1.25; letter-spacing: -.03em; }
.text-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: none; min-height: 40px; padding: 8px 0; border: 0; background: transparent; color: #ffd0af; font-size: 12px; font-weight: 750; text-align: left; }
.text-action:hover { color: #ffe4d0; text-decoration: underline; text-underline-offset: 4px; }
.home-progress { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.home-progress > strong { color: #ffbf94; font-size: 35px; line-height: 1; letter-spacing: -.04em; }
.home-progress > span { color: #bec8d6; font-size: 13px; }
.home-progress__bar { display: block; width: 100%; height: 8px; margin: 17px 0 21px; overflow: hidden; border: 0; border-radius: 99px; color: #ffad77; background: #1e2d42; accent-color: #ffad77; }
.home-progress__bar::-webkit-progress-bar { border-radius: 99px; background: #1e2d42; }
.home-progress__bar::-webkit-progress-value { border-radius: 99px; background: #ffad77; }
.home-progress__bar::-moz-progress-bar { border-radius: 99px; background: #ffad77; }
.home-topic-list { display: grid; gap: 9px; }
.home-topic { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px; border: 1px solid #ffffff1e; border-radius: 13px; background: #233246a6; }
.home-topic > span { display: grid; place-items: center; flex: none; width: 31px; height: 31px; border: 1px solid #ffffff20; border-radius: 10px; color: #ffd0af; background: #ffad7710; font-size: 13px; font-weight: 800; }
.home-topic > div { display: grid; gap: 4px; flex: 1; min-width: 0; }
.home-topic strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.35; }
.home-topic small { color: #b5c2d1; font-size: 11px; line-height: 1.4; }
.home-topic > b { flex: none; color: #bbcad8; font-size: 10px; }
.home-next-topic { margin: 0 0 12px; color: #bbc8d6; font-size: 12px; line-height: 1.6; }
.home-next-topic p { margin: 0; }
.home-next-topic strong { color: #ffd0af; }
.home-notebook { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 15px; }
.home-notebook > svg,
.home-notebook > .notebook-mark { width: 46px; height: 46px; padding: 11px; border: 1px solid #ffad7742; border-radius: 13px; background: #ffad7716; color: #ffbf94; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-notebook > div > span { color: #ffbf94; font-size: 11px; }
.home-notebook h4 { margin: 6px 0 7px; overflow-wrap: anywhere; font-size: 19px; line-height: 1.35; letter-spacing: -.025em; }
.home-notebook p { margin: 0; color: #bec8d6; font-size: 12px; }
.home-notebook .asset-list { grid-column: 1 / -1; width: 100%; margin-top: 4px; }
.home-notebook > .asset-link { grid-column: 1 / -1; }
.home-notebook > .text-action { grid-column: 1 / -1; justify-self: start; }
.home-recent-list { display: grid; }
.home-recent-item { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 15px 0; border-top: 1px solid #ffffff20; }
.home-recent-item:first-child { padding-top: 0; border-top: 0; }
.home-recent-item:last-child { padding-bottom: 0; }
.recent-icon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border: 1px solid #ffffff20; border-radius: 11px; color: #ffbf94; background: #ffffff08; }
.recent-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-recent-item > div { display: grid; gap: 5px; flex: 1; min-width: 0; }
.home-recent-item strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.4; }
.home-recent-item small { color: #b9c5d3; font-size: 11px; line-height: 1.5; }
.home-recent-item > b { flex: none; color: #ffbf94; font-size: 12px; text-align: right; }
.home-empty { padding: 4px 0; }
.empty-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 16px; border: 1px solid #ffffff24; border-radius: 13px; color: #ffbf94; background: #ffffff08; }
.empty-icon svg,
.module-empty > svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-empty h4 { margin: 0 0 7px; font-size: 17px; }
.home-empty p { max-width: 480px; margin: 0; color: #bbc8d6; font-size: 13px; line-height: 1.65; }
.home-empty .text-action { margin-top: 9px; }
.student-workspace .module-empty { max-width: none; padding: 30px; }
.module-empty > svg { width: 39px; height: 39px; padding: 8px; border: 1px solid #ffad7740; border-radius: 11px; color: #ffbf94; background: #ffad7715; }
.module-empty h3 { margin: 16px 0 8px; font-size: 23px; }
.module-empty p { max-width: 600px; margin: 0; color: #bbc8d6; font-size: 14px; }
.student-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 21px; }
.student-section-heading h3 { margin: 0 0 7px; font-size: 24px; }
.student-section-heading p { margin: 0; color: #bec8d6; font-size: 13px; }
.student-workspace [tabindex="-1"]:focus:not(:focus-visible) { outline: none; }

@media (min-width: 1600px) {
  .student-workspace .home-summary { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
}
@media (max-width: 980px) {
  .student-workspace .home-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .student-workspace .student-intro { align-items: flex-start; }
  .home-date { max-width: 200px; line-height: 1.5; }
  .home-panel__heading { flex-wrap: wrap; gap: 7px 14px; }
  .home-panel__heading > .text-action { min-height: 30px; }
}
@media (max-width: 760px) {
  .student-workspace .workspace-header { flex-direction: row; align-items: center; gap: 12px; }
  .student-workspace .workspace-actions { width: auto; flex: none; padding: 0; border: 0; }
  .student-workspace .workspace-actions .quiet { gap: 5px; min-height: 40px; white-space: nowrap; }
  .student-workspace .workspace-avatar { width: 48px; height: 48px; border-radius: 14px; font-size: 20px; }
  .student-workspace .workspace-identity { gap: 11px; }
  .student-workspace .workspace-identity h1 { font-size: 22px; }
  .student-workspace .workspace-identity .eyebrow { font-size: 9px; }
  .student-workspace .workspace-identity p { display: none; }
  .student-workspace .student-intro { flex-direction: column; gap: 18px; margin-top: 18px; padding: 23px; }
  .student-intro h2 { margin-top: 10px; font-size: 29px; }
  .student-intro p:last-child { font-size: 13px; }
  .home-date { max-width: none; padding: 8px 11px; font-size: 11px; }
  .student-workspace .workspace-context { padding: 20px; }
  .workspace-context .teacher-panel__top { flex-direction: row; align-items: flex-start; flex-wrap: wrap; }
  .workspace-context .teacher-panel__top > div { flex: 1; min-width: 150px; }
  .workspace-context .join-disclosure { width: auto; }
  .workspace-context .join-disclosure summary { min-height: 38px; padding: 8px 11px; font-size: 11px; }
  .workspace-context .join-disclosure[open] { width: 100%; }
  .workspace-context .join-disclosure[open] summary { width: auto; }
  .workspace-context .join-form { position: static; width: 100%; margin-top: 12px; box-shadow: none; }
  .home-details { grid-template-columns: 1fr; gap: 14px; }
  .home-panel--wide { grid-column: auto; }
  .home-panel__heading { margin-bottom: 20px; }
  .home-panel__heading h3 { font-size: 23px; }
  .student-workspace .home-summary { gap: 12px; margin-bottom: 17px; }
  .student-workspace .home-summary__card { gap: 11px; padding: 21px; }
  .home-summary__label { font-size: 10px; letter-spacing: .06em; }
}
@media (max-width: 480px) {
  .student-workspace .workspace-header { padding: 15px 13px; }
  .student-workspace .workspace-avatar { width: 39px; height: 39px; border-radius: 12px; font-size: 17px; }
  .student-workspace .workspace-identity { gap: 9px; }
  .student-workspace .workspace-identity h1 { font-size: 18px; }
  .student-workspace .workspace-actions .quiet { min-height: 38px; padding: 7px 9px; font-size: 11px; }
  .student-workspace .workspace-actions .quiet > span { display: none; }
  .student-workspace .home-summary { grid-template-columns: 1fr; gap: 10px; }
  .student-workspace .home-summary__card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 19px; }
  .home-summary__card > strong { grid-column: 2; grid-row: 1 / 3; max-width: 150px; font-size: 29px; text-align: right; }
  .home-summary__card > small { grid-column: 1; font-size: 11px; }
  .home-summary__label { max-width: 100%; gap: 7px; }
  .home-summary__label svg { width: 18px; height: 18px; }
  .home-panel__heading h3 { font-size: 21px; }
  .home-panel__heading .eyebrow { font-size: 10px; }
  .home-progress > strong { font-size: 29px; }
  .home-progress > span { font-size: 11px; }
  .home-topic { gap: 10px; padding: 11px; }
  .home-topic > b { max-width: 62px; font-size: 9px; text-align: right; }
  .home-notebook { gap: 12px; }
  .home-notebook h4 { font-size: 17px; }
  .home-recent-item { flex-wrap: wrap; gap: 9px; }
  .home-recent-item > b { margin-left: 47px; }
  .student-workspace .module-empty { padding: 23px; }
  .student-section-heading { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .student-workspace .home-summary__card { transition: none; }
  .student-workspace .home-summary__card:hover { transform: none; }
}

/* Teacher connections live in settings; the workspace only shows its active context. */
.active-teacher-context { display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 100%; margin-top: 17px; padding: 9px 12px; border: 1px solid #ffffff26; border-radius: 12px; background: #24324791; color: #f7f8fb; font: inherit; text-align: left; }
.active-teacher-context:hover { border-color: #ffad7770; background: #ffad7710; }
.active-teacher-context > .avatar { width: 33px; height: 33px; border-radius: 10px; color: #ffc79e; background: #ffad771b; font-size: 13px; }
.active-teacher-context > div,
.active-teacher-context > span:not(.avatar) { display: grid; gap: 3px; min-width: 0; }
.active-teacher-context strong { overflow-wrap: anywhere; font-size: 12px; }
.active-teacher-context small { overflow-wrap: anywhere; color: #b9c5d3; font-size: 10px; }
.active-teacher-context > svg { flex: none; width: 18px; height: 18px; margin-left: 12px; color: #ffbf94; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-workspace .student-settings { display: grid; gap: 20px; }
.student-workspace .student-intro--compact { min-height: 112px; padding: 21px 28px; }
.student-intro--compact h2 { margin-top: 8px; font-size: clamp(25px, 2.3vw, 33px); }
.student-intro__aside { flex: none; max-width: 43%; }
.student-intro__aside .active-teacher-context { margin: 0; }
.home-materials { margin: 25px 0; }
.home-materials > .home-panel__heading { margin-bottom: 17px; }
.student-workspace .media-preview-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); }
.material-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 21px; }
.material-filters button { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 14px; border: 1px solid #ffffff29; border-radius: 10px; background: #2332469c; color: #bdcbd9; font-size: 12px; font-weight: 750; }
.material-filters button:hover { border-color: #ffad7770; color: #ffe0c8; }
.material-filters button[aria-pressed="true"] { border-color: #ffad7780; background: #ffad7720; color: #ffd0af; }
.material-filters button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.student-settings > .workspace-context { flex-direction: column; align-items: stretch; gap: 20px; margin: 0; }
.student-settings .workspace-context .teacher-panel__top { flex: none; }
.student-settings .workspace-context .teacher-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); flex: none; max-width: none; min-width: 0; gap: 13px; overflow: visible; margin: 0; }
.student-settings .workspace-context .teacher-chip { min-width: 0; max-width: none; }
.student-settings .workspace-context .join-disclosure .join-form { z-index: 4; }
@media (max-width: 760px) {
  .active-teacher-context { margin-top: 14px; padding: 9px 10px; }
  .active-teacher-context > svg { margin-left: 3px; }
  .student-settings > .workspace-context { gap: 17px; }
  .student-settings .workspace-context .teacher-list { gap: 10px; }
  .student-workspace .student-intro--compact { min-height: 0; padding: 21px; gap: 17px; }
  .student-intro--compact h2 { font-size: 27px; }
  .student-intro__aside { max-width: 100%; }
  .home-materials { margin: 22px 0; }
  .material-filters { gap: 7px; margin-bottom: 17px; }
  .material-filters button { min-height: 37px; padding: 8px 11px; font-size: 11px; }
}

/* Exam results put progress and the latest five records in the foreground. */
.exam-workspace,
.exam-analysis { --exam-teal: #7ad9c5; --exam-orange: #ffb17c; --exam-red: #f39d9d; display: grid; gap: 20px; }
.exam-overview { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, .8fr); gap: 20px; align-items: stretch; }
.exam-workspace .card,
.exam-analysis .card { min-width: 0; margin: 0; }
.exam-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.exam-panel-heading > div { min-width: 0; }
.exam-panel-heading h3 { margin: 8px 0 5px; font-size: clamp(21px, 1.8vw, 27px); letter-spacing: -.035em; line-height: 1.2; }
.exam-panel-heading p:last-child { margin: 0; color: #b7c5d4; font-size: 12px; line-height: 1.6; }
.exam-panel-heading .eyebrow { font-size: 10px; }
.exam-chart__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; color: #c3cfdb; font-size: 11px; }
.exam-chart__legend > span { display: inline-flex; align-items: center; gap: 6px; }
.exam-chart__legend i { display: inline-block; width: 7px; height: 7px; border-radius: 99px; background: var(--exam-teal); }
.exam-chart__plot { position: relative; display: flex; align-items: center; width: 100%; min-width: 0; min-height: 240px; }
.exam-chart__plot > svg { display: block; width: 100%; height: auto; overflow: visible; font-family: inherit; }
.exam-chart__plot > .exam-trend--mobile { display: none; }
.exam-chart__plot text { fill: #aebdcc; font-size: 11px; }
.exam-chart__plot .chart-grid { stroke: #ffffff14; stroke-dasharray: 4 5; }
.exam-chart__plot .chart-area { fill: url(#exam-area-gradient); }
.exam-chart__plot .chart-line { fill: none; stroke: var(--exam-teal); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.exam-chart__plot .chart-point { fill: #26374b; stroke: var(--exam-teal); stroke-width: 3; }
.exam-chart__plot .chart-point--latest { fill: var(--exam-teal); stroke: #c9fff2; stroke-width: 2; }
.exam-range { display: inline-flex; flex: none; align-items: center; gap: 3px; padding: 4px; border: 1px solid #ffffff20; border-radius: 10px; background: #213044a8; }
.exam-range button { min-height: 29px; padding: 6px 10px; border: 0; border-radius: 7px; background: transparent; color: #b7c6d4; font-size: 10px; font-weight: 750; }
.exam-range button[aria-pressed="true"] { background: #ffad7721; color: #ffd0af; }
.exam-range button:hover { color: #ffe2ca; }
.exam-range-note { display: block; color: #aebfce; font-size: 10px; line-height: 1.6; }
.exam-chart__plot .exam-grid-line { stroke: #ffffff12; stroke-width: 1; stroke-dasharray: 4 5; }
.exam-chart__plot .exam-axis-label { fill: #afc0d1; font-size: 11px; }
.exam-chart__plot .exam-average-line { stroke: #bdccdc; stroke-width: 1.4; stroke-dasharray: 5 5; opacity: .65; }
.exam-chart__plot .exam-area { opacity: .9; }
.exam-chart__plot .exam-line { fill: none; stroke: #ffb17c; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.exam-chart__plot .exam-point { fill: #ffbf94; stroke: #344155; stroke-width: 3; }
.exam-chart__plot .exam-point:focus-visible { outline: none; fill: #fff0e3; stroke: #ffad77; stroke-width: 5; }
.exam-chart .exam-panel-heading { flex-wrap: wrap; }
.exam-chart__legend .exam-legend-dot { width: 7px; height: 7px; background: #ffb17c; }
.exam-chart__legend .exam-legend-dot--average { width: 17px; height: 0; border-top: 2px dashed #bdccdc; border-radius: 0; background: transparent; }
.exam-chart-data { margin-top: 20px; padding-top: 15px; border-top: 1px solid #ffffff1e; color: #bdcbd9; }
.exam-chart-data summary { display: list-item; width: fit-content; color: #c8d7e4; font-size: 11px; font-weight: 700; cursor: pointer; }
.exam-chart-data table { width: 100%; margin-top: 13px; border-collapse: collapse; font-size: 11px; text-align: left; }
.exam-chart-data th { color: #d4e0eb; font-weight: 750; }
.exam-chart-data th,
.exam-chart-data td { padding: 10px 8px; border-bottom: 1px solid #ffffff18; overflow-wrap: anywhere; }
.exam-chart-data th:last-child,
.exam-chart-data td:last-child { color: #ffbf94; font-variant-numeric: tabular-nums; text-align: right; }
.exam-chart__caption { margin: 10px 0 0; color: #adbdcc; font-size: 11px; line-height: 1.6; }
.exam-composition { display: flex; flex-direction: column; }
.exam-donut { position: relative; display: grid; place-items: center; width: 184px; height: 184px; max-width: 100%; margin: 0 auto 20px; }
.exam-donut > svg { display: block; width: 100%; height: 100%; }
.exam-donut__center { position: absolute; display: grid; gap: 6px; justify-items: center; text-align: center; }
.exam-donut__center strong { color: #f5fbff; font-size: 31px; letter-spacing: -.04em; line-height: 1; }
.exam-donut__center span { color: #b9c6d3; font-size: 11px; }
.exam-donut__center small { color: #b9c6d3; font-size: 11px; }
.exam-donut__track { fill: none; stroke: #1f2e42; }
.exam-donut__correct { fill: none; stroke: #7ad9c5; }
.exam-donut__wrong { fill: none; stroke: #f39d9d; }
.exam-donut__blank { fill: none; stroke: #8395ac; }
.exam-distribution { display: grid; gap: 10px; margin: auto 0 0; padding: 0; list-style: none; }
.exam-distribution > li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12px; }
.exam-distribution li > span { color: #bfccd9; }
.exam-distribution i { width: 8px; height: 8px; border-radius: 99px; background: #7ad9c5; }
.exam-distribution i.wrong { background: #f39d9d; }
.exam-distribution i.blank { background: #8395ac; }
.exam-distribution strong { color: #eaf2f8; font-size: 13px; font-variant-numeric: tabular-nums; }
.exam-distribution strong > small { margin-left: 5px; color: #9fb3c7; font-size: 10px; font-weight: 500; }
.exam-composition__legend { display: grid; gap: 10px; margin: auto 0 0; padding: 0; list-style: none; }
.exam-composition__legend > li { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; }
.exam-composition__legend li > span { display: inline-flex; align-items: center; gap: 8px; color: #bfccd9; }
.exam-composition__legend i { width: 8px; height: 8px; border-radius: 99px; background: var(--exam-teal); }
.exam-composition__legend strong { color: #eaf2f8; font-size: 13px; font-variant-numeric: tabular-nums; }
.exam-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.exam-stat { display: grid; gap: 10px; min-width: 0; padding: 19px 22px; border: 1px solid #ffffff20; border-radius: 18px; background: #2332469c; }
.exam-stat > span { color: #b5c4d3; font-size: 11px; }
.exam-stat > strong { overflow-wrap: anywhere; color: #f7f8fb; font-size: 29px; font-variant-numeric: tabular-nums; line-height: 1.1; letter-spacing: -.04em; }
.exam-stat > small { color: #aabccc; font-size: 10px; line-height: 1.5; }
.student-workspace .exam-stat.card { gap: 10px; padding: 21px 23px; border-radius: 19px; }
.exam-stat--positive > strong { color: var(--exam-teal); }
.exam-results .exam-panel-heading { margin-bottom: 15px; }
.exam-result-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.exam-result-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 17px 19px; border: 1px solid #ffffff1f; border-radius: 16px; background: #2130449c; }
.exam-result-row:hover { border-color: #ffffff3d; }
.exam-result-rank { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid #ffffff1f; border-radius: 11px; background: #ffffff08; color: #c1cfdd; font-size: 12px; font-weight: 800; }
.exam-result-title { display: grid; gap: 7px; min-width: 0; }
.exam-result-title h4,
.exam-result-title > strong { overflow-wrap: anywhere; margin: 0; color: #f5f8fc; font-size: 15px; line-height: 1.4; }
.exam-result-title > small { color: #adbece; font-size: 11px; }
.exam-result-index { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid #ffffff1f; border-radius: 11px; background: #ffffff08; color: #c1cfdd; font-size: 12px; font-weight: 800; }
.exam-result-title time { color: #adbece; font-size: 11px; }
.exam-result-row > .result-line { display: grid; grid-template-columns: repeat(3, minmax(43px, auto)) minmax(77px, auto); align-items: center; gap: 13px; margin: 0; font-size: 12px; }
.exam-result-row > .result-line > span { display: grid; gap: 5px; text-align: center; }
.exam-result-row > .result-line b { font-size: 18px; font-variant-numeric: tabular-nums; }
.exam-result-row > .result-line small { display: block; color: #aebfce; font-size: 10px; font-weight: 500; }
.exam-result-row > .result-line > strong > small { margin-top: 5px; }
.exam-result-row .exam-result-correct { color: #7ad9c5; }
.exam-result-row .exam-result-wrong { color: #f39d9d; }
.exam-result-row .exam-result-blank { color: #adbece; }
.exam-result-row .exam-result-rate { min-width: 77px; padding-left: 15px; border-left: 1px solid #ffffff20; color: #ffbf94; font-size: 20px; font-variant-numeric: tabular-nums; text-align: right; }
.exam-result-metrics { display: flex; align-items: center; gap: 20px; }
.exam-result-metrics > span { display: grid; gap: 5px; min-width: 34px; text-align: center; }
.exam-result-metrics strong { color: #dce9f4; font-size: 17px; font-variant-numeric: tabular-nums; }
.exam-result-metrics small { color: #adbece; font-size: 10px; }
.exam-result-metrics .exam-correct strong { color: var(--exam-teal); }
.exam-result-metrics .exam-wrong strong { color: var(--exam-red); }
.exam-result-metrics .exam-net { min-width: 67px; margin-left: 1px; padding-left: 20px; border-left: 1px solid #ffffff20; }
.exam-result-metrics .exam-net strong { color: var(--exam-orange); font-size: 23px; }
.exam-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 21px; padding-top: 19px; border-top: 1px solid #ffffff20; }
.exam-pagination > span { color: #b5c4d3; font-size: 12px; }
.exam-pagination > p { margin: 0; color: #b5c4d3; font-size: 12px; }
.exam-pagination > div { display: flex; align-items: center; gap: 8px; }
.exam-pagination__controls { display: flex; align-items: center; gap: 7px; }
.exam-pagination button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 38px; min-height: 38px; padding: 8px 12px; border: 1px solid #ffffff28; border-radius: 10px; background: #ffffff08; color: #d5e0ea; font-size: 12px; font-weight: 750; }
.exam-pagination button:hover:not(:disabled) { border-color: #ffad7770; background: #ffad7718; }
.exam-pagination button[aria-current="page"] { border-color: #ffad7780; background: #ffad7720; color: #ffd0af; }
.exam-pagination button:disabled { opacity: .35; cursor: default; }
.exam-empty-chart { display: grid; align-content: center; justify-items: start; gap: 10px; min-height: 180px; padding: 18px; border: 1px dashed #ffffff28; border-radius: 15px; background: #23324660; color: #b6c5d4; }
.exam-empty-chart h4 { margin: 0; color: #e8f0f8; font-size: 17px; }
.exam-empty-chart p { margin: 0; max-width: 430px; font-size: 13px; line-height: 1.6; }
.exam-chart-empty,
.exam-results-empty { display: grid; align-content: center; justify-items: start; gap: 10px; min-height: 180px; padding: 22px; border: 1px dashed #ffffff28; border-radius: 15px; background: #23324660; color: #b6c5d4; }
.exam-chart-empty h4,
.exam-results-empty h4 { margin: 0; color: #e8f0f8; font-size: 17px; }
.exam-chart-empty p,
.exam-results-empty p { margin: 0; max-width: 430px; font-size: 13px; line-height: 1.6; }
.exam-chart-empty > svg,
.exam-results-empty > svg { width: 33px; height: 33px; margin-bottom: 5px; fill: none; stroke: #ffbf94; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
/* Match the scaling SVG: leave the percentage axis outside the empty panel. */
.exam-chart__plot > .exam-chart-empty { position: absolute; inset: 20px 3% 20px 8%; min-height: 0; padding: 15px; border: 0; background: #2d3c50ed; justify-items: center; text-align: center; }
@media (max-width: 1050px) {
  .exam-overview { grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr); gap: 15px; }
  .exam-result-metrics { gap: 13px; }
  .exam-result-metrics .exam-net { padding-left: 13px; }
  .exam-result-row > .result-line { gap: 9px; }
  .exam-result-row .exam-result-rate { padding-left: 10px; }
}
@media (max-width: 760px) {
  .exam-workspace,
  .exam-analysis { gap: 15px; }
  .exam-overview { grid-template-columns: 1fr; gap: 15px; }
  .exam-panel-heading { margin-bottom: 19px; }
  .exam-panel-heading h3 { font-size: 23px; }
  .exam-chart__plot { min-height: 0; }
  .exam-chart__plot > .exam-trend--desktop { display: none; }
  .exam-chart__plot > .exam-trend--mobile { display: block; min-height: 190px; }
  .exam-chart__plot > .exam-chart-empty { inset: 9px 3% 9px 12%; padding: 12px; }
  .exam-chart__plot > .exam-chart-empty h4 { font-size: 15px; }
  .exam-chart__plot > .exam-chart-empty p { font-size: 11px; }
  .exam-chart__plot .exam-axis-label { font-size: 12px; }
  .exam-chart__plot .exam-line { stroke-width: 4; }
  .exam-composition { display: grid; grid-template-columns: minmax(140px, .85fr) minmax(0, 1fr); align-items: center; column-gap: 22px; }
  .exam-composition > .exam-panel-heading { grid-column: 1 / -1; }
  .exam-donut { width: 160px; height: 160px; margin: 0 auto; }
  .exam-composition__legend { margin: 0; gap: 13px; }
  .exam-distribution { margin: 0; gap: 13px; }
  .exam-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .exam-stat { padding: 17px; border-radius: 15px; }
  .exam-stat > strong { font-size: 27px; }
  .student-workspace .exam-stat.card { padding: 18px; border-radius: 16px; }
  .exam-result-row { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .exam-result-rank { width: 32px; height: 32px; border-radius: 10px; }
  .exam-result-index { width: 32px; height: 32px; border-radius: 10px; }
  .exam-result-row > .result-line { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(65px, auto); gap: 8px; width: 100%; padding-top: 13px; border-top: 1px solid #ffffff18; font-size: 11px; }
  .exam-result-row .exam-result-rate { min-width: 0; font-size: 18px; }
  .exam-result-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; width: 100%; padding-top: 13px; border-top: 1px solid #ffffff18; }
  .exam-result-metrics .exam-net { min-width: 0; padding-left: 9px; }
  .exam-result-metrics .exam-net strong { font-size: 21px; }
}
@media (max-width: 420px) {
  .exam-composition { column-gap: 13px; grid-template-columns: minmax(110px, .9fr) minmax(0, 1fr); }
  .exam-donut { width: 124px; height: 124px; }
  .exam-donut__center strong { font-size: 25px; }
  .exam-donut__center span { font-size: 9px; }
  .exam-donut__center small { font-size: 9px; }
  .exam-distribution > li { gap: 6px; font-size: 11px; }
  .exam-composition__legend > li { gap: 6px; font-size: 11px; }
  .exam-composition__legend li > span { gap: 5px; }
  .exam-pagination { align-items: flex-start; flex-direction: column; gap: 12px; }
  .exam-pagination__controls { width: 100%; flex-wrap: wrap; }
  .exam-pagination button { min-width: 34px; min-height: 36px; padding: 7px 9px; }
}

/* Personal details belong to the student account and remain separate from teacher connections. */
.workspace-avatar { position: relative; overflow: hidden; }
.workspace-avatar img { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.workspace-avatar img[hidden],
.profile-avatar img[hidden] { display: none; }
.student-workspace .profile-settings { margin: 0; }
.profile-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 24px; margin-bottom: 25px; border-bottom: 1px solid #ffffff20; }
.profile-header > div { min-width: 0; }
.profile-header h2 { margin: 8px 0 9px; color: #f6f8fb; font-size: clamp(25px, 2.2vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
.profile-header p:last-child { max-width: 740px; margin: 0; color: #b9c8d6; font-size: 13px; line-height: 1.65; }
.profile-layout { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); align-items: start; gap: 28px; }
.profile-sidebar { display: grid; justify-items: stretch; gap: 21px; min-width: 0; padding: 23px; border: 1px solid #ffffff21; border-radius: 20px; background: #24324794; }
.profile-avatar { position: relative; display: grid; place-items: center; width: 110px; height: 110px; overflow: hidden; margin: 0 auto; border: 2px solid #ffad7750; border-radius: 50%; background: linear-gradient(145deg, #ffad7729, #ffad770b); color: #ffd1ae; font-size: 38px; font-weight: 850; letter-spacing: -.03em; }
.profile-avatar > img { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.profile-avatar__actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.profile-photo-button,
.profile-avatar__actions button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 9px 12px; border: 1px solid #ffad775c; border-radius: 10px; background: #ffad771b; color: #ffd0af; font: inherit; font-size: 11px; font-weight: 750; line-height: 1.4; text-align: center; cursor: pointer; }
.profile-photo-button:hover,
.profile-avatar__actions button:hover:not(:disabled) { border-color: #ffad7790; background: #ffad772e; }
.profile-avatar__actions button { border-color: #ffffff28; background: transparent; color: #bfcbd9; }
.profile-avatar__actions button:disabled { opacity: .4; cursor: default; }
.profile-photo-button svg,
.profile-avatar__actions button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.profile-photo-button:focus-within { outline: 2px solid #ffbf94; outline-offset: 3px; }
.profile-avatar__actions:has(#profile-avatar-input:focus-visible) .profile-photo-button { outline: 2px solid #ffbf94; outline-offset: 3px; }
.profile-photo-button.is-disabled { pointer-events: none; opacity: .45; cursor: default; }
.profile-file-hint { max-width: 230px; margin: -8px auto 0; color: #aebfd0; font-size: 10px; line-height: 1.6; text-align: center; }
.profile-completion { padding-top: 20px; border-top: 1px solid #ffffff20; }
.profile-completion > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.profile-completion > div > span { color: #c2d0de; font-size: 11px; font-weight: 650; }
.profile-completion > div > strong { color: #ffbf94; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.03em; }
.profile-completion > strong { display: block; margin-bottom: 12px; color: #ffbf94; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.03em; }
.profile-completion progress { display: block; width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 99px; background: #17273b; color: #7ad9c5; accent-color: #7ad9c5; }
.profile-completion progress::-webkit-progress-bar { border-radius: 99px; background: #17273b; }
.profile-completion progress::-webkit-progress-value { border-radius: 99px; background: #7ad9c5; }
.profile-completion progress::-moz-progress-bar { border-radius: 99px; background: #7ad9c5; }
.profile-completion p { margin: 11px 0 0; color: #b9c8d6; font-size: 11px; line-height: 1.65; }
.profile-account-email { display: grid; gap: 6px; min-width: 0; padding-top: 18px; border-top: 1px solid #ffffff20; }
.profile-account-email small { color: #aebfd0; font-size: 10px; }
.profile-account-email strong { overflow-wrap: anywhere; color: #e2ebf4; font-size: 12px; line-height: 1.5; font-weight: 650; }
.profile-fields { display: grid; gap: 24px; min-width: 0; }
.profile-form-section { min-width: 0; margin: 0; padding: 20px; border: 1px solid #ffffff23; border-radius: 18px; background: #ffffff03; }
.profile-form-section legend { max-width: 100%; padding: 0 8px; overflow-wrap: anywhere; color: #ffceaa; font-size: 14px; font-weight: 800; line-height: 1.4; }
.profile-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.profile-form-grid label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; align-items: baseline; gap: 8px; min-width: 0; color: #dce6ef; font-size: 12px; font-weight: 650; line-height: 1.5; }
.profile-form-grid label small { grid-column: 2; grid-row: 1; color: #9eb2c6; font-size: 10px; font-weight: 500; }
.profile-form-grid :is(input, select, textarea) { grid-column: 1 / -1; display: block; width: 100%; min-width: 0; min-height: 44px; padding: 11px 13px; border: 1px solid #ffffff2d; border-radius: 10px; background: #233246; color: #edf3f8; font: inherit; font-size: 13px; font-weight: 500; line-height: 1.5; color-scheme: dark; }
.profile-form-grid textarea { min-height: 91px; resize: vertical; }
.profile-form-grid :is(input, textarea)::placeholder { color: #91a7be; opacity: 1; }
.profile-form-grid :is(input, select, textarea):hover:not(:disabled) { border-color: #ffffff49; }
.profile-form-grid :is(input, select, textarea):focus-visible { border-color: #ffad7780; outline: 2px solid #ffbf9480; outline-offset: 2px; }
.profile-form-grid :is(input, select, textarea):disabled { color: #a2b5c8; background: #2532468c; opacity: .7; }
.profile-field--wide { grid-column: 1 / -1; }
.profile-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 27px; padding-top: 23px; border-top: 1px solid #ffffff22; }
.profile-form-actions > span { color: #aebfd0; font-size: 12px; line-height: 1.6; }
.profile-form-actions .primary,
.profile-form-actions #save-student-profile { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex: none; min-height: 45px; padding: 12px 21px; border: 1px solid #ffb27e; border-radius: 11px; background: #ffad77; color: #243043; font: inherit; font-size: 13px; font-weight: 850; }
.profile-form-actions #save-student-profile:hover:not(:disabled) { background: #ffc292; }
.profile-form-actions #save-student-profile:disabled { border-color: #ffffff25; background: #ffffff0c; color: #92a8bd; cursor: default; }
.profile-unavailable { margin: 0 0 20px; padding: 18px 20px; border: 1px solid #efbf6c50; border-radius: 13px; background: #efbf6c0a; color: #e5cfaa; font-size: 13px; line-height: 1.65; }
@media (max-width: 1000px) {
  .profile-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 21px; }
  .profile-sidebar { padding: 19px; }
  .profile-form-grid { grid-template-columns: 1fr; gap: 16px; }
  .profile-form-section { padding: 18px; }
}
@media (max-width: 760px) {
  .profile-header { margin-bottom: 21px; padding-bottom: 20px; }
  .profile-header h2 { font-size: 26px; }
  .profile-header p:last-child { font-size: 12px; }
  .profile-layout { grid-template-columns: 1fr; gap: 23px; }
  .profile-sidebar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 19px; padding: 20px; }
  .profile-avatar { width: 90px; height: 90px; font-size: 32px; }
  .profile-avatar__actions { flex-direction: column; align-items: stretch; }
  .profile-file-hint { grid-column: 1 / -1; max-width: none; margin: -5px 0 0; }
  .profile-completion { grid-column: 1 / -1; padding-top: 17px; }
  .profile-completion > strong { font-size: 23px; }
  .profile-account-email { grid-column: 1 / -1; padding-top: 17px; }
  .profile-fields { gap: 21px; }
  .profile-form-section { padding: 17px; border-radius: 15px; }
  .profile-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 15px; }
  .profile-form-actions { margin-top: 23px; padding-top: 20px; }
}
@media (max-width: 520px) {
  .profile-form-grid { grid-template-columns: 1fr; gap: 17px; }
  .profile-form-grid :is(input, select, textarea) { min-height: 46px; font-size: 16px; }
  .profile-form-grid label { font-size: 12px; }
  .profile-form-section { padding: 16px; }
  .profile-form-actions { align-items: stretch; flex-direction: column; gap: 13px; }
  .profile-form-actions #save-student-profile { width: 100%; }
  .profile-form-actions > span { font-size: 11px; }
  .profile-sidebar { gap: 17px 13px; padding: 17px; }
  .profile-avatar { width: 76px; height: 76px; font-size: 27px; }
  .profile-photo-button,
  .profile-avatar__actions button { min-height: 36px; padding: 8px; font-size: 10px; }
}
@media (max-width: 360px) {
  .student-workspace .workspace-avatar { display: grid; width: 32px; height: 32px; font-size: 14px; }
  .student-workspace .workspace-identity h1 { font-size: 16px; }
  .student-workspace .workspace-identity { gap: 8px; }
}
