/* Bulk Assessment Entry modal */
.modal-content.bulk-assessment-modal { width: min(1180px, 96vw); max-width: 1180px; }
.ba-intro { margin: -6px 0 16px; font-size: 12px; color: var(--academy-muted, #726d63); }
.ba-steps { display: flex; flex-direction: column; gap: 14px; }
.ba-step { border: 1px solid var(--academy-line, #d8d2c5); border-radius: 10px; padding: 14px; background: var(--academy-card, #fbfaf6); }
.ba-step-label { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; color: var(--academy-ink, #17202a); }
.ba-step-label span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--academy-ink, #17202a); color: #fff; font-size: 10px; }
.ba-step-label small { font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--academy-muted, #726d63); }
.ba-row { display: flex; gap: 12px; flex-wrap: wrap; }
.ba-field { display: flex; flex-direction: column; gap: 5px; font-size: 11px; font-weight: 800; color: var(--academy-muted, #726d63); min-width: 160px; }
.ba-grow { flex: 1 1 240px; }
.ba-field select, .ba-field input { padding: 9px 10px; border: 1px solid var(--academy-line, #d8d2c5); border-radius: 8px; background: #fff; font: inherit; font-size: 13px; font-weight: 600; color: var(--academy-ink, #17202a); }
.ba-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.ba-presets button { border: 1px solid var(--academy-line, #d8d2c5); background: #fff; border-radius: 999px; padding: 5px 11px; font: inherit; font-size: 11px; font-weight: 800; color: var(--academy-ink, #17202a); cursor: pointer; }
.ba-presets button:hover { background: var(--academy-paper, #f2efe7); }
.ba-presets .ba-preset-clear { color: #8f2f27; border-color: #d9b7b2; }
.ba-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; max-height: 230px; overflow: auto; }
.ba-choice-title { font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: var(--academy-red, #a53f35); margin-bottom: 4px; }
.ba-choice { display: flex; align-items: center; gap: 7px; padding: 4px 0; font-size: 12px; color: var(--academy-ink, #17202a); cursor: pointer; }
.ba-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.ba-hint { font-size: 11px; color: var(--academy-muted, #726d63); }
.ba-warning { margin-bottom: 10px; padding: 10px 12px; border-radius: 8px; border-left: 3px solid var(--academy-gold, #b79643); background: #fffaf0; font-size: 12px; line-height: 1.5; }
.ba-grid-wrap { overflow: auto; max-height: 52vh; border: 1px solid var(--academy-line, #d8d2c5); border-radius: 8px; background: #fff; }
.ba-grid { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 12px; }
.ba-grid th { position: sticky; top: 0; z-index: 2; background: #f7f5ef; padding: 8px; text-align: left; font-size: 10px; font-weight: 900; color: #5f584a; border-bottom: 1px solid #d8d3c7; min-width: 92px; vertical-align: bottom; }
.ba-grid th small { display: block; font-weight: 600; color: #8d877a; margin-top: 2px; }
.ba-grid td { padding: 4px 6px; border-bottom: 1px solid #efede6; vertical-align: middle; }
.ba-grid td strong { display: block; white-space: nowrap; }
.ba-grid td small { display: block; color: #8d877a; font-size: 10px; white-space: nowrap; }
.ba-grid .ba-sticky { position: sticky; left: 0; z-index: 1; background: #fff; min-width: 170px; box-shadow: 1px 0 0 #efede6; }
.ba-grid th.ba-sticky { z-index: 3; background: #f7f5ef; }
.ba-grid input { width: 100%; min-width: 78px; padding: 7px 8px; border: 1px solid #e3ded2; border-radius: 6px; font: inherit; font-size: 13px; background: #fdfcf9; }
.ba-grid input[type="date"] { min-width: 130px; }
.ba-grid input:focus { border-color: var(--academy-gold, #b79643); background: #fff; outline: none; }
.ba-grid input.ba-invalid { border-color: #c0392b; background: #fff4f2; }
.ba-remove { border: 0; background: transparent; color: #a0988a; font-size: 18px; cursor: pointer; padding: 0 6px; }
.ba-remove:hover { color: #8f2f27; }
.ba-empty { padding: 30px 16px; text-align: center; font-size: 12px; color: var(--academy-muted, #726d63); }
.ba-footer { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.ba-summary { flex: 1; font-size: 12px; color: var(--academy-muted, #726d63); }
.ba-error { color: #b42318; font-weight: 700; }
#baSaveBtn:disabled { opacity: .5; cursor: not-allowed; }
.assessment-bulk-action { margin-top: 14px; }
