:root{color-scheme:light;font-family:IBM Plex Sans Arabic,Tahoma,Segoe UI,sans-serif;color:#20484d;background:#f3ead4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #f3ead4;--surface: #ffffff;--surface-glass: rgba(255, 255, 255, .88);--surface-muted: rgba(255, 255, 255, .6);--elevated: rgba(21, 94, 99, .1);--text: #0a2326;--muted: #4b686d;--subtle: #6b8388;--border: rgba(10, 35, 38, .12);--accent: #155e63;--accent-strong: #0f454c;--gold: #f2b84b;--success: #1f7f82;--warning: #8a5a0c;--danger: #c83a2c;--info: #245f96;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-surface: 0 2px 8px rgba(10, 35, 38, .06);--shadow-card: 0 8px 24px rgba(10, 35, 38, .08);--shadow-overlay: 0 22px 50px rgba(10, 35, 38, .14);--body-bg: radial-gradient(circle at 100% 0%, rgba(242, 184, 75, .28), transparent 30%), radial-gradient(circle at 0% 10%, rgba(44, 152, 147, .18), transparent 35%), linear-gradient(180deg, #f8f0da 0%, #f0e3c3 100%);--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--background)}body{min-width:0;overflow-x:hidden;background:var(--body-bg);background-attachment:fixed;color:var(--text)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}img,svg{display:block}svg{flex:0 0 auto}h1,h2,h3,p,dl,dd{margin-top:0}h1,h2,h3{color:var(--text);font-family:Noto Kufi Arabic,Tahoma,Segoe UI,sans-serif;line-height:1.4}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--elevated);color:var(--text)}.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}.eyebrow{margin-bottom:4px;color:var(--muted);font-size:.8125rem;font-weight:700}.muted{color:var(--muted);line-height:1.7}.danger-text{color:var(--danger)!important}label{display:grid;gap:8px;color:var(--text);font-weight:700}input,textarea,select{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);padding:12px 16px;font-size:1rem;outline:none;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}textarea{min-height:96px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d667024}input:disabled,textarea:disabled,select:disabled{background:var(--elevated)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid transparent;border-radius:var(--radius-md);padding:8px 16px;font-weight:700;text-decoration:none;transition:background-color .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.button svg{width:20px;height:20px}.button.primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:var(--surface);box-shadow:0 8px 18px #0f454c24}.button.primary:hover:not(:disabled){background:var(--accent-strong)}.button.secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.button.secondary:hover:not(:disabled),.button.quiet:hover:not(:disabled){background:var(--elevated)}.button.quiet{border-color:transparent;background:transparent;color:var(--accent);padding-inline:8px}.button.danger{background:var(--danger);color:var(--surface)}.button.danger-ghost{border-color:#b42318;background:var(--surface);color:var(--danger)}.button.danger-ghost:hover:not(:disabled){background:#fff;border-color:var(--danger)}.icon-button{display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}.icon-button:hover{background:var(--elevated)}.icon-button svg{width:20px;height:20px}.boot-shell{width:min(100% - 32px,760px);min-height:100dvh;margin:auto;padding:64px 0}.boot-brand{display:grid;gap:8px;margin-bottom:40px}.boot-brand span{font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:2rem;font-weight:700}.boot-brand small{color:var(--muted)}.skeleton-stack{display:grid;gap:12px}.skeleton-row{height:104px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);position:relative;overflow:hidden}.skeleton-row:after{content:"";position:absolute;top:24px;right:24px;bottom:24px;left:24px;width:42%;height:12px;border-radius:var(--radius-sm);background:var(--elevated)}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;border-top:8px solid var(--accent)}.login-panel{width:min(100%,440px);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);padding:32px 24px;box-shadow:var(--shadow-surface)}.brand-mark{display:grid;width:48px;height:48px;place-items:center;margin-bottom:20px;border-radius:var(--radius-md);background:var(--accent);color:var(--surface)}.brand-mark svg{width:24px;height:24px}.login-panel h1{margin-bottom:8px;font-size:2.5rem}.login-panel>.muted{margin-bottom:24px}.login-panel form{display:grid;gap:16px;margin-top:20px}.login-panel form .button{margin-top:8px}.app-frame{min-height:100dvh}.app-main{width:min(100%,1240px);margin-inline:auto;padding:20px 16px calc(104px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.page-header h1{margin:0 0 4px;font-size:clamp(1.625rem,6vw,2.25rem)}.page-header>div>p:last-child{max-width:68ch;margin-bottom:0;color:var(--muted);line-height:1.6}.page-context{margin-bottom:4px;color:var(--accent);font-size:.75rem;font-weight:700}.user-trigger{display:inline-flex;align-items:center;gap:8px;min-height:48px;max-width:48px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);padding:12px}.user-trigger span,.user-trigger svg:last-child{display:none}.user-trigger svg{width:22px;height:22px}.bottom-nav{position:fixed;z-index:40;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:flex;gap:4px;min-height:72px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-overlay)}.bottom-nav button{flex:1 1 0;display:grid;min-width:0;min-height:56px;place-items:center;align-content:center;gap:4px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-size:.75rem;font-weight:700}.bottom-nav button.active{background:var(--elevated);color:var(--accent)}.nav-icon{position:relative;display:block}.nav-icon svg{width:22px;height:22px}.nav-icon b{position:absolute;top:-8px;left:-12px;display:grid;min-width:20px;height:20px;place-items:center;border:2px solid var(--surface);border-radius:var(--radius-full);background:var(--danger);color:var(--surface);font-size:.6875rem}.offline-banner{position:sticky;z-index:30;top:0;display:flex;align-items:center;gap:8px;margin:-20px -16px 20px;padding:12px 16px;background:var(--danger);color:var(--surface);font-weight:700}.offline-banner svg{width:20px;height:20px}.refresh-line{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--muted);font-size:.875rem}.refresh-line svg{width:16px;height:16px}.inline-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px;background:var(--surface);line-height:1.6}.inline-notice>svg{width:22px;height:22px}.inline-notice .button{grid-column:1 / -1}.inline-notice.error{border-color:#b42318;color:var(--danger)}.inline-notice.success{border-color:#267a50;color:var(--success)}.inline-notice.info{border-color:#245f96;color:var(--info)}.workspace-stack,.scan-page-stack,.settings-workspace{display:grid;gap:20px}.alarm-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:16px;border-block:1px solid var(--border);padding:16px 0}.alarm-strip>div{display:flex;align-items:flex-start;gap:12px}.alarm-strip>div>svg{width:22px;height:22px;color:var(--accent)}.alarm-strip .alarm-actions{align-items:center}.alarm-strip strong{display:block;margin-bottom:4px}.alarm-strip p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.push-control{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;background:var(--elevated)}.push-control>div{display:flex;align-items:flex-start;gap:12px;min-width:0}.push-control>div>svg{flex:0 0 auto;width:22px;height:22px;color:var(--accent)}.push-control>div>div{display:grid;gap:4px}.push-control span{color:var(--muted);font-size:.875rem;line-height:1.6}.push-control .ios-install-hint{color:var(--warning);font-size:.75rem;line-height:1.6}.push-control.subscribed{border-color:var(--success);background:#eef8f2}.push-control.denied,.push-control.unsupported,.push-control.server-unsupported{border-color:var(--warning);background:#fff8ed}.push-control.compact{grid-column:1 / -1;width:100%;padding:12px 16px;background:var(--surface)}.switch-root{position:relative;flex:0 0 auto;width:48px;height:28px;border:0;border-radius:var(--radius-full);background:var(--border);padding:2px}.switch-root[data-state=checked]{background:var(--accent)}.switch-thumb{display:block;width:24px;height:24px;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-surface);transform:translate(0);transition:transform .12s var(--ease)}[dir=rtl] .switch-root[data-state=checked] .switch-thumb{transform:translate(-20px)}.corridor-board,.escalation-board,.frequent-exits-board,.scan-workspace,.directory-workspace,.report-workspace,.settings-section{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-surface)}.corridor-board,.escalation-board,.frequent-exits-board,.scan-workspace,.settings-section{padding:20px 16px}.section-title,.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title h2,.settings-heading h2{margin:0;font-size:1.25rem}.section-title>span{display:grid;min-width:36px;height:36px;place-items:center;border-radius:var(--radius-md);background:var(--elevated);color:var(--accent);font-weight:700}.corridor-list{border-top:1px solid var(--border)}.corridor-row{position:relative;display:grid;gap:16px;padding:20px 16px 20px 20px;border-bottom:1px solid var(--border)}.corridor-row:last-child{border-bottom:0}.frequent-exits-list{border-top:1px solid var(--border)}.frequent-exit-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--border)}.frequent-exit-row:last-child{border-bottom:0}.frequent-exit-row>div{display:grid;gap:3px;min-width:0}.frequent-exit-row>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frequent-exit-row>div>span{color:var(--muted);font-size:.8rem}.rank-badge{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--elevated);color:var(--accent);font-weight:800}.corridor-row:before{content:"";position:absolute;inset-block:16px;right:0;width:4px;border-radius:var(--radius-sm);background:var(--success)}.corridor-row.warning:before{background:var(--warning)}.corridor-row.overdue:before,.corridor-row.escalated:before{background:var(--danger)}.corridor-identity{display:flex;align-items:flex-start;gap:12px}.state-marker{width:12px;height:12px;margin-top:8px;border-radius:var(--radius-full);background:var(--success)}.warning .state-marker{background:var(--warning)}.overdue .state-marker,.escalated .state-marker{background:var(--danger)}.corridor-identity h3{margin:0 0 4px;font-size:1.125rem}.corridor-identity p,.corridor-metric span,.corridor-owner span{margin:0;color:var(--muted);font-size:.8125rem}.corridor-metric,.corridor-owner{display:grid;gap:4px}.corridor-metric strong{font-family:IBM Plex Mono,IBM Plex Sans Arabic,monospace}.corridor-timer strong{font-size:1.125rem}.corridor-detail{display:flex;align-items:center;justify-content:space-between;gap:8px}.corridor-detail small{color:var(--muted)}.state-label{display:inline-flex;width:max-content;align-items:center;gap:4px;border-radius:var(--radius-full);padding:4px 8px;background:var(--elevated);color:var(--success);font-size:.75rem;font-weight:700}.state-label svg{width:14px;height:14px}.state-label.warning{color:var(--warning)}.state-label.muted{color:var(--muted)}.state-label.overdue,.state-label.escalated{background:#fff;color:var(--danger)}.corridor-actions{display:grid;gap:8px}.escalated-note{display:inline-flex;align-items:center;gap:8px;color:var(--danger);font-weight:700}.escalated-note svg{width:18px;height:18px}.health-flag,.health-mini{display:inline-flex;width:fit-content;align-items:center;gap:8px;color:var(--warning);font-size:.8125rem;font-weight:700}.health-flag{border-right:3px solid var(--warning);padding-right:12px}.health-flag svg,.health-mini svg{width:18px;height:18px}.health-flag.prominent{margin-top:16px;padding-block:8px;font-size:.9375rem}.empty-state{display:grid;justify-items:center;gap:8px;padding:40px 16px;text-align:center}.empty-state>svg{width:32px;height:32px;color:var(--accent)}.empty-state h3{margin:0;font-size:1.0625rem}.empty-state p{max-width:48ch;margin:0;color:var(--muted);line-height:1.6}.escalation-board{border-color:#b42318}.escalation-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.escalation-row>svg{width:20px;height:20px;color:var(--danger)}.escalation-row div{display:grid;gap:4px}.escalation-row span{color:var(--muted);font-size:.875rem}.scan-workspace{overflow:hidden;padding:0}.scan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 16px;border-bottom:1px solid var(--border)}.scan-heading h2{margin:0 0 4px;font-size:1.25rem}.scan-heading p:last-child{margin:0;color:var(--muted)}.scan-heading>svg{width:32px;height:32px;color:var(--accent)}.scan-tabs{padding:16px}.scan-tab-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:var(--radius-lg);background:var(--elevated)}.scan-tab-list button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:4px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-size:.8125rem;font-weight:700}.scan-tab-list button[data-state=active]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-surface)}.scan-tab-list svg{width:18px;height:18px}.scan-tab-content{padding-top:24px}.reader-status{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;margin-bottom:24px}.reader-status>span:last-child{grid-column:2;color:var(--muted)}.ready-dot{width:12px;height:12px;border-radius:var(--radius-full);background:var(--success)}.focus-form{display:grid;gap:16px;max-width:640px;margin:0 auto}.focus-form .button{width:100%}.camera-frame{display:grid;min-height:280px;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated)}.camera-frame>svg{width:40px;height:40px;color:var(--muted)}.camera-frame video{width:100%!important}.scan-status{margin:12px 0;color:var(--muted);font-weight:700}.directory-workspace,.report-workspace{overflow:hidden}.directory-toolbar,.report-toolbar{display:grid;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.roster-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.roster-scope button{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--muted);padding:8px;text-align:center;font-weight:700}.roster-scope button[aria-selected=true]{border-color:var(--accent);background:var(--elevated);color:var(--accent)}.roster-scope button svg{width:18px;height:18px}.roster-scope button span{display:grid;min-width:24px;height:24px;place-items:center;border-radius:var(--radius-full);background:var(--background);font-size:.75rem}.search-control{position:relative;display:block;width:100%}.search-control>svg{position:absolute;z-index:1;top:14px;right:14px;width:20px;height:20px;color:var(--muted)}.search-control input{padding-right:44px}.search-control.compact{max-width:400px;margin:16px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.toolbar-actions .button,.import-mode{flex:1 1 160px}.import-mode select{min-height:48px}.filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;padding:16px;border-bottom:1px solid var(--border);background:var(--background)}.filter-bar>svg{display:none}.filter-bar label{gap:4px;color:var(--muted);font-size:.75rem}.filter-bar select{min-height:44px;padding-block:8px}.result-count{align-self:center;color:var(--accent);font-weight:700}.data-list-head,.student-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.data-list-head{display:none}.student-row{padding:16px;border-bottom:1px solid var(--border);content-visibility:auto;contain-intrinsic-size:84px}.student-row:last-child{border-bottom:0}.student-row>div{display:grid;gap:4px}.student-row>div:nth-child(2){grid-column:1}.student-row>.status-stack{grid-column:1}.student-row>.icon-button{grid-column:2;grid-row:1}.student-row>.restore-student{grid-column:1 / -1}.student-row small{color:var(--muted);font-size:.8125rem}.student-name{display:flex!important;min-width:0;align-items:center;gap:12px!important}.student-name>div{display:grid;min-width:0;gap:4px}.student-name strong{overflow:hidden;text-overflow:ellipsis}.avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--elevated);color:var(--accent);font-weight:700}.avatar svg{width:20px;height:20px}.status-stack{justify-items:start}.pagination-actions{display:flex;justify-content:center;padding:16px;border-top:1px solid var(--border)}.pagination-actions .button{width:min(100%,360px)}.stat-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border)}.stat-strip>div{position:relative;display:grid;gap:4px;padding:16px;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.stat-strip>div:nth-child(2n){border-left:0}.stat-strip svg{width:18px;height:18px;color:var(--accent)}.stat-strip span{color:var(--muted);font-size:.75rem}.stat-strip strong{font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.5rem}.analytics-panel{border-block:1px solid var(--border);background:var(--surface)}.analytics-heading,.analytics-subheading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 16px}.analytics-heading h2,.analytics-subheading h3{margin-bottom:0}.analytics-loading{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.875rem}.analytics-loading svg{width:16px;height:16px}.analytics-panel>.inline-notice{margin:0 16px 16px}.analytics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);background:var(--background)}.analytics-summary>div{display:grid;min-width:0;gap:4px;padding:16px;border-bottom:1px solid var(--border);border-left:1px solid var(--border)}.analytics-summary>div:nth-child(2n){border-left:0}.analytics-summary svg{width:18px;height:18px;color:var(--accent)}.analytics-summary dt{color:var(--muted);font-size:.75rem}.analytics-summary dd{margin:0;overflow-wrap:anywhere;font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.25rem;font-weight:700}.analytics-empty{display:grid;justify-items:center;gap:8px;padding:32px 16px;text-align:center}.analytics-empty svg{width:24px;height:24px;color:var(--muted)}.analytics-empty span{max-width:520px;color:var(--muted);line-height:1.6}.teacher-performance,.analytics-tabs{border-top:1px solid var(--border)}.analytics-subheading{padding-bottom:12px}.analytics-subheading>span{color:var(--muted);font-size:.8125rem}.teacher-performance table{width:100%;border-collapse:collapse}.teacher-performance thead{display:none}.teacher-performance tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-top:1px solid var(--border)}.teacher-performance tbody th{grid-column:1 / -1;color:var(--text);text-align:right}.teacher-performance tbody td{display:grid;min-width:0;gap:4px;color:var(--text);font-size:.875rem}.teacher-performance tbody td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:700}.teacher-performance tbody td strong,.teacher-performance tbody td small{display:block;overflow-wrap:anywhere}.teacher-performance tbody td small{margin-top:2px;color:var(--muted)}.analytics-tab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border)}.analytics-tab-list button{min-height:48px;border:0;border-left:1px solid var(--border);background:var(--background);color:var(--muted);padding:12px 16px;font:inherit;font-weight:700;cursor:pointer}.analytics-tab-list button:last-child{border-left:0}.analytics-tab-list button[data-state=active]{box-shadow:inset 0 -4px 0 var(--accent);background:var(--surface);color:var(--accent)}.analytics-tab-content:focus-visible{outline-offset:-3px}.analytics-data-head{display:none}.analytics-data-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-bottom:1px solid var(--border)}.analytics-data-row:last-child{border-bottom:0}.analytics-data-row>strong{display:flex;grid-column:1 / -1;min-width:0;align-items:center;gap:12px}.analytics-data-row>span{display:grid;min-width:0;gap:4px;color:var(--text);font-size:.875rem}.analytics-data-row>span:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:700}.analytics-data-row>strong>span:not(.rank-number){display:grid;min-width:0;gap:2px}.analytics-data-row>strong small{color:var(--muted);font-weight:400}.rank-number{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--elevated);color:var(--accent)}.report-toolbar .filter-bar{padding:0;border:0;background:transparent}.export-button{width:100%}.export-button[aria-disabled=true]{pointer-events:none;opacity:.5}.custom-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-bottom:1px solid var(--border);background:var(--background)}.custom-range label{gap:4px;color:var(--muted);font-size:.75rem}.custom-range .inline-notice{grid-column:1 / -1;margin:0}.report-head{display:none}.report-row{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;padding:16px;border-top:1px solid var(--border)}.report-row>strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.report-row>span:nth-child(3),.report-row time{grid-column:2;color:var(--muted);font-size:.8125rem}.report-row>span:nth-child(3){display:grid;gap:2px}.action-badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:4px 8px;color:var(--accent);background:var(--elevated);font-size:.75rem;font-weight:700}.action-badge.return{color:var(--success)}.settings-section{padding:20px 16px}.settings-heading{flex-wrap:wrap}.settings-heading p{margin:4px 0 0;color:var(--muted);line-height:1.6}.rule-grid{display:grid;gap:24px}.rule-grid>div{display:grid;gap:4px}.rule-grid>div>span,.rule-grid small{color:var(--muted)}.rule-grid>div>strong{font-size:1.25rem}.rule-grid fieldset,.editor-form fieldset{min-width:0;margin:0;border:0;padding:0}.rule-grid legend,.editor-form legend{margin-bottom:12px;font-weight:700}.reset-time-setting{display:grid;align-content:start;gap:8px}.reset-time-setting>span{font-weight:700}.reset-time-setting select{max-width:180px}.reset-time-setting small{line-height:1.6}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented label{display:block;cursor:pointer}.segmented input{position:absolute;width:1px;height:1px;opacity:0}.segmented span{display:grid;min-height:44px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:8px 12px}.segmented input:checked+span{border-color:var(--accent);background:var(--elevated);color:var(--accent)}.segmented input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-block:1px solid var(--border)}.setting-row>div{display:flex;align-items:flex-start;gap:12px}.setting-row>div>svg{width:22px;height:22px;color:var(--accent)}.setting-row>div>div{display:grid;gap:4px}.setting-row span{color:var(--muted);font-size:.875rem}.teacher-list{border-top:1px solid var(--border)}.teacher-row{display:grid;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.teacher-row>div:not(.student-name,.row-actions){display:grid;gap:4px}.teacher-row>div>span{color:var(--muted);font-size:.75rem}.active-account{color:var(--success)}.teacher-activity{display:grid;gap:4px;color:var(--accent);font-weight:700}.teacher-activity small{color:var(--muted);font-weight:400}.row-actions{display:flex;flex-wrap:wrap;gap:4px}.row-actions .button{flex:1 1 180px}.invitation-directory{display:grid;gap:20px}.invitation-form{display:grid;gap:16px;border-block:1px solid var(--border);background:var(--background);padding:20px 16px}.invitation-form>.button{width:100%}.class-picker{display:grid;min-width:0;gap:12px;margin:0;border:0;padding:0}.class-picker>legend{margin-bottom:0;font-weight:700}.class-picker__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.class-picker__options label{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:8px 12px;cursor:pointer}.class-picker__options label:has(input:checked){border-color:var(--accent);background:var(--elevated);color:var(--accent)}.class-picker__options input{width:20px;min-height:20px;accent-color:var(--accent)}.class-picker__manual{display:grid;gap:8px}.class-picker__manual label{min-width:0}.class-picker__manual .button{width:100%}.class-picker__empty{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.field-error{color:var(--danger);font-weight:700}.invitation-list{display:grid}.invitation-row{display:grid;gap:12px;border-bottom:1px solid var(--border);padding:16px 0}.invitation-row>div{display:grid;gap:4px;min-width:0}.invitation-row>div>span,.invitation-row small{color:var(--muted);font-size:.75rem}.invitation-row strong,.invitation-row time{overflow-wrap:anywhere}.invitation-status.active,.invitation-status.pending{color:var(--info)}.invitation-status.completed,.invitation-status.accepted,.invitation-status.used{color:var(--success)}.invitation-status.expired,.invitation-status.cancelled,.invitation-status.revoked{color:var(--muted)}.backup-status{display:grid;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.backup-status>svg{width:28px;height:28px;color:var(--accent)}.backup-status>div{display:grid;gap:4px}.backup-status span{color:var(--muted);font-size:.8125rem}.backup-actions{display:flex;flex-wrap:wrap;gap:8px}.backup-restore-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.backup-restore-summary>div{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background)}.backup-restore-summary span,.backup-restore-details dt{color:var(--muted);font-size:.75rem}.backup-restore-summary strong{font-size:1.25rem}.backup-restore-details{display:grid;gap:8px;margin:0 0 16px}.backup-restore-details>div{display:flex;justify-content:space-between;gap:16px}.backup-restore-details dd{margin:0;text-align:left}.restore-safety-note{display:flex;align-items:flex-start;gap:8px;color:var(--success);font-weight:700;line-height:1.6}.restore-safety-note svg{width:20px;height:20px;flex:0 0 auto}.restore-confirm{display:flex;grid-template-columns:none;flex-direction:row;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;border:1px solid var(--warning);border-radius:var(--radius-md);background:#fff8ed;font-weight:700;line-height:1.6}.restore-confirm input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--danger)}.dropdown-content{z-index:20;min-width:220px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:8px;box-shadow:var(--shadow-overlay)}.dropdown-user{display:grid;gap:4px;padding:8px}.dropdown-user span{color:var(--muted);font-size:.8125rem}.dropdown-separator{height:1px;margin:4px 0;background:var(--border)}.dropdown-item{display:flex;min-height:44px;align-items:center;gap:8px;border-radius:var(--radius-md);padding:8px 12px;outline:none;cursor:pointer}.dropdown-item[data-highlighted]{background:var(--elevated)}.dropdown-item[data-disabled]{opacity:.45}.dropdown-item svg{width:18px;height:18px}.dialog-overlay{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;background:#12383cb8}.dialog-content{position:fixed;z-index:50;top:50%;right:50%;width:min(calc(100% - 32px),560px);max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:var(--radius-xl);background:var(--surface);padding:24px;box-shadow:var(--shadow-overlay);transform:translate(50%,-50%)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-heading h2,.dialog-heading [data-radix-dialog-title]{margin:0 0 4px;font-size:1.25rem}.dialog-heading p,.dialog-heading [data-radix-dialog-description]{margin:0;color:var(--muted);line-height:1.6}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.confirm-corridor{border-right:4px solid var(--accent);padding-right:16px}.confirm-corridor h2{margin-bottom:16px;font-size:1.375rem}.confirm-corridor dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.confirm-corridor dl>div{display:grid;gap:4px;border-top:1px solid var(--border);padding-top:8px}.confirm-corridor dt{color:var(--muted);font-size:.75rem}.confirm-corridor dd{font-weight:700}.sheet-dialog{top:0;right:0;width:min(100%,620px);max-height:100dvh;min-height:100dvh;border-radius:0;transform:none}.editor-form{display:grid;gap:24px}.editor-form fieldset{display:grid;gap:16px;border-top:1px solid var(--border);padding-top:16px}.editor-form legend{color:var(--accent);font-family:Noto Kufi Arabic,Tahoma,sans-serif}.switch-field{display:flex;align-items:center;justify-content:space-between}.import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}.import-summary span{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);padding:12px;font-weight:700}.import-errors{margin-bottom:16px;border-right:4px solid var(--danger);padding-right:16px}.import-errors h3{margin-bottom:8px;color:var(--danger);font-size:1rem}.import-errors ul{margin:0;padding-right:20px;color:var(--danger);line-height:1.7}.card-preview-dialog{width:min(calc(100% - 32px),900px)}.print-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.print-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;text-align:center}.print-card h3{margin-bottom:4px}.print-card p{color:var(--muted)}.print-card img,.qr-placeholder{width:min(100%,240px);aspect-ratio:1;margin:16px auto 0}.qr-placeholder{display:grid;place-items:center;background:var(--elevated);color:var(--muted)}.qr-progress{margin:12px 0;color:var(--accent);font-weight:700}.parent-report-dialog{width:min(calc(100% - 32px),920px)}.parent-report-range{display:grid;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.parent-report-range .button{align-self:end}.report-prompt{padding-block:28px}.parent-report-print{display:grid;gap:20px}.parent-report-student{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;border-right:4px solid var(--accent);padding-right:16px}.parent-report-student h3{margin-bottom:4px;font-size:1.25rem}.parent-report-student p{margin-bottom:0;color:var(--muted)}.parent-report-student>div:last-child{display:grid;gap:4px}.parent-report-student>div:last-child span{color:var(--muted);font-size:.75rem}.parent-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background)}.parent-report-summary>div{display:grid;gap:4px;min-width:0;padding:14px;border-left:1px solid var(--border)}.parent-report-summary>div:last-child{border-left:0}.parent-report-summary span{color:var(--muted);font-size:.75rem}.parent-report-summary strong{overflow-wrap:anywhere;color:var(--text)}.parent-report-table{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.parent-report-head{display:none}.parent-report-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding:14px;border-bottom:1px solid var(--border)}.parent-report-row:last-child{border-bottom:0}.parent-report-row time,.parent-report-row>span:nth-child(3){color:var(--muted);font-size:.875rem}.parent-report-row>span:nth-child(3),.parent-report-row>strong{grid-column:2}.toast-viewport{position:fixed;z-index:70;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),420px);margin:0;padding:0;list-style:none}@media(min-width:640px){.app-main{padding-inline:24px}.user-trigger{max-width:280px}.user-trigger span,.user-trigger svg:last-child{display:block}.inline-notice{grid-template-columns:auto minmax(0,1fr) auto}.inline-notice .button{grid-column:auto}.push-control{flex-direction:row;align-items:center}.corridor-board,.escalation-board,.frequent-exits-board,.settings-section,.scan-heading,.scan-tabs{padding:24px}.directory-toolbar{grid-template-columns:minmax(260px,1fr) auto;align-items:center;padding:20px 24px}.toolbar-actions .button{flex:0 1 auto}.import-mode{flex:0 1 160px}.import-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(3,minmax(120px,1fr)) auto;padding:16px 24px}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-strip>div{border-bottom:0}.stat-strip>div:nth-child(2n){border-left:1px solid var(--border)}.stat-strip>div:last-child{border-left:0}.analytics-heading,.analytics-subheading{padding-inline:24px}.analytics-panel>.inline-notice{margin-inline:24px}.analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-summary>div:nth-child(n){border-left:1px solid var(--border)}.analytics-summary>div:nth-child(3n){border-left:0}.report-toolbar{padding:20px 24px}.report-toolbar .filter-bar{grid-template-columns:repeat(4,minmax(100px,1fr))}.export-button{width:max-content}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invitation-form{grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr);align-items:start;padding-inline:24px}.invitation-form>.inline-notice,.invitation-form>.button{grid-column:1 / -1}.invitation-form>.button{width:max-content;justify-self:end}.class-picker__options{grid-template-columns:repeat(3,minmax(88px,1fr))}.class-picker__manual{grid-template-columns:minmax(120px,1fr) auto;align-items:end}.class-picker__manual .button{width:auto}.editor-form .class-picker{grid-template-columns:1fr}.invitation-row{grid-template-columns:minmax(210px,1.4fr) minmax(130px,.7fr) minmax(180px,1fr) auto;align-items:center}.backup-status{grid-template-columns:auto 1fr 1fr;align-items:center}.editor-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-form legend{grid-column:1 / -1}.parent-report-range{grid-template-columns:1fr 1fr auto}}@media(min-width:768px){.corridor-row{grid-template-columns:minmax(180px,1.4fr) 96px 96px minmax(130px,1fr);align-items:center}.corridor-row .health-flag,.corridor-owner{grid-column:1 / 3}.corridor-actions{grid-column:3 / 5;grid-template-columns:repeat(2,minmax(0,1fr))}.data-list-head,.student-row{grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) minmax(140px,1fr) 48px}.data-list-head{display:grid;padding:12px 24px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:700}.student-row{padding:16px 24px}.student-row>div:nth-child(2),.student-row>.status-stack,.student-row>.icon-button{grid-column:auto;grid-row:auto}.student-row>.restore-student{grid-column:auto}.report-head,.report-row{display:grid;grid-template-columns:96px minmax(180px,1.2fr) minmax(180px,1fr) minmax(170px,1fr);align-items:center;gap:12px}.report-head{padding:12px 24px;border-top:1px solid var(--border);background:var(--background);color:var(--muted);font-size:.75rem;font-weight:700}.report-row{padding:16px 24px}.report-row>span:nth-child(3),.report-row time{grid-column:auto}.teacher-performance thead{display:table-header-group}.teacher-performance thead th{padding:12px 16px;background:var(--background);color:var(--muted);font-size:.75rem;text-align:right}.teacher-performance tbody tr{display:table-row;padding:0;border:0}.teacher-performance tbody th,.teacher-performance tbody td{display:table-cell;padding:14px 16px;border-top:1px solid var(--border);text-align:right;vertical-align:middle}.teacher-performance tbody th{grid-column:auto}.teacher-performance tbody td:before{display:none}.analytics-data-head,.analytics-data-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(110px,1fr));align-items:center;gap:12px;padding:12px 24px}.analytics-data-head{background:var(--background);color:var(--muted);font-size:.75rem;font-weight:700}.analytics-data-row>strong{grid-column:auto}.analytics-data-row>span{display:block}.analytics-data-row>span:before{display:none}.teacher-row{grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) 100px minmax(170px,1fr);align-items:center}.teacher-row .row-actions{grid-column:1 / -1}.parent-report-head,.parent-report-row{display:grid;grid-template-columns:110px minmax(170px,1.2fr) minmax(140px,1fr) 110px;align-items:center;gap:12px}.parent-report-head{padding:10px 14px;background:var(--background);color:var(--muted);font-size:.75rem;font-weight:700}.parent-report-row>span:nth-child(3),.parent-report-row>strong{grid-column:auto}}@media(min-width:1024px){.analytics-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.analytics-summary>div:nth-child(n){border-left:1px solid var(--border)}.analytics-summary>div:last-child{border-left:0}.app-frame{display:grid;grid-template-columns:232px minmax(0,1fr)}.side-rail{position:sticky;z-index:30;top:0;display:flex;height:100dvh;flex-direction:column;border-left:1px solid var(--border);background:var(--surface);padding:24px 16px}.rail-brand{display:flex;align-items:center;gap:12px;padding:0 8px 32px}.rail-logo{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-md);background:var(--accent);color:var(--surface)}.rail-logo svg{width:22px;height:22px}.rail-brand div{display:grid;gap:2px}.rail-brand strong{font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.25rem}.rail-brand small{color:var(--muted);font-size:.75rem}.side-rail nav{display:grid;gap:4px}.side-rail nav button{position:relative;display:flex;min-height:48px;align-items:center;gap:12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted);padding:8px 12px;font-weight:700}.side-rail nav button.active{background:var(--elevated);color:var(--accent)}.side-rail nav .nav-icon>b{border-color:var(--elevated)}.rail-hint{display:flex;align-items:flex-start;gap:8px;margin:auto 8px 0;color:var(--muted);font-size:.75rem;line-height:1.6}.rail-hint svg{width:18px;height:18px}kbd{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);padding:0 4px;font-family:IBM Plex Mono,monospace}.bottom-nav{display:none}.app-main{padding:32px 40px 64px}.offline-banner{margin:-32px -40px 24px;padding-inline:40px}.page-header{margin-bottom:32px}.corridor-row{grid-template-columns:minmax(190px,1.5fr) 100px 100px minmax(140px,1fr) minmax(180px,auto);gap:20px}.corridor-row .health-flag,.corridor-owner{grid-column:auto}.corridor-row .health-flag{grid-column:1 / 3}.corridor-owner{grid-column:3 / 5}.corridor-actions{grid-column:5;grid-row:1 / span 2;align-self:center}.sheet-dialog{right:auto;left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{background:var(--surface)}body *{visibility:hidden!important}.card-preview-dialog,.card-preview-dialog *,.parent-report-dialog,.parent-report-dialog *{visibility:visible!important}.card-preview-dialog,.parent-report-dialog{position:static;width:100%;max-height:none;overflow:visible;padding:0;box-shadow:none;transform:none}.no-print,.dialog-overlay,.parent-report-dialog .dialog-heading .icon-button{display:none!important}.parent-report-print{gap:6mm}.parent-report-row{break-inside:avoid}.print-grid{grid-template-columns:repeat(2,1fr);gap:8mm}.print-card{break-inside:avoid}.print-card img{width:58mm}}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(242,184,75,.18),transparent 32%),radial-gradient(circle at 0% 12%,rgba(44,152,147,.12),transparent 38%)}.app-frame{display:block;width:min(100%,1080px);min-height:100dvh;margin-inline:auto;padding:calc(env(safe-area-inset-top) + 16px) clamp(12px,4vw,52px) calc(env(safe-area-inset-bottom) + 112px)}.app-main{width:100%;max-width:none;margin:0;padding:0}.side-rail{display:none}.top-bar{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin-bottom:14px}.top-bar__brand{display:flex;flex:1;min-width:0;align-items:center;gap:12px}.brand-mark{display:block;flex:0 0 auto;object-fit:contain;background:transparent}.brand-mark--compact{width:52px;height:52px;padding:3px;border:1px solid var(--border);border-radius:16px;background:#ffffffdb;box-shadow:var(--shadow-card)}.brand-mark--lockup{width:84px;height:84px}.top-bar__title{display:flex;min-width:0;flex-direction:column}.top-bar__title strong{color:var(--text);font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.15rem;line-height:1.25}.top-bar__title span{color:var(--muted);font-size:.78rem;line-height:1.55;overflow-wrap:anywhere}.status-dot{display:inline-block;width:8px;height:8px;margin-inline-start:6px;border-radius:50%}.status-dot.online{background:#2c9893;box-shadow:0 0 0 3px #2c98932e}.status-dot.offline{background:var(--gold);box-shadow:0 0 0 3px #f2b84b40}.top-bar__actions{display:flex;align-items:center;gap:6px}.top-bar__role{min-height:44px;padding-inline:12px}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:.78rem;font-weight:800}.pill--success{background:#1f7f821c;color:var(--accent-strong)}.pill--gold{background:#f2b84b33;color:var(--warning)}.user-trigger.icon-btn{display:grid;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;place-items:center;overflow:visible;border:1px solid var(--border);border-radius:12px;padding:0;background:#ffffffc7;color:var(--text);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-trigger.icon-btn>span,.user-trigger.icon-btn>svg:last-child{display:none}.hero{position:relative;z-index:1;margin-bottom:14px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--surface-glass);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero__chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);padding:6px 12px;background:#155e631a;color:var(--accent);font-size:.78rem;font-weight:800}.hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hero .stat{min-width:0;border-radius:var(--radius-md);padding:10px 8px;background:var(--surface-muted);text-align:center}.hero .stat strong{display:block;color:var(--accent);font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.4rem;line-height:1.15}.hero .stat span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}.hero__cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.hero__cta--single{grid-template-columns:1fr}.workspace-stack,.scan-page-stack,.scan-workspace,.directory-workspace,.report-workspace,.settings-section,.escalation-board,.corridor-board,.frequent-exits-board{position:relative;z-index:1}.corridor-board,.escalation-board,.frequent-exits-board,.scan-workspace,.directory-workspace,.report-workspace,.settings-section{border-color:var(--border);border-radius:var(--radius-xl);background:var(--surface-glass);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.corridor-row,.student-row,.teacher-row,.report-row,.setting-row,.backup-status,.filter-bar,.report-toolbar,.directory-toolbar,.scan-tabs{border-color:var(--border)}.bottom-nav{position:fixed;z-index:40;right:auto;bottom:calc(env(safe-area-inset-bottom) + 12px);left:50%;display:flex;width:min(calc(100% - 24px),620px);min-height:0;transform:translate(-50%);gap:4px;border:1px solid var(--border);border-radius:var(--radius-2xl);padding:8px;background:var(--surface-glass);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-nav .nav-btn{position:relative;display:grid;flex:1 1 0;min-width:0;min-height:54px;place-items:center;align-content:center;gap:3px;border:0;border-radius:var(--radius-lg);padding:8px 4px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:800}.bottom-nav .nav-btn.active{background:#155e631a;color:var(--accent)}.bottom-nav .nav-btn.active:before{content:"";position:absolute;top:4px;left:50%;width:20px;height:3px;transform:translate(-50%);border-radius:3px;background:var(--accent)}input,textarea,select{border-color:var(--border);border-radius:var(--radius-md);background:#ffffffeb}.offline-banner{border-radius:var(--radius-lg);margin:0 0 14px}.toast-viewport{bottom:calc(104px + env(safe-area-inset-bottom))}@media(max-width:560px){.app-frame{padding-inline:12px}.top-bar{gap:8px;margin-bottom:10px}.top-bar__title strong{font-size:1rem}.top-bar__title span{font-size:.72rem}.top-bar__role{display:none}.hero{padding:14px;border-radius:var(--radius-xl)}.hero__stats{gap:6px}.hero .stat{padding:8px 5px}.hero .stat strong{font-size:1.15rem}.hero .stat span{font-size:.66rem}.bottom-nav{width:min(calc(100% - 16px),440px);padding:6px;gap:2px}.bottom-nav .nav-btn{padding:6px 2px;font-size:.66rem}}@media(max-width:380px){.app-frame{padding-inline:8px}.top-bar{flex-wrap:wrap}.top-bar__actions{margin-inline-start:auto}.brand-mark--compact{width:46px;height:46px}.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__cta{grid-template-columns:1fr}.bottom-nav{width:calc(100% - 12px)}}@media(min-width:1024px){.app-frame{display:block}.app-main{padding:0}.bottom-nav{display:flex}}@media print{.app-backdrop,.top-bar,.hero,.bottom-nav{display:none!important}}@font-face{font-family:Mamarr Tajawal;src:url(/fonts/Tajawal-Medium.ttf) format("truetype");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:Mamarr Tajawal;src:url(/fonts/Tajawal-Bold.ttf) format("truetype");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:Mamarr Tajawal;src:url(/fonts/Tajawal-ExtraBold.ttf) format("truetype");font-weight:800 900;font-style:normal;font-display:swap}:root{--mamarr-ivory: #f8f3e8;--mamarr-auth-background: url(/mamarr-auth-bg-640.webp);--mamarr-lavender: #bca8e5;--mamarr-mint: #b9ddd5;--mamarr-auth-ink: #073f49;--mamarr-auth-muted: #4f7076;--mamarr-field-stroke: rgba(42, 95, 104, .25);--mamarr-purple: #765ce8}html,body{background:var(--mamarr-ivory)}body{background-attachment:scroll}.theme-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background-color:var(--mamarr-ivory)}.theme-backdrop:before,.theme-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.theme-backdrop:before{background-image:var(--mamarr-auth-background);background-position:center top;background-repeat:no-repeat;background-size:cover}.theme-backdrop--auth:before{opacity:.3;filter:saturate(.72) contrast(.88) brightness(1.07);transform:scale(1.01)}.theme-backdrop--auth:after{background:radial-gradient(ellipse at 50% 45%,#fbf8f1f7,#fbf8f1e6 44%,#fbf8f1a1 74%,#fbf8f161),linear-gradient(180deg,#fbf8f133,#fbf8f18f 64%,#fbf8f1b8)}.theme-backdrop--app:before{opacity:.13;filter:saturate(.82) contrast(.96)}.theme-backdrop--app:after{background:#f8f3e8d6}.app-theme,.auth-shell{position:relative;isolation:isolate}.app-frame.app-theme{background:transparent}.app-theme>.side-rail,.app-theme>.app-main{position:relative;z-index:1}.app-main{position:relative;z-index:1}.theme-backdrop--section.section-decorative-background{position:absolute;z-index:0;top:0;right:0;bottom:auto;left:0;width:auto;height:280px;border-radius:0 0 42px 42px;background:transparent;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 58%,transparent 100%)}.theme-backdrop--section:before{opacity:.1;background-position:center 12%;transform:scale(1.08)}.theme-backdrop--section:after{background:linear-gradient(180deg,#f8f3e861,#f8f3e8d1)}.login-shell.auth-shell{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100svh;margin:0;padding:calc(env(safe-area-inset-top) + 90px) 0 0;border:0;overflow-x:hidden;overflow-y:visible;background:transparent;font-family:Mamarr Tajawal,Tahoma,sans-serif;font-weight:500;color:var(--mamarr-auth-ink)}.auth-shell h1,.auth-shell button,.auth-shell input{font-family:inherit}.login-shell.auth-shell--secondary{padding-top:calc(env(safe-area-inset-top) + 86px)}.auth-arch-decoration{position:absolute;z-index:1;top:calc(env(safe-area-inset-top) + 48px);left:-90px;width:204px;height:190px;opacity:.11;-webkit-mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%);pointer-events:none}.auth-arch-decoration i{position:absolute;border:9px solid rgba(83,150,149,.28);border-bottom:0;border-radius:999px 999px 0 0}.auth-arch-decoration i:nth-child(1){top:0;right:0;bottom:0;left:0}.auth-arch-decoration i:nth-child(2){top:15px;right:15px;bottom:0;left:15px}.auth-arch-decoration i:nth-child(3){top:30px;right:30px;bottom:0;left:30px}.auth-arch-decoration i:nth-child(4){top:45px;right:45px;bottom:0;left:45px}.auth-top-nav,.auth-screen{width:min(calc(100% - 48px),430px)}.auth-top-nav{position:relative;z-index:2;display:flex;min-height:44px;align-items:center;justify-content:flex-start;margin-bottom:4px}.auth-top-nav button{display:inline-flex;min-height:44px;align-items:center;gap:5px;border:0;padding:4px 0;background:transparent;color:var(--mamarr-auth-ink);font-weight:800}.auth-top-nav button svg{width:22px;height:22px}.auth-top-nav button:hover:not(:disabled){color:var(--accent)}.auth-screen{position:relative;z-index:2;display:grid;flex:0 0 auto;gap:24px;overflow:visible;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-screen__brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:1px;text-align:center}.brand-mark--lockup{width:clamp(118px,30vw,128px);height:clamp(118px,30vw,128px);margin:0;border:1px solid rgba(255,255,255,.8);border-radius:27px;background:#ffffffc7;box-shadow:0 11px 30px #30535414;filter:none}.auth-screen__brand span{margin-top:0;color:var(--mamarr-auth-muted);font-size:1.0625rem;line-height:1.6}.auth-screen__hero{text-align:center}.auth-screen__hero .eyebrow{color:var(--accent)}.auth-screen__hero h1:focus{outline:none}.auth-screen__hero h1{margin:0 0 10px;color:var(--mamarr-auth-ink);font-size:clamp(1.5rem,6.8vw,2rem);font-weight:800;line-height:1.4;letter-spacing:0;text-wrap:balance}.auth-screen__hero .eyebrow+h1{margin-top:5px}.auth-screen__hero p:last-child{max-width:34ch;margin:0 auto;color:var(--mamarr-auth-muted);font-size:1.125rem;line-height:1.5}.auth-form{display:grid;gap:12px;min-width:0}.auth-input-field,.password-field{position:relative;display:block;min-width:0}.auth-field-label{position:absolute;z-index:2;top:14px;right:50px;max-width:calc(100% - 112px);overflow:hidden;color:var(--mamarr-auth-muted);font-size:.95rem;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.auth-field-icon{position:absolute;z-index:2;top:22px;right:16px;width:25px;height:25px;color:#356f78;pointer-events:none}.auth-input-field input,.password-field input{display:block;width:100%;height:68px;min-height:68px;border:1px solid var(--mamarr-field-stroke);border-radius:15px;padding:30px 18px 8px 50px;background:#ffffffeb;color:var(--mamarr-auth-ink);font-size:1.0625rem;text-align:right;box-shadow:0 3px 12px #264e5206}.auth-input-field input{padding-right:50px;padding-left:18px}.password-field input{padding-right:50px;padding-left:58px}.auth-input-field input::placeholder,.password-field input::placeholder{color:#8da0a4;opacity:1}.auth-input-field input:focus,.password-field input:focus{border-color:#179b9b;box-shadow:0 0 0 3px #179b9b1c,0 7px 20px #17707112}.auth-input-field:focus-within .auth-field-icon,.password-field:focus-within .auth-field-icon{color:#0c8e8e}.auth-form>label{display:grid;gap:6px;color:var(--mamarr-auth-muted);font-size:.82rem}.auth-form>label>input{min-height:58px;border-color:var(--mamarr-field-stroke);border-radius:15px;background:#ffffffb8}.auth-form>.button.primary{width:100%;min-height:64px;border-radius:15px;font-size:1.3125rem}.auth-form>.button.quiet{justify-self:center;min-height:44px;margin-top:0;padding-block:2px;text-decoration:underline;text-underline-offset:4px}.button.auth-action{position:relative;isolation:isolate;min-height:64px;overflow:hidden;border:0;border-radius:15px;padding-inline:64px;background:linear-gradient(110deg,#083f49,#11616a);box-shadow:0 12px 28px #07575f24;color:#fff;font-family:inherit;font-size:1.3125rem;font-weight:700}.button.auth-action:hover:not(:disabled){background:linear-gradient(110deg,#064c54,#076a6e)}.button.auth-action:active:not(:disabled){transform:translateY(1px)}.auth-action__icon{position:absolute;left:13px;display:grid;width:43px;height:43px;place-items:center;border-radius:50%;background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff0a}.auth-action__icon svg{width:21px;height:21px}.auth-spinner{animation:mamarr-spin .9s linear infinite}.auth-forgot{justify-self:end!important;min-height:44px!important;margin:-5px 0 0!important;padding:0 2px!important;color:var(--mamarr-auth-ink)!important;font-size:1rem;text-decoration:underline;text-underline-offset:4px}.auth-switch{display:grid;gap:13px;margin-top:14px;border:0;padding-top:0;text-align:center}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--mamarr-auth-muted);font-size:.95rem}.auth-divider:before,.auth-divider:after{content:"";flex:1 1 auto;height:1px;background:#2a5f6840}.auth-switch>span{color:var(--mamarr-auth-muted);font-size:1rem}.auth-switch .button.secondary{width:100%;min-height:63px;border-color:#227985;border-radius:15px;background:#ffffffe6;color:var(--mamarr-auth-ink);font-size:1.1875rem;font-weight:700}.auth-switch .button.secondary:hover:not(:disabled){background:#e7f4efc7}.password-field__control{position:static;display:block}.password-visibility{position:absolute;z-index:2;top:50%;left:9px;display:grid;width:44px;height:44px;transform:translateY(-50%);place-items:center;border:0;border-radius:50%;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#bca8e52e;color:var(--mamarr-purple)}.password-visibility:hover{background:#bca8e547}.password-visibility svg{width:21px;height:21px}.password-visibility[aria-pressed=true] svg{animation:mamarr-control-confirm .18s var(--ease) both}.password-visibility:after{content:"";position:absolute;top:-8px;right:-9px;width:21px;height:21px;background:linear-gradient(110deg,transparent 46%,#8664f4 48%,#8664f4 57%,transparent 59%) 1px 0 / 7px 10px no-repeat,linear-gradient(135deg,transparent 44%,#8664f4 46%,#8664f4 57%,transparent 59%) 9px 5px / 10px 9px no-repeat,linear-gradient(#8664f4,#8664f4) 13px 17px / 7px 2px no-repeat;pointer-events:none}.password-requirements{display:grid;gap:6px;margin:-3px 0 1px;padding:0;color:var(--mamarr-auth-muted);font-size:.95rem;list-style:none}.password-requirements li{display:flex;align-items:center;gap:7px}.password-requirements li>span{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#4b686d1a;font-weight:900}.password-requirements li>span svg{width:14px;height:14px}.password-requirements li.is-met{color:#0a775c}.password-requirements li.is-met>span{background:#078966;color:#fff}.password-requirements li.is-met>span svg{animation:mamarr-control-confirm .22s var(--ease) both}.otp-form{gap:14px}.otp-field{display:grid;gap:0}.otp-field>.auth-field-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.otp-code{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));direction:ltr;gap:clamp(5px,1.7vw,8px)}.otp-code .otp-input{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:.01;background:transparent;color:transparent;caret-color:transparent;letter-spacing:0;font-size:1.4rem;text-align:center;box-shadow:none}.otp-digit{display:grid;min-width:0;height:60px;place-items:center;border:1px solid rgba(42,95,104,.28);border-radius:14px;background:#ffffffc2;color:var(--mamarr-auth-ink);font-family:Mamarr Tajawal,sans-serif;font-size:1.65rem;font-weight:500;font-variant-numeric:tabular-nums;box-shadow:0 5px 16px #3358580d;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),transform .14s var(--ease)}.otp-digit.is-filled{border-color:#11898b85}.otp-code:has(.otp-input:focus) .otp-digit.is-active{border-color:#149899;box-shadow:0 0 0 3px #14989921,0 8px 22px #1498991a;transform:translateY(-2px)}.otp-delivery{display:flex;min-height:78px;flex-direction:row-reverse;align-items:center;gap:12px;border-radius:16px;padding:12px 14px;background:#ddf0ebc7;color:var(--mamarr-auth-ink)}.otp-delivery__icon{display:grid;flex:0 0 auto;width:46px;height:46px;place-items:center;border-radius:50%;background:#69bab129;color:#126970}.otp-delivery__icon svg{width:21px;height:21px}.otp-delivery>div{min-width:0;flex:1;direction:rtl;text-align:right}.otp-delivery p{margin:0 0 3px;font-size:1rem;font-weight:700;line-height:1.45}.otp-delivery bdi{display:block;overflow:hidden;color:#718a90;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.otp-resend{display:inline-flex;width:max-content;max-width:100%;min-height:44px;align-items:center;justify-content:center;justify-self:center;gap:7px;border:0;padding:2px 4px;background:transparent;color:var(--mamarr-auth-muted);font-size:1rem}.otp-resend:disabled{cursor:default;opacity:1}.otp-resend:not(:disabled){color:var(--mamarr-auth-ink);text-decoration:underline;text-underline-offset:4px}.otp-resend__timer{display:inline-flex;align-items:center;gap:4px;color:var(--mamarr-purple);font-weight:800}.otp-resend__timer svg{width:18px;height:18px}.auth-signature{position:relative;z-index:2;width:100%;margin:0 0 25px;padding:0 24px env(safe-area-inset-bottom);color:var(--mamarr-auth-muted);font-size:1rem;font-style:italic;text-align:center}.auth-signature:before,.auth-signature:after{content:"";display:inline-block;width:28px;height:1px;margin:0 9px 4px;background:#155e6347}.auth-signature:before{display:none}.auth-footer{position:relative;z-index:1;display:flex;align-items:flex-end;width:100%;flex:0 0 auto;justify-content:center;min-height:160px;margin-top:auto;padding:0}.auth-scenery{position:absolute;bottom:0;width:100%;max-width:none;height:160px;max-height:none}.auth-shell--login .auth-footer{min-height:116px}.auth-shell--login .auth-scenery{height:130px}.auth-shell--login .auth-signature{margin-bottom:50px}.corridor-board,.escalation-board,.frequent-exits-board,.scan-workspace,.directory-workspace,.report-workspace,.settings-section{background:#fffdf8f0}.dialog-content,.sheet-dialog,.toast-root,.inline-notice{background-color:#fffdf8}.auth-screen .inline-notice{margin:0;border-radius:14px;background-color:#fffdf8e6}@keyframes mamarr-auth-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes mamarr-auth-content-in{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mamarr-auth-logo-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes mamarr-otp-digit-in{0%{opacity:0;transform:translateY(9px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mamarr-spin{to{transform:rotate(360deg)}}@keyframes mamarr-control-confirm{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.auth-shell--intro .theme-backdrop--auth{animation:mamarr-auth-backdrop-in .52s var(--ease) both}.auth-screen--intro>*{animation:mamarr-auth-content-in .52s var(--ease) both}.auth-screen--intro>.auth-screen__brand{animation-name:mamarr-auth-logo-in;animation-duration:.62s}.auth-screen--intro>:nth-child(1){animation-delay:90ms}.auth-screen--intro>:nth-child(2){animation-delay:.22s}.auth-screen--intro>:nth-child(3){animation-delay:.35s}.auth-screen--intro>:nth-child(4){animation-delay:.46s}.auth-screen--intro>:nth-child(n+5){animation-delay:.56s}.otp-code--animated .otp-digit{animation:mamarr-otp-digit-in .36s var(--ease) both;animation-delay:calc(var(--otp-index) * 45ms)}@media(min-width:641px),(min-resolution:1.5dppx){:root{--mamarr-auth-background: url(/mamarr-auth-bg-941.webp)}}@media(min-width:700px){.login-shell.auth-shell{padding-top:calc(env(safe-area-inset-top) + 48px)}.auth-footer{max-width:620px}.auth-scenery{width:100%;height:180px}}@media(max-width:430px){.login-shell.auth-shell{padding-top:calc(env(safe-area-inset-top) + 90px)}.login-shell.auth-shell--secondary{padding-top:calc(env(safe-area-inset-top) + 86px)}.auth-screen{gap:24px}.brand-mark--lockup{width:120px;height:120px}.auth-screen__hero h1{font-size:clamp(1.5rem,6.8vw,2rem)}.otp-code{gap:5px}.otp-digit{border-radius:13px}.auth-signature:after{width:20px;margin-inline:7px}}@media(max-width:360px){.auth-screen,.auth-top-nav{width:calc(100% - 48px)}.brand-mark--lockup{width:112px;height:112px}.auth-screen__brand span{font-size:1rem}.auth-screen__hero h1{font-size:1.5rem}.auth-screen__hero p:last-child{font-size:1.0625rem}.auth-field-label{right:47px}.auth-field-icon{right:14px}.auth-input-field input,.password-field input{padding-right:47px}.otp-digit{height:56px;font-size:1.25rem}.otp-delivery{gap:9px;padding-inline:11px}}@media(max-height:560px){.login-shell.auth-shell{padding-top:calc(env(safe-area-inset-top) + 10px)}.auth-top-nav{min-height:38px;margin-bottom:0}.auth-screen{gap:11px}.brand-mark--lockup{width:90px;height:90px;border-radius:22px}.auth-screen__brand{gap:4px}.auth-screen__brand span{font-size:.78rem}.auth-screen__hero h1{margin-bottom:3px;font-size:1.38rem}.auth-screen__hero p:last-child{font-size:.86rem;line-height:1.58}.auth-form,.otp-form{gap:10px}.auth-input-field input,.password-field input{height:62px;min-height:62px;padding-top:26px}.auth-field-label{top:8px}.auth-field-icon{top:20px}.auth-form>.button.primary,.button.auth-action{min-height:56px}.otp-digit{height:54px}.otp-delivery{min-height:66px;padding-block:8px}.auth-footer{padding-top:10px}}@media(prefers-reduced-motion:reduce){.auth-shell--intro .theme-backdrop--auth,.auth-screen--intro>*,.otp-code--animated .otp-digit{opacity:1!important;transform:none!important;animation:none!important}.auth-shell *,.auth-shell *:before,.auth-shell *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media print{.theme-backdrop,.section-decorative-background{display:none!important}}.app-theme,.dialog-content,.dropdown-content{font-family:Mamarr Tajawal,Tahoma,sans-serif;font-weight:500;line-height:1.6}.toast-viewport{font-family:Mamarr Tajawal,Tahoma,sans-serif}.app-theme :is(h1,h2,h3,legend),.dialog-content :is(h1,h2,h3,legend),.app-theme .rail-brand strong,.app-theme .top-bar__title strong,.app-theme .hero .stat strong,.app-theme .stat-strip strong,.app-theme .analytics-summary dd,.app-theme .corridor-metric strong{font-family:Mamarr Tajawal,Tahoma,sans-serif;font-weight:700}.app-theme :is(.hero .stat strong,.stat-strip strong,.analytics-summary dd,.corridor-metric strong,time,.result-count){font-variant-numeric:tabular-nums}.app-theme .app-main,.app-theme :is(.workspace-stack,.scan-page-stack,.settings-workspace,.directory-workspace,.report-workspace,.settings-section,.corridor-board,.scan-workspace),.app-theme :is(.directory-toolbar,.report-toolbar,.filter-bar,.toolbar-actions,.student-row,.teacher-row,.report-row){min-width:0}.app-theme .top-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "school school" "heading heading";align-items:start;gap:16px;margin-bottom:24px}.app-theme .top-bar__brand{grid-area:brand;min-width:0;align-items:center}.app-theme .top-bar__title{min-width:0}.workspace-heading{grid-area:heading;display:grid;min-width:0;gap:6px}.school-context{grid-area:school;display:grid;min-width:0;gap:2px}.school-context__name{overflow-wrap:anywhere;color:var(--accent-strong);font-size:1.0625rem;font-weight:700;line-height:1.45}.school-context__scope{color:var(--muted);font-size:.875rem;line-height:1.5}.workspace-actions{grid-area:actions;display:flex;flex:0 0 auto;align-items:center;align-self:flex-start;gap:8px}.app-theme .page-heading h1{margin:0;font-size:clamp(1.625rem,3vw,2.125rem);font-weight:800;line-height:1.35;text-wrap:balance}.app-theme .page-heading p{max-width:65ch;margin:0;color:var(--muted);font-size:.9375rem;line-height:1.65;text-wrap:pretty}.app-theme .hero{margin-bottom:20px}.app-theme .hero .stat span{font-size:.8125rem;line-height:1.5}.app-theme .section-title h2,.app-theme .settings-heading h2,.app-theme .scan-heading h2{font-size:1.3125rem}.app-theme :is(.data-list-head,.report-head,.analytics-data-head),.app-theme .teacher-performance thead th{font-size:.8125rem}.app-theme :is(.student-row,.teacher-row,.report-row){line-height:1.6}.app-theme :is(.student-name strong,.corridor-identity h3,.report-row>strong){overflow-wrap:anywhere}.app-theme .student-name small,.app-theme .teacher-row .student-name small{overflow-wrap:anywhere}.app-theme .teacher-performance{overflow-x:auto;overscroll-behavior-inline:contain}.app-theme .teacher-performance table{font-variant-numeric:tabular-nums}.app-theme .filter-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:14px}.app-theme .filter-bar>svg{display:none}.app-theme :is(.filter-bar,.custom-range) label{min-width:0;gap:6px;font-size:.875rem}.app-theme :is(input,textarea,select){min-width:0;font-size:1rem}.app-theme .filter-bar select{min-height:48px}.app-theme .result-count{align-self:end;padding-block:12px;font-size:.875rem}.app-theme .directory-toolbar{grid-template-columns:minmax(0,1fr);gap:16px}.app-theme .toolbar-actions{align-items:end}.app-theme .toolbar-actions .button{flex:1 1 150px}.app-theme .import-mode{flex:1 1 150px;min-width:0}.app-theme .report-toolbar .filter-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.app-theme .export-button{width:fit-content;max-width:100%;white-space:normal}.app-theme .search-control.compact{width:auto;max-width:none}.app-theme .bottom-nav .nav-btn{min-height:56px;padding:8px 4px;font-size:.75rem;line-height:1.35}.app-theme .bottom-nav .nav-btn:focus-visible{outline-offset:-3px}.app-theme .button:active:not(:disabled),.app-theme .icon-button:active:not(:disabled){transform:translateY(1px)}.app-theme .alarm-strip{grid-template-columns:minmax(0,1fr)}.app-theme .alarm-strip .alarm-actions{flex-wrap:wrap}.app-theme .alarm-strip .alarm-actions .button{flex:1 1 150px}.dialog-content{scroll-padding-block:24px}.dialog-content :is(input,textarea,select){min-width:0;font-size:1rem}.dialog-heading>div{min-width:0}.dialog-heading h2{overflow-wrap:anywhere;line-height:1.45}.dialog-heading p{max-width:65ch}.dialog-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.dialog-actions .button{min-height:48px;white-space:normal;line-height:1.5}.dropdown-user{min-width:0}.dropdown-user :is(strong,span){overflow-wrap:anywhere}@media(min-width:768px){.app-theme .directory-toolbar{grid-template-columns:minmax(220px,1fr) minmax(0,1.3fr)}.app-theme .alarm-strip{grid-template-columns:minmax(0,1fr) auto}.app-theme .alarm-strip .alarm-actions .button{flex:0 1 auto}.app-theme .data-list-head,.app-theme .student-row{grid-template-columns:minmax(0,1.5fr) minmax(90px,.8fr) minmax(100px,.8fr) 48px}.app-theme .report-head,.app-theme .report-row{grid-template-columns:86px minmax(0,1.2fr) minmax(0,1fr) minmax(120px,1fr)}.app-theme .teacher-row{grid-template-columns:minmax(0,1.4fr) minmax(100px,.8fr) 80px minmax(120px,1fr)}.app-theme .analytics-data-head,.app-theme .analytics-data-row{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(72px,1fr))}}@media(min-width:768px)and (max-width:1199px){.app-theme .corridor-row{grid-template-columns:minmax(0,1.4fr) 76px 84px minmax(0,1fr);gap:16px}.app-theme .corridor-row .health-flag,.app-theme .corridor-owner{grid-column:1 / 3}.app-theme .corridor-actions{grid-column:3 / 5;grid-row:auto}}@media(min-width:1024px){.app-frame.app-theme{display:grid;grid-template-columns:216px minmax(0,1fr);align-items:start;gap:28px;width:min(calc(100% - 40px),1440px);padding:calc(env(safe-area-inset-top) + 24px) 0 40px}.app-frame.app-theme>.side-rail{position:sticky;top:calc(env(safe-area-inset-top) + 24px);display:flex;height:calc(100dvh - env(safe-area-inset-top) - 48px);min-height:0;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 14px}.app-theme .rail-brand{align-items:flex-start;padding:0 4px 28px}.app-theme .rail-brand div{min-width:0}.app-theme .rail-brand small{overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.app-theme .side-rail nav{gap:8px}.app-theme .side-rail nav button{min-height:52px;color:var(--muted);font-size:1rem;text-align:start}.app-theme .side-rail nav button:hover:not(.active){background:var(--elevated)}.app-theme .side-rail nav button.active{color:var(--accent)}.app-theme .rail-hint{margin-top:32px;font-size:.8125rem}.app-theme .bottom-nav{display:none}.app-theme .app-main{padding:0}.app-theme .offline-banner{margin:0 0 20px;padding-inline:16px}.app-theme .top-bar{grid-template-columns:minmax(200px,1fr) minmax(160px,1.1fr) auto;grid-template-areas:"brand school actions" "heading heading heading";margin-bottom:28px}.app-theme .school-context{align-self:center}.toast-viewport{bottom:24px}}@media(min-width:1200px){.app-theme .corridor-row{grid-template-columns:minmax(0,1.4fr) 76px 84px minmax(0,1fr) minmax(136px,auto);gap:14px}}@media(max-width:430px){.app-theme .top-bar{gap:10px}.school-context__name{font-size:1rem}.school-context__scope{font-size:.8125rem}.app-theme .page-heading p{font-size:.875rem}.app-theme .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-theme .hero .stat strong{font-size:1.5rem}.app-theme .hero .stat span{font-size:.8125rem}.app-theme .custom-range{grid-template-columns:minmax(0,1fr)}.dialog-content{width:calc(100% - 24px);padding:20px 16px}.dialog-content.sheet-dialog{width:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media print{.app-frame.app-theme{display:none!important}}.splash-screen{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;text-align:center;padding:0 24px calc(18px + env(safe-area-inset-bottom,0px))}.splash-screen__body{position:relative;z-index:1;display:grid;justify-items:center;align-self:center;padding-bottom:4vh}.splash-screen__logo{width:112px;height:112px;object-fit:contain;border-radius:28px;background:#ffffffeb;padding:10px;box-shadow:0 2px 10px #155e630f,0 18px 48px #155e6324,0 0 0 10px #ffffff5c;animation:splash-rise .7s cubic-bezier(.22,1,.36,1) both}.splash-screen__title{margin:26px 0 0;font-family:Noto Kufi Arabic,Tahoma,sans-serif;font-size:1.6rem;font-weight:800;color:var(--text);animation:splash-rise .7s .08s cubic-bezier(.22,1,.36,1) both}.splash-screen__subtitle{margin:8px 0 0;font-size:.95rem;color:var(--muted);animation:splash-rise .7s .16s cubic-bezier(.22,1,.36,1) both}.splash-screen__loader{display:grid;justify-items:center;gap:12px;margin-top:30px;animation:splash-rise .7s .24s cubic-bezier(.22,1,.36,1) both}.splash-screen__status{font-size:.88rem;font-weight:700;color:var(--muted)}.splash-screen__dots{display:flex;gap:7px;align-items:center}.splash-screen__dots i{width:7px;height:7px;border-radius:999px;background:#155e6338;animation:splash-dot 1.3s ease-in-out infinite}.splash-screen__tagline{position:relative;z-index:1;margin:0;font-size:.8rem;font-weight:600;color:var(--muted);opacity:.75}@keyframes splash-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes splash-dot{0%,to{width:7px;background:#155e6338}40%{width:20px;background:var(--accent-strong, #155e63)}}@media(prefers-reduced-motion:reduce){.splash-screen__logo,.splash-screen__title,.splash-screen__subtitle,.splash-screen__loader{animation:none}.splash-screen__dots i{animation-duration:3s}}@media(min-height:780px){.splash-screen__logo{width:124px;height:124px}.splash-screen__title{font-size:1.78rem}}
