body.board-page #studentBoardAdminSettings {
  align-items: center;
  background: #fff;
  border: 1px solid #d5deeb;
  border-radius: 12px;
  color: #25344f;
  cursor: pointer;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

body.board-page #studentBoardAdminSettings:hover,
body.board-page #studentBoardAdminSettings:focus-visible {
  background: #edf4ff;
  border-color: #9eb3e8;
  color: #2457c5;
  outline: none;
}

body.board-page #studentBoardAdminSettings[hidden],
body.board-page #studentBoardThemeToggle[hidden] {
  display: none !important;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] {
  --board-mock-bg: #f4f7fb;
  --board-mock-panel: #ffffff;
  --board-mock-panel-2: #f8fafc;
  --board-mock-line: #d7e0ec;
  --board-mock-line-2: #b8c7dc;
  --board-mock-text: #172033;
  --board-mock-muted: #64748b;
  --bg: var(--board-mock-bg);
  --card-bg: var(--board-mock-panel);
  --border: var(--board-mock-line);
  --input-bg: #ffffff;
  --text-main: var(--board-mock-text);
  --text-sub: var(--board-mock-muted);
  background: var(--board-mock-bg);
  color: var(--board-mock-text);
  color-scheme: light;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .student-board-heading h1,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-title,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-summary h3,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card {
  color: #172033;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .student-board-heading > p,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-panel-meta,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-summary-meta,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-kpi-hint {
  color: #64748b;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-toolbar.board-redesign-post-toolbar,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-panel,
body.board-page[data-board-role="admin"][data-board-theme="light"] .moderation-queue-toolbar,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-comment-drawer,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-comment-drawer-compose-shell,
body.board-page[data-board-role="admin"][data-board-theme="light"] .modal.glass-modal {
  background: #ffffff;
  border-color: #d7e0ec;
  color: #172033;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-panel {
  box-shadow: 0 18px 48px rgba(48, 71, 103, 0.09);
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-kpi {
  background: #f8fafc;
  border-color: #dbe4ef;
  color: #172033;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-admin-actions button,
body.board-page[data-board-role="admin"][data-board-theme="light"] #studentBoardExitAdmin,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-toolbar button,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-toolbar select,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-toolbar input {
  background: #ffffff;
  border-color: #cbd7e6;
  color: #263c68;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-search-wrap,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-sort-wrap,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-redesign-post-view-switch {
  border-color: #cbd8e7;
  background: #f7f9fc;
  color: #52647c;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-redesign-post-view-switch button,
body.board-page[data-board-role="admin"][data-board-theme="light"] .board-presentation-trigger {
  border-color: #cbd8e7;
  background: #ffffff;
  color: #33445f;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .board-redesign-post-view-switch button[aria-pressed="true"] {
  border-color: #76a0e8;
  background: #e8f1ff;
  color: #2457b8;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card:not([data-post-background]) {
  background: #ffffff;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card[data-post-background] {
  background: var(--post-pastel);
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .post-content,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .student-board-post-copy,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .post-title,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .author-name {
  color: #263c68;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .comments-section,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .post-body {
  border-color: #d9e2ee;
  color: #334155;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .post-image-wrap,
body.board-page[data-board-role="admin"][data-board-theme="light"] .post-card .image-wrapper {
  border-color: #d9e2ee;
  background: #f1f5f9;
}

body.board-page[data-board-role="admin"][data-board-theme="light"] .student-board-settings-dialog {
  color-scheme: light;
}

body.board-page dialog.student-board-settings-dialog {
  background: transparent;
  border: 0;
  height: 100dvh;
  inset: 0 0 0 auto;
  margin: 0;
  max-height: none;
  max-width: min(640px, 100vw);
  overflow: hidden;
  padding: 0;
  width: min(640px, 100vw);
}

body.board-page dialog.student-board-settings-dialog::backdrop {
  background: rgba(25, 42, 68, 0.38);
  backdrop-filter: blur(3px);
}

.student-board-settings-sheet {
  background: #ffffff;
  border-left: 1px solid #d7e0ec;
  box-shadow: -24px 0 64px rgba(49, 71, 103, 0.18);
  box-sizing: border-box;
  color: #172033;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.student-board-settings-header {
  align-items: flex-start;
  border-bottom: 1px solid #e0e7f0;
  display: grid;
  flex: 0 0 auto;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 24px 26px 20px;
}

.student-board-settings-header h2 {
  color: #172033;
  font-size: 1.55rem;
  line-height: 1.2;
  margin: 0;
}

.student-board-settings-header p {
  color: #64748b;
  font-size: 0.82rem;
  line-height: 1.5;
  margin: 7px 0 0;
}

.student-board-settings-close,
.student-board-settings-back {
  align-items: center;
  background: #f1f5f9;
  border: 1px solid #d7e0ec;
  border-radius: 11px;
  color: #475569;
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.student-board-settings-close:hover,
.student-board-settings-back:hover,
.student-board-settings-close:focus-visible,
.student-board-settings-back:focus-visible {
  background: #e7efff;
  border-color: #9eb3e8;
  color: #2457c5;
  outline: none;
}

.student-board-settings-back[hidden] {
  display: block;
  visibility: hidden;
}

.student-board-settings-summary,
.student-board-settings-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 22px 26px;
}

.student-board-settings-summary-group + .student-board-settings-summary-group {
  margin-top: 28px;
}

.student-board-settings-summary-group h3 {
  color: #334155;
  font-size: 0.84rem;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
}

.student-board-settings-summary-group > button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  border-bottom-width: 0;
  color: #334155;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 36px minmax(0, 1fr) auto 14px;
  min-height: 70px;
  padding: 12px 16px;
  text-align: left;
  width: 100%;
}

.student-board-settings-summary-group > button:first-of-type {
  border-radius: 14px 14px 0 0;
}

.student-board-settings-summary-group > button:last-child {
  border-bottom-width: 1px;
  border-radius: 0 0 14px 14px;
}

.student-board-settings-summary-group > button:only-of-type {
  border-bottom-width: 1px;
  border-radius: 14px;
}

.student-board-settings-summary-group > button:hover,
.student-board-settings-summary-group > button:focus-visible {
  background: #f6f9ff;
  border-color: #aebfda;
  outline: none;
}

.student-board-settings-summary-group > button > i:first-child {
  align-items: center;
  background: #edf4ff;
  border-radius: 10px;
  color: #315fd6;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.student-board-settings-summary-group span,
.student-board-settings-summary-group strong,
.student-board-settings-summary-group small {
  display: block;
  min-width: 0;
}

.student-board-settings-summary-group strong {
  color: #263c68;
  font-size: 0.88rem;
}

.student-board-settings-summary-group small {
  color: #7b899e;
  font-size: 0.72rem;
  margin-top: 4px;
}

.student-board-settings-summary-group b {
  color: #315fd6;
  font-size: 0.78rem;
  white-space: nowrap;
}

.student-board-settings-editor {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.student-board-settings-editor[hidden] {
  display: none;
}

.student-board-settings-tabs {
  background: #f6f8fb;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  display: grid;
  flex: 0 0 auto;
  gap: 5px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 16px 26px 0;
  padding: 5px;
}

.student-board-settings-tabs button {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #64748b;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
  min-height: 40px;
  padding: 6px 4px;
}

.student-board-settings-tabs button.active,
.student-board-settings-tabs button:hover,
.student-board-settings-tabs button:focus-visible {
  background: #ffffff;
  border-color: #b9cae2;
  color: #2457c5;
  outline: none;
}

.student-board-settings-tabs button[hidden] {
  display: none;
}

.student-board-settings-section {
  background: #f8fafc;
  border: 1px solid #dbe4ef;
  border-radius: 16px;
  padding: 20px;
}

.student-board-settings-section[hidden] {
  display: none;
}

.student-board-settings-section-heading {
  margin-bottom: 18px;
}

.student-board-settings-section-heading h3 {
  color: #263c68;
  font-size: 1rem;
  margin: 0;
}

.student-board-settings-section-heading p {
  color: #64748b;
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 6px 0 0;
}

.student-board-settings-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-board-settings-grid label,
.student-board-settings-field,
.student-board-settings-roster > div:first-child label {
  color: #334155;
  display: grid;
  font-size: 0.8rem;
  font-weight: 800;
  gap: 7px;
}

.student-board-settings-grid select,
.student-board-settings-field select,
.student-board-settings-roster > input,
.student-board-settings-shelf input {
  background: #ffffff;
  border: 1px solid #cbd7e6;
  border-radius: 10px;
  box-sizing: border-box;
  color: #172033;
  min-height: 44px;
  padding: 0 12px;
  width: 100%;
}

.student-board-settings-field + .student-board-settings-roster,
.student-board-settings-roster + .student-board-settings-field {
  margin-top: 16px;
}

.student-board-settings-roster {
  background: #ffffff;
  border: 1px solid #dbe4ef;
  border-radius: 13px;
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 14px;
}

.student-board-settings-roster[hidden] {
  display: none;
}

.student-board-settings-roster > div:first-child {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.student-board-settings-roster > div:first-child span {
  color: #315fd6;
  font-size: 0.72rem;
  font-weight: 800;
}

.student-board-settings-student-list {
  display: grid;
  gap: 7px;
  max-height: 210px;
  overflow-y: auto;
}

.student-board-settings-student {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e0e7f0;
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 48px;
  padding: 8px 10px;
}

.student-board-settings-student input {
  height: 18px;
  width: 18px;
}

.student-board-settings-student strong,
.student-board-settings-student small {
  display: block;
}

.student-board-settings-student strong {
  color: #334155;
  font-size: 0.78rem;
}

.student-board-settings-student small {
  color: #7b899e;
  font-size: 0.68rem;
  margin-top: 3px;
}

.student-board-settings-note,
.student-board-settings-empty {
  color: #64748b;
  font-size: 0.75rem;
  line-height: 1.55;
  margin: 16px 0 0;
}

.student-board-settings-section .board-background-field {
  background: #ffffff;
  border-color: #dbe4ef;
  padding: 14px;
}

.student-board-settings-section .board-background-picker {
  margin-top: 0;
}

.student-board-settings-section .board-background-group h4,
.student-board-settings-section .board-background-choice {
  color: #475569;
}

.student-board-settings-section .board-background-choice {
  background: #f8fafc;
  border-color: #e0e7f0;
}

.student-board-settings-section .board-background-choice.is-selected {
  background: #edf4ff;
  border-color: #4f7ee8;
}

.student-board-settings-section .board-background-choices,
.student-board-settings-section .board-background-group:nth-child(n + 2) .board-background-choices {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-board-settings-section .board-background-group:last-child .board-background-choices {
  grid-template-columns: minmax(150px, 220px);
}

.student-board-settings-shelves-heading {
  align-items: start;
  display: flex;
  justify-content: space-between;
}

.student-board-settings-shelves-heading > span {
  background: #e7efff;
  border-radius: 999px;
  color: #315fd6;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 5px 9px;
}

.student-board-settings-shelves-list {
  display: grid;
  gap: 9px;
}

.student-board-settings-shelf {
  display: grid;
  gap: 7px;
  grid-template-columns: minmax(100px, 0.8fr) minmax(130px, 1fr) 38px 38px 38px;
}

.student-board-settings-shelf button {
  align-items: center;
  border-radius: 9px;
  display: inline-flex;
  justify-content: center;
  min-height: 38px;
  padding: 0;
}

.student-board-settings-add-shelf {
  background: #ffffff;
  border: 1px dashed #9eb3e8;
  border-radius: 11px;
  color: #315fd6;
  cursor: pointer;
  font-weight: 800;
  margin-top: 12px;
  min-height: 44px;
  width: 100%;
}

.student-board-settings-management {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-board-settings-management > button {
  align-items: start;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  border-radius: 13px;
  color: #334155;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 84px;
  padding: 13px;
  text-align: left;
}

.student-board-settings-management > button:hover,
.student-board-settings-management > button:focus-visible {
  background: #f6f9ff;
  border-color: #9eb3e8;
  outline: none;
}

.student-board-settings-management > button > i {
  align-items: center;
  background: #edf4ff;
  border-radius: 9px;
  color: #315fd6;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.student-board-settings-management strong,
.student-board-settings-management small {
  display: block;
}

.student-board-settings-management strong {
  color: #263c68;
  font-size: 0.8rem;
}

.student-board-settings-management small {
  color: #7b899e;
  font-size: 0.69rem;
  line-height: 1.45;
  margin-top: 4px;
}

.student-board-settings-management > button.danger {
  border-color: #fecdd3;
  color: #be123c;
}

.student-board-settings-management > button.danger > i {
  background: #fff1f2;
  color: #be123c;
}

.student-board-settings-management > button.danger strong {
  color: #be123c;
}

.student-board-settings-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #e0e7f0;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: flex-end;
  padding: 16px 26px calc(16px + env(safe-area-inset-bottom, 0px));
}

.student-board-settings-footer button {
  border-radius: 11px;
  min-height: 46px;
  min-width: 132px;
}

.student-board-settings-footer button[hidden] {
  display: none;
}

@media (max-width: 720px) {
  body.board-page dialog.student-board-settings-dialog {
    width: 100vw;
  }

  .student-board-settings-header,
  .student-board-settings-summary,
  .student-board-settings-scroll {
    padding-left: 18px;
    padding-right: 18px;
  }

  .student-board-settings-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-left: 18px;
    margin-right: 18px;
  }

  .student-board-settings-grid,
  .student-board-settings-management {
    grid-template-columns: minmax(0, 1fr);
  }

  .student-board-settings-section .board-background-choices,
  .student-board-settings-section .board-background-group:nth-child(n + 2) .board-background-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-board-settings-shelf {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px 36px 36px;
  }

  .student-board-settings-footer {
    padding-left: 18px;
    padding-right: 18px;
  }

  .student-board-settings-footer button {
    flex: 1;
    min-width: 0;
  }
}
/* Public link authority is saved explicitly, separately from student scopes. */
.student-board-public-settings { margin-top: 20px; padding-top: 16px; border-top: 1px solid #dce2ea; }
body.board-page #studentBoardSettingsDialog .student-board-public-settings select { width: 100%; min-width: 0; min-height: 44px; }
.student-board-public-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.student-board-public-actions button { min-height: 44px; padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #25344a; }
#studentBoardPublicStatus { overflow-wrap: anywhere; font-size: 14px; }
