/* PC 전용 따라하기(product tour) — 학생등록 파일럿 */
:root {
  --cedu-tour-z: 12000;
  --cedu-tour-red: #dc2626;
}

.cedu-tour-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--cedu-tour-z);
  background: rgba(15, 23, 42, 0.42);
  pointer-events: auto;
}

.cedu-tour-spotlight {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 1);
  border: 2.5px solid #ef4444;
  border-radius: 14px;
  box-shadow:
    0 0 0 9999px rgba(15, 23, 42, 0.38),
    0 0 0 4px rgba(239, 68, 68, 0.18),
    0 8px 24px rgba(239, 68, 68, 0.22);
  pointer-events: none;
  transition: top 0.22s ease, left 0.22s ease, width 0.22s ease, height 0.22s ease;
  animation: cedu-tour-pulse 1.6s ease-in-out infinite;
}

/* 학생등록 투어: 모달(+4)·타깃(+2)보다 빨간박스·팁이 위에 있어야 함 */
body.cedu-tour-active .cedu-tour-spotlight {
  z-index: 13060 !important;
}
body.cedu-tour-active .cedu-tour-tip {
  z-index: 13070 !important;
}

@keyframes cedu-tour-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 9999px rgba(15, 23, 42, 0.38),
      0 0 0 4px rgba(239, 68, 68, 0.16),
      0 8px 24px rgba(239, 68, 68, 0.18);
  }
  50% {
    box-shadow:
      0 0 0 9999px rgba(15, 23, 42, 0.38),
      0 0 0 7px rgba(239, 68, 68, 0.28),
      0 10px 28px rgba(239, 68, 68, 0.28);
  }
}

.cedu-tour-target {
  position: relative !important;
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  border-radius: 10px;
  pointer-events: auto !important;
}

/* 학생등록 따라하기 중: 상단·사이드 메뉴는 백드롭으로 차단, 하이라이트 타깃·모달만 조작 */
body.cedu-tour-active #siteNav:has(.cedu-tour-target),
body.cedu-tour-active .att-side-nav:has(.cedu-tour-target) {
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  pointer-events: none;
}
body.cedu-tour-active #siteNav .cedu-tour-target,
body.cedu-tour-active .att-side-nav .cedu-tour-target {
  pointer-events: auto !important;
}
body.cedu-tour-active .site-toolbar:has(.cedu-tour-target) {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  pointer-events: none;
}
body.cedu-tour-active .site-toolbar .cedu-tour-target {
  pointer-events: auto !important;
}
body.cedu-tour-active #stuFormModal {
  z-index: calc(var(--cedu-tour-z) + 4) !important;
}
body.cedu-tour-active #stuFormModal .site-modal {
  pointer-events: auto;
}

/* 출석부 가이드 — 가상 1행 시뮬레이션 (실제 표는 숨김) */
.att-table-wrap {
  position: relative;
}
.att-table-wrap.att-guide-demo-on {
  min-height: 120px;
  background: #ffffff;
}
.att-table-wrap.att-guide-demo-on > #attTable {
  display: none !important;
}
.att-guide-demo {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 10px 12px 12px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #ffffff;
  pointer-events: none;
}
.att-guide-demo[hidden] {
  display: none !important;
}
.att-guide-demo-label {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #b91c1c;
}
.att-guide-demo-name {
  color: #1d4ed8;
  font-weight: 600;
}
.att-guide-demo-table {
  width: 100%;
}
.att-guide-demo-table select,
.att-guide-demo-table textarea,
.att-guide-demo-table button {
  pointer-events: none;
}

.cedu-tour-tip {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 3);
  max-width: min(360px, calc(100vw - 32px));
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  color: #0f172a;
  font-size: 0.92rem;
  line-height: 1.45;
}

/* 하이라이트 박스 바로 아래 — 다음 + 진행 */
.cedu-tour-tip-compact {
  max-width: none;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cedu-tour-tip-compact .cedu-tour-tip-actions {
  display: flex;
  gap: 8px;
  margin: 0;
  align-items: center;
}

.cedu-tour-tip-compact .cedu-tour-step-label {
  margin-left: 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}

.cedu-tour-tip-actions .cedu-tour-next {
  appearance: none;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
  background: #fff;
  color: #334155;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.18);
}

.cedu-tour-tip-actions .cedu-tour-next:hover {
  background: #f8fafc;
  color: #0f172a;
}

.cedu-tour-step-label {
  margin-left: auto;
  font-size: 0.78rem;
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
}

/* 저장 후 엑셀 일괄등록 안내 */
.cedu-tour-excel-tip-backdrop {
  position: fixed;
  inset: 0;
  z-index: calc(var(--cedu-tour-z) + 10);
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.cedu-tour-excel-tip {
  max-width: min(560px, 94vw);
  background: #fff;
  border-radius: 16px;
  border: 3px solid var(--cedu-tour-red);
  padding: 28px 28px 22px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.28);
  text-align: center;
}

.cedu-tour-excel-tip-msg {
  margin: 0 0 22px;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 800;
  line-height: 1.55;
  color: #0f172a;
  letter-spacing: -0.01em;
}

.cedu-tour-excel-tip-ok {
  appearance: none;
  border: none;
  border-radius: 10px;
  padding: 10px 28px;
  background: var(--cedu-tour-red);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.cedu-tour-excel-tip-ok:hover {
  background: #b91c1c;
}

/* 사용설명서 빨간 따라하기 */
.um-tour-start {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 4px;
  padding: 10px 18px;
  border: none;
  border-radius: 10px;
  background: #dc2626;
  color: #fff;
  font-size: 0.98rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.35);
}

.um-tour-start:hover {
  background: #b91c1c;
}

/* display:inline-flex 가 [hidden] 을 덮어쓰지 않도록 */
.um-tour-start[hidden] {
  display: none !important;
}

.um-tour-start-note {
  margin: 0 0 12px;
  font-size: 0.85rem;
  color: #64748b;
}

@media (max-width: 900px) and (orientation: portrait) {
  .um-tour-start,
  .um-tour-start-note {
    display: none !important;
  }
}

/* 출석부 사용방법 — 설명 카드 */
.cedu-att-guide-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--cedu-tour-z);
}
/* 학교성적 등 설명-only: 투명·클릭 통과 / 투어·출석부 가이드는 cedu-tour-backdrop 병행 */
.cedu-att-guide-backdrop:not(.cedu-tour-backdrop) {
  background: transparent;
  pointer-events: none;
}
.cedu-att-guide-backdrop.cedu-guide-block {
  background: transparent;
  pointer-events: auto;
}
.cedu-att-guide-spot {
  z-index: calc(var(--cedu-tour-z) + 5) !important;
  pointer-events: none;
}
.cedu-att-guide-extra {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 5);
  border: 2.5px solid #7c3aed;
  border-radius: 10px;
  background: rgba(196, 181, 253, 0.28);
  box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.28);
  pointer-events: none;
}
.cedu-guide-target {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 2);
  pointer-events: none;
}
/* 출석부 가이드 중: 하이라이트·예시만 백드롭 위 (스포트라이트는 +5라 빨간 박스가 보임) */
body.cedu-att-guide-active .att-table-wrap.att-guide-demo-on {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 2);
}
body.cedu-att-guide-active [data-alarm-guide].cedu-guide-target {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  pointer-events: none;
  box-shadow: 0 0 0 2px #fecaca;
  border-radius: 10px;
}
body.cedu-att-guide-active .site-toolbar:has(.cedu-guide-target),
body.cedu-att-guide-active .site-field.cedu-guide-target,
body.cedu-att-guide-active #attCancelDay.cedu-guide-target,
body.cedu-att-guide-active #attExport.cedu-guide-target,
body.cedu-att-guide-active #attBulkDmSend.cedu-guide-target,
body.cedu-att-guide-active .att-side-nav:has(.cedu-att-guide-extra),
body.cedu-att-guide-active .att-side-nav a.cedu-guide-target {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  pointer-events: none;
}
.cedu-att-guide-tip {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 6);
  width: min(380px, calc(100vw - 24px));
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #fecaca;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  color: #0f172a;
  pointer-events: auto;
}
.cedu-att-guide-kicker {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #dc2626;
}
.cedu-att-guide-tip h2 {
  margin: 0 0 8px;
  font-size: 1rem;
}
.cedu-att-guide-body {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #334155;
}
.cedu-att-guide-samples {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 6);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  max-width: min(520px, calc(100vw - 32px));
  pointer-events: none;
}
.cedu-att-guide-samples[hidden] {
  display: none !important;
}
.cedu-att-guide-sample-fig {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cedu-att-guide-sample-fig figcaption {
  font-size: 0.72rem;
  font-weight: 700;
  color: #b91c1c;
  text-align: center;
}
.cedu-att-guide-sample {
  display: block;
  width: auto;
  max-width: min(240px, 42vw);
  max-height: min(52vh, 420px);
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
  background: #fff;
  pointer-events: none;
}
.cedu-att-guide-samples.is-large {
  max-width: min(1200px, calc(100vw - 40px));
}
.cedu-att-guide-samples.is-large .cedu-att-guide-sample {
  max-width: min(1200px, calc(100vw - 40px));
  width: min(1200px, calc(100vw - 40px));
  max-height: min(82vh, 800px);
  object-fit: contain;
}
/* 출석부 가이드 전용(4/11·6/11) — 알림톡설정 가이드는 같은 사진이지만 영향 없음 */
.cedu-att-guide-samples.cedu-att-guide-samples--att {
  flex-wrap: nowrap;
  align-items: flex-start;
  max-width: none;
}
.cedu-att-guide-samples--att .cedu-att-guide-sample {
  max-width: 312px;
  max-height: min(546px, 68vh);
}

/* 가이드 설명 카드: 화면 안에 들어가게, 내용이 길면 카드 안에서만 스크롤 */
.cedu-att-guide-tip,
.cedu-tour-tip:not(.cedu-tour-tip-compact) {
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cedu-tour-excel-tip {
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* 시간표 튜토리얼 4/14·5/14 — 빨간 「Click」 말풍선 (1초 깜빡임) */
.tte-guide-click-label {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 7);
  pointer-events: none;
  padding: 5px 12px;
  border-radius: 10px;
  background: #dc2626;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.4);
  animation: tte-guide-click-blink 1s steps(1, end) infinite;
}
.tte-guide-click-label[hidden] {
  display: none !important;
}
.tte-guide-click-label::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 18px;
  border: 6px solid transparent;
  border-top-color: #dc2626;
}
.tte-guide-click-label.is-below::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: #dc2626;
}
@keyframes tte-guide-click-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.15;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tte-guide-click-label {
    animation: none;
  }
}
/* 학사일정 참고사항 마무리 — 화면 중앙 + 확인 클릭 가능 */
.cedu-acal-finish-backdrop {
  z-index: calc(var(--cedu-tour-z) + 20);
  pointer-events: auto;
}
.cedu-acal-finish-backdrop .cedu-tour-excel-tip {
  pointer-events: auto;
  position: relative;
  left: auto;
  top: auto;
}
/* 단일 이미지(발송 단계)도 samples 래퍼 없이 쓰일 수 있음 — 호환 */
img.cedu-att-guide-sample:not(.cedu-att-guide-sample-fig img) {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 6);
}
.cedu-att-guide-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.cedu-att-guide-next,
.cedu-att-guide-prev,
.cedu-att-guide-end {
  appearance: none;
  border: none;
  border-radius: 8px;
  padding: 7px 12px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
}
.cedu-att-guide-next {
  background: #dc2626;
  color: #fff;
}
.cedu-att-guide-next:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.cedu-att-guide-prev,
.cedu-att-guide-end {
  background: #f1f5f9;
  color: #334155;
}

/* 시간표 튜토리얼 — 드래그 네비게이션 */
.tte-guide-drag-nav {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: calc(var(--cedu-tour-z) + 2);
  pointer-events: none;
  overflow: visible;
}
.tte-guide-drag-label {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 3);
  pointer-events: none;
  padding: 6px 12px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
  animation: tte-guide-drag-pulse 1.2s ease-in-out infinite;
}
@keyframes tte-guide-drag-pulse {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

/* 하이라이트 타깃은 배경 위에서 클릭 가능 */
.tte-guide-hit.cedu-tour-target {
  pointer-events: auto !important;
}

/* 드래그 가능 드롭 칸 안내 */
.tte-guide-drop-hint {
  position: relative !important;
  z-index: calc(var(--cedu-tour-z) + 2) !important;
  background: #fef2f2 !important;
  outline: 2.5px solid #dc2626 !important;
  outline-offset: -2px;
  animation: tte-guide-drop-blink 1.1s ease-in-out infinite;
  pointer-events: auto !important;
}
@keyframes tte-guide-drop-blink {
  0%,
  100% {
    box-shadow: inset 0 0 0 0 rgba(220, 38, 38, 0.15);
  }
  50% {
    box-shadow: inset 0 0 0 4px rgba(220, 38, 38, 0.28);
  }
}

/* 학생추가 팝업 — 투어 시 우측 설명 */
.stu-modal-body-split {
  display: block;
}

.stu-modal-main {
  min-width: 0;
}

#stuFormModal .site-modal.is-tour-wide {
  max-width: min(1080px, calc(100vw - 32px));
  width: min(1080px, calc(100vw - 32px));
}

#stuFormModal .site-modal.is-tour-wide .stu-modal-body-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 16px;
  align-items: start;
}

.stu-tour-guide-panel {
  border: 1px solid #fecaca;
  background: #fff7f7;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #334155;
  max-height: min(70vh, 640px);
  overflow: auto;
}

.stu-tour-guide-panel h3 {
  margin: 0 0 10px;
  font-size: 0.92rem;
  color: #dc2626;
}

.stu-tour-guide-panel dl {
  margin: 0;
}

.stu-tour-guide-panel dt {
  margin: 0 0 2px;
  font-weight: 800;
  font-size: 0.9rem;
  color: #0f172a;
}

.stu-tour-guide-item {
  margin: 0;
  padding: 6px 8px;
  border-radius: 8px;
}

.stu-tour-guide-item.cedu-tour-target {
  background: #fff;
}

.stu-tour-guide-panel dd {
  margin: 0 0 0 0;
  color: #475569;
  white-space: pre-line;
}

#stuFormClose.is-tour-locked,
#stuFormModal .site-modal.is-tour-close-locked > .site-modal-close {
  pointer-events: none !important;
  opacity: 0.35;
  cursor: not-allowed;
}

.cedu-tour-tip-actions .cedu-tour-end {
  appearance: none;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid #dc2626;
  background: #fff;
  color: #dc2626;
}

.cedu-tour-tip-actions .cedu-tour-end:hover {
  background: #fef2f2;
}

.stu-tour-save-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
}

.stu-tour-save-hint {
  color: #dc2626;
  font-size: 0.88rem;
  font-weight: 700;
  margin-left: 4px;
}

@media (max-width: 900px) {
  #stuFormModal .site-modal.is-tour-wide .stu-modal-body-split {
    grid-template-columns: 1fr;
  }
  .stu-tour-guide-panel {
    display: none !important;
  }
}

/* 보강출석부사용방법 — 가상 데모 */
[data-mk-guide-hide="1"] {
  display: none !important;
}
.mk-guide-att-host,
.mk-guide-mk-host {
  margin-top: 8px;
}
.mk-guide-att-table-wrap {
  overflow: auto;
  border: 1px solid var(--site-border, #e2e8f0);
  border-radius: 10px;
}
.mk-guide-att-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.mk-guide-att-table th,
.mk-guide-att-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 10px;
  text-align: left;
}
.mk-guide-att-table th {
  background: #f8fafc;
}
.att-status-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.mk-guide-reg-backdrop,
.mk-guide-edit-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: calc(var(--cedu-tour-z) + 4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.mk-guide-reg-backdrop[hidden],
.mk-guide-edit-backdrop[hidden] {
  display: none !important;
}
body.cedu-mk-guide-active .mk-guide-reg-modal.cedu-guide-target,
body.cedu-mk-guide-active .mk-guide-reg-modal .cedu-guide-target,
body.cedu-mk-guide-active .mk-modal.cedu-guide-target,
body.cedu-mk-guide-active .mk-modal .cedu-guide-target,
body.cedu-mk-guide-active [data-mk-guide].cedu-guide-target {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 8) !important;
  pointer-events: none;
}
body.cedu-mk-guide-active .mk-guide-mk-host .mk-filter-row button,
body.cedu-mk-guide-active .mk-guide-mk-host .mk-view-toggle button,
body.cedu-mk-guide-active .mk-guide-mk-host .site-btn {
  pointer-events: none;
}
.mk-guide-cal-grid .mk-cal-chip {
  pointer-events: none;
}

/* 학사일정 월간달력 / 시험기록 사용방법 */
[data-acal-guide-hide="1"],
[data-sex-guide-hide="1"] {
  display: none !important;
}
.acal-guide-host {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 3);
  top: 88px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.acal-guide-toolbar-clone {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.acal-guide-modal-backdrop,
.sex-guide-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: calc(var(--cedu-tour-z) + 4);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 16px 16px 16px max(24px, 4vw);
  pointer-events: none;
}
.acal-guide-modal-backdrop[hidden],
.sex-guide-modal-backdrop[hidden] {
  display: none !important;
}
.sex-guide-host {
  position: fixed;
  z-index: calc(var(--cedu-tour-z) + 3);
  left: 220px;
  right: 20px;
  top: 100px;
  bottom: 20px;
  overflow: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16);
  pointer-events: none;
}
.sex-guide-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.sex-guide-table {
  font-size: 0.78rem;
}
.sex-guide-modal-split {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(280px, 360px);
  gap: 12px;
  align-items: stretch;
  width: min(780px, 70vw);
  max-height: 90vh;
  margin-right: 8px;
}
.sex-guide-modal-form {
  max-height: 90vh;
  overflow: auto;
  width: 100%;
  box-sizing: border-box;
}
.sex-guide-help-panel {
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  overflow: auto;
  max-height: 90vh;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  width: 100%;
  box-sizing: border-box;
}
.sex-guide-help-panel h3 {
  margin: 0 0 10px;
  font-size: 0.95rem;
  color: #0f172a;
}
.sex-guide-help-row {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
  font-size: 0.8rem;
  line-height: 1.4;
}
.sex-guide-help-row strong {
  color: #1d4ed8;
}
.sex-guide-help-row span {
  color: #475569;
}
body.cedu-acal-guide-active [data-acal-guide].cedu-guide-target,
body.cedu-acal-guide-active [data-sex-guide].cedu-guide-target {
  position: relative;
  z-index: calc(var(--cedu-tour-z) + 8) !important;
}
