.staff-header-actions { display:flex; align-items:center; gap:20px; }
#global-header .staff-account-button { appearance:none; background:transparent; border:0; border-radius:3px; padding:0; width:auto; color:#333; font:inherit; font-size:1rem; font-weight:500; white-space:nowrap; cursor:pointer; }
#global-header .staff-account-button:focus-visible { outline:2px solid #007bff; outline-offset:5px; }
.staff-account-dialog { box-sizing:border-box; width:min(640px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:24px; border:1px solid #dee2e6; border-radius:12px; color:#333; overflow:auto; }
.staff-account-dialog::backdrop { background:rgba(0,0,0,.4); }
.staff-account-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.staff-account-heading h2 { margin:0; font-size:1.3rem; }
.staff-account-dialog button { cursor:pointer; width:auto; }
.staff-account-dialog .staff-account-close { background:transparent; border:0; font-size:1.6rem; padding:0 6px; color:#333; }
.staff-account-section + .staff-account-section { margin-top:24px; padding-top:20px; border-top:1px solid #ddd; }
.staff-account-section h3 { font-size:1.05rem; margin:0 0 14px; }
.staff-account-field { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:10px; margin:12px 0; }
.staff-account-field input { box-sizing:border-box; min-width:0; width:100%; padding:10px; border:1px solid #ced4da; border-radius:5px; font:inherit; }
.staff-account-dialog .staff-account-primary { background:#007bff; color:white; border:0; border-radius:5px; padding:10px 16px; }
.staff-account-dialog .staff-account-secondary { background:#6c757d; color:white; border:0; border-radius:5px; padding:8px 12px; }
.staff-account-dialog button:disabled { opacity:.5; cursor:default; }
.staff-account-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.staff-account-note { font-size:.9rem; line-height:1.5; }
.staff-account-status { margin:12px 0 0; color:#198754; line-height:1.5; }
.staff-account-status.error { color:#dc3545; }
.staff-account-list { display:grid; gap:8px; }
.staff-account-row { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.staff-account-credentials { white-space:pre-wrap; background:#f6f8fa; border-radius:5px; padding:12px; font:inherit; user-select:text; }
@media(max-width:480px) { .staff-account-dialog { padding:18px; } .staff-account-field { grid-template-columns:125px minmax(0,1fr); } }

.staff-account-row-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.staff-account-dialog .staff-account-danger { background:#dc3545; color:white; border:0; border-radius:5px; padding:8px 12px; }

.staff-account-row > span, .staff-account-choice { min-width:0; overflow-wrap:anywhere; }
.staff-account-row-actions { flex-shrink:0; }

.staff-account-selection-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 12px; }
.staff-account-choice,.staff-account-selection-bar label { display:flex; align-items:center; gap:8px; }
.staff-account-choice input,.staff-account-selection-bar input { order:-1; width:auto; margin:0; flex-shrink:0; }

.info-msg.temporary-password-notice, #temporary-password-required { color:#dc3545; }

.staff-account-dialog .staff-account-delete-confirmation { border:1px solid #dc3545; background:#fff5f5; border-radius:8px; padding:16px; margin-top:16px; }

#student-account-dialog .input-row { gap:1em; }
#student-account-dialog .input-row label { flex:0 0 7.5em; }
#student-account-dialog .input-row input { flex:1 1 0; width:0; min-width:0; font-size:16px; }
@media(max-width:480px) {
 .staff-account-dialog[data-account-role="subadmin"] .staff-account-field { grid-template-columns:minmax(0,1fr); gap:6px; }
 .staff-account-dialog[data-account-role="subadmin"] .staff-account-field input { font-size:16px; }
 #student-account-dialog { width:calc(100vw - 16px); padding:10px; }
 #student-account-dialog .info-change-group { padding:10px; }
 #student-account-dialog .input-row { font-size:14px; gap:1em; }
 #student-account-dialog .input-row input::placeholder { font-size:12px; }
}

@media(max-width:480px) {
 body:has(#global-header[data-member-page="parent"]) #temporary-password-required, body:has(#global-header[data-member-page="student"]) #temporary-password-required { font-size:28px; line-height:1.45; margin:14px 16px; overflow-wrap:anywhere; }
 .staff-account-dialog[data-account-role="parent"] .staff-account-field { grid-template-columns:115px minmax(0,1fr); }
}

.staff-account-credential-cards{background:transparent;padding:0;white-space:normal;}
.staff-account-credential-card{display:flex;flex-wrap:wrap;gap:12px 32px;padding:14px 18px;margin-top:10px;background:#edf6f2;border:1px solid #d9e9e1;border-radius:8px;}
.staff-account-credential-group{display:flex;align-items:baseline;gap:10px;}
.staff-account-credential-label{color:#53675d;}
.staff-account-credential-value{color:#244c3e;font-variant-numeric:tabular-nums;letter-spacing:.3px;}

.staff-account-row-identity{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0;}
.staff-account-inline-password{padding:6px 10px;border-radius:6px;background:#edf6f2;color:#244c3e;font-variant-numeric:tabular-nums;white-space:nowrap;}

.staff-account-create-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;}
.staff-account-create-form .staff-account-field{display:flex;flex:1 1 240px;gap:12px;margin:0;min-width:0;}
.staff-account-create-form .staff-account-field label{flex-shrink:0;}.staff-account-create-form .staff-account-field input{flex:1;min-width:76px;width:100%;}
.staff-account-create-form .staff-account-actions{margin:0 0 0 auto;}
.staff-account-create-form .staff-account-status{flex-basis:100%;margin:0;}
.staff-account-create-form .staff-account-status:empty{display:none;}
.staff-account-creation .staff-account-credential-card{padding:10px 14px;margin-top:8px;}
.staff-account-creation + .staff-account-section{margin-top:18px;padding-top:16px;}
