@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap";
:root{--ink:#172126;--muted:#627078;--soft:#edf3f2;--panel:#fff;--line:#d7e0df;--teal:#11756d;--teal-strong:#0a5d56;--gold:#c98518;--red:#b42318;--green:#138a55;--blue:#2563a9;--white:#fff;--shadow:0 18px 48px #17212614;--grad-brand:linear-gradient(135deg, #11756d 0%, #0a5d56 60%, #064a44 100%);--grad-accent:linear-gradient(135deg, #11756d 0%, #1a8f6f 55%, #c98518 100%);--grad-soft:linear-gradient(135deg, #eaf5f3 0%, #f7f3e8 100%);--grad-sidebar:linear-gradient(180deg, #0a5d56 0%, #11756d 55%, #14705f 100%)}*{box-sizing:border-box}html{direction:rtl}body{min-height:100vh;color:var(--ink);background:#f5f7f7;margin:0;font-family:IBM Plex Sans Arabic,Tahoma,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.appShell{background:linear-gradient(90deg,#0a5d56 0 264px,#f5f7f7 264px);grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.appShell--full{background:#f5f7f7;grid-template-columns:minmax(0,1fr)}.sidebar{background:var(--grad-sidebar);height:100vh;color:var(--white);flex-direction:column;gap:16px;padding:20px;display:flex;position:sticky;top:0;overflow-y:auto}.brandBlock{align-items:center;gap:14px;display:flex}.brandBlock img{object-fit:contain;background:#ffffff26;border-radius:14px;flex:none;width:88px;height:88px}.brandBlock strong{font-size:24px;font-weight:600}.brandBlock span,.formHeader p,.metricCard small,.listItem span,.listMeta small,.resourceItem span,.noteItem small{color:#ffffffbf;display:block}.formHeader p,.metricCard small,.listItem span,.listMeta small,.resourceItem span,.noteItem small{color:var(--muted)}.loginBox,.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.loginBox{gap:14px;padding:20px;display:grid}.loginScreen{background:radial-gradient(circle at 14% 18%,#c985181f,#0000 26%),linear-gradient(135deg,#eef6f4 0%,#f8faf9 48%,#f6f1e6 100%);place-items:center;min-height:100vh;padding:36px;display:grid}.loginLayout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #d7e0dfe6;border-radius:22px;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);width:min(1080px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 28px 80px #17212624}.loginWelcome{background:var(--grad-brand);color:var(--white);isolation:isolate;flex-direction:column;justify-content:space-between;padding:44px;display:flex;position:relative}.loginWelcome:after{content:"";z-index:-1;border:1px solid #ffffff2e;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-112px;left:-88px;box-shadow:0 0 0 26px #ffffff0d,0 0 0 52px #ffffff0a}.loginWelcomeBrand,.loginCardTopline{align-items:center;gap:14px;display:flex}.loginWelcomeBrand img{object-fit:contain;background:#ffffff24;border:1px solid #ffffff4d;border-radius:16px;width:68px;height:68px}.loginWelcomeBrand strong{font-size:25px;font-weight:700;display:block}.loginWelcomeBrand span{color:#ffffffc2;margin-top:2px;font-size:13px;display:block}.loginWelcomeCopy{max-width:430px;margin:38px 0}.loginEyebrow{color:#e9c97e;font-size:13px;font-weight:700}.loginWelcomeCopy h1{max-width:390px;margin:14px 0 16px;font-size:clamp(34px,4vw,54px);font-weight:700;line-height:1.18}.loginWelcomeCopy p{color:#ffffffc7;max-width:360px;margin:0;font-size:16px;line-height:1.9}.loginHighlights{grid-template-columns:repeat(3,1fr);gap:12px;max-width:430px;display:grid}.loginHighlights div{border-top:1px solid #ffffff3d;gap:3px;padding-top:12px;display:grid}.loginHighlights strong{color:#e9c97e;letter-spacing:.08em;font-size:12px}.loginHighlights span{color:#ffffffc7;font-size:13px}.loginCard{width:auto;max-width:none;box-shadow:none;background:#ffffffeb;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:58px clamp(30px,5vw,72px);display:flex}.loginCardTopline{color:var(--muted);justify-content:space-between;margin-bottom:30px;font-size:13px}.loginDot{background:var(--gold);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #c985181f}.loginCard .loginBox{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.loginCard .formHeader h2{margin:0;font-size:30px;font-weight:700;line-height:1.25}.loginCard .formHeader p{margin-top:10px}.loginCard label{gap:7px;font-size:13px;font-weight:700}.loginCard input{background:#fbfcfc;border-radius:10px;min-height:50px;transition:border-color .16s,box-shadow .16s,background .16s}.loginCard input:focus{border-color:var(--teal);background:var(--white);box-shadow:0 0 0 4px #11756d1a}.loginCard .primaryButton{background:var(--grad-brand);border-radius:10px;justify-content:center;align-items:center;gap:12px;min-height:52px;font-weight:700;transition:transform .16s,box-shadow .16s;display:flex}.loginCard .primaryButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px #0a5d5633}.loginCard .primaryButton span{font-size:19px;line-height:1}.loginFooter{color:var(--muted);text-align:center;margin:28px 0 0;font-size:12px}.formHeader h1,.topbar h2,.sectionHeader h2,.teacherIntro h2{margin:0;line-height:1.25}.formHeader h1{font-size:28px;font-weight:600}.formHeader p{margin:8px 0 0;line-height:1.7}label{color:var(--ink);gap:8px;font-size:14px;font-weight:500;display:grid}input,select{border:1px solid var(--line);background:var(--white);width:100%;min-height:44px;color:var(--ink);border-radius:6px;padding:0 12px}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #11756d38}.primaryButton{background:var(--teal);min-height:44px;color:var(--white);border:0;border-radius:6px;font-weight:500}.primaryButton:disabled,.secondaryButton:disabled{opacity:.55;cursor:not-allowed}.secondaryButton{border:1px solid var(--teal);background:var(--white);min-height:44px;color:var(--teal-strong);border-radius:6px;padding:0 18px;font-weight:500}.workspace{align-content:start;gap:24px;width:100%;max-width:1440px;margin:0 auto;padding:32px;display:grid}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:72px;margin-bottom:22px;padding-bottom:16px;display:flex}.topbarActions{align-items:center;gap:10px;display:flex}.topbar h2{margin-top:4px;font-size:28px;font-weight:600}.topbarKicker,.sectionEyebrow,.teacherIntro span,.guardianControls span{color:var(--teal);font-size:13px;font-weight:500}.connectionBadge{border:1px solid var(--line);background:var(--white);min-height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.connectionBadge.compact{border-radius:8px}.connectionBadge span{background:var(--green);border-radius:999px;width:9px;height:9px}.dashboardGrid{gap:24px;display:grid}.metricsGrid,.summaryStrip{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.summaryStrip{grid-template-columns:repeat(3,minmax(0,1fr))}.metricCard{border:1px solid var(--line);background:var(--white);border-radius:8px;align-content:center;gap:8px;min-height:116px;padding:24px 20px 20px;display:grid;position:relative;overflow:hidden}.metricCard:before{content:"";background:var(--teal);height:4px;position:absolute;top:0;left:0;right:0}.metricCard strong{font-size:30px;line-height:1.1}.panel{padding:20px}.panel .dashboardGrid{margin-top:16px}.sectionHeader{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.sectionHeader h2{font-size:20px;font-weight:600}.sectionEyebrow,.teacherIntro span,.guardianControls span{margin:0 0 5px}.sectionActions{min-width:210px}.selectLabel{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.tableWrap{border:1px solid var(--line);background:var(--white);border-radius:8px;overflow-x:auto}.tableWrap table{border-collapse:collapse;width:100%}.tableWrap th{text-align:right;background:var(--soft);border-bottom:1px solid var(--line);height:44px;padding:12px 16px;font-size:14px;font-weight:500}.tableWrap td{border-bottom:1px solid var(--line);min-height:56px;padding:16px;font-size:14px}.tableWrap tbody tr:last-child td{border-bottom:0}.tableWrap tr:hover{background:#fafcfc}.usersToolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.usersSearch{width:min(420px,100%);color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.usersSearch input{border-radius:8px;min-height:42px}.usersSearchCount{color:var(--muted);white-space:nowrap;font-size:13px}.usersTable th:nth-child(5),.usersTable td:nth-child(5),.usersTable th:last-child,.usersTable td:last-child{text-align:center;vertical-align:middle}.usersTable th:nth-child(5){width:150px}.usersTable th:last-child{width:120px}.usersTable .inlineForm{gap:8px;display:grid}.usersTable .inlineForm .secondaryButton{justify-self:start;min-height:36px;padding:0 16px}.usersEmpty{color:var(--muted);text-align:center!important;padding:28px!important}.linkManagerToolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.linkSearch{width:min(480px,100%);color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.linkSearch input{border-radius:8px;min-height:44px}.linkManagerToolbar>.primaryButton{min-width:142px}.linkModeTabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:16px;display:flex}.linkModeTabs button{border:1px solid var(--line);background:var(--white);min-height:40px;color:var(--muted);border-radius:8px;padding:0 16px;font-size:13px;font-weight:700}.linkModeTabs button.active{border-color:var(--teal);background:var(--teal);color:var(--white);box-shadow:0 6px 16px #11756d24}.linkActionForm{border:1px solid var(--line);background:#fafcfc;border-radius:8px;margin:18px 0;padding:18px}.linkActionForm h3{margin:0 0 4px}.linkResults{gap:10px;margin-top:18px;display:grid}.linkResults .listItem{border:1px solid var(--line);border-radius:8px}@media (max-width:720px){.linkManagerToolbar{flex-direction:column;align-items:stretch}.linkSearch,.linkManagerToolbar>.primaryButton{width:100%}.linkModeTabs{grid-template-columns:1fr;display:grid}}.badge{border-radius:100px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.badge.success{color:var(--green);background:#e9f8ef}.badge.info{color:var(--blue);background:#e6f0fa}.badge.warning{color:var(--gold);background:#fdf3e1}.badge.danger{color:var(--red);background:#fbeae8}.badge.neutral{background:var(--soft);color:var(--muted)}.list{gap:12px;display:grid}.listItem{border:1px solid var(--line);background:var(--white);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:20px;min-height:56px;padding:16px;display:flex}.listItem strong{font-size:15px;font-weight:700}.listItem span{color:var(--muted);margin-top:4px;font-size:14px}.listMeta{justify-items:end;gap:8px;display:grid}.listMeta small{color:var(--muted);font-size:13px}.emptyState{border:1px dashed var(--line);color:var(--muted);text-align:center;margin:0;padding:20px}.resourceGrid{grid-template-columns:1fr;gap:10px;display:grid}.resourceItem{border:1px solid var(--line);background:var(--white);border-right:4px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 20px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:grid}.resourceItem:hover{border-color:#11756d73;border-right-color:var(--teal);box-shadow:0 8px 22px #17212612}.resourceItem strong{grid-column:1;font-size:16px;font-weight:700}.resourceItem span{color:var(--muted);grid-column:1;margin-top:0;font-size:14px}.resourceItem>.badge{justify-self:start;width:fit-content}.resourceItem>.manageBox{background:0 0;border:0;grid-area:1/2/span 4;margin:0}.resourceItem>.manageBox summary{border:1px solid var(--line);background:var(--white);white-space:nowrap;border-radius:6px;place-items:center;min-height:40px;padding:0 12px;list-style:none;display:grid}.resourceItem>.manageBox summary::-webkit-details-marker{display:none}.resourceItem>.manageBox[open]{border:1px solid var(--line);background:#fafcfc;grid-area:auto/1/auto/-1}.resourceItem>.manageBox[open] summary{border:0;border-bottom:1px solid var(--line);border-radius:0;justify-content:start}.subjectCreateForm,.resourceCreateForm{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.subjectList{gap:10px;display:grid}.subjectRow{border:1px solid var(--line);background:var(--white);border-right:4px solid #0000;border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:grid}.subjectRow:hover{border-color:#11756d73;border-right-color:var(--teal);box-shadow:0 8px 22px #17212612}.subjectMarker{background:var(--soft);border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.subjectIdentity{align-items:baseline;gap:12px;min-width:0;display:flex}.subjectIdentity strong{font-size:16px;font-weight:600}.subjectCode,.subjectStage{color:var(--muted);font-size:14px}.subjectCode{border-inline-start:1px solid var(--line);padding-inline-start:12px;font-weight:700}.subjectStage{white-space:nowrap}.subjectRow>.manageBox{background:0 0;border:0;grid-column:auto;margin:0}.subjectRow>.manageBox summary{border:1px solid var(--line);background:var(--white);white-space:nowrap;border-radius:6px;place-items:center;min-height:40px;padding:0 12px;list-style:none;display:grid}.subjectRow>.manageBox summary::-webkit-details-marker{display:none}.subjectRow>.manageBox[open]{border:1px solid var(--line);background:#fafcfc;grid-column:1/-1}.subjectRow>.manageBox[open] summary{border:0;border-bottom:1px solid var(--line);border-radius:0;justify-content:start}.formGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.actionForm{border:1px solid var(--line);background:#fafcfc;border-radius:8px;gap:12px;margin-top:16px;padding:20px;display:grid}.actionForm h3{margin:0;font-size:16px;font-weight:600}.actionForm label{color:var(--muted);gap:6px;font-size:13px;display:grid}.actionForm input,.actionForm select{border:1px solid var(--line);background:var(--white);width:100%;min-height:44px;color:var(--ink);border-radius:6px;padding:0 12px}.actionForm button{justify-self:start}.teacherIntro{border:1px solid var(--line);background:var(--grad-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.teacherIntro h2{font-size:20px;font-weight:600}.guardianControls{border:1px solid var(--line);background:var(--grad-soft);border-radius:8px;align-items:center;gap:16px;padding:16px;display:flex}.summaryStrip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;display:grid}.summaryCard{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:16px}.summaryCard strong{font-size:24px;font-weight:600}.summaryCard span{color:var(--muted);font-size:14px}.noteItem{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:16px}.noteItem strong{font-size:15px;font-weight:500}.noteItem span{color:var(--muted);margin-top:4px;font-size:14px}.noteItem small{color:var(--muted);font-size:13px}.formMessage{border-radius:6px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.formMessage.success{color:var(--green);background:#e9f8ef;border:1px solid #cce9dd}.formMessage.error{color:var(--red);background:#fbeae8;border:1px solid #f3cfca}.navLink{color:#ffffffbf;border-radius:6px;align-items:center;gap:12px;min-height:44px;padding:0 16px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.navLink:hover{color:var(--white);background:#ffffff1a}.navLink.active{color:var(--white);border-right:4px solid var(--gold);background:#ffffff26}.navLink .navIcon{flex:none;width:20px;height:20px}.viewNav{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.viewNav button{border:1px solid var(--line);background:var(--white);min-height:46px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.viewNav button:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 10px 22px #11756d33}.viewNav button.active{background:var(--grad-accent);color:var(--white);border:0;box-shadow:0 10px 24px #11756d52}.viewIcon{font-size:18px;line-height:1}.sidebarDivider{background:#ffffff26;height:1px;margin:8px 0}.sidebarSectionTitle{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:8px;padding:0 16px;font-size:12px;font-weight:500}.logoutButton{min-height:40px;color:var(--white);background:linear-gradient(135deg,#b42318,#8f1d15);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.logoutButton:hover{filter:brightness(1.12)}.loginWrap{background:#f5f7f7;place-items:center;min-height:100vh;padding:32px;display:grid}.loginCard{border:1px solid var(--line);background:var(--white);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:8px;padding:32px}.loginCard .loginHeader{text-align:center;margin-bottom:24px}.loginCard .loginHeader img{object-fit:contain;border-radius:14px;width:88px;height:88px;margin-bottom:16px}.loginCard .loginHeader h1{margin:0;font-size:28px;font-weight:600}.loginCard .loginHeader p{color:var(--muted);margin:8px 0 0;font-size:14px}.loginForm{gap:16px;display:grid}.loginForm button[type=submit]{width:100%}.sessionBox{color:var(--green);background:#e9f8ef;border:1px solid #cce9dd;border-radius:6px;gap:4px;padding:11px 12px;line-height:1.6;display:grid}.sessionBox span{color:var(--muted);word-break:break-all;font-size:13px}@media (max-width:720px){.appShell{background:#f5f7f7;grid-template-columns:minmax(0,1fr)}.workspace,.workspace>*,.panel,.dashboardGrid>*{min-width:0}.tableWrap table{min-width:520px}.sidebar{border-left:0;border-bottom:1px solid var(--line);height:auto;padding:20px;position:static}.workspace{padding:20px}.topbar,.teacherIntro,.guardianControls,.sectionHeader,.listItem{flex-direction:column;align-items:stretch}.metricsGrid,.summaryStrip,.resourceGrid,.formGrid{grid-template-columns:1fr}.subjectRow{grid-template-columns:44px minmax(0,1fr) auto}.subjectStage{grid-column:2}.subjectRow>.manageBox{grid-area:1/3/span 2}.subjectRow>.manageBox[open]{grid-area:auto/1/auto/-1}.subjectIdentity{flex-direction:column;align-items:flex-start;gap:2px}.subjectCode{border-inline-start:0;padding-inline-start:0}.resourceItem{grid-template-columns:minmax(0,1fr) auto}.resourceItem>.manageBox{grid-area:1/2/span 3}.resourceItem>.manageBox[open]{grid-area:auto/1/auto/-1}.sectionActions,.selectLabel{width:100%;min-width:0}.listMeta{justify-items:start}}.manageBox{border:1px solid var(--line);background:var(--white);border-radius:8px;margin-top:10px}.manageBox summary{cursor:pointer;color:var(--teal-strong);padding:8px 12px;font-size:13px;font-weight:700}.manageBody{gap:12px;padding:4px 12px 12px;display:grid}.manageForm{gap:8px;min-width:210px;display:grid}.manageForm label{color:var(--muted);gap:4px;font-size:13px;display:grid}.listRow{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px;display:flex}.listRow>div:first-child{gap:4px;display:grid}.listMetaInline{color:var(--muted);font-size:13px}.listActions{align-items:center;gap:8px;display:flex}.listActions form{margin:0}.dangerButton{border:1px solid var(--red);background:var(--white);min-height:38px;color:var(--red);cursor:pointer;border-radius:6px;padding:0 14px;font-weight:500}.authSwitcher{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.authSwitcher button{border:1px solid var(--line);background:var(--white);min-height:34px;color:var(--muted);cursor:pointer;border-radius:6px;padding:0 8px;font-size:13px;font-weight:500}.authSwitcher button.active{border-color:var(--teal);color:var(--teal-strong);background:var(--soft)}@media (max-width:720px){.tabsBar{grid-template-columns:repeat(2,minmax(0,1fr))}.resourceTab{min-height:92px}.topbarActions{flex-wrap:wrap}}@media (max-width:820px){.loginScreen{padding:18px}.loginLayout{grid-template-columns:1fr;min-height:auto}.loginWelcome{min-height:360px;padding:30px}.loginWelcomeCopy{margin:28px 0}.loginWelcomeCopy h1{font-size:38px}.loginCard{padding:38px 30px 32px}}@media (max-width:480px){.loginScreen{padding:0}.loginLayout{border:0;border-radius:0;min-height:100vh}.loginWelcome{min-height:330px;padding:24px}.loginCard{padding:34px 24px 28px}.loginHighlights{gap:8px}.loginHighlights span{font-size:12px}}.loginScreen{padding:0}.loginLayout{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0}.loginWelcome{text-align:center;align-items:center;padding:clamp(38px,6vw,88px)}.loginWelcomeBrand{flex-direction:column;gap:16px}.loginWelcomeBrand img{border-radius:24px;width:176px;height:176px}.loginWelcomeBrand strong{font-size:clamp(40px,5vw,58px);line-height:1.1}.loginWelcomeBrand span{margin-top:8px;font-size:19px}.loginWelcomeCopy{margin:68px 0 48px}.loginWelcomeCopy h1,.loginWelcomeCopy p{margin-inline:auto}.loginCard{border:0;border-radius:0}@media (max-width:820px){.loginWelcome{min-height:430px}.loginWelcomeBrand img{width:148px;height:148px}.loginWelcomeCopy{margin:42px 0 30px}}.manageBox>summary{justify-content:flex-start;align-items:center;min-height:40px;list-style:none;position:relative;padding-left:42px!important;display:flex!important}.manageBox>summary::-webkit-details-marker{display:none}.manageBox>summary:after{content:"▾";color:var(--teal-strong);font-size:16px;line-height:1;transition:transform .16s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.manageBox[open]>summary:after{transform:translateY(-50%)rotate(180deg)}
