.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(220px, 360px) minmax(150px, 240px);
  max-width: none;
  padding: 18px 28px 22px;
}

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

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

.students-assignment-form > .students-enrollment-grade-note {
  margin: 1px 0 0;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--uis-warning) 48%, var(--uis-line));
  border-radius: 9px;
  color: var(--uis-text);
  background: color-mix(in srgb, var(--uis-warning) 9%, var(--uis-inset));
  font-size: 11px;
  line-height: 1.45;
}

.students-enrollment-grade-note strong {
  color: var(--uis-warning);
}

.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,
.students-first-grade-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,
.students-first-grade-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,
.students-first-grade-import input:not([type="checkbox"]),
.students-first-grade-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-import input[type="file"],
.students-first-grade-import input[type="file"] {
  padding: 5px 7px;
  color: var(--uis-muted);
}

.students-group-import input[type="file"]::file-selector-button,
.students-first-grade-import input[type="file"]::file-selector-button {
  min-height: 30px;
  margin-right: 10px;
  padding: 0 12px;
  border: 1px solid var(--uis-line-strong);
  border-radius: 7px;
  color: var(--uis-head);
  background: var(--uis-accent-soft);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.students-group-import input[type="file"]::file-selector-button:hover,
.students-first-grade-import input[type="file"]::file-selector-button:hover {
  border-color: var(--uis-accent);
  color: var(--uis-text);
  background: color-mix(in srgb, var(--uis-accent) 24%, 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,
.students-first-grade-import form > footer { display: flex; justify-content: flex-end; gap: 8px; }

.students-first-grade-note {
  display: grid;
  gap: 5px;
  margin: 18px 28px 0;
  padding: 14px 16px;
  border: 1px solid var(--uis-line);
  border-radius: 11px;
  color: var(--uis-text);
  background: var(--uis-inset);
}

.students-first-grade-note p { margin: 0; font-size: 11px; line-height: 1.5; }
.students-first-grade-note p + p { color: var(--uis-muted); }
.students-first-grade-upload { display: flex; justify-content: flex-end; }

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

.students-first-grade-preview[data-ui-surface="empty"] { display: grid; gap: 4px; padding: 24px; color: var(--uis-text); text-align: center; }
.students-first-grade-preview[data-ui-surface="empty"] span { color: var(--uis-muted); font-size: 11px; }
.students-first-grade-preview > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 15px; border-bottom: 1px solid var(--uis-line); background: var(--uis-inset); }
.students-first-grade-preview > header div { display: grid; gap: 3px; }
.students-first-grade-preview > header small,
.students-first-grade-preview > header > span { color: var(--uis-muted); font-size: 10px; }
.students-first-grade-table-wrap { max-height: 430px; overflow: auto; }
.students-first-grade-table-wrap table { width: 100%; border-collapse: collapse; color: var(--uis-text); font-size: 10px; }
.students-first-grade-table-wrap :is(th,td) { padding: 10px 12px; border-bottom: 1px solid var(--uis-line); text-align: left; vertical-align: top; }
.students-first-grade-table-wrap th { position: sticky; top: 0; z-index: 1; color: var(--uis-muted); background: var(--uis-card); font-size: 9px; letter-spacing: .03em; }
.students-first-grade-table-wrap tr:last-child td { border-bottom: 0; }
.students-first-grade-table-wrap em { color: var(--uis-accent); font-style: normal; font-weight: 800; }
.students-first-grade-table-wrap tr.is-invalid em { color: var(--uis-danger, #ef6b6b); }

[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,
[data-interface-surface="glass"] .students-first-grade-import input:not([type="checkbox"]),
[data-interface-surface="glass"] .students-first-grade-import select,
[data-interface-surface="glass"] .students-first-grade-note,
[data-interface-surface="glass"] .students-first-grade-preview { border-color: var(--uig-line); color: var(--uig-text); background: var(--uig-inset); }

[data-interface-surface="glass"] .students-group-import input[type="file"]::file-selector-button,
[data-interface-surface="glass"] .students-first-grade-import input[type="file"]::file-selector-button {
  border-color: var(--uig-line);
  color: var(--uig-text);
  background: var(--uig-accent-soft);
}

[data-interface-surface="glass"] .students-group-import input[type="file"]::file-selector-button:hover,
[data-interface-surface="glass"] .students-first-grade-import input[type="file"]::file-selector-button:hover {
  border-color: var(--uig-accent);
  background: color-mix(in srgb, var(--uig-accent) 22%, 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.has-class-teacher [data-class-lock] {
  color: #f2c75c;
  font-weight: 800;
}

.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(--ag-background-color); }
.students-grid.is-wrapped .ag-cell { white-space: normal; line-height: 1.35; padding-block: 7px; }
.students-grid-values { display: flex; align-items: center; gap: 0; height: 100%; overflow: hidden; color: inherit; font: inherit; }
.students-grid-values em { display: inline; min-width: 0; overflow: hidden; color: inherit; font: inherit; font-style: normal; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.students-grid-values em + em::before { content: "·"; margin: 0 8px; color: var(--students-table-accent, currentColor); font-weight: 700; opacity: .7; }
.students-obligatory-teacher-values em.is-later { color: var(--uia-warning); }
.students-obligatory-teacher-values em.is-completed { color: var(--uia-success); }
.students-accompaniment-scopes-cell .students-grid-values { 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 { border-color: var(--uig-line); background: var(--uig-inset); color: var(--uig-text); }
[data-interface-surface="glass"] .students-grid-values { color: inherit; }
[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-actions { grid-area: action; display: flex; align-items: center; gap: 7px; }
.students-student-profile-actions > button { 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; }

/* Zajednička hijerarhija površina Centralizacije: panel > grupa > zapis. */
.students-center {
  --students-radius-panel: 14px;
  --students-radius-group: 11px;
  --students-radius-record: 8px;
  --students-panel-border: color-mix(in srgb, var(--uis-accent) 34%, var(--uis-line));
  --students-group-border: color-mix(in srgb, var(--uis-accent) 24%, var(--uis-line));
  --students-panel-highlight: color-mix(in srgb, var(--uis-text) 9%, transparent);
  --students-panel-shadow: inset 0 1px 0 var(--students-panel-highlight), 0 7px 18px color-mix(in srgb, var(--uis-head) 14%, transparent);
}
.students-center :is(.students-editor-grid > section,.students-student-profile,.students-tools > article) {
  border-color: var(--students-panel-border);
  border-radius: var(--students-radius-panel);
  box-shadow: var(--students-panel-shadow);
}
.students-center :is(.students-subject-relation-group,.students-enrollment-year,.students-linked-students) {
  border-color: var(--students-group-border);
  border-radius: var(--students-radius-group);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--uis-text) 6%, transparent);
}
.students-center :is(.students-editable-relation,.students-enrollment-row,.students-enrollment-history-row,.students-option-list > label) {
  border-radius: var(--students-radius-record);
}
[data-interface-surface="glass"] .students-center {
  --students-panel-border: color-mix(in srgb, var(--uis-accent) 38%, var(--uig-line));
  --students-group-border: color-mix(in srgb, var(--uis-accent) 27%, var(--uig-line));
  --students-panel-highlight: color-mix(in srgb, var(--uig-text) 10%, transparent);
  --students-panel-shadow: inset 0 1px 0 var(--students-panel-highlight), 0 7px 18px color-mix(in srgb, var(--uis-head) 18%, transparent);
}
.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-enrollments-panel { grid-column: 1; grid-row: 1; }
.students-student-editor .students-data-control { display: flex; grid-column: 2; grid-row: 1; align-self: stretch; flex-direction: column; 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-private-note-display { display: grid; gap: 6px; margin-top: auto; padding: 13px 17px 15px; border-top: 1px solid var(--uis-line); background: color-mix(in srgb, var(--uis-accent) 7%, var(--uis-inset)); }
.students-private-note-display > small { color: var(--uis-accent); font-size: 9px; font-weight: 900; letter-spacing: .065em; }
.students-private-note-display > p { margin: 0; color: var(--uis-text); font-size: 11px; line-height: 1.45; white-space: pre-wrap; }
.students-student-note-form { display: grid; gap: 13px; }
.students-student-note-form > label { display: grid; gap: 7px; color: var(--uis-muted); font-size: 11px; font-weight: 800; }
.students-student-note-form textarea { box-sizing: border-box; width: 100%; min-height: 170px; resize: vertical; padding: 12px; border: 1px solid var(--uis-line); border-radius: var(--students-radius-record); color: var(--uis-text); background: var(--uis-inset); font: inherit; line-height: 1.45; }
.students-student-note-form textarea:focus-visible { border-color: var(--uis-accent); outline: 2px solid color-mix(in srgb, var(--uis-accent) 45%, transparent); outline-offset: 2px; }
.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-private-note-display { border-color: var(--uig-line); background: color-mix(in srgb, var(--uis-accent) 8%, var(--uig-inset)); }
[data-interface-surface="glass"] .students-student-note-form textarea { border-color: var(--uig-line); color: var(--uig-text); 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-center { --students-panel-shadow: inset 0 1px 0 var(--students-panel-highlight); }
  .students-student-editor .students-enrollments-panel,
  .students-student-editor .students-data-control { grid-column: 1; grid-row: auto; }
  .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-student-profile-actions { align-items: stretch; flex-direction: column; }
  .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; }
}

/* Jasnija hijerarhija detalja učenika: identitet, upisi, kontrola, predmeti. */
.students-student-profile {
  grid-template-columns: minmax(360px, 1.15fr) minmax(0, 2.85fr);
  gap: 14px;
  margin-top: 14px;
  padding: 12px 14px;
}
.students-student-profile-lead { gap: 4px 12px; padding-right: 16px; }
.students-student-profile-lead > small { font-size: 9px; }
.students-student-profile-lead > strong { font-size: 21px; line-height: 1.15; }
.students-student-profile dl > div { min-height: 44px; padding-inline: 10px; }
.students-student-profile dt { font-size: 8.5px; }
.students-student-profile dd { font-size: 11.5px; }
.students-student-editor .students-editor-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: 14px;
  padding-top: 14px;
}
.students-student-editor .students-enrollments-panel { border-color: color-mix(in srgb, var(--uis-accent) 42%, var(--students-panel-border)); }
.students-student-editor .students-data-control { align-self: start; }
.students-student-editor .students-subject-relations { margin-top: 2px; }
.students-student-editor .students-subject-relation-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.students-student-editor .students-subject-relations > header h3,
.students-student-editor .students-enrollments-panel > header h3 { letter-spacing: .035em; }
.students-student-editor .students-subject-relation-group > header { justify-content: flex-start; }
.students-student-editor .students-subject-relation-group > header > span { margin-left: 2px; }
.students-student-editor .students-subject-relation-group .students-option-list { grid-template-columns: 1fr; }
.students-student-editor .students-editable-relation { padding: 11px 12px; }
.students-student-editor .students-enrollment-row.is-main-enrollment::before { width: 2px; }
.students-student-editor .students-enrollment-row.is-main-enrollment .students-enrollment-title > strong { font-size: 13px; }
.students-student-editor > footer [data-delete-student] { margin-right: 18px; }

@media (max-width: 1400px) {
  .students-student-profile { grid-template-columns: minmax(290px, .95fr) minmax(0, 3.05fr); }
  .students-student-editor .students-editor-grid { grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); }
  .students-student-editor .students-subject-relation-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .students-student-editor .students-editor-grid { grid-template-columns: 1fr; }
  .students-student-editor .students-subject-relation-groups { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .students-student-profile { grid-template-columns: 1fr; margin-top: 8px; padding: 10px; }
  .students-student-profile-lead { padding-right: 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 { width: min(1120px,100%); box-sizing: border-box; overflow: hidden; margin: 0 auto 18px; border: 1px solid var(--uis-line-strong); border-radius: 16px; background: linear-gradient(145deg,var(--uis-card),var(--uis-panel)); box-shadow: 0 16px 36px color-mix(in srgb,var(--uis-text) 9%,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-live-preview { box-sizing: border-box; width: calc(100% - 32px); height: 250px; margin: 16px; overflow: hidden; border: 1px solid var(--uis-line); border-radius: 11px; box-shadow: 0 8px 22px color-mix(in srgb,var(--uis-text) 8%,transparent); }
.students-grid-live-preview .ag-root-wrapper { border: 0; border-radius: 9px; }
.students-grid-live-preview .ag-cell-value { color: var(--ag-foreground-color); }
.students-grid-live-preview .students-complete-badge { color: var(--students-table-accent,var(--uia-success)); }
.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-heading { display: flex; min-width: 0; align-items: center; gap: 10px; }
.students-settings-heading > 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-heading svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.students-grid-preview { --preview-select-col: 0px; --preview-index-col: 0px; --preview-student-col: minmax(150px,1.25fr); --preview-subject-col: minmax(120px,1fr); --preview-status-col: minmax(100px,.65fr); }
.students-grid-preview > div { grid-template-columns: var(--preview-select-col) var(--preview-index-col) var(--preview-student-col) var(--preview-subject-col) var(--preview-status-col); }
.students-grid-preview .preview-select,.students-grid-preview .preview-index { visibility: hidden; overflow: hidden; padding: 0; }
.students-grid-preview.has-multi-select { --preview-select-col: 40px; }
.students-grid-preview.has-row-numbers { --preview-index-col: 54px; }
.students-grid-preview.has-multi-select .preview-select,.students-grid-preview.has-row-numbers .preview-index { visibility: visible; }
.students-grid-preview.is-equal { --preview-student-col: minmax(110px,1fr); --preview-subject-col: minmax(110px,1fr); --preview-status-col: minmax(110px,1fr); }
.students-grid-preview.is-equal > div { grid-template-columns: var(--preview-select-col) var(--preview-index-col) var(--preview-student-col) var(--preview-subject-col) var(--preview-status-col); }
.students-grid-preview.is-auto-size { --preview-student-col: 190px; --preview-subject-col: 145px; --preview-status-col: 115px; }
.students-grid-preview-header { min-height: var(--preview-header)!important; color: var(--uis-muted); background: color-mix(in srgb,var(--preview-accent) 18%,var(--uis-inset)); }
.students-grid-preview-header > b { position: relative; display: flex; min-width: 0; height: 100%; align-items: center; gap: 7px; }
.students-grid-preview-header > b > span { overflow: hidden; padding: 0; text-overflow: ellipsis; white-space: nowrap; }
.students-grid-preview-header .preview-sort,.students-grid-preview-header .preview-filter { display: none; margin-left: auto; padding: 0; color: currentColor; font-size: 10px; font-style: normal; }
.students-grid-preview.is-sortable .preview-sort,.students-grid-preview.is-filterable .preview-filter { display: inline; }
.students-grid-preview.is-sortable.is-filterable .preview-filter { margin-left: 0; }
.students-grid-preview.is-movable .students-grid-preview-header > b { cursor: grab; }
.students-grid-preview.is-movable .students-grid-preview-header > b > span::before { content: "⋮⋮"; margin-right: 6px; color: var(--preview-accent); font-size: 9px; letter-spacing: -3px; }
.students-grid-preview .preview-resize { display: none; position: absolute; top: 20%; right: 0; width: 2px; height: 60%; padding: 0; background: var(--preview-accent); opacity: .7; }
.students-grid-preview.is-resizable .preview-resize { display: block; cursor: col-resize; }
.students-grid-preview .preview-select { position: relative; width: 14px; height: 14px; justify-self: center; border: 1px solid var(--uis-line-strong); border-radius: 3px; background: var(--uis-card); }
.students-grid-preview .students-grid-preview-row:nth-of-type(3) .preview-select::after { content: ""; position: absolute; inset: 3px; border-radius: 1px; background: var(--preview-accent); }
.students-grid-preview-filters { display: none!important; min-height: 31px!important; color: var(--uis-muted); border-bottom: 1px solid var(--uis-line); background: var(--uis-inset); font-size: 9px; }
.students-grid-preview.has-floating-filters .students-grid-preview-filters { display: grid!important; }
.students-grid-preview-filters span { margin: 4px; padding: 4px 7px; overflow: hidden; border: 1px solid var(--uis-line); border-radius: 4px; background: var(--uis-card); text-overflow: ellipsis; white-space: nowrap; }
.students-grid-preview.has-floating-filters::before { content: none; display: none; }
.students-grid-preview-row { transition: background .16s ease,transform .18s ease; }
.students-grid-preview.has-hover .students-grid-preview-row:nth-of-type(4) { background: color-mix(in srgb,var(--preview-accent) 14%,var(--uis-card)); }
.students-grid-preview.has-hover .students-grid-preview-row:hover { background: color-mix(in srgb,var(--preview-accent) 20%,var(--uis-card)); }
.students-grid-preview.has-hover > div:nth-child(3) { background: transparent; }
.students-grid-preview.is-pinned .preview-student { background: color-mix(in srgb,var(--preview-accent) 7%,var(--uis-card)); box-shadow: 4px 0 8px color-mix(in srgb,var(--uis-text) 8%,transparent); }
.students-grid-preview.is-pinned > div > :nth-child(2) { background: transparent; box-shadow: none; }
.students-grid-preview.has-animation .students-grid-preview-row:last-of-type { animation: students-preview-row 1.8s ease-in-out infinite alternate; }
.students-grid-preview.has-animation > div:nth-child(4):not(:last-of-type) { animation: none; }
.students-grid-preview > footer { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 14px; padding: 0 12px; border-top: 1px solid var(--uis-line); color: var(--uis-muted); background: var(--uis-inset); font-size: 9px; }
.students-grid-preview > footer b { padding: 0; color: var(--uis-text); font-size: 9px; }
.students-grid-preview.has-borders .students-grid-preview-row > *,.students-grid-preview.has-borders .students-grid-preview-header > * { align-self: stretch; display: flex; align-items: center; border-right: 1px solid var(--uis-line); }
.students-grid-preview.has-borders .students-grid-preview-header > b > span,.students-grid-preview.has-borders > footer span,.students-grid-preview.has-borders > footer b { border-right: 0; }
.students-grid-preview.is-wrapped .students-grid-preview-row { min-height: max(var(--preview-row),52px); }
.students-grid-preview.is-wrapped .students-grid-preview-row span,.students-grid-preview.is-wrapped .students-grid-preview-row strong { white-space: normal; line-height: 1.35; }
.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-color-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: end; gap: 9px; padding: 0 14px 14px; }
.students-color-fields > label { display: grid; gap: 6px; color: var(--uis-muted); font-size: 10px; font-weight: 750; }
.students-color-control { display: flex; height: 38px; box-sizing: border-box; align-items: center; gap: 9px; padding: 5px 9px; border: 1px solid var(--uis-line); border-radius: 8px; background: var(--uis-inset); }
.students-color-control input { width: 28px; height: 26px; padding: 0; overflow: hidden; border: 0; border-radius: 5px; background: transparent; cursor: pointer; }
.students-color-control code { color: var(--uis-text); font: 700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.students-color-fields > button { display: inline-flex; height: 38px; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; border: 1px solid var(--uis-line); border-radius: 8px; color: var(--uis-accent); background: var(--uis-card); font-size: 9px; font-weight: 850; white-space: nowrap; }
.students-color-fields > button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.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(--ag-border-color); border-bottom: 1px solid var(--ag-border-color); }
.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)}.students-color-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.students-color-fields>button{grid-column:1/-1}}
@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}}
@media(max-width:700px){.students-settings-preview>header{align-items:flex-start}.students-settings-preview>header>[data-preview-density]{max-width:82px;line-height:1.45}.students-grid-preview,.students-grid-preview.is-equal{--preview-student-col:minmax(82px,1.2fr);--preview-subject-col:minmax(68px,.9fr);--preview-status-col:minmax(70px,.8fr)}.students-grid-preview{margin:10px;overflow-x:auto;font-size:10px}.students-grid-preview>div,.students-grid-preview.is-equal>div{grid-template-columns:var(--preview-select-col) var(--preview-index-col) var(--preview-student-col) var(--preview-subject-col) var(--preview-status-col)}.students-grid-preview>div>.preview-status{display:flex}.students-grid-preview.has-multi-select{--preview-select-col:28px}.students-grid-preview.has-row-numbers{--preview-index-col:32px}.students-grid-preview span,.students-grid-preview strong,.students-grid-preview b,.students-grid-preview em{padding:0 7px}.students-grid-preview-filters span{padding:4px}.students-grid-preview>footer{min-width:260px}}
@media(max-width:700px){.students-grid-live-preview{width:calc(100% - 20px);height:270px;margin:10px}.students-color-fields{grid-template-columns:1fr}.students-color-fields>button{grid-column:auto}}
.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 > .students-tool-groups { display: grid; gap: 24px; margin-top: 0; }
.students-tool-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 0 !important; }
.students-tool-overview > .students-tool-group { align-content: start; min-width: 0; padding: 0; border: 0; }
.students-tool-overview > .students-tool-group + .students-tool-group { padding-top: 0; border-top: 0; }
.students-tool-overview .students-tool-group > header { min-height: 34px; align-content: start; }
.students-tool-overview .students-tool-group > div { align-content: start; }
.students-tool-overview article { flex-wrap: wrap; }
.students-tool-overview article > span { min-width: 180px; }
.students-tool-overview article > button { margin-left: auto; }
.students-tool-group { display: grid; gap: 10px; }
.students-tool-group + .students-tool-group { padding-top: 22px; border-top: 1px solid var(--uis-line); }
.students-tool-group > header { display: flex; align-items: baseline; gap: 12px; padding: 0 4px; }
.students-tool-group > header strong { color: var(--uis-accent); font-size: 11px; font-weight: 950; letter-spacing: .13em; }
.students-tool-group > header span { color: var(--uis-muted); font-size: 10px; }
.students-tool-group > div { display: grid; gap: 10px; }
.students-tool-state.is-planned { color: var(--uis-muted); background: var(--uis-inset); }
.students-tool-planned > button:disabled { opacity: .58; }
[data-interface-surface="glass"] .students-tool-group + .students-tool-group { border-color: var(--uig-line); }
[data-interface-surface="glass"] .students-tool-group > header span { color: var(--uig-muted); }
[data-interface-surface="glass"] .students-tool-state.is-planned { color: var(--uig-muted); background: var(--uig-inset); }
.students-tools-people nav { display: flex; align-items: center; gap: 8px; }
.students-tools-people nav button { white-space: nowrap; }
@media(max-width:1450px){.students-tool-overview{grid-template-columns:1fr}.students-tool-overview>.students-tool-group+.students-tool-group{padding-top:18px;border-top:1px solid var(--uis-line)}}
.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-tool-planned, .students-tools-first-grade, .students-audit article { align-items: flex-start; flex-direction: column; }
  .students-tools-people nav { width: 100%; flex-wrap: wrap; }
  .students-tool-group > header { display: grid; gap: 4px; }
  .students-first-grade-import > form { padding-inline: 16px; }
  .students-first-grade-note { margin-inline: 16px; }
  .students-first-grade-import .students-group-import-fields { grid-template-columns: 1fr; }
  .students-first-grade-preview > header { align-items: flex-start; flex-direction: column; }
}

.students-admission-page,
.students-admission-process,
.students-admission-final {
  box-sizing: border-box;
  height: 100%;
  overflow: auto;
  padding: 22px;
  border: 1px solid var(--uis-line);
  border-radius: 14px;
  background: var(--uis-panel);
}

.students-admission-page > header,
.students-admission-process > header,
.students-admission-final > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.students-admission-page > header > div:first-child,
.students-admission-process > header,
.students-admission-final > header > div:first-child { display: grid; gap: 5px; }
.students-admission-page h2,
.students-admission-process h2,
.students-admission-final h2 { margin: 0; color: var(--uis-text); font-size: 23px; }
.students-admission-page header small,
.students-admission-process header small,
.students-admission-final header small { color: var(--uis-accent); font-size: 9px; font-weight: 900; letter-spacing: .11em; }
.students-admission-page header p,
.students-admission-process header p,
.students-admission-final header p { max-width: 820px; margin: 0; color: var(--uis-muted); font-size: 11px; line-height: 1.55; }
.students-admission-legend { display: grid; flex: 0 0 auto; gap: 3px; padding: 10px 13px; border: 1px solid var(--uis-line); border-radius: 10px; background: var(--uis-inset); text-align: right; }
.students-admission-legend span { color: var(--uis-muted); font-size: 9px; }
.students-admission-legend b { color: var(--uis-accent); font-size: 15px; }
.students-admission-page.is-quota-plan { grid-template-rows: minmax(0,1fr) auto; }
.students-contextbar:has(> .students-admission-context-summary) { position: relative; }
.students-admission-context-summary { position: absolute; left: 50%; display: grid; min-width: 126px; gap: 2px; padding: 7px 12px; border: 1px solid var(--uis-line); border-radius: 9px; background: var(--uis-card); text-align: center; transform: translateX(-50%); }
.students-admission-context-summary span { color: var(--uis-muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.students-admission-context-summary b { color: var(--uis-accent); font-size: 13px; }
[data-interface-surface="glass"] .students-admission-context-summary { border-color: var(--uig-line); background: var(--uig-inset); }
@media(max-width:850px){.students-admission-context-summary{position:static;min-width:96px;transform:none}.students-contextbar:has(>.students-admission-context-summary){display:grid;grid-template-columns:minmax(0,1fr) auto}.students-contextbar:has(>.students-admission-context-summary)>.students-actions{grid-column:1/-1;justify-self:end}}
.students-admission-grid { width: 100%; height: calc(100% - 96px); min-height: 480px; overflow: hidden; border: 1px solid var(--uis-line); border-radius: 12px; }
.students-admission-grid .ag-cell.students-admission-decision { color: var(--uis-accent); background: var(--uis-accent-soft); font-weight: 900; }
.students-admission-grid .ag-cell.students-admission-availability { color: var(--uis-accent); font-size: 10px; font-weight: 750; }
.students-admission-grid .ag-cell.is-group-start { color: var(--uis-text); font-weight: 900; }
.students-admission-grid .ag-cell.is-quota-empty { color: #d99a24; font-weight: 900; }
.students-admission-grid .ag-cell.is-quota-over { color: #ef6b6b; font-weight: 900; }

.students-admission-process { max-width: 1220px; margin: 0 auto; }
.students-admission-process > header { display: grid; align-items: initial; justify-content: initial; }
.students-admission-steps { display: grid; gap: 11px; }
.students-admission-steps article { display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 13px; padding: 15px 16px; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-card); }
.students-admission-steps article > b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--uis-head); background: var(--uis-accent); font-size: 13px; }
.students-admission-steps article > span { display: grid; gap: 4px; min-width: 0; }
.students-admission-steps article > span strong { color: var(--uis-text); font-size: 13px; }
.students-admission-steps article > span small { color: var(--uis-muted); font-size: 10px; line-height: 1.45; }
.students-admission-steps article > p { grid-column: 2 / -1; margin: 0; padding: 9px 11px; border: 1px solid color-mix(in srgb,#d99a24 45%,var(--uis-line)); border-radius: 8px; color: var(--uis-muted); background: color-mix(in srgb,#d99a24 8%,var(--uis-card)); font-size: 9px; }
.students-admission-steps article.is-locked { opacity: .62; }
.students-admission-steps article.is-ready > b { background: color-mix(in srgb,var(--uis-accent) 78%,#fff); }
.students-admission-steps .ui-button { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; white-space: nowrap; }
.students-admission-steps .ui-button svg,
.students-admission-final nav svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.students-reserve-tools { overflow: hidden; margin-top: 18px; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-inset); }
.students-reserve-tools > summary { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.students-reserve-tools > summary::-webkit-details-marker { display: none; }
.students-reserve-tools > summary > span { display: grid; flex: 1; gap: 3px; }
.students-reserve-tools > summary small,.students-reserve-tools > div small { color: var(--uis-muted); font-size: 10px; }
.students-reserve-tools > summary > svg { width: 17px; height: 17px; fill: none; stroke: var(--uis-accent); stroke-width: 1.8; transition: transform .18s ease; }
.students-reserve-tools[open] > summary > svg { transform: rotate(180deg); }
.students-reserve-tools > div { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-top: 1px solid var(--uis-line); background: var(--uis-card); }
.students-reserve-tools > div > span { display: grid; flex: 1; gap: 4px; }
[data-interface-surface="glass"] .students-reserve-tools { border-color: var(--uig-line); background: var(--uig-inset); }
[data-interface-surface="glass"] .students-reserve-tools > div { border-color: var(--uig-line); background: var(--uig-bg-alt); }

.students-admission-final > header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.students-admission-final > header nav .ui-button { display: inline-flex; align-items: center; gap: 7px; }
.students-admission-final-table { overflow: auto; border: 1px solid var(--uis-line); border-radius: 12px; background: var(--uis-card); }
.students-admission-final-table table { width: 100%; border-collapse: collapse; color: var(--uis-text); font-size: 10px; }
.students-admission-final-table :is(th,td) { padding: 11px 12px; border-bottom: 1px solid var(--uis-line); text-align: left; white-space: nowrap; }
.students-admission-final-table th { color: var(--uis-muted); background: var(--uis-inset); font-size: 9px; }
.students-admission-final-table tr:last-child td { border-bottom: 0; }
.students-admission-final-table em { padding: 5px 8px; border-radius: 999px; font-style: normal; font-weight: 850; }
.students-admission-final-table em.is-complete { color: var(--uis-accent); background: var(--uis-accent-soft); }
.students-admission-final-table em.is-missing { color: #d99a24; background: color-mix(in srgb,#d99a24 12%,var(--uis-card)); }
.students-admission-final-table select { min-width: 210px; border: 1px solid var(--uis-line); border-radius: 9px; background: var(--uis-inset); color: var(--uis-text); padding: 8px 10px; font: inherit; }
.students-admission-final > footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 16px; }
.students-admission-final > footer span { flex: 1; color: var(--uis-muted); font-size: 10px; }
[data-interface-surface="glass"] :is(.students-admission-page,.students-admission-process,.students-admission-final) { border-color: var(--uig-line); background: var(--uig-panel); }
[data-interface-surface="glass"] :is(.students-admission-steps article,.students-admission-final-table,.students-admission-legend) { border-color: var(--uig-line); background: var(--uig-inset); }

@media (max-width: 850px) {
  .students-admission-page,
  .students-admission-process,
  .students-admission-final { padding: 15px; }
  .students-admission-page > header,
  .students-admission-final > header { align-items: flex-start; flex-direction: column; }
  .students-admission-legend { width: 100%; box-sizing: border-box; text-align: left; }
  .students-admission-steps article { grid-template-columns: 38px minmax(0,1fr); }
  .students-admission-steps article > :is(button,a,label) { grid-column: 2; width: fit-content; }
  .students-admission-steps article > p { grid-column: 1 / -1; }
  .students-reserve-tools > div { align-items: stretch; flex-direction: column; }
  .students-admission-final > header nav { justify-content: flex-start; }
  .students-admission-final > footer { align-items: stretch; flex-direction: column; }
}

#adminPortalModal:has(> .students-schedule-transfer-modal) { box-sizing: border-box; place-items: stretch; padding: 0; }
#adminPortalModal > .admin-modal.is-wide.students-schedule-transfer-modal { box-sizing: border-box; display: grid; width: 100vw; max-width: none; height: 100dvh; max-height: none; grid-template-rows: auto auto auto minmax(0,1fr) auto auto; overflow: hidden; padding: clamp(24px,3vw,48px) clamp(24px,4vw,72px) 24px; border-radius: 0; }
.students-schedule-transfer-modal > .admin-modal-icon { position: absolute; top: clamp(24px,3vw,48px); right: clamp(24px,4vw,72px); margin: 0; }
.students-schedule-transfer-modal > h3 { margin: 3px 70px 7px 0; font-size: clamp(24px,2.2vw,38px); letter-spacing: -.025em; }
.students-schedule-transfer-modal > p:not(.admin-modal-kicker) { max-width: 900px; font-size: clamp(12px,.9vw,15px); }
.students-schedule-transfer { display: grid; min-width: 0; min-height: 0; grid-template-columns: minmax(210px,.72fr) minmax(360px,1.75fr) minmax(240px,.85fr); gap: clamp(12px,1.3vw,20px); margin: clamp(18px,2.5vh,28px) 0 14px; }
.students-schedule-transfer > :is(aside,main) { min-width: 0; border: 1px solid var(--uis-line); border-radius: 14px; background: var(--uis-card); }
.students-schedule-transfer > aside { display: flex; min-height: 0; flex-direction: column; gap: 9px; align-self: stretch; padding: clamp(16px,1.5vw,24px); }
.students-schedule-transfer > aside > small { color: var(--uis-accent); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.students-schedule-transfer > aside > strong { color: var(--uis-text); font-size: 17px; }
.students-schedule-transfer > aside > span { color: var(--uis-muted); font-size: 11px; }
.students-schedule-transfer > aside > b { margin-top: 4px; padding: 10px; border-radius: 9px; color: var(--uis-accent); background: var(--uis-accent-soft); font-size: 12px; }
.students-transfer-problems { display: grid; min-height: 0; gap: 10px; margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--uis-line); }
.students-transfer-problems[hidden] { display: none; }
.students-transfer-problems > header { display: flex; align-items: center; gap: 9px; }
.students-transfer-problems > header > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 9px; color: #dc8b38; background: color-mix(in srgb,#dc8b38 14%,var(--uis-card)); }
.students-transfer-problems > header svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.students-transfer-problems > header div { display: grid; gap: 2px; }
.students-transfer-problems > header small { color: #dc8b38; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.students-transfer-problems > header strong { color: var(--uis-text); font-size: 11px; }
.students-transfer-problems > div { display: grid; min-height: 0; gap: 7px; overflow-y: auto; scrollbar-color: #dc8b38 transparent; scrollbar-width: thin; }
.students-transfer-problems article { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 8px; padding: 10px; border: 1px solid color-mix(in srgb,#dc8b38 45%,var(--uis-line)); border-radius: 9px; background: color-mix(in srgb,#dc8b38 8%,var(--uis-card)); }
.students-transfer-problems article span { display: grid; gap: 5px; }
.students-transfer-problems article strong { color: var(--uis-text); font-size: 10px; line-height: 1.45; }
.students-transfer-problems article small { color: var(--uis-muted); font-size: 9px; line-height: 1.45; }
.students-transfer-problems article b { min-width: 20px; padding: 3px 6px; border-radius: 999px; color: #dc8b38; background: color-mix(in srgb,#dc8b38 14%,var(--uis-card)); font-size: 9px; text-align: center; }
.students-schedule-transfer > aside label { display: grid; gap: 7px; color: var(--uis-muted); font-size: 10px; font-weight: 800; }
.students-schedule-transfer > aside :is(select,.my-teaching-select,.ui-animated-dropdown) { box-sizing: border-box; width: 100%; min-width: 0; }
.students-schedule-transfer > main { display: grid; min-height: 0; grid-template-rows: auto minmax(0,1fr); overflow: hidden; }
.students-schedule-transfer > main > header,.students-schedule-transfer main section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.students-schedule-transfer > main > header { padding: 13px 15px; border-bottom: 1px solid var(--uis-line); color: var(--uis-text); font-size: 12px; font-weight: 850; }
.students-schedule-transfer :is(main > header,main section > header) button { padding: 0; border: 0; color: var(--uis-accent); background: transparent; font-size: 9px; font-weight: 850; }
.students-schedule-transfer > main > div { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 10px; scrollbar-color: var(--uis-accent) transparent; scrollbar-width: thin; }
.students-schedule-transfer main section + section { margin-top: 10px; }
.students-schedule-transfer main section > header { padding: 4px 6px 7px; color: var(--uis-muted); font-size: 10px; }
.students-schedule-transfer main section > label { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--uis-line); border-radius: 9px; cursor: pointer; }
.students-schedule-transfer main section > label + label { margin-top: 6px; }
.students-schedule-transfer main section > label:has(input:checked) { border-color: var(--uis-accent); background: var(--uis-accent-soft); }
.students-schedule-transfer main label input { width: 15px; height: 15px; accent-color: var(--uis-accent); }
.students-schedule-transfer main label span { display: grid; gap: 3px; min-width: 0; }
.students-schedule-transfer main label strong { overflow: hidden; color: var(--uis-text); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.students-schedule-transfer main label small { overflow: hidden; color: var(--uis-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.students-schedule-transfer main label b { color: var(--uis-accent); font-size: 10px; white-space: nowrap; }
.students-transfer-warning { display: grid; gap: 5px; margin: 16px 0; padding: 14px 16px; border: 1px solid color-mix(in srgb,#ef6b6b 55%,var(--uis-line)); border-radius: 11px; background: color-mix(in srgb,#ef6b6b 10%,var(--uis-card)); }
.students-transfer-warning strong { color: var(--uis-text); font-size: 12px; }.students-transfer-warning span { color: var(--uis-muted); font-size: 10px; }
.students-transfer-keep-schedule { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--uis-line); border-radius: 11px; background: var(--uis-card-alt); cursor: pointer; }
.students-transfer-keep-schedule input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--uis-accent); }
.students-transfer-keep-schedule span { display: grid; gap: 3px; }.students-transfer-keep-schedule strong { color: var(--uis-text); font-size: 11px; }.students-transfer-keep-schedule small { color: var(--uis-muted); font-size: 9px; line-height: 1.45; }
.students-schedule-transfer-modal > .my-teaching-form-error { margin: 0 0 8px; }
.students-schedule-transfer-modal > .admin-modal-actions { margin-top: 0; padding-top: 14px; border-top: 1px solid var(--uis-line); }
[data-interface-surface="glass"] .students-schedule-transfer > :is(aside,main) { border-color: var(--uig-line); background: var(--uig-bg-alt); }
[data-interface-surface="glass"] .students-transfer-problems { border-color: var(--uig-line); }
@media(max-width:900px){#adminPortalModal>.admin-modal.is-wide.students-schedule-transfer-modal{overflow-y:auto;padding:24px 18px}.students-schedule-transfer{grid-template-columns:1fr}.students-schedule-transfer>main{grid-row:2;min-height:420px}.students-schedule-transfer>main>div{max-height:52vh}.students-schedule-transfer-modal>.admin-modal-icon{display:none}}
.students-teaching-norm-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.students-teaching-norm-form label{display:grid;gap:7px}.students-teaching-norm-form label>span{font-size:.76rem;font-weight:800}.students-teaching-norm-form label>small{color:var(--uis-muted);font-size:.72rem}.students-teaching-norm-form .is-wide{grid-column:1/-1}.students-teaching-norm-form footer{display:flex;justify-content:flex-end;gap:10px}
.students-norm-summary{position:relative;box-sizing:border-box;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-content:center;gap:1px 8px;min-width:154px;min-height:42px;padding:5px 11px;border:1px solid var(--uis-line);border-radius:9px;background:var(--uis-inset);color:var(--uis-text);text-align:left;box-shadow:none}.students-norm-summary>span{align-self:end;color:var(--uis-muted);font-size:9px;font-weight:700;line-height:1.15;white-space:nowrap}.students-norm-summary>strong{grid-row:1/3;grid-column:2;align-self:center;color:var(--uis-text);font-size:17px;line-height:1;white-space:nowrap}.students-norm-summary>small{color:var(--uis-muted);font-size:8px;font-weight:600;line-height:1.15;white-space:nowrap}.students-norm-summary.is-confirmed{border-color:color-mix(in srgb,var(--uis-accent) 45%,var(--uis-line))}.students-norm-summary:is(.is-warning,.is-missing){border-color:color-mix(in srgb,#d99a24 50%,var(--uis-line))}.students-norm-summary>button{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:inherit!important;background:transparent!important;box-shadow:none!important;cursor:pointer}.students-norm-summary:has(>button:hover){border-color:var(--uis-accent);background:var(--uis-accent-soft)}.students-norm-summary:has(>button:focus-visible){outline:2px solid var(--uis-accent);outline-offset:2px}.students-norm-summary>button::before,.students-norm-summary>button::after{display:none!important;content:none!important}
@media(max-width:760px){.students-teaching-norm-form{grid-template-columns:1fr}.students-teaching-norm-form .is-wide{grid-column:auto}.students-norm-summary{min-width:132px}.students-norm-summary>small{display:none}.students-norm-summary>strong{grid-row:1/2}}
.students-grid .ag-header-cell.students-schedule-norm-head{color:#0b3022;background:#79cfaa}.students-grid .ag-header-cell.students-schedule-norm-head .ag-header-icon{color:#0b3022}.students-grid .students-schedule-norm-cell{overflow:visible;white-space:nowrap}
.students-workload-findings{display:grid;gap:7px;margin-bottom:12px}.students-workload-findings article{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,#d99a24 48%,var(--uis-line));border-radius:10px;background:color-mix(in srgb,#d99a24 8%,var(--uis-card))}.students-workload-findings article>span{color:#d99a24}.students-workload-findings svg{width:18px;height:18px;fill:none;stroke:currentColor}.students-workload-findings article>div{display:grid;gap:2px}.students-workload-findings strong{color:var(--uis-text);font-size:11px}.students-workload-findings small,.students-workload-findings em{color:var(--uis-muted);font-size:9px;font-style:normal}.students-workload-findings button{min-height:34px;padding:0 12px;border:1px solid var(--uis-line);border-radius:8px;color:var(--uis-text);background:var(--uis-card);font-size:10px;font-weight:850}
@media(max-width:760px){.students-workload-findings article{grid-template-columns:20px minmax(0,1fr)}.students-workload-findings button{grid-column:1/-1}}
