/* Shared scrolling and dismissal for the public bell and internal warning panels. */
.etop-notice-backdrop { position:fixed; inset:0; z-index:12000; background:rgba(15,35,56,.16); touch-action:none; }
.etop-notice-backdrop[hidden], .etop-notice-dialog[hidden] { display:none!important; }
.etop-notice-dialog.eh-inbox-panel, .etop-notice-dialog.etop-fc__panel { position:fixed; z-index:12001; display:flex; flex-direction:column; max-height:var(--etop-notice-height,calc(100dvh - 24px)); min-height:0; overflow:hidden; box-sizing:border-box; animation:none; overscroll-behavior:contain; }
.etop-notice-dialog > :not(ul) { flex:0 0 auto; }
.etop-notice-dialog > ul { flex:0 1 auto; min-height:0; max-height:none!important; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y pinch-zoom; }
.etop-notice-dialog > header { align-items:center; gap:8px; }
.etop-notice-dialog > header > :first-child { flex:1 1 auto; min-width:0; }
.etop-notice-dialog > header > button:not(.etop-notice-close) { flex:0 1 auto; max-width:125px; }
.etop-notice-dialog > header > .etop-notice-close { display:inline-flex; flex:0 0 36px; align-items:center; justify-content:center; width:36px; height:36px; min-width:36px; min-height:36px; padding:0; border:1px solid var(--ea-line,#cfdeef); border-radius:9px; background:var(--ea-raised,#eff6fe); color:var(--ea-ink,#16314f); font:500 26px/1 Arial,sans-serif; cursor:pointer; }
.etop-notice-dialog > header > .etop-notice-close:hover { border-color:#ff8133; box-shadow:0 0 0 2px #ff813344; }
.etop-notice-dialog .etop-notice-close:focus-visible { outline:2px solid #ff8133; outline-offset:2px; }
.etop-notice-dialog > header > .etop-notice-refresh { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; max-width:none; padding:0; border:1px solid var(--ea-line,#cfdeef); border-radius:9px; background:var(--ea-raised,#eff6fe); color:var(--ea-ink,#16314f); font:500 24px/1 Arial,sans-serif; cursor:pointer; }
.etop-notice-dialog > header > .etop-notice-refresh:hover { border-color:#ff8133; box-shadow:0 0 0 2px #ff813344; }
.etop-notice-dialog > header > .etop-notice-refresh:disabled { opacity:.6; cursor:wait; }
.etop-notice-dialog .etop-notice-refresh-status, .etop-notice-dialog .etop-notice-updated { font:12px/1.5 Arial,sans-serif; color:var(--ea-muted,#536d88); padding:6px 0; margin:4px 0; overflow-wrap:anywhere; }
.etop-notice-dialog .etop-notice-refresh-status[hidden] { display:none!important; }
.etop-notice-dialog.etop-fc__panel .etop-notice-refresh-status, .etop-notice-dialog.etop-fc__panel .etop-notice-updated { padding:7px 16px; }
.etop-notice-dialog > header > button[data-etop-fc-read-all] { max-width:88px; }
.etop-admin-shell .ea-staff-dialog.etop-overlay-dialog { position:fixed; margin:0; inset:auto; width:660px; max-width:calc(100vw - 24px); max-height:var(--etop-notice-height,calc(100dvh - 24px)); padding:0; overflow:hidden; }
.ea-staff-dialog.etop-overlay-dialog > form { display:flex; flex-direction:column; margin:0; padding:20px; box-sizing:border-box; max-height:var(--etop-notice-height,calc(100dvh - 24px)); min-height:0; }
.ea-staff-dialog.etop-overlay-dialog form > header, .ea-staff-dialog.etop-overlay-dialog form > .ea-staff-actions { flex:0 0 auto; }
.ea-staff-dialog.etop-overlay-dialog [data-staff-scroll] { overflow-y:auto; min-height:0; flex:0 1 auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y pinch-zoom; padding:0 3px; }
.ea-staff-dialog.etop-overlay-dialog header h2 { min-width:0; overflow-wrap:anywhere; }
.ea-staff-dialog.etop-overlay-dialog header [data-staff-close] { flex:0 0 40px; height:40px; width:40px; padding:0; font-size:24px; }
.ea-staff-dialog.etop-overlay-dialog .ea-staff-actions { margin-top:14px; }
@media(max-width:600px) { .ea-staff-dialog.etop-overlay-dialog > form { padding:14px; } }
.etop-admin-shell .ea-staff-row-actions > a.ea-staff-info { display:inline-flex; }
.ea-staff-account-panel { padding:22px!important; margin-bottom:18px; }
.ea-staff-account-panel h2 { overflow-wrap:anywhere; }
.ea-staff-account-panel p { line-height:1.6; }
.ea-staff-account-details { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr); margin:18px 0; }
.ea-staff-account-details dt,.ea-staff-account-details dd { margin:0; padding:10px 0; border-bottom:1px solid var(--ea-line); overflow-wrap:anywhere; }
.ea-staff-account-details dt { color:var(--ea-muted); padding-right:12px; }
.ea-staff-password-form { max-width:560px; }
.ea-staff-password-form > label { display:block; margin:16px 0; font-weight:600; }
.etop-admin-shell .ea-staff-password-form input:not([type=hidden]) { display:block; box-sizing:border-box; min-width:0; width:100%; max-width:100%; height:44px; margin:8px 0 0; padding:9px 11px; font-size:16px; }
.ea-staff-password-tools { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:480px) { .ea-staff-account-panel { padding:16px!important; } .ea-staff-account-details { grid-template-columns:minmax(110px,42%) minmax(0,1fr); font-size:14px; } }

/* Class and lesson dialogs use the same viewport and page-lock behavior. */
.etop-admin-shell .es-dialog.etop-overlay-dialog { position:fixed; inset:auto; margin:0; padding:0; max-width:calc(100vw - 24px); max-height:var(--etop-notice-height,calc(100dvh - 24px)); overflow:hidden; box-sizing:border-box; }
.etop-admin-shell .es-dialog.etop-overlay-dialog[open] { display:flex; flex-direction:column; }
.etop-admin-shell .es-dialog.etop-overlay-dialog .es-dialog-header, .etop-admin-shell .es-dialog.etop-overlay-dialog .es-dialog-footer { flex:0 0 auto; }
.etop-admin-shell .es-dialog.etop-overlay-dialog .es-dialog-header h2 { min-width:0; overflow-wrap:anywhere; }
.etop-admin-shell .es-dialog.etop-overlay-dialog .es-dialog-header button { flex:0 0 40px; width:40px; height:40px; padding:0; }
.etop-admin-shell .es-dialog.etop-overlay-dialog .es-dialog-body { flex:0 1 auto; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y pinch-zoom; }
