:root {
  --bg: #f4f6f8;
  --surface: #ffffff;
  --line: #d9dee6;
  --text: #18202a;
  --muted: #667085;
  --teal: #0f766e;
  --teal-soft: #e6f4f1;
  --amber: #b45309;
  --red: #b42318;
  --red-soft: #fee4e2;
  --green: #027a48;
  --green-soft: #dcfae6;
  --shadow: 0 8px 18px rgba(24, 32, 42, 0.06);
}

/* Screening follow-up / secondary interview */
.secondary-interview-workspace {
  display: grid;
  gap: 18px;
  width: 100%;
  padding: 18px 20px 30px;
  color: #172033;
}

.secondary-panel-heading,
.secondary-risk-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.secondary-panel-heading h3,
.secondary-dimension-card h4 {
  margin: 0;
}

.secondary-eyebrow,
.secondary-panel-heading span {
  display: block;
  margin-bottom: 4px;
  color: #4f6ee8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}

.secondary-record-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.secondary-record-controls label {
  margin: 0;
}

.secondary-record-controls label > span {
  display: block;
  margin-bottom: 7px;
  color: #53627b;
  font-size: 13px;
  font-weight: 800;
}

.secondary-record-controls select {
  min-width: min(520px, 100%);
}

.secondary-record-strip {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 14px 16px;
  border: 1px solid #dbe6f5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(60, 79, 120, .04);
}

.secondary-export-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.secondary-export-actions button,
.secondary-record-controls button,
.secondary-analyze-btn {
  min-height: 40px;
  border-radius: 10px;
  padding: 0 15px;
  font-weight: 800;
}

.secondary-export-actions button:not(.primary),
.secondary-record-controls button:not(.primary),
.secondary-analyze-btn:not(.primary) {
  border-color: #d8e2f1;
  background: #fff;
  color: #24314a;
}

.secondary-export-actions .primary,
.secondary-record-controls .primary,
.secondary-analyze-btn.primary {
  border-color: transparent;
  background: linear-gradient(135deg, #3e70ff 0%, #7245f4 55%, #2cbde4 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(76, 101, 239, .22);
}

.secondary-basic-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #dbe6f5;
  border-radius: 16px;
  background: #dbe6f5;
}

.secondary-basic-grid > div {
  min-width: 0;
  padding: 16px;
  background: #fff;
}

.secondary-basic-grid span {
  display: block;
  margin-bottom: 7px;
  color: #7b89a3;
  font-size: 12px;
}

.secondary-basic-grid strong {
  display: block;
  overflow: hidden;
  color: #26334d;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.secondary-status-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  background: #eef4ff;
  color: #3456a4;
}

.secondary-status-banner.status-returned {
  background: #fff3e7;
  color: #a95913;
}

.secondary-status-banner.status-reviewed {
  background: #ecfbf2;
  color: #1b7b4d;
}

.secondary-panel {
  padding: 22px;
  border: 1px solid #dfe7f3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(60, 79, 120, .05);
}

.secondary-panel-heading {
  margin-bottom: 18px;
}

.secondary-panel-heading h3 {
  font-size: 19px;
}

.secondary-form-grid,
.secondary-evidence-grid,
.secondary-followup-details {
  display: grid;
  gap: 14px;
}

.secondary-form-grid.columns-2,
.secondary-evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.secondary-form-grid.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.secondary-followup-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 12px 0;
}

.secondary-panel label > span,
.secondary-field-group > span {
  display: block;
  margin-bottom: 7px;
  color: #53627b;
  font-size: 13px;
  font-weight: 700;
}

.secondary-panel input:not([type="checkbox"]):not([type="radio"]),
.secondary-panel select,
.secondary-panel textarea,
.secondary-record-controls select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccd8e8;
  border-radius: 10px;
  background: #fff;
  color: #1f2b42;
}

.secondary-panel input[type="checkbox"],
.secondary-panel input[type="radio"] {
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 0;
  padding: 0;
  flex: 0 0 17px;
  box-shadow: none;
}

.secondary-panel input:not([type="checkbox"]):not([type="radio"]),
.secondary-panel select,
.secondary-record-controls select {
  min-height: 42px;
  padding: 9px 11px;
}

.secondary-panel textarea {
  min-height: 112px;
  padding: 10px 11px;
  line-height: 1.6;
  resize: vertical;
}

.secondary-evidence-grid textarea {
  min-height: 150px;
}

.secondary-source-text {
  min-height: 260px !important;
  max-height: 460px;
}

.secondary-panel input:disabled,
.secondary-panel select:disabled,
.secondary-panel textarea:disabled {
  background: #f6f8fc;
  color: #5f6f89;
}

.secondary-field-group {
  margin: 14px 0;
}

.secondary-check-grid {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}

.secondary-check-option {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.secondary-check-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.secondary-check-option span {
  display: inline-flex !important;
  align-items: center;
  min-height: 34px;
  margin: 0 !important;
  padding: 5px 11px;
  border: 1px solid #d6dfed;
  border-radius: 9px;
  background: #f8faff;
  color: #52617a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

.secondary-check-option input:checked + span {
  border-color: #5b7cff;
  background: #edf2ff;
  color: #3457d5 !important;
  box-shadow: inset 0 0 0 1px rgba(91, 124, 255, .12);
}

.secondary-check-option input:disabled + span {
  cursor: default;
  opacity: .78;
}

.secondary-dimension-card {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #e1e8f3;
  border-radius: 13px;
  background: #fbfcff;
}

.secondary-dimension-card h4 {
  margin-bottom: 12px;
  color: #273754;
  font-size: 15px;
}

.secondary-evidence-grid {
  margin-top: 13px;
}

.secondary-ethics-note {
  padding: 11px 13px;
  border-left: 4px solid #ef6a6a;
  border-radius: 8px;
  background: #fff6f6;
  color: #8b3e47;
  line-height: 1.6;
}

.secondary-transcript-list {
  display: grid;
  gap: 9px;
}

.secondary-transcript-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border: 1px solid #dce5f2;
  border-radius: 11px;
  background: #fafcff;
}

.secondary-transcript-list.is-readonly .secondary-transcript-item {
  border-left: 4px solid #4f8df7;
  background: linear-gradient(135deg, #fbfdff 0%, #f6f9ff 100%);
}

.secondary-transcript-item input {
  margin-top: 4px;
}

.secondary-transcript-item span {
  min-width: 0;
}

.secondary-transcript-item strong,
.secondary-transcript-item em,
.secondary-transcript-item small {
  display: block;
}

.secondary-transcript-item em {
  margin: 2px 0 5px;
  color: #7b89a3;
  font-size: 12px;
  font-style: normal;
}

.secondary-transcript-item small {
  overflow: hidden;
  color: #53627a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.secondary-source-preview {
  padding: 20px 22px;
  border: 1px solid #dbe6f5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(60, 79, 120, .04);
}

.secondary-source-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.secondary-source-preview-head h3 {
  margin: 0;
  color: #22304b;
}

.secondary-source-meta {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  color: #76859d;
  font-size: 12px;
}

.secondary-source-preview textarea {
  width: 100%;
  border: 1px solid #d8e2f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #24314a;
  padding: 12px 14px;
  line-height: 1.65;
  resize: vertical;
}

.secondary-risk-head {
  margin: 18px 0 10px;
}

.secondary-model-badge {
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf2ff;
  color: #3f60d8;
  font-size: 12px;
  font-weight: 800;
}

.secondary-risk-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.secondary-risk-option {
  position: relative;
  margin: 0;
}

.secondary-risk-option input {
  position: absolute;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 0;
  flex: none;
  opacity: 0;
}

.secondary-risk-option > span {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  margin: 0 !important;
  padding: 12px 14px;
  border: 2px solid #dbe3ef;
  border-radius: 14px;
  background: #fff;
  color: #25334d !important;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(42, 60, 96, .05);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.secondary-risk-option > span:hover {
  border-color: #9fb1cf;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(42, 60, 96, .08);
}

.secondary-risk-option b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  flex: 0 0 28px;
}

.secondary-risk-option.risk-green b { background: #27a96b; }
.secondary-risk-option.risk-yellow b { background: #d8a700; }
.secondary-risk-option.risk-orange b { background: #e87821; }
.secondary-risk-option.risk-red b { background: #d94242; }
.secondary-risk-option.risk-green input:checked + span { border-color: #27a96b; background: #eefaf4; box-shadow: inset 0 0 0 1px rgba(39, 169, 107, .18), 0 8px 18px rgba(39, 169, 107, .08); }
.secondary-risk-option.risk-yellow input:checked + span { border-color: #d8a700; background: #fff9e4; box-shadow: inset 0 0 0 1px rgba(216, 167, 0, .18), 0 8px 18px rgba(216, 167, 0, .08); }
.secondary-risk-option.risk-orange input:checked + span { border-color: #e87821; background: #fff3ea; box-shadow: inset 0 0 0 1px rgba(232, 120, 33, .18), 0 8px 18px rgba(232, 120, 33, .08); }
.secondary-risk-option.risk-red input:checked + span { border-color: #d94242; background: #fff0f0; box-shadow: inset 0 0 0 1px rgba(217, 66, 66, .18), 0 8px 18px rgba(217, 66, 66, .08); }

.secondary-risk-option em {
  position: absolute;
  right: 12px;
  bottom: 8px;
  color: #65748f;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.secondary-analysis-progress {
  position: relative;
  overflow: hidden;
  height: 8px;
  margin: -6px 0 14px;
  border-radius: 999px;
  background: #edf2ff;
}

.secondary-analysis-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3e70ff, #7245f4, #2cbde4);
  animation: secondary-progress-slide 1.08s ease-in-out infinite;
}

@keyframes secondary-progress-slide {
  0% { transform: translateX(-105%); }
  55% { transform: translateX(82%); }
  100% { transform: translateX(242%); }
}

.secondary-confirm-check,
.secondary-inline-check {
  display: flex !important;
  align-items: center;
  gap: 9px;
}

.secondary-confirm-check {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid #cfdaf0;
  border-radius: 10px;
  background: #f5f8ff;
}

.secondary-confirm-check span,
.secondary-inline-check span {
  margin: 0 !important;
}

.secondary-confirm-check em {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff0f0;
  color: #d94242;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.secondary-empty-state {
  display: grid;
  place-items: center;
  min-height: 220px;
  gap: 7px;
  border: 1px dashed #cbd8ea;
  border-radius: 16px;
  background: #fbfcff;
  color: #6e7f99;
}

.secondary-empty-state strong {
  color: #2e3b55;
  font-size: 18px;
}

@media (max-width: 1200px) {
  .secondary-basic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .secondary-risk-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  .secondary-interview-workspace { padding: 12px; }
  .secondary-panel-heading,
  .secondary-source-preview-head { align-items: stretch; flex-direction: column; }
  .secondary-basic-grid,
  .secondary-form-grid.columns-2,
  .secondary-form-grid.columns-3,
  .secondary-evidence-grid,
  .secondary-followup-details,
  .secondary-risk-options { grid-template-columns: 1fr; }
  .secondary-record-controls select { min-width: 0; }
  .secondary-record-strip,
  .secondary-export-actions,
  .secondary-record-controls { justify-items: stretch; justify-content: stretch; }
}

@font-face {
  font-family: "Source Han Sans SC";
  src: url("./assets/fonts/SourceHanSansSC-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Source Han Sans SC", "思源黑体", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  padding: 0 12px;
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

button:hover {
  border-color: var(--teal);
  transform: translateY(-1px);
}

button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(15, 118, 110, 0.18);
  outline-offset: 2px;
  border-color: var(--teal);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

select,
input,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
}

select,
input {
  min-height: 36px;
  padding: 0 10px;
}

textarea {
  min-height: 520px;
  resize: vertical;
  padding: 12px;
  line-height: 1.6;
}

.shell {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  border-right: 1px solid var(--line);
  background: #ffffff;
  padding: 14px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 8px;
  background: var(--teal);
  color: #fff;
  font-weight: 700;
}

.brand h1 {
  margin: 0;
  font-size: 16px;
}

.brand p,
.crumb {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.toolbar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 14px;
}

.identity-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f9fbfb;
  padding: 10px;
  margin-bottom: 12px;
}

.identity-panel .filter-field + .filter-field {
  margin-top: 8px;
}

.feature-menu {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}

.feature-menu button {
  width: 100%;
  min-height: 34px;
  text-align: left;
  border: 1px solid transparent;
  background: transparent;
  padding: 6px 10px;
}

.feature-menu button:hover,
.feature-menu button.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
  transform: none;
}

.sidebar-todos {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf5;
  padding: 10px;
  margin-bottom: 12px;
}

.todo-list {
  display: grid;
  gap: 6px;
}

.todo-item {
  width: 100%;
  min-height: auto;
  padding: 8px 10px;
  text-align: left;
  border: 1px dashed #f0d7b8;
  background: #fff;
}

.todo-item strong {
  display: block;
  font-size: 13px;
}

.todo-item span {
  color: var(--muted);
  font-size: 12px;
}

.basics-hint {
  margin: 0 0 10px;
  color: var(--amber);
  font-size: 12px;
  line-height: 1.5;
}

.extended-profile-block {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
}

.extended-profile-block h4 {
  margin: 0;
  font-size: 14px;
}

.extended-profile-form {
  display: grid;
  gap: 8px;
}

.profile-field-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.profile-field-row textarea {
  min-height: 72px;
}

.profile-field-row .btn-remove-field {
  min-width: 34px;
  min-height: 34px;
  padding: 0;
}

.record-item.needs-basics {
  border-color: #f0b27a;
  background: #fffaf5;
}

.feature-view {
  display: grid;
  gap: 14px;
}

.feature-panel {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  padding: 16px;
  box-shadow: var(--shadow);
}

.profile-panel .profile-alert {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff7e6;
  border: 1px solid #f0d9a8;
  color: #7a4d00;
  font-size: 0.9rem;
  line-height: 1.5;
}

.profile-form {
  margin-top: 14px;
}

.profile-form .modal-fieldset {
  margin: 0;
}

.profile-form-actions {
  margin-top: 18px;
}

.profile-action-btn {
  min-width: 96px;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease,
    color 0.16s ease,
    border-color 0.16s ease;
}

.profile-action-btn.is-dirty:hover {
  transform: translateY(-1px);
}

.profile-action-btn:disabled {
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: #eef2f7 !important;
  color: #94a3b8 !important;
  cursor: not-allowed;
  box-shadow: none !important;
  transform: none;
}

.profile-action-btn.is-saving {
  border-color: transparent !important;
  background: linear-gradient(135deg, #93c5fd, #a78bfa) !important;
  color: #ffffff !important;
  cursor: wait;
}

.profile-action-btn.is-saved {
  border-color: transparent !important;
  background: linear-gradient(135deg, #22c55e, #14b8a6) !important;
  color: #ffffff !important;
  animation: profile-save-pop 0.58s ease;
  box-shadow: 0 12px 24px rgba(20, 184, 166, 0.2) !important;
}

@keyframes profile-save-pop {
  0% {
    transform: scale(0.98);
  }
  48% {
    transform: scale(1.04);
  }
  100% {
    transform: scale(1);
  }
}

.profile-readonly-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.profile-password-hint {
  margin: 0 0 10px;
}

.profile-section-target {
  scroll-margin-top: 20px;
  outline: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.profile-section-target.is-targeted {
  border-color: rgba(88, 112, 245, 0.58);
  background: linear-gradient(135deg, rgba(240, 246, 255, 0.76), rgba(249, 246, 255, 0.72));
  box-shadow:
    0 0 0 4px rgba(91, 116, 246, 0.09),
    0 12px 30px rgba(72, 91, 145, 0.08);
}

.profile-quick-actions-hint {
  margin: 4px 0 14px;
  line-height: 1.6;
}

.profile-quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.profile-quick-actions-grid .profile-quick-action-option {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 22px;
  gap: 10px;
  align-items: center;
  min-height: 74px;
  margin: 0;
  padding: 12px;
  border: 1px solid #e4eaf5;
  border-radius: 12px;
  background: #fbfcff;
  color: #2f3d56;
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}

.profile-quick-actions-grid .profile-quick-action-option:hover {
  border-color: rgba(84, 112, 239, 0.34);
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(74, 95, 148, 0.08);
  transform: translateY(-1px);
}

.profile-quick-action-option > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.profile-quick-action-option:focus-within {
  outline: 3px solid rgba(74, 113, 245, 0.18);
  outline-offset: 2px;
}

.profile-quick-action-option:has(input:checked) {
  border-color: rgba(83, 111, 241, 0.45);
  background: linear-gradient(135deg, #f4f8ff, #faf7ff);
}

.profile-quick-action-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(135deg, #edf4ff, #f3efff);
  color: #607ef1;
}

.profile-quick-action-icon svg {
  width: 21px;
  height: 21px;
}

.profile-quick-action-option > span:nth-of-type(2) {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.profile-quick-action-option strong {
  font-size: 13px;
}

.profile-quick-action-option small {
  overflow: hidden;
  color: #7d8ba3;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-quick-action-option > i {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid #d9e0ed;
  border-radius: 6px;
  background: #ffffff;
  color: transparent;
  font-size: 12px;
  font-style: normal;
}

.profile-quick-action-option > input:checked ~ i {
  border-color: #607df4;
  background: linear-gradient(135deg, #5f8af5, #725ef0);
  color: #ffffff;
}

.profile-quick-actions-reset {
  border-color: #dfe5ef;
  background: #ffffff;
  color: #6c7890;
}

.profile-quick-actions-reset:hover {
  border-color: #c9d5ea;
  color: #4667ca;
}

@media (max-width: 900px) {
  .profile-quick-actions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .profile-quick-actions-grid {
    grid-template-columns: 1fr;
  }
}

.patient-merge-duplicates {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #f0d9a8;
  border-radius: 10px;
  background: #fffaf0;
}

.patient-merge-duplicates-title {
  margin: 0 0 10px;
  color: #7a4d00;
}

.patient-merge-duplicate-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid rgba(122, 77, 0, 0.12);
}

.patient-merge-duplicate-item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.stat-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #f9fbfb;
}

.stat-card strong {
  display: block;
  font-size: 24px;
  margin-top: 4px;
}

.stats-dashboard {
  display: grid;
  gap: 16px;
}

.stats-dashboard-head {
  align-items: flex-start;
  margin-bottom: 0;
}

.stats-dashboard-head p {
  margin: 4px 0 0;
  color: #6c7890;
  font-size: 13px;
  font-weight: 700;
}

.stats-overview-grid {
  grid-template-columns: repeat(7, minmax(112px, 1fr));
}

.stats-kpi-card {
  min-height: 96px;
  background:
    radial-gradient(circle at 88% 12%, rgba(var(--theme-rgb-c), 0.12), transparent 30%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), rgba(255, 255, 255, 0.96));
}

.stats-chart-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.92fr) minmax(320px, 1.08fr);
  gap: 14px;
}

.stats-chart-grid-wide {
  grid-template-columns: 1fr;
}

.stats-chart-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  padding: 16px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  border-radius: 8px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--theme-rgb-a), 0.12), transparent 26%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(var(--theme-rgb-b), 0.045)),
    #fff;
  box-shadow: 0 16px 34px rgba(44, 64, 104, 0.08);
}

.stats-chart-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--theme-a), var(--theme-b), var(--theme-c));
}

.stats-chart-card > * {
  position: relative;
  z-index: 1;
}

.stats-chart-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.stats-chart-title h4 {
  margin: 0;
  color: #172235;
  font-size: 16px;
}

.stats-chart-title span {
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.09);
  color: var(--theme-text);
  font-size: 12px;
  font-weight: 800;
}

.stats-donut-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.stats-donut {
  position: relative;
  display: grid;
  width: 168px;
  height: 168px;
  place-items: center;
  border-radius: 50%;
  background: var(--stats-donut);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.48),
    0 18px 36px rgba(var(--theme-rgb-b), 0.12);
}

.stats-donut::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(91, 117, 154, 0.1);
}

.stats-donut-core {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
}

.stats-donut-core strong {
  color: #172235;
  font-size: 30px;
  line-height: 1;
}

.stats-donut-core span {
  margin-top: 6px;
  color: #6c7890;
  font-size: 12px;
  font-weight: 800;
}

.stats-donut-legend {
  display: grid;
  gap: 8px;
}

.stats-legend-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 48px 44px;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 8px;
  border: 1px solid rgba(91, 117, 154, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.stats-legend-row span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2b3850;
  font-weight: 800;
}

.stats-legend-row i {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
}

.stats-legend-row strong,
.stats-legend-row em {
  color: #172235;
  font-style: normal;
  font-weight: 900;
  text-align: right;
}

.stats-legend-row em {
  color: #728098;
  font-size: 12px;
}

.stats-stage-bars,
.stats-school-bars {
  display: grid;
  gap: 12px;
}

.stats-stage-row {
  display: grid;
  grid-template-columns: minmax(112px, 0.85fr) minmax(180px, 1.4fr) 44px;
  align-items: center;
  gap: 12px;
}

.stats-stage-meta,
.stats-school-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.stats-stage-meta span,
.stats-school-meta span {
  overflow: hidden;
  color: #2b3850;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stats-stage-meta strong,
.stats-school-meta strong {
  color: #172235;
  font-size: 16px;
  font-weight: 900;
}

.stats-stage-track,
.stats-school-row {
  overflow: hidden;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(91, 117, 154, 0.08), rgba(91, 117, 154, 0.035));
}

.stats-stage-track {
  height: 13px;
}

.stats-stage-track i,
.stats-school-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.stats-stage-row em {
  color: #728098;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.stats-school-chart {
  min-height: 300px;
}

.stats-school-row {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid rgba(91, 117, 154, 0.08);
  background: rgba(255, 255, 255, 0.7);
}

.stats-school-track {
  display: flex;
  overflow: hidden;
  min-width: 32px;
  height: 18px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.stats-school-track i {
  flex: 0 0 auto;
  min-width: 0;
  border-radius: 0;
}

.stats-school-track i:first-child {
  border-radius: 999px 0 0 999px;
}

.stats-school-track i:last-child {
  border-radius: 0 999px 999px 0;
}

.stats-empty-chart {
  display: grid;
  min-height: 180px;
  place-items: center;
  color: #728098;
  font-weight: 800;
}

.stats-detail-table {
  margin-top: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--theme-rgb-b), 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
}

.schedule-table th,
.schedule-table td {
  border-bottom: 1px solid var(--line);
  padding: 8px 6px;
  text-align: left;
  font-size: 13px;
}

.schedule-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.schedule-page {
  --schedule-blue: #2f6df6;
  --schedule-orange: #f28a32;
  --schedule-purple: #8a58e8;
  overflow: hidden;
}

.schedule-page-head,
.schedule-toolbar,
.schedule-dialog-head,
.schedule-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.schedule-page-head h3,
.schedule-page-head p,
.schedule-toolbar h4 {
  margin: 0;
}

.schedule-page-head p {
  margin-top: 5px;
}

.schedule-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  margin: 20px 0 14px;
  padding: 14px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  border-radius: 14px;
  background: rgba(var(--theme-rgb-b), 0.035);
}

.schedule-filters label,
.schedule-filter-static,
.schedule-form-grid label,
.schedule-remark {
  display: grid;
  gap: 6px;
}

.schedule-filters label > span,
.schedule-filter-static > span,
.schedule-form-grid label > span,
.schedule-remark > span {
  color: #687895;
  font-size: 12px;
  font-weight: 800;
}

.schedule-filter-static {
  align-content: center;
}

.schedule-filter-static strong {
  min-height: 42px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.schedule-filters select,
.schedule-form-grid input,
.schedule-form-grid select,
.schedule-remark textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #d9e1ef;
  border-radius: 10px;
  background: #fff;
  color: #263650;
  font: inherit;
}

.schedule-toolbar {
  min-height: 58px;
  padding: 8px 0;
}

.schedule-nav,
.schedule-view-toggle,
.schedule-dialog-actions > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.schedule-nav button,
.schedule-view-toggle button,
.schedule-dialog-actions button,
.schedule-page-head button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #d9e1ef;
  border-radius: 10px;
  background: #fff;
  color: #34425d;
  font-weight: 800;
  cursor: pointer;
}

.schedule-view-toggle {
  padding: 3px;
  border-radius: 12px;
  background: #eef2fb;
}

.schedule-view-toggle button {
  min-width: 54px;
  border: 0;
  background: transparent;
}

.schedule-view-toggle button.active {
  background: #fff;
  color: var(--schedule-blue);
  box-shadow: 0 3px 12px rgba(44, 70, 125, 0.12);
}

.schedule-weekdays,
.schedule-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.schedule-month-calendar {
  overflow: hidden;
  border: 1px solid #dfe6f2;
  border-radius: 16px;
}

.schedule-weekdays {
  background: #f4f7fc;
}

.schedule-weekdays span {
  padding: 10px;
  color: #71809a;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.schedule-month-day {
  position: relative;
  min-height: 128px;
  padding: 8px;
  border-top: 1px solid #e5eaf3;
  border-right: 1px solid #e5eaf3;
  background: rgba(255, 255, 255, 0.9);
}

.schedule-month-day:nth-child(7n) {
  border-right: 0;
}

.schedule-month-day.is-outside {
  background: #f8f9fc;
  color: #aab4c6;
}

.schedule-day-number {
  display: grid;
  width: 30px;
  height: 30px;
  margin: 0 0 4px auto;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font-weight: 800;
  cursor: pointer;
}

.schedule-month-day.is-today .schedule-day-number {
  background: var(--schedule-blue);
  color: #fff;
}

.schedule-month-events {
  display: grid;
  gap: 4px;
}

.schedule-event-chip,
.schedule-day-event {
  overflow: hidden;
  border: 0;
  border-left: 3px solid currentColor;
  border-radius: 7px;
  text-align: left;
  cursor: pointer;
}

.schedule-event-chip {
  display: grid;
  width: 100%;
  padding: 5px 7px;
  background: #edf3ff;
  color: var(--schedule-blue);
  font-size: 11px;
}

.schedule-event-chip strong,
.schedule-event-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-event-chip.is-interview,
.schedule-day-event.is-interview {
  background: #fff3e8;
  color: #cf681d;
}

.schedule-event-chip.is-course,
.schedule-day-event.is-course {
  background: #f4edff;
  color: #7543ce;
}

.schedule-more {
  margin-top: 4px;
  padding: 2px 5px;
  border: 0;
  background: transparent;
  color: #657897;
  font-size: 11px;
  cursor: pointer;
}

.schedule-day-calendar {
  overflow: hidden;
  border: 1px solid #dfe6f2;
  border-radius: 16px;
  background: #fff;
}

.schedule-day-all-day {
  display: grid;
  grid-template-columns: 74px 1fr;
  padding: 10px 16px;
  border-bottom: 1px solid #e5eaf3;
  color: #72809a;
  font-size: 12px;
}

.schedule-day-all-day p {
  margin: 0;
}

.schedule-day-scroll {
  display: grid;
  grid-template-columns: 72px minmax(620px, 1fr);
  max-height: 720px;
  overflow: auto;
}

.schedule-time-labels,
.schedule-time-grid {
  position: relative;
}

.schedule-time-labels span {
  position: absolute;
  right: 10px;
  transform: translateY(-7px);
  color: #8390a8;
  font-size: 11px;
}

.schedule-time-grid {
  border-left: 1px solid #e5eaf3;
}

.schedule-hour-slot {
  position: absolute;
  left: 0;
  width: 100%;
  height: 64px;
  padding: 0;
  border: 0;
  border-top: 1px solid #e9edf5;
  background: transparent;
  cursor: crosshair;
}

.schedule-hour-slot:hover {
  background: rgba(47, 109, 246, 0.035);
}

.schedule-day-event {
  position: absolute;
  z-index: 2;
  left: calc((100% / var(--lanes)) * var(--lane) + 5px);
  width: calc(100% / var(--lanes) - 10px);
  padding: 6px 9px;
  background: #eaf1ff;
  color: #245bc9;
  box-shadow: 0 3px 10px rgba(41, 69, 127, 0.1);
}

.schedule-day-event strong,
.schedule-day-event span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-day-event span {
  margin-top: 2px;
  font-size: 11px;
}

.schedule-empty-state {
  display: grid;
  min-height: 300px;
  place-content: center;
  gap: 8px;
  border: 1px dashed #cfd8e9;
  border-radius: 16px;
  color: #74819a;
  text-align: center;
}

.schedule-event-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  color: #263650;
  box-shadow: 0 24px 80px rgba(19, 34, 67, 0.32);
}

.schedule-event-dialog::backdrop {
  background: rgba(20, 31, 52, 0.48);
  backdrop-filter: blur(2px);
}

.schedule-dialog-head {
  padding: 18px 22px;
  border-bottom: 1px solid #e4e9f2;
  background: #f7f9fd;
}

.schedule-dialog-head span {
  color: #77849b;
  font-size: 12px;
  font-weight: 800;
}

.schedule-dialog-head h3 {
  margin: 3px 0 0;
}

.schedule-dialog-head > button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #e9eef7;
  font-size: 22px;
  cursor: pointer;
}

.schedule-dialog-body {
  max-height: calc(100vh - 210px);
  padding: 20px 22px;
  overflow: auto;
}

.schedule-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.schedule-remark {
  margin-top: 14px;
}

.schedule-readonly-note {
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eef4ff;
  color: #41649e;
  font-size: 13px;
}

.schedule-form-error {
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  background: #fff1f2;
  color: #b42318;
  font-size: 14px;
  line-height: 1.5;
}

.schedule-scope-choice {
  display: flex;
  gap: 18px;
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid #dce3ef;
  border-radius: 12px;
}

.schedule-scope-choice legend {
  padding: 0 6px;
  color: #687895;
  font-size: 12px;
  font-weight: 800;
}

.schedule-dialog-actions {
  padding: 14px 22px;
  border-top: 1px solid #e4e9f2;
  background: #fafbfe;
}

.schedule-page-head .btn-primary,
.schedule-dialog-actions .btn-primary {
  border-color: transparent;
  background: linear-gradient(125deg, #2f6df6, #7258ea);
  color: #fff;
}

.schedule-dialog-actions .btn-danger-ghost {
  border-color: rgba(215, 66, 66, 0.25);
  color: #c94444;
}

.feature-menu-section button.schedule-reminder-active {
  position: relative;
  color: #d33b3b;
  box-shadow: inset 0 0 0 2px rgba(222, 58, 58, 0.35), 0 0 0 4px rgba(222, 58, 58, 0.08);
  animation: scheduleReminderPulse 1.8s ease-in-out infinite;
}

.schedule-reminder-badge {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: 8px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  background: #e33f4d;
  color: #fff;
  font-size: 11px;
}

.feature-menu-title.schedule-reminder-title::after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 7px;
  border-radius: 50%;
  background: #e33f4d;
  box-shadow: 0 0 0 4px rgba(227, 63, 77, 0.12);
  content: "";
}

@keyframes scheduleReminderPulse {
  50% { box-shadow: inset 0 0 0 2px rgba(222, 58, 58, 0.55), 0 0 0 7px rgba(222, 58, 58, 0.03); }
}

@media (max-width: 800px) {
  .schedule-filters,
  .schedule-form-grid {
    grid-template-columns: 1fr;
  }

  .schedule-page-head,
  .schedule-toolbar {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .schedule-toolbar h4 {
    order: -1;
    width: 100%;
  }

  .schedule-month-calendar {
    overflow-x: auto;
  }

  .schedule-weekdays,
  .schedule-month-grid {
    min-width: 770px;
  }

  .schedule-dialog-body {
    padding: 16px;
  }
}

.media-item[role="button"] {
  cursor: pointer;
}

.media-item.is-selected-source {
  border-color: var(--teal);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 18%, transparent);
  background: color-mix(in srgb, var(--teal-soft) 38%, white);
}

.media-item.is-parent-source {
  border-left: 3px solid #d97706;
}

.media-item.is-teacher-source {
  border-left: 3px solid #7c3aed;
}

.media-item-title {
  color: var(--text);
  font-weight: 700;
}

.media-processing-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.media-processing-badge.is-processing {
  color: #1d4ed8;
  background: #dbeafe;
}

.media-processing-badge.is-complete {
  color: #047857;
  background: #d1fae5;
}

.media-processing-badge.is-waiting {
  color: #92400e;
  background: #fef3c7;
}

.interview-source-badge {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.interview-source-badge.is-student {
  color: #075985;
  background: #e0f2fe;
}

.interview-source-badge.is-parent {
  color: #9a3412;
  background: #ffedd5;
}

.interview-source-badge.is-teacher {
  color: #6d28d9;
  background: #ede9fe;
}

.interview-source-badge.is-secondary-interview {
  color: #047857;
  background: #d1fae5;
}

#roleBadge,
.readonly-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 999px;
  padding: 0 8px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 12px;
  font-weight: 700;
}

.readonly-badge {
  background: #fef0c7;
  color: var(--amber);
}

.filter-field {
  display: grid;
  gap: 5px;
}

.filter-field span {
  color: var(--muted);
  font-size: 12px;
}

.section-title,
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.panel-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.panel-head-actions button {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
}

.panel-head-actions button:hover {
  border-color: var(--teal);
  color: var(--teal);
}

.section-title {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 13px;
}

.section-title-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.section-title-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.section-title-actions h3 {
  margin: 0;
}

.inline-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.inline-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
}

.inline-filter select {
  min-width: 96px;
}

.btn-danger {
  border-color: #fecdca;
  background: var(--red-soft);
  color: var(--red);
}

.btn-danger:hover {
  border-color: var(--red);
  background: #fef3f2;
}

.btn-danger:disabled {
  cursor: not-allowed;
  border-color: #fed7aa;
  background: #fff7ed;
  color: #c2410c;
  opacity: 0.86;
}

.detail-danger-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.btn-compact {
  min-height: 28px;
  padding: 0 8px;
  font-size: 12px;
}

#saveBtn.needs-save {
  color: #fff;
  background: #dc2626;
  border-color: #b91c1c;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.35);
}

#saveBtn.needs-save:hover {
  background: #b91c1c;
  border-color: #991b1b;
}

.save-module-btn.needs-save {
  color: #fff;
  background: #dc2626;
  border-color: #b91c1c;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.35);
}

.save-module-btn.needs-save:hover {
  background: #b91c1c;
  border-color: #991b1b;
}

.record-list {
  display: grid;
  gap: 8px;
}

.record-list-scroll {
  max-height: calc((76px + 8px) * 20 - 8px);
  overflow-y: auto;
  padding-right: 2px;
}

.record-type-filter-field,
.record-search-field {
  margin-bottom: 10px;
}

.record-type-filter-field select {
  width: 100%;
}

.record-pagination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.record-pagination button {
  min-width: 0;
  white-space: nowrap;
}

.record-pagination span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.case-index-filters {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.case-filter-combo {
  position: relative;
  z-index: 1;
}

.case-filter-combo:focus-within {
  z-index: 100;
}

.case-filter-combo-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: stretch;
  min-height: 40px;
  border: 1px solid rgba(91, 117, 154, 0.16);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow:
    inset 0 1px 2px rgba(61, 78, 116, 0.03),
    0 8px 18px rgba(61, 78, 116, 0.04);
}

.case-filter-combo-control:focus-within {
  border-color: var(--theme-b);
  box-shadow:
    0 0 0 3px rgba(var(--theme-rgb-b), 0.14),
    0 10px 24px rgba(var(--theme-rgb-b), 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.case-filter-combo-control input {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #1b2738;
  font-size: 15px;
  font-weight: 700;
}

.case-filter-toggle {
  display: grid;
  place-items: center;
  min-width: 34px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #25364c;
  background: #fff;
  box-shadow: none;
}

.case-filter-toggle:hover {
  border-color: transparent;
  background: rgba(var(--theme-rgb-a), 0.08);
  box-shadow: none;
  transform: none;
}

.case-filter-options {
  position: absolute;
  z-index: 90;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  display: block;
  max-height: 188px;
  overflow: auto;
  padding: 6px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.16);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(52, 73, 113, 0.18);
  scrollbar-width: thin;
}

.case-filter-option {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: flex-start;
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  color: #1d2a3d;
  background: #fff;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  transform: none;
}

.case-filter-option:hover,
.case-filter-option:focus-visible {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  box-shadow: none;
  outline: 0;
  transform: none;
}

.case-filter-empty {
  display: block;
  padding: 9px 10px;
  color: #718096;
  font-size: 12px;
}

body.admin-page[data-active-feature="consultations"] #consultationFilters,
body.admin-page[data-active-feature="interview_index"] #consultationFilters,
body.admin-page[data-active-feature="case_index"] #consultationFilters,
body.admin-page[data-active-feature="crisis_intervention"] #consultationFilters {
  display: none !important;
}

.admin-page .case-index-panel {
  overflow: visible;
}

.case-index-table-wrap {
  position: relative;
  z-index: 1;
  max-height: min(70vh, 640px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.case-index-table-wrap .schedule-table {
  margin: 0;
}

.case-index-table-wrap .schedule-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f7faf9;
}

.interview-index-filters {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.interview-index-actions {
  grid-column: span 2;
}

.interview-index-actions > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.interview-index-actions button {
  min-height: 40px;
  white-space: nowrap;
}

.interview-index-result-summary {
  margin: 0 0 10px;
}

.interview-index-table {
  min-width: 1180px;
}

.interview-index-check-cell {
  width: 48px;
  min-width: 48px;
  text-align: center;
}

.interview-index-check-cell input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--theme-b);
  cursor: pointer;
}

.interview-risk-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.interview-risk-pill.risk-green {
  color: #107154;
  background: #def8eb;
}

.interview-risk-pill.risk-yellow {
  color: #8a6500;
  background: #fff4c7;
}

.interview-risk-pill.risk-orange {
  color: #a64c13;
  background: #ffe6cf;
}

.interview-risk-pill.risk-red {
  color: #b42332;
  background: #ffe0e4;
}

.interview-risk-pill.risk-unset {
  color: #64748b;
  background: #edf2f7;
}

body.admin-page[data-active-feature="interview_index"] .case-index-panel {
  overflow: visible;
}

body.admin-page[data-active-feature="interview_index"] .case-index-filters .filter-field select {
  height: 44px;
  min-height: 44px;
  appearance: none;
  -webkit-appearance: none;
  padding: 0 46px 0 18px;
  border: 1px solid rgba(91, 117, 154, 0.16);
  border-radius: 8px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%2325364c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 9px;
  color: #162033;
  box-shadow: inset 0 1px 2px rgba(61, 78, 116, 0.03), 0 10px 22px rgba(61, 78, 116, 0.045);
  font-size: 15px;
  font-weight: 800;
}

body.admin-page[data-active-feature="interview_index"] .case-index-filters .filter-field select:focus-visible {
  border-color: var(--theme-b);
  box-shadow: 0 0 0 3px rgba(var(--theme-rgb-b), 0.14), 0 10px 24px rgba(var(--theme-rgb-b), 0.1);
}

@media (max-width: 900px) {
  .interview-index-actions {
    grid-column: 1 / -1;
  }
}

.case-index-open-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 180px;
}

.case-index-open-row .case-open-select {
  flex: 1;
  min-width: 0;
  min-height: 30px;
  font-size: 12px;
}

.case-index-open-row .case-open-select-btn {
  flex-shrink: 0;
  min-height: 30px;
  padding: 0 8px;
  font-size: 12px;
}

.detail-danger-zone {
  margin-top: 18px;
  padding: 16px;
  border: 1px dashed #fecdca;
  border-radius: 10px;
  background: #fffafb;
}

.detail-danger-zone .muted-text {
  margin: 0 0 10px;
  font-size: 12px;
}

.record-item {
  width: 100%;
  min-height: 76px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
  text-align: left;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
  cursor: grab;
  touch-action: pan-y;
  -webkit-touch-callout: none;
  user-select: none;
}

.record-order-hint {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-left: 5px;
  padding: 0 7px;
  border: 1px solid rgba(79, 109, 245, 0.14);
  border-radius: 999px;
  background: rgba(79, 109, 245, 0.08);
  color: #66749a;
  font-size: 10px;
  font-weight: 600;
  vertical-align: middle;
}

.record-list.is-reordering {
  position: relative;
  margin: -6px;
  padding: 6px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(50, 104, 255, 0.1), rgba(123, 63, 242, 0.06));
  box-shadow: inset 0 0 0 2px rgba(50, 104, 255, 0.18);
  cursor: grabbing;
}

.record-list.is-reordering .record-item:not(.is-dragging) {
  opacity: 0.58;
  filter: saturate(0.72);
  transform: scale(0.975);
  transition: opacity 0.14s ease, filter 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.record-item.is-awaiting-drag {
  border-color: rgba(50, 104, 255, 0.56);
  transform: scale(0.992);
  box-shadow: 0 0 0 3px rgba(50, 104, 255, 0.13), 0 10px 24px rgba(50, 104, 255, 0.14);
}

.record-item.is-dragging,
.record-item.is-dragging:hover {
  position: relative;
  z-index: 20;
  overflow: visible;
  border-color: #ffffff;
  cursor: grabbing;
  opacity: 1;
  filter: none;
  outline: 3px solid #3268ff;
  outline-offset: 2px;
  transform: translateY(-4px) scale(1.045) rotate(-0.45deg);
  box-shadow:
    0 0 0 7px rgba(50, 104, 255, 0.14),
    0 24px 48px rgba(50, 104, 255, 0.4);
  animation: consultation-drag-lift 0.82s ease-in-out infinite alternate;
}

.record-item.is-dragging::after {
  content: "↕ 正在移动";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 30;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  background: rgba(27, 47, 112, 0.9);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 22px rgba(18, 31, 68, 0.28);
}

.record-item.is-drop-before,
.record-item.is-drop-after {
  position: relative;
}

.record-item.is-drop-before::before,
.record-item.is-drop-after::before {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  z-index: 25;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #18bff0, #3268ff 52%, #7b3ff2);
  box-shadow: 0 0 0 3px rgba(50, 104, 255, 0.12), 0 0 16px rgba(50, 104, 255, 0.55);
  pointer-events: none;
}

.record-item.is-drop-before::before {
  top: -7px;
}

.record-item.is-drop-after::before {
  bottom: -7px;
}

@keyframes consultation-drag-lift {
  from {
    box-shadow: 0 0 0 6px rgba(50, 104, 255, 0.12), 0 22px 44px rgba(50, 104, 255, 0.34);
  }
  to {
    box-shadow: 0 0 0 10px rgba(123, 63, 242, 0.17), 0 28px 54px rgba(50, 104, 255, 0.46);
  }
}

body.is-consultation-list-reordering,
body.is-consultation-list-reordering * {
  cursor: grabbing !important;
  user-select: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .record-item.is-dragging,
  .record-item.is-dragging:hover {
    animation: none;
  }
}

.record-item.active {
  border-color: var(--teal);
  box-shadow: 0 0 0 2px var(--teal-soft);
}

.record-item:hover {
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}

.record-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.record-title {
  font-weight: 700;
  font-size: 14px;
}

.record-meta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.workspace {
  min-width: 0;
  padding: 22px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.topbar h2 {
  margin: 4px 0 0;
  font-size: 24px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.actions-topbar button {
  font-weight: 700;
  background: #f8fbfa;
  border-color: #b7e1dc;
  color: var(--teal);
}

.actions-topbar button:disabled {
  opacity: 0.55;
}

.empty {
  display: grid;
  min-height: 420px;
  place-content: center;
  gap: 8px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  text-align: center;
}

.empty strong {
  color: var(--text);
  font-size: 18px;
}

.hidden {
  display: none !important;
}

.create-user-form {
  display: grid;
  gap: 10px;
  margin: 12px 0 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.create-user-form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}

.create-user-form input,
.create-user-form select {
  width: 100%;
  max-width: 360px;
}

.create-user-form .form-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.role-inline-head {
  margin: 6px 0 10px;
}

.role-editor-panel {
  margin: 0 0 12px;
}

.role-editor-form h4 {
  margin: 0;
}

.role-perm-head {
  margin-bottom: 4px;
}

.role-perm-actions {
  display: inline-flex;
  gap: 6px;
}

.role-editor-error {
  margin: 0 0 6px;
  color: var(--red);
  font-size: 12px;
  line-height: 1.4;
}

.role-perm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 5px;
  margin-top: 4px;
}

.role-perm-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 3px 6px;
  background: #fff;
  min-height: 34px;
}

.role-perm-item span {
  display: grid;
  gap: 1px;
  line-height: 1.2;
  min-width: 0;
  flex: 1 1 auto;
}

.role-perm-item strong {
  font-size: 11px;
  font-weight: 600;
  color: var(--text);
}

.role-perm-item em {
  font-style: normal;
  font-size: 10px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.role-perm-item input[type="checkbox"] {
  width: 13px;
  height: 13px;
  margin: 0;
  flex: 0 0 auto;
}

.detail {
  display: grid;
  gap: 14px;
}

.case-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 16px;
  box-shadow: var(--shadow);
}

.case-main {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 14px;
}

.case-main h3 {
  margin: 0;
  font-size: 20px;
}

.case-main p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.case-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 34px;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}

.case-metrics {
  display: grid;
  grid-template-columns: repeat(3, 74px);
  gap: 8px;
}

.case-metrics div {
  border-left: 1px solid var(--line);
  padding-left: 12px;
}

.case-metrics strong,
.case-metrics span {
  display: block;
}

.case-metrics span {
  color: var(--muted);
  font-size: 12px;
}

.summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.summary-strip > .summary-field,
.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.summary-strip > .summary-field {
  min-height: 76px;
  padding: 12px;
  display: grid;
  align-content: start;
  gap: 0;
  min-width: 0;
}

.summary-field-actions {
  display: grid;
  align-content: start;
  gap: 8px;
  position: relative;
}

.summary-save-btn.needs-save {
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.35);
}

.summary-save-hint {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 8px;
  font-size: 12px;
  color: #dc2626;
  line-height: 1.4;
  pointer-events: none;
}

.summary-field-label,
.summary-strip .summary-field > span.summary-field-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}

.summary-field-value,
.summary-field input.summary-field-value,
.summary-field select.summary-field-value,
.summary-field strong.summary-field-value {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text);
  border: none;
  background: transparent;
  padding: 0;
  width: 100%;
  min-height: 0;
  box-shadow: none;
  box-sizing: border-box;
  font-family: inherit;
}

.summary-field input.summary-field-value::placeholder {
  color: #94a3b8;
  font-weight: 500;
}

.summary-field select.summary-field-value {
  cursor: pointer;
  appearance: none;
  padding-right: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23667085' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 12px 8px;
}

.summary-field input.summary-field-value:focus,
.summary-field select.summary-field-value:focus {
  outline: 2px solid #8fcfc7;
  outline-offset: 2px;
  border-radius: 4px;
}

.summary-field input.summary-field-value:disabled,
.summary-field select.summary-field-value:disabled {
  opacity: 0.72;
  cursor: not-allowed;
}

.summary-field-wide {
  grid-column: span 1;
}

.summary-visitor-row {
  display: grid;
  grid-template-columns: minmax(58px, 0.72fr) minmax(92px, 1.28fr);
  align-items: start;
  gap: 12px;
  margin-top: 0;
  min-width: 0;
}

.summary-visitor-control {
  display: grid;
  gap: 0;
  min-width: 0;
}

.summary-visitor-control-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.summary-visitor-row .summary-field-value,
.summary-visitor-row input.summary-field-value,
.summary-visitor-row select.summary-field-value {
  min-width: 0;
  margin-top: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.summary-visitor-role select.summary-field-value {
  padding-right: 16px;
  background-position: right 0 center;
}

.summary-grade-class-row,
.summary-course-row {
  --summary-value-line-height: 1.4em;
}

.summary-grade-class-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px auto;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  min-height: var(--summary-value-line-height);
}

#summaryEnrollmentYear:invalid {
  color: #94a3b8;
}

#summaryClassNumber {
  text-align: center;
}

.summary-course-row {
  display: grid;
  grid-template-columns: 30px auto 30px auto;
  align-items: center;
  gap: 6px;
  margin-top: 0;
  min-height: var(--summary-value-line-height);
}

.summary-course-display {
  display: grid;
  gap: 8px;
  align-content: start;
  margin-top: 0;
  min-height: var(--summary-value-line-height);
}

.summary-consult-time-display {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 6px;
  align-items: center;
  margin-top: 6px;
  min-width: 0;
}

.summary-consult-time-lines {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.summary-consult-time-display .summary-consult-date,
.summary-consult-time-display .summary-consult-clock {
  margin-top: 0;
  min-width: 0;
  width: 100%;
  font-variant-numeric: tabular-nums;
}

.summary-consult-time-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #667085;
  cursor: pointer;
  z-index: 2;
}

.summary-consult-time-icon:hover:not(:disabled) {
  background: rgba(50, 104, 255, 0.08);
  color: #3268ff;
}

.summary-consult-time-icon:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.summary-consult-time-native {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  border: 0;
  padding: 0;
  margin: 0;
}

.summary-consult-time-display input[type="date"]::-webkit-calendar-picker-indicator,
.summary-consult-time-display input[type="time"]::-webkit-calendar-picker-indicator,
.summary-consult-time-native::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}

.admin-page .summary-strip > .summary-field-consult-time {
  overflow: visible;
}

.summary-course-line {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  width: max-content;
  max-width: 100%;
  color: #152334;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.25;
}

.summary-course-line + .summary-course-line {
  color: #667085;
  font-size: 14px;
  font-weight: 780;
}

.summary-course-inline-input {
  display: inline-flex;
  align-items: center;
  width: 30px;
  min-width: 30px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  outline: 0;
  background: transparent;
  color: #152334;
  -webkit-text-fill-color: #152334;
  font: inherit;
  text-align: center;
  font-weight: 850;
  line-height: 24px;
  box-shadow: none;
}

.summary-course-line + .summary-course-line .summary-course-inline-input {
  color: #667085;
  -webkit-text-fill-color: #667085;
  font-size: 14px;
  font-weight: 780;
}

.summary-course-inline-input::placeholder {
  color: currentColor;
  opacity: 1;
}

.summary-course-inline-input:focus {
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 0 0 2px rgba(50, 104, 255, 0.16),
    0 6px 14px rgba(50, 104, 255, 0.1);
}

.summary-course-inline-input:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.summary-grade-class-row .summary-field-value,
.summary-course-row .summary-field-value {
  display: inline-flex;
  align-items: center;
  margin-top: 0;
  height: var(--summary-value-line-height);
  line-height: var(--summary-value-line-height);
}

.summary-course-number {
  text-align: center;
}

.summary-unit-label {
  display: inline-flex;
  align-items: center;
  height: var(--summary-value-line-height);
  min-width: max-content;
  color: var(--text);
  font-size: inherit;
  font-weight: 700;
  line-height: var(--summary-value-line-height);
  transform: translateY(3px);
  white-space: nowrap;
}

.gc-enrollment-year-select.is-expanded {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

.gc-year-popover {
  position: fixed;
  z-index: 2600;
  display: grid;
  gap: 4px;
  max-height: 190px;
  overflow-y: auto;
  padding: 6px 5px 6px 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.gc-year-popover::-webkit-scrollbar {
  width: 5px;
}

.gc-year-popover::-webkit-scrollbar-track {
  background: transparent;
}

.gc-year-popover::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #cbd5e1;
}

.gc-year-option {
  width: 100%;
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

.gc-year-option:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
}

.gc-year-option.is-selected {
  border-color: var(--accent);
  background: #eef2ff;
  color: #1d4ed8;
  font-weight: 700;
}

.field span,
.panel-head span {
  color: var(--muted);
  font-size: 13px;
}

.panel {
  min-width: 0;
  padding: 16px;
}

.basics-panel {
  border-left: 4px solid #2563eb;
}

.basics-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.basics-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.basics-form span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.basics-form input,
.basics-form select {
  background: #fbfcfd;
}

.basic-course-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#saveBasicsBtn {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
  font-weight: 700;
}

.panel h3 {
  margin: 0;
  font-size: 16px;
}

.intake-panel {
  border-left: 4px solid var(--teal);
}

.intake-summary {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.intake-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.intake-field {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
  padding: 10px;
}

.intake-field.missing {
  border-color: #fecdca;
  background: #fff8f7;
}

.intake-field span,
.intake-field strong,
.intake-field em {
  display: block;
}

.intake-field span {
  color: var(--muted);
  font-size: 12px;
}

.intake-field strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 15px;
}

.intake-field strong.risk-pill {
  display: inline-flex;
  margin-top: 5px;
}

.intake-field em {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.intake-tags {
  padding-top: 2px;
}

.missing-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  color: var(--muted);
  font-size: 13px;
}

.missing-fields b {
  color: var(--text);
}

.missing-fields span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  background: #fef0c7;
  color: var(--amber);
  padding: 0 9px;
  font-weight: 700;
}

.risk-pill,
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  padding: 0 10px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}

.status-pending-basics,
.case-status.status-pending-basics {
  background: #fef0c7;
  color: var(--amber);
}

.status-pending-analysis,
.case-status.status-pending-analysis {
  background: #dbeafe;
  color: #1d4ed8;
}

.status-pending-check,
.case-status.status-pending-check {
  background: var(--teal-soft);
  color: var(--teal);
}

.status-under-review,
.case-status.status-under-review {
  background: #ffedd5;
  color: #c2410c;
}

.status-reviewed,
.case-status.status-reviewed {
  background: var(--green-soft);
  color: var(--green);
}

.status-restored,
.case-status.status-restored {
  background: #e0f2fe;
  color: #0369a1;
}

.risk-red {
  background: var(--red-soft);
  color: var(--red);
}

.risk-green {
  background: var(--green-soft);
  color: var(--green);
}

.risk-amber {
  background: #fef0c7;
  color: var(--amber);
}

.route-body {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.55;
}

.route-line {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
}

.route-line.compact {
  grid-template-columns: 78px 1fr;
  font-size: 13px;
}

.route-line b {
  color: var(--text);
  font-size: 13px;
}

.route-note {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chip {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border: 1px solid #b7e1dc;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.report-rule-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.report-rule-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.report-rule-card strong,
.report-rule-card span {
  display: block;
}

.report-rule-card strong {
  color: var(--text);
  font-size: 14px;
}

.report-rule-card span {
  color: var(--teal);
  font-size: 12px;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.report-rule-card p {
  margin: 8px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.report-rule-card ul {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.55;
}

.job-status {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.job-topline,
.job-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.job-topline strong {
  color: var(--teal);
}

.job-topline span,
.job-meta,
.job-time {
  color: var(--muted);
  font-size: 13px;
}

.progress-bar {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f3;
}

.progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--teal), #38a169);
}

.job-error {
  margin: 0;
  border: 1px solid #fecdca;
  border-radius: 8px;
  background: var(--red-soft);
  color: var(--red);
  padding: 8px 10px;
  font-size: 13px;
}

.job-log {
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fbfcfd;
  color: var(--muted);
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.case-module-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
  box-shadow: var(--shadow);
}

.case-module-btn {
  min-height: 34px;
  border-radius: 999px;
  font-weight: 700;
}

.case-module-btn.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}

.case-module-panels {
  display: grid;
  gap: 14px;
}

.case-module-pane {
  display: grid;
  gap: 14px;
}

.module-hint {
  margin: 0 0 12px;
  font-size: 13px;
}

.template-doc-panel {
  border-left: 4px solid var(--teal);
}

.doc-appointment.template-doc-panel {
  border-left-color: #7c3aed;
}

.doc-cover.template-doc-panel {
  border-left-color: #2563eb;
}

.doc-counseling.template-doc-panel {
  border-left-color: #0f766e;
}

.doc-summary.template-doc-panel {
  border-left-color: #b45309;
}

.doc-attachments.template-doc-panel {
  border-left-color: #d97706;
}

.attachment-material-panel {
  border-top: 4px solid #22b8cf;
}

.attachment-material-head > div:first-child {
  min-width: 0;
}

.attachment-material-head .muted-text {
  margin: 6px 0 0;
}

.attachment-material-list {
  display: grid;
  gap: 18px;
}

.attachment-material-empty {
  margin: 0;
  padding: 26px;
  border: 1px dashed #cbd8e8;
  border-radius: 14px;
  text-align: center;
  background: #f8fbff;
}

.attachment-material-card {
  border: 1px solid #d7e1ee;
  border-radius: 16px;
  padding: 18px;
  background: linear-gradient(145deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 28px rgba(52, 76, 112, 0.08);
}

.attachment-material-card-head,
.attachment-material-actions,
.attachment-upload-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.attachment-material-card-head {
  justify-content: space-between;
  margin-bottom: 16px;
}

.attachment-material-card-head > div {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.attachment-material-kind,
.attachment-analysis-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.attachment-material-kind {
  color: #075985;
  background: #e0f2fe;
}

.attachment-analysis-status {
  color: #52627a;
  background: #eef2f7;
}

.attachment-analysis-status.is-running {
  color: #1d4ed8;
  background: #dbeafe;
}

.attachment-analysis-status.is-succeeded {
  color: #047857;
  background: #d1fae5;
}

.attachment-analysis-status.is-stale,
.attachment-analysis-status.is-failed {
  color: #b45309;
  background: #fef3c7;
}

.attachment-material-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.attachment-material-fields label {
  display: grid;
  gap: 6px;
  color: #52627a;
  font-size: 14px;
}

.attachment-material-fields label > span:first-child {
  font-weight: 700;
}

.attachment-material-fields .span-2 {
  grid-column: 1 / -1;
}

.attachment-material-fields input,
.attachment-material-fields select,
.attachment-material-fields textarea,
.attachment-analysis-editor textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd9e6;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #223047;
}

.attachment-material-fields textarea {
  min-height: 96px;
  resize: vertical;
}

.attachment-material-details textarea {
  min-height: 76px;
}

.attachment-material-details {
  margin-top: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 12px;
}

.attachment-material-details summary {
  cursor: pointer;
  color: #34507a;
  font-weight: 700;
}

.attachment-material-details[open] summary {
  margin-bottom: 12px;
}

.attachment-transcript-check {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  color: #52627a;
  background: #f5f8fc;
  font-size: 13px;
  line-height: 1.6;
}

.attachment-transcript-check input {
  width: auto;
}

.attachment-upload-row {
  margin: 14px 0;
  color: #718096;
  font-size: 13px;
}

.attachment-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 10px;
  background: #eef4ff;
  color: #2855c5;
  font-weight: 700;
  cursor: pointer;
}

.attachment-upload-button.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.attachment-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 12px;
}

.attachment-image-card {
  min-width: 0;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  padding: 10px;
  background: #fff;
}

.attachment-image-preview {
  position: relative;
  display: grid;
  place-items: center;
  height: 180px;
  overflow: hidden;
  border-radius: 9px;
  background: #edf2f7;
}

.attachment-image-preview img {
  max-width: 88%;
  max-height: 88%;
  object-fit: contain;
  transition: transform 180ms ease;
}

.attachment-image-preview span {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(31, 41, 55, 0.72);
  font-size: 12px;
}

body.admin-page .attachment-image-preview > button.attachment-image-delete {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 50%;
  padding: 0;
  color: #fff;
  -webkit-text-fill-color: #fff;
  background: rgba(220, 38, 38, 0.64);
  box-shadow: 0 2px 8px rgba(153, 27, 27, 0.3);
  backdrop-filter: blur(4px);
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 24px;
  opacity: 1;
  cursor: pointer;
  transition: opacity 160ms ease, background 160ms ease, transform 160ms ease;
}

body.admin-page .attachment-image-preview > button.attachment-image-delete:hover,
body.admin-page .attachment-image-preview > button.attachment-image-delete:focus-visible {
  border-color: rgba(255, 255, 255, 0.92);
  opacity: 1;
  background: rgba(185, 28, 28, 0.86);
  box-shadow: 0 3px 10px rgba(153, 27, 27, 0.38);
  transform: scale(1.06);
}

body.admin-page .attachment-image-preview > button.attachment-image-delete.is-deleting {
  opacity: 0.45;
  cursor: wait;
}

.attachment-image-name {
  overflow: hidden;
  margin: 8px 0;
  color: #475569;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attachment-material-actions button {
  white-space: nowrap;
}

.attachment-material-actions {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
}

.attachment-analysis-box {
  margin-top: 14px;
}

.attachment-analysis-empty,
.attachment-analysis-error,
.attachment-analysis-progress {
  padding: 14px;
  border-radius: 10px;
  background: #f8fafc;
  color: #64748b;
}

.attachment-analysis-error {
  color: #b91c1c;
  background: #fef2f2;
}

.attachment-analysis-progress i {
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #22c1dc);
  animation: attachment-analysis-pulse 1.2s ease-in-out infinite alternate;
}

@keyframes attachment-analysis-pulse {
  from { opacity: 0.35; transform: scaleX(0.45); transform-origin: left; }
  to { opacity: 1; transform: scaleX(1); transform-origin: left; }
}

.attachment-analysis-editor {
  display: grid;
  gap: 7px;
  color: #34455f;
  font-weight: 700;
}

.attachment-analysis-editor textarea {
  min-height: 260px;
  line-height: 1.65;
  font-weight: 400;
}

.attachment-analysis-disclaimer {
  margin: 8px 0 0;
  color: #8a5a13;
  font-size: 13px;
}

.danger-link {
  color: #c2412d;
}

@media (max-width: 820px) {
  .attachment-material-fields {
    grid-template-columns: 1fr;
  }

  .attachment-material-fields .span-2 {
    grid-column: auto;
  }
}

.template-form-root {
  margin-top: 8px;
}

.template-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.tf-doc-title {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  margin-bottom: 4px;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.tf-doc-title strong {
  font-size: 18px;
}

.tf-doc-title span {
  font-size: 16px;
  font-weight: 700;
}

.tf-doc-title em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.tf-section {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
  font-size: 15px;
}

.tf-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.tf-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.tf-span-2 {
  grid-column: 1 / -1;
}

.tf-ai-stamp {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
}

.tf-ai-stamp .tf-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.tf-ai-stamp input {
  border: none;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  padding: 0;
  cursor: default;
}

.tf-review-stamp {
  margin-top: 4px;
  padding-top: 0;
  border-top: none;
}

.tf-review-stamp .tf-label,
.tf-display-stamp-value {
  color: var(--muted);
  font-size: 13px;
}

.tf-display-stamp-value {
  margin-top: 2px;
  line-height: 1.5;
}

.tf-label,
.tf-check-group legend {
  display: inline-block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.tf-required-mark {
  display: inline-block;
  margin-left: 3px;
  vertical-align: baseline;
  color: #dc2626;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.tf-field input,
.tf-field textarea,
.tf-field select {
  background: #fbfcfd;
}

.tf-field input.is-disabled-dependent,
.tf-field input:disabled {
  background: #eef1f4;
  color: #94a3b8;
  cursor: not-allowed;
}

/* 日期时间：整框可点，不必只点右侧日历图标 */
.tf-datetime-hit {
  display: block;
  width: 100%;
  position: relative;
  cursor: pointer;
}

.tf-datetime-hit input[type="datetime-local"],
.tf-datetime-hit input[type="date"] {
  width: 100%;
  min-height: 42px;
  cursor: pointer;
  box-sizing: border-box;
}

.tf-datetime-hit input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.tf-datetime-hit input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

.tf-field textarea {
  min-height: 88px;
  resize: vertical;
}

.tf-check-group {
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0;
}

.tf-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}

.tf-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.tf-option input {
  width: auto;
  min-height: 0;
  margin: 0;
}

.tf-extra {
  display: grid;
  gap: 4px;
  width: 100%;
  margin-top: 6px;
}

.save-module-btn {
  background: var(--teal-soft);
  border-color: #8fcfc7;
  color: var(--teal);
  font-weight: 700;
}

.consultation-ops-fold {
  padding: 0;
}

.consultation-ops-fold > summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 700;
  list-style-position: inside;
}

.ops-fold-body {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
}

.report-workspace {
  min-width: 0;
}

.work-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(520px, 1.18fr) minmax(260px, 0.56fr);
  gap: 14px;
  align-items: start;
}

.work-grid-counseling {
  grid-template-columns: minmax(280px, 0.62fr) minmax(420px, 1.38fr);
}

.work-grid-report {
  grid-template-columns: minmax(420px, 1.2fr) minmax(260px, 0.56fr);
}

.report-panel,
.side-stack {
  min-width: 0;
}

.report-chooser {
  display: grid;
  grid-template-columns: minmax(160px, 0.75fr) minmax(260px, 1.1fr) minmax(130px, 0.45fr);
  gap: 14px;
  align-items: end;
  border: 1px solid #8fcfc7;
  border-radius: 8px;
  background: linear-gradient(180deg, #f2fbf9 0%, #e6f4f1 100%);
  padding: 12px;
}

.report-chooser h3 {
  margin: 0;
}

.report-chooser p {
  margin: 4px 0 0;
  color: var(--teal);
  font-size: 13px;
}

.report-chooser label {
  display: grid;
  gap: 6px;
}

.report-chooser label span {
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}

#reportSelect {
  min-height: 42px;
  border-color: #68bdb4;
  background: #fff;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.06);
}

.version-chain {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  min-height: 30px;
}

.version-chain > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.version-chain button {
  min-height: 28px;
  border-color: #cfd6df;
  background: #fff;
  color: var(--muted);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.version-chain button.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}

.report-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  border: 1px solid #cfd6df;
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  background: #fff;
  padding: 12px 14px;
}

.report-guide.approved {
  border-left-color: var(--green);
  background: #fbfffc;
}

.report-guide.empty-guide {
  border-left-color: var(--amber);
}

.report-guide.sync-stale {
  border-color: #f7c948;
  border-left-color: var(--amber);
  background: #fffaf0;
}

.report-guide strong,
.report-guide p {
  display: block;
}

.report-guide strong {
  margin-top: 4px;
  font-size: 15px;
}

.report-guide p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.guide-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  padding: 0 9px;
  font-size: 12px;
  font-weight: 800;
}

.report-guide.approved .guide-status {
  background: var(--green-soft);
  color: var(--green);
}

.report-guide.empty-guide .guide-status {
  background: #fef0c7;
  color: var(--amber);
}

.report-guide.sync-stale .guide-status {
  background: #fef0c7;
  color: var(--amber);
}

.guide-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.guide-actions button {
  min-height: 34px;
  border-color: #99d6ce;
  background: #f6fbfa;
  color: var(--teal);
  font-weight: 800;
}

.side-stack {
  display: grid;
  gap: 14px;
}

.transcript-panel .transcript {
  min-height: 220px;
  max-height: 360px;
}

.transcript {
  overflow: auto;
  margin: 12px 0 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f9fafb;
  white-space: pre-wrap;
  line-height: 1.7;
}

.transcript-manual {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
}

.transcript-manual-hint {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

#transcriptPaste {
  min-height: 180px;
  width: 100%;
  resize: vertical;
}

textarea {
  min-height: 320px;
}

.field {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}

.preview-block {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.report-preview {
  max-height: 680px;
  overflow: auto;
  border: 1px solid #cfd6df;
  border-radius: 8px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(180deg, #eef3f5, #d9dee6) border-box;
  padding: 30px 34px;
  line-height: 1.75;
  box-shadow: inset 0 0 0 1px #f7f9fb, 0 14px 26px rgba(24, 32, 42, 0.06);
}

.report-preview h1 {
  margin: 0 0 18px;
  text-align: center;
  font-size: 25px;
  line-height: 1.3;
}

.report-preview h2 {
  margin: 28px 0 12px;
  border-bottom: 2px solid #dce7e5;
  padding-bottom: 8px;
  font-size: 19px;
}

.report-preview h3 {
  margin: 20px 0 8px;
  color: var(--teal);
  font-size: 16px;
}

.report-preview h4 {
  margin: 14px 0 6px;
  font-size: 14px;
}

.report-preview p,
.report-preview li {
  font-size: 14px;
  color: #25303b;
}

.report-preview p {
  margin: 8px 0 10px;
}

.report-preview ul {
  margin: 8px 0 12px;
  padding-left: 20px;
}

.report-preview table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 16px;
  font-size: 13px;
  background: #fff;
}

.report-preview th,
.report-preview td {
  border: 1px solid var(--line);
  padding: 8px;
  text-align: left;
  vertical-align: top;
}

.report-preview th {
  background: #f3f8f7;
}

.report-preview pre {
  overflow: auto;
  border-radius: 8px;
  background: #f4f6f8;
  padding: 12px;
}

.muted-text {
  color: var(--muted);
}

.media-transcript-workspace {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(280px, 1fr);
  gap: 14px;
  align-items: start;
  margin-top: 12px;
}

.media-list-compact {
  margin-top: 0;
}

.media-transcript-side {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #f9fbfc;
}

.media-transcript-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.media-transcript-hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.media-transcript-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.media-transcript-side #transcriptPaste {
  min-height: 200px;
}

.temperament-assessment-panel {
  display: grid;
  gap: 14px;
}

.temperament-assessment-panel .panel-head p {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

.temperament-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 260px));
  gap: 14px;
}

.temperament-score-grid label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.temperament-score-grid input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  background: #fff;
}

.temperament-score-grid input:focus {
  outline: none;
  border-color: #7c8cf8;
  box-shadow: 0 0 0 3px rgba(79, 109, 245, 0.12);
}

.temperament-result {
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(79, 109, 245, 0.05), rgba(19, 191, 232, 0.04)),
    #fff;
}

.temperament-progress {
  display: grid;
  gap: 10px;
  font-weight: 700;
  color: #3451d1;
}

.temperament-progress i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeff;
  position: relative;
}

.temperament-progress i::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4f6df5, #13bfe8);
  animation: temperament-progress-slide 1.1s ease-in-out infinite;
}

@keyframes temperament-progress-slide {
  0% {
    transform: translateX(-110%);
  }
  100% {
    transform: translateX(245%);
  }
}

.temperament-result-card {
  display: grid;
  gap: 10px;
}

.temperament-result-card p {
  margin: 0;
  line-height: 1.6;
}

.temperament-result-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: var(--muted);
}

.temperament-result-main strong {
  color: var(--ink);
}

.temperament-type-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 12px;
  border-radius: 999px;
  color: #3451d1;
  background: #edf2ff;
  font-weight: 800;
}

.temperament-brief-summary {
  color: var(--ink);
  font-weight: 700;
}

.temperament-brief-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.temperament-brief-grid > div {
  min-width: 0;
  border: 1px solid #dde7f7;
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.78);
}

.temperament-brief-grid span {
  display: block;
  margin-bottom: 5px;
  color: #2f4ee6;
  font-size: 13px;
  font-weight: 800;
}

.temperament-brief-grid p {
  color: var(--muted);
  font-size: 13px;
}

.temperament-brief-grid ul {
  margin: 0;
  padding-left: 1.2em;
  color: var(--muted);
  font-size: 13px;
}

.temperament-brief-grid li {
  margin: 0 0 4px;
  line-height: 1.55;
}

.temperament-report-hint {
  color: var(--muted);
  font-size: 13px;
}

.source-comparison-card {
  display: grid;
  gap: 7px;
  margin-top: 9px;
  padding: 10px;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  background: #fffaf3;
}

.source-comparison-card > strong {
  color: #9a3412;
  font-size: 13px;
}

.source-comparison-topic {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.source-statement {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px;
  border-radius: 7px;
  font-size: 13px;
}

.source-statement span {
  font-weight: 700;
}

.source-statement p {
  margin: 0;
  line-height: 1.55;
}

.source-statement.is-student {
  color: #075985;
  background: #e0f2fe;
}

.source-statement.is-parent {
  color: #9a3412;
  background: #ffedd5;
}

.source-statement.is-collateral {
  color: #6d28d9;
  background: #ede9fe;
}

.patient-merge-source-role {
  display: block;
  min-width: 0;
  margin: 0 0 14px;
  padding: 10px 12px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fbfa;
}

.patient-merge-source-role legend {
  padding: 0 6px;
  font-weight: 700;
}

.patient-merge-source-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.patient-merge-source-role label {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-width: 142px;
  margin: 0;
  padding: 9px 14px;
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  color: #24364b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  white-space: nowrap;
  word-break: keep-all;
  writing-mode: horizontal-tb;
  background: #ffffff;
  cursor: pointer;
}

.patient-merge-source-role label:has(input:checked) {
  border-color: #3b82f6;
  color: #1d4ed8;
  background: #eff6ff;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.12);
}

.patient-merge-source-role label > span {
  display: inline-block;
  white-space: nowrap;
  word-break: keep-all;
  writing-mode: horizontal-tb;
}

.patient-merge-source-role input[type="radio"] {
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  padding: 0;
  accent-color: #2563eb;
}

.patient-merge-parent-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.patient-merge-parent-fields label {
  display: grid;
  gap: 5px;
}

.patient-merge-parent-fields label > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.counseling-session-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbfa;
}

.counseling-session-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-2);
}

.visit-session-switch > span {
  white-space: nowrap;
}

.counseling-session-switch select {
  min-width: 220px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #fff;
}

.counseling-session-hint {
  font-size: 12px;
  color: var(--muted);
}

.visit-session-bar {
  margin-top: 8px;
}

.case-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.media-session-heading {
  margin: 10px 0 4px;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
  font-size: 13px;
  color: var(--muted);
}

.ai-fill-module-btn {
  background: #eef8f6;
  border-color: #9fd9d0;
  color: var(--teal);
  font-weight: 700;
}

.ai-fill-module-btn.is-loading,
#fillFormsBtn.is-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.92;
  animation: ai-fill-btn-pulse 1.2s ease-in-out infinite;
}

@keyframes ai-fill-btn-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.28);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(15, 118, 110, 0);
  }
}

.case-form-fill-progress {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #b8e4dc;
  border-radius: 12px;
  background: linear-gradient(180deg, #f3fbf9 0%, #eef8f6 100%);
}

.case-form-fill-progress.hidden {
  display: none;
}

.case-form-fill-progress-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.case-form-fill-progress-head strong {
  color: var(--teal);
  font-size: 14px;
}

.case-form-fill-pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--teal);
  flex: 0 0 auto;
  animation: case-form-fill-pulse 1s ease-in-out infinite;
}

@keyframes case-form-fill-pulse {
  0%,
  100% {
    transform: scale(0.85);
    opacity: 0.55;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

.progress-bar-animated span {
  transition: width 0.45s ease;
  background: linear-gradient(90deg, var(--teal), #38a169, var(--teal));
  background-size: 200% 100%;
  animation: progress-bar-shimmer 1.6s linear infinite;
}

@keyframes progress-bar-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

.case-form-fill-progress-pct {
  font-size: 12px;
  font-weight: 700;
  color: var(--teal);
}

.primary-soft {
  background: var(--teal-soft);
  border-color: #8fcfc7;
  color: var(--teal);
  font-weight: 700;
}

.tf-grade-class-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.tf-grade-class-row label {
  display: grid;
  gap: 4px;
}

.tf-grade-class-row span {
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}

.export-module-btn {
  background: #f4f8fb;
  border-color: #c5d3e0;
  color: #334155;
  font-weight: 600;
}

.panel-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.media-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.media-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  color: var(--muted);
  line-height: 1.45;
}

.media-item a {
  color: var(--teal);
  font-weight: 700;
  text-decoration: none;
}

.raw-audio-panel .media-item strong {
  color: var(--text);
}

.media-unlinked {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
}

.media-unlinked-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.media-unlinked-head h4 {
  margin: 0;
  font-size: 14px;
  color: var(--ink);
}

.media-unlinked-hint {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.media-attach-btn,
.media-download-btn,
.media-detach-btn,
.media-source-manage-btn,
.media-secondary-btn {
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
}

.media-actions .media-attach-btn,
.media-actions .media-download-btn,
.media-actions .media-detach-btn,
.media-actions .media-source-manage-btn,
.media-actions .media-secondary-btn {
  margin-top: 0;
  flex: 0 0 auto;
  white-space: nowrap;
}

.media-attach-btn:hover,
.media-download-btn:hover,
.media-detach-btn:hover,
.media-source-manage-btn:hover,
.media-secondary-btn:hover {
  border-color: var(--teal);
  color: var(--teal);
}

.media-download-btn {
  background: var(--teal-soft);
  color: var(--teal);
}

.media-secondary-btn {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

.media-secondary-btn:hover {
  border-color: #10b981;
  color: #065f46;
}

.media-detach-btn {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.media-detach-btn:hover {
  border-color: #f97316;
  color: #9a3412;
}

.media-source-manage-btn {
  border-color: #b9c8ff;
  background: linear-gradient(135deg, #eef3ff 0%, #f4efff 100%);
  color: #465bd4;
  font-weight: 800;
}

.media-source-manage-btn:hover {
  border-color: #6579e8;
  color: #3348bd;
  box-shadow: 0 5px 14px rgba(74, 93, 208, 0.14);
}

.media-source-modal {
  width: min(620px, 100%);
}

.media-source-eyebrow {
  margin: 0 0 3px;
  color: #6676dc;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.media-source-modal .modal-header h3 {
  margin: 0;
}

.media-source-file {
  margin: 2px 0 16px;
  padding: 11px 13px;
  border: 1px solid #dce4f3;
  border-radius: 10px;
  background: #f8faff;
  color: #4f5f7a;
  font-size: 13px;
}

.media-source-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.media-source-form label:first-child,
.media-source-form #mediaSourceNameRow {
  grid-column: 1 / -1;
}

.media-source-form label > span {
  display: block;
  margin-bottom: 7px;
  color: #53627b;
  font-size: 13px;
  font-weight: 800;
}

.media-source-form select,
.media-source-form input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid #ccd8e8;
  border-radius: 10px;
  background: #fff;
  color: #1f2b42;
}

.media-source-hint {
  margin: 15px 0 0;
  padding: 11px 13px;
  border-left: 4px solid #7182e6;
  border-radius: 8px;
  background: #f3f5ff;
  color: #596784;
  font-size: 13px;
  line-height: 1.65;
}

.media-source-actions #mediaSourceDetach {
  margin-right: auto;
}

@media (max-width: 640px) {
  .media-source-form {
    grid-template-columns: 1fr;
  }

  .media-source-form label:first-child,
  .media-source-form #mediaSourceNameRow {
    grid-column: auto;
  }
}

.review-hints {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.review-hints ul,
.approval-check-card ul,
.approval-focus ul {
  margin: 0;
  padding-left: 18px;
  color: var(--text);
  line-height: 1.65;
}

.approval-topline {
  display: grid;
  gap: 8px;
}

.approval-topline strong {
  font-size: 14px;
}

.approval-alert {
  border: 1px solid #d9dee6;
  border-radius: 8px;
  background: #fbfcfd;
  color: var(--muted);
  padding: 9px 10px;
  font-size: 13px;
  line-height: 1.5;
}

.approval-alert.strong {
  border-color: #fecdca;
  background: var(--red-soft);
  color: var(--red);
}

.approval-missing,
.approval-focus {
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  font-size: 13px;
}

.approval-missing b,
.approval-focus b {
  color: var(--text);
}

.approval-missing {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.approval-missing span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  background: #fef0c7;
  color: var(--amber);
  padding: 0 9px;
  font-weight: 700;
}

.approval-checklist {
  display: grid;
  gap: 9px;
}

.approval-check-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.approval-check-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.approval-check-card strong {
  font-size: 13px;
}

.approval-check-card span {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 800;
}

.approval-check-card li {
  font-size: 13px;
}

.review-meta {
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  padding-top: 10px;
}

.review-events {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.event-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.event-item strong,
.event-item span,
.event-item p {
  display: block;
}

.event-item strong {
  color: var(--teal);
  font-size: 13px;
}

.event-item span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.event-item p {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

.event-audit {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.event-audit span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-top: 0;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef7f5;
  color: #315c57;
  font-size: 11px;
  font-weight: 700;
}

.event-audit .risk-pill {
  color: inherit;
}

.system-data-panel .tab-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.system-data-panel .tab-btn {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 13px;
}

.system-data-panel .tab-btn.active {
  background: #e8f5f2;
  border-color: #7ab8ad;
  font-weight: 700;
}

.data-location-dl {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 12px;
  margin: 12px 0;
  font-size: 13px;
}

.data-location-dl code {
  word-break: break-all;
  font-size: 12px;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 12px;
}

.data-table th,
.data-table td {
  border-bottom: 1px solid var(--line);
  padding: 8px 6px;
  text-align: left;
  vertical-align: top;
}

.toolbar-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 8px 0 12px;
}

.warn-text {
  color: #b45309;
  font-weight: 600;
}

.audit-table .audit-time {
  white-space: nowrap;
  font-size: 12px;
  color: var(--muted);
}

.audit-table .audit-summary {
  font-size: 13px;
  line-height: 1.5;
  max-width: 360px;
}

.audit-raw {
  margin-top: 6px;
}

.audit-raw summary {
  cursor: pointer;
  font-size: 12px;
  color: var(--muted);
}

.audit-table pre {
  max-height: 160px;
  overflow: auto;
  font-size: 11px;
  background: #f6f8f7;
  padding: 8px;
  border-radius: 6px;
  margin: 4px 0 0;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.45);
}

.modal-card {
  width: min(520px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--surface);
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
  padding: 20px;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.modal-header h3 {
  margin: 0;
  font-size: 18px;
}

.modal-kicker {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
}

.modal-close {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--muted);
  padding: 0 4px;
}

.modal-hint {
  margin: 0 0 14px;
  font-size: 13px;
}

.modal-form {
  display: grid;
  gap: 14px;
}

.modal-fieldset {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px 14px;
  margin: 0;
}

.modal-fieldset legend {
  padding: 0 6px;
  font-size: 13px;
  font-weight: 700;
}

.modal-fieldset label {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  font-size: 13px;
}

.modal-fieldset label:first-of-type {
  margin-top: 4px;
}

.modal-radio-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
}

.modal-radio-row input {
  width: auto;
}

.create-patient-mode-row {
  margin: 4px 0 12px;
}

.create-doctor-assign {
  margin-top: 10px;
}

.create-doctor-assign-label {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}

.doctor-assign-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.doctor-assign-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.doctor-change-btn {
  flex-shrink: 0;
}

.doctor-pending-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #b45309;
  background: #fef3c7;
  border: 1px solid #fcd34d;
}

.summary-field-doctor .doctor-assign-row {
  min-height: 34px;
}

.summary-doctor-hint {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.45;
  max-width: 220px;
}

.doctor-picker-list {
  display: grid;
  gap: 6px;
  max-height: 320px;
  overflow: auto;
  margin-bottom: 12px;
}

.doctor-picker-reason {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.doctor-picker-reason label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}

.doctor-picker-reason textarea {
  width: 100%;
  min-height: 72px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  resize: vertical;
}

.delete-approval-card {
  width: min(640px, 100%);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.delete-approval-hint {
  color: var(--muted);
  line-height: 1.65;
  margin-bottom: 16px;
}

.delete-approval-field {
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.delete-approval-field b {
  color: #ef4444;
}

.delete-approval-field textarea {
  width: 100%;
  min-height: 128px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbff;
  color: var(--text);
  font: inherit;
  font-weight: 500;
  line-height: 1.6;
  resize: vertical;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.delete-approval-field textarea:focus {
  outline: none;
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.delete-approval-error {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  font-size: 13px;
}

.doctor-picker-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
}

.doctor-picker-item:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
}

.doctor-picker-item.is-disabled,
.doctor-picker-item:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #f8fafc;
  opacity: 0.68;
}

.doctor-picker-item.is-disabled:hover,
.doctor-picker-item:disabled:hover {
  border-color: var(--line);
  background: #f8fafc;
}

.doctor-picker-item.is-self {
  border-color: #0f766e;
  background: #ecfdf5;
}

.doctor-picker-item.is-selected {
  border-color: var(--accent);
  background: #eef2ff;
  box-shadow: inset 0 0 0 1px var(--accent);
}

.doctor-picker-item-meta {
  font-size: 12px;
  color: var(--muted);
}

.doctor-picker-create {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.doctor-picker-create label {
  display: grid;
  gap: 4px;
  font-size: 13px;
}

.doctor-picker-create input {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.doctor-assign-name.doctor-assign-missing {
  color: #b45309;
}

.create-consultation-form .tf-grade-class-row {
  margin-top: 4px;
}

.create-audio-or {
  margin: 4px 0 8px;
  font-size: 12px;
  text-align: center;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.patient-merge-modal {
  width: min(920px, 100%);
}

.patient-merge-section-label {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.patient-merge-compare-wrap {
  overflow-x: auto;
}

.patient-merge-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.patient-merge-compare-table th,
.patient-merge-compare-table td {
  border: 1px solid var(--line);
  padding: 8px 10px;
  vertical-align: top;
}

.patient-merge-compare-table th {
  background: #f8fafb;
  text-align: left;
  white-space: nowrap;
}

.patient-merge-compare-sub {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
}

.patient-merge-compare-option {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  cursor: pointer;
}

.patient-merge-compare-option input {
  margin-top: 3px;
}

.patient-merge-same-hint {
  margin: 0 0 8px;
}

.patient-merge-warning {
  margin: 0;
  color: #dc2626;
  font-size: 13px;
}

.patient-merge-course-picker {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
}

.patient-merge-course-picker span {
  color: var(--muted);
  font-size: 12px;
}

.patient-merge-course-picker strong {
  color: #1d4ed8;
}

.patient-merge-course-picker div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.patient-merge-course-plan-inputs label {
  display: grid;
  gap: 4px;
  margin: 0;
}

.patient-merge-course-plan-inputs input {
  width: 100%;
  min-width: 0;
}

.patient-merge-course-picker em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.patient-merge-compare-cell.is-same {
  background: #f9fbfb;
}

.patient-merge-body {
  display: grid;
  gap: 14px;
  margin-bottom: 4px;
}

.patient-merge-lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
}

.patient-merge-profile {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #99f6e4;
  border-radius: 10px;
  background: linear-gradient(135deg, #f0fdfa 0%, #ecfdf5 100%);
}

.patient-merge-profile strong {
  font-size: 17px;
  color: #0f766e;
}

.patient-merge-profile span {
  font-size: 13px;
  color: var(--muted);
}

.patient-merge-bullets {
  margin: 0;
  padding: 0 0 0 18px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

.patient-merge-bullets li + li {
  margin-top: 4px;
}

.patient-merge-list {
  display: grid;
  gap: 6px;
  max-height: 280px;
  overflow: auto;
}

.patient-merge-item {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  transition: border-color 0.15s, background 0.15s;
}

.patient-merge-item:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
}

.patient-merge-item.is-selected {
  border-color: #0f766e;
  background: #ecfdf5;
  box-shadow: 0 0 0 1px #0f766e;
}

.admin-page .patient-merge-item.is-selected,
.admin-page .patient-merge-item.is-selected:hover,
.admin-page .patient-merge-item.is-selected:focus-visible {
  border-color: #2563eb;
  color: #1e3a8a;
  background: #eff6ff;
  box-shadow:
    0 0 0 1px #2563eb,
    0 8px 18px rgba(37, 99, 235, 0.12);
}

.admin-page .patient-merge-item.is-selected .patient-merge-item-meta,
.admin-page .patient-merge-item.is-selected:hover .patient-merge-item-meta {
  color: #526b91;
}

.patient-merge-item-meta {
  font-size: 12px;
  color: var(--muted);
}

#patientMergeLinkBtn.btn-primary {
  background: #0f766e;
  color: #fff;
  border: none;
}

#patientMergeLinkBtn.btn-primary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.modal-fieldset .req {
  color: #c2410c;
  font-style: normal;
}

#createConsultationBtn.btn-primary {
  background: #0f766e;
  color: #fff;
  border: none;
}

.create-consultation-view {
  display: grid;
  gap: 14px;
  padding-right: 22px;
}

.create-consultation-panel {
  width: 100%;
  max-width: 1320px;
  box-sizing: border-box;
}

.create-consultation-hint {
  margin: 0 0 16px;
  font-size: 13px;
}

.create-consultation-form {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
  align-items: start;
  gap: 16px;
}

.create-consultation-form > .modal-fieldset:first-of-type {
  grid-column: 1 / -1;
  grid-row: 1;
}

.create-consultation-form > .modal-fieldset:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2;
}

.create-consultation-form > .modal-fieldset:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}

.create-consultation-form > .modal-fieldset:first-of-type {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 0 16px;
}

.create-consultation-form > .modal-fieldset:first-of-type > legend,
.create-consultation-form #createPatientExisting,
.create-consultation-form #createPatientNew {
  grid-column: 1 / -1;
}

.create-consultation-form .create-patient-mode-row {
  align-self: end;
  min-height: 48px;
  margin: 4px 0 0;
}

.create-consultation-form #createPatientNew {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 16px;
}

.create-consultation-form #createPatientGradeClass {
  grid-column: 3 / -1;
}

.create-consultation-form .modal-fieldset label input,
.create-consultation-form .modal-fieldset label select {
  width: 100%;
}

.create-consultation-form .modal-actions {
  grid-column: 1 / -1;
  position: sticky;
  bottom: 0;
  background: var(--surface);
  padding: 12px 0 4px;
  border-top: 1px solid var(--line);
  margin-top: 4px;
}

@media (max-width: 1180px) {
  .create-consultation-form {
    grid-template-columns: 1fr;
  }

  .create-consultation-form > .modal-fieldset:first-of-type,
  .create-consultation-form > .modal-fieldset:nth-of-type(2),
  .create-consultation-form > .modal-fieldset:nth-of-type(3) {
    grid-column: 1;
    grid-row: auto;
  }

  .create-consultation-form #createPatientNew {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .create-consultation-form #createPatientGradeClass {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .create-consultation-view {
    padding-right: 12px;
  }

  .create-consultation-form > .modal-fieldset:first-of-type,
  .create-consultation-form #createPatientNew {
    grid-template-columns: 1fr;
  }

  .create-consultation-form > .modal-fieldset:first-of-type > *,
  .create-consultation-form #createPatientNew > * {
    grid-column: 1;
  }
}

.report-files {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.file-entry {
  display: grid;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.file-entry.active {
  border-color: var(--teal);
  box-shadow: 0 0 0 2px var(--teal-soft);
}

.file-entry.file-stale {
  border-color: #f7c948;
  background: #fffaf0;
}

.file-entry.file-stale.active {
  box-shadow: 0 0 0 2px #fef0c7;
}

.file-entry-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.file-entry-head strong,
.file-entry-head span {
  display: block;
}

.file-entry-head strong {
  font-size: 14px;
}

.file-entry-head .file-select-btn {
  background: #f6fbfa;
  border-color: #99d6ce;
  color: var(--teal);
  font-weight: 800;
  white-space: nowrap;
}

.file-entry-head span,
.file-entry-meta {
  color: var(--muted);
  font-size: 12px;
}

.file-select-btn,
#exportAllBtn {
  min-height: 30px;
  padding: 0 9px;
  font-size: 12px;
}

#exportAllBtn {
  border-color: #99d6ce;
  background: var(--teal-soft);
  color: var(--teal);
  font-weight: 700;
}

.file-entry-meta,
.file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.source-link {
  border-radius: 999px;
  background: #eef7f5;
  color: var(--teal) !important;
  padding: 2px 8px;
  font-weight: 800;
}

.file-sync-warning {
  border: 1px solid #f7c948;
  border-radius: 8px;
  background: #fffbeb;
  color: var(--amber);
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.file-card {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
  row-gap: 2px;
  align-items: center;
  border: 1px solid #cfd6df;
  border-radius: 8px;
  background: #fbfcfd;
  color: var(--text);
  padding: 10px;
  text-decoration: none;
  min-width: 148px;
  flex: 1 1 168px;
}

.file-card:hover {
  border-color: var(--teal);
  background: #f6fbfa;
}

.file-card strong {
  grid-row: span 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 12px;
}

.file-card span {
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
}

.file-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.file-docx strong {
  background: #e8f1ff;
  color: #175cd3;
}

.file-pdf strong {
  background: var(--red-soft);
  color: var(--red);
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: min(420px, calc(100vw - 36px));
  border-radius: 8px;
  background: #18202a;
  color: #fff;
  padding: 12px 14px;
  box-shadow: var(--shadow);
}

@media (max-width: 960px) {
  .shell,
  .work-grid,
  .work-grid-counseling,
  .work-grid-report,
  .template-form-grid,
  .summary-strip {
    grid-template-columns: 1fr;
  }

  .case-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .case-metrics {
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
  }

  .report-chooser {
    grid-template-columns: 1fr;
  }

  .report-guide {
    align-items: flex-start;
    flex-direction: column;
  }

  .guide-actions {
    width: 100%;
  }

  .guide-actions button {
    flex: 1 1 140px;
  }

  .sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }
}

.ethics-banner {
  margin: 0;
  padding: 10px 16px;
  background: #f0f7ff;
  border-bottom: 1px solid #d6e8f7;
  color: #234;
  font-size: 0.85rem;
}

/* Modern fixed-scale UI layer */
:root {
  --app-width: 1652px;
  --app-height: 960px;
  --app-scale: 1;
  --app-viewport-height: var(--app-height);
  --bg: #f3f6fd;
  --surface: rgba(255, 255, 255, 0.94);
  --surface-strong: #ffffff;
  --surface-tint: rgba(248, 250, 255, 0.9);
  --line: rgba(91, 117, 154, 0.16);
  --line-strong: rgba(78, 110, 245, 0.3);
  --text: #182033;
  --ink: #182033;
  --muted: #77839a;
  --teal: #13bfe8;
  --teal-soft: #e8f8ff;
  --accent: #4f6df5;
  --violet: #7b3ff2;
  --amber: #ff8a4c;
  --red: #c13246;
  --red-soft: #ffe7eb;
  --green: #29c76f;
  --green-soft: #e7fbf0;
  --card-cyan: #18bff0;
  --card-blue: #3268ff;
  --card-violet: #7b3ff2;
  --card-magenta: #c23df4;
  --card-green: #28c96f;
  --card-orange: #ff8a3d;
  --card-yellow: #ffc342;
  --shadow: 0 18px 42px rgba(61, 78, 116, 0.1);
  --shadow-soft: 0 10px 24px rgba(61, 78, 116, 0.08);
  --radius: 8px;
  --radius-sm: 6px;
}

@supports (width: calc(100px / 2)) {
  :root {
    --app-scale: calc(100vw / var(--app-width));
    --app-viewport-height: calc(100vh / var(--app-scale));
  }
}

html,
body.admin-page,
body.login-page {
  width: 100%;
  height: 100%;
}

body.admin-page {
  --theme-a: #18bff0;
  --theme-b: #3268ff;
  --theme-c: #7b3ff2;
  --theme-text: #2949c7;
  --theme-rgb-a: 24, 191, 240;
  --theme-rgb-b: 50, 104, 255;
  --theme-rgb-c: 123, 63, 242;
  --theme-soft-a: rgba(24, 191, 240, 0.12);
  --theme-soft-b: rgba(50, 104, 255, 0.1);
  --theme-soft-c: rgba(123, 63, 242, 0.08);
  --theme-focus: rgba(50, 104, 255, 0.16);
  --theme-shadow: rgba(50, 104, 255, 0.18);
  display: block;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 12%, rgba(19, 191, 232, 0.14), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(123, 63, 242, 0.1), transparent 28%),
    linear-gradient(180deg, #f8faff 0%, #f2f5fc 54%, #eef3fb 100%);
}

body.admin-page[data-feature-theme="case"] {
  --theme-a: #3268ff;
  --theme-b: #7b3ff2;
  --theme-c: #18bff0;
  --theme-text: #3556d6;
  --theme-rgb-a: 50, 104, 255;
  --theme-rgb-b: 123, 63, 242;
  --theme-rgb-c: 24, 191, 240;
  --theme-soft-a: rgba(50, 104, 255, 0.12);
  --theme-soft-b: rgba(123, 63, 242, 0.09);
  --theme-soft-c: rgba(24, 191, 240, 0.07);
  --theme-focus: rgba(50, 104, 255, 0.16);
  --theme-shadow: rgba(50, 104, 255, 0.18);
}

body.admin-page[data-feature-theme="crisis"] {
  --theme-a: #ff4d57;
  --theme-b: #e71935;
  --theme-c: #991124;
  --theme-text: #c7122b;
  --theme-rgb-a: 255, 77, 87;
  --theme-rgb-b: 231, 25, 53;
  --theme-rgb-c: 153, 17, 36;
  --theme-soft-a: rgba(255, 77, 87, 0.16);
  --theme-soft-b: rgba(231, 25, 53, 0.13);
  --theme-soft-c: rgba(153, 17, 36, 0.1);
  --theme-focus: rgba(231, 25, 53, 0.2);
  --theme-shadow: rgba(231, 25, 53, 0.22);
}

body.admin-page[data-feature-theme="schedule"] {
  --theme-a: #28c96f;
  --theme-b: #18bff0;
  --theme-c: #3268ff;
  --theme-text: #118f78;
  --theme-rgb-a: 40, 201, 111;
  --theme-rgb-b: 24, 191, 240;
  --theme-rgb-c: 50, 104, 255;
  --theme-soft-a: rgba(40, 201, 111, 0.12);
  --theme-soft-b: rgba(24, 191, 240, 0.09);
  --theme-soft-c: rgba(50, 104, 255, 0.07);
  --theme-focus: rgba(24, 191, 240, 0.16);
  --theme-shadow: rgba(40, 201, 111, 0.16);
}

body.admin-page[data-feature-theme="org"] {
  --theme-a: #ff8a3d;
  --theme-b: #ffc342;
  --theme-c: #f05aa8;
  --theme-text: #c05d16;
  --theme-rgb-a: 255, 138, 61;
  --theme-rgb-b: 255, 195, 66;
  --theme-rgb-c: 240, 90, 168;
  --theme-soft-a: rgba(255, 138, 61, 0.12);
  --theme-soft-b: rgba(255, 195, 66, 0.1);
  --theme-soft-c: rgba(240, 90, 168, 0.06);
  --theme-focus: rgba(255, 138, 61, 0.17);
  --theme-shadow: rgba(255, 138, 61, 0.16);
}

body.admin-page[data-feature-theme="data"] {
  --theme-a: #13bfe8;
  --theme-b: #3268ff;
  --theme-c: #28c96f;
  --theme-text: #2370cf;
  --theme-rgb-a: 19, 191, 232;
  --theme-rgb-b: 50, 104, 255;
  --theme-rgb-c: 40, 201, 111;
  --theme-soft-a: rgba(19, 191, 232, 0.12);
  --theme-soft-b: rgba(50, 104, 255, 0.09);
  --theme-soft-c: rgba(40, 201, 111, 0.07);
  --theme-focus: rgba(50, 104, 255, 0.16);
  --theme-shadow: rgba(19, 191, 232, 0.16);
}

body.admin-page[data-feature-theme="teaching"] {
  --theme-a: #19c7a8;
  --theme-b: #3268ff;
  --theme-c: #8a5cf6;
  --theme-text: #148a89;
  --theme-rgb-a: 25, 199, 168;
  --theme-rgb-b: 50, 104, 255;
  --theme-rgb-c: 138, 92, 246;
  --theme-soft-a: rgba(25, 199, 168, 0.13);
  --theme-soft-b: rgba(50, 104, 255, 0.09);
  --theme-soft-c: rgba(138, 92, 246, 0.07);
  --theme-focus: rgba(25, 199, 168, 0.18);
  --theme-shadow: rgba(25, 199, 168, 0.17);
}

body.admin-page::before,
body.login-page::before,
body.admin-page::after,
body.login-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body.admin-page::before,
body.login-page::before {
  background:
    radial-gradient(circle, rgba(79, 109, 245, 0.08) 0 1px, transparent 1.6px) 0 0 / 28px 28px,
    linear-gradient(135deg, rgba(19, 191, 232, 0.09), transparent 36%, rgba(123, 63, 242, 0.06) 68%, rgba(255, 138, 76, 0.06));
  opacity: 0.8;
}

body.admin-page::after,
body.login-page::after {
  background:
    linear-gradient(118deg, transparent 0 18%, rgba(19, 191, 232, 0.1) 18.2% 18.8%, transparent 19% 61%, rgba(123, 63, 242, 0.07) 61.2% 61.9%, transparent 62.1%),
    linear-gradient(22deg, transparent 0 70%, rgba(255, 138, 76, 0.08) 70.2% 71%, transparent 71.2%);
  opacity: 0.62;
}

.admin-page * {
  scrollbar-width: thin;
  scrollbar-color: rgba(50, 104, 255, 0.34) transparent;
}

.admin-page *::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.admin-page *::-webkit-scrollbar-track {
  background: transparent;
}

.admin-page *::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(50, 104, 255, 0.34);
  background-clip: padding-box;
}

.admin-page .shell {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: 274px 1fr !important;
  width: var(--app-width);
  height: var(--app-viewport-height);
  min-height: 0;
  overflow: hidden;
  transform: scale(var(--app-scale));
  transform-origin: top left;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(180deg, #f8faff 0%, #f1f5fc 100%),
    linear-gradient(135deg, rgba(79, 109, 245, 0.06), rgba(19, 191, 232, 0.06));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.admin-page .sidebar {
  display: block;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  border-right: 1px solid rgba(93, 160, 178, 0.2) !important;
  border-bottom: 0 !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(19, 191, 232, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 255, 0.96) 58%, rgba(243, 247, 254, 0.96));
  color: #25324b;
  padding: 14px 10px 18px 0;
}

.admin-page .brand {
  min-height: 52px;
  margin-bottom: 10px;
  padding: 9px;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 30px rgba(61, 78, 116, 0.08);
}

.admin-page .brand-mark {
  width: 38px;
  height: 38px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #13bfe8, #4f6df5 58%, #7b3ff2);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(79, 109, 245, 0.24);
}

.admin-page .brand h1 {
  color: #182033;
  font-size: 15px;
  line-height: 1.25;
}

.admin-page .brand p,
.admin-page .sidebar .muted-text,
.admin-page .sidebar .section-title,
.admin-page .sidebar .filter-field span {
  color: #77839a;
}

.admin-page .identity-panel,
.admin-page .sidebar-todos {
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 10px 22px rgba(61, 78, 116, 0.05);
}

.admin-page .identity-panel {
  margin-bottom: 12px;
  padding: 12px;
}

.admin-page .feature-menu {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px;
  border: 1px solid rgba(91, 117, 154, 0.1);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.9);
}

.admin-page .feature-menu-section {
  display: grid;
  gap: 3px;
  padding: 7px 6px;
  border: 1px solid rgba(91, 117, 154, 0.08);
  border-radius: var(--radius-sm);
  background: #fbfcff;
}

.admin-page .feature-menu-title {
  display: flex;
  align-items: center;
  min-height: 18px;
  padding: 0 7px;
  color: #8893a8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}

.admin-page .feature-menu-title::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 6px;
  border-radius: 999px;
  background: #13bfe8;
  box-shadow: 0 0 9px rgba(19, 191, 232, 0.36);
}

.admin-page .feature-menu button {
  position: relative;
  justify-content: flex-start;
  min-height: 29px;
  padding: 0 25px 0 18px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: transparent;
  color: #4b5871;
  font-size: 13px;
  font-weight: 760;
  letter-spacing: 0;
  box-shadow: none;
}

.admin-page .feature-menu button::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #13bfe8, #4f6df5);
  box-shadow: 0 0 12px rgba(79, 109, 245, 0.32);
  opacity: 0;
  transition: opacity 0.16s ease;
}

.admin-page .feature-menu button::after {
  content: "";
  position: absolute;
  right: 12px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: transparent;
  transition: background 0.16s ease, box-shadow 0.16s ease;
}

.admin-page .feature-menu button:hover,
.admin-page .feature-menu button.active {
  color: #182033;
}

.admin-page .feature-menu button:hover {
  border-color: rgba(79, 109, 245, 0.14);
  background: #f6f8ff;
}

.admin-page .feature-menu button.active {
  border-color: rgba(79, 109, 245, 0.2);
  background:
    linear-gradient(90deg, rgba(19, 191, 232, 0.18), rgba(79, 109, 245, 0.14)),
    #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    0 10px 20px rgba(79, 109, 245, 0.12);
}

.admin-page .feature-menu button.active::before,
.admin-page .feature-menu button.active::after {
  opacity: 1;
}

.admin-page .feature-menu button.active::after {
  background: #13bfe8;
  box-shadow: 0 0 14px rgba(19, 191, 232, 0.56);
}

.admin-page .sidebar button {
  border-color: rgba(91, 117, 154, 0.14);
  background: rgba(255, 255, 255, 0.86);
  color: #3e4b63;
}

.admin-page .sidebar button:hover {
  border-color: rgba(79, 109, 245, 0.28);
  background: #ffffff;
  color: #182033;
}

.admin-page .sidebar .btn-primary,
.admin-page .sidebar #createConsultationBtn.btn-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #13bfe8, #4f6df5 58%, #7b3ff2);
  color: #ffffff;
}

.admin-page .sidebar-todos {
  max-height: none;
  margin-bottom: 12px;
  overflow: visible;
  padding: 10px;
}

.admin-page .todo-item {
  border-color: rgba(255, 138, 76, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(61, 78, 116, 0.06);
}

.admin-page .toolbar {
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(61, 78, 116, 0.06);
}

.admin-page #consultationListSection {
  display: block;
  min-height: 0;
  margin-bottom: 12px;
}

.admin-page .record-list-scroll {
  max-height: none;
  min-height: 0;
  overflow: visible;
  padding-right: 0;
}

.admin-page .record-pagination {
  position: sticky;
  z-index: 6;
  bottom: -14px;
  margin: 10px -2px -2px;
  padding: 10px 2px 14px;
  border-top: 1px solid rgba(91, 117, 154, 0.12);
  background: linear-gradient(180deg, rgba(250, 253, 255, 0.9), #f4f9ff 34%);
  backdrop-filter: blur(12px);
}

.admin-page .record-pagination button {
  padding: 9px 10px;
  border-color: rgba(var(--theme-rgb-b), 0.2);
  background: rgba(255, 255, 255, 0.92);
  color: var(--theme-b);
  font-weight: 800;
}

.admin-page .record-pagination button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.admin-page .record-item {
  min-height: 88px;
  border-color: rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(61, 78, 116, 0.08);
}

.admin-page .record-item.active {
  border-color: rgba(79, 109, 245, 0.42);
  background:
    linear-gradient(90deg, rgba(19, 191, 232, 0.1), rgba(79, 109, 245, 0.06)),
    #ffffff;
  box-shadow:
    0 0 0 2px rgba(79, 109, 245, 0.1),
    0 14px 28px rgba(79, 109, 245, 0.14);
}

.admin-page .workspace {
  height: 100%;
  min-width: 0;
  overflow: auto;
  padding: 20px 0 24px 22px;
  background:
    radial-gradient(circle at 76% 4%, rgba(123, 63, 242, 0.08), transparent 26%),
    linear-gradient(180deg, #f7f9ff 0%, #f1f5fc 100%);
}

.admin-page .ethics-banner {
  margin: -20px 0 18px -22px;
  border: 0;
  border-bottom: 1px solid rgba(91, 117, 154, 0.12);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 255, 0.92)),
    linear-gradient(90deg, rgba(19, 191, 232, 0.08), rgba(79, 109, 245, 0.08), rgba(255, 138, 76, 0.06));
  color: #46536b;
  box-shadow: 0 6px 18px rgba(61, 78, 116, 0.05);
}

.admin-page .topbar {
  min-height: 76px;
  align-items: center !important;
  flex-direction: row !important;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(61, 78, 116, 0.08);
  backdrop-filter: none;
}

.admin-page .topbar h2 {
  color: #182033;
  font-size: 24px;
  line-height: 1.2;
}

.admin-page .topbar-title-block {
  min-width: 0;
}

.admin-page .detail-title-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.admin-page .detail-title-name,
.admin-page .detail-title-dot {
  flex: 0 0 auto;
}

.admin-page .detail-title-select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.admin-page .detail-title-select {
  appearance: none;
  -webkit-appearance: none;
  max-width: min(280px, 100%);
  height: 40px;
  padding: 0 36px 0 12px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.16);
  border-radius: 10px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%23182033' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 13px center / 14px 9px no-repeat,
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), rgba(var(--theme-rgb-b), 0.08)),
    #fff;
  color: #182033;
  box-shadow: 0 10px 22px rgba(var(--theme-rgb-b), 0.08);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  line-height: 1.1;
}

.admin-page .detail-title-select:hover,
.admin-page .detail-title-select:focus-visible {
  border-color: rgba(var(--theme-rgb-b), 0.34);
  outline: 0;
  box-shadow:
    0 0 0 3px rgba(var(--theme-rgb-b), 0.12),
    0 12px 24px rgba(var(--theme-rgb-b), 0.12);
}

.detail-placeholder-view {
  min-height: 320px;
}

.detail-placeholder-panel {
  display: grid;
  min-height: 320px;
  padding: 22px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--theme-rgb-c), 0.08), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(var(--theme-rgb-a), 0.055)),
    #fff;
  box-shadow: 0 16px 34px rgba(44, 64, 104, 0.08);
}

.detail-placeholder-panel h3 {
  margin: 0;
  color: #182033;
  font-size: 22px;
}

.detail-placeholder-panel p {
  max-width: 760px;
  margin: 12px 0 0;
  color: #62718b;
  font-size: 15px;
  line-height: 1.8;
}

.detail-placeholder-actions {
  display: grid;
  grid-template-columns: minmax(260px, 420px);
  gap: 12px;
  margin-top: 20px;
}

.detail-placeholder-actions button {
  text-align: left;
}

.detail-placeholder-action-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.24);
  border-radius: 14px;
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--theme-rgb-c), 0.18), transparent 28%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.16), rgba(var(--theme-rgb-b), 0.1)),
    #fff;
  color: #172033;
  box-shadow: 0 14px 28px rgba(var(--theme-rgb-b), 0.1);
}

.detail-placeholder-action-card:hover,
.detail-placeholder-action-card:focus-visible {
  border-color: rgba(var(--theme-rgb-b), 0.42);
  outline: 0;
  transform: translateY(-1px);
  box-shadow:
    0 0 0 3px rgba(var(--theme-rgb-b), 0.1),
    0 18px 34px rgba(var(--theme-rgb-b), 0.16);
}

.detail-placeholder-action-card span {
  width: max-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-a), 0.16);
  color: var(--theme-text);
  font-size: 12px;
  font-weight: 900;
}

.detail-placeholder-action-card strong {
  color: #172033;
  font-size: 18px;
}

.detail-placeholder-action-card em {
  color: #63728b;
  font-style: normal;
  line-height: 1.55;
}

.admin-page .crumb {
  color: #4f6df5;
  font-weight: 700;
}

.admin-page .actions,
.admin-page .actions-topbar,
.admin-page .panel-head-actions,
.admin-page .guide-actions,
.admin-page .media-actions,
.admin-page .modal-actions {
  flex-wrap: nowrap;
}

.admin-page button,
.admin-page input,
.admin-page select,
.admin-page textarea {
  border-radius: var(--radius-sm);
}

.admin-page button {
  border-color: rgba(91, 117, 154, 0.16);
  background: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 6px 14px rgba(61, 78, 116, 0.05);
}

.admin-page button:hover {
  border-color: rgba(79, 109, 245, 0.34);
  background: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 8px 18px rgba(79, 109, 245, 0.1);
}

.admin-page .btn-primary,
.admin-page .primary,
.admin-page #createConsultationBtn.btn-primary,
.admin-page #patientMergeLinkBtn.btn-primary,
.admin-page .trigger-form button {
  border-color: transparent;
  background: linear-gradient(135deg, #13bfe8, #4f6df5 58%, #7b3ff2);
  color: #ffffff;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(79, 109, 245, 0.2);
}

.admin-page .btn-primary:hover,
.admin-page .btn-primary:focus-visible,
.admin-page .primary:hover,
.admin-page .primary:focus-visible,
.admin-page #createConsultationBtn.btn-primary:hover,
.admin-page #patientMergeLinkBtn.btn-primary:hover,
.admin-page .trigger-form button:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #20cef4, #4f6df5 58%, #6a31de);
  color: #ffffff;
  box-shadow:
    0 14px 28px rgba(79, 109, 245, 0.22),
    0 0 0 3px rgba(79, 109, 245, 0.12);
}

.admin-page .actions-topbar button,
.admin-page .save-module-btn,
.admin-page .ai-fill-module-btn,
.admin-page .primary-soft,
.admin-page #exportAllBtn {
  border-color: rgba(79, 109, 245, 0.2);
  background: linear-gradient(135deg, rgba(19, 191, 232, 0.11), rgba(79, 109, 245, 0.13));
  color: #3854c9;
}

.admin-page .actions-topbar #saveBtn {
  border-color: rgba(79, 109, 245, 0.2);
  background: linear-gradient(135deg, rgba(19, 191, 232, 0.11), rgba(79, 109, 245, 0.13));
  color: #3854c9;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.admin-page .actions-topbar #saveBtn:not(.needs-save):hover,
.admin-page .actions-topbar #saveBtn:not(.needs-save):focus-visible {
  border-color: rgba(79, 109, 245, 0.34);
  background: linear-gradient(135deg, rgba(19, 191, 232, 0.15), rgba(79, 109, 245, 0.18));
  color: #2949c7;
  box-shadow: 0 8px 18px rgba(79, 109, 245, 0.12);
}

.admin-page .actions-topbar #saveBtn.needs-save {
  border-color: rgba(220, 38, 38, 0.62);
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #ffffff;
  box-shadow:
    0 10px 20px rgba(220, 38, 38, 0.2),
    0 0 0 2px rgba(220, 38, 38, 0.18);
}

.admin-page .actions-topbar #saveBtn.needs-save:hover,
.admin-page .actions-topbar #saveBtn.needs-save:focus-visible {
  border-color: rgba(185, 28, 28, 0.72);
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #ffffff;
  box-shadow:
    0 12px 22px rgba(220, 38, 38, 0.22),
    0 0 0 3px rgba(220, 38, 38, 0.16);
}

.admin-page input,
.admin-page select,
.admin-page textarea {
  border-color: rgba(91, 117, 154, 0.16);
  background: #ffffff;
  color: var(--text);
  box-shadow: inset 0 1px 2px rgba(61, 78, 116, 0.03);
}

.admin-page textarea {
  line-height: 1.68;
}

.admin-page input:focus-visible,
.admin-page select:focus-visible,
.admin-page textarea:focus-visible,
.admin-page button:focus-visible {
  outline: 3px solid rgba(79, 109, 245, 0.16);
  border-color: #4f6df5;
}

.admin-page .feature-view,
.admin-page .detail,
.admin-page .case-module-panels,
.admin-page .case-module-pane {
  gap: 16px;
}

.admin-page .feature-panel,
.admin-page .panel,
.admin-page .summary-strip > .summary-field,
.admin-page .case-header,
.admin-page .case-module-nav,
.admin-page .report-chooser,
.admin-page .report-guide,
.admin-page .media-transcript-side,
.admin-page .approval-check-card,
.admin-page .event-item,
.admin-page .file-entry,
.admin-page .stat-card,
.admin-page .modal-card {
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(61, 78, 116, 0.08);
}

.admin-page .feature-panel,
.admin-page .panel {
  padding: 16px;
}

.admin-page .panel-head {
  min-height: 38px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(91, 117, 154, 0.1);
}

.admin-page .panel-head h3,
.admin-page .feature-panel h3 {
  color: #13283a;
}

.admin-page .case-header {
  align-items: center !important;
  flex-direction: row !important;
  padding: 16px;
  border-left: 4px solid #4f6df5;
  background:
    linear-gradient(90deg, rgba(79, 109, 245, 0.06), transparent 38%),
    #ffffff;
}

.admin-page .case-status,
.admin-page .risk-pill,
.admin-page .status-pill,
.admin-page #roleBadge,
.admin-page .readonly-badge,
.admin-page .guide-status,
.admin-page .approval-check-card span {
  min-height: 24px;
  border-radius: 999px;
  font-weight: 800;
}

.admin-page .case-metrics {
  width: auto !important;
  grid-template-columns: repeat(3, 82px) !important;
}

.admin-page .case-metrics div {
  border-left-color: rgba(91, 117, 154, 0.12);
}

.admin-page .summary-strip {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 10px;
  overflow: visible;
}

.admin-page .summary-strip > .summary-field {
  position: relative;
  min-width: 0;
  min-height: 74px;
  padding: 10px 12px;
  overflow: hidden;
}

.admin-page .summary-strip > .summary-field::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #13bfe8, #4f6df5);
}

.admin-page .summary-strip > .summary-field:nth-child(2)::before {
  background: linear-gradient(90deg, #7b3ff2, #b042f5);
}

.admin-page .summary-strip > .summary-field:nth-child(3)::before {
  background: linear-gradient(90deg, #29c76f, #25d0a7);
}

.admin-page .summary-strip > .summary-field:nth-child(4)::before {
  background: linear-gradient(90deg, #ff8a4c, #ffbd4a);
}

.admin-page .summary-strip > .summary-field:nth-child(5)::before {
  background: linear-gradient(90deg, #13bfe8, #7b3ff2);
}

.admin-page .summary-strip > .summary-field:nth-child(6)::before {
  background: linear-gradient(90deg, #4f6df5, #13bfe8);
}

.admin-page .summary-strip > .summary-field:nth-child(7)::before {
  background: linear-gradient(90deg, #29c76f, #4f6df5);
}

.admin-page .summary-strip > .summary-field:nth-child(8)::before {
  background: linear-gradient(90deg, #7b3ff2, #ff8a4c);
}

.admin-page .summary-field-actions {
  align-content: start;
  gap: 8px;
}

.admin-page #summarySaveBtn.summary-save-btn,
.admin-page #summarySaveBtn.summary-save-btn:hover,
.admin-page #summarySaveBtn.summary-save-btn:focus,
.admin-page #summarySaveBtn.summary-save-btn:focus-visible,
.admin-page #summarySaveBtn.summary-save-btn:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border-color: transparent;
  background:
    linear-gradient(135deg, #11a8a5, #3268ff) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  text-shadow: none;
  box-shadow: 0 10px 18px rgba(79, 109, 245, 0.18);
  opacity: 1;
}

.admin-page #summarySaveBtn.summary-save-btn:hover,
.admin-page #summarySaveBtn.summary-save-btn:focus,
.admin-page #summarySaveBtn.summary-save-btn:focus-visible {
  background:
    linear-gradient(135deg, #20cef4, #4f6df5 58%, #6a31de) !important;
  box-shadow:
    0 12px 22px rgba(79, 109, 245, 0.2),
    0 0 0 3px rgba(79, 109, 245, 0.14);
}

.admin-page #summaryMergePatientBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  color: #234155;
  font-size: 13px;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.92);
}

.admin-page #summaryMergePatientBtn:hover,
.admin-page #summaryMergePatientBtn:focus-visible {
  border-color: rgba(79, 109, 245, 0.24);
  color: #2949c7;
  background: #ffffff;
}

.admin-page .summary-field-label,
.admin-page .summary-strip .summary-field > span.summary-field-label,
.admin-page .field span,
.admin-page .panel-head span,
.admin-page .filter-field span,
.admin-page .tf-label,
.admin-page .tf-check-group legend {
  color: #627387;
  letter-spacing: 0;
}

.admin-page .summary-visitor-control-label {
  color: #627387;
  font-weight: 800;
  letter-spacing: 0;
}

.admin-page .summary-field-value,
.admin-page .summary-field input.summary-field-value,
.admin-page .summary-field select.summary-field-value,
.admin-page .summary-field strong.summary-field-value {
  color: #152334;
}

.admin-page .summary-grade-class-row {
  grid-template-columns: minmax(0, 1fr) 26px auto;
  gap: 7px;
}

.admin-page .summary-course-row {
  grid-template-columns: 28px auto 28px auto;
  gap: 6px;
}

.admin-page .summary-course-display {
  position: relative;
  z-index: 1;
  gap: 8px;
}

.admin-page .summary-course-line,
.admin-page .summary-course-line span {
  white-space: nowrap;
}

.admin-page .summary-course-line:first-child span {
  color: #152334;
  -webkit-text-fill-color: #152334;
  font-size: 16px;
  font-weight: 850;
}

.admin-page .summary-course-line + .summary-course-line,
.admin-page .summary-course-line + .summary-course-line span {
  color: #627387;
  -webkit-text-fill-color: #627387;
  font-weight: 780;
}

.admin-page .summary-unit-label {
  color: #152334;
  font-weight: 800;
}

.admin-page #summaryEnrollmentYear {
  min-width: 0;
  padding-right: 16px;
  background-position: right 0 center;
}

.admin-page #summaryClassNumber,
.admin-page .summary-course-number {
  min-width: 0;
  letter-spacing: 0;
}

.admin-page .summary-doctor-hint {
  max-width: none;
}

.admin-page .summary-save-hint {
  left: 12px;
  right: 12px;
}

.admin-page .case-module-nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 8px;
}

.admin-page .case-module-btn {
  border-radius: var(--radius-sm);
}

.admin-page .case-module-btn.active {
  border-color: transparent;
  background: linear-gradient(135deg, #13bfe8, #4f6df5 58%, #7b3ff2);
  color: #ffffff;
  box-shadow: 0 12px 22px rgba(79, 109, 245, 0.18);
}

.admin-page .template-doc-panel,
.admin-page .basics-panel,
.admin-page .intake-panel {
  border-left-width: 4px;
}

.admin-page .template-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px;
}

.admin-page .tf-field input,
.admin-page .tf-field textarea,
.admin-page .tf-field select,
.admin-page .basics-form input,
.admin-page .basics-form select {
  background: #ffffff;
}

.admin-page .tf-check-group {
  border-color: rgba(91, 117, 154, 0.12);
  background: #fbfcff;
}

.admin-page .tf-options {
  flex-wrap: wrap;
}

.admin-page .work-grid {
  grid-template-columns: 310px 520px 242px !important;
}

.admin-page .work-grid-counseling {
  grid-template-columns: 338px 748px !important;
}

.admin-page .work-grid-report {
  grid-template-columns: 724px 362px !important;
}

.admin-page .report-chooser {
  grid-template-columns: 230px 1fr 148px !important;
  border-color: rgba(79, 109, 245, 0.14);
  background:
    linear-gradient(135deg, rgba(19, 191, 232, 0.08), rgba(79, 109, 245, 0.08), rgba(255, 138, 76, 0.06)),
    #ffffff;
}

.admin-page .report-guide {
  align-items: center !important;
  flex-direction: row !important;
  border-left-color: #4f6df5;
}

.admin-page .media-transcript-workspace {
  grid-template-columns: 400px minmax(0, 1fr) !important;
}

.admin-page .media-list {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.admin-page .create-consultation-panel {
  width: 100%;
  max-width: 1320px;
}

.admin-page .modal-overlay {
  background: rgba(5, 13, 26, 0.62);
  backdrop-filter: blur(10px);
}

.admin-page .modal-card {
  max-height: 760px;
}

.admin-page .patient-merge-modal {
  width: 920px;
}

.admin-page .empty {
  min-height: 500px;
  border-color: rgba(79, 109, 245, 0.14);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 30% 18%, rgba(19, 191, 232, 0.08), transparent 32%),
    #ffffff;
  box-shadow: 0 14px 34px rgba(61, 78, 116, 0.08);
}

.admin-page .progress-bar {
  background: rgba(79, 109, 245, 0.1);
}

.admin-page .progress-bar span,
.admin-page .progress-bar-animated span {
  background: linear-gradient(90deg, #13bfe8, #4f6df5, #7b3ff2, #ff8a4c);
}

.admin-page .toast {
  border: 1px solid rgba(125, 229, 238, 0.18);
  border-radius: var(--radius);
  background: rgba(11, 25, 42, 0.94);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.25);
}

.admin-page .status-pending-basics,
.admin-page .case-status.status-pending-basics {
  background: #fff1e8;
  color: #d45b1f;
}

.admin-page .status-pending-analysis,
.admin-page .case-status.status-pending-analysis {
  background: #e9efff;
  color: #3854c9;
}

.admin-page .status-pending-check,
.admin-page .case-status.status-pending-check {
  background: #e8f8ff;
  color: #0c8db2;
}

.admin-page .status-under-review,
.admin-page .case-status.status-under-review {
  background: #f1eaff;
  color: #6935d8;
}

.admin-page .status-reviewed,
.admin-page .case-status.status-reviewed {
  background: #e7fbf0;
  color: #15824e;
}

.admin-page .status-restored,
.admin-page .case-status.status-restored {
  background: #e8f8ff;
  color: #0c8db2;
}

.admin-page .feature-menu {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(245, 249, 255, 0.92)),
    linear-gradient(135deg, rgba(24, 191, 240, 0.16), rgba(50, 104, 255, 0.12), rgba(255, 138, 61, 0.1));
}

.admin-page .feature-menu-section {
  position: relative;
  overflow: hidden;
  border-color: transparent;
  background:
    linear-gradient(135deg, rgba(24, 191, 240, 0.16), rgba(50, 104, 255, 0.09)),
    rgba(255, 255, 255, 0.76);
}

.admin-page .feature-menu-section:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(50, 104, 255, 0.15), rgba(123, 63, 242, 0.12)),
    rgba(255, 255, 255, 0.78);
}

.admin-page .feature-menu-section:nth-child(3) {
  background:
    linear-gradient(135deg, rgba(40, 201, 111, 0.15), rgba(24, 191, 240, 0.1)),
    rgba(255, 255, 255, 0.78);
}

.admin-page .feature-menu-section:nth-child(4) {
  background:
    linear-gradient(135deg, rgba(255, 138, 61, 0.17), rgba(255, 195, 66, 0.11)),
    rgba(255, 255, 255, 0.78);
}

.admin-page .feature-menu-title {
  color: #32435d;
}

.admin-page .feature-menu button {
  background: rgba(255, 255, 255, 0.64);
  color: #25324b;
}

.admin-page .feature-menu button:hover {
  background: rgba(255, 255, 255, 0.86);
}

.admin-page .feature-menu button.active {
  border-color: transparent;
  background: linear-gradient(135deg, #18bff0, #3268ff 60%, #7b3ff2);
  color: #ffffff;
  box-shadow:
    0 12px 24px rgba(50, 104, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.admin-page .feature-menu button.active::before {
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.52);
}

.admin-page .feature-menu button.active::after {
  background: #66f2ff;
  box-shadow: 0 0 16px rgba(102, 242, 255, 0.72);
}

.admin-page .sidebar {
  position: relative;
  padding-left: 10px;
  background:
    linear-gradient(90deg, rgba(24, 191, 240, 0.18), transparent 8%),
    radial-gradient(circle at 16% 8%, rgba(24, 191, 240, 0.26), transparent 26%),
    radial-gradient(circle at 86% 28%, rgba(123, 63, 242, 0.16), transparent 24%),
    radial-gradient(circle at 24% 76%, rgba(255, 138, 61, 0.16), transparent 28%),
    linear-gradient(180deg, #fafdff 0%, #edf7ff 42%, #f8f4ff 72%, #fff8ef 100%);
}

.admin-page .sidebar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #18bff0, #3268ff 36%, #7b3ff2 68%, #ff8a3d);
  box-shadow: 0 0 18px rgba(50, 104, 255, 0.28);
  pointer-events: none;
}

.admin-page .brand {
  border-color: rgba(255, 255, 255, 0.68);
  background:
    radial-gradient(circle at 88% 0%, rgba(255, 195, 66, 0.28), transparent 30%),
    linear-gradient(135deg, rgba(24, 191, 240, 0.22), rgba(50, 104, 255, 0.12) 48%, rgba(123, 63, 242, 0.12)),
    rgba(255, 255, 255, 0.84);
  box-shadow:
    0 16px 32px rgba(50, 104, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.admin-page .brand-mark {
  background:
    radial-gradient(circle at 24% 20%, rgba(255, 255, 255, 0.42), transparent 22%),
    linear-gradient(135deg, #18bff0, #3268ff 54%, #7b3ff2 100%);
}

.admin-page .identity-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(255, 255, 255, 0.68);
  background:
    radial-gradient(circle at 96% 0%, rgba(40, 201, 111, 0.22), transparent 32%),
    linear-gradient(135deg, rgba(24, 191, 240, 0.16), rgba(50, 104, 255, 0.08), rgba(40, 201, 111, 0.12)),
    rgba(255, 255, 255, 0.82);
}

.admin-page .identity-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #18bff0, #28c96f, #3268ff);
}

.admin-page .toolbar {
  border-color: rgba(255, 255, 255, 0.72);
  background:
    linear-gradient(135deg, rgba(24, 191, 240, 0.16), rgba(50, 104, 255, 0.12), rgba(123, 63, 242, 0.1)),
    rgba(255, 255, 255, 0.82);
}

.admin-page .feature-menu {
  border-color: rgba(255, 255, 255, 0.78);
  background:
    radial-gradient(circle at 90% 0%, rgba(255, 195, 66, 0.2), transparent 24%),
    linear-gradient(135deg, rgba(24, 191, 240, 0.22), rgba(50, 104, 255, 0.14) 45%, rgba(123, 63, 242, 0.15) 72%, rgba(255, 138, 61, 0.12)),
    rgba(255, 255, 255, 0.74);
  box-shadow:
    0 16px 32px rgba(50, 104, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.admin-page .feature-menu-section {
  padding-left: 10px;
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, 0.42), transparent 24%),
    linear-gradient(135deg, rgba(24, 191, 240, 0.24), rgba(50, 104, 255, 0.14)),
    rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 4px 0 0 #18bff0,
    0 8px 18px rgba(50, 104, 255, 0.06);
}

.admin-page .feature-menu-section:nth-child(2) {
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, 0.4), transparent 24%),
    linear-gradient(135deg, rgba(50, 104, 255, 0.24), rgba(123, 63, 242, 0.2)),
    rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 4px 0 0 #3268ff,
    0 8px 18px rgba(50, 104, 255, 0.08);
}

.admin-page .feature-menu-section:nth-child(3) {
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, 0.4), transparent 24%),
    linear-gradient(135deg, rgba(40, 201, 111, 0.25), rgba(24, 191, 240, 0.16)),
    rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 4px 0 0 #28c96f,
    0 8px 18px rgba(40, 201, 111, 0.08);
}

.admin-page .feature-menu-section:nth-child(4) {
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, 0.42), transparent 24%),
    linear-gradient(135deg, rgba(255, 138, 61, 0.26), rgba(255, 195, 66, 0.16)),
    rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 4px 0 0 #ff8a3d,
    0 8px 18px rgba(255, 138, 61, 0.08);
}

.admin-page .feature-menu button {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.72);
}

.admin-page .feature-menu button:hover {
  background: rgba(255, 255, 255, 0.94);
}

.admin-page .feature-menu button.active,
.admin-page .feature-menu button.active:hover,
.admin-page .feature-menu button.active:focus-visible {
  border-color: transparent;
  background: linear-gradient(135deg, #18bff0, #3268ff 60%, #7b3ff2);
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  box-shadow:
    0 12px 24px rgba(50, 104, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.admin-page .sidebar-todos {
  border-color: rgba(255, 255, 255, 0.72);
  background:
    radial-gradient(circle at 92% 4%, rgba(255, 255, 255, 0.42), transparent 24%),
    linear-gradient(135deg, rgba(255, 138, 61, 0.2), rgba(255, 195, 66, 0.12), rgba(123, 63, 242, 0.1)),
    rgba(255, 255, 255, 0.78);
}

.admin-page .todo-item {
  border-color: rgba(255, 255, 255, 0.72);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 248, 239, 0.78));
}

.admin-page .record-item.active {
  border-color: transparent;
  background:
    radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.28), transparent 26%),
    linear-gradient(135deg, #18bff0, #3268ff 60%, #7b3ff2);
  color: #ffffff;
  box-shadow:
    0 14px 28px rgba(50, 104, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.admin-page .record-item.active:hover,
.admin-page .record-item.active:focus-visible {
  border-color: transparent;
  background:
    radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.3), transparent 26%),
    linear-gradient(135deg, #18bff0, #3268ff 60%, #7b3ff2);
  color: #ffffff;
  box-shadow:
    0 16px 30px rgba(50, 104, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.admin-page .record-item.active .record-title,
.admin-page .record-item.active .record-meta,
.admin-page .record-item.active strong,
.admin-page .record-item.active span {
  color: #ffffff;
}

.admin-page .record-item.active .status-pill {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.92);
  color: #2949c7;
  -webkit-text-fill-color: #2949c7;
  box-shadow:
    0 8px 18px rgba(18, 31, 68, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.admin-page .record-item.active .status-pill.status-pending-basics {
  background: #fff3e6;
  color: #d45b1f;
  -webkit-text-fill-color: #d45b1f;
}

.admin-page .record-item.active .status-pill.status-pending-analysis {
  background: #edf2ff;
  color: #2949c7;
  -webkit-text-fill-color: #2949c7;
}

.admin-page .record-item.active .status-pill.status-pending-check {
  background: #e8f8ff;
  color: #0c8db2;
  -webkit-text-fill-color: #0c8db2;
}

.admin-page .record-item.active .status-pill.status-under-review {
  background: #f1eaff;
  color: #6935d8;
  -webkit-text-fill-color: #6935d8;
}

.admin-page .record-item.active .status-pill.status-reviewed {
  background: #e7fbf0;
  color: #15824e;
  -webkit-text-fill-color: #15824e;
}

.admin-page .case-module-btn.active:hover,
.admin-page .case-module-btn.active:focus-visible {
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(50, 104, 255, 0.2);
}

.admin-page .case-header {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-left: 5px solid #3268ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(123, 63, 242, 0.12), transparent 28%),
    linear-gradient(90deg, rgba(50, 104, 255, 0.09), rgba(24, 191, 240, 0.04) 42%, rgba(255, 255, 255, 0.96) 100%),
    #ffffff;
  color: #182033;
  box-shadow:
    0 14px 34px rgba(61, 78, 116, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.admin-page .case-header .case-main h3,
.admin-page .case-header .case-metrics strong {
  color: #182033;
}

.admin-page .case-header .case-main p,
.admin-page .case-header .case-metrics span {
  color: #627387;
}

.admin-page .case-header .case-metrics div {
  border-left-color: rgba(91, 117, 154, 0.14);
}

.admin-page .case-header .case-status {
  border: 1px solid rgba(50, 104, 255, 0.16);
  background: linear-gradient(135deg, rgba(24, 191, 240, 0.12), rgba(50, 104, 255, 0.12));
  color: #2949c7;
}

.admin-page .summary-strip > .summary-field {
  --summary-accent-a: #18bff0;
  --summary-accent-b: #3268ff;
  border: 1px solid rgba(91, 117, 154, 0.12);
  min-height: 96px;
  padding: 14px 14px 12px;
  color: #152334;
  background:
    linear-gradient(135deg, rgba(24, 191, 240, 0.08), rgba(50, 104, 255, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
  box-shadow:
    0 12px 26px rgba(61, 78, 116, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.admin-page .summary-strip > .summary-field::before {
  inset: 0 0 auto;
  width: auto;
  height: 5px;
  border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(90deg, var(--summary-accent-a), var(--summary-accent-b));
  transform: none;
}

.admin-page .summary-strip > .summary-field:nth-child(2) {
  --summary-accent-a: #7b3ff2;
  --summary-accent-b: #c23df4;
  background:
    linear-gradient(135deg, rgba(123, 63, 242, 0.085), rgba(194, 61, 244, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(3) {
  --summary-accent-a: #28c96f;
  --summary-accent-b: #18bff0;
  background:
    linear-gradient(135deg, rgba(40, 201, 111, 0.085), rgba(24, 191, 240, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(4) {
  --summary-accent-a: #ff8a3d;
  --summary-accent-b: #ffc342;
  background:
    linear-gradient(135deg, rgba(255, 138, 61, 0.09), rgba(255, 195, 66, 0.04) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(5) {
  --summary-accent-a: #3268ff;
  --summary-accent-b: #18bff0;
  background:
    linear-gradient(135deg, rgba(50, 104, 255, 0.085), rgba(24, 191, 240, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(6) {
  --summary-accent-a: #18bff0;
  --summary-accent-b: #28c96f;
  background:
    linear-gradient(135deg, rgba(24, 191, 240, 0.085), rgba(40, 201, 111, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(7) {
  --summary-accent-a: #7b3ff2;
  --summary-accent-b: #3268ff;
  background:
    linear-gradient(135deg, rgba(123, 63, 242, 0.085), rgba(50, 104, 255, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(8) {
  --summary-accent-a: #ff8a3d;
  --summary-accent-b: #7b3ff2;
  background:
    linear-gradient(135deg, rgba(255, 138, 61, 0.085), rgba(123, 63, 242, 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-field-label,
.admin-page .summary-strip .summary-field > span.summary-field-label {
  position: relative;
  z-index: 1;
  color: #627387;
  font-weight: 800;
}

.admin-page .summary-field-value,
.admin-page .summary-field input.summary-field-value,
.admin-page .summary-field select.summary-field-value,
.admin-page .summary-field strong.summary-field-value,
.admin-page .summary-unit-label,
.admin-page .summary-doctor-hint {
  position: relative;
  z-index: 1;
  color: #152334;
  -webkit-text-fill-color: #152334;
}

.admin-page .summary-field select.summary-field-value {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23627085' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
}

.admin-page .summary-field select.summary-field-value option {
  color: #182033;
}

.admin-page .summary-field input.summary-field-value::placeholder {
  color: #94a3b8;
}

.admin-page .summary-field input.summary-field-value:focus,
.admin-page .summary-field select.summary-field-value:focus {
  outline: 2px solid rgba(50, 104, 255, 0.26);
}

.admin-page #summarySaveBtn.summary-save-btn,
.admin-page #summarySaveBtn.summary-save-btn:hover,
.admin-page #summarySaveBtn.summary-save-btn:focus,
.admin-page #summarySaveBtn.summary-save-btn:focus-visible,
.admin-page #summarySaveBtn.summary-save-btn:active,
.admin-page #summaryMergePatientBtn,
.admin-page #summaryMergePatientBtn:hover,
.admin-page #summaryMergePatientBtn:focus-visible {
  position: relative;
  z-index: 1;
}

.admin-page #summarySaveBtn.summary-save-btn,
.admin-page #summarySaveBtn.summary-save-btn:hover,
.admin-page #summarySaveBtn.summary-save-btn:focus,
.admin-page #summarySaveBtn.summary-save-btn:focus-visible,
.admin-page #summarySaveBtn.summary-save-btn:active {
  border-color: transparent;
  background: linear-gradient(135deg, #18bff0, #3268ff) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  box-shadow: 0 10px 20px rgba(50, 104, 255, 0.18);
}

.admin-page #summaryMergePatientBtn,
.admin-page #summaryMergePatientBtn:hover,
.admin-page #summaryMergePatientBtn:focus-visible {
  border-color: rgba(91, 117, 154, 0.14);
  background: rgba(255, 255, 255, 0.92) !important;
  color: #2949c7 !important;
  -webkit-text-fill-color: #2949c7;
  box-shadow: 0 8px 16px rgba(61, 78, 116, 0.08);
}

.admin-page .case-module-nav {
  border: 0;
  background:
    linear-gradient(135deg, rgba(24, 191, 240, 0.14), rgba(50, 104, 255, 0.12), rgba(255, 138, 61, 0.1)),
    #ffffff;
}

.admin-page .case-module-btn {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.72);
  color: #25324b;
}

.admin-page .case-module-btn:nth-child(1).active {
  background: linear-gradient(135deg, #18bff0, #3268ff);
}

.admin-page .case-module-btn:nth-child(2).active {
  background: linear-gradient(135deg, #3268ff, #7b3ff2);
}

.admin-page .case-module-btn:nth-child(3).active {
  background: linear-gradient(135deg, #7b3ff2, #c23df4);
}

.admin-page .case-module-btn:nth-child(4).active {
  background: linear-gradient(135deg, #28c96f, #18bff0);
}

.admin-page .case-module-btn:nth-child(5).active {
  background: linear-gradient(135deg, #ff8a3d, #3268ff);
}

.admin-page .report-chooser {
  border: 0;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 195, 66, 0.36), transparent 24%),
    linear-gradient(135deg, #18bff0 0%, #3268ff 54%, #7b3ff2 100%);
  color: #ffffff;
  box-shadow:
    0 16px 34px rgba(50, 104, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.admin-page .report-chooser h3,
.admin-page .report-chooser p,
.admin-page .report-chooser label span {
  color: #ffffff;
}

.admin-page #reportSelect {
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(24, 32, 51, 0.12);
}

.admin-page .template-doc-panel,
.admin-page .basics-panel,
.admin-page .intake-panel {
  position: relative;
  overflow: hidden;
}

.admin-page .template-doc-panel::before,
.admin-page .basics-panel::before,
.admin-page .intake-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #18bff0, #3268ff, #7b3ff2);
}

.admin-page .doc-appointment.template-doc-panel::before {
  background: linear-gradient(90deg, #18bff0, #3268ff);
}

.admin-page .doc-cover.template-doc-panel::before {
  background: linear-gradient(90deg, #3268ff, #7b3ff2);
}

.admin-page .doc-counseling.template-doc-panel::before {
  background: linear-gradient(90deg, #28c96f, #18bff0);
}

.admin-page .doc-summary.template-doc-panel::before {
  background: linear-gradient(90deg, #ff8a3d, #ffc342);
}

.admin-page .doc-attachments.template-doc-panel::before {
  background: linear-gradient(90deg, #7b3ff2, #ff8a3d);
}

body.admin-page::before {
  background:
    radial-gradient(circle, rgba(var(--theme-rgb-b), 0.065) 0 1px, transparent 1.6px) 0 0 / 28px 28px,
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), transparent 36%, rgba(var(--theme-rgb-b), 0.055) 68%, rgba(var(--theme-rgb-c), 0.045));
}

body.admin-page::after {
  background:
    linear-gradient(118deg, transparent 0 18%, rgba(var(--theme-rgb-a), 0.1) 18.2% 18.8%, transparent 19% 61%, rgba(var(--theme-rgb-b), 0.065) 61.2% 61.9%, transparent 62.1%),
    linear-gradient(22deg, transparent 0 70%, rgba(var(--theme-rgb-c), 0.07) 70.2% 71%, transparent 71.2%);
}

.admin-page .shell {
  background:
    radial-gradient(circle at 82% 0%, rgba(var(--theme-rgb-b), 0.07), transparent 24%),
    linear-gradient(180deg, #f9fbff 0%, #f1f6fc 100%);
}

.admin-page .workspace {
  background:
    radial-gradient(circle at 74% 3%, rgba(var(--theme-rgb-b), 0.075), transparent 26%),
    radial-gradient(circle at 34% 94%, rgba(var(--theme-rgb-a), 0.055), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #f1f6fb 100%);
}

.admin-page .ethics-banner {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.94)),
    linear-gradient(90deg, rgba(var(--theme-rgb-a), 0.08), rgba(var(--theme-rgb-b), 0.07), rgba(var(--theme-rgb-c), 0.05));
}

.admin-page .feature-menu-section {
  --section-a: #18bff0;
  --section-b: #3268ff;
  --section-c: #7b3ff2;
  --section-rgb-a: 24, 191, 240;
  --section-rgb-b: 50, 104, 255;
  --section-rgb-c: 123, 63, 242;
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, 0.42), transparent 24%),
    linear-gradient(135deg, rgba(var(--section-rgb-a), 0.2), rgba(var(--section-rgb-b), 0.12), rgba(var(--section-rgb-c), 0.06)),
    rgba(255, 255, 255, 0.76);
  box-shadow:
    inset 4px 0 0 var(--section-a),
    0 8px 18px rgba(var(--section-rgb-b), 0.06);
}

.admin-page .feature-menu-section[data-feature-theme="case"] {
  --section-a: #3268ff;
  --section-b: #7b3ff2;
  --section-c: #18bff0;
  --section-rgb-a: 50, 104, 255;
  --section-rgb-b: 123, 63, 242;
  --section-rgb-c: 24, 191, 240;
}

.admin-page .feature-menu-section[data-feature-theme="crisis"] {
  --section-a: #ff4d57;
  --section-b: #e71935;
  --section-c: #991124;
  --section-rgb-a: 255, 77, 87;
  --section-rgb-b: 231, 25, 53;
  --section-rgb-c: 153, 17, 36;
  border-color: rgba(231, 25, 53, 0.22);
  background:
    radial-gradient(circle at 94% 8%, rgba(255, 255, 255, 0.5), transparent 24%),
    linear-gradient(135deg, rgba(255, 77, 87, 0.22), rgba(231, 25, 53, 0.14), rgba(153, 17, 36, 0.08)),
    rgba(255, 255, 255, 0.82);
  box-shadow:
    inset 4px 0 0 #ff1f38,
    0 10px 22px rgba(231, 25, 53, 0.12);
}

.admin-page .feature-menu-section[data-feature-theme="teaching"] {
  --section-a: #19c7a8;
  --section-b: #3268ff;
  --section-c: #8a5cf6;
  --section-rgb-a: 25, 199, 168;
  --section-rgb-b: 50, 104, 255;
  --section-rgb-c: 138, 92, 246;
}

.admin-page .feature-menu-section[data-feature-theme="schedule"] {
  --section-a: #28c96f;
  --section-b: #18bff0;
  --section-c: #3268ff;
  --section-rgb-a: 40, 201, 111;
  --section-rgb-b: 24, 191, 240;
  --section-rgb-c: 50, 104, 255;
}

.admin-page .feature-menu-section[data-feature-theme="org"] {
  --section-a: #ff8a3d;
  --section-b: #ffc342;
  --section-c: #f05aa8;
  --section-rgb-a: 255, 138, 61;
  --section-rgb-b: 255, 195, 66;
  --section-rgb-c: 240, 90, 168;
}

.admin-page .feature-menu-section[data-feature-theme="data"] {
  --section-a: #13bfe8;
  --section-b: #3268ff;
  --section-c: #28c96f;
  --section-rgb-a: 19, 191, 232;
  --section-rgb-b: 50, 104, 255;
  --section-rgb-c: 40, 201, 111;
}

.admin-page .feature-menu-section[data-feature-theme] button.active,
.admin-page .feature-menu-section[data-feature-theme] button.active:hover,
.admin-page .feature-menu-section[data-feature-theme] button.active:focus-visible {
  background: linear-gradient(135deg, var(--section-a), var(--section-b) 58%, var(--section-c));
  box-shadow:
    0 12px 24px rgba(var(--section-rgb-b), 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.admin-page .feature-menu-section-solo {
  padding: 10px;
}

.admin-page .feature-menu-section-solo button {
  min-height: 44px;
  font-weight: 1000;
}

.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button {
  border-color: rgba(231, 25, 53, 0.34);
  color: #fff;
  background: linear-gradient(135deg, #ff4d57, #e71935 58%, #991124);
  box-shadow:
    0 12px 24px rgba(231, 25, 53, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.admin-page .feature-menu-title::before {
  background: var(--section-a);
  box-shadow: 0 0 9px rgba(var(--section-rgb-a), 0.42);
}

.admin-page .feature-menu button::before {
  background: linear-gradient(180deg, var(--section-a), var(--section-b));
  box-shadow: 0 0 12px rgba(var(--section-rgb-b), 0.3);
}

.admin-page .feature-menu button:hover {
  border-color: rgba(var(--section-rgb-b), 0.18);
  background: rgba(255, 255, 255, 0.94);
  color: #182033;
}

.admin-page .feature-menu button.active,
.admin-page .feature-menu button.active:hover,
.admin-page .feature-menu button.active:focus-visible {
  background: linear-gradient(135deg, var(--section-a), var(--section-b) 64%, var(--section-c));
  box-shadow:
    0 12px 24px rgba(var(--section-rgb-b), 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.admin-page .feature-menu button.active::after {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.72);
}

.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button,
.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button:hover,
.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button:focus-visible,
.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button.active,
.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button.active:hover,
.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button.active:focus-visible {
  border-color: rgba(231, 25, 53, 0.38);
  color: #fff;
  background: linear-gradient(135deg, #ff4d57, #e71935 58%, #991124);
  box-shadow:
    0 12px 24px rgba(231, 25, 53, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button.active {
  animation: crisis-menu-active-pulse 1.8s ease-in-out infinite;
}

@keyframes crisis-menu-active-pulse {
  0%,
  100% {
    box-shadow:
      0 12px 24px rgba(231, 25, 53, 0.2),
      0 0 0 0 rgba(231, 25, 53, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
  50% {
    box-shadow:
      0 16px 30px rgba(231, 25, 53, 0.3),
      0 0 0 4px rgba(231, 25, 53, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-page .feature-menu-section-solo[data-feature-theme="crisis"] button.active {
    animation: none;
  }
}

.admin-page .topbar {
  border-color: rgba(var(--theme-rgb-b), 0.13);
  background:
    radial-gradient(circle at 94% 0%, rgba(var(--theme-rgb-c), 0.08), transparent 28%),
    linear-gradient(90deg, rgba(var(--theme-rgb-a), 0.045), rgba(255, 255, 255, 0.96) 42%, rgba(255, 255, 255, 0.98)),
    #ffffff;
}

.admin-page .crumb,
.admin-page .panel-head-actions button:hover,
.admin-page #summaryMergePatientBtn,
.admin-page #summaryMergePatientBtn:hover,
.admin-page #summaryMergePatientBtn:focus-visible {
  color: var(--theme-text) !important;
  -webkit-text-fill-color: var(--theme-text);
}

.admin-page button:hover {
  border-color: rgba(var(--theme-rgb-b), 0.3);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 8px 18px rgba(var(--theme-rgb-b), 0.09);
}

.admin-page input:focus-visible,
.admin-page select:focus-visible,
.admin-page textarea:focus-visible,
.admin-page button:focus-visible {
  outline-color: var(--theme-focus);
  border-color: var(--theme-b);
}

.admin-page .btn-primary,
.admin-page .primary,
.admin-page #createConsultationBtn.btn-primary,
.admin-page #patientMergeLinkBtn.btn-primary,
.admin-page .trigger-form button,
.admin-page .sidebar .btn-primary,
.admin-page .sidebar #createConsultationBtn.btn-primary {
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b) 62%, var(--theme-c));
  box-shadow: 0 12px 24px var(--theme-shadow);
}

.admin-page .btn-primary:hover,
.admin-page .btn-primary:focus-visible,
.admin-page .primary:hover,
.admin-page .primary:focus-visible,
.admin-page #createConsultationBtn.btn-primary:hover,
.admin-page #patientMergeLinkBtn.btn-primary:hover,
.admin-page .trigger-form button:hover {
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b) 58%, var(--theme-c));
  box-shadow:
    0 14px 28px var(--theme-shadow),
    0 0 0 3px var(--theme-focus);
}

.admin-page .actions-topbar button,
.admin-page .save-module-btn,
.admin-page .ai-fill-module-btn,
.admin-page .primary-soft,
.admin-page #exportAllBtn,
.admin-page .actions-topbar #saveBtn {
  border-color: rgba(var(--theme-rgb-b), 0.2);
  background: linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.11), rgba(var(--theme-rgb-b), 0.13));
  color: var(--theme-text);
}

.admin-page .actions-topbar #saveBtn:not(.needs-save):hover,
.admin-page .actions-topbar #saveBtn:not(.needs-save):focus-visible {
  border-color: rgba(var(--theme-rgb-b), 0.34);
  background: linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.15), rgba(var(--theme-rgb-b), 0.18));
  color: var(--theme-text);
  box-shadow: 0 8px 18px rgba(var(--theme-rgb-b), 0.12);
}

.admin-page .feature-panel,
.admin-page .stat-card {
  position: relative;
  overflow: hidden;
}

.admin-page .feature-panel::before,
.admin-page .stat-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--theme-a), var(--theme-b), var(--theme-c));
}

.admin-page .panel-head,
.admin-page .feature-panel > *,
.admin-page .stat-card > * {
  position: relative;
  z-index: 1;
}

.admin-page .case-header {
  border-left-color: var(--theme-b);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--theme-rgb-c), 0.1), transparent 28%),
    linear-gradient(90deg, rgba(var(--theme-rgb-a), 0.09), rgba(var(--theme-rgb-b), 0.04) 42%, rgba(255, 255, 255, 0.96) 100%),
    #ffffff;
}

.admin-page .case-header .case-status {
  border-color: rgba(var(--theme-rgb-b), 0.16);
  background: linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.12), rgba(var(--theme-rgb-b), 0.12));
  color: var(--theme-text);
}

.admin-page .record-item.active,
.admin-page .record-item.active:hover,
.admin-page .record-item.active:focus-visible {
  background:
    radial-gradient(circle at 88% 0%, rgba(255, 255, 255, 0.28), transparent 26%),
    linear-gradient(135deg, var(--theme-a), var(--theme-b) 62%, var(--theme-c));
  box-shadow:
    0 14px 28px var(--theme-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.admin-page .record-item.active .status-pill {
  color: var(--theme-text);
  -webkit-text-fill-color: var(--theme-text);
}

.admin-page .summary-strip > .summary-field,
.admin-page .summary-strip > .summary-field:nth-child(2),
.admin-page .summary-strip > .summary-field:nth-child(3),
.admin-page .summary-strip > .summary-field:nth-child(4),
.admin-page .summary-strip > .summary-field:nth-child(5),
.admin-page .summary-strip > .summary-field:nth-child(6),
.admin-page .summary-strip > .summary-field:nth-child(7),
.admin-page .summary-strip > .summary-field:nth-child(8) {
  --summary-accent-a: var(--theme-a);
  --summary-accent-b: var(--theme-b);
  background:
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.07), rgba(var(--theme-rgb-b), 0.035) 54%, rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-page .summary-strip > .summary-field:nth-child(2),
.admin-page .summary-strip > .summary-field:nth-child(6) {
  --summary-accent-a: var(--theme-b);
  --summary-accent-b: var(--theme-c);
}

.admin-page .summary-strip > .summary-field:nth-child(3),
.admin-page .summary-strip > .summary-field:nth-child(7) {
  --summary-accent-a: var(--theme-a);
  --summary-accent-b: var(--theme-c);
}

.admin-page .summary-strip > .summary-field:nth-child(4),
.admin-page .summary-strip > .summary-field:nth-child(8) {
  --summary-accent-a: var(--theme-b);
  --summary-accent-b: var(--theme-a);
}

.admin-page .summary-strip > .summary-field::before,
.admin-page .summary-strip > .summary-field:nth-child(2)::before,
.admin-page .summary-strip > .summary-field:nth-child(3)::before,
.admin-page .summary-strip > .summary-field:nth-child(4)::before,
.admin-page .summary-strip > .summary-field:nth-child(5)::before,
.admin-page .summary-strip > .summary-field:nth-child(6)::before,
.admin-page .summary-strip > .summary-field:nth-child(7)::before,
.admin-page .summary-strip > .summary-field:nth-child(8)::before {
  background: linear-gradient(90deg, var(--summary-accent-a), var(--summary-accent-b)) !important;
}

.admin-page .summary-field input.summary-field-value:focus,
.admin-page .summary-field select.summary-field-value:focus {
  outline-color: var(--theme-focus);
}

.admin-page #summarySaveBtn.summary-save-btn,
.admin-page #summarySaveBtn.summary-save-btn:hover,
.admin-page #summarySaveBtn.summary-save-btn:focus,
.admin-page #summarySaveBtn.summary-save-btn:focus-visible,
.admin-page #summarySaveBtn.summary-save-btn:active {
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b)) !important;
  box-shadow: 0 10px 20px var(--theme-shadow);
}

.admin-page #summaryMergePatientBtn,
.admin-page #summaryMergePatientBtn:hover,
.admin-page #summaryMergePatientBtn:focus-visible {
  border-color: rgba(var(--theme-rgb-b), 0.16);
}

.admin-page .case-module-nav {
  background:
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.12), rgba(var(--theme-rgb-b), 0.1), rgba(var(--theme-rgb-c), 0.06)),
    #ffffff;
}

.admin-page .case-module-btn.active,
.admin-page .case-module-btn:nth-child(1).active,
.admin-page .case-module-btn:nth-child(2).active,
.admin-page .case-module-btn:nth-child(3).active,
.admin-page .case-module-btn:nth-child(4).active,
.admin-page .case-module-btn:nth-child(5).active,
.admin-page .case-module-btn.active:hover,
.admin-page .case-module-btn.active:focus-visible {
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b) 62%, var(--theme-c));
  box-shadow: 0 12px 22px var(--theme-shadow);
}

.admin-page .report-chooser {
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--theme-rgb-c), 0.12), transparent 28%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.09), rgba(var(--theme-rgb-b), 0.06), rgba(255, 255, 255, 0.96)),
    #ffffff;
  color: #182033;
  box-shadow:
    0 14px 32px rgba(61, 78, 116, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.admin-page .report-chooser h3 {
  color: #13283a;
}

.admin-page .report-chooser p,
.admin-page .report-chooser label span {
  color: #627387;
}

.admin-page #reportSelect {
  border-color: rgba(var(--theme-rgb-b), 0.16);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(61, 78, 116, 0.08);
}

.admin-page .report-guide {
  border-left-color: var(--theme-b);
}

.admin-page .template-doc-panel::before,
.admin-page .basics-panel::before,
.admin-page .intake-panel::before,
.admin-page .doc-appointment.template-doc-panel::before,
.admin-page .doc-cover.template-doc-panel::before,
.admin-page .doc-counseling.template-doc-panel::before,
.admin-page .doc-summary.template-doc-panel::before,
.admin-page .doc-attachments.template-doc-panel::before {
  background: linear-gradient(90deg, var(--theme-a), var(--theme-b), var(--theme-c));
}

.admin-page .progress-bar {
  background: rgba(var(--theme-rgb-b), 0.1);
}

.admin-page .progress-bar span,
.admin-page .progress-bar-animated span {
  background: linear-gradient(90deg, var(--theme-a), var(--theme-b), var(--theme-c));
}

body.admin-page[data-active-feature="home"] .workspace {
  background:
    radial-gradient(circle at 88% 4%, rgba(122, 105, 245, 0.11), transparent 25%),
    radial-gradient(circle at 28% 100%, rgba(47, 196, 179, 0.07), transparent 30%),
    linear-gradient(180deg, #f8faff 0%, #f3f6fc 100%);
}

.admin-page .internal-home-page {
  display: grid;
  gap: 18px;
  padding: 0 22px 28px 0;
  color: #16243a;
}

.admin-page .internal-home-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 94px;
  padding: 2px 8px 2px 12px;
}

.admin-page .internal-home-eyebrow {
  margin: 0 0 7px !important;
  color: #5870b7 !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.admin-page .internal-home-welcome h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #13243b;
  font-size: 27px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.admin-page .internal-home-welcome > div:first-child > p:last-child {
  margin: 8px 0 0;
  color: #718099;
  font-size: 14px;
}

.admin-page .internal-home-wave {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff1ad, #ffd166);
  color: #bd7813;
  font-size: 16px;
  box-shadow: 0 8px 18px rgba(231, 173, 55, 0.2);
  transform: rotate(-8deg);
}

.admin-page .internal-home-date {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid rgba(87, 106, 154, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(54, 72, 116, 0.06);
}

.admin-page .internal-home-date span {
  display: inline-grid;
  min-width: 42px;
  min-height: 26px;
  place-items: center;
  border-radius: 999px;
  background: #eef1ff;
  color: #5968d8;
  font-size: 12px;
  font-weight: 900;
}

.admin-page .internal-home-date strong {
  color: #526178;
  font-size: 14px;
  white-space: nowrap;
}

.admin-page .internal-home-password-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 13px 16px;
  border: 1px solid rgba(225, 165, 57, 0.26);
  border-radius: 14px;
  background: linear-gradient(110deg, rgba(255, 249, 229, 0.98), rgba(255, 253, 243, 0.92));
  color: #6f4a16;
  text-align: left;
  box-shadow: 0 10px 26px rgba(154, 112, 31, 0.07);
}

.admin-page .internal-home-password-notice:hover,
.admin-page .internal-home-password-notice:focus-visible {
  border-color: rgba(220, 148, 29, 0.5);
  box-shadow: 0 13px 30px rgba(154, 112, 31, 0.12);
  transform: translateY(-1px);
}

.admin-page .internal-home-password-notice > span {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: #ffdf8a;
  color: #80510c;
  font-weight: 950;
}

.admin-page .internal-home-password-notice div {
  display: grid;
  gap: 3px;
}

.admin-page .internal-home-password-notice strong {
  font-size: 14px;
}

.admin-page .internal-home-password-notice small {
  color: #98723d;
  font-size: 12px;
}

.admin-page .internal-home-password-notice b {
  color: #a86b12;
  font-size: 13px;
  white-space: nowrap;
}

.admin-page .internal-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  align-items: start;
}

.admin-page .internal-home-main,
.admin-page .internal-home-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-page .internal-home-hero {
  position: relative;
  min-height: 374px;
  overflow: hidden;
  border: 1px solid rgba(102, 111, 198, 0.12);
  border-radius: 18px;
  background: #eef0ff;
  box-shadow:
    0 20px 48px rgba(74, 79, 151, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.admin-page .internal-home-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 54%;
  pointer-events: none;
  user-select: none;
}

.admin-page .internal-home-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(248, 249, 255, 0.98) 0%, rgba(248, 249, 255, 0.92) 35%, rgba(247, 247, 255, 0.34) 57%, rgba(240, 240, 255, 0.03) 76%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(109, 93, 188, 0.05));
}

.admin-page .internal-home-hero-copy {
  position: relative;
  z-index: 1;
  width: 54%;
  padding: 43px 0 34px 42px;
}

.admin-page .internal-home-hero-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 10px;
  border: 1px solid rgba(94, 104, 220, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #6b68cf;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: 0.13em;
}

.admin-page .internal-home-hero-copy h3 {
  margin: 17px 0 10px;
  color: #17253d;
  font-size: 34px;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.admin-page .internal-home-hero-copy > p {
  max-width: 455px;
  margin: 0;
  color: #66758f;
  font-size: 14px;
  line-height: 1.75;
}

.admin-page .internal-home-trust-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 28px;
}

.admin-page .internal-home-trust-list > span {
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-items: center;
}

.admin-page .internal-home-trust-list i {
  display: grid;
  grid-row: 1 / 3;
  width: 33px;
  height: 33px;
  place-items: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  color: #5673e8;
  font-style: normal;
  font-size: 15px;
  font-weight: 1000;
  box-shadow: 0 9px 20px rgba(83, 91, 168, 0.09);
}

.admin-page .internal-home-trust-list > span:nth-child(2) i {
  color: #8060dc;
}

.admin-page .internal-home-trust-list > span:nth-child(3) i {
  color: #36a98b;
}

.admin-page .internal-home-trust-list strong {
  color: #344158;
  font-size: 12px;
  line-height: 1.25;
}

.admin-page .internal-home-trust-list small {
  color: #8a96a9;
  font-size: 10px;
  line-height: 1.3;
  white-space: nowrap;
}

.admin-page .internal-home-steps,
.admin-page .internal-home-quick,
.admin-page .internal-home-side-card {
  border: 1px solid rgba(88, 107, 151, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 16px 38px rgba(50, 67, 106, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.admin-page .internal-home-steps,
.admin-page .internal-home-quick {
  padding: 20px 22px 22px;
}

.admin-page .internal-home-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
}

.admin-page .internal-home-section-head > div > span {
  display: block;
  margin-bottom: 4px;
  color: #8794a9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.admin-page .internal-home-section-head h3 {
  margin: 0;
  color: #1c2a40;
  font-size: 19px;
}

.admin-page .internal-home-text-action {
  min-height: 30px;
  padding: 0 9px;
  border: 0;
  background: transparent;
  color: #5c6ad9;
  font-size: 12px;
  font-weight: 900;
  box-shadow: none;
}

.admin-page .internal-home-text-action:hover,
.admin-page .internal-home-text-action:focus-visible {
  border: 0;
  background: #f0f2ff;
  color: #4858cc;
  box-shadow: none;
}

.admin-page .internal-home-text-action b {
  margin-left: 5px;
}

.admin-page .internal-home-step-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.admin-page .internal-home-step-grid article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 104px;
  padding: 15px;
  border: 1px solid rgba(96, 113, 159, 0.1);
  border-radius: 13px;
  background:
    radial-gradient(circle at 96% 0%, rgba(120, 111, 235, 0.06), transparent 32%),
    #fbfcff;
}

.admin-page .internal-home-step-number {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  font-size: 16px;
  font-weight: 1000;
  box-shadow: 0 9px 18px rgba(65, 89, 180, 0.18);
}

.admin-page .step-blue {
  background: linear-gradient(135deg, #62a7f8, #4d6ee9);
}

.admin-page .step-violet {
  background: linear-gradient(135deg, #9a7bf0, #7858d5);
}

.admin-page .step-green {
  background: linear-gradient(135deg, #55cda8, #36aa86);
}

.admin-page .internal-home-step-grid h4 {
  margin: 2px 0 7px;
  color: #243248;
  font-size: 14px;
}

.admin-page .internal-home-step-grid p {
  margin: 0;
  color: #7b879b;
  font-size: 11px;
  line-height: 1.55;
}

.admin-page .internal-home-step-arrow {
  color: #c0c9e6;
  font-style: normal;
  font-size: 32px;
  text-align: center;
}

.admin-page .internal-home-quick-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 11px;
}

.admin-page .internal-home-quick-card {
  position: relative;
  display: grid;
  justify-items: center;
  min-width: 0;
  min-height: 126px;
  padding: 14px 9px 12px;
  border: 1px solid rgba(89, 108, 151, 0.1);
  border-radius: 13px;
  background: #fff;
  color: #334057;
  text-align: center;
  box-shadow: 0 10px 24px rgba(58, 75, 114, 0.055);
}

.admin-page .internal-home-quick-card:hover,
.admin-page .internal-home-quick-card:focus-visible {
  border-color: rgba(95, 103, 217, 0.2);
  background: #fcfcff;
  color: #29374e;
  box-shadow: 0 16px 28px rgba(66, 76, 149, 0.12);
  transform: translateY(-2px);
}

.admin-page .internal-home-quick-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #e4f1ff, #eef0ff);
  color: #4f76df;
  box-shadow: 0 9px 20px rgba(80, 112, 215, 0.12);
}

.admin-page .quick-todo .internal-home-quick-icon {
  background: linear-gradient(135deg, #eee8ff, #f5efff);
  color: #805ed4;
}

.admin-page .quick-calendar .internal-home-quick-icon {
  background: linear-gradient(135deg, #e1faf3, #eefcf7);
  color: #20ae84;
}

.admin-page .quick-folder .internal-home-quick-icon {
  background: linear-gradient(135deg, #fff0dc, #fff8eb);
  color: #ec8c25;
}

.admin-page .quick-interview .internal-home-quick-icon {
  background: linear-gradient(135deg, #e6efff, #eff4ff);
  color: #477bd9;
}

.admin-page .quick-chart .internal-home-quick-icon {
  background: linear-gradient(135deg, #eee7ff, #f7efff);
  color: #8b59d2;
}

.admin-page .internal-home-quick-icon svg {
  width: 23px;
  height: 23px;
}

.admin-page .internal-home-quick-card strong {
  margin-top: 9px;
  color: inherit;
  font-size: 12px;
  line-height: 1.25;
}

.admin-page .internal-home-quick-card small {
  max-width: 100%;
  margin-top: 4px;
  overflow: hidden;
  color: #8a95a7;
  font-size: 9px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .internal-home-quick-card > i {
  position: absolute;
  right: 9px;
  top: 9px;
  color: #c3cad8;
  font-style: normal;
  font-size: 12px;
}

.admin-page .internal-home-side-card {
  padding: 20px;
}

.admin-page .internal-home-side-title {
  display: flex;
  align-items: center;
  gap: 11px;
}

.admin-page .internal-home-side-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #e5edff, #efebff);
  color: #6672df;
  font-size: 17px;
  font-weight: 1000;
}

.admin-page .internal-home-side-title small {
  display: block;
  margin-bottom: 2px;
  color: #9aa5b6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.admin-page .internal-home-side-title h3 {
  margin: 0;
  color: #253249;
  font-size: 17px;
}

.admin-page .internal-home-overview-list {
  display: grid;
  gap: 7px;
  margin: 17px 0;
}

.admin-page .internal-home-overview-list button {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  min-height: 63px;
  padding: 9px 10px;
  border: 1px solid transparent;
  background: #f9faff;
  text-align: left;
  box-shadow: none;
}

.admin-page .internal-home-overview-list button:hover,
.admin-page .internal-home-overview-list button:focus-visible {
  border-color: rgba(94, 104, 216, 0.14);
  background: #f5f6ff;
  box-shadow: none;
  transform: translateX(2px);
}

.admin-page .overview-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
}

.admin-page .dot-blue {
  background: #6993ef;
  box-shadow: 0 0 0 4px rgba(105, 147, 239, 0.11);
}

.admin-page .dot-violet {
  background: #8d72dd;
  box-shadow: 0 0 0 4px rgba(141, 114, 221, 0.11);
}

.admin-page .dot-green {
  background: #40ba94;
  box-shadow: 0 0 0 4px rgba(64, 186, 148, 0.11);
}

.admin-page .internal-home-overview-list div {
  display: grid;
  gap: 3px;
}

.admin-page .internal-home-overview-list strong {
  color: #344157;
  font-size: 12px;
}

.admin-page .internal-home-overview-list small {
  color: #8b96a7;
  font-size: 10px;
}

.admin-page .internal-home-overview-list b {
  display: grid;
  min-width: 35px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #5966d0;
  font-size: 16px;
  box-shadow: 0 7px 16px rgba(72, 83, 143, 0.08);
}

.admin-page .internal-home-primary-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #6677e9, #806bd9);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(104, 102, 215, 0.2);
}

.admin-page .internal-home-primary-action:hover,
.admin-page .internal-home-primary-action:focus-visible {
  border: 0;
  background: linear-gradient(135deg, #596be1, #735bcf);
  color: #fff;
  box-shadow: 0 15px 27px rgba(104, 102, 215, 0.25);
}

.admin-page .internal-home-reminder {
  background:
    radial-gradient(circle at 96% 0%, rgba(111, 97, 219, 0.1), transparent 35%),
    rgba(255, 255, 255, 0.94);
}

.admin-page .internal-home-reminder .internal-home-side-icon {
  background: linear-gradient(135deg, #e6faf3, #eaf7ff);
  color: #2daa87;
}

.admin-page .internal-home-reminder > p {
  margin: 17px 0 13px;
  color: #68768c;
  font-size: 12px;
  line-height: 1.65;
}

.admin-page .internal-home-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf0f6;
}

.admin-page .internal-home-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #59c8a5, #6b83e9);
  box-shadow: 0 4px 10px rgba(89, 143, 206, 0.2);
}

.admin-page .internal-home-reminder > small {
  display: block;
  margin-top: 9px;
  color: #9aa4b5;
  font-size: 9px;
}

.admin-page .internal-home-care {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  gap: 13px;
  background:
    radial-gradient(circle at 8% 0%, rgba(159, 124, 224, 0.11), transparent 34%),
    linear-gradient(135deg, rgba(249, 247, 255, 0.98), rgba(255, 255, 255, 0.96));
}

.admin-page .internal-home-care-mark {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #eee5ff, #f6efff);
  color: #8b66cd;
  font-size: 21px;
  font-weight: 1000;
}

.admin-page .internal-home-care small {
  color: #9a88bd;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.admin-page .internal-home-care h3 {
  margin: 5px 0 7px;
  color: #3f3b55;
  font-size: 14px;
  line-height: 1.45;
}

.admin-page .internal-home-care p {
  margin: 0;
  color: #7e7891;
  font-size: 10px;
  line-height: 1.65;
}

.admin-page .home-dashboard {
  min-height: 560px;
}

.admin-page .home-dashboard-head {
  margin-bottom: 14px;
}

.admin-page .home-stats-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 18px;
}

.admin-page .home-todo-workspace {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.admin-page .home-todo-categories {
  display: grid;
  gap: 10px;
}

.admin-page .home-todo-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.055), rgba(255, 255, 255, 0.96)),
    #ffffff;
  color: #24324a;
  text-align: left;
  box-shadow: 0 10px 22px rgba(61, 78, 116, 0.06);
}

.admin-page .home-todo-category span {
  font-weight: 800;
  line-height: 1.35;
}

.admin-page .home-todo-category strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 30px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.09);
  color: var(--theme-text);
  font-size: 16px;
}

.admin-page .home-todo-category.active,
.admin-page .home-todo-category.active:hover,
.admin-page .home-todo-category.active:focus-visible {
  border-color: transparent;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.28), transparent 24%),
    linear-gradient(135deg, var(--theme-a), var(--theme-b) 62%, var(--theme-c));
  color: #ffffff;
  box-shadow: 0 14px 28px var(--theme-shadow);
}

.admin-page .home-todo-category.active strong {
  background: rgba(255, 255, 255, 0.9);
  color: var(--theme-text);
}

.admin-page .home-todo-results {
  min-height: 330px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.12);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--theme-rgb-c), 0.09), transparent 26%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.055), rgba(255, 255, 255, 0.98)),
    #ffffff;
  box-shadow: 0 14px 34px rgba(61, 78, 116, 0.08);
  overflow: hidden;
}

.admin-page .home-todo-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(91, 117, 154, 0.1);
}

.admin-page .home-todo-results-head h4 {
  margin: 0;
  color: #13283a;
  font-size: 17px;
}

.admin-page .home-todo-results-head p {
  margin: 5px 0 0;
  color: #627387;
  font-size: 13px;
}

.admin-page .home-todo-results-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.09);
  color: var(--theme-text);
  font-weight: 800;
  white-space: nowrap;
}

.admin-page .home-todo-records {
  display: grid;
  gap: 10px;
  max-height: 540px;
  overflow: auto;
  padding: 14px;
}

.admin-page .home-todo-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 12px 14px;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 8px 18px rgba(61, 78, 116, 0.05);
}

.admin-page .home-todo-record-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.admin-page .home-todo-record-title strong {
  color: #152334;
  font-size: 15px;
}

.admin-page .home-todo-record-main p {
  margin: 6px 0 0;
  color: #627387;
  font-size: 13px;
  line-height: 1.45;
}

.admin-page .home-todo-record-action {
  min-width: 92px;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #ffffff;
  font-weight: 800;
  white-space: nowrap;
}

.admin-page .home-todo-record-action:hover,
.admin-page .home-todo-record-action:focus-visible {
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b) 58%, var(--theme-c));
  color: #ffffff;
  box-shadow: 0 12px 22px var(--theme-shadow);
}

.admin-page .home-todo-empty {
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 28px;
  color: #627387;
  text-align: center;
}

.admin-page .home-todo-error {
  gap: 8px;
  color: #b42318;
}

@keyframes todoMissingFlash {
  0%,
  100% {
    border-color: rgba(var(--theme-rgb-b), 0.14);
    box-shadow: 0 0 0 rgba(var(--theme-rgb-b), 0);
  }
  25%,
  75% {
    border-color: var(--theme-b);
    box-shadow:
      0 0 0 3px rgba(var(--theme-rgb-b), 0.18),
      0 12px 26px var(--theme-shadow);
  }
}

.admin-page .todo-missing-flash {
  animation: todoMissingFlash 0.9s ease-in-out 2;
}

body.login-page {
  display: grid;
  place-items: center;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 12%, rgba(19, 191, 232, 0.14), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(123, 63, 242, 0.1), transparent 28%),
    linear-gradient(180deg, #f8faff 0%, #f2f5fc 54%, #eef3fb 100%);
}

.login-page .login-card {
  position: relative;
  z-index: 1;
  width: 420px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow:
    0 24px 58px rgba(61, 78, 116, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.login-page .login-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #13bfe8, #4f6df5, #7b3ff2, #ff8a4c);
}

.login-page .login-card h1 {
  margin: 0 0 8px;
  color: #182033;
  font-size: 24px;
  line-height: 1.25;
}

.login-page .login-card p {
  margin: 0 0 22px;
  color: #77839a;
  font-size: 14px;
}

.login-page .login-card label {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
}

.login-page .login-card span {
  color: #5b6680;
  font-size: 13px;
  font-weight: 700;
}

.login-page .login-card input {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(91, 117, 154, 0.16);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: #182033;
  padding: 0 12px;
  box-shadow: inset 0 1px 2px rgba(61, 78, 116, 0.03);
}

.login-page .login-card input:focus-visible {
  outline: 3px solid rgba(79, 109, 245, 0.16);
  border-color: #4f6df5;
}

.login-page .login-card button {
  width: 100%;
  min-height: 44px;
  margin-top: 6px;
  border: 0;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #13bfe8, #4f6df5 58%, #7b3ff2);
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(79, 109, 245, 0.2);
}

.login-page .login-card button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.login-page .login-error {
  min-height: 1.4em;
  margin-top: 10px;
  color: #c13246;
  font-size: 13px;
}

.login-page .ethics-hint {
  margin-top: 18px;
  padding: 11px 12px;
  border: 1px solid rgba(91, 117, 154, 0.12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(19, 191, 232, 0.08), rgba(79, 109, 245, 0.08)),
    #fbfcff;
  color: #4b5871;
  font-size: 12px;
  line-height: 1.55;
}

body.admin-page[data-active-feature="case_index"] .case-index-panel,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-panel {
  overflow: visible;
}

body.admin-page[data-active-feature="case_index"] .case-index-panel > .case-index-filters,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-panel > .case-index-filters {
  position: relative;
  z-index: 60;
}

body.admin-page[data-active-feature="case_index"] .case-index-panel > .case-index-table-wrap,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-panel > .case-index-table-wrap {
  position: relative;
  z-index: 1;
}

body.admin-page[data-active-feature="case_index"] .case-filter-combo:focus-within,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo:focus-within {
  z-index: 120;
}

body.admin-page[data-active-feature="case_index"] .case-filter-options,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-options {
  z-index: 200;
}

body.admin-page[data-active-feature="case_index"] .case-filter-option,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: #1d2a3d;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  transform: none;
}

body.admin-page[data-active-feature="case_index"] .case-filter-option:hover,
body.admin-page[data-active-feature="case_index"] .case-filter-option:focus-visible,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-option:hover,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-option:focus-visible {
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #fff;
  box-shadow: none;
  outline: 0;
  transform: none;
}

body.admin-page[data-active-feature="case_index"] .case-index-filters .filter-field select,
body.admin-page[data-active-feature="case_index"] .case-filter-combo-control,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-filters .filter-field select,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control {
  height: 44px;
  min-height: 44px;
  border: 1px solid rgba(91, 117, 154, 0.16);
  border-radius: 8px;
  background-color: #fff;
  box-shadow:
    inset 0 1px 2px rgba(61, 78, 116, 0.03),
    0 10px 22px rgba(61, 78, 116, 0.045);
}

body.admin-page[data-active-feature="case_index"] .case-index-filters .filter-field select,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-filters .filter-field select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0 46px 0 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%2325364c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 14px 9px;
  color: #162033;
  font-size: 15px;
  font-weight: 800;
  line-height: 44px;
}

body.admin-page[data-active-feature="case_index"] .case-filter-combo-control,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control {
  grid-template-columns: minmax(0, 1fr) 46px;
  padding: 0;
}

body.admin-page[data-active-feature="case_index"] .case-filter-combo-control input,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control input {
  height: 100%;
  min-height: 42px;
  padding: 0 0 0 18px;
  color: #162033;
  font-size: 15px;
  font-weight: 800;
  line-height: 44px;
}

body.admin-page[data-active-feature="case_index"] .case-filter-combo-control input::placeholder,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control input::placeholder {
  color: #162033;
  opacity: 1;
}

body.admin-page[data-active-feature="case_index"] .case-filter-combo-control input[readonly],
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control input[readonly] {
  cursor: pointer;
  caret-color: transparent;
}

body.admin-page[data-active-feature="case_index"] .case-filter-toggle,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  min-width: 46px;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: transparent;
  font-size: 0;
  line-height: 1;
}

body.admin-page[data-active-feature="case_index"] .case-filter-toggle::before,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-toggle::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 14px;
  height: 9px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%2325364c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 14px 9px;
  transform: translateY(2px);
}

body.admin-page[data-active-feature="case_index"] .case-index-filters .filter-field select:hover,
body.admin-page[data-active-feature="case_index"] .case-filter-combo-control:hover,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-filters .filter-field select:hover,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control:hover {
  border-color: rgba(var(--theme-rgb-b), 0.26);
}

body.admin-page[data-active-feature="case_index"] .case-index-filters .filter-field select:focus-visible,
body.admin-page[data-active-feature="case_index"] .case-filter-combo-control:focus-within,
body.admin-page[data-active-feature="crisis_intervention"] .case-index-filters .filter-field select:focus-visible,
body.admin-page[data-active-feature="crisis_intervention"] .case-filter-combo-control:focus-within {
  border-color: var(--theme-b);
  box-shadow:
    0 0 0 3px rgba(var(--theme-rgb-b), 0.14),
    0 10px 24px rgba(var(--theme-rgb-b), 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.admin-page .crisis-panel {
  border-color: rgba(239, 52, 64, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.9)),
    radial-gradient(circle at 6% 0%, rgba(255, 207, 36, 0.16), transparent 28%),
    radial-gradient(circle at 95% 4%, rgba(239, 52, 64, 0.11), transparent 24%);
}

.admin-page .crisis-feature-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.admin-page .crisis-feature-head h3 {
  margin: 0 0 6px;
}

.admin-page .crisis-feature-head .muted-text {
  margin: 0;
}

.admin-page .crisis-safety-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: #9a3412;
  background: linear-gradient(135deg, rgba(255, 207, 36, 0.28), rgba(255, 107, 26, 0.16));
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.admin-page .crisis-index-table-wrap .schedule-table th:last-child,
.admin-page .crisis-index-table-wrap .schedule-table td:last-child {
  width: 220px;
}

.admin-page .crisis-action-cell {
  display: grid;
  gap: 8px;
  min-width: 196px;
}

.admin-page .crisis-hold-btn {
  position: relative;
  display: grid;
  min-height: 46px;
  place-items: center;
  overflow: hidden;
  border: 2px solid #171717;
  border-radius: 8px;
  color: #111827;
  background:
    repeating-linear-gradient(
      -45deg,
      #ffce1f 0 12px,
      #ffce1f 12px 22px,
      #151515 22px 34px,
      #151515 34px 44px
    );
  box-shadow: 0 10px 22px rgba(239, 52, 64, 0.18);
  cursor: pointer;
  transform: translateZ(0);
}

.admin-page .crisis-hold-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(239, 52, 64, 0.22);
}

.admin-page .crisis-hold-progress {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: rgba(220, 38, 38, 0.88);
  transition: none;
}

.admin-page .crisis-hold-btn.is-holding .crisis-hold-progress {
  width: 100%;
  transition: width var(--hold-duration, 1300ms) linear;
}

.admin-page .crisis-hold-label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  font-size: 16px;
  font-weight: 1000;
  letter-spacing: 0;
}

.admin-page .crisis-modal-overlay,
.admin-page .crisis-alert-overlay {
  background: rgba(8, 12, 24, 0.62);
  backdrop-filter: blur(4px);
}

.admin-page .crisis-contact-modal {
  width: min(880px, calc(100vw - 44px));
  max-height: min(86vh, 760px);
  overflow: auto;
  border-top: 5px solid #ef3440;
}

.admin-page .crisis-case-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.admin-page .crisis-case-summary span,
.admin-page .crisis-alert-case span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(239, 52, 64, 0.12);
  border-radius: 8px;
  background: rgba(255, 247, 214, 0.52);
  color: #35425d;
  font-size: 12px;
  font-weight: 800;
}

.admin-page .crisis-warning-line {
  display: grid;
  gap: 4px;
  margin: 12px 0 16px;
  padding: 12px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(239, 52, 64, 0.1), rgba(255, 207, 36, 0.14)),
    #fff;
  color: #7f1d1d;
}

.admin-page .crisis-warning-line span {
  color: #6b7280;
  font-size: 12px;
}

.admin-page .crisis-contact-list {
  display: grid;
  gap: 14px;
}

.admin-page .crisis-contact-group {
  display: grid;
  gap: 8px;
}

.admin-page .crisis-contact-group h4 {
  margin: 0;
  color: #1f2937;
}

.admin-page .crisis-contact-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(91, 117, 154, 0.14);
  border-radius: 8px;
  background: #fff;
}

.admin-page .crisis-contact-card strong {
  display: block;
  margin-bottom: 4px;
  color: #172033;
}

.admin-page .crisis-contact-card p {
  margin: 0 0 4px;
  color: #53627a;
  font-size: 13px;
}

.admin-page .crisis-contact-card span {
  color: #8a94a8;
  font-size: 12px;
}

.admin-page .crisis-contact-send {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid #ef4444;
  border-radius: 8px;
  background: #ef4444;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.admin-page .crisis-contact-send:disabled {
  border-color: rgba(239, 68, 68, 0.28);
  background: rgba(239, 68, 68, 0.42);
  cursor: default;
}

.admin-page .crisis-alert-card {
  width: min(620px, calc(100vw - 38px));
  overflow: hidden;
  border: 1px solid rgba(239, 52, 64, 0.24);
}

.admin-page .crisis-alert-band {
  margin: -20px -20px 16px;
  padding: 12px 20px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(239, 52, 64, 0.96), rgba(255, 107, 26, 0.94)),
    repeating-linear-gradient(-45deg, transparent 0 14px, rgba(0, 0, 0, 0.22) 14px 28px);
  font-weight: 1000;
}

.admin-page .crisis-alert-case {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.admin-page .crisis-alert-message {
  margin: 0 0 16px;
  padding: 12px;
  border-radius: 8px;
  background: #fff7ed;
  color: #7c2d12;
  font-weight: 800;
}

.admin-page .crisis-alert-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 720px) {
  .admin-page .crisis-feature-head,
  .admin-page .crisis-contact-card {
    grid-template-columns: 1fr;
    display: grid;
  }

  .admin-page .crisis-case-summary,
  .admin-page .crisis-alert-case {
    grid-template-columns: 1fr;
  }
}

.admin-page .course-teaching-panel {
  display: grid;
  gap: 20px;
}

.admin-page .course-feature-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.admin-page .course-feature-head h3 {
  margin-bottom: 6px;
}

.admin-page .course-feature-head p {
  margin: 0;
  color: #66758d;
  line-height: 1.6;
}

.admin-page .course-record-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(var(--theme-rgb-a), 0.18);
  border-radius: 14px;
  background:
    radial-gradient(circle at 96% 12%, rgba(var(--theme-rgb-c), 0.08), transparent 24%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), rgba(var(--theme-rgb-b), 0.04)),
    rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.admin-page .course-record-form label,
.admin-page .course-resource-search label {
  display: grid;
  gap: 7px;
  color: #61708a;
  font-weight: 700;
}

.admin-page .course-record-form input,
.admin-page .course-record-form select,
.admin-page .course-resource-search input,
.admin-page .course-resource-search select {
  min-height: 44px;
  border-color: rgba(182, 198, 218, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 8px 18px rgba(31, 52, 84, 0.04);
}

.admin-page .course-record-form textarea {
  min-height: 112px;
  border-color: rgba(182, 198, 218, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
}

.admin-page .course-linear-form,
.admin-page .course-upload-form {
  grid-template-columns: 1fr;
}

.admin-page .course-form-row {
  display: grid;
  gap: 14px;
  width: 100%;
}

.admin-page .course-form-row-triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-page .course-form-row-halves {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-page .course-form-row-halves > input[type="hidden"] {
  display: none;
}

.admin-page .course-form-row-main,
.admin-page .course-form-row-desc,
.admin-page .course-form-row-topic {
  max-width: none;
  grid-template-columns: minmax(0, 1fr);
}

.admin-page .course-form-row-short {
  max-width: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-page .course-form-row label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.admin-page .course-form-row-short label {
  grid-column: 1;
}

.admin-page .course-form-row-short input[type="file"] {
  width: 100%;
  max-width: 100%;
}

.admin-page .course-resource-file-field {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.admin-page .course-resource-file-label {
  color: #64748b;
  font-weight: 800;
}

.admin-page .course-resource-file-picker {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.admin-page .course-resource-file-input {
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0 !important;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.admin-page .course-resource-file-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid rgba(var(--theme-rgb-a), 0.24);
  border-radius: 10px;
  background: rgba(var(--theme-rgb-a), 0.1);
  color: var(--theme-text);
  font-weight: 800;
  cursor: pointer;
}

.admin-page .course-resource-file-trigger:hover {
  border-color: rgba(var(--theme-rgb-a), 0.45);
  background: rgba(var(--theme-rgb-a), 0.16);
}

.admin-page .course-resource-file-hint {
  color: #7c8aa5;
  font-size: 13px;
}

.admin-page .course-selected-file-list {
  display: grid;
  gap: 8px;
}

.admin-page .course-selected-file-list[hidden] {
  display: none;
}

.admin-page .course-selected-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.admin-page .course-selected-file-name {
  min-width: 0;
  color: #28364f;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-page .course-selected-file-item button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 5px 10px;
  border-color: rgba(216, 57, 67, 0.2);
  background: rgba(216, 57, 67, 0.06);
  color: #c93641;
}

.admin-page .course-record-form input[type="file"],
.admin-page .courseware-upload-form input[type="file"] {
  padding: 7px 9px;
  color: #172033;
}

.admin-page .course-record-form input[type="file"]::file-selector-button,
.admin-page .courseware-upload-form input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 7px 12px;
  border: 0;
  border-radius: 8px;
  background: rgba(var(--theme-rgb-a), 0.13);
  color: var(--theme-text);
  font-weight: 800;
  cursor: pointer;
}

.admin-page .course-form-wide {
  grid-column: span 2;
}

.admin-page .course-form-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.admin-page .course-form-actions button,
.admin-page .course-resource-search button {
  min-height: 44px;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #fff;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(var(--theme-rgb-b), 0.18);
}

.admin-page .course-upload-progress-inline {
  display: grid;
  gap: 6px;
  margin-top: 2px;
  padding: 0 2px;
  color: #64748b;
}

.admin-page .course-upload-progress-inline[hidden] {
  display: none;
}

.admin-page .course-upload-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
}

.admin-page .course-upload-progress-meta b {
  min-width: 34px;
  font-size: 12px;
  text-align: right;
}

.admin-page .course-upload-progress-track {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
}

.admin-page .course-upload-progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--theme-a), var(--theme-b), var(--theme-c));
  transition: width 180ms ease;
}

.admin-page .course-upload-progress-track.is-indeterminate > span {
  width: 36% !important;
  animation: course-upload-indeterminate 1.1s ease-in-out infinite;
}

.admin-page .course-upload-progress-inline[data-state="success"] .course-upload-progress-track > span {
  background: linear-gradient(90deg, #20a86f, #45d39b);
}

.admin-page .course-upload-progress-inline[data-state="error"] .course-upload-progress-meta {
  color: #d83943;
}

@keyframes course-upload-indeterminate {
  from {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(300%);
  }
}

.admin-page .course-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.admin-page .course-section-title strong {
  font-size: 17px;
}

.admin-page .course-section-title span {
  color: #71819b;
  font-size: 13px;
}

.admin-page .course-record-list,
.admin-page .course-resource-list {
  display: grid;
  gap: 10px;
}

.admin-page .course-record-filter-bar {
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) minmax(260px, 1.35fr) minmax(160px, 1fr) minmax(150px, 0.9fr) minmax(240px, 1.35fr) auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.14);
  border-radius: 16px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--theme-rgb-c), 0.1), transparent 28%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), rgba(255, 255, 255, 0.9) 48%, rgba(var(--theme-rgb-b), 0.04)),
    rgba(255, 255, 255, 0.84);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 12px 26px rgba(39, 53, 82, 0.05);
}

.admin-page .course-record-filter-bar label {
  display: grid;
  min-width: 0;
  gap: 7px;
  color: #61708a;
  font-weight: 800;
}

.admin-page .course-record-filter-bar input,
.admin-page .course-record-filter-bar select {
  width: 100%;
  min-height: 42px;
  border-color: rgba(182, 198, 218, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 18px rgba(31, 52, 84, 0.04);
}

.admin-page .course-filter-date-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.admin-page .course-filter-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.admin-page .course-filter-actions button {
  min-height: 42px;
  min-width: 72px;
  font-weight: 900;
}

.admin-page .course-filter-actions button[type="submit"] {
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #fff;
  box-shadow: 0 10px 20px rgba(var(--theme-rgb-b), 0.14);
}

.admin-page .course-record-index-wrap {
  overflow: hidden;
  border: 1px solid rgba(202, 212, 226, 0.78);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 24px rgba(33, 49, 80, 0.05);
}

.admin-page .course-record-index-table {
  margin: 0;
}

.admin-page .course-record-index-table th,
.admin-page .course-record-index-table td {
  vertical-align: middle;
}

.admin-page .course-record-index-table tbody tr {
  cursor: pointer;
  transition:
    background 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.admin-page .course-record-index-table tbody tr:hover,
.admin-page .course-record-index-table tbody tr:focus-visible {
  background:
    linear-gradient(90deg, rgba(var(--theme-rgb-a), 0.12), rgba(var(--theme-rgb-b), 0.06)),
    rgba(255, 255, 255, 0.96);
  box-shadow: inset 4px 0 0 var(--theme-a);
  outline: none;
}

.admin-page .course-record-index-table td strong {
  display: block;
  color: #172033;
}

.admin-page .course-record-index-table td span {
  display: block;
  margin-top: 4px;
  color: #71819b;
  font-size: 12px;
  line-height: 1.45;
}

.admin-page .course-record-card,
.admin-page .course-resource-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(202, 212, 226, 0.78);
  border-radius: 13px;
  background:
    linear-gradient(90deg, rgba(var(--theme-rgb-a), 0.06), rgba(255, 255, 255, 0.95) 38%),
    #fff;
  box-shadow: 0 10px 22px rgba(39, 53, 82, 0.04);
}

.admin-page .course-record-card strong,
.admin-page .course-resource-row strong {
  display: block;
  margin-bottom: 6px;
  color: #172033;
}

.admin-page .course-record-card p,
.admin-page .course-resource-row p {
  margin: 3px 0;
  color: #66758d;
  line-height: 1.55;
}

.admin-page .course-record-meta {
  display: flex;
  min-width: 190px;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  color: #6b7890;
  font-size: 13px;
  text-align: right;
}

.admin-page .course-record-meta a,
.admin-page .course-file-link {
  color: var(--theme-text);
  font-weight: 800;
  text-decoration: none;
}

.admin-page .course-empty {
  padding: 18px;
  border: 1px dashed rgba(var(--theme-rgb-b), 0.28);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.72);
  color: #71819b;
}

.admin-page .course-record-editor-panel,
.admin-page .course-record-detail-panel {
  align-content: start;
}

.admin-page .course-record-detail {
  display: grid;
  gap: 16px;
}

.admin-page .course-record-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .course-record-detail-grid > div,
.admin-page .course-record-detail-content,
.admin-page .course-record-detail-attachments {
  padding: 16px;
  border: 1px solid rgba(202, 212, 226, 0.72);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.08), rgba(255, 255, 255, 0.92)),
    #fff;
  box-shadow: 0 10px 22px rgba(39, 53, 82, 0.04);
}

.admin-page .course-record-detail-grid span,
.admin-page .course-record-detail-content > span {
  display: block;
  margin-bottom: 8px;
  color: #66758d;
  font-size: 13px;
  font-weight: 800;
}

.admin-page .course-record-detail-grid strong {
  color: #172033;
  font-size: 17px;
}

.admin-page .course-record-detail-content p {
  margin: 0;
  color: #3b4658;
  line-height: 1.75;
  white-space: pre-wrap;
}

.admin-page .course-record-detail-attachments {
  display: grid;
  gap: 10px;
}

.admin-page .course-standard-plan-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 2%, rgba(var(--theme-rgb-b), 0.15), transparent 27%),
    radial-gradient(circle at 8% 100%, rgba(var(--theme-rgb-a), 0.12), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(var(--theme-rgb-b), 0.055) 58%, rgba(var(--theme-rgb-a), 0.075)),
    rgba(255, 255, 255, 0.9);
  box-shadow:
    inset 0 3px 0 rgba(var(--theme-rgb-b), 0.54),
    0 16px 34px rgba(var(--theme-rgb-b), 0.075);
}

.admin-page .course-standard-plan-box .course-section-title {
  margin-bottom: 0;
}

.admin-page .uploaded-course-section,
.admin-page .standard-course-section {
  display: grid;
  gap: 12px;
}

.admin-page .standard-course-section {
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--theme-rgb-b), 0.16);
}

.admin-page .course-subsection-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-page .course-subsection-title strong {
  color: #273348;
  font-size: 15px;
}

.admin-page .course-subsection-title span {
  color: #71819b;
  font-size: 12px;
  font-weight: 700;
}

.admin-page .uploaded-course-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .uploaded-course-card {
  display: grid;
  min-width: 0;
  min-height: 190px;
  align-content: start;
  gap: 9px;
  padding: 15px;
  border: 1px solid rgba(198, 208, 224, 0.82);
  border-radius: 14px;
  background:
    radial-gradient(circle at 90% 8%, rgba(var(--theme-rgb-c), 0.1), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(var(--theme-rgb-a), 0.08));
  box-shadow: 0 10px 24px rgba(33, 49, 80, 0.05);
}

.admin-page .uploaded-course-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.admin-page .uploaded-course-card-head span {
  width: max-content;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-a), 0.12);
  color: var(--theme-text);
  font-size: 12px;
  font-weight: 800;
}

.admin-page .uploaded-course-card-head time {
  overflow: hidden;
  color: #71819b;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .uploaded-course-card > strong {
  overflow: hidden;
  color: #172033;
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .uploaded-course-card > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #66758d;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.admin-page .uploaded-course-card .course-resource-filename {
  -webkit-line-clamp: 1;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-page .uploaded-course-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}

.admin-page .uploaded-course-card-actions .course-file-link {
  min-width: 0;
  padding: 8px;
  font-size: 12px;
}

.admin-page .uploaded-course-empty {
  grid-column: 1 / -1;
}

.admin-page .course-resource-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.admin-page .course-resource-pagination button {
  min-width: 78px;
  padding: 8px 14px;
  border-color: rgba(var(--theme-rgb-b), 0.24);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--theme-text);
  font-weight: 800;
}

.admin-page .course-resource-pagination button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.admin-page .course-resource-pagination span {
  color: #66758d;
  font-size: 13px;
  font-weight: 700;
}

.admin-page .standard-course-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .standard-course-card {
  display: grid;
  min-height: 138px;
  align-content: start;
  gap: 8px;
  padding: 14px;
  text-align: left;
  border: 1px solid rgba(198, 208, 224, 0.82);
  border-radius: 14px;
  background:
    radial-gradient(circle at 90% 8%, rgba(var(--theme-rgb-c), 0.1), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(var(--theme-rgb-a), 0.08));
  box-shadow: 0 10px 24px rgba(33, 49, 80, 0.05);
}

.admin-page .standard-course-card:hover,
.admin-page .standard-course-card.active {
  border-color: rgba(var(--theme-rgb-b), 0.55);
  background:
    radial-gradient(circle at 88% 0%, rgba(var(--theme-rgb-c), 0.2), transparent 30%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.18), rgba(var(--theme-rgb-b), 0.11)),
    #fff;
  color: #172033;
  transform: translateY(-2px);
}

.admin-page .standard-course-card span {
  width: max-content;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-a), 0.12);
  color: var(--theme-text);
  font-size: 12px;
  font-weight: 800;
}

.admin-page .standard-course-card strong {
  font-size: 17px;
}

.admin-page .standard-course-card em {
  color: #64738d;
  font-size: 13px;
  font-style: normal;
  line-height: 1.55;
}

.admin-page .courseware-placeholder {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(var(--theme-rgb-b), 0.18);
  border-radius: 16px;
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--theme-rgb-a), 0.12), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(var(--theme-rgb-c), 0.07)),
    #fff;
}

.admin-page .courseware-placeholder span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.1);
  color: #3157d7;
  font-size: 12px;
  font-weight: 800;
}

.admin-page .courseware-placeholder h4 {
  margin: 0 0 8px;
  font-size: 24px;
}

.admin-page .courseware-placeholder p {
  margin: 0;
  color: #66758d;
  line-height: 1.7;
}

.admin-page .courseware-frame {
  min-height: 160px;
  padding: 20px;
  border: 1px dashed rgba(var(--theme-rgb-b), 0.34);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.1), rgba(var(--theme-rgb-b), 0.08)),
    rgba(255, 255, 255, 0.7);
}

.admin-page .courseware-frame-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.admin-page .courseware-empty {
  padding: 16px 18px;
  border: 1px dashed rgba(var(--theme-rgb-b), 0.3);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(var(--theme-rgb-a), 0.08)),
    rgba(255, 255, 255, 0.68);
}

.admin-page .courseware-file-list {
  display: grid;
  gap: 10px;
}

.admin-page .courseware-file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(198, 209, 226, 0.72);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}

.admin-page .courseware-file-row strong {
  display: block;
  margin-bottom: 4px;
  color: #172033;
}

.admin-page .courseware-file-row span {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
  color: #71819b;
}

.admin-page .courseware-actions,
.admin-page .course-resource-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-page .courseware-actions a {
  min-width: 62px;
  padding: 8px 10px;
  border-radius: 9px;
  background: rgba(var(--theme-rgb-a), 0.12);
  color: var(--theme-text);
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.admin-page .courseware-actions button {
  min-width: 62px;
  padding: 8px 10px;
  border: 1px solid rgba(239, 68, 68, 0.22);
  border-radius: 9px;
  background: rgba(254, 242, 242, 0.92);
  color: #c24141;
  font-weight: 800;
  cursor: pointer;
}

.admin-page .courseware-actions button:hover:not(:disabled) {
  background: #fee2e2;
  border-color: rgba(239, 68, 68, 0.34);
}

.admin-page .courseware-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 16px;
}

.admin-page .courseware-upload-form label,
.admin-page .courseware-upload-line label {
  display: grid;
  gap: 7px;
  color: #61708a;
  font-weight: 700;
}

.admin-page .courseware-upload-line {
  display: grid;
  min-width: 0;
}

.admin-page .courseware-upload-line > input[type="hidden"] {
  display: none;
}

.admin-page .courseware-upload-form input[type="file"] {
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  border-color: rgba(182, 198, 218, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
}

.admin-page .courseware-upload-actions {
  display: flex;
  justify-content: flex-start;
}

.admin-page .courseware-upload-form button {
  min-height: 42px;
  min-width: 118px;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #fff;
  font-weight: 800;
}

.admin-page .course-resource-query,
.admin-page .course-upload-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(205, 214, 229, 0.76);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
}

.admin-page .course-resource-query {
  border-color: rgba(var(--theme-rgb-a), 0.24);
  background:
    radial-gradient(circle at 7% 0%, rgba(var(--theme-rgb-a), 0.16), transparent 28%),
    radial-gradient(circle at 96% 86%, rgba(var(--theme-rgb-b), 0.08), transparent 30%),
    linear-gradient(135deg, rgba(var(--theme-rgb-a), 0.075), rgba(255, 255, 255, 0.93) 52%, rgba(var(--theme-rgb-a), 0.045)),
    rgba(255, 255, 255, 0.86);
  box-shadow:
    inset 0 3px 0 rgba(var(--theme-rgb-a), 0.54),
    0 14px 30px rgba(var(--theme-rgb-a), 0.065);
}

.admin-page .course-upload-box {
  border-color: rgba(var(--theme-rgb-c), 0.22);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--theme-rgb-c), 0.16), transparent 27%),
    radial-gradient(circle at 4% 92%, rgba(var(--theme-rgb-b), 0.09), transparent 31%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(var(--theme-rgb-c), 0.065) 54%, rgba(var(--theme-rgb-b), 0.045)),
    rgba(255, 255, 255, 0.86);
  box-shadow:
    inset 0 3px 0 rgba(var(--theme-rgb-c), 0.48),
    0 14px 30px rgba(var(--theme-rgb-c), 0.06);
}

.admin-page .course-standard-plan-box .course-section-title span,
.admin-page .course-resource-query .course-section-title span,
.admin-page .course-upload-box .course-section-title span {
  width: max-content;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 800;
}

.admin-page .course-standard-plan-box .course-section-title span {
  background: rgba(var(--theme-rgb-b), 0.1);
  color: #3157d7;
}

.admin-page .course-resource-query .course-section-title span {
  background: rgba(var(--theme-rgb-a), 0.12);
  color: #118f78;
}

.admin-page .course-upload-box .course-section-title span {
  background: rgba(var(--theme-rgb-c), 0.11);
  color: #6d45d7;
}

.admin-page .course-resource-search {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 140px;
  gap: 12px;
  align-items: end;
}

.admin-page .course-file-link {
  align-self: center;
  min-width: 120px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(var(--theme-rgb-a), 0.12);
  text-align: center;
}

.admin-page .course-resource-filename {
  font-weight: 700;
  word-break: break-all;
}

.admin-page .home-school-cobuild-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(20, 184, 166, 0.18);
  border-radius: 16px;
  background:
    radial-gradient(circle at 94% 4%, rgba(245, 158, 11, 0.16), transparent 24%),
    linear-gradient(135deg, rgba(20, 184, 166, 0.11), rgba(59, 130, 246, 0.08)),
    rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 34px rgba(45, 70, 110, 0.06);
}

.admin-page .home-school-cobuild-block span {
  display: inline-flex;
  width: max-content;
  margin-bottom: 7px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.12);
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.admin-page .home-school-cobuild-block strong {
  display: block;
  margin-bottom: 5px;
  color: #172033;
  font-size: 18px;
}

.admin-page .home-school-cobuild-block p {
  margin: 0;
  color: #60708a;
  line-height: 1.6;
}

.admin-page .home-school-cobuild-block button {
  min-width: 138px;
  min-height: 42px;
  border-color: transparent;
  background: linear-gradient(135deg, #14b8a6, #2f6df6);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(20, 184, 166, 0.18);
}

.admin-page .home-school-section {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(205, 216, 230, 0.82);
  background: transparent;
}

.admin-page .home-school-section .section-title-actions {
  align-items: flex-start;
  margin-bottom: 0;
}

.admin-page .home-school-section .section-title-actions h4 {
  margin: 0 0 6px;
  color: #172033;
  font-size: 16px;
}

.admin-page .home-school-section .section-title-actions .muted-text {
  max-width: 920px;
  margin: 0;
}

.admin-page .home-school-count {
  flex: 0 0 auto;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(var(--theme-rgb-b), 0.1);
  color: #2f5de0;
  font-weight: 900;
}

.admin-page .home-school-filter,
.admin-page .home-school-form-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .home-school-filter {
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr) 128px;
  align-items: end;
}

.admin-page .home-school-filter label,
.admin-page .home-school-parent-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #61708a;
  font-weight: 800;
}

.admin-page .home-school-filter input,
.admin-page .home-school-filter select,
.admin-page .home-school-parent-form input,
.admin-page .home-school-parent-form select {
  width: 100%;
  max-width: none;
  min-height: 42px;
  border-color: rgba(182, 198, 218, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
}

.admin-page .home-school-filter button,
.admin-page .home-school-parent-form button.primary {
  min-height: 42px;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b));
  color: #fff;
  font-weight: 900;
}

.admin-page .home-school-parent-list {
  display: grid;
  gap: 10px;
  overflow-x: auto;
}

.admin-page .home-school-parent-table {
  min-width: 980px;
  border: 1px solid rgba(207, 216, 230, 0.82);
  border-radius: 10px;
  overflow: hidden;
}

.admin-page .home-school-parent-table thead th {
  background: #f7faf9;
}

.admin-page .home-school-parent-table tbody tr {
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}

.admin-page .home-school-parent-table tbody tr:hover,
.admin-page .home-school-parent-table tbody tr:focus-visible {
  background: rgba(var(--theme-rgb-a), 0.06);
  box-shadow: inset 4px 0 0 var(--theme-a);
  outline: 0;
}

.admin-page .home-school-parent-table td {
  vertical-align: middle;
}

.admin-page .home-school-parent-table td strong {
  display: block;
  color: #172033;
  font-size: 14px;
}

.admin-page .home-school-parent-table td span {
  display: block;
  margin-top: 4px;
  color: #64738d;
  font-size: 12px;
}

.admin-page .home-school-parent-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-page .home-school-parent-row-actions a,
.admin-page .home-school-parent-row-actions button,
.admin-page .home-school-parent-detail-actions a,
.admin-page .home-school-parent-detail-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px solid transparent;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.admin-page .home-school-parent-row-actions a,
.admin-page .home-school-parent-detail-actions a {
  background: rgba(var(--theme-rgb-a), 0.12);
  color: #2f5de0;
}

.admin-page .home-school-parent-row-actions button,
.admin-page .home-school-parent-detail-actions button {
  border: 1px solid rgba(239, 68, 68, 0.22);
  background: rgba(254, 242, 242, 0.92);
  color: #c24141;
  cursor: pointer;
}

.admin-page .home-school-parent-detail {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(207, 216, 230, 0.82);
  border-radius: 10px;
  background: #fff;
}

.admin-page .home-school-parent-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-page .home-school-parent-detail-grid > div,
.admin-page .home-school-parent-detail-block {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(207, 216, 230, 0.74);
  border-radius: 10px;
  background: rgba(248, 251, 255, 0.78);
}

.admin-page .home-school-parent-detail-grid span,
.admin-page .home-school-parent-detail-block span {
  color: #65748d;
  font-size: 12px;
  font-weight: 800;
}

.admin-page .home-school-parent-detail-grid strong,
.admin-page .home-school-parent-detail-block p {
  margin: 0;
  color: #172033;
  line-height: 1.55;
}

.admin-page .home-school-parent-detail-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-page .home-school-parent-form {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(207, 216, 230, 0.82);
  border-radius: 10px;
  background: #fff;
}

.admin-page .home-school-form-row-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-page .home-school-form-row-wide label:only-child {
  grid-column: 1 / -1;
}

.admin-page .home-school-consent {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  color: #53647d !important;
}

.admin-page .home-school-consent input {
  width: 16px;
  min-height: 16px;
}

@media (max-width: 1180px) {
  .admin-page .course-record-form,
  .admin-page .course-record-detail-grid,
  .admin-page .uploaded-course-grid,
  .admin-page .standard-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .home-school-cobuild-block {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-page .course-linear-form,
  .admin-page .course-upload-form,
  .admin-page .course-record-filter-bar,
  .admin-page .course-form-row-triple,
  .admin-page .course-form-row-halves,
  .admin-page .course-form-row-short,
  .admin-page .home-school-filter,
  .admin-page .home-school-form-row,
  .admin-page .home-school-form-row-wide {
    grid-template-columns: 1fr;
  }

  .admin-page .course-form-row-short label {
    grid-column: auto;
  }

  .admin-page .course-resource-search,
  .admin-page .courseware-placeholder,
  .admin-page .courseware-upload-form {
    grid-template-columns: 1fr;
  }

  .admin-page .course-record-index-wrap {
    overflow-x: auto;
  }

  .admin-page .course-record-index-table {
    min-width: 920px;
  }

  .admin-page .course-filter-actions {
    justify-content: flex-start;
  }

  .admin-page .home-school-parent-detail-grid {
    grid-template-columns: 1fr;
  }

  .admin-page .home-school-parent-table {
    min-width: 860px;
  }
}

/* Internal home — keep the original shared sidebar unchanged. */
body.admin-page[data-active-feature="home"] .ethics-banner {
  display: none;
}

body.admin-page[data-active-feature="home"] .workspace {
  padding: 0 0 28px 22px;
  background:
    radial-gradient(circle at 90% 2%, rgba(85, 135, 255, 0.1), transparent 28%),
    radial-gradient(circle at 56% 66%, rgba(129, 113, 246, 0.06), transparent 38%),
    linear-gradient(180deg, #fbfcff 0%, #f4f7fc 100%);
}

body.admin-page[data-active-feature="home"] .feature-view {
  gap: 0;
}

body.admin-page[data-active-feature="home"] .internal-home-page {
  display: grid;
  gap: 22px;
  padding: 0 26px 30px 0;
  color: #17253a;
}

body.admin-page[data-active-feature="home"] .internal-home-welcome {
  display: grid;
  grid-template-columns: minmax(330px, auto) auto minmax(280px, 1fr);
  gap: 26px;
  align-items: center;
  min-height: 126px;
  padding: 0 4px 0 16px;
}

body.admin-page[data-active-feature="home"] .internal-home-welcome-copy h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #142137;
  font-size: 27px;
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

body.admin-page[data-active-feature="home"] .internal-home-welcome-copy > p {
  margin: 11px 0 0;
  color: #718098;
  font-size: 14px;
}

body.admin-page[data-active-feature="home"] .internal-home-wave {
  display: inline;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: 21px;
  transform: none;
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather {
  display: flex;
  align-items: center;
  gap: 24px;
  align-self: center;
  min-width: 210px;
}

body.admin-page[data-active-feature="home"] .internal-home-date-divider {
  display: block;
  width: 1px;
  height: 64px;
  background: linear-gradient(180deg, transparent, #e1e7f2 18% 82%, transparent);
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather > div {
  display: grid;
  gap: 8px;
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather p {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  color: #6d7b93;
  font-size: 14px;
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather p strong,
body.admin-page[data-active-feature="home"] .internal-home-date-weather p b {
  font-weight: 650;
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather small {
  color: #6b7890;
  font-size: 13px;
}

body.admin-page[data-active-feature="home"] .internal-home-date-weather small i {
  margin-right: 5px;
  font-style: normal;
}

body.admin-page[data-active-feature="home"] .internal-home-header-actions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 16px;
}

body.admin-page[data-active-feature="home"] .internal-home-message-button,
body.admin-page[data-active-feature="home"] .internal-home-user-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 17px;
  border: 1px solid rgba(90, 112, 154, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  color: #24324a;
  box-shadow: 0 10px 26px rgba(61, 78, 116, 0.06);
}

body.admin-page[data-active-feature="home"] .internal-home-message-button:hover,
body.admin-page[data-active-feature="home"] .internal-home-user-button:hover {
  border-color: rgba(83, 113, 226, 0.18);
  background: #ffffff;
  transform: translateY(-1px);
}

body.admin-page[data-active-feature="home"] .internal-home-message-button > span {
  font-size: 15px;
  filter: grayscale(1);
}

body.admin-page[data-active-feature="home"] .internal-home-message-button > strong,
body.admin-page[data-active-feature="home"] .internal-home-user-button > strong {
  font-size: 13px;
}

body.admin-page[data-active-feature="home"] .internal-home-message-button > b {
  position: absolute;
  top: -8px;
  right: 14px;
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #ff4e5c;
  color: #ffffff;
  font-size: 11px;
  line-height: 1;
}

body.admin-page[data-active-feature="home"] .internal-home-user-button {
  padding: 0 14px 0 9px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-wrap {
  position: relative;
}

body.admin-page[data-active-feature="home"] .internal-home-user-avatar {
  display: inline-grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #e2e6ec;
  background: #f1f3f6;
  color: #7d8795;
}

body.admin-page[data-active-feature="home"] .internal-home-user-avatar > svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

body.admin-page[data-active-feature="home"] .internal-home-user-button > i {
  color: #758199;
  font-size: 14px;
  font-style: normal;
  transition: transform 0.18s ease;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-wrap.is-open .internal-home-user-button {
  border-color: rgba(83, 113, 226, 0.26);
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(56, 75, 124, 0.12);
}

body.admin-page[data-active-feature="home"] .internal-home-user-button[aria-expanded="true"] > i {
  transform: rotate(180deg);
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 12px);
  right: 0;
  width: 288px;
  overflow: hidden;
  border: 1px solid rgba(116, 134, 178, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 24px 56px rgba(45, 61, 102, 0.18),
    0 4px 14px rgba(61, 79, 118, 0.08);
  backdrop-filter: blur(18px);
  animation: internal-home-user-menu-in 0.16s ease-out;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu[hidden] {
  display: none;
}

@keyframes internal-home-user-menu-in {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 17px 17px 14px;
  background: linear-gradient(135deg, rgba(241, 247, 255, 0.94), rgba(250, 247, 255, 0.94));
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #dde4ee;
  border-radius: 50%;
  background: #f1f3f6;
  color: #7d8795;
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary-avatar svg {
  width: 24px;
  height: 24px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary strong {
  overflow: hidden;
  color: #26354f;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-page[data-active-feature="home"] .internal-home-user-summary small {
  overflow: hidden;
  color: #7a889f;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items {
  display: grid;
  gap: 3px;
  padding: 8px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 54px;
  padding: 8px 10px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #34425c;
  text-align: left;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button:hover,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button:focus-visible {
  background: #f3f7ff;
  color: #365ecb;
  outline: none;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button > span,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #f3f5f8;
  color: #7b879a;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button:hover > span,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button:focus-visible > span {
  background: #eaf1ff;
  color: #5074e4;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items svg,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer svg {
  width: 19px;
  height: 19px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button > div {
  display: grid;
  gap: 3px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items strong,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer strong {
  font-size: 13px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items small {
  color: #8b97aa;
  font-size: 11px;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-items > button > i {
  color: #9aa5b7;
  font-size: 17px;
  font-style: normal;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer {
  padding: 7px 8px 8px;
  border-top: 1px solid #edf0f5;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button {
  grid-template-columns: 34px minmax(0, 1fr);
  color: #c34a58;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button:hover,
body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button:focus-visible {
  background: #fff1f2;
  color: #b82f40;
  outline: none;
}

body.admin-page[data-active-feature="home"] .internal-home-user-menu-footer > button > span {
  background: #fff0f1;
  color: #d25563;
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  width: 100%;
  min-height: 102px;
  padding: 18px 24px;
  border: 1px solid #f3d998;
  border-radius: 20px;
  background:
    linear-gradient(105deg, rgba(255, 248, 222, 0.96), rgba(255, 254, 244, 0.97)),
    #fffbed;
  color: #805619;
  text-align: left;
  box-shadow: 0 12px 30px rgba(131, 99, 33, 0.07);
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice:hover,
body.admin-page[data-active-feature="home"] .internal-home-password-notice:focus-visible {
  border-color: #edc869;
  box-shadow: 0 14px 32px rgba(131, 99, 33, 0.11);
  transform: translateY(-1px);
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice > span {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 15px;
  background: #ffda7e;
  color: #8d5b0b;
  font-size: 24px;
  font-weight: 850;
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice div {
  display: grid;
  gap: 6px;
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice strong {
  color: #805619;
  font-size: 18px;
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice small {
  color: #a17739;
  font-size: 14px;
}

body.admin-page[data-active-feature="home"] .internal-home-password-notice b {
  color: #af7013;
  font-size: 15px;
  white-space: nowrap;
}

body.admin-page[data-active-feature="home"] .internal-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 26px;
  align-items: start;
}

body.admin-page[data-active-feature="home"] .internal-home-main,
body.admin-page[data-active-feature="home"] .internal-home-side {
  display: grid;
  gap: 22px;
  min-width: 0;
}

body.admin-page[data-active-feature="home"] .internal-home-hero {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border: 1px solid rgba(105, 123, 171, 0.12);
  border-radius: 18px;
  background: #edf2ff;
  box-shadow:
    0 18px 44px rgba(74, 91, 143, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

body.admin-page[data-active-feature="home"] .internal-home-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.98;
}

body.admin-page[data-active-feature="home"] .internal-home-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(240, 246, 255, 0.62) 0%, rgba(243, 247, 255, 0.38) 32%, rgba(241, 243, 255, 0.08) 62%, transparent 100%),
    linear-gradient(180deg, transparent 0 55%, rgba(244, 247, 255, 0.45) 68%, rgba(242, 245, 252, 0.82) 100%);
}

body.admin-page[data-active-feature="home"] .internal-home-hero-copy {
  position: absolute;
  z-index: 2;
  top: 26px;
  left: 24px;
  max-width: 600px;
}

body.admin-page[data-active-feature="home"] .internal-home-hero-copy h3 {
  margin: 0;
  color: #142238;
  font-size: 36px;
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.35;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list {
  display: flex;
  gap: 42px;
  align-items: center;
  margin-top: 28px;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list > span {
  display: grid;
  grid-template-columns: 42px auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  min-width: 124px;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list i {
  grid-row: 1 / 3;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(77, 128, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  font-size: 24px;
  font-style: normal;
  box-shadow: 0 8px 20px rgba(70, 95, 151, 0.08);
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list .trust-blue {
  color: #4088ff;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list .trust-indigo {
  color: #4e78e8;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list .trust-violet {
  color: #8e55e8;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list strong {
  align-self: end;
  color: #38475f;
  font-size: 13px;
}

body.admin-page[data-active-feature="home"] .internal-home-trust-list small {
  align-self: start;
  margin-top: 3px;
  color: #738098;
  font-size: 12px;
}

body.admin-page[data-active-feature="home"] .internal-home-step-grid {
  position: absolute;
  z-index: 3;
  right: 28px;
  bottom: 30px;
  left: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) 52px minmax(0, 1fr);
  align-items: center;
}

body.admin-page[data-active-feature="home"] .internal-home-step-grid article {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 154px;
  padding: 24px 16px 20px 90px;
  border: 1px solid rgba(103, 120, 165, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.89);
  box-shadow:
    0 16px 32px rgba(66, 81, 124, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
}

body.admin-page[data-active-feature="home"] .internal-home-step-number {
  position: absolute;
  top: 30px;
  left: 34px;
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(61, 87, 160, 0.18);
}

body.admin-page[data-active-feature="home"] .internal-home-step-number.step-blue {
  background: linear-gradient(135deg, #66b5ff, #4085ee);
}

body.admin-page[data-active-feature="home"] .internal-home-step-number.step-violet {
  background: linear-gradient(135deg, #a779f2, #7c49db);
}

body.admin-page[data-active-feature="home"] .internal-home-step-number.step-green {
  background: linear-gradient(135deg, #65d9b4, #35b892);
}

body.admin-page[data-active-feature="home"] .internal-home-step-icon {
  position: absolute;
  bottom: 24px;
  left: 31px;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
}

body.admin-page[data-active-feature="home"] .internal-home-step-icon svg {
  width: 27px;
  height: 27px;
}

body.admin-page[data-active-feature="home"] .step-icon-blue {
  background: #edf5ff;
  color: #5f9dff;
}

body.admin-page[data-active-feature="home"] .step-icon-violet {
  background: #f3edff;
  color: #9a6ce6;
}

body.admin-page[data-active-feature="home"] .step-icon-green {
  background: #ebfaf5;
  color: #42c59f;
}

body.admin-page[data-active-feature="home"] .internal-home-step-grid h4 {
  margin: 0 0 16px;
  color: #26344a;
  font-size: 14px;
  line-height: 1.3;
}

body.admin-page[data-active-feature="home"] .internal-home-step-grid p {
  margin: 0;
  color: #728097;
  font-size: 11px;
  line-height: 1.75;
}

body.admin-page[data-active-feature="home"] .internal-home-step-arrow {
  display: grid;
  place-items: center;
  color: #b0c3ef;
  font-size: 45px;
  font-style: normal;
  font-weight: 300;
}

body.admin-page[data-active-feature="home"] .internal-home-quick {
  display: grid;
  gap: 20px;
  padding: 30px 12px 14px;
  border: 1px solid rgba(104, 122, 165, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 38px rgba(66, 81, 124, 0.06);
}

body.admin-page[data-active-feature="home"] .internal-home-quick > h3 {
  margin: 0 0 2px 2px;
  color: #243147;
  font-size: 18px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-card {
  display: grid;
  gap: 13px;
  justify-items: center;
  min-height: 128px;
  padding: 22px 10px 16px;
  border: 1px solid rgba(107, 125, 166, 0.13);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.95);
  color: #314057;
  box-shadow: 0 9px 22px rgba(65, 82, 127, 0.045);
}

body.admin-page[data-active-feature="home"] .internal-home-quick-card:hover,
body.admin-page[data-active-feature="home"] .internal-home-quick-card:focus-visible {
  border-color: rgba(82, 109, 226, 0.25);
  background: #ffffff;
  box-shadow: 0 12px 26px rgba(65, 82, 127, 0.09);
  transform: translateY(-2px);
}

body.admin-page[data-active-feature="home"] .internal-home-quick-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 15px;
  background: #eff5ff;
  color: #3e83f4;
}

body.admin-page[data-active-feature="home"] .quick-todo .internal-home-quick-icon {
  background: #f2ecff;
  color: #8658dc;
}

body.admin-page[data-active-feature="home"] .quick-calendar .internal-home-quick-icon {
  background: #eafaf6;
  color: #24b995;
}

body.admin-page[data-active-feature="home"] .quick-folder .internal-home-quick-icon {
  background: #fff5e9;
  color: #f09b2c;
}

body.admin-page[data-active-feature="home"] .quick-interview .internal-home-quick-icon {
  background: #edf5ff;
  color: #4f8cea;
}

body.admin-page[data-active-feature="home"] .quick-chart .internal-home-quick-icon {
  background: #f3edff;
  color: #8b5bd8;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-icon svg {
  width: 29px;
  height: 29px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-card strong {
  color: #354258;
  font-size: 14px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-tip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid #e8edf7;
  border-radius: 10px;
  background: #f9fbff;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-tip > span {
  font-size: 16px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-tip p {
  margin: 0;
  color: #7b879d;
  font-size: 12px;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-tip p strong {
  color: #58667d;
}

body.admin-page[data-active-feature="home"] .internal-home-quick-tip button {
  min-height: 28px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: #f0edff;
  color: #6559de;
  font-size: 12px;
  font-weight: 700;
}

body.admin-page[data-active-feature="home"] .internal-home-side {
  grid-template-rows: 250px 242px 250px;
}

body.admin-page[data-active-feature="home"] .internal-home-side-card {
  min-width: 0;
  padding: 25px;
  border: 1px solid rgba(104, 122, 165, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 38px rgba(66, 81, 124, 0.06);
}

body.admin-page[data-active-feature="home"] .internal-home-side-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

body.admin-page[data-active-feature="home"] .internal-home-side-title h3 {
  margin: 0;
  color: #29364c;
  font-size: 17px;
}

body.admin-page[data-active-feature="home"] .internal-home-side-title > button {
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8996ae;
  font-size: 12px;
}

body.admin-page[data-active-feature="home"] .internal-home-side-title > button:hover {
  color: #5570dc;
  transform: none;
}

body.admin-page[data-active-feature="home"] .internal-home-side-icon {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 7px;
  background: #edf4ff;
  color: #4b86e6;
  font-size: 14px;
  font-weight: 800;
}

body.admin-page[data-active-feature="home"] .internal-home-manual-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  gap: 12px;
  align-items: center;
  height: calc(100% - 34px);
  padding-top: 10px;
}

body.admin-page[data-active-feature="home"] .internal-home-manual-content strong {
  color: #71819d;
  font-size: 13px;
}

body.admin-page[data-active-feature="home"] .internal-home-manual-content p {
  margin: 10px 0 12px;
  color: #607089;
  font-size: 13px;
  line-height: 1.9;
}

body.admin-page[data-active-feature="home"] .internal-home-manual-content button {
  min-height: 36px;
  padding: 0 18px;
  border: 1px solid #e0e8f6;
  border-radius: 10px;
  background: #ffffff;
  color: #4082ec;
  font-size: 13px;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(60, 87, 146, 0.06);
}

body.admin-page[data-active-feature="home"] .internal-home-manual-art {
  position: relative;
  height: 150px;
}

body.admin-page[data-active-feature="home"] .manual-page {
  position: absolute;
  z-index: 2;
  top: 22px;
  left: 30px;
  display: grid;
  width: 80px;
  height: 104px;
  place-items: center;
  border: 1px solid rgba(104, 116, 237, 0.18);
  border-radius: 17px;
  background:
    linear-gradient(#8177f0 0 0) 17px 24px / 38px 8px no-repeat,
    linear-gradient(#aaa7f6 0 0) 17px 42px / 48px 6px no-repeat,
    linear-gradient(#c5c3fb 0 0) 17px 58px / 43px 6px no-repeat,
    linear-gradient(150deg, #9e9af7, #6f68e2);
  color: #ffffff;
  box-shadow: 0 18px 28px rgba(94, 87, 211, 0.2);
  transform: rotate(7deg);
}

body.admin-page[data-active-feature="home"] .manual-page i {
  margin-top: 48px;
  font-size: 24px;
  font-style: normal;
}

body.admin-page[data-active-feature="home"] .manual-help {
  position: absolute;
  z-index: 3;
  top: 7px;
  right: 4px;
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #b7bcff, #8d91f6);
  color: #ffffff;
  font-size: 31px;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(91, 91, 220, 0.18);
}

body.admin-page[data-active-feature="home"] .manual-shadow {
  position: absolute;
  right: 6px;
  bottom: 8px;
  left: 10px;
  height: 30px;
  border-radius: 50%;
  background: rgba(116, 107, 225, 0.16);
  filter: blur(10px);
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list,
body.admin-page[data-active-feature="home"] .internal-home-question-list {
  display: grid;
  gap: 3px;
  margin-top: 19px;
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #46536a;
  text-align: left;
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list button:hover,
body.admin-page[data-active-feature="home"] .internal-home-question-list button:hover {
  color: #506ede;
  transform: translateX(2px);
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list i {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

body.admin-page[data-active-feature="home"] .notice-blue {
  background: #7089f3;
}

body.admin-page[data-active-feature="home"] .notice-violet {
  background: #8f6ceb;
}

body.admin-page[data-active-feature="home"] .notice-orange {
  background: #c89c86;
}

body.admin-page[data-active-feature="home"] .notice-green {
  background: #8db5a7;
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-page[data-active-feature="home"] .internal-home-notice-list time {
  color: #8997af;
  font-size: 11px;
}

body.admin-page[data-active-feature="home"] .internal-home-question-list button {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 43px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #445168;
  text-align: left;
}

body.admin-page[data-active-feature="home"] .internal-home-question-list span {
  display: inline-grid;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  place-items: center;
  border: 1px solid #d7e2fb;
  border-radius: 9px;
  background: #edf4ff;
  color: #5786e8;
  font-size: 13px;
  font-weight: 800;
}

body.admin-page[data-active-feature="home"] .internal-home-question-list .support-icon {
  background: #f2f5fb;
  color: #647da8;
}

body.admin-page[data-active-feature="home"] .internal-home-question-list strong {
  font-size: 12px;
  font-weight: 650;
}

body.internal-home-manual-open {
  overflow: hidden;
}

.internal-home-manual-overlay {
  position: fixed;
  inset: 0;
  z-index: 3200;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(27, 40, 72, 0.38);
  backdrop-filter: blur(10px);
}

.internal-home-manual-dialog {
  width: min(1480px, 100%);
  height: calc(100vh - 32px);
  display: grid;
  grid-template-rows: 58px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(207, 219, 242, 0.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(27, 40, 72, 0.3);
}

.internal-home-manual-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px 0 22px;
  border-bottom: 1px solid #e7edf8;
  background: linear-gradient(110deg, #f8fbff 0%, #f5f2ff 100%);
}

.internal-home-manual-toolbar > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.internal-home-manual-toolbar span {
  color: #8190aa;
  font-size: 13px;
  font-weight: 700;
}

.internal-home-manual-toolbar strong {
  color: #263550;
  font-size: 17px;
}

.internal-home-manual-toolbar button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #5e6f8d;
  font: 400 26px/1 sans-serif;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(69, 92, 136, 0.12);
}

.internal-home-manual-toolbar button:hover {
  background: #edf3ff;
  color: #3679f6;
}

.internal-home-manual-frame {
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

@media (max-width: 1500px) {
  body.admin-page[data-active-feature="home"] .internal-home-welcome {
    grid-template-columns: minmax(300px, auto) auto minmax(250px, 1fr);
    gap: 18px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 20px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-hero {
    min-height: 500px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-hero-copy {
    top: 24px;
    left: 22px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-trust-list {
    gap: 22px;
    margin-top: 32px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-grid {
    right: 20px;
    bottom: 22px;
    left: 20px;
    grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr);
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-grid article {
    min-height: 148px;
    padding: 22px 13px 18px 78px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-number {
    left: 24px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-icon {
    left: 21px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-quick-grid {
    gap: 10px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-side-card {
    padding: 25px 22px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-manual-content {
    grid-template-columns: minmax(0, 1fr) 115px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-manual-art {
    transform: scale(0.82);
    transform-origin: center right;
  }
}

@media (max-width: 1180px) {
  body.admin-page[data-active-feature="home"] .internal-home-welcome {
    grid-template-columns: 1fr auto;
    min-height: 112px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-date-weather {
    display: none;
  }

  body.admin-page[data-active-feature="home"] .internal-home-layout {
    grid-template-columns: 1fr;
  }

  body.admin-page[data-active-feature="home"] .internal-home-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
  }

  body.admin-page[data-active-feature="home"] .internal-home-quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .internal-home-manual-overlay {
    padding: 0;
  }

  .internal-home-manual-dialog {
    width: 100vw;
    height: 100vh;
    grid-template-rows: 52px minmax(0, 1fr);
    border: 0;
    border-radius: 0;
  }

  .internal-home-manual-toolbar {
    padding: 0 10px 0 16px;
  }

  body.admin-page[data-active-feature="home"] .workspace {
    padding-left: 12px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-page {
    padding-right: 12px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-welcome {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 4px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-header-actions {
    justify-self: start;
  }

  body.admin-page[data-active-feature="home"] .internal-home-user-menu {
    right: auto;
    left: 0;
    width: min(288px, calc(100vw - 48px));
  }

  body.admin-page[data-active-feature="home"] .internal-home-password-notice {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.admin-page[data-active-feature="home"] .internal-home-password-notice > b {
    grid-column: 2;
  }

  body.admin-page[data-active-feature="home"] .internal-home-hero {
    min-height: 720px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-hero-copy {
    top: 34px;
    left: 28px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-trust-list {
    display: grid;
    gap: 12px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-grid article {
    min-height: 130px;
  }

  body.admin-page[data-active-feature="home"] .internal-home-step-arrow {
    display: none;
  }

  body.admin-page[data-active-feature="home"] .internal-home-side {
    grid-template-columns: 1fr;
  }

  body.admin-page[data-active-feature="home"] .internal-home-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.admin-page[data-active-feature="home"] .internal-home-quick-tip {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.admin-page[data-active-feature="home"] .internal-home-quick-tip button {
    grid-column: 2;
    justify-self: start;
  }
}

@keyframes consultation-save-spin {
  to {
    transform: rotate(360deg);
  }
}

.admin-page #saveBtn.is-saving,
.admin-page .save-module-btn.is-saving {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--theme-a), var(--theme-b) 62%, var(--theme-c));
  border-color: transparent;
  box-shadow: 0 8px 18px var(--theme-shadow);
  cursor: wait;
  opacity: 1;
}

.admin-page #saveBtn.is-saving::before,
.admin-page .save-module-btn.is-saving::before {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border: 2px solid rgba(255, 255, 255, 0.42);
  border-top-color: #ffffff;
  border-radius: 50%;
  content: "";
  animation: consultation-save-spin 0.72s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .admin-page #saveBtn.is-saving::before,
  .admin-page .save-module-btn.is-saving::before {
    animation-duration: 1.8s;
  }
}

/* System announcements — a home subpage with stable list/detail routes. */
body.admin-page[data-active-feature="announcements"] .ethics-banner {
  display: none;
}

body.admin-page[data-active-feature="announcements"] .workspace {
  padding: 0 0 36px 22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(92, 128, 255, 0.12), transparent 28%),
    radial-gradient(circle at 38% 92%, rgba(127, 104, 246, 0.07), transparent 34%),
    linear-gradient(180deg, #fbfcff 0%, #f3f6fc 100%);
}

body.admin-page[data-active-feature="announcements"] .feature-view {
  gap: 0;
}

.system-announcement-page {
  width: min(1180px, calc(100% - 28px));
  display: grid;
  gap: 20px;
  margin: 0 auto;
  padding: 28px 28px 44px 0;
  color: #1b2b45;
}

.system-announcement-page-head,
.system-announcement-detail-head {
  display: grid;
  gap: 20px;
}

.system-announcement-breadcrumb {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #8a98b2;
  font-size: 13px;
  font-weight: 700;
}

.system-announcement-breadcrumb button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #6c82ab;
  font: inherit;
  cursor: pointer;
}

.system-announcement-breadcrumb button:hover {
  color: #377df5;
}

.system-announcement-breadcrumb strong {
  min-width: 0;
  overflow: hidden;
  color: #566681;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.system-announcement-page-title {
  min-height: 126px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 25px 28px;
  overflow: hidden;
  border: 1px solid rgba(215, 225, 244, 0.92);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 20%, rgba(116, 98, 242, 0.12), transparent 27%),
    linear-gradient(120deg, rgba(240, 247, 255, 0.96), rgba(249, 247, 255, 0.98));
  box-shadow: 0 16px 38px rgba(55, 77, 120, 0.08);
}

.system-announcement-title-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid #dbe7ff;
  border-radius: 16px;
  background: #fff;
  color: #4b83f8;
  font-size: 29px;
  line-height: 1;
  box-shadow: 0 10px 22px rgba(69, 112, 205, 0.12);
}

.system-announcement-page-title h2 {
  margin: 0;
  color: #1c2d49;
  font-size: clamp(25px, 2vw, 32px);
}

.system-announcement-page-title p {
  margin: 8px 0 0;
  color: #70809b;
  font-size: 14px;
}

.system-announcement-back-home,
.system-announcement-back-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #dbe5f7;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.9);
  color: #58709a;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(54, 77, 119, 0.06);
}

.system-announcement-back-home:hover,
.system-announcement-back-list:hover {
  border-color: #a9c4fb;
  color: #367af3;
  transform: translateY(-1px);
}

.system-announcement-list-panel {
  overflow: hidden;
  border: 1px solid rgba(217, 225, 240, 0.92);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 44px rgba(44, 65, 104, 0.08);
}

.system-announcement-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid #edf1f8;
}

.system-announcement-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.system-announcement-categories button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #f4f7fc;
  color: #6a7b98;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.system-announcement-categories button:hover {
  background: #edf3ff;
  color: #477ee4;
}

.system-announcement-categories button.active {
  border-color: #6f92fc;
  background: linear-gradient(120deg, #4f91fa, #745cf3);
  color: #fff;
  box-shadow: 0 7px 16px rgba(82, 105, 229, 0.2);
}

.system-announcement-search {
  width: min(290px, 100%);
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid #dce5f5;
  border-radius: 11px;
  background: #fafcff;
  color: #8292ac;
}

.system-announcement-search:focus-within {
  border-color: #8eb4fa;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(69, 130, 244, 0.1);
}

.system-announcement-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #273853;
  font-size: 13px;
}

.system-announcement-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px 10px;
}

.system-announcement-list-head strong {
  font-size: 16px;
}

.system-announcement-list-head span {
  color: #8a98af;
  font-size: 12px;
  font-weight: 700;
}

.system-announcement-list {
  display: grid;
  gap: 10px;
  padding: 8px 16px 20px;
}

.system-announcement-row {
  width: 100%;
  min-height: 104px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 15px;
  padding: 17px 18px;
  border: 1px solid #edf1f7;
  border-radius: 15px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: 160ms ease;
}

.system-announcement-row:hover {
  border-color: #cbdcff;
  background: linear-gradient(110deg, #fbfdff, #f8f7ff);
  box-shadow: 0 12px 28px rgba(64, 91, 144, 0.1);
  transform: translateY(-2px);
}

.system-announcement-row-mark {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6c92fb;
  box-shadow: 0 0 0 5px rgba(108, 146, 251, 0.1);
}

.system-announcement-row-mark.notice-violet {
  background: #8769ef;
  box-shadow: 0 0 0 5px rgba(135, 105, 239, 0.1);
}

.system-announcement-row-mark.notice-orange {
  background: #c9967d;
  box-shadow: 0 0 0 5px rgba(201, 150, 125, 0.1);
}

.system-announcement-row-mark.notice-green {
  background: #79ad9e;
  box-shadow: 0 0 0 5px rgba(121, 173, 158, 0.1);
}

.system-announcement-row-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.system-announcement-row-meta {
  display: flex;
  align-items: center;
  gap: 7px;
}

.system-announcement-row-meta b,
.system-announcement-row-meta em {
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf3ff;
  color: #5a7dc0;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
}

.system-announcement-row-meta em {
  background: #fff3dd;
  color: #b67a1e;
}

.system-announcement-row-copy > strong {
  overflow: hidden;
  color: #243652;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.system-announcement-row-copy > small {
  overflow: hidden;
  color: #77869e;
  font-size: 13px;
  line-height: 1.55;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.system-announcement-row time {
  color: #8594ac;
  font-size: 13px;
  font-weight: 700;
}

.system-announcement-row > i {
  color: #91a6cb;
  font-size: 23px;
  font-style: normal;
  transition: transform 160ms ease;
}

.system-announcement-row:hover > i {
  color: #4e83ed;
  transform: translateX(3px);
}

.system-announcement-empty {
  min-height: 270px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: #8090a9;
  text-align: center;
}

.system-announcement-empty > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #f0f5ff;
  color: #6790df;
  font-size: 26px;
}

.system-announcement-empty strong {
  color: #3a4b67;
}

.system-announcement-empty p {
  margin: 0;
  font-size: 13px;
}

.system-announcement-detail-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.system-announcement-detail-head .system-announcement-breadcrumb {
  overflow: hidden;
}

.system-announcement-article {
  overflow: hidden;
  border: 1px solid rgba(216, 225, 241, 0.95);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(42, 64, 105, 0.09);
}

.system-announcement-article-title {
  padding: 42px clamp(28px, 6vw, 76px) 34px;
  border-bottom: 1px solid #edf1f7;
  background:
    radial-gradient(circle at 84% 14%, rgba(105, 91, 236, 0.09), transparent 25%),
    linear-gradient(180deg, #fbfdff, #f8faff);
  text-align: center;
}

.system-announcement-article-badges {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 14px;
}

.system-announcement-article-badges span,
.system-announcement-article-badges b {
  padding: 4px 10px;
  border-radius: 999px;
  background: #edf3ff;
  color: #5b7fc1;
  font-size: 11px;
}

.system-announcement-article-badges span.notice-violet {
  background: #f0ecff;
  color: #7658d9;
}

.system-announcement-article-badges span.notice-orange {
  background: #fff1e9;
  color: #ac7054;
}

.system-announcement-article-badges span.notice-green {
  background: #eaf7f2;
  color: #5c917f;
}

.system-announcement-article-badges b {
  background: #fff3dc;
  color: #b67719;
}

.system-announcement-article h1 {
  margin: 0;
  color: #1c2c47;
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.35;
}

.system-announcement-article-meta {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 17px;
  color: #8795ac;
  font-size: 12px;
}

.system-announcement-article-body {
  width: min(820px, calc(100% - 48px));
  margin: 0 auto;
  padding: 38px 0 52px;
}

.system-announcement-article-lead {
  margin: 0 0 32px;
  color: #3e506d;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.9;
}

.system-announcement-article-section {
  margin-top: 30px;
}

.system-announcement-article-section h3 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 14px;
  color: #263955;
  font-size: 18px;
}

.system-announcement-article-section h3::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, #4f93fb, #7b60ed);
}

.system-announcement-article-section p,
.system-announcement-article-section li {
  color: #53647e;
  font-size: 14px;
  line-height: 1.9;
}

.system-announcement-article-section p {
  margin: 0 0 11px;
}

.system-announcement-article-section ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 22px;
}

.system-announcement-reminder {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  margin-top: 36px;
  padding: 18px 20px;
  border: 1px solid #f0dba8;
  border-radius: 14px;
  background: linear-gradient(100deg, #fff9e9, #fffdf5);
}

.system-announcement-reminder > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #ffdf8b;
  color: #9a650d;
  font-size: 19px;
  font-weight: 850;
}

.system-announcement-reminder strong {
  color: #825d1f;
  font-size: 14px;
}

.system-announcement-reminder p {
  margin: 5px 0 0;
  color: #927344;
  font-size: 13px;
  line-height: 1.7;
}

.system-announcement-adjacent {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.system-announcement-adjacent button,
.system-announcement-adjacent-empty {
  min-height: 84px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 16px 18px;
  border: 1px solid #dfe7f4;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: #6c7d98;
  text-align: left;
}

.system-announcement-adjacent button {
  cursor: pointer;
}

.system-announcement-adjacent button:hover {
  border-color: #b9cef8;
  box-shadow: 0 10px 24px rgba(57, 86, 140, 0.09);
  transform: translateY(-1px);
}

.system-announcement-adjacent span {
  font-size: 11px;
  font-weight: 800;
}

.system-announcement-adjacent strong {
  overflow: hidden;
  color: #344661;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.system-announcement-adjacent .next {
  text-align: right;
}

.system-announcement-adjacent-empty {
  border-style: dashed;
  color: #a0acc0;
  font-size: 12px;
}

.system-announcement-not-found {
  min-height: 460px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  border: 1px solid #dde5f2;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0 18px 44px rgba(44, 65, 104, 0.08);
}

.system-announcement-not-found > span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #fff1e8;
  color: #c17a58;
  font-size: 28px;
  font-weight: 800;
}

.system-announcement-not-found h2,
.system-announcement-not-found p {
  margin: 0;
}

.system-announcement-not-found p {
  color: #7b899f;
  font-size: 13px;
}

.system-announcement-not-found button {
  min-height: 40px;
  margin-top: 6px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(120deg, #4e91fa, #735df1);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 960px) {
  .system-announcement-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .system-announcement-search {
    width: 100%;
  }
}

@media (max-width: 760px) {
  body.admin-page[data-active-feature="announcements"] .workspace {
    padding-left: 12px;
  }

  .system-announcement-page {
    width: 100%;
    padding: 20px 12px 34px 0;
  }

  .system-announcement-page-title {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 20px;
  }

  .system-announcement-back-home {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .system-announcement-toolbar {
    padding: 16px;
  }

  .system-announcement-categories {
    flex-wrap: nowrap;
    padding-bottom: 4px;
    overflow-x: auto;
  }

  .system-announcement-categories button {
    flex: 0 0 auto;
  }

  .system-announcement-row {
    grid-template-columns: 8px minmax(0, 1fr) 16px;
    gap: 11px;
    padding: 15px 13px;
  }

  .system-announcement-row time {
    grid-column: 2;
    justify-self: start;
  }

  .system-announcement-row > i {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .system-announcement-detail-head {
    grid-template-columns: 1fr;
  }

  .system-announcement-back-list {
    justify-self: start;
  }

  .system-announcement-article-title {
    padding: 30px 20px 26px;
    text-align: left;
  }

  .system-announcement-article-badges,
  .system-announcement-article-meta {
    justify-content: flex-start;
  }

  .system-announcement-article-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .system-announcement-article-body {
    width: calc(100% - 36px);
    padding: 28px 0 36px;
  }

  .system-announcement-adjacent {
    grid-template-columns: 1fr;
  }

  .system-announcement-adjacent .next {
    text-align: left;
  }
}

/* Help center — searchable FAQs and structured answers under the home workspace. */
body.admin-page[data-active-feature="help"] .ethics-banner {
  display: none;
}

body.admin-page[data-active-feature="help"] .workspace {
  padding: 0 0 36px 22px;
  background:
    radial-gradient(circle at 91% 0%, rgba(77, 137, 250, 0.12), transparent 27%),
    radial-gradient(circle at 35% 94%, rgba(117, 100, 242, 0.07), transparent 34%),
    linear-gradient(180deg, #fbfcff 0%, #f3f6fc 100%);
}

body.admin-page[data-active-feature="help"] .feature-view {
  gap: 0;
}

.help-center-page {
  width: min(1180px, calc(100% - 28px));
  display: grid;
  gap: 20px;
  margin: 0 auto;
  padding: 28px 28px 44px 0;
  color: #1b2c47;
}

.help-center-page-head {
  display: grid;
  gap: 18px;
}

.help-center-breadcrumb {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  color: #8a98b2;
  font-size: 13px;
  font-weight: 700;
}

.help-center-breadcrumb button {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6c82ab;
  font: inherit;
  cursor: pointer;
}

.help-center-breadcrumb button:hover {
  color: #377df5;
}

.help-center-breadcrumb strong {
  min-width: 0;
  overflow: hidden;
  color: #566681;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-center-hero {
  min-height: 176px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  overflow: hidden;
  border: 1px solid rgba(214, 225, 245, 0.95);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 14%, rgba(114, 91, 239, 0.13), transparent 25%),
    radial-gradient(circle at 8% 82%, rgba(80, 156, 250, 0.1), transparent 25%),
    linear-gradient(120deg, rgba(240, 247, 255, 0.98), rgba(249, 247, 255, 0.98));
  box-shadow: 0 17px 42px rgba(53, 75, 117, 0.09);
}

.help-center-hero-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e6ff;
  border-radius: 18px;
  background: #fff;
  color: #4f88f6;
  font-size: 30px;
  font-weight: 750;
  box-shadow: 0 10px 24px rgba(69, 112, 205, 0.13);
}

.help-center-hero h2 {
  margin: 0;
  color: #1c2d49;
  font-size: clamp(25px, 2vw, 32px);
}

.help-center-hero p {
  margin: 8px 0 0;
  color: #70809b;
  font-size: 14px;
}

.help-center-manual-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid #d7e3f8;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: #55709f;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(55, 78, 122, 0.07);
}

.help-center-manual-button span {
  color: #4f88f6;
  font-size: 18px;
}

.help-center-manual-button:hover {
  border-color: #a9c5fb;
  color: #3379f2;
  transform: translateY(-1px);
}

.help-center-search {
  grid-column: 1 / -1;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 16px;
  border: 1px solid #d9e4f5;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  color: #7b8da9;
  box-shadow: 0 7px 20px rgba(57, 80, 123, 0.06);
}

.help-center-search:focus-within {
  border-color: #85b0fa;
  box-shadow: 0 0 0 4px rgba(70, 133, 244, 0.1);
}

.help-center-search > span {
  font-size: 20px;
}

.help-center-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #273853;
  font-size: 14px;
}

.help-center-workspace {
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.help-center-category-panel,
.help-center-question-panel {
  border: 1px solid rgba(216, 225, 241, 0.95);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 17px 42px rgba(45, 66, 105, 0.08);
}

.help-center-category-panel {
  position: sticky;
  top: 18px;
  overflow: hidden;
}

.help-center-category-panel > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 19px 18px 13px;
}

.help-center-category-panel > div strong {
  color: #2d3e59;
  font-size: 15px;
}

.help-center-category-panel > div span {
  color: #98a5b8;
  font-size: 11px;
  font-weight: 700;
}

.help-center-category-panel nav {
  display: grid;
  gap: 5px;
  padding: 4px 10px 12px;
}

.help-center-category-panel nav button {
  min-height: 42px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #687a97;
  text-align: left;
  cursor: pointer;
}

.help-center-category-panel nav button:hover {
  background: #f3f7ff;
  color: #477cdf;
}

.help-center-category-panel nav button.active {
  border-color: #cbdcff;
  background: linear-gradient(105deg, #edf5ff, #f3efff);
  color: #426fc7;
  box-shadow: inset 3px 0 #578bf3;
}

.help-center-category-panel nav i {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #edf3ff;
  color: #5f8ee9;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.help-center-category-panel nav span {
  overflow: hidden;
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-center-category-panel nav b {
  color: #9aa7ba;
  font-size: 11px;
}

.help-center-category-home {
  width: calc(100% - 20px);
  min-height: 38px;
  margin: 0 10px 12px;
  border: 1px solid #e1e8f4;
  border-radius: 10px;
  background: #fafcff;
  color: #70819e;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.help-center-category-home:hover {
  border-color: #bad0f8;
  color: #447de6;
}

.help-center-question-panel {
  overflow: hidden;
}

.help-center-question-head {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 19px;
  border-bottom: 1px solid #edf1f7;
  background: linear-gradient(180deg, #fff, #fbfcff);
}

.help-center-question-head > div {
  display: grid;
  gap: 3px;
}

.help-center-question-head > div span {
  color: #2f415e;
  font-size: 15px;
  font-weight: 800;
}

.help-center-question-head > div strong {
  color: #95a2b5;
  font-size: 11px;
}

.help-center-question-head > button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #6282bd;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.help-center-question-head > button:hover {
  color: #377df5;
}

.help-center-question-list {
  display: grid;
  gap: 9px;
  padding: 14px;
}

.help-center-question-row {
  width: 100%;
  min-height: 96px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 20px;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  border: 1px solid #edf1f7;
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: 160ms ease;
}

.help-center-question-row:hover {
  border-color: #c9dcff;
  background: linear-gradient(110deg, #fbfdff, #f8f7ff);
  box-shadow: 0 11px 26px rgba(61, 88, 140, 0.1);
  transform: translateY(-2px);
}

.help-center-question-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #cfe0ff;
  border-radius: 12px;
  background: #f0f6ff;
  color: #578af1;
  font-size: 20px;
  font-weight: 750;
}

.help-center-question-icon.support {
  background: #f3f5fa;
  color: #6c7f9f;
  font-size: 15px;
}

.help-center-question-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.help-center-question-copy > span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.help-center-question-copy b,
.help-center-question-copy em {
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf3ff;
  color: #6685bd;
  font-size: 10px;
  font-style: normal;
  line-height: 1.2;
}

.help-center-question-copy em {
  background: #f1edff;
  color: #7960d7;
}

.help-center-question-copy > strong {
  overflow: hidden;
  color: #2a3b56;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-center-question-copy > small {
  overflow: hidden;
  color: #7a899f;
  font-size: 12px;
  line-height: 1.55;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-center-question-row > i {
  color: #95a9cc;
  font-size: 23px;
  font-style: normal;
  transition: transform 160ms ease;
}

.help-center-question-row:hover > i {
  color: #4d83eb;
  transform: translateX(3px);
}

.help-center-empty {
  min-height: 360px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 9px;
  text-align: center;
}

.help-center-empty > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eff5ff;
  color: #6491e5;
  font-size: 25px;
}

.help-center-empty strong {
  color: #3a4b67;
}

.help-center-empty p {
  margin: 0;
  color: #8491a6;
  font-size: 13px;
}

.help-center-empty > div {
  display: flex;
  gap: 8px;
  margin-top: 5px;
}

.help-center-empty button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #d9e4f6;
  border-radius: 9px;
  background: #fff;
  color: #5c79ab;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.help-center-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.help-center-back-list {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #dbe5f7;
  border-radius: 11px;
  background: #fff;
  color: #60779d;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(54, 77, 119, 0.06);
}

.help-center-back-list:hover {
  border-color: #a9c4fb;
  color: #367af3;
  transform: translateY(-1px);
}

.help-center-detail-card {
  overflow: hidden;
  border: 1px solid rgba(216, 225, 241, 0.95);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(42, 64, 105, 0.09);
}

.help-center-detail-card > header {
  padding: 38px clamp(28px, 6vw, 72px) 32px;
  border-bottom: 1px solid #edf1f7;
  background:
    radial-gradient(circle at 86% 15%, rgba(94, 102, 239, 0.1), transparent 25%),
    linear-gradient(180deg, #fbfdff, #f7faff);
  text-align: center;
}

.help-center-detail-card > header > div {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-bottom: 13px;
}

.help-center-detail-card > header span,
.help-center-detail-card > header b {
  padding: 4px 10px;
  border-radius: 999px;
  background: #edf3ff;
  color: #5d7fc0;
  font-size: 11px;
}

.help-center-detail-card > header b {
  background: #f0ecff;
  color: #765bd5;
}

.help-center-detail-card h1 {
  margin: 0;
  color: #1d2e49;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.4;
}

.help-center-detail-body {
  width: min(820px, calc(100% - 48px));
  margin: 0 auto;
  padding: 38px 0 50px;
}

.help-center-quick-answer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 20px;
  border: 1px solid #cfe0fb;
  border-radius: 15px;
  background: linear-gradient(105deg, #f1f7ff, #f7f5ff);
}

.help-center-quick-answer > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #5795f9, #765ff0);
  color: #fff;
  font-weight: 850;
}

.help-center-quick-answer strong {
  color: #315690;
  font-size: 14px;
}

.help-center-quick-answer p {
  margin: 6px 0 0;
  color: #526a8e;
  font-size: 14px;
  line-height: 1.8;
}

.help-center-detail-section {
  margin-top: 30px;
}

.help-center-detail-section h3 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 14px;
  color: #263955;
  font-size: 18px;
}

.help-center-detail-section h3::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, #4f93fb, #7b60ed);
}

.help-center-detail-section ul,
.help-center-detail-section ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 23px;
}

.help-center-detail-section li {
  padding-left: 3px;
  color: #53647e;
  font-size: 14px;
  line-height: 1.85;
}

.help-center-detail-section ol li::marker {
  color: #5c86d8;
  font-weight: 800;
}

.help-center-detail-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 34px;
  padding: 18px 20px;
  border: 1px solid #dbe5f5;
  border-radius: 14px;
  background: #fafcff;
}

.help-center-detail-action > div {
  display: grid;
  gap: 4px;
}

.help-center-detail-action span {
  color: #8a98ad;
  font-size: 11px;
  font-weight: 750;
}

.help-center-detail-action strong {
  color: #344763;
  font-size: 14px;
}

.help-center-detail-action button {
  min-height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(120deg, #4f91fa, #735cf1);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(76, 96, 221, 0.2);
}

.help-center-detail-action button:hover {
  transform: translateY(-1px);
}

.help-center-detail-action i {
  font-style: normal;
}

.help-center-unresolved {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 26px;
  padding: 18px 20px;
  border: 1px solid #e6dfcf;
  border-radius: 14px;
  background: linear-gradient(105deg, #fffcf4, #fafcff);
}

.help-center-unresolved strong {
  color: #5d513e;
  font-size: 14px;
}

.help-center-unresolved p {
  margin: 5px 0 0;
  color: #827762;
  font-size: 12px;
  line-height: 1.65;
}

.help-center-unresolved button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #dcd2bd;
  border-radius: 10px;
  background: #fff;
  color: #80683f;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.help-center-feedback-template {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 16px;
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid #d7e2f4;
  border-radius: 14px;
  background: #f8faff;
}

.help-center-feedback-template span {
  color: #4c6387;
  font-size: 13px;
  font-weight: 800;
}

.help-center-feedback-template pre {
  margin: 10px 0 0;
  overflow-x: auto;
  color: #63738d;
  font: 12px/1.7 "SFMono-Regular", Consolas, monospace;
  white-space: pre-wrap;
}

.help-center-feedback-template button {
  min-height: 39px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(120deg, #4f91fa, #735cf1);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.help-center-related {
  padding: 20px;
  border: 1px solid rgba(216, 225, 241, 0.95);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 15px 38px rgba(45, 66, 105, 0.07);
}

.help-center-related > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.help-center-related h2 {
  margin: 0;
  color: #2b3d59;
  font-size: 17px;
}

.help-center-related > div:first-child button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #6682b6;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.help-center-related > div:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.help-center-related > div:last-child button {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 7px;
  padding: 15px;
  border: 1px solid #e0e7f3;
  border-radius: 13px;
  background: #fff;
  color: #384b68;
  text-align: left;
  cursor: pointer;
}

.help-center-related > div:last-child button:hover {
  border-color: #bfd3fa;
  background: #fbfdff;
  transform: translateY(-1px);
}

.help-center-related > div:last-child span {
  grid-column: 1 / -1;
  color: #7690bd;
  font-size: 10px;
  font-weight: 750;
}

.help-center-related > div:last-child strong {
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-center-related > div:last-child i {
  color: #91a6ca;
  font-size: 20px;
  font-style: normal;
}

.help-center-not-found {
  min-height: 460px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  border: 1px solid #dde5f2;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0 18px 44px rgba(44, 65, 104, 0.08);
}

.help-center-not-found > span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #eff5ff;
  color: #6390e5;
  font-size: 28px;
  font-weight: 800;
}

.help-center-not-found h2,
.help-center-not-found p {
  margin: 0;
}

.help-center-not-found p {
  color: #7b899f;
  font-size: 13px;
}

.help-center-not-found button {
  min-height: 40px;
  margin-top: 6px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(120deg, #4e91fa, #735df1);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 960px) {
  .help-center-workspace {
    grid-template-columns: 1fr;
  }

  .help-center-category-panel {
    position: static;
  }

  .help-center-category-panel > div,
  .help-center-category-home {
    display: none;
  }

  .help-center-category-panel nav {
    display: flex;
    padding: 10px;
    overflow-x: auto;
  }

  .help-center-category-panel nav button {
    flex: 0 0 auto;
    grid-template-columns: 24px auto auto;
  }

  .help-center-related > div:last-child {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.admin-page[data-active-feature="help"] .workspace {
    padding-left: 12px;
  }

  .help-center-page {
    width: 100%;
    padding: 20px 12px 34px 0;
  }

  .help-center-hero {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 20px;
  }

  .help-center-manual-button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .help-center-question-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .help-center-question-row {
    grid-template-columns: auto minmax(0, 1fr) 16px;
    gap: 10px;
    padding: 14px 12px;
  }

  .help-center-question-copy > small {
    white-space: normal;
  }

  .help-center-detail-head {
    grid-template-columns: 1fr;
  }

  .help-center-back-list {
    justify-self: start;
  }

  .help-center-detail-card > header {
    padding: 30px 20px 25px;
    text-align: left;
  }

  .help-center-detail-card > header > div {
    justify-content: flex-start;
  }

  .help-center-detail-body {
    width: calc(100% - 36px);
    padding: 28px 0 36px;
  }

  .help-center-detail-action,
  .help-center-unresolved {
    align-items: flex-start;
    flex-direction: column;
  }

  .help-center-feedback-template {
    grid-template-columns: 1fr;
  }

  .help-center-feedback-template button {
    justify-self: start;
  }

  .help-center-related > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }
}
