/* Approved record entry: native dialog, canonical fields, and one body scroll owner. */
body.board-page #studentBoardToolbar #studentBoardRecordOpen { flex: 0 0 auto; width: auto; min-width: 120px; height: 44px; margin: 0; padding: 9px 17px; border: 1px solid #7149d6; border-radius: 8px; color: #fff; background: #7149d6; font: inherit; font-weight: 700; white-space: nowrap; }
body.board-page #studentBoardRecordOpen[hidden] { display: none !important; }
body.board-page #studentBoardRecordDialog { inset: 0; width: min(840px, calc(100vw - 40px)); height: fit-content; min-height: 0; max-width: none; max-height: calc(100dvh - 40px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #e2daed; border-radius: 18px; background: #fff; color: #2d2636; color-scheme: light; }
body.board-page #studentBoardRecordDialog::backdrop { background: #30264b66; backdrop-filter: blur(3px); }
body.board-page #studentBoardRecordForm { display: flex; flex-direction: column; gap: 0; max-height: calc(100dvh - 42px); min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; color: #2d2636; font-size: 15px; }
body.board-page #studentBoardRecordDialog .student-board-record-header { display: flex; flex: 0 0 auto; align-items: start; justify-content: space-between; gap: 20px; padding: 26px 28px 20px; }
body.board-page #studentBoardRecordFormTitle { margin: 0; color: #2d2636; font-size: 25px; line-height: 1.35; overflow-wrap: anywhere; }
body.board-page #studentBoardRecordDescription { margin: 8px 0 0; color: #756a7f; font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
body.board-page #studentBoardRecordClose { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 7px; background: #fff; color: #6d6279; font-size: 23px; }
body.board-page #studentBoardRecordDialog .student-board-record-scroll { flex: 1 1 auto; min-height: 0; padding: 0 28px 20px; overflow-y: auto; overscroll-behavior: contain; }
body.board-page #studentBoardRecordDialog .student-board-record-columns { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: stretch; gap: 16px; }
body.board-page #studentBoardRecordFields, body.board-page #studentBoardRecordDialog .student-board-record-photo-panel { min-width: 0; margin: 0; padding: 18px; border: 1px solid #e3ddea; border-radius: 12px; background: #fff; }
body.board-page #studentBoardRecordFields { display: flex; flex-direction: column; align-items: stretch; gap: 21px; }
body.board-page #studentBoardRecordFields .board-record-answer-field { display: flex; flex-direction: column; gap: 9px; min-width: 0; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
body.board-page #studentBoardRecordFields :is(strong, legend) { margin: 0; padding: 0; color: #42364c; font-size: 17px; font-weight: 650; line-height: 1.6; }
body.board-page #studentBoardRecordFields :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 42px; height: auto; margin: 0; padding: 9px 10px; border: 1px solid #d8cfe3; border-radius: 7px; background: #fff; color: #342c3d; font: inherit; }
body.board-page #studentBoardRecordFields textarea { resize: vertical; line-height: 1.6; }
body.board-page #studentBoardRecordFields .board-record-choice-group { display: flex; flex-direction: column; align-items: start; gap: 6px; }
body.board-page #studentBoardRecordFields .board-record-choice-group label { display: flex; align-items: center; gap: 9px; min-height: 44px; color: #41354c; font-weight: 500; }
body.board-page #studentBoardRecordFields input[type="checkbox"] { flex: 0 0 19px; width: 19px; height: 19px; min-height: 0; margin: 0; padding: 0; accent-color: #7149d6; }
body.board-page #studentBoardRecordFields .board-record-rating { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding-top: 8px; }
body.board-page #studentBoardRecordFields .board-record-rating label { position: relative; display: block; min-width: 0; margin: 0; }
body.board-page #studentBoardRecordFields .board-record-rating input { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; opacity: 0; }
body.board-page #studentBoardRecordFields .board-record-rating span { display: grid; place-items: center; height: 44px; border: 1px solid #d7cde3; border-radius: 7px; color: #4c4056; background: #fff; }
body.board-page #studentBoardRecordFields .board-record-rating input:checked + span { border-color: #7149d6; color: #fff; background: #7149d6; }
body.board-page #studentBoardRecordFields .board-record-rating input:focus-visible + span { outline: 3px solid #bda5ed; outline-offset: 2px; }
body.board-page #studentBoardRecordFields .board-record-rating button { grid-column: 1 / -1; justify-self: start; padding: 3px 0; border: 0; color: #7a648f; background: transparent; font: inherit; font-size: 12px; text-decoration: underline; }
body.board-page #studentBoardRecordPhotoLabel { margin: 0 0 14px; color: #42364c; font-size: 17px; }
body.board-page #studentBoardRecordDialog .student-board-record-photo-panel { display: flex; flex-direction: column; }
body.board-page #studentBoardRecordDialog .student-board-record-photo-select { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; align-items: center; gap: 14px; min-height: 440px; padding: 24px 12px; border: 1px dashed #e5deef; border-radius: 9px; background: #fbf9fe; text-align: center; }
body.board-page #studentBoardRecordDialog .student-board-record-photo-select > i { color: #7149d6; font-size: 44px; }
body.board-page #studentBoardRecordDialog .student-board-record-photo-select label { color: #74697e; font-weight: 500; }
body.board-page #studentBoardRecordPhotos { box-sizing: border-box; flex: none; width: 100%; min-width: 0; max-width: 280px; height: 44px; min-height: 44px; margin: 0; padding: 8px; border: 1px solid #d8cfe3; border-radius: 7px; background: #fff; color: #756a7f; font-size: 12px; }
body.board-page #studentBoardRecordPhotos::file-selector-button { padding: 4px 7px; border: 0; color: #5f43a0; background: #f2edfb; font: inherit; }
body.board-page #studentBoardRecordDialog .student-board-record-photo-select p { margin: 0; color: #8b7f94; font-size: 12px; line-height: 1.6; }
body.board-page #studentBoardRecordForm .field-help { color: #8b7f94; font-size: 12px; line-height: 1.5; }
body.board-page #studentBoardRecordPhotoNotice { color: #946128; font-size: 13px; line-height: 1.6; }
body.board-page #studentBoardRecordCurrentPhotos .board-file-gallery { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 14px; }
body.board-page #studentBoardRecordCurrentPhotos .board-file-card { min-width: 0; padding: 10px; border-color: #e3dbea; background: #faf8fd; color: #66576f; overflow-wrap: anywhere; }
body.board-page #studentBoardRecordCurrentPhotos .board-file-card > :is(strong, span) { display: block; color: #66576f; font-size: 12px; line-height: 1.6; }
body.board-page #studentBoardRecordCurrentPhotos .board-file-card > .board-row-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding-top: 4px; }
body.board-page #studentBoardRecordCurrentPhotos img { width: 100%; height: auto; max-height: 180px; object-fit: contain; }
body.board-page #studentBoardRecordCurrentPhotos .board-row-actions :is(button,a) { flex: 0 0 auto; min-width: 44px; min-height: 44px; margin: 0; padding: 5px 9px; font-size: 12px; }
body.board-page #studentBoardRecordPolicy { margin: 18px 0 0; padding: 14px 17px; border: 1px solid #d9c8ff; border-radius: 10px; color: #6846bc; background: #f7f3ff; font-size: 14px; line-height: 1.7; }
body.board-page #studentBoardRecordStatus { margin: 10px 0; color: #80668f; font-size: 12px; line-height: 1.7; }
body.board-page #studentBoardRecordConflict { margin: 12px 0; padding: 14px; border: 1px solid #e6c993; border-radius: 9px; color: #795c33; background: #fffaf1; font-size: 13px; }
body.board-page #studentBoardRecordLatest { max-height: 170px; overflow-y: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
body.board-page #studentBoardRecordConflict > div { display: flex; flex-wrap: wrap; gap: 8px; }
body.board-page #studentBoardRecordConflict button { min-height: 38px; padding: 7px 10px; border: 1px solid #d9c294; border-radius: 6px; color: #795c33; background: #fff; font: inherit; }
body.board-page #studentBoardRecordGuide { color: #85758e; font-size: 12px; line-height: 1.8; }
body.board-page #studentBoardRecordGuide summary { cursor: pointer; }
body.board-page #studentBoardRecordGuide ol { margin: 8px 0 0; padding-left: 20px; }
body.board-page #studentBoardRecordDialog .student-board-record-footer { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 28px 22px; border-top: 1px solid #ede7f2; }
body.board-page #studentBoardRecordDialog .student-board-record-footer > div { display: flex; gap: 10px; }
body.board-page #studentBoardRecordDialog .student-board-record-footer button { flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; padding: 10px 22px; border: 1px solid #d8cfe3; border-radius: 8px; background: #fff; color: #5b4d64; font: inherit; font-weight: 650; }
body.board-page #studentBoardRecordDialog #studentBoardRecordSave { min-width: 138px; border-color: #7149d6; background: #7149d6; color: #fff; }
body.board-page #studentBoardRecordDialog :is(button, input, select, textarea):focus-visible { outline: 3px solid #bda5ed; outline-offset: 2px; }
body.board-page #studentBoardRecordDialog :is(button, input, select, textarea):disabled { opacity: .55; cursor: not-allowed; }
body.board-page #studentBoardRecordDialog [hidden] { display: none !important; }
@media (max-width: 760px) {
  body.board-page #studentBoardRecordDialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  body.board-page #studentBoardRecordForm { max-height: calc(100dvh - 26px); }
  body.board-page #studentBoardRecordDialog .student-board-record-header { padding: 20px 18px 16px; }
  body.board-page #studentBoardRecordDialog .student-board-record-scroll { padding-inline: 18px; }
  body.board-page #studentBoardRecordDialog .student-board-record-columns { grid-template-columns: minmax(0, 1fr); }
  body.board-page #studentBoardRecordDialog .student-board-record-photo-select { min-height: 300px; }
  body.board-page #studentBoardRecordDialog .student-board-record-footer { padding: 14px 18px; }
}
