:root{color-scheme:light;--font-body: "IBM Plex Sans Arabic", "Segoe UI", sans-serif;--font-heading: "Changa", "IBM Plex Sans Arabic", sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;color:#15323a;background:radial-gradient(circle at top right,rgba(11,122,153,.18),transparent 30%),radial-gradient(circle at bottom left,rgba(243,164,52,.18),transparent 24%),linear-gradient(180deg,#fffefb,#f4f0e8);--bg: #fffefb;--surface: rgba(255, 255, 255, .84);--surface-strong: #ffffff;--surface-soft: rgba(252, 248, 239, .92);--line: rgba(21, 50, 58, .1);--line-strong: rgba(21, 50, 58, .18);--text: #15323a;--muted: #61757b;--accent: #0b7a99;--accent-strong: #0a5e74;--accent-soft: rgba(11, 122, 153, .1);--accent-soft-strong: rgba(11, 122, 153, .18);--gold: #f2aa3d;--gold-strong: #db8c17;--danger: #c43d3d;--success: #218e54;--shadow: 0 28px 64px rgba(30, 57, 64, .12);--shadow-soft: 0 16px 34px rgba(30, 57, 64, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;opacity:.35}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:#102d34}a{color:inherit}.app-shell{min-height:100vh;padding:24px;position:relative;overflow:clip}.ambient-shape{position:absolute;border-radius:999px;filter:blur(18px);opacity:.6;pointer-events:none}.ambient-shape.one{width:340px;height:340px;top:-90px;left:-80px;background:#f2aa3d38}.ambient-shape.two{width:380px;height:380px;bottom:-130px;right:-90px;background:#0b7a9929}.container{max-width:1340px;margin:0 auto;position:relative;z-index:1}.hero-card,.panel,.table-card,.exam-card,.stat-card,.auth-card,.shell-banner{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.auth-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch;min-height:calc(100vh - 48px)}.hero-card{padding:42px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;animation:rise-in .6s ease}.hero-card:after{content:"";position:absolute;width:240px;height:240px;top:-80px;right:-60px;border-radius:50%;background:radial-gradient(circle,rgba(11,122,153,.14) 0%,transparent 72%);pointer-events:none}.hero-title{font-size:clamp(2.4rem,5vw,4.45rem);margin:0 0 12px;line-height:1.08}.hero-subtitle{color:var(--muted);margin:0;max-width:40rem;font-size:1.04rem}.hero-grid{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hero-chip{padding:17px 18px;border-radius:24px;background:#ffffffb3;border:1px solid rgba(21,50,58,.08);box-shadow:inset 0 1px #fff9}.hero-chip strong{display:block;margin-bottom:7px;font-family:var(--font-heading)}.hero-chip-accent{background:linear-gradient(135deg,#0b7a991f,#ffffffd1)}.hero-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-card{padding:34px;animation:rise-in .7s ease}.auth-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.auth-tabs,.dash-tabs{display:flex;gap:10px}.dash-tabs{overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.section-nav{position:relative;z-index:12}.section-nav.is-open{z-index:80}.section-nav-mobile{display:none}.dash-tabs::-webkit-scrollbar{display:none}.tab-button{flex:0 0 auto;border:1px solid var(--line);background:#fffc;color:var(--text);padding:11px 16px;border-radius:999px;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap}.tab-button.active,.tab-button:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;border-color:transparent;transform:translateY(-1px)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.single{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:.95rem;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{width:100%;border-radius:18px;border:1px solid var(--line);background:#fffffff0;padding:14px 15px;color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#0b7a9959;box-shadow:0 0 0 4px #0b7a991f;background:#fff}.field textarea{min-height:110px;resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{border:none;border-radius:18px;padding:13px 18px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;min-height:48px;font-weight:700}.btn.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;box-shadow:0 16px 30px #0a5e7438}.btn.secondary{background:#ffffffe6;border:1px solid var(--line);color:var(--text)}.btn.gold{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-strong) 100%);color:#462600;box-shadow:0 16px 30px #db8c1738}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.stack{display:flex;flex-direction:column;gap:20px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.brand-block h1{margin:0;font-size:clamp(1.9rem,4vw,3.25rem)}.brand-block p{margin:6px 0 0;color:var(--muted);max-width:42rem}.user-card{display:flex;align-items:center;gap:12px;background:#ffffffd1;border:1px solid var(--line);border-radius:22px;padding:12px 16px;box-shadow:var(--shadow-soft)}.avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,#14a1b8 100%);font-weight:800;font-family:var(--font-heading)}.shell-banner{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;padding:24px 26px;margin-bottom:24px}.shell-banner-copy h2{margin:6px 0 8px;font-size:clamp(1.3rem,3vw,2rem)}.shell-banner-copy p{margin:0;color:var(--muted)}.shell-pill{background:#f2aa3d24;color:#895500}.shell-banner-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-stat{background:linear-gradient(180deg,#ffffffe0,#faf5ebbd);border:1px solid rgba(21,50,58,.08);border-radius:22px;padding:16px;text-align:center}.mini-stat strong{display:block;font-family:var(--font-heading);margin-bottom:4px}.mini-stat span{color:var(--muted);font-size:.92rem}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:24px}.panel{padding:24px;animation:rise-in .45s ease}.panel h2,.panel h3,.table-card h3,.exam-card h3{margin-top:0}.table-card,.exam-card,.stat-card{padding:22px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:580px}th,td{text-align:right;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:700}tbody tr:hover{background:#0b7a9908}.pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.92rem;font-weight:700}.pill.success{background:#218e541f;color:var(--success)}.pill.warning{background:#f2aa3d29;color:#9c6200}.pill.danger{background:#c43d3d1f;color:var(--danger)}.helper,.muted{color:var(--muted)}.message{padding:14px 16px;border-radius:18px;border:1px solid transparent;white-space:pre-line;box-shadow:var(--shadow-soft)}.floating-messages{position:fixed;top:18px;right:18px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 28px));pointer-events:none}.floating-messages .message{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;pointer-events:auto}.message.error{background:#c43d3d14;color:#842121;border-color:#c43d3d29}.message.success{background:#218e5414;color:#166235;border-color:#218e5429}.inline-options{display:flex;flex-wrap:wrap;gap:10px}.option-card,.question-card,.soft-note{border-radius:20px;border:1px solid var(--line);background:#ffffffc2;padding:15px;box-shadow:var(--shadow-soft)}.soft-note{background:linear-gradient(180deg,#0b7a9914,#ffffffc2)}.soft-note strong{display:block;margin-bottom:6px;font-family:var(--font-heading)}.question-card.selected{border-color:#0b7a9957;box-shadow:0 0 0 4px #0b7a9917}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0 0 auto auto;width:120px;height:120px;background:radial-gradient(circle,rgba(11,122,153,.08),transparent 70%);pointer-events:none}.stat-number{font-size:2rem;font-weight:800;font-family:var(--font-heading);margin:8px 0 4px;line-height:1.2}.exam-layout{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:24px}.exam-layout>aside{position:sticky;top:18px;align-self:start}.question-list{display:flex;flex-direction:column;gap:14px}.exam-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:22px;border:1px solid var(--line-strong);background:#fffffff0;box-shadow:var(--shadow-soft)}.exam-submit-bar.floating-mobile{position:sticky;bottom:14px;z-index:6}.exam-submit-bar .muted{margin-top:6px}.pagination-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border-radius:22px;border:1px solid var(--line);background:#ffffffdb}.pagination-buttons{display:flex;flex-wrap:wrap;gap:8px}.pagination-button{min-width:54px;min-height:42px;padding:10px 14px}.question-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.radio-row{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#ffffffd6;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.radio-row:hover{border-color:#0b7a9933;transform:translateY(-1px)}.radio-row input{margin-top:4px}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.divider{height:1px;background:var(--line);margin:8px 0}.spaced{display:flex;justify-content:space-between;gap:12px;align-items:center}.fade-in{animation:rise-in .42s ease}.student-dashboard-shell h2{margin:8px 0 6px}.student-dashboard-shell{position:relative;z-index:20}.student-dashboard-alert{display:flex;flex-direction:column;gap:10px}.teacher-dashboard.has-floating-action-bar,.student-dashboard.has-active-attempt{padding-bottom:124px}.exam-submit-bar{position:fixed;right:24px;left:24px;bottom:18px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:26px;border:1px solid var(--line);background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 40px #1e394029}.exam-submit-summary{display:flex;flex-direction:column;gap:2px}.exam-submit-summary strong{font-family:var(--font-heading);font-size:1.25rem}.exam-submit-summary span{color:var(--muted);font-size:.92rem}.exam-submit-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.topbar .btn.secondary{white-space:nowrap}.mobile-nav-trigger,.mobile-nav-item{border:1px solid var(--line);background:#ffffffeb;color:var(--text)}.mobile-nav-trigger{width:100%;min-height:68px;border-radius:24px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow-soft)}.mobile-nav-copy{display:flex;flex-direction:column;align-items:flex-start}.mobile-nav-copy strong{font-family:var(--font-heading);font-size:1.15rem}.mobile-nav-label{color:var(--muted);font-size:.86rem}.mobile-nav-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:1.3rem;line-height:1}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#102d3438;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:29}.mobile-nav-sheet{position:absolute;top:calc(100% + 12px);right:0;left:0;max-height:min(70vh,520px);overflow-y:auto;padding:18px;border-radius:28px;background:#fffffff5;border:1px solid var(--line);box-shadow:var(--shadow);z-index:30}.mobile-nav-sheet-header h3{margin:8px 0 4px}.mobile-nav-sheet-header p{margin:0}.mobile-nav-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.mobile-nav-item{width:100%;text-align:right;padding:14px 16px;border-radius:20px;display:flex;flex-direction:column;gap:4px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.mobile-nav-item strong{font-family:var(--font-heading);font-size:1.02rem}.mobile-nav-item span{color:var(--muted);font-size:.92rem}.mobile-nav-item.active{border-color:#0b7a9947;background:linear-gradient(180deg,#0b7a991a,#fffffff5);box-shadow:0 0 0 4px #0b7a9914}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#102d3447;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:69}.dialog-sheet{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 28px));max-height:min(88vh,920px);overflow-y:auto;padding:24px;border-radius:30px;background:#fffffff7;border:1px solid var(--line);box-shadow:var(--shadow);z-index:70}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (max-width: 1120px){.dashboard-grid,.exam-layout,.auth-layout,.split,.shell-banner{grid-template-columns:1fr}.exam-layout>aside{position:static}.shell-banner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 820px){.hero-grid,.hero-footer-grid,.shell-banner-metrics{grid-template-columns:1fr}.topbar,.spaced,.pagination-bar,.exam-submit-bar{flex-direction:column;align-items:stretch}.exam-submit-actions{justify-content:stretch}.user-card{flex-wrap:wrap;justify-content:space-between}}@media (max-width: 720px){.app-shell{padding:14px}.hero-card,.auth-card,.panel,.table-card,.exam-card,.stat-card,.shell-banner{padding:18px;border-radius:24px}.form-grid,.form-grid.three{grid-template-columns:1fr}.hero-title{font-size:2rem}.auth-tabs{flex-direction:column}.auth-tabs .tab-button{width:100%}.section-nav{position:sticky;top:10px;z-index:72}.section-nav-desktop{display:none}.section-nav-mobile{display:block}.dialog-sheet{width:calc(100vw - 22px);padding:18px;border-radius:24px}.exam-submit-bar{flex-direction:column;align-items:stretch;right:14px;left:14px;bottom:14px;border-radius:22px}.teacher-dashboard.has-floating-action-bar{padding-bottom:136px}.exam-submit-bar .btn{width:100%}table{min-width:520px}.question-header{flex-direction:column}}@media (max-width: 520px){.cards-grid{grid-template-columns:1fr}.floating-messages{top:12px;right:12px;width:calc(100vw - 24px)}.topbar{margin-bottom:16px}.brand-block h1{font-size:1.7rem}.brand-block p,.shell-banner-copy p,.mini-stat span{font-size:.92rem}.shell-banner{padding:16px;margin-bottom:18px}.user-card{align-items:flex-start}.mini-stat,.soft-note,.question-card{border-radius:18px}.btn{width:100%}.button-row{align-items:stretch}}
