:root{
  --navy:#07184b;--blue:#1769ff;--cyan:#20b7ff;--purple:#7357ff;--orange:#ff8a1f;
  --ink:#102044;--muted:#65718b;--line:#e7ebf3;--soft:#f5f7fc;--white:#fff;
  --success:#168a5b;--danger:#cf3c4f;--warning:#b66a00;--shadow:0 18px 60px rgba(17,35,86,.12);
  --radius:24px;--small-radius:14px;--container:min(1180px,calc(100% - 32px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Cairo,Arial,sans-serif;line-height:1.7}html[dir=rtl] body{font-family:Cairo,Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.platform-container{width:var(--container);margin:auto}.platform-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,235,243,.9)}.nav-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.platform-brand{display:flex;align-items:center;gap:11px}.platform-brand img{width:46px;height:46px;border-radius:14px}.platform-brand span{display:flex;flex-direction:column;line-height:1.1}.platform-brand b{font-size:18px;color:var(--navy)}.platform-brand small{font-size:11px;color:var(--muted);margin-top:6px}.platform-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.platform-nav>a:not(.primary-button):not(.ghost-button):hover{color:var(--blue)}.lang-pill{border:1px solid var(--line);padding:5px 10px;border-radius:999px}.inline-form{margin:0}.ghost-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 20px;font-weight:800;cursor:pointer;border:0;transition:.2s}.primary-button{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;box-shadow:0 10px 25px rgba(23,105,255,.22)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,105,255,.28)}.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--line)}.secondary-button:hover,.ghost-button:hover{border-color:#b9c6df;background:#f9fbff}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:9px 14px}.small{padding:9px 14px;font-size:13px}.full{width:100%}.platform-menu{display:none;background:none;border:0;padding:7px}.platform-menu span{display:block;width:26px;height:2px;background:var(--navy);margin:5px;border-radius:2px}.messages{padding-top:16px}.message{padding:13px 16px;border-radius:12px;margin-bottom:8px;background:#eef4ff;color:#1d4f9d;border:1px solid #dce8ff}.message.success{background:#eaf9f2;color:#126844;border-color:#c8ebdc}.message.error{background:#fff0f2;color:#9c2636;border-color:#ffd6dc}.message.info{background:#f4f0ff;color:#5633a7;border-color:#e5dbff}
.platform-hero{background:radial-gradient(circle at 9% 15%,rgba(32,183,255,.14),transparent 30%),radial-gradient(circle at 88% 70%,rgba(115,87,255,.16),transparent 32%),linear-gradient(180deg,#fbfdff,#f7f8ff);padding:88px 0 78px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}.eyebrow{display:inline-block;color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.platform-hero h1,.page-hero h1,.course-detail-hero h1,.dashboard-head h1{font-size:clamp(36px,5vw,66px);line-height:1.14;margin:0 0 20px;color:var(--navy);letter-spacing:-.035em}.platform-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--blue),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}.platform-hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 24px}.trust-row{display:flex;gap:20px;flex-wrap:wrap;color:#3b4965;font-size:13px;font-weight:700}.dashboard-mockup{background:var(--navy);padding:10px;border-radius:29px;box-shadow:0 34px 90px rgba(7,24,75,.28);transform:rotate(1.2deg)}.mockup-top{height:42px;display:flex;align-items:center;gap:6px;color:#b9c8ef;padding:0 10px}.mockup-top i{width:8px;height:8px;border-radius:50%;background:#4e6193}.mockup-top b{font-size:11px;margin-inline-start:auto;margin-inline-end:auto}.mockup-body{background:#f8faff;border-radius:20px;padding:24px}.welcome-tile{background:linear-gradient(135deg,#166aff,#7656ff);border-radius:18px;padding:19px;color:#fff;display:flex;justify-content:space-between;align-items:center}.welcome-tile strong{font-size:24px}.mockup-course{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;background:#fff;padding:18px;border-radius:16px;margin-top:15px;border:1px solid var(--line)}.code-icon{display:grid;place-items:center;width:52px;height:52px;background:#fff4df;color:#d26a00;border-radius:14px;font-weight:900}.mockup-course div:nth-child(2){display:flex;flex-direction:column}.mockup-course small{color:var(--muted);font-size:11px}.mini-progress,.progress-bar{height:7px;background:#e9edf6;border-radius:999px;overflow:hidden}.mini-progress{margin-top:9px}.mini-progress i,.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));border-radius:inherit}.mockup-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.mockup-cards>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;flex-direction:column}.mockup-cards small{color:var(--muted)}.stats-strip{background:var(--navy);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid>div{padding:26px 18px;text-align:center;border-inline-end:1px solid rgba(255,255,255,.12)}.stats-grid>div:last-child{border:0}.stats-grid strong{display:block;font-size:28px}.stats-grid span{font-size:12px;color:#c8d2ef}.section{padding-top:82px;padding-bottom:82px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.section-heading.compact{margin-bottom:20px}.section-heading h2{font-size:clamp(28px,4vw,43px);line-height:1.2;color:var(--navy);margin:0}.section-heading>a{color:var(--blue);font-weight:800}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.25s}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.course-cover{height:185px;position:relative;background:linear-gradient(135deg,#eef6ff,#f0edff)}.course-cover img{width:100%;height:100%;object-fit:cover}.cover-code{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 35% 25%,rgba(32,183,255,.3),transparent 32%),linear-gradient(135deg,#0b245e,#5c45d9);color:#fff}.cover-code span{font-size:46px;font-weight:900}.cover-code b{font-size:11px;opacity:.75}.featured-badge{position:absolute;top:14px;inset-inline-start:14px;background:#ff9b22;color:#fff;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900}.course-card-body{padding:21px}.course-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:700}.course-meta span{padding:4px 8px;background:#f3f6fb;border-radius:999px}.course-card h3{font-size:20px;color:var(--navy);margin:13px 0 7px}.course-card p{color:var(--muted);font-size:14px;min-height:73px;margin:0}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:12px}.card-footer a{color:var(--blue);font-weight:900}.soft-section{background:var(--soft)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.feature-grid article>span{font-size:12px;color:var(--purple);font-weight:900}.feature-grid h3{color:var(--navy);font-size:18px;margin:10px 0 8px}.feature-grid p{font-size:13px;color:var(--muted);margin:0}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #cbd5e8;background:#fafcff;padding:55px 25px;border-radius:22px}.empty-state h3{color:var(--navy);margin-top:0}.empty-state p{color:var(--muted)}
.platform-footer{background:#06143d;color:#cad3ec;padding:24px 0;margin-top:50px}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.footer-row p{margin:0}.footer-row a{color:#fff}
.auth-section{min-height:calc(100vh - 155px);display:grid;place-items:center;padding:65px 16px;background:radial-gradient(circle at 10% 20%,rgba(32,183,255,.12),transparent 30%),var(--soft)}.auth-card{width:min(500px,100%);background:#fff;padding:36px;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.auth-section.wide .auth-card{width:min(760px,100%)}.auth-logo{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:900;margin-bottom:20px}.auth-card h1{font-size:31px;line-height:1.3;color:var(--navy);margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 23px}.platform-form{display:grid;gap:17px}.form-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:800}.form-control{width:100%;border:1px solid #d9e0ee;border-radius:11px;padding:12px 13px;outline:none;background:#fff;color:var(--ink)}.form-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,255,.1)}.help-text{font-size:10px;color:var(--muted)}.help-text ul{margin:5px 0;padding-inline-start:18px}.field-error,.errorlist{font-size:11px;color:var(--danger);margin:0;padding:0;list-style:none}.auth-switch{text-align:center!important;margin:22px 0 0!important;font-size:13px}.auth-switch a{color:var(--blue);font-weight:900}
.page-hero{padding:72px 0 58px;background:linear-gradient(180deg,#f8fbff,#f4f4ff)}.page-hero h1{font-size:48px;margin-bottom:12px}.page-hero p{color:var(--muted);font-size:17px;margin:0}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-row a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.filter-row a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.course-detail-hero{padding:75px 0;background:radial-gradient(circle at 90% 10%,rgba(115,87,255,.18),transparent 31%),linear-gradient(135deg,#06143d,#102969);color:#fff}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:center}.course-detail-hero h1{color:#fff;font-size:52px;margin:15px 0}.course-detail-hero p{color:#d4dcf2;font-size:16px}.course-detail-hero .course-meta span{background:rgba(255,255,255,.1);color:#dbe4ff}.instructor-line{display:flex;align-items:center;gap:11px;margin-top:24px}.avatar-circle{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;font-weight:900}.instructor-line div{display:flex;flex-direction:column}.instructor-line small{color:#b9c5e7}.enroll-card{background:#fff;color:var(--ink);padding:28px;border-radius:23px;box-shadow:0 20px 60px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:15px}.big-code{height:110px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#efeaff);border-radius:18px;color:var(--blue);font-size:38px;font-weight:900}.enroll-card>b{font-size:19px;color:var(--navy)}.enroll-card p,.enroll-card small{color:var(--muted)}.curriculum{max-width:900px}.module-card{border:1px solid var(--line);border-radius:20px;margin-bottom:17px;overflow:hidden;background:#fff}.module-card>header{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;background:#f9fbff;border-bottom:1px solid var(--line)}.module-card>header>div{display:flex;align-items:center;gap:13px}.module-card>header span{color:var(--purple);font-size:12px;font-weight:900}.module-card h3{margin:0;color:var(--navy)}.module-card>p{padding:0 22px;color:var(--muted)}.lesson-list>div{display:grid;grid-template-columns:28px 1fr auto auto;gap:12px;align-items:center;padding:14px 22px;border-top:1px solid #f0f2f7}.lesson-list>div:first-child{border-top:0}.lesson-list small{color:var(--muted);font-size:11px}.lesson-list a{color:var(--blue);font-size:11px;font-weight:900}.lesson-play{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-size:9px}
.dashboard-head{padding:50px 0;background:linear-gradient(135deg,#f7fbff,#f4f2ff)}.dashboard-head>.platform-container{display:flex;justify-content:space-between;align-items:center;gap:30px}.dashboard-head h1{font-size:42px;margin:0 0 7px}.dashboard-head p{color:var(--muted);margin:0}.dashboard-layout{display:grid;grid-template-columns:1fr 330px;gap:26px}.enrollment-card{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:15px}.course-mini-cover{width:92px;height:92px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#0b245e,#5c45d9);color:#fff;font-size:23px;font-weight:900}.enrollment-info h3{margin:8px 0;color:var(--navy)}.progress-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}.enrollment-info>small{color:var(--muted);font-size:10px}.status{display:inline-flex!important;padding:4px 8px!important;border-radius:999px!important;font-size:10px!important}.status.active,.status.completed{background:#e7f8f0!important;color:#14714b!important}.status.pending{background:#fff5e3!important;color:#9a5b00!important}.status.suspended{background:#fff0f2!important;color:#a52d3c!important}.pending-note{font-size:11px;color:var(--warning)}.dashboard-side{display:flex;flex-direction:column;gap:17px}.side-card,.table-card,.student-report{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff}.side-card h3{font-size:16px;color:var(--navy);margin:0 0 15px}.side-card-head{display:flex;align-items:center;justify-content:space-between}.side-card-head a{font-size:11px;color:var(--blue);font-weight:900}.session-mini{display:grid;grid-template-columns:48px 1fr;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.date-box{border-radius:10px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;padding:4px}.date-box b{font-size:18px;line-height:1}.date-box span{font-size:9px;text-transform:uppercase}.session-mini>div:last-child{display:flex;flex-direction:column}.session-mini b{font-size:12px}.session-mini small,.session-mini span{font-size:10px;color:var(--muted)}.result-mini{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.result-mini>div{display:flex;flex-direction:column}.result-mini b{font-size:12px}.result-mini small{font-size:10px;color:var(--muted)}.result-mini>span{font-size:12px;font-weight:900}.pass{color:var(--success)}.fail{color:var(--danger)}.muted{color:var(--muted);font-size:12px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:24px}.admin-stats>div{border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;justify-content:space-between;align-items:center}.admin-stats span{color:var(--muted);font-size:12px}.admin-stats b{font-size:28px;color:var(--navy)}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:13px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px}.student-report{margin-bottom:20px}.student-report>header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px}.student-report h2{margin:0;color:var(--navy)}.student-report small{color:var(--muted)}.report-courses{padding-top:10px}.report-courses>div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.report-courses>div>div:first-child{display:flex;flex-direction:column}.report-courses>div>span{font-weight:900;color:var(--purple)}.report-courses .progress-bar{grid-column:1/-1}
.lesson-shell{display:grid;grid-template-columns:300px 1fr;gap:32px;padding-top:35px;padding-bottom:70px}.lesson-sidebar{border:1px solid var(--line);border-radius:20px;background:#fff;align-self:start;position:sticky;top:105px;max-height:calc(100vh - 130px);overflow:auto}.back-course{display:block;padding:17px;border-bottom:1px solid var(--line);font-size:12px;font-weight:900;color:var(--blue)}.sidebar-progress{padding:16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.sidebar-progress b,.sidebar-progress span{font-size:12px}.sidebar-progress .progress-bar{grid-column:1/-1}.lesson-sidebar nav h4{font-size:11px;text-transform:uppercase;color:var(--muted);padding:16px 15px 8px;margin:0}.lesson-sidebar nav a{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:11px 15px;border-inline-start:3px solid transparent}.lesson-sidebar nav a.active{background:#eef4ff;border-color:var(--blue);color:var(--blue)}.lesson-sidebar nav a span{font-size:10px}.lesson-sidebar nav a b{font-size:11px}.lesson-sidebar nav a small{font-size:9px;color:var(--muted)}.lesson-content{min-width:0}.lesson-topline{display:flex;justify-content:space-between;color:var(--blue);font-size:12px;font-weight:800}.lesson-content h1{font-size:38px;line-height:1.25;color:var(--navy);margin:10px 0}.lesson-summary{font-size:17px;color:var(--muted)}.video-frame,.video-placeholder{aspect-ratio:16/9;border-radius:21px;overflow:hidden;background:#06143d;margin:25px 0}.video-frame iframe{width:100%;height:100%;border:0}.video-placeholder{display:grid;place-items:center;align-content:center;color:#dbe6ff;gap:12px}.video-placeholder span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:25px}.lesson-text{font-size:16px;color:#33415e}.lesson-text h2,.lesson-text h3{color:var(--navy)}.lesson-text pre{background:#07184b;color:#d9e4ff;padding:18px;border-radius:14px;overflow:auto;direction:ltr;text-align:left}.download-box{display:flex;align-items:center;gap:15px;background:#f4f8ff;border:1px solid #dce8ff;border-radius:15px;padding:17px;margin:24px 0}.download-box>span{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:20px}.download-box div{display:flex;flex-direction:column}.download-box small{color:var(--muted)}.lesson-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:30px;flex-wrap:wrap}.completed-badge{color:var(--success);font-weight:900;margin-inline-end:auto}
.quiz-page{background:var(--soft);padding:60px 0}.quiz-container{max-width:820px}.quiz-container>header{text-align:center;margin-bottom:28px}.quiz-container>header>a{display:block;text-align:start;color:var(--blue);font-size:12px;font-weight:900}.quiz-container>header>span{font-size:11px;color:var(--purple);font-weight:900}.quiz-container h1{font-size:38px;color:var(--navy);margin:9px 0}.quiz-container header p{color:var(--muted)}.quiz-form{display:grid;gap:18px}.question-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px}.question-card legend{display:flex;gap:11px;align-items:flex-start;font-size:17px;font-weight:800;color:var(--navy);padding:0 5px;margin-bottom:14px}.question-card legend span{min-width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-size:12px}.choice-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:9px 0;cursor:pointer}.choice-option:has(input:checked){border-color:var(--blue);background:#f1f6ff}.choice-option input{accent-color:var(--blue);width:17px;height:17px}.result-page{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:60px 16px;background:var(--soft)}.result-card{width:min(650px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:42px;text-align:center;box-shadow:var(--shadow)}.result-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;margin:0 auto 24px;background:#eaf8f2;border:10px solid #c8ebdd;color:var(--success)}.result-card.failed .result-ring{background:#fff1f3;border-color:#ffd9df;color:var(--danger)}.result-ring strong{font-size:34px;line-height:1.1}.result-ring span{font-size:11px;font-weight:900}.result-card h1{color:var(--navy);font-size:30px}.result-card p{color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:25px;flex-wrap:wrap}
.sessions-list{display:grid;gap:15px}.session-card{display:grid;grid-template-columns:105px 1fr auto;gap:22px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:20px}.session-date{background:#eef4ff;color:var(--blue);border-radius:16px;padding:13px;text-align:center;display:flex;flex-direction:column}.session-date b{font-size:28px;line-height:1}.session-date span,.session-date small{font-size:10px}.session-info>span{font-size:11px;color:var(--purple);font-weight:900}.session-info h2{font-size:20px;color:var(--navy);margin:4px 0}.session-info p{font-size:13px;color:var(--muted);margin:0}.session-meta{display:flex;gap:15px;margin-top:8px;font-size:10px;color:var(--muted)}.session-actions{display:flex;flex-direction:column;gap:8px}
@media(max-width:980px){.platform-menu{display:block}.platform-nav{display:none;position:absolute;top:78px;inset-inline:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.platform-nav.open{display:flex}.platform-nav .inline-form,.platform-nav button{width:100%}.hero-grid,.detail-grid{grid-template-columns:1fr}.dashboard-mockup{max-width:650px}.course-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{gap:35px}.enroll-card{max-width:520px}.dashboard-layout{grid-template-columns:1fr}.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:400px}.session-card{grid-template-columns:90px 1fr}.session-actions{grid-column:2}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){:root{--container:min(100% - 22px,1180px)}.platform-hero{padding:55px 0}.platform-hero h1{font-size:40px}.hero-grid{gap:40px}.stats-grid>div{padding:18px 8px}.stats-grid strong{font-size:22px}.section{padding-top:55px;padding-bottom:55px}.course-grid,.feature-grid{grid-template-columns:1fr}.course-cover{height:180px}.footer-row{flex-direction:column;text-align:center}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.auth-card{padding:25px 20px}.page-hero h1,.course-detail-hero h1,.dashboard-head h1{font-size:35px}.dashboard-head>.platform-container{align-items:flex-start;flex-direction:column}.enrollment-card{grid-template-columns:65px 1fr}.course-mini-cover{width:65px;height:65px}.enrollment-action{grid-column:1/-1}.admin-stats{grid-template-columns:1fr}.lesson-content h1{font-size:30px}.lesson-shell{padding-top:20px}.lesson-list>div{grid-template-columns:25px 1fr auto}.lesson-list>div>a,.lesson-list>div>i{grid-column:2}.session-card{grid-template-columns:1fr}.session-date{width:90px}.session-actions{grid-column:1;flex-direction:row}.result-card{padding:30px 20px}.section-heading{align-items:flex-start;flex-direction:column}.mockup-body{padding:15px}.trust-row{gap:10px}.course-detail-hero{padding:55px 0}}

/* Phase 2: assignments, attendance, and parent reports */
.dashboard-head-actions{display:flex;gap:12px;flex-wrap:wrap}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-26px;position:relative;z-index:2}.dashboard-metrics>div,.student-metrics>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(17,35,86,.06);display:flex;justify-content:space-between;align-items:center}.dashboard-metrics span,.student-metrics span{font-size:12px;color:var(--muted)}.dashboard-metrics b,.student-metrics b{font-size:25px;color:var(--navy)}.admin-stats.four{grid-template-columns:repeat(4,1fr)}.instructor-layout{padding:0}.assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.assignment-card{border:1px solid var(--line);border-radius:20px;padding:21px;background:#fff;display:flex;flex-direction:column}.assignment-card-top,.assignment-footer,.assignment-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.assignment-card-top>span{font-size:11px;font-weight:900;color:var(--purple)}.assignment-card h2{font-size:20px;color:var(--navy);margin:13px 0 8px}.assignment-card p{font-size:13px;color:var(--muted);flex:1}.assignment-footer{border-top:1px solid var(--line);padding-top:15px;margin-top:12px;font-size:12px}.deadline{font-size:10px;color:var(--warning);background:#fff5e6;padding:5px 9px;border-radius:999px}.deadline.overdue{color:var(--danger);background:#fff0f2}.assignment-list{display:grid;gap:14px}.assignment-row{display:grid;grid-template-columns:56px 1fr auto;gap:17px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:19px;background:#fff}.assignment-icon{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#eef4ff,#eee9ff);color:var(--purple);display:grid;place-items:center;font-size:22px;font-weight:900}.assignment-main h2{font-size:19px;color:var(--navy);margin:7px 0 4px}.assignment-main p{margin:0;color:var(--muted);font-size:13px}.assignment-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:9px}.assignment-status-block{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:130px}.assignment-status-block>b{color:var(--navy)}.assignment-hero{padding:52px 0;background:linear-gradient(180deg,#f8fbff,#f6f4ff)}.assignment-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.2;color:var(--navy);margin:4px 0 13px}.back-link{display:inline-block;color:var(--blue);font-size:12px;font-weight:900;margin-bottom:18px}.assignment-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.content-card{border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff}.content-card h2{color:var(--navy);margin-top:0}.rich-text{color:#33415e}.assignment-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.submission-summary{display:flex;flex-direction:column;gap:11px}.submission-summary small{color:var(--muted)}.score-box{display:flex;align-items:baseline;gap:5px;background:#eef8f4;color:var(--success);padding:13px;border-radius:14px}.score-box b{font-size:30px}.feedback-box{background:#f7f8fc;border-radius:14px;padding:13px}.feedback-box b{font-size:12px}.feedback-box p{margin:7px 0 0;font-size:13px}.locked-note{padding:13px;border-radius:12px;background:#fff6e9}.submissions-section{padding-bottom:75px}.table-sub{display:block}.status.submitted{background:#eef4ff!important;color:#1d58b8!important}.status.graded{background:#eaf9f2!important;color:#126844!important}.status.resubmit,.status.suspended{background:#fff0f2!important;color:#a52d3c!important}.grade-card{width:min(820px,100%)!important}.submitted-answer{background:#f7f9fd;border:1px solid var(--line);border-radius:16px;padding:18px;margin:20px 0}.submitted-answer h3{color:var(--navy);margin-top:0}.submitted-answer small{display:block;color:var(--muted);margin-top:12px}.attendance-card{padding:25px}.attendance-select{min-width:150px}.attendance-pill{display:inline-block;margin-top:10px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900}.attendance-pill.present{background:#eaf9f2;color:var(--success)}.attendance-pill.late{background:#fff6e8;color:var(--warning)}.attendance-pill.absent{background:#fff0f2;color:var(--danger)}.attendance-pill.excused{background:#eef4ff;color:var(--blue)}.parent-attendance-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.parent-attendance-list span{font-size:10px;background:#f3f6fb;padding:4px 8px;border-radius:999px}.assignment-mini,.review-mini,.published-reports a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.assignment-mini>div,.review-mini>div,.published-reports a>div{display:flex;flex-direction:column}.assignment-mini b,.review-mini b,.published-reports b{font-size:12px}.assignment-mini small,.review-mini small,.published-reports small{font-size:10px;color:var(--muted)}.assignment-mini>span{font-size:11px;color:var(--purple);font-weight:900}.student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.student-metrics>div{box-shadow:none;padding:14px}.published-reports{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.published-reports h3{font-size:15px;color:var(--navy)}.report-page{background:var(--soft);padding:55px 0}.report-sheet{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:42px;box-shadow:var(--shadow)}.report-sheet>header{border-bottom:1px solid var(--line);padding-bottom:22px}.report-brand{display:flex;justify-content:space-between;gap:20px;color:var(--blue);font-size:12px}.report-sheet h1{font-size:38px;color:var(--navy);margin:17px 0 6px}.report-sheet header p{color:var(--muted)}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.report-metrics>div{background:#f7f9fd;border-radius:16px;padding:17px;display:flex;flex-direction:column}.report-metrics span{font-size:11px;color:var(--muted)}.report-metrics b{font-size:26px;color:var(--navy)}.report-sheet section h2{color:var(--navy);font-size:19px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}.report-columns section{border-radius:16px;padding:18px}.report-columns .strength{background:#eef9f4}.report-columns .improve{background:#fff6e9}.report-sheet>footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;color:var(--muted);font-size:11px}
@media(max-width:980px){.assignment-grid{grid-template-columns:repeat(2,1fr)}.assignment-detail-grid{grid-template-columns:1fr}.admin-stats.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.dashboard-head-actions{width:100%}.dashboard-head-actions a{flex:1}.dashboard-metrics,.student-metrics,.report-metrics,.report-columns{grid-template-columns:1fr}.assignment-grid{grid-template-columns:1fr}.assignment-row{grid-template-columns:48px 1fr}.assignment-status-block{grid-column:1/-1;align-items:stretch}.assignment-status-block a{text-align:center}.assignment-heading{align-items:flex-start;flex-direction:column}.report-sheet{padding:25px 18px}.report-sheet h1{font-size:30px}.report-sheet>footer{flex-direction:column}.admin-stats.four{grid-template-columns:1fr}.attendance-card{padding:15px}}
