.migration-nav-note{margin:10px 9px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#b9c7d2;font-size:11px;line-height:1.45}.account-menu form{margin:0}.account-menu-logout button{width:100%;justify-content:flex-start}.auth-card .ui-card{box-shadow:none;margin-bottom:0}.auth-card .ui-card+ .ui-card{margin-top:12px}.auth-card p{line-height:1.55}.topbar .menu{color:var(--ink)}
@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(290px,85vw);transform:translateX(-105%);transition:transform .18s ease;box-shadow:18px 0 48px rgba(0,0,0,.22)}.sidebar.is-open{transform:translateX(0)}.menu{display:inline-flex}.content{padding:18px}.topbar{padding:0 16px}.stats{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.auth-card{padding:20px}.content{padding:14px}}
.passkey-status{margin-top:8px;text-align:center;min-height:1.4em}.lock-user-name{font-size:18px;font-weight:700;margin:-10px 0 22px}.account-menu-logout{display:grid;gap:6px}.account-menu-logout form,.account-menu-logout button{width:100%}.lock-card-windows form{margin:0}.lock-card-windows .security-code-component{margin:0 auto}.lock-card-windows .security-code-digits{margin:0 auto}.lock-card-windows .security-code-digit{text-align:center}.lock-card-windows .auth-divider{width:100%}
.student-list-person{display:flex;align-items:center;gap:10px}.student-list-person img,.student-list-avatar{width:38px;height:46px;border-radius:8px;object-fit:cover;background:#edf1f4;display:grid;place-items:center;flex:0 0 auto}.status-badge-list{display:flex;gap:5px;flex-wrap:wrap}.student-profile-main{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.student-current-photo{display:block;width:180px}.student-current-photo img,.student-current-photo.photo-placeholder{display:grid;place-items:center;width:180px;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#edf1f4}.photo-lightbox-dialog{width:min(900px,92vw);max-width:900px;border:0;padding:0;background:transparent}.photo-lightbox-dialog::backdrop{background:rgba(10,18,25,.78)}.photo-lightbox-shell{position:relative;padding:14px;background:#101820;border-radius:16px;overflow:hidden}.photo-lightbox-shell img{display:block;max-width:100%;max-height:82vh;margin:auto;border-radius:10px}.photo-lightbox-shell .dialog-close{position:absolute;top:18px;right:18px;z-index:2;background:#fff;border-radius:999px;width:38px;height:38px}.student-detail-toolbar{justify-content:space-between}@media(max-width:620px){.student-profile-main{grid-template-columns:110px 1fr}.student-current-photo,.student-current-photo img,.student-current-photo.photo-placeholder{width:110px}.student-profile-data .data-list{grid-template-columns:1fr}}

/* 0.20.0-laravel.9: navigation parity / alignment fixes */
.sidebar nav[data-sidebar-nav] .nav-dashboard-link{display:block;width:100%}
.sidebar nav[data-sidebar-nav] .nav-link{display:flex;width:100%;box-sizing:border-box}
.sidebar nav[data-sidebar-nav] .nav-link .nav-link-icon{flex:0 0 18px;width:18px!important;text-align:center}
.sidebar nav[data-sidebar-nav] .nav-link .nav-link-label{flex:1 1 auto;width:auto!important;min-width:0;text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar nav[data-sidebar-nav] .nav-group{width:100%}
.sidebar nav[data-sidebar-nav] .nav-group-links{width:100%}
@media(max-width:980px){.sidebar.is-open,.sidebar.open{transform:translateX(0);left:0}}

/* 0.20.0-laravel.16: compact semantic actions + central document lightbox */
.ui-icon-only-action{position:relative;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0}
.ui-icon-only-action>svg{width:17px;height:17px;flex:0 0 17px}
.ui-icon-only-action>.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.entity-documents-dialog{box-sizing:border-box;width:min(1100px,calc(100vw - 24px));max-width:none;height:min(92vh,900px);max-height:92vh;overflow:hidden;z-index:2147483647}
.entity-documents-dialog::backdrop{background:rgba(15,24,31,.64)}
.entity-documents-dialog>.ui-dialog-shell{box-sizing:border-box;height:100%;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}
.entity-documents-dialog [data-documents-dialog-success][hidden],.entity-documents-dialog [data-documents-dialog-error][hidden]{display:none}
.entity-documents-dialog-content{min-height:0;overflow:auto;padding-right:2px}
.entity-documents-dialog-content>.document-section{margin:0;box-shadow:none;border:0;padding:0}
.entity-documents-dialog.is-loading .entity-documents-dialog-content{opacity:.55;pointer-events:none}
.topbar-entity-actions .ui-icon-only-action .note-count-badge{position:absolute!important;top:-6px!important;right:-6px!important;z-index:3;margin:0!important}
@media(max-width:720px){.entity-documents-dialog{width:100vw;height:100vh;max-height:100vh;border-radius:0}.entity-documents-dialog>.ui-dialog-shell{height:100vh}.ui-icon-only-action{width:42px;min-width:42px;height:42px;min-height:42px}}

/* .19: language switch is an isolated navigation control, never a gallery hit target. */
.language-switch[data-language-switch]{position:relative;z-index:3;isolation:isolate;pointer-events:auto}
.language-switch[data-language-switch] button[data-language-button]{position:relative;z-index:1;pointer-events:auto}

/* 0.20.0-laravel.25: portal-wide responsive table-column configuration lightbox. */
/* Smart-Table column-dialog styling moved to assets/smart-table.css. */

/* 0.20.0-laravel.31 – global superadmin test mode */
.topbar-account{display:flex;align-items:center;gap:8px}.test-mode-toggle{white-space:nowrap}.test-mode-toggle.is-active{background:#b42318!important;border-color:#b42318!important;color:#fff!important;box-shadow:0 0 0 3px rgba(180,35,24,.16)}.test-mode-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.test-mode-toggle.is-active .test-mode-dot{animation:test-mode-pulse 1.2s ease-in-out infinite}@keyframes test-mode-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.72)}}
body.test-mode-active{box-shadow:inset 0 5px 0 #b42318}.test-mode-active-banner{position:sticky;top:76px;z-index:14;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 18px;background:#b42318;color:#fff;border-bottom:1px solid rgba(0,0,0,.12);font-size:13px}.test-mode-active-banner strong{letter-spacing:.035em;text-transform:uppercase}.test-mode-active-banner span{opacity:.95}
.ui-dialog-super-priority{z-index:2147483000!important}.ui-dialog-super-priority::backdrop{background:rgba(15,23,42,.7);backdrop-filter:blur(2px)}.test-mode-dialog{width:min(680px,calc(100vw - 24px));max-width:680px}.test-mode-dialog .ui-dialog-shell{max-height:min(86vh,760px);overflow:hidden}.test-mode-dialog-body{padding:20px;overflow:auto}.test-mode-checklist{margin:0 0 18px;padding-left:22px;display:grid;gap:10px;line-height:1.5}.test-mode-warning-box{padding:14px 16px;border:1px solid #f0b4ae;background:#fff5f4;border-radius:10px}.test-mode-warning-box strong{display:block;color:#8f1d14;margin-bottom:5px}.test-mode-warning-box p{margin:0;line-height:1.5}.test-mode-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.test-mode-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.test-mode-status-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}.test-mode-status-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.test-mode-status-grid dd{margin:5px 0 0;font-weight:650;overflow-wrap:anywhere}
.test-mode-maintenance-page{min-height:100vh;display:grid;place-items:center;background:#f6f7f9;padding:20px}.test-mode-maintenance-card{width:min(620px,100%);background:#fff;border:1px solid #e1e5ea;border-radius:16px;padding:34px;box-shadow:0 22px 70px rgba(15,23,42,.13);text-align:center}.test-mode-maintenance-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#fff0ee;color:#b42318;font-size:30px}.test-mode-maintenance-card h1{margin:0 0 12px;font-size:26px}.test-mode-maintenance-card p{margin:0 auto 22px;max-width:520px;line-height:1.6;color:#475467}.test-mode-maintenance-card form{margin-top:16px}.test-mode-maintenance-language{justify-content:center;margin-top:24px!important}
@media(max-width:700px){.test-mode-active-banner{top:64px}.test-mode-toggle span:not(.test-mode-dot){display:none}.test-mode-toggle{width:38px;justify-content:center}.test-mode-status-grid{grid-template-columns:1fr}.test-mode-active-banner{align-items:flex-start;justify-content:flex-start}.test-mode-maintenance-card{padding:24px 18px}}
.test-mode-dialog .ui-dialog-shell{padding:0}.test-mode-dialog .ui-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.test-mode-dialog .ui-dialog-head h2{margin:0;font-size:20px}.test-mode-dialog .ui-dialog-head p{margin:5px 0 0;color:var(--muted);line-height:1.45}.test-mode-dialog .dialog-close{flex:0 0 auto}

/* 0.20.0-laravel.32 – test mode integrity/status hardening */
.test-mode-status-grid .test-mode-status-wide{grid-column:1/-1}.test-mode-integrity-ok{color:#067647}.test-mode-error-id{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px;font-size:13px;color:#475467}.test-mode-error-id code{display:inline-block;padding:5px 8px;border-radius:7px;background:#f2f4f7;color:#344054;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* 0.20.0-laravel.33 – persistent test system */
.test-system-toggle{white-space:nowrap}.test-system-toggle.is-active{background:#7a271a!important;border-color:#7a271a!important;color:#fff!important;box-shadow:0 0 0 3px rgba(122,39,26,.18)}.test-system-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.test-system-toggle.is-active .test-system-dot{animation:test-system-pulse 1.2s ease-in-out infinite}@keyframes test-system-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}
body.test-system-active{box-shadow:inset 0 6px 0 #7a271a}.test-system-active-banner{position:sticky;top:76px;z-index:14;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:#7a271a;color:#fff;border-bottom:1px solid rgba(0,0,0,.14);font-size:13px}.test-system-active-banner strong{letter-spacing:.035em;text-transform:uppercase}.test-system-mail-state{padding:3px 8px;border-radius:999px;font-weight:700}.test-system-mail-state.safe{background:rgba(255,255,255,.18)}.test-system-mail-state.external{background:#fff;color:#9b1c1c}
.test-system-inline-form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.test-system-last-refresh{padding:10px 12px;margin:0 0 8px;border-radius:9px;background:#f6f7f9;color:#475467;font-size:13px}.test-system-safety-note{margin-top:10px;padding:14px 16px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc}.test-system-safety-note strong{display:block;margin-bottom:4px}.test-system-safety-note p{margin:0;color:#475467;line-height:1.5}.test-system-danger-note{padding:14px 16px;border:1px solid #f0b4ae;background:#fff5f4;border-radius:10px;color:#8f1d14;line-height:1.55;font-weight:600}.test-system-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.test-system-status-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}.test-system-status-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.test-system-status-grid dd{margin:5px 0 0;font-weight:650;overflow-wrap:anywhere}.test-system-status-grid .test-system-status-wide{grid-column:1/-1}.test-system-safe{color:#067647}.test-system-danger{color:#b42318}@media(max-width:700px){.test-system-active-banner{top:64px;justify-content:flex-start;align-items:flex-start}.test-system-toggle span:not(.test-system-dot){display:none}.test-system-toggle{width:38px;justify-content:center}.test-system-status-grid{grid-template-columns:1fr}.test-system-status-grid .test-system-status-wide{grid-column:auto}.test-system-inline-form{align-items:flex-start;flex-direction:column}}
.test-system-unavailable-page{min-height:100vh;display:grid;place-items:center;background:#f6f7f9;padding:20px}.test-system-unavailable-card{width:min(620px,100%);background:#fff;border:1px solid #e1e5ea;border-radius:16px;padding:34px;box-shadow:0 22px 70px rgba(15,23,42,.13);text-align:center}.test-system-unavailable-mark{font-size:42px;margin-bottom:12px}.test-system-unavailable-card h1{margin:0 0 12px}.test-system-unavailable-card p{max-width:520px;margin:0 auto 22px;line-height:1.6;color:#475467}

/* 0.20.0-laravel.47 – visible asynchronous test-system refresh */
.test-system-refresh-progress{position:sticky;top:76px;z-index:15;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 18px;background:#eef7f1;border-bottom:1px solid #b7d7c2;color:#24452f;font-size:13px}.test-system-refresh-progress.is-error{background:#fff1f0;border-color:#f1aaa4;color:#8f1d14}.test-system-refresh-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:test-system-refresh-spin .8s linear infinite}.test-system-refresh-progress.is-error .test-system-refresh-spinner{display:none}@keyframes test-system-refresh-spin{to{transform:rotate(360deg)}}.test-system-open-form button.is-loading,.test-system-inline-form button.is-loading{position:relative;cursor:wait;opacity:.82}@media(max-width:700px){.test-system-refresh-progress{top:64px;justify-content:flex-start}}
