#staffCorrectionDialog { width:min(620px,calc(100% - 24px)); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); padding:0; border:1px solid #dce4ef; border-radius:18px; color:#17263b; background:#fff; box-shadow:0 24px 72px rgba(20,37,59,.2); }
#staffCorrectionDialog[open] { animation:correction-enter .2s cubic-bezier(.16,1,.3,1); }
#staffCorrectionDialog::backdrop { background:rgba(20,34,53,.48); }
#staffCorrectionDialog [hidden],#myCorrectionRequests[hidden] { display:none!important; }
#staffCorrectionForm { display:flex; flex-direction:column; max-height:inherit; margin:0; text-align:left; }
#staffCorrectionForm header,#staffCorrectionForm footer { padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; }
#staffCorrectionForm header { border-bottom:1px solid #e5ebf2; }
.correction-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.correction-heading-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid #dce5ef; border-radius:11px; background:#f2f6fb; color:#355f91; flex:none; }
.correction-heading-icon svg { width:22px; height:22px; }
#staffCorrectionForm h2 { margin:0; font-size:19px; font-weight:700; line-height:1.3; letter-spacing:-.2px; }
#correctionSubtitle { margin:5px 0 0; color:#6b7c91; font-size:13px; line-height:1.5; }
#closeStaffCorrection { display:grid; place-items:center; width:38px; min-height:38px; padding:0; border:1px solid #dce4ef; border-radius:9px; background:#fff; color:#64748b; flex:none; }
#closeStaffCorrection svg { width:18px; height:18px; }
#staffCorrectionForm .correction-content { padding:20px 24px; overflow:auto; overscroll-behavior:contain; min-height:0; }
.correction-record-summary { padding:16px; border:1px solid #e0e8f2; border-radius:11px; background:#f7f9fc; margin-bottom:12px; }
.correction-record-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; }
.correction-record-heading strong { font-size:15px; font-weight:700; }
#correctionRecordDate { color:#64748b; font-size:13px; }
.correction-existing { display:grid; grid-template-columns:1fr 1fr; gap:16px; border-top:1px solid #e1e8f1; padding-top:12px; margin-top:12px; }
.correction-existing div { display:grid; gap:4px; }
.correction-existing span { color:#697b91; font-size:12px; }
.correction-existing strong { font-size:16px; font-weight:650; font-variant-numeric:tabular-nums; }
.correction-help { margin:0 0 20px; color:#64748b; font-size:13px; line-height:1.6; }
.correction-times { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
#staffCorrectionForm label { display:grid; gap:8px; color:#334a65; font-size:14px; font-weight:600; line-height:1.4; }
.correction-field { margin-top:18px; }
#staffCorrectionForm label small { color:#738298; font-size:12px; font-weight:400; }
#staffCorrectionForm input,#staffCorrectionForm textarea { box-sizing:border-box; width:100%; max-width:100%; min-height:46px; margin:0; padding:11px 12px; border:1px solid #ccd8e6; border-radius:9px; background:#fff; color:#17263b; font-size:16px; font-weight:400; line-height:1.5; }
#staffCorrectionForm textarea { min-height:96px; max-height:180px; resize:vertical; }
#staffCorrectionForm input:focus,#staffCorrectionForm textarea:focus { border-color:#527daf; outline:0; box-shadow:0 0 0 3px #e6eef8; }
#staffCorrectionForm input::placeholder,#staffCorrectionForm textarea::placeholder { color:#8995a6; font-size:14px; }
#correctionFeedback { padding:10px 12px; margin:16px 0 0; border-radius:8px; color:#345476; background:#eef4fb; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
#correctionFeedback:empty { display:none; }
#correctionFeedback[data-tone="error"] { background:#fff1f1; color:#a33737; }
#correctionFeedback[data-tone="success"] { background:#edf8f1; color:#28704b; }
#staffCorrectionForm footer { border-top:1px solid #e5ebf2; background:#fbfcfe; flex-wrap:wrap; }
#staffCorrectionForm footer button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 15px; border-radius:9px; font-size:14px; font-weight:600; line-height:1.3; transition:background-color .16s ease,transform .16s ease; }
.correction-secondary-action { border:1px solid #d8e2ee; color:#3b5c83; background:white; }
.correction-primary-action { border:1px solid #275f9f; color:white; background:#275f9f; }
.correction-primary-action svg { width:17px; height:17px; }
.correction-primary-action:hover { background:#214f84; }
.correction-secondary-action:hover,#closeStaffCorrection:hover { background:#edf3fa; }
#staffCorrectionForm button:active,.today-correction-button:active,#myCorrectionRequests:active { transform:scale(.98); }
#staffCorrectionForm button:focus-visible,.today-correction-button:focus-visible,#myCorrectionRequests:focus-visible { outline:2px solid #527daf; outline-offset:3px; }
#staffCorrectionForm button:disabled { opacity:.6; cursor:wait; }
.correction-request-status { border:1px solid #e0e8f2; border-radius:9px; padding:13px; margin:12px 0 0; background:#f8fafc; color:#405670; font-size:14px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.today-correction-button,#myCorrectionRequests { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 10px; min-height:32px; border:1px solid #c7d8ed; border-radius:7px; background:#eff5fc; color:#315d91; font-size:12px; line-height:1.3; font-weight:600; white-space:nowrap; transition:background-color .16s ease,transform .16s ease; }
.today-correction-button { margin-left:10px; vertical-align:middle; }
.today-correction-button svg,#myCorrectionRequests svg { width:15px; height:15px; flex:none; }
.today-correction-button:hover,#myCorrectionRequests:hover { color:#244d7b; background:#e3edf9; border-color:#9cb8da; }
#myCorrectionRequests { min-height:42px; padding:10px 13px; font-size:13px; }
@keyframes correction-enter { from { opacity:0; transform:translateY(10px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:600px) {
 #staffCorrectionForm header,#staffCorrectionForm footer { padding:16px; gap:10px; }
 #staffCorrectionForm header { align-items:start; }
 #staffCorrectionForm .correction-content { padding:16px; }
 #staffCorrectionForm h2 { font-size:18px; }
 .correction-heading { gap:9px; }
 .correction-heading-icon { width:34px; height:34px; }
 .correction-times { gap:10px; }
 #staffCorrectionForm footer button { flex:1; }
 .today-correction-button { min-height:36px; margin-left:6px; }
}
@media(max-width:360px) { .correction-times { grid-template-columns:1fr; } .correction-heading-icon { display:none; } }
@media(prefers-reduced-motion:reduce) { #staffCorrectionDialog[open] { animation:none; } #staffCorrectionForm button,.today-correction-button,#myCorrectionRequests { transition:none; } }
