/* Reference-led Arabic operations workspace. */
:root{--bg:#f5f6fa;--surface:#fff;--primary:#6252d9;--primary-soft:#f0edff;--ink:#20283f;--muted:#677087;--line:#e7e9f1;--sidebar:#10182c;--good:#16745b;--bad:#b93750;font-size:15px;-webkit-font-smoothing:antialiased}body{background:var(--bg)}h1,h2,h3{color:var(--ink)}h1{font-size:28px;font-weight:600}h2{font-size:19px}h3{font-size:17px}::selection{background:#dfd9ff;color:#342378}:focus-visible{outline:3px solid #afa3f2;outline-offset:3px}input::placeholder,textarea::placeholder{color:#626d83}input,select,textarea{border-color:#dadee9;color:var(--ink);border-radius:9px;min-height:44px;background:#fff}button{border-color:#e0e3ed;min-height:42px;border-radius:9px;color:#4e556d;transition-property:background-color,border-color,color,transform;transition-duration:150ms}button:hover:not(:disabled){background:#f0edff;border-color:#d1caf3;color:#4e3cb7}button.primary{color:white;background:var(--primary);border-color:transparent}button.primary:hover:not(:disabled){color:white;background:var(--primary)}button:active:not(:disabled){transform:scale(.96)}.attendance-check:active,.name-button:active{transform:none}.ico{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}a{color:var(--primary)}.topbar{height:82px;position:sticky;top:0;z-index:25;margin-inline-start:258px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);justify-content:space-between;gap:16px}.header-context,.header-actions,.account-menu{display:flex;align-items:center;gap:14px}.header-context>div{display:grid;gap:2px}.header-context strong{font-size:15px}.header-sub{font-size:12px;color:var(--muted)}.academy-symbol,.user-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f0edff;color:#6453c7;font-weight:600}.user-avatar{width:38px;height:38px;border-radius:50%;background:#ece8fc;font-size:13px}.global-search{display:flex;align-items:center;gap:10px;border:0;background:#f5f6fa;padding:9px 12px;color:#626d83;min-width:240px;justify-content:flex-start;font-size:13px}.global-search kbd{border:1px solid #dedfe9;border-radius:4px;background:white;padding:0 5px;font:12px inherit;margin-inline-start:auto;color:#626d83}.header-attendance{display:flex;gap:8px;align-items:center;font-size:13px}.header-actions>.icon-button{position:relative;background:none;border:0}.header-actions>.icon-button span{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--primary);border:2px solid white;box-sizing:content-box}.header-actions>.icon-button span[hidden]{display:none}.account-menu{gap:9px;border-inline-start:1px solid var(--line);padding-inline-start:16px}.role-label{display:grid;gap:0;font-size:12px;color:var(--muted)}.role-label select{font-size:12px;font-weight:500;border:0;background:none;min-height:26px;padding:0 0 0 15px;max-width:145px}.shell{display:block;min-height:calc(100vh - 82px);padding-inline-start:258px}aside{position:fixed;inset-block:0;inset-inline-start:0;width:258px;padding:0 16px 14px;display:flex;flex-direction:column;background:var(--sidebar);z-index:30;height:100dvh}.side-brand{display:flex;align-items:center;gap:12px;color:white;padding:25px 13px 22px;border-bottom:1px solid #ffffff13;flex-shrink:0;font-size:23px;line-height:1.4;font-weight:600}.side-brand:hover{color:white}.side-brand small{display:block;font-family:inherit;font-size:12px;font-weight:400;color:#a9b2d1;letter-spacing:.5px;margin-top:4px;text-align:right}.brand-symbol{display:grid;place-items:center;width:42px;height:44px;background:#6b5ae0;border-radius:12px;color:white}.brand-symbol svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;fill:none}nav#nav{overflow-y:auto;min-height:0;flex:1;display:block;padding:10px 0 12px;scrollbar-width:thin;scrollbar-color:#333c59 transparent}.nav-caption{font-size:12px;font-weight:500;color:#929db9;margin:20px 13px 9px}.nav-section:first-child .nav-caption{margin-top:8px}.nav-section{margin-bottom:9px}nav a{min-height:43px;padding:9px 13px;font-size:13px;gap:12px;border-radius:9px;margin:3px 0;color:#bfc8e0;font-weight:400;position:relative}nav a:hover{background:#1b2540;color:#fff}nav a.active{background:#342f63;color:#fff;box-shadow:inset 0 0 0 1px #7066a747;font-weight:500}nav a.active .ico{color:#bdb3ff}nav a>.ico{width:19px;height:19px}nav a.active:after{content:'';width:5px;height:5px;border-radius:50%;background:#a89cf9;margin-inline-start:auto}.nav-count{margin-inline-start:auto;background:#4d426f;color:#e1d7ff;font-size:12px;min-width:21px;height:21px;border-radius:6px;text-align:center;line-height:21px}.sidebar-bottom{border-top:1px solid #ffffff14;margin:0;padding:12px 10px 0;gap:7px;flex-shrink:0}.sidebar-bottom a,.sidebar-bottom .text-button{display:flex;align-items:center;gap:12px;font-size:13px;color:#c5cde3;min-height:36px;padding:2px 0}.sidebar-bottom .text-button{justify-content:space-between;text-align:right}.sidebar-bottom .text-button>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #5a6480;border-radius:50%;font-size:12px}.sidebar-bottom .text-button:hover:not(:disabled){background:transparent;color:white}.private-note{font-size:12px;color:#8f9bb9;margin-top:3px}.mobile-menu{display:none}main{padding:0 32px 40px;max-width:1800px;margin:auto}.demo-banner{font-size:12px;padding:9px 0;color:#626d83;border:0;min-height:30px}.demo-banner a{font-size:12px;color:#6c61a7}.page-head{margin:18px 0 24px}.page-head p{font-size:14px;color:var(--muted);margin-top:4px}.date-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:12px;color:#646d83}.date-chip .ico{width:17px}.panel{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:none}.panel-head{padding:22px 24px;align-items:center;border-bottom:1px solid #eff0f6}.panel-head p{font-size:12px;margin:5px 0 0;color:var(--muted)}.panel-head>a,.text-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.panel-head>a .ico,.text-link .ico{width:15px}.panel-body{padding:24px}.stage-selector{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.stage-selector>span{display:flex;gap:8px;align-items:center;font-size:13px;color:#606980;white-space:nowrap}.stage-selector>span .ico{width:19px}.stage-options{display:flex;flex-wrap:wrap;gap:7px}.stage-options button{background:white;font-size:12px;min-height:37px;padding:6px 13px;border-color:#e5e7ef}.stage-options button[aria-pressed=true]{background:#ebe7ff;border-color:#d9d1fc;color:#5140bd}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.metric-item{display:flex;gap:16px;padding:22px 18px;background:#fff;border-radius:13px;box-shadow:0 2px 3px #131c3503,0 7px 24px #131c3504}.metric-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.metric-item>div>span{font-size:12px;color:#677087}.metric-item strong{display:block;font-size:31px;font-weight:600;line-height:1.4;margin:6px 0 2px;font-variant-numeric:tabular-nums}.metric-item small{font-size:12px;color:#626d83}.violet{background:#efebff;color:#6c57d8}.green{background:#e6f5ee;color:#1b805f}.red{background:#fcecf0;color:#c14561}.amber{background:#fff3de;color:#a57019}.neutral{background:#f2f3f8;color:#646e87}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:24px;margin-bottom:24px;align-items:stretch}.dashboard-grid>.panel{margin:0}.subtle-count{font-size:12px;background:#f0eef9;color:#786d9e;border-radius:6px;min-width:24px;display:inline-grid;place-items:center;margin-inline-start:6px}.schedule-list{padding:0 24px}.session-row{display:flex;gap:16px;align-items:center;padding:25px 0;border-bottom:1px solid #eff0f6}.session-row:last-child{border:0}.session-time{display:grid;gap:5px;align-self:flex-start;padding-top:4px;min-width:51px;text-align:center}.session-time strong{font-size:16px;color:#36405c}.session-time span{font-size:12px;color:#626d83}.session-line{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#7664de;align-self:flex-start;margin-top:15px}.hue-1{color:#b975a7;background:#f6eafa}.hue-2{color:#2f8f99;background:#e7f6f7}.session-line.hue-1{background:#b975a7}.session-line.hue-2{background:#2f8f99}.session-info{flex:1;min-width:0}.session-info strong{font-size:15px}.session-info p{font-size:12px;margin:4px 0;color:#707b92}.session-info>span{font-size:12px;color:#6e788c}.session-action{display:grid;gap:10px;justify-items:center}.session-action button{font-size:12px;min-width:105px;padding:6px 12px;min-height:36px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;border-radius:6px;padding:3px 8px;white-space:nowrap}.dashboard-side{display:flex;flex-direction:column;gap:20px}.followups{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.followup-heading{display:flex;gap:9px;align-items:center;margin-bottom:9px}.followup-heading>.ico{color:#7f6bd9;width:19px}.followup-heading h2{font-size:17px}.followups>a{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #eff0f6;color:var(--ink)}.followups>a:last-child{border:0;padding-bottom:0}.followups>a>div{flex:1}.followups>a>.ico{width:14px;color:#a3a8b8}.followup-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.followup-icon>.ico{width:18px}.followups strong{font-size:12px;font-weight:500}.followups p{font-size:12px;margin:4px 0 0;color:#626d83}.cycle-summary{position:relative;background:#eeeafa;padding:22px 24px;border-radius:14px;flex:1}.cycle-summary h2{font-size:16px;color:#4e4388;margin:0 0 8px;padding-inline-end:30px}.cycle-summary p{font-size:12px;color:#716590;line-height:1.85;margin:0 0 12px;max-width:30ch}.cycle-summary a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#5a49b5}.cycle-summary a>.ico{width:15px}.cycle-symbol{position:absolute;inset-inline-end:22px;top:24px;color:#8371c9}.overview-group-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:0 24px}.overview-group{padding:24px;border-inline-end:1px solid #eff0f6}.overview-group:first-child{padding-inline-start:0}.overview-group:last-child{border:0}.group-course{font-size:12px;color:#6e5aaf}.overview-group h3{font-size:16px;margin:8px 0}.overview-group p{font-size:12px;color:var(--muted);margin:4px 0 18px}.group-facts{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#68728a}.group-facts>span:first-child{display:flex;gap:7px;align-items:center}.group-facts .ico{width:16px;height:16px}.group-links{display:flex;gap:18px;border-top:1px solid #eff0f6;margin-top:20px;padding-top:10px}.group-links button{border:0;background:none;color:#6a58bd;padding:4px 0;min-height:32px;font-size:12px}.school-tabs{display:inline-flex;position:relative;gap:4px;background:#eaeaf3;border:0;border-radius:12px;padding:4px;margin-bottom:24px}.school-tabs button{position:relative;z-index:1;min-width:120px;min-height:44px;border:0;border-radius:9px;padding:9px 19px;font-size:14px;color:#71778c;background:transparent}.school-tabs button[aria-selected=true]{color:#5744be}.school-tabs button[aria-selected=true]:after{display:none}.school-tabs button .ico{width:19px}.filter-bar{padding:20px 24px}.result-line{font-size:12px}th{color:#778096;background:#f8f9fc;padding:14px 20px;font-size:12px}td{padding:18px 20px;font-size:14px;border-color:#eff0f6}tbody tr:hover{background:#f8f7ff}.student-avatar{background:#eeebfa;color:#7460ad}.student-identity .sub{color:#626d83}.name-button{color:#36415b}.student-identity .name-button{min-height:40px}.attendance-picker{background:#fcfcfe}.autosave-explainer{color:#258066}.attendance-table .is-present,.attendance-table .is-present:hover{background:#eef8f3}.attendance-table .time-col{color:#768199}.attendance-check input{border-color:#b6bbce}.save-footer{background:#f7faf9}.roster-head button{font-size:12px}.section-footer{padding:18px 24px}.portal-filters{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.portal-filters label{display:grid;gap:6px;font-size:12px;color:var(--muted);min-width:210px}.portal-filters select{max-width:300px}.finance-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:14px;margin-bottom:24px;padding:24px}.finance-strip>div{padding-inline:24px;border-inline-end:1px solid var(--line)}.finance-strip>div:last-child{border:0}.finance-strip span{font-size:13px;color:var(--muted)}.finance-strip strong{display:block;font-size:25px;margin-top:8px;font-variant-numeric:tabular-nums}.section-title{margin:28px 0 18px}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.stage-card{padding:24px;margin:0}.stage-card-icon{display:grid;place-items:center;background:#eeebfb;color:#7862cd;width:46px;height:46px;border-radius:12px;margin-bottom:16px}.stage-card p{font-size:13px;color:var(--muted)}.stage-group-list{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.stage-group-list button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;border-radius:6px;padding:12px 0;font-size:14px}.stage-group-list .ico{width:15px}.table-empty{text-align:center;padding:36px!important;color:var(--muted)}.grade-input{width:120px;font-variant-numeric:tabular-nums}.search-result{display:flex;align-items:center;gap:14px;width:100%;padding:11px 13px;color:var(--ink);border:0;background:white;font-size:14px;border-radius:9px;text-align:right;min-height:44px}.search-result:hover{background:#f2effb}.search-result>span{flex:1}.search-result small{display:block;color:var(--muted);font-size:12px}.search-result>.ico:last-child{width:16px;color:#8d91a6}#search-results{max-height:50vh;overflow:auto}dialog{border-radius:16px;box-shadow:0 12px 50px #00000029}dialog::backdrop{background:#10182c5c}.dialog-head{padding:20px 24px;border-bottom-color:var(--line)}#modal-body{padding:24px}#toast{background:#20283f;border-radius:10px}.course-cover{background:#eeebfa;color:#6756a4;border-color:#e3ddf5}.message-preview{background:#f7f5ff;border-color:#e8e3f7}.phone{border-color:#20283f}.phone-header{background:#f7f5fd}.phone-content h2,.phone-content h3{color:var(--ink)}.phone-nav{background:#fff}.phone-nav button.active{color:var(--primary)}.mobile-app .topbar,.mobile-app aside{display:none}.mobile-app .shell{padding:0}.mobile-app main{padding:0}.private-note,.metric-item small,.header-sub{line-height:1.6}
@media(min-width:1600px){main{padding-inline:44px}.dashboard-grid{grid-template-columns:2.1fr 1fr}.overview-metrics{gap:24px}.session-row{padding-block:30px}}
@media(max-width:1250px){.topbar{padding-inline:22px}.global-search{min-width:44px;width:44px;justify-content:center;padding:0}.global-search span,.global-search kbd{display:none}.header-actions{gap:12px}main{padding-inline:24px}.overview-metrics{gap:12px}.metric-item{padding:18px 14px;gap:10px}.metric-icon{width:34px;height:34px}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(255px,1fr);gap:18px}.schedule-list{padding-inline:20px}.session-row{gap:10px}.session-action button{min-width:84px}.session-time{min-width:42px}.overview-group-grid{grid-template-columns:repeat(2,1fr)}.overview-group:nth-child(2n){border-inline-end:0}.overview-group{padding:20px!important}.stage-selector{align-items:flex-start}.stage-options{justify-content:flex-end}}
@media(max-width:1050px){.shell{padding-inline-start:228px}.topbar{margin-inline-start:228px}.header-sub{display:none}aside{width:228px;padding-inline:12px}.side-brand{font-size:21px}.header-attendance{padding:8px}.header-attendance .ico{display:none}.academy-symbol{display:none}.header-context strong{font-size:13px}.account-menu .user-avatar{display:none}.account-menu{padding-inline-start:10px}.role-label select{max-width:124px}.overview-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1.1fr 1fr}.stage-selector{display:block}.stage-options{justify-content:flex-start;margin-top:12px}.session-info strong{font-size:15px}.session-action{display:flex;gap:16px}.session-row{gap:16px}.stage-grid{gap:16px}.panel-head{padding:20px}.finance-strip{padding:18px 5px}.finance-strip>div{padding-inline:15px}}
@media(max-width:760px){.topbar{margin:0;padding:12px 16px;height:72px;min-height:72px;gap:8px}.header-context{gap:9px}.header-context strong{font-size:14px}.header-sub{display:block;font-size:12px}.header-actions{gap:7px}.header-attendance,.account-menu,.header-actions>.icon-button{display:none}.mobile-menu{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;background:none;border:0}.global-search{background:#f4f2fb;width:40px;min-width:40px;min-height:40px}.shell{padding:0}aside{width:258px;display:flex;visibility:hidden;transform:translateX(100%);transition:transform 400ms cubic-bezier(.22,1,.36,1),visibility 400ms;top:72px;height:calc(100dvh - 72px);z-index:24;box-shadow:-8px 0 30px #10182c1a}aside.open{visibility:visible;transform:translateX(0)}.side-brand{padding:20px 12px}.sidebar-bottom .private-note{display:none}main{padding:0 16px 30px}.demo-banner{font-size:12px;line-height:1.6;padding-top:10px}.demo-banner a{display:none}.page-head{margin:16px 0 20px}.page-head h1{font-size:25px}.page-head p{font-size:12px;line-height:1.8}.page-head .date-chip{display:none}.page-head .actions>button{font-size:12px;padding:8px 10px}.stage-selector{margin-bottom:20px}.stage-selector>span{font-size:12px}.stage-options{gap:6px}.stage-options button{font-size:12px;padding:6px 9px;min-height:38px}.overview-metrics{gap:10px;margin-bottom:20px}.metric-item{padding:16px 12px;gap:9px;border-radius:12px}.metric-icon{width:30px;height:30px;border-radius:9px}.metric-icon .ico{width:17px}.metric-item>div>span{font-size:12px}.metric-item strong{font-size:26px}.metric-item small{font-size:12px;line-height:1.6}.dashboard-grid{gap:18px}.dashboard-side{grid-template-columns:1fr}.panel-head{padding:18px 16px;gap:10px}.panel-head h2{font-size:17px}.panel-head p{font-size:12px}.panel-head>a{font-size:12px}.schedule-list{padding-inline:16px}.session-row{gap:10px;flex-wrap:wrap;position:relative;padding:19px 0}.session-time{min-width:42px}.session-time strong{font-size:14px}.session-info strong{font-size:14px}.session-info p{font-size:12px}.session-info>span{font-size:12px}.session-action{width:100%;padding-inline-start:69px;justify-content:space-between;gap:8px}.session-action button{min-height:40px}.session-line{margin-top:13px}.followups{padding:20px}.cycle-summary{padding:20px}.cycle-summary p{max-width:none}.overview-group-grid{grid-template-columns:1fr;padding:0 16px}.overview-group{border:0;border-bottom:1px solid var(--line);padding:20px 0!important}.overview-group h3{font-size:16px}.group-links button{min-height:44px}.school-tabs{display:flex;width:100%;gap:3px;padding:4px}.school-tabs button{flex:1;min-width:0;padding:9px 8px;font-size:13px;gap:6px}.school-tabs button .ico{width:17px}.panel{border-radius:12px}.attendance-picker{padding:16px}.roster-head{padding:16px}.roster-head .actions{margin-top:12px}.roster-head button{font-size:12px}.roster-search{padding:12px}.attendance-counts{gap:10px 16px}.attendance-table .name-button{min-height:40px}.portal-filters{gap:12px}.portal-filters label{min-width:0;flex:1}.portal-filters select{width:100%;max-width:100%}.finance-strip{grid-template-columns:1fr;padding:8px 18px}.finance-strip>div{border:0;border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;align-items:center}.finance-strip strong{font-size:21px;margin:0}.finance-strip span{font-size:12px}.stage-grid{grid-template-columns:1fr}.stage-card{padding:20px}.stage-card h2{font-size:18px}.stage-group-list button{min-height:44px}.table-wrap{max-width:100%;overflow:auto}.portal-filters+section table{min-width:680px}.profile-tabs{font-size:13px}.phone{max-width:100%}.section-footer{padding:16px}.school-tabs{margin-bottom:18px}.text-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){aside{transition:none}button:active:not(:disabled){transform:none}}

nav a{font-size:14px}.nav-caption{font-size:12px}.overview-metrics small{font-size:12px}.session-info>span{font-size:12px}.session-info p{font-size:13px}.followups strong{font-size:14px}.followups p{font-size:12px}.session-action button{min-height:40px}.stage-options button{min-height:40px}.header-context strong{font-size:15px}

.mobile-role{display:none}@media(max-width:760px){.mobile-role{display:grid;gap:4px;color:#aeb9d4;font-size:12px}.mobile-role select{background:#1b2540;border-color:#36425f;color:#fff;font-size:13px;min-height:40px}.sidebar-bottom{padding-top:10px}.sidebar-bottom a,.sidebar-bottom .text-button{min-height:32px}.side-brand{padding-block:15px}}
