.profile-review-notice { display: grid; gap: var(--wa-space-m); }
#teacher-profile-hidden::part(header) { padding-block: var(--wa-space-m); }
#teacher-profile-hidden::part(title) { line-height: var(--wa-line-height-normal); }
.profile-review-notice > :where(p,ul,form) { margin: 0; }
.profile-review-notice form p { margin-block: 0 var(--wa-space-m); }
.profile-review-notice ul { padding-inline-start: var(--wa-space-l); }
.profile-review-notice li { margin-block: var(--wa-space-m); }
.profile-review-comment { white-space: pre-wrap; overflow-wrap: break-word; }
.profile-review-reason { display: grid; gap: var(--wa-space-xs); margin: 0; }
.profile-review-reason dt { font-weight: var(--wa-font-weight-bold); }
.profile-review-reason dd { margin: 0; }
.site-nav .profile-review-trigger { justify-content: flex-start; border: 0; background: transparent; font: inherit; text-align: start; cursor: pointer; }
.site-nav .profile-review-trigger[hidden] { display: none; }
.site-nav .site-nav-item.profile-review-trigger > :is(i,span) { color: var(--wa-color-danger-on-quiet); }
.profile-review-workspace { display: grid; gap: var(--wa-space-l); min-inline-size: 0; }
.profile-review-workspace > p { margin: 0; }
.profile-review-workspace #profile-review-title { font-size: var(--wa-font-size-xl); font-weight: var(--wa-font-weight-bold); margin-block: var(--wa-space-l) var(--wa-space-m); }
.profile-review-workspace h3 { font-size: var(--wa-font-size-l); font-weight: var(--wa-font-weight-semibold); margin-block: var(--wa-space-l) var(--wa-space-m); }
.profile-review-workspace :is(select,textarea,input[type="number"]) { inline-size: 100%; padding: var(--wa-space-m); box-sizing: border-box; border: var(--wa-border-width-s) solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-m); background: var(--wa-color-surface-raised); color: var(--wa-color-text-normal); font: inherit; }
.profile-review-workspace :is(select,input[type="number"]) { max-inline-size: 24rem; }
.profile-review-workspace :is(select,textarea,input):focus-visible { outline: var(--wa-focus-ring); outline-offset: var(--wa-focus-ring-offset); }
.profile-review-workspace section { min-inline-size: 0; }
.profile-review-panel { display: grid; gap: var(--wa-space-m); margin-block: var(--wa-space-m); }
.profile-review-panel > :where(h3,p) { margin: 0; }
.profile-review-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wa-space-m); padding-block: var(--wa-space-m); border-block-end: var(--wa-border-width-s) solid var(--wa-color-surface-border); }
.profile-review-decline { display: grid; gap: var(--wa-space-m); margin-block: var(--wa-space-l); max-inline-size: var(--sonub-form-width); }
.profile-review-decline fieldset { display: grid; gap: var(--wa-space-s); padding: var(--wa-space-m); border: var(--wa-border-width-s) solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-m); background: var(--wa-color-surface-raised); }
.profile-review-decline label { display: flex; gap: var(--wa-space-s); align-items: baseline; min-block-size: 2.5rem; }
.profile-review-decline input[type="checkbox"] { inline-size: 1.125rem; block-size: 1.125rem; flex-shrink: 0; accent-color: var(--wa-color-brand-fill-loud); }
.profile-review-row[aria-current="true"] { background: color-mix(in srgb, var(--wa-color-brand-fill-loud) 8%, var(--wa-color-surface-raised)); border-radius: var(--wa-border-radius-m); padding-inline: var(--wa-space-s); }
.profile-review-next { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wa-space-m); margin: 0; }
#profile-evaluation-detail { scroll-margin-block-start: 5rem; }
.profile-review-history { margin-block: var(--wa-space-m); padding: var(--wa-space-m); background: var(--wa-color-surface-lowered); border-radius: var(--wa-border-radius-m); }
.profile-review-workspace .profile-review-suspend { justify-self: start; border-color: var(--wa-color-danger-border-loud); background: var(--wa-color-danger-fill-loud); color: var(--wa-color-danger-on-loud); }
.profile-review-workspace .profile-review-suspend:hover { background: color-mix(in srgb, var(--wa-color-danger-fill-loud) 88%, black); }
/* 심사 모달 — 항목 체크 칸 · 체크한 항목 · 학생 공개 여부(SSOT 2절 "항목 체크와 메시지") */
.profile-review-check { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 2rem; min-block-size: 2rem; cursor: pointer; }
.profile-review-check input { inline-size: 1.25rem; block-size: 1.25rem; margin: 0; cursor: pointer; accent-color: var(--wa-color-danger-fill-loud); }
.profile-review-check:has(input:checked) { border-radius: var(--wa-border-radius-s); background: var(--wa-color-danger-fill-quiet); }
.profile-review-flags { display: flex; flex-wrap: wrap; gap: var(--wa-space-xs); margin: 0; padding: 0; list-style: none; }
.profile-review-flags li { padding: var(--wa-space-3xs) var(--wa-space-s); border: var(--wa-border-width-s) solid var(--wa-color-danger-border-normal); border-radius: 999px; background: var(--wa-color-danger-fill-quiet); color: var(--wa-color-danger-on-quiet); font-size: var(--wa-font-size-s); }
.profile-review-row .profile-review-flags { flex-basis: 100%; }
.profile-review-visibility { margin: 0; color: var(--wa-color-success-on-quiet); font-weight: var(--wa-font-weight-semibold); }
.profile-review-visibility.is-hidden { color: var(--wa-color-danger-on-quiet); }
/* Filament 는 afterLabel 을 줄 끝으로 민다 — 체크 칸은 이름 바로 옆에 둔다 */
.fi-in-entry-label-ctn:has(.profile-review-check) { justify-content: flex-start; gap: var(--wa-space-s); }
.fi-in-entry-label-ctn:has(.profile-review-check) > .fi-sc { flex: 0 0 auto; margin-inline-start: 0; justify-content: flex-start; }
/* 체크한 항목 바로 아래의 메시지 칸 — 그 항목에 어떤 문제가 있는지(SSOT 2절 "항목마다 메시지") */
.profile-review-note { box-sizing: border-box; inline-size: 100%; display: grid; gap: var(--wa-space-2xs); margin-block-start: var(--wa-space-xs); padding: var(--wa-space-s); border-inline-start: 3px solid var(--wa-color-danger-border-loud); border-radius: var(--wa-border-radius-s); background: var(--wa-color-danger-fill-quiet); }
.profile-review-note label { color: var(--wa-color-danger-on-quiet); font-size: var(--wa-font-size-s); font-weight: var(--wa-font-weight-semibold); }
.profile-review-note textarea { inline-size: 100%; min-inline-size: 0; padding: var(--wa-space-xs) var(--wa-space-s); border: var(--wa-border-width-s) solid var(--wa-color-neutral-border-normal); border-radius: var(--wa-border-radius-s); background: var(--wa-color-surface-default); color: var(--wa-color-text-normal); font: inherit; resize: vertical; }
.profile-review-note textarea:focus-visible { outline: var(--wa-focus-ring); outline-offset: var(--wa-focus-ring-offset); }
.profile-review-flag-notes { display: grid; gap: var(--wa-space-xs); margin: 0; padding: 0; list-style: none; }
.profile-review-flag-notes li { display: grid; gap: var(--wa-space-3xs); padding: var(--wa-space-xs) var(--wa-space-s); border-inline-start: 3px solid var(--wa-color-danger-border-loud); background: var(--wa-color-danger-fill-quiet); }
.profile-review-note-missing { color: var(--wa-color-danger-on-quiet); font-style: italic; }
/* Filament 은 belowContent 를 가로 flex 줄에 넣어 글 길이만큼만 넓힌다 — 메시지 칸은 그 항목 칸 폭을 다 쓴다 */
.fi-sc > :has(> .fi-sc-component > .profile-review-note) { flex: 1 1 100%; min-inline-size: 0; }
