.students-assignment-editor > header {
  min-height: auto;
  padding-block: 14px;
}

.students-assignment-editor .students-editor-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}

.students-assignment-editor .students-editor-identity h2 {
  margin: 0;
}

.students-assignment-editor .students-editor-meta {
  flex-basis: 100%;
}

.students-assignment-editor .students-assignment-form {
  grid-template-columns: minmax(300px, 480px) minmax(180px, 240px) 1fr;
  max-width: none;
  padding: 18px 28px 22px;
}

.students-assignment-form > label:first-child {
  grid-column: 1;
}

.students-assignment-form > label:has([data-assignment-hours]) {
  grid-column: 2;
  grid-row: 1;
}

.students-assignment-form label > small {
  display: none;
}

.students-assignment-editor form[data-add-student-form] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.students-assignment-editor form[data-add-student-form] label > small {
  display: block;
}

.students-group-import > form {
  display: grid;
  gap: 16px;
  padding: 20px 28px 24px;
}

.students-group-import-fields,
.students-group-link-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.students-group-import form label {
  display: grid;
  gap: 6px;
  color: var(--uis-muted);
  font-size: 10px;
  font-weight: 750;
}

.students-group-import input:not([type="checkbox"]),
.students-group-import select {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid var(--uis-line);
  border-radius: 10px;
  color: var(--uis-text);
  background: var(--uis-card);
}

.students-group-link-toggle {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 10px !important;
  padding: 13px 15px;
  border: 1px solid var(--uis-line);
  border-radius: 11px;
  background: var(--uis-inset);
}

.students-group-link-toggle span { display: grid; gap: 2px; }
.students-group-link-toggle small { color: var(--uis-muted); font-weight: 600; }
.students-group-link-fields[hidden] { display: none; }

.students-group-preview {
  overflow: hidden;
  border: 1px solid var(--uis-line);
  border-radius: 12px;
  background: var(--uis-card);
}

.students-group-preview[data-ui-surface="empty"] { display: grid; gap: 4px; padding: 22px; text-align: center; }
.students-group-preview[data-ui-surface="empty"] span { color: var(--uis-muted); font-size: 11px; }
.students-group-preview > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid var(--uis-line); background: var(--uis-inset); }
.students-group-preview > header div { display: grid; gap: 2px; }
.students-group-preview > header small { color: var(--uis-muted); }
.students-group-preview > div { max-height: 390px; overflow: auto; }
.students-group-preview > div > label { display: flex; grid-template-columns: none; align-items: center; gap: 11px; min-height: 48px; padding: 7px 14px; border-bottom: 1px solid var(--uis-line); }
.students-group-preview > div > label:last-child { border-bottom: 0; }
.students-group-preview label > span { display: grid; flex: 1; gap: 2px; color: var(--uis-text); }
.students-group-preview label small { color: var(--uis-muted); font-weight: 600; }
.students-group-preview label em { color: var(--uis-accent); font-size: 10px; font-style: normal; font-weight: 850; }
.students-group-preview label.is-excluded { opacity: .66; }
.students-group-preview label.is-excluded em { color: var(--uia-warning); }
.students-group-import form > footer { display: flex; justify-content: flex-end; gap: 8px; }

[data-interface-surface="glass"] .students-group-import input:not([type="checkbox"]),
[data-interface-surface="glass"] .students-group-import select,
[data-interface-surface="glass"] .students-group-link-toggle,
[data-interface-surface="glass"] .students-group-preview { border-color: var(--uig-line); color: var(--uig-text); background: var(--uig-inset); }

.students-class-picker {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid var(--uis-line);
  border-radius: 12px;
  background: var(--uis-card);
}

.students-class-picker > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  border-bottom: 1px solid var(--uis-line);
}

.students-class-picker > header > div {
  display: grid;
  gap: 2px;
}

.students-class-picker > header small,
.students-class-picker section > header small,
.students-class-picker section > header em {
  color: var(--uis-muted);
  font-size: 9px;
  font-style: normal;
}

.students-class-picker > header b {
  min-width: 82px;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--uis-head);
  background: var(--uis-accent);
  font-size: 10px;
  text-align: center;
}

.students-class-picker > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-height: 430px;
  overflow: auto;
  padding: 12px;
}

.students-class-picker section {
  overflow: hidden;
  border: 1px solid var(--uis-line);
  border-radius: 10px;
  background: var(--uis-card-alt);
}

.students-class-picker section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--uis-line);
}

.students-class-picker section > header label,
.students-class-picker section > div label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.students-class-picker section > div label > span {
  display: grid;
  gap: 1px;
}

.students-class-picker section > div label [data-class-lock] {
  color: var(--uis-muted);
  font-size: 8px;
  line-height: 1.2;
}

.students-class-picker section > div label.is-locked {
  cursor: not-allowed;
  opacity: .68;
}

.students-class-picker section > div label.is-locked [data-class-lock] {
  color: var(--uis-accent);
}

.students-class-picker section > header label span {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.students-class-picker section > header label strong {
  font-size: 12px;
}

.students-class-picker section > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 9px;
}

.students-class-picker section > div label {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid var(--uis-line);
  border-radius: 8px;
  background: var(--uis-inset);
  font-size: 10px;
}

.students-class-picker input {
  accent-color: var(--uis-accent);
}

.students-class-picker input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.students-class-picker section > div label:has(input:checked),
.students-class-picker section > header:has([data-class-group-toggle]:checked) {
  border-color: var(--uis-accent);
  background: var(--uis-accent-soft);
}

.students-assignment-form > footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin: 0 -28px -22px;
  padding: 12px 28px;
  border-top: 1px solid var(--uis-line);
  background: var(--uis-panel);
}

[data-interface-surface="glass"] .students-class-picker {
  border-color: var(--uig-line);
  background: var(--uig-bg);
}

[data-interface-surface="glass"] .students-class-picker > header,
[data-interface-surface="glass"] .students-class-picker section,
[data-interface-surface="glass"] .students-class-picker section > header,
[data-interface-surface="glass"] .students-class-picker section > div label {
  border-color: var(--uig-line);
}

[data-interface-surface="glass"] .students-class-picker section {
  background: var(--uig-bg-alt);
}

[data-interface-surface="glass"] .students-class-picker section > div label {
  background: var(--uig-inset);
}

[data-interface-surface="glass"] .students-assignment-form > footer {
  border-color: var(--uig-line);
  background: var(--uig-panel);
  backdrop-filter: blur(18px) saturate(1.12);
}

[data-interface-surface="glass"] .students-class-picker section > div label:has(input:checked),
[data-interface-surface="glass"] .students-class-picker section > header:has([data-class-group-toggle]:checked) {
  border-color: var(--uis-accent);
  background: var(--uis-accent-soft);
}

.students-hours-editor > .students-editor-grid {
  display: block;
}

.students-schedule-context-title {
  flex: 1 1 auto;
}

.students-context-subjects {
  display: inline-flex;
  min-width: 0;
  max-width: min(520px, 34vw);
  align-items: center;
  min-height: 27px;
  overflow: hidden;
  padding: 0 10px;
  border: 1px solid var(--uis-line-strong);
  border-radius: 999px;
  color: var(--uis-text);
  background: var(--uis-accent-soft);
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.students-schedule-context-actions {
  flex: 0 0 auto;
  gap: 10px;
}

.students-context-hours-summary {
  display: flex;
  align-items: stretch;
  gap: 5px;
}

.students-context-hours-summary article {
  display: grid;
  min-width: 66px;
  min-height: 39px;
  align-content: center;
  gap: 2px;
  padding: 5px 8px;
  border: 1px solid var(--uis-line);
  border-radius: 8px;
  background: var(--uis-card);
}

.students-context-hours-summary small {
  color: var(--uis-muted);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .045em;
}

.students-context-hours-summary b {
  color: var(--uis-accent);
  font-size: 14px;
  line-height: 1;
}

.students-context-hours-total {
  display: flex;
  min-width: 94px;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  padding-left: 12px;
  border-left: 1px solid var(--uis-line);
  color: var(--uis-accent);
  font-size: 24px;
  white-space: nowrap;
}

.students-context-hours-total small {
  color: var(--uis-muted);
  font-size: 9px;
}

[data-interface-surface="glass"] .students-context-subjects,
[data-interface-surface="glass"] .students-context-hours-summary article {
  border-color: var(--uig-line);
  color: var(--uig-text);
  background: var(--uig-inset);
}

[data-interface-surface="glass"] .students-context-subjects {
  border-color: color-mix(in srgb, var(--uis-accent) 55%, var(--uig-line));
  background: color-mix(in srgb, var(--uis-accent) 13%, var(--uig-inset));
}

[data-interface-surface="glass"] .students-context-hours-summary small,
[data-interface-surface="glass"] .students-context-hours-total small {
  color: var(--uig-muted);
}

[data-interface-surface="glass"] .students-context-hours-total {
  border-color: var(--uig-line);
}

.students-hours-heading-metrics {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
}

.students-hours-heading .students-hours-summary {
  display: flex;
  min-width: 0;
  align-items: stretch;
  gap: 6px;
  padding: 0;
}

.students-hours-heading .students-hours-summary article {
  display: grid;
  min-width: 76px;
  align-content: center;
  gap: 2px;
  padding: 7px 10px;
  border-radius: 9px;
}

.students-hours-heading .students-hours-summary small {
  font-size: 7px;
  letter-spacing: .045em;
}

.students-hours-heading .students-hours-summary b {
  font-size: 16px;
  line-height: 1;
}

.students-hours-heading .students-hours-total {
  min-width: 92px;
  justify-content: flex-end;
  padding-left: 14px;
  border-left: 1px solid var(--uis-line);
  font-size: 27px;
}

.students-hours-primary {
  display: grid;
  gap: 12px;
}

.students-hours-primary.is-dual,
.students-hours-primary.is-single {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.students-hours-supplemental {
  display: grid;
  align-content: start;
  gap: 12px;
}

.students-hours-primary > section,
.students-hours-supplemental > section {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--uis-line);
  border-radius: 11px;
  background: var(--uis-card);
}

.students-hours-primary > section > header,
.students-hours-supplemental > section > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}

.students-hours-primary > section > header small,
.students-hours-supplemental > section > header small {
  color: var(--uis-accent);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
}

.students-hours-primary > section > header h3,
.students-hours-supplemental > section > header h3 {
  margin: 4px 0 0;
  font-size: 16px;
}

[data-interface-surface="glass"] .students-hours-primary > section,
[data-interface-surface="glass"] .students-hours-supplemental > section {
  border-color: var(--uig-line);
  background: var(--uig-bg-alt);
}

.students-hours-primary.is-dual + .students-hours-supplemental {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.students-hours-category.is-compact {
  min-height: 0;
}

.students-hours-category.is-compact > header {
  min-height: 58px;
}

.students-hours-category.is-compact > p {
  min-height: 42px;
  margin: 0;
  padding: 13px 15px;
}

.students-hours-category .students-enrollment-row {
  align-items: center;
}

.students-hours-individual-stack {
  display: grid;
  min-width: 0;
  gap: 12px;
}

.students-hours-individual-stack > section {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--uis-line);
  border-radius: 11px;
  background: var(--uis-card);
}

[data-interface-surface="glass"] .students-hours-individual-stack > section {
  border-color: var(--uig-line);
  background: var(--uig-bg-alt);
}

.students-hours-category.is-obligatory > header small {
  color: var(--uia-warning);
}

.students-hours-layout {
  display: grid;
  gap: 12px;
}

.students-hours-lower {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.students-hours-lower > section,
.students-individual-board {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--uis-line);
  border-radius: 11px;
  background: var(--uis-card);
}

.students-hours-lower > section > header,
.students-individual-board > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}

.students-hours-lower > section > header small,
.students-individual-board > header small {
  color: var(--uis-accent);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
}

.students-hours-lower > section > header h3,
.students-individual-board > header h3 {
  margin: 4px 0 0;
  font-size: 16px;
}

.students-hours-lower.is-individual-only > .students-hours-supplemental {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.students-individual-programs {
  display: grid;
  gap: 12px;
}

.students-individual-program,
.students-dance-programs {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--uis-line);
  border-radius: 10px;
  background: var(--uis-card-alt);
}

.students-individual-program {
  --student-program-accent: var(--uis-accent);
}

.students-individual-program.is-ogs { --student-program-accent: var(--uis-accent); }
.students-individual-program.is-sgs { --student-program-accent: var(--uia-warning); }
.students-individual-program.is-ops { --student-program-accent: color-mix(in srgb, var(--uis-accent) 48%, var(--uia-warning)); }
.students-individual-program.is-sps { --student-program-accent: color-mix(in srgb, var(--uis-accent) 52%, var(--uia-danger)); }
.students-individual-program.is-pr-g { --student-program-accent: color-mix(in srgb, var(--uis-accent) 72%, var(--uis-muted)); }
.students-individual-program.is-pr-p { --student-program-accent: color-mix(in srgb, var(--uia-warning) 68%, var(--uis-muted)); }

.students-individual-program > header,
.students-dance-programs > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 49px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--uis-line);
  background: var(--uis-inset);
}

.students-individual-program > header {
  border-left: 4px solid var(--student-program-accent);
  background: color-mix(in srgb, var(--student-program-accent) 8%, var(--uis-inset));
}

.students-individual-program > header small,
.students-dance-programs > header small {
  color: var(--uis-accent);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
}

.students-individual-program > header small {
  color: var(--student-program-accent);
}

.students-individual-program > header h4,
.students-dance-programs > header h4 {
  margin: 2px 0 0;
  color: var(--uis-head);
  font-size: 12px;
}

.students-individual-program > header > b {
  display: grid;
  place-items: center;
  min-width: 28px;
  min-height: 28px;
  padding-inline: 7px;
  border-radius: 999px;
  color: var(--uis-head);
  background: color-mix(in srgb, var(--student-program-accent) 28%, var(--uis-inset));
  font-size: 10px;
}

.students-program-pair {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(560px, 2fr);
  gap: 12px;
}

.students-dance-programs > div {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr;
  gap: 10px;
  padding: 10px;
}

.students-grade-scroll {
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

.students-grade-grid {
  display: grid;
  grid-template-columns: repeat(var(--student-grade-count), minmax(168px, 1fr));
  min-width: calc(var(--student-grade-count) * 168px);
}

.students-grade-column {
  min-width: 0;
  border-right: 1px solid var(--uis-line);
}

.students-grade-column:last-child {
  border-right: 0;
}

.students-grade-column > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--uis-line);
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--student-program-accent) 55%, transparent);
}

.students-grade-column > header strong {
  color: var(--uis-head);
  font-size: 13px;
}

.students-grade-column > header span {
  color: var(--uis-muted);
  font-size: 8px;
  font-weight: 750;
}

.students-grade-column > div {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 68px;
  padding: 8px;
}

.students-grade-student {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--uis-line);
  border-radius: 9px;
  background: var(--uis-card);
}

.students-grade-student.is-obligatory {
  border-color: color-mix(in srgb, var(--uia-warning) 55%, var(--uis-line));
  background: color-mix(in srgb, var(--uia-warning) 7%, var(--uis-card));
}

.students-grade-student > header,
.students-grade-student > p {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.students-grade-student > header strong {
  min-width: 0;
  overflow: hidden;
  color: var(--uis-head);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.students-grade-student > header > b {
  flex: 0 0 auto;
  color: var(--uis-accent);
  font-size: 9px;
  white-space: nowrap;
}

.students-grade-student > p {
  margin: 0;
  color: var(--uis-muted);
  font-size: 8px;
}

.students-grade-student > p span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.students-grade-student > .students-obligatory-badge {
  width: max-content;
  min-height: 20px;
  padding-inline: 7px;
  font-size: 8px;
  font-style: normal;
}

.students-grade-student .students-individual-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.students-grade-student .students-individual-actions > button {
  min-width: 0;
  min-height: 27px !important;
  height: 27px !important;
  padding-inline: 4px !important;
  font-size: 8px !important;
}

.students-grade-empty {
  display: grid;
  min-height: 48px;
  margin: 0;
  place-items: center;
  color: var(--uis-muted);
  font-size: 9px;
}

.students-unclassified-students {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  padding: 10px;
}

[data-interface-surface="glass"] .students-hours-lower > section,
[data-interface-surface="glass"] .students-individual-board,
[data-interface-surface="glass"] .students-individual-program,
[data-interface-surface="glass"] .students-dance-programs,
[data-interface-surface="glass"] .students-grade-student {
  border-color: var(--uig-line);
}

[data-interface-surface="glass"] .students-hours-lower > section,
[data-interface-surface="glass"] .students-individual-board,
[data-interface-surface="glass"] .students-grade-student {
  background: var(--uig-bg-alt);
}

[data-interface-surface="glass"] .students-individual-program,
[data-interface-surface="glass"] .students-dance-programs {
  background: var(--uig-bg);
}

[data-interface-surface="glass"] .students-individual-program > header,
[data-interface-surface="glass"] .students-dance-programs > header {
  border-color: var(--uig-line);
  background: var(--uig-inset);
}

[data-interface-surface="glass"] .students-individual-program > header {
  background: color-mix(in srgb, var(--student-program-accent) 11%, var(--uig-inset));
}

[data-interface-surface="glass"] .students-grade-column,
[data-interface-surface="glass"] .students-grade-column > header {
  border-color: var(--uig-line);
}

[data-interface-surface="glass"] .students-individual-board > header :is(h3, strong),
[data-interface-surface="glass"] .students-individual-program > header :is(h4, b),
[data-interface-surface="glass"] .students-dance-programs > header h4,
[data-interface-surface="glass"] .students-grade-column > header strong,
[data-interface-surface="glass"] .students-grade-student > header strong {
  color: var(--uig-text);
}

[data-interface-surface="glass"] .students-individual-board > header small,
[data-interface-surface="glass"] .students-individual-program > header small,
[data-interface-surface="glass"] .students-dance-programs > header small,
[data-interface-surface="glass"] .students-grade-student > header > b {
  color: var(--student-program-accent);
}

[data-interface-surface="glass"] .students-grade-column > header span,
[data-interface-surface="glass"] .students-grade-student > p,
[data-interface-surface="glass"] .students-grade-empty {
  color: var(--uig-muted);
}

[data-interface-surface="glass"] .students-grade-column > header {
  background: color-mix(in srgb, var(--uig-inset) 82%, var(--uis-accent-soft));
}

[data-interface-surface="glass"] .students-grade-student {
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--uig-text) 5%, transparent);
}

[data-interface-surface="glass"] .students-grade-student.is-obligatory {
  border-color: color-mix(in srgb, var(--uia-warning) 62%, var(--uig-line));
  background: color-mix(in srgb, var(--uia-warning) 9%, var(--uig-bg-alt));
}

[data-interface-surface="glass"] .students-individual-program > header > b {
  color: var(--uig-text);
  background: color-mix(in srgb, var(--student-program-accent) 24%, var(--uig-inset));
}

[data-interface-surface="glass"] .students-hours-heading .students-hours-total {
  border-color: var(--uig-line);
}

.students-enrollment-row.is-student-schedule-row {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) auto auto;
  gap: 10px;
  min-height: 54px;
  padding-block: 8px;
}

.students-schedule-person,
.students-schedule-facts {
  display: flex;
  min-width: 0;
  align-items: center;
}

.students-schedule-person { gap: 14px; }
.students-schedule-person > strong { flex: 0 1 180px; min-width: 120px; }
.students-schedule-facts { flex: 1 1 auto; gap: 6px; }
.students-schedule-facts > em {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid var(--uis-line);
  border-radius: 9px;
  background: var(--uis-inset);
  color: var(--uis-text);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  white-space: nowrap;
}
.students-schedule-facts > em small { color: var(--uis-muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.students-obligatory-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid color-mix(in srgb, var(--uia-warning) 68%, var(--uis-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--uia-warning) 13%, transparent);
  color: inherit;
  font-size: 9px;
  white-space: nowrap;
}
.students-row-hours { min-width: 52px; text-align: right; white-space: nowrap; }

.students-hours-category .students-student-with-subject {
  flex-wrap: wrap;
}

.students-class-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid var(--uis-line-strong);
  border-radius: 999px;
  color: var(--uis-text);
  background: var(--uis-inset);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

.students-individual-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.students-enrollment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.students-enrollment-actions > button {
  min-height: 40px;
  padding-inline: 13px;
  white-space: nowrap;
}

.students-individual-actions > button {
  min-height: 36px !important;
  height: 36px !important;
  padding-inline: 10px !important;
  white-space: nowrap;
}

[data-interface-surface="glass"] .students-class-badge {
  border-color: var(--uig-line);
  color: var(--uig-text);
  background: var(--uig-inset);
}

@media (max-width: 1100px) {
  .students-hours-primary.is-dual,
  .students-hours-primary.is-single,
  .students-hours-primary.is-dual + .students-hours-supplemental {
    grid-template-columns: 1fr;
  }

  .students-individual-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .students-hours-lower,
  .students-hours-lower.is-individual-only > .students-hours-supplemental,
  .students-program-pair,
  .students-dance-programs > div {
    grid-template-columns: 1fr;
  }

  .students-hours-heading {
    align-items: flex-start !important;
    flex-direction: column;
  }

  .students-hours-heading-metrics {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }

  .students-hours-heading .students-hours-summary {
    flex: 1;
    overflow-x: auto;
  }

  .students-enrollment-actions { flex-wrap: wrap; }

  .students-enrollment-row.is-student-schedule-row { grid-template-columns: 1fr auto; }
  .students-enrollment-row.is-student-schedule-row .students-individual-actions { grid-column: 1 / -1; }

  .students-class-picker > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .students-context-hours-summary article {
    min-width: 58px;
  }

  .students-context-subjects {
    max-width: 250px;
  }
}

@media (max-width: 820px) {
  .students-context-hours-summary {
    display: none;
  }

  .students-context-subjects {
    max-width: 200px;
  }
}

@media (max-width: 700px) {
  .students-group-import > form { padding-inline: 14px; }
  .students-group-import-fields,
  .students-group-link-fields { grid-template-columns: 1fr; }
  .students-assignment-editor .students-assignment-form {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .students-assignment-form > label:first-child,
  .students-assignment-form > label:has([data-assignment-hours]) {
    grid-column: 1;
    grid-row: auto;
  }

  .students-class-picker > div {
    grid-template-columns: 1fr;
  }

  .students-class-picker section > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .students-assignment-form > footer {
    margin-inline: -14px;
    padding-inline: 14px;
  }

  .students-enrollment-row.is-student-schedule-row { grid-template-columns: 1fr; }
  .students-schedule-person { align-items: flex-start; flex-direction: column; gap: 7px; }
  .students-schedule-person > strong { flex-basis: auto; }
  .students-schedule-facts { flex-wrap: wrap; }
  .students-row-hours { text-align: left; }
  .students-enrollment-row.is-student-schedule-row .students-individual-actions { grid-column: auto; justify-content: flex-start; }
}

.students-grid .students-schedule-cell.is-soft-yellow,
.students-grid .students-schedule-head.is-soft-yellow { background: color-mix(in srgb, var(--uia-warning) 10%, var(--uis-card)); }
.students-grid .students-schedule-cell.is-soft-gray,
.students-grid .students-schedule-head.is-soft-gray { background: color-mix(in srgb, var(--uis-muted) 8%, var(--uis-card)); }
.students-grid .students-schedule-total-head { color: var(--uis-head); background: var(--uis-accent); font-weight: 900; letter-spacing: .025em; }
.students-grid .students-schedule-total-cell { display: flex; align-items: center; justify-content: center; border-inline: 1px solid var(--uis-line-strong); }
.students-schedule-total { display: inline-flex; align-items: baseline; justify-content: center; gap: 5px; min-width: 92px; min-height: 34px; padding: 0 11px; border: 1px solid var(--uis-line); border-radius: 10px; color: inherit; background: transparent; }
.students-schedule-total span { font-size: 16px; font-weight: 900; }
.students-schedule-total small { font-size: 9px; font-weight: 750; opacity: .78; }
.students-schedule-total.is-balanced { border-color: var(--uia-success); background: color-mix(in srgb, var(--uia-success) 14%, transparent); }
.students-schedule-total.is-warm { border-color: color-mix(in srgb, var(--uia-warning) 65%, var(--uis-line)); background: color-mix(in srgb, var(--uia-warning) 10%, transparent); }
.students-schedule-total.is-orange { border-color: var(--uia-warning); background: color-mix(in srgb, var(--uia-warning) 17%, transparent); }
.students-schedule-total.is-soft-danger { border-color: color-mix(in srgb, var(--uia-danger) 72%, var(--uis-line)); background: color-mix(in srgb, var(--uia-danger) 13%, transparent); }
.students-grid .ag-pinned-right-header,
.students-grid .ag-pinned-right-cols-container { box-shadow: -8px 0 18px color-mix(in srgb, var(--uis-text) 8%, transparent); }
[data-interface-surface="glass"] .students-grid .students-schedule-cell.is-soft-yellow,
[data-interface-surface="glass"] .students-grid .students-schedule-head.is-soft-yellow { background: color-mix(in srgb, var(--uia-warning) 10%, var(--uig-bg)); }
[data-interface-surface="glass"] .students-grid .students-schedule-cell.is-soft-gray,
[data-interface-surface="glass"] .students-grid .students-schedule-head.is-soft-gray { background: color-mix(in srgb, var(--uig-muted) 9%, var(--uig-bg)); }
[data-interface-surface="glass"] .students-schedule-total { border-color: var(--uig-line); color: inherit; background: transparent; }
[data-interface-surface="glass"] .students-schedule-total.is-balanced { border-color: var(--uia-success); background: color-mix(in srgb, var(--uia-success) 14%, transparent); }
[data-interface-surface="glass"] .students-schedule-total.is-warm { background: color-mix(in srgb, var(--uia-warning) 10%, transparent); }
[data-interface-surface="glass"] .students-schedule-total.is-orange { background: color-mix(in srgb, var(--uia-warning) 17%, transparent); }
[data-interface-surface="glass"] .students-schedule-total.is-soft-danger { background: color-mix(in srgb, var(--uia-danger) 13%, transparent); }

.students-grid { --ag-font-family: var(--students-table-font, inherit); }
.students-grid.is-uniform { --ag-odd-row-background-color: var(--uis-card); }
.students-grid.is-wrapped .ag-cell { white-space: normal; line-height: 1.35; padding-block: 7px; }
.students-grid-badges { display: flex; align-items: center; gap: 5px; height: 100%; overflow: hidden; }
.students-grid-badges em { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border: 1px solid var(--uis-line-strong); border-radius: 999px; background: var(--uis-inset); color: var(--uis-text); font-size: 10px; font-style: normal; font-weight: 750; white-space: nowrap; }
.students-obligatory-teacher-badges em.is-later { border-color: color-mix(in srgb, var(--uia-warning) 78%, var(--uis-line)); background: color-mix(in srgb, var(--uia-warning) 16%, var(--uis-inset)); color: var(--uia-warning); }
.students-obligatory-teacher-badges em.is-completed { border-color: color-mix(in srgb, var(--uia-success) 76%, var(--uis-line)); background: color-mix(in srgb, var(--uia-success) 15%, var(--uis-inset)); color: var(--uia-success); }
[data-interface-surface="glass"] .students-obligatory-teacher-badges em.is-later { border-color: color-mix(in srgb, var(--uia-warning) 78%, var(--uig-line)); background: color-mix(in srgb, var(--uia-warning) 16%, var(--uig-inset)); }
[data-interface-surface="glass"] .students-obligatory-teacher-badges em.is-completed { border-color: color-mix(in srgb, var(--uia-success) 76%, var(--uig-line)); background: color-mix(in srgb, var(--uia-success) 15%, var(--uig-inset)); }
.students-accompaniment-scopes-cell .students-grid-badges { flex-wrap: wrap; height: auto; min-height: 45px; padding: 6px 0; overflow: visible; align-content: center; }
.students-attention-badge, .students-complete-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.students-attention-badge { color: inherit; background: color-mix(in srgb, var(--uia-danger) 12%, transparent); border: 1px solid color-mix(in srgb, var(--uia-danger) 72%, var(--uis-line)); }
.students-issue-list article,
.students-editable-relation.is-missing { border-color: var(--uia-danger); background: color-mix(in srgb, var(--uia-danger) 12%, var(--uis-inset)); }
.students-editable-relation.is-exception { border-color: color-mix(in srgb, var(--uia-warning) 76%, var(--uis-line)); background: color-mix(in srgb, var(--uia-warning) 13%, var(--uis-inset)); }
[data-interface-surface="glass"] .students-editable-relation.is-exception { border-color: color-mix(in srgb, var(--uia-warning) 76%, var(--uig-line)); background: color-mix(in srgb, var(--uia-warning) 13%, var(--uig-inset)); }
.students-issue-list article span { display: grid; align-self: start; width: 27px; height: 27px; border-radius: 999px; place-items: center; color: var(--uia-danger); background: color-mix(in srgb, var(--uia-danger) 18%, var(--uis-card)); }
.students-issue-list article span svg { stroke: currentColor; }
.students-complete-badge { color: inherit; background: color-mix(in srgb, var(--uia-success) 12%, transparent); border: 1px solid color-mix(in srgb, var(--uia-success) 72%, var(--uis-line)); }
.students-editable-relation nav [data-edit-student-relation] { order: 1; }
.students-editable-relation nav [data-delete-student-relation] { order: 2; }
.students-settings { height: 100%; overflow: auto; padding: 28px; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-panel); }
.students-settings > header { max-width: 720px; }
.students-settings > header small { color: var(--uis-accent); font-weight: 800; letter-spacing: .07em; }
.students-settings h2 { margin: 7px 0; font-size: 24px; }
.students-settings > header p { margin: 0; color: var(--uis-muted); }
.students-settings form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 850px; margin-top: 24px; }
.students-settings form > label { display: grid; gap: 6px; padding: 15px; border: 1px solid var(--uis-line); border-radius: 11px; background: var(--uis-card); color: var(--uis-muted); font-size: 11px; font-weight: 750; }
.students-settings select { width: 100%; height: 42px; border: 1px solid var(--uis-line); border-radius: 10px; background: var(--uis-inset); color: var(--uis-text); }
.students-setting-toggle { display: flex !important; align-items: center; gap: 12px; }
.students-setting-toggle input { width: 18px; height: 18px; accent-color: var(--uis-accent); }
.students-setting-toggle span { display: grid; gap: 3px; }
.students-setting-toggle strong { color: var(--uis-text); }
.students-setting-toggle small { font-weight: 500; }
.students-settings footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; padding-top: 8px; }
.students-settings-feedback { grid-column: 1 / -1; margin: 0; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--uia-success) 70%, var(--uis-line)); border-radius: 10px; color: var(--uis-text); background: color-mix(in srgb, var(--uia-success) 13%, var(--uis-card)); font-size: 12px; font-weight: 800; }
.students-settings-feedback[hidden] { display: none; }
[data-interface-surface="glass"] .students-settings { border-color: var(--uig-line); background: var(--uig-panel); }
[data-interface-surface="glass"] .students-settings form > label { border-color: var(--uig-line); background: var(--uig-bg-alt); }
[data-interface-surface="glass"] .students-settings select,
[data-interface-surface="glass"] .students-grid-badges em { border-color: var(--uig-line); background: var(--uig-inset); color: var(--uig-text); }
[data-interface-surface="glass"] .students-settings-feedback { border-color: color-mix(in srgb, var(--uia-success) 70%, var(--uig-line)); color: var(--uig-text); background: color-mix(in srgb, var(--uia-success) 13%, var(--uig-bg)); }

.students-editor-breadcrumb > .student-status { flex: 0 0 auto; padding: 5px 9px; border: 1px solid var(--uis-line); border-radius: 999px; background: var(--uis-card); }
.students-student-profile { display: grid; grid-template-columns: minmax(285px,.9fr) minmax(0,3.1fr); align-items: center; gap: 10px; margin: 10px 14px 0; padding: 9px 12px; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-card); }
.students-student-profile-lead { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "label action" "name action" "location action"; align-items: center; gap: 2px 10px; min-width: 0; padding-right: 12px; border-right: 1px solid var(--uis-line); }
.students-student-profile-lead > small { grid-area: label; color: var(--uis-accent); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.students-student-profile-lead > strong { grid-area: name; overflow: hidden; color: var(--uis-text); font-size: 16px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.students-student-profile-lead > .students-location-badge { grid-area: location; width: fit-content; max-width: 100%; padding-block: 3px; }
.students-student-profile-lead > button { grid-area: action; width: fit-content; min-height: 32px; padding-inline: 11px; white-space: nowrap; }
.students-student-profile dl { display: grid; grid-template-columns: repeat(8,minmax(72px,1fr)); margin: 0; }
.students-student-profile dl > div { display: grid; align-content: center; gap: 2px; min-width: 0; min-height: 38px; padding: 3px 8px; border-left: 1px solid var(--uis-line); }
.students-student-profile dt { color: var(--uis-muted); font-size: 8px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.students-student-profile dd { min-width: 0; margin: 0; overflow: hidden; color: var(--uis-text); font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.students-student-profile dd .student-status { font-size: 10px; }
[data-interface-surface="glass"] .students-student-profile { border-color: var(--uig-line); background: var(--uig-bg); }
[data-interface-surface="glass"] .students-student-profile-lead { border-color: var(--uig-line); }
[data-interface-surface="glass"] .students-student-profile-lead > strong,[data-interface-surface="glass"] .students-student-profile dd { color: var(--uig-text); }
[data-interface-surface="glass"] .students-student-profile dl > div { border-color: var(--uig-line); }
[data-interface-surface="glass"] .students-student-profile dt { color: var(--uig-muted); }
@media(max-width:1400px){.students-student-profile{grid-template-columns:minmax(250px,.8fr) minmax(0,3.2fr)}.students-student-profile dl{grid-template-columns:repeat(4,minmax(100px,1fr))}}
@media(max-width:800px){.students-student-profile{grid-template-columns:1fr;margin:8px 8px 0;padding:10px}.students-student-profile-lead{padding:0 0 9px;border-right:0;border-bottom:1px solid var(--uis-line)}.students-student-profile dl{grid-template-columns:repeat(2,minmax(110px,1fr))}.students-student-profile-lead>strong{white-space:normal}[data-interface-surface="glass"] .students-student-profile-lead{border-color:var(--uig-line)}}
.students-student-editor > header { display: none; }
.students-student-editor .students-editor-grid { padding-top: 10px; }
.students-student-breadcrumb { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); grid-template-areas: "label label" "name meta"; gap: 3px 10px; padding-block: 2px; }
.students-student-breadcrumb > small { grid-area: label; align-self: end; }
.students-student-breadcrumb > strong { grid-area: name; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.students-student-breadcrumb-meta { grid-area: meta; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; min-width: 0; }
.students-student-breadcrumb-meta > .students-record-identity { color: var(--uia-warning); font-size: 10px; font-weight: 850; }
.students-student-breadcrumb-meta > .students-location-badge { padding-block: 4px; }
.students-enrollments-panel > header p { margin: 4px 0 0; color: var(--uis-muted); font-size: 10px; }
.students-enrollment-years { display: grid; gap: 10px; margin-top: 14px; }
.students-enrollment-year { overflow: hidden; border: 1px solid var(--uis-line); border-radius: 11px; background: var(--uis-inset); }
.students-enrollment-year > header { display: grid; grid-template-columns: minmax(150px,1fr) auto auto; align-items: center; gap: 10px; min-height: 48px; padding: 7px 10px 7px 14px; border-bottom: 1px solid var(--uis-line); background: var(--uis-card); }
.students-enrollment-year > header > div { display: grid; gap: 2px; }
.students-enrollment-year > header strong { color: var(--uis-text); font-size: 14px; }
.students-enrollment-year > header span { color: var(--uis-muted); font-size: 9px; font-weight: 700; }
.students-enrollment-year > header em { color: var(--uis-muted); font-size: 10px; font-style: normal; font-weight: 800; }
.students-enrollment-year > header button { width: 34px; min-width: 34px; min-height: 34px; padding: 0; font-size: 22px; line-height: 1; }
.students-enrollment-year-body { display: grid; gap: 7px; padding: 8px; }
.students-enrollment-year-body > .students-enrollment-row { margin: 0; }
.students-enrollment-year.is-current { border-color: color-mix(in srgb,var(--uia-warning) 45%,var(--uis-line)); }
.students-enrollment-year.is-current > header strong { color: var(--uia-warning); }
.students-enrollment-history-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 46px; padding: 7px 11px; border: 1px solid var(--uis-line); border-radius: 9px; background: var(--uis-card); }
.students-enrollment-history-row svg,.students-enrollment-row button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.students-enrollment-history-row > div { display: grid; gap: 3px; min-width: 0; }
.students-enrollment-title { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.students-enrollment-title > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.students-enrollment-title > b { color: var(--uis-muted); font-size: 11px; font-weight: 750; white-space: nowrap; }
.students-enrollment-history-row strong { overflow: hidden; color: var(--uis-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.students-enrollment-history-row small { overflow: hidden; color: var(--uis-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.students-enrollment-history-row > b { padding: 5px 8px; border: 1px solid var(--uis-line); border-radius: 999px; color: var(--uis-muted); background: var(--uis-inset); font-size: 9px; white-space: nowrap; }
.students-enrollment-year .students-enrollment-actions button,.students-enrollment-year [data-save-student-progression] { display: inline-flex; align-items: center; justify-content: center; width: 38px; min-width: 38px; min-height: 38px; padding: 0; }
[data-interface-surface="glass"] .students-enrollment-year,[data-interface-surface="glass"] .students-enrollment-year > header,[data-interface-surface="glass"] .students-enrollment-history-row,[data-interface-surface="glass"] .students-enrollment-history-row > b { border-color: var(--uig-line); }
[data-interface-surface="glass"] .students-enrollment-year { background: var(--uig-inset); }
[data-interface-surface="glass"] .students-enrollment-year > header,[data-interface-surface="glass"] .students-enrollment-history-row { background: var(--uig-bg-alt); }
[data-interface-surface="glass"] .students-enrollment-history-row > b { background: var(--uig-inset); }
@media(max-width:720px){.students-enrollment-year > header{grid-template-columns:minmax(0,1fr) auto auto}.students-enrollment-history-row{grid-template-columns:minmax(0,1fr)}.students-enrollment-history-row>b{width:fit-content}.students-enrollment-title{flex-wrap:wrap}.students-enrollment-year .students-enrollment-actions button{width:36px;min-width:36px;padding:0;justify-content:center}}
.students-enrollment-row.is-main-enrollment { position: relative; overflow: hidden; padding-left: 14px; border-color: color-mix(in srgb, var(--uia-warning) 44%, var(--uis-line)); }
.students-enrollment-row.is-main-enrollment::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--uia-warning); content: ""; }
.students-enrollment-row.is-main-enrollment { padding-block: 8px; }
.students-enrollment-row.is-main-enrollment .students-enrollment-title > strong { color: var(--uia-warning); font-size: 14px; }
.students-student-editor .students-data-control { align-self: start; padding: 0; overflow: hidden; border-width: 1px; }
.students-student-editor .students-data-control > header { align-items: center; margin: 0; padding: 15px 17px; border-bottom: 1px solid var(--uis-line); }
.students-control-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "label label" "status message"; align-items: center; gap: 5px 10px; min-width: 0; }
.students-control-heading > small { grid-area: label; }
.students-control-status { grid-area: status; display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 10px; border: 1px solid currentColor; border-radius: 999px; font-size: 12px; font-weight: 900; white-space: nowrap; }
.students-control-status svg { flex: 0 0 15px; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }
.students-control-heading p { grid-area: message; margin: 0; color: var(--uis-muted); font-size: 10px; }
.students-control-count { display: grid; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 9px; place-items: center; font-size: 13px; }
.students-control-content { display: grid; gap: 8px; padding: 12px 17px 15px; }
.students-control-content > .students-empty-note { margin: 0; padding: 10px 12px; border: 1px dashed var(--uis-line); border-radius: 8px; background: var(--uis-inset); }
.students-student-editor .students-data-control.is-ok { border-color: color-mix(in srgb, var(--uia-success) 72%, var(--uis-line)); background: color-mix(in srgb, var(--uia-success) 11%, var(--uis-card)); }
.students-student-editor .students-data-control.is-warning { border-color: color-mix(in srgb, var(--uia-warning) 72%, var(--uis-line)); background: color-mix(in srgb, var(--uia-warning) 11%, var(--uis-card)); }
.students-student-editor .students-data-control.is-danger { border-color: color-mix(in srgb, var(--uia-danger) 76%, var(--uis-line)); background: color-mix(in srgb, var(--uia-danger) 12%, var(--uis-card)); }
.students-student-editor .students-data-control.is-ok > header small,
.students-student-editor .students-data-control.is-ok > header span { color: var(--uia-success); }
.students-student-editor .students-data-control.is-warning > header small,
.students-student-editor .students-data-control.is-warning > header span { color: var(--uia-warning); }
.students-student-editor .students-data-control.is-danger > header small,
.students-student-editor .students-data-control.is-danger > header span { color: var(--uia-danger); }
.students-student-editor .students-data-control.is-ok .students-control-status { background: color-mix(in srgb, var(--uia-success) 18%, var(--uis-inset)); }
.students-student-editor .students-data-control.is-warning .students-control-status { background: color-mix(in srgb, var(--uia-warning) 18%, var(--uis-inset)); }
.students-student-editor .students-data-control.is-danger .students-control-status { background: color-mix(in srgb, var(--uia-danger) 18%, var(--uis-inset)); }
.students-student-editor .students-private-note { grid-column: 2; align-self: start; justify-self: start; box-sizing: border-box; width: min(100%, 620px); padding: 13px; }
.students-student-editor .students-private-note > header { margin-bottom: 8px; }
.students-student-editor .students-private-note textarea { min-height: 58px; max-height: 110px; }

[data-interface-surface="glass"] .students-editor-breadcrumb > .student-status { border-color: var(--uig-line); background: var(--uig-inset); color: var(--uig-text); }
[data-interface-surface="glass"] .students-enrollment-row.is-main-enrollment { border-color: color-mix(in srgb, var(--uia-warning) 48%, var(--uig-line)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control > header { border-color: var(--uig-line); }
[data-interface-surface="glass"] .students-control-content > .students-empty-note { background: var(--uig-inset); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-ok { border-color: color-mix(in srgb, var(--uia-success) 72%, var(--uig-line)); background: color-mix(in srgb, var(--uia-success) 11%, var(--uig-bg-alt)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-warning { border-color: color-mix(in srgb, var(--uia-warning) 72%, var(--uig-line)); background: color-mix(in srgb, var(--uia-warning) 11%, var(--uig-bg-alt)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-danger { border-color: color-mix(in srgb, var(--uia-danger) 76%, var(--uig-line)); background: color-mix(in srgb, var(--uia-danger) 12%, var(--uig-bg-alt)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-ok .students-control-status { background: color-mix(in srgb, var(--uia-success) 18%, var(--uig-inset)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-warning .students-control-status { background: color-mix(in srgb, var(--uia-warning) 18%, var(--uig-inset)); }
[data-interface-surface="glass"] .students-student-editor .students-data-control.is-danger .students-control-status { background: color-mix(in srgb, var(--uia-danger) 18%, var(--uig-inset)); }

@media (max-width: 900px) {
  .students-student-editor .students-private-note { grid-column: 1; width: 100%; }
}

@media (max-width: 700px) {
  .students-student-breadcrumb { grid-template-columns: 1fr; grid-template-areas: "label" "name" "meta"; }
  .students-control-heading p { display: none; }
  .students-enrollment-row.is-main-enrollment { align-items: flex-start; flex-wrap: wrap; }
  .students-enrollment-row.is-main-enrollment > div { min-width: 100%; }
  .students-enrollment-row.is-main-enrollment > label,
  .students-enrollment-row.is-main-enrollment > nav { margin-left: 0; }
}

@media (max-width: 900px) {
  .students-settings form { grid-template-columns: 1fr; }
  .students-settings footer { grid-column: 1; }
}

/* AG Grid Studio */
.students-grid-studio { padding: 0; background: var(--uis-panel); }
.students-grid-studio > header { display: none; }
.students-grid-studio > header h2 { margin: 0 0 4px; font-size: 25px; }
.students-grid-studio > header p { margin: 0; color: var(--uis-muted); }
.students-settings-edition { padding: 7px 10px; border: 1px solid var(--uis-line-strong); border-radius: 8px; color: var(--uis-accent); background: var(--uis-inset); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.students-grid-studio form { display: block; max-width: none; margin: 0; padding: 18px 24px 24px; }
.students-settings-preview { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--uis-line-strong); border-radius: 14px; background: var(--uis-card); box-shadow: 0 14px 32px color-mix(in srgb,var(--uis-text) 8%,transparent); }
.students-settings-preview > header,.students-settings-section > header { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-bottom: 1px solid var(--uis-line); }
.students-settings-preview > header { justify-content: space-between; }
.students-settings-preview h3,.students-settings-section h3 { margin: 0 0 3px; color: var(--uis-text); font-size: 14px; }
.students-settings-preview p,.students-settings-section p { margin: 0; color: var(--uis-muted); font-size: 11px; }
.students-settings-preview > header > span { padding: 5px 8px; border-radius: 7px; color: var(--uis-accent); background: var(--uis-accent-soft); font-size: 10px; font-weight: 850; }
.students-grid-preview { --preview-font: inherit; --preview-size: 12px; --preview-row: 42px; --preview-header: 34px; --preview-accent: var(--uis-accent); margin: 12px; overflow: hidden; border: 1px solid var(--uis-line); border-radius: 10px; font-family: var(--preview-font); font-size: var(--preview-size); transition: border-radius .2s ease,background .2s ease,color .2s ease; }
.students-grid-preview > div { display: grid; grid-template-columns: 64px 1.2fr 1fr 120px; min-height: var(--preview-row); align-items: center; }
.students-grid-preview > div:first-child { min-height: var(--preview-header); color: var(--uis-muted); background: color-mix(in srgb,var(--preview-accent) 18%,var(--uis-inset)); }
.students-grid-preview > div:nth-child(odd):not(:first-child).is-striped,.students-grid-preview.is-striped > div:nth-child(odd):not(:first-child) { background: var(--uis-card-alt); }
.students-grid-preview span,.students-grid-preview strong,.students-grid-preview b,.students-grid-preview em { padding: 0 12px; font-style: normal; }
.students-grid-preview em { color: var(--uia-success); font-weight: 800; }
.students-grid-preview.has-borders span,.students-grid-preview.has-borders strong,.students-grid-preview.has-borders b,.students-grid-preview.has-borders em { align-self: stretch; display: flex; align-items: center; border-right: 1px solid var(--uis-line); }
.students-grid-preview[data-mode="dark"] { color: #e8f3ff; background: #071a2c; --uis-inset: #0d2942; --uis-card-alt: #0b2238; --uis-line: #244760; }
.students-grid-preview[data-mode="light"] { color: #182433; background: #fff; --uis-text: #182433; --uis-muted: #5e6d7c; --uis-card: #fff; --uis-card-alt: #f6f8fb; --uis-inset: #edf2f7; --uis-line: #d4dee7; --uis-accent: #1677b8; }
.students-grid-preview[data-mode="light"] > div:first-child { color: #405164; background: color-mix(in srgb,var(--preview-accent) 10%,#edf2f7); }
.students-grid-preview[data-mode="light"] > div:not(:first-child) { color: #182433; }
.students-grid-preview[data-mode="light"] > div:not(:first-child) strong { color: #182433; }
.students-grid-preview[data-mode="light"] > div:not(:first-child) em { color: #087a55; }
.students-grid-preview[data-mode="light"].has-hover > div:nth-child(3) { color: #182433; background: color-mix(in srgb,var(--preview-accent) 10%,#fff); }
.students-grid-preview[data-mode="light"].has-floating-filters::before { color: #687789; border-color: #d4dee7; background: #f8fafc; }
.students-grid-preview[data-theme="alpine"] { --preview-accent: #4f91d8; border-radius: 2px; }
.students-grid-preview[data-theme="balham"] { --preview-accent: #7b8fa1; border-radius: 0; }
.students-grid-preview[data-theme="material"] { --preview-accent: #00acc1; border: 0; border-radius: 0; box-shadow: 0 3px 10px color-mix(in srgb,var(--uis-text) 18%,transparent); }
.students-grid-preview[data-theme="quartz"] { --preview-accent: var(--uis-accent); border-radius: 10px; }
.students-grid-preview.is-equal > div { grid-template-columns: repeat(4,1fr); }
.students-grid-preview:not(.has-row-numbers) > div { grid-template-columns: 0 1.2fr 1fr 120px; }
.students-grid-preview:not(.has-row-numbers) > div > :first-child { visibility: hidden; padding: 0; }
.students-grid-preview.is-wrapped > div { min-height: max(var(--preview-row),52px); }.students-grid-preview.is-wrapped span,.students-grid-preview.is-wrapped strong { white-space: normal; line-height: 1.35; }
.students-grid-preview.is-pinned > div > :nth-child(2) { background: color-mix(in srgb,var(--preview-accent) 7%,transparent); box-shadow: 4px 0 8px color-mix(in srgb,var(--uis-text) 8%,transparent); }
.students-grid-preview.has-hover > div:nth-child(3) { background: color-mix(in srgb,var(--preview-accent) 14%,var(--uis-card)); }
.students-grid-preview.has-animation > div:nth-child(4) { animation: students-preview-row 1.8s ease-in-out infinite alternate; }
.students-grid-preview.has-floating-filters::before { content: "Pretraži…     Filtriraj predmet…     Odaberi status…"; display: block; min-height: 28px; padding: 7px 12px; color: var(--uis-muted); border-bottom: 1px solid var(--uis-line); background: var(--uis-inset); font-size: 9px; word-spacing: 18px; }
@keyframes students-preview-row { from { filter: brightness(1); } to { filter: brightness(1.12); } }
.students-settings-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.students-settings-section { position: relative; overflow: visible; border: 1px solid var(--uis-line); border-radius: 13px; background: var(--uis-card); }
.students-settings-section:has(.is-open),.students-settings-section:has([aria-expanded="true"]),.students-settings-section:has(.app-standard-drop[open]) { z-index: 120; }
.students-settings-fields label:has(.app-standard-drop[open]) { position: relative; z-index: 130; }
.students-settings-section .app-standard-drop[open] { z-index: 140; overflow: visible; }
.students-settings-section .ui-dropdown-panel,.students-settings-section .my-teaching-options { z-index: 40; }
.students-settings-section > header > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 9px; color: var(--uis-accent); background: var(--uis-accent-soft); }
.students-settings-section > header svg,.students-grid-studio footer svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.students-theme-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 14px 14px 0; }
.students-theme-card { position: relative; display: grid; gap: 5px; padding: 9px; border: 1px solid var(--uis-line); border-radius: 10px; cursor: pointer; }
.students-theme-card:has(input:checked) { border-color: var(--uis-accent); box-shadow: inset 0 0 0 1px var(--uis-accent); }
.students-theme-card input { position: absolute; opacity: 0; pointer-events: none; }
.students-theme-card strong { color: var(--uis-text); font-size: 11px; }
.students-theme-card small { color: var(--uis-muted); font-size: 8px; }
.students-theme-swatch { display: grid; grid-template-columns: 28% 1fr; grid-template-rows: 11px 1fr; height: 42px; overflow: hidden; border: 1px solid var(--uis-line); border-radius: 6px; background: var(--uis-inset); }
.students-theme-swatch i:first-child { grid-column: 1/-1; background: var(--uis-accent); opacity: .8; }
.students-theme-swatch i:nth-child(2) { grid-row: 2; background: color-mix(in srgb,var(--uis-accent) 18%,var(--uis-card)); }
.students-theme-swatch i:last-child { background: repeating-linear-gradient(to bottom,var(--uis-card) 0 7px,var(--uis-line) 7px 8px); }
.students-theme-swatch.is-alpine { border-radius: 2px; }.students-theme-swatch.is-balham i:first-child { background: var(--uis-muted); }.students-theme-swatch.is-material { border: 0; border-radius: 0; box-shadow: 0 2px 6px color-mix(in srgb,var(--uis-text) 20%,transparent); }
.students-settings-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 14px; }
.students-settings-fields label { display: grid; gap: 6px; color: var(--uis-muted); font-size: 10px; font-weight: 750; }
.students-settings-fields select,.students-settings-fields input { box-sizing: border-box; width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--uis-line); border-radius: 8px; color: var(--uis-text); background: var(--uis-inset); }
.students-settings-fields small { color: var(--uis-muted); font-size: 9px; font-weight: 500; }
.students-density-picker { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; padding: 14px 14px 0; }
.students-density-picker label { cursor: pointer; }.students-density-picker input { position: absolute; opacity: 0; }
.students-density-picker span { display: flex; justify-content: center; padding: 9px; border: 1px solid var(--uis-line); border-radius: 8px; color: var(--uis-muted); font-size: 10px; font-weight: 800; }
.students-density-picker label:has(input:checked) span { border-color: var(--uis-accent); color: var(--uis-text); background: var(--uis-accent-soft); }
.students-settings-control-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--uis-line); }
.students-grid-studio .students-setting-toggle { min-height: 58px; padding: 10px 14px; border: 0; border-radius: 0; background: var(--uis-card); }
.students-grid-studio .students-setting-toggle input { appearance: none; position: relative; width: 34px; height: 19px; flex: 0 0 34px; border: 1px solid var(--uis-line-strong); border-radius: 999px; background: var(--uis-inset); cursor: pointer; }
.students-grid-studio .students-setting-toggle input::after { content: ""; position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: var(--uis-muted); transition: transform .18s ease,background .18s ease; }
.students-grid-studio .students-setting-toggle input:checked { border-color: var(--uis-accent); background: var(--uis-accent-soft); }
.students-grid-studio .students-setting-toggle input:checked::after { transform: translateX(15px); background: var(--uis-accent); }
.students-grid-studio .students-setting-toggle strong { font-size: 10px; }.students-grid-studio .students-setting-toggle small { color: var(--uis-muted); font-size: 9px; }
.students-access-section { grid-column: 1/-1; }
.students-grid-studio .my-teaching-form-error { margin: 14px 0 0; }
.students-grid-studio footer { display: flex; width: fit-content; max-width: 100%; align-items: center; justify-content: flex-end; gap: 9px; margin: 18px 0 0 auto; padding: 10px; border: 1px solid var(--uis-line); border-radius: 13px; background: var(--uis-card); box-shadow: 0 10px 28px color-mix(in srgb,var(--uis-text) 10%,transparent); }
.students-grid-studio footer .students-settings-feedback { max-width: 260px; margin: 0 5px 0 0; padding: 0; border: 0; color: var(--uis-muted); background: transparent; font-size: 10px; font-weight: 750; }
.students-grid-studio footer button { display: inline-flex; align-items: center; gap: 7px; }
.students-grid.has-cell-borders .ag-cell { border-right: 1px solid var(--uis-line); border-bottom: 1px solid var(--uis-line); }
.students-grid.no-row-hover { --ag-row-hover-color: transparent; }
[data-interface-surface="glass"] .students-grid-studio,[data-interface-surface="glass"] .students-grid-studio > header { border-color: var(--uig-line); background: var(--uig-panel); }
[data-interface-surface="glass"] .students-grid-studio footer { border-color: var(--uig-line); background: var(--uig-bg-alt); }
[data-interface-surface="glass"] .students-grid-studio footer .students-settings-feedback { color: var(--uig-muted); background: transparent; }
[data-interface-surface="glass"] .students-settings-preview,[data-interface-surface="glass"] .students-settings-section { border-color: var(--uig-line); background: var(--uig-bg); }
[data-interface-surface="glass"] .students-grid-studio .students-setting-toggle { background: var(--uig-bg-alt); }
@media(max-width:1100px){.students-settings-columns{grid-template-columns:1fr}.students-access-section{grid-column:auto}.students-theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.students-grid-studio>header{align-items:flex-start;padding:16px}.students-grid-studio form{padding:10px}.students-settings-edition{display:none}.students-settings-columns{gap:10px}.students-settings-control-grid,.students-settings-fields{grid-template-columns:1fr}.students-theme-grid{grid-template-columns:repeat(2,1fr)}.students-grid-preview>div{grid-template-columns:44px 1.2fr 1fr}.students-grid-preview>div>*:last-child{display:none}.students-grid-studio footer{width:100%;box-sizing:border-box;flex-wrap:wrap;margin:14px 0 0;padding:10px}.students-grid-studio footer .students-settings-feedback{width:100%;max-width:none;margin:0 0 2px;text-align:right}}
.students-grid-studio-bar { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 18px; }
.students-grid-studio-bar > div { display: grid; gap: 3px; }
.students-grid-studio-bar strong { color: var(--uis-text); font-size: 18px; }
.students-grid-studio-bar span { color: var(--uis-muted); font-size: 11px; }
.students-grid-studio-bar b { padding: 7px 10px; border: 1px solid var(--uis-line-strong); border-radius: 8px; color: var(--uis-accent); background: var(--uis-inset); font-size: 10px; letter-spacing: .07em; }
[data-interface-surface="glass"] .students-grid-studio-bar strong { color: var(--uig-text); }
[data-interface-surface="glass"] .students-grid-studio-bar b { border-color: var(--uig-line); background: var(--uig-inset); }
@media(max-width:700px){.students-grid-studio-bar span,.students-grid-studio-bar b{display:none}}

.students-tools-clean { padding-top: 18px; }
.students-tools-clean > div { margin-top: 0; }
.students-tools-people nav { display: flex; align-items: center; gap: 8px; }
.students-tools-people nav button { white-space: nowrap; }
.students-audit { height: 100%; overflow: auto; padding: 24px; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-panel); }
.students-audit > header h2 { margin: 0 0 6px; font-size: 22px; }
.students-audit > header p { margin: 0; color: var(--uis-muted); }
.students-audit > div { display: grid; gap: 8px; margin-top: 20px; }
.students-audit article { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--uis-line); border-radius: 11px; background: var(--uis-card); }
.students-audit article > span:first-child { display: grid; flex: 1; gap: 3px; min-width: 0; }
.students-audit article small { overflow: hidden; color: var(--uis-muted); text-overflow: ellipsis; white-space: nowrap; }
.students-audit article > button { flex: 0 0 auto; }
.students-audit-empty { display: grid; gap: 5px; padding: 30px; border: 1px dashed var(--uis-line); border-radius: 11px; color: var(--uis-muted); text-align: center; }
[data-interface-surface="glass"] .students-audit { border-color: var(--uig-line); background: var(--uig-panel); }
[data-interface-surface="glass"] .students-audit article { border-color: var(--uig-line); background: var(--uig-bg-alt); }

.students-center[data-read-only="true"] .students-private-note,
.students-center[data-read-only="true"] [data-manage],
.students-center[data-read-only="true"] [data-delete-student],
.students-center[data-read-only="true"] [data-add-enrollment],
.students-center[data-read-only="true"] [data-add-student-relation],
.students-center[data-read-only="true"] [data-change-enrollment],
.students-center[data-read-only="true"] [data-delete-enrollment],
.students-center[data-read-only="true"] [data-edit-student-relation],
.students-center[data-read-only="true"] [data-delete-student-relation],
.students-center[data-read-only="true"] [data-bulk-student-edit],
.students-center[data-read-only="true"] [data-save-student-progression],
.students-center[data-read-only="true"] [data-rule-add],
.students-center[data-read-only="true"] [data-rule-later],
.students-center[data-read-only="true"] [data-resolve-duplicate],
.students-center[data-read-only="true"] [data-teacher-bulk],
.students-center[data-read-only="true"] [data-transfer-student],
.students-center[data-read-only="true"] [data-edit-assignment],
.students-center[data-read-only="true"] [data-unlink-student] {
  display: none !important;
}

/* Širi izbori čuvaju pune nazive razreda i predmeta, a zajednički dropdown
   preuzima istu širinu od svog roditelja. */
.students-filters > label:has(> select[data-filter="grade"]) {
  flex: 0 0 220px;
  min-width: 220px;
}
.students-filters > label:has(> select[data-filter="subject"]) {
  flex: 0 0 300px;
  min-width: 300px;
}
.students-filters > label:has(> select[data-filter="grade"]) > :is(select, .my-teaching-select),
.students-filters > label:has(> select[data-filter="subject"]) > :is(select, .my-teaching-select) {
  box-sizing: border-box;
  width: 100%;
  min-width: 100%;
}

@media (max-width: 1300px) {
  .students-filters > label:has(> select[data-filter="grade"]) {
    flex-basis: 190px;
    min-width: 190px;
  }
  .students-filters > label:has(> select[data-filter="subject"]) {
    flex-basis: 250px;
    min-width: 250px;
  }
}

@media (max-width: 700px) {
  .students-tools-people, .students-audit article { align-items: flex-start; flex-direction: column; }
  .students-tools-people nav { width: 100%; flex-wrap: wrap; }
}
