
:root{--ink:#071426;--navy:#001d81;--blue:#0032b2;--cyan:#3192d9;--violet:#634ab4;--red:#d20d1c;--paper:#f5f8fd;--white:#fff;--muted:#64748b;--line:#dce5f3;--success:#0e9f6e;--warning:#f59e0b;--shadow:0 24px 70px rgba(6,25,65,.14);--shadow2:0 12px 35px rgba(13,54,113,.10);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.hidden{display:none!important}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.15))}.brand-title{font-weight:900;letter-spacing:-.6px;font-size:1.25rem}.brand-title span{color:var(--cyan)}.brand-sub{font-size:.68rem;color:#8ba3c7;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.topbar{height:76px;background:rgba(5,20,46,.96);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50;box-shadow:0 8px 28px rgba(3,16,38,.18);backdrop-filter:blur(14px)}.top-actions{display:flex;align-items:center;gap:12px}.pill{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 12px;font-size:.82rem;background:rgba(255,255,255,.07)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));font-weight:900;color:white;border:2px solid rgba(255,255,255,.25)}
.shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 76px)}.sidebar{background:#081a39;color:#dbeafe;padding:24px 16px;position:sticky;top:76px;height:calc(100vh - 76px)}.side-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#6f8ab3;font-weight:900;padding:8px 12px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:12px;margin:4px 0;color:#c7d7ef;font-weight:700;font-size:.92rem}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,rgba(5,188,233,.17),rgba(94,58,214,.12));color:white}.nav-icon{width:25px;text-align:center;color:#64d9f6}.side-foot{position:absolute;left:16px;right:16px;bottom:18px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px;font-size:.72rem;color:#6f8ab3}
.main{padding:32px;max-width:1500px;width:100%;margin:0 auto}.eyebrow{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--blue)}h1,h2,h3{line-height:1.15;margin:0}h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em}h2{font-size:1.55rem;letter-spacing:-.025em}.lead{color:var(--muted);font-size:1.03rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 16px}.section-head p{margin:6px 0 0;color:var(--muted)}
.hero{background:radial-gradient(circle at 90% 20%,rgba(5,188,233,.27),transparent 24%),radial-gradient(circle at 67% 90%,rgba(94,58,214,.18),transparent 26%),linear-gradient(135deg,#081c43,#0b3474);color:white;border-radius:28px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:270px;display:grid;grid-template-columns:1.45fr .75fr;gap:30px;align-items:center}.hero:after{content:"";position:absolute;inset:auto -80px -140px auto;width:350px;height:350px;border:50px solid rgba(255,255,255,.035);border-radius:50%}.hero .lead{color:#b7c8e6;max-width:690px}.hero-logo{width:min(220px,100%);justify-self:center;filter:drop-shadow(0 20px 25px rgba(0,0,0,.25))}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{border:0;border-radius:12px;padding:11px 17px;font-weight:850;display:inline-flex;align-items:center;gap:8px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--cyan),#39d2f4);color:#04203d;box-shadow:0 10px 25px rgba(5,188,233,.25)}.btn-white{background:white;color:#0a316d}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:white}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow2)}.stat strong{display:block;font-size:1.65rem;letter-spacing:-.04em}.stat span{color:var(--muted);font-size:.8rem;font-weight:700}.progress-track{height:8px;border-radius:20px;background:#e6edf7;overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .4s}
.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subject-card{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow2);transition:.18s;position:relative;overflow:hidden}.subject-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(13,54,113,.14);border-color:#b8d4f1}.subject-top{display:flex;justify-content:space-between;align-items:start;gap:14px}.subject-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef5ff;color:var(--blue);font-weight:950;font-size:1.05rem}.subject-card h3{font-size:1.03rem;margin-top:15px}.subject-meta{color:var(--muted);font-size:.8rem;margin:6px 0 14px}.tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5ff;color:#245eae;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.tag.natural{background:#e7faf3;color:#08775a}.tag.social{background:#fff2dc;color:#9a5e04}
.ai-panel{background:linear-gradient(135deg,#11174a,#34227b);color:white;border-radius:22px;padding:23px;position:relative;overflow:hidden}.ai-panel:before{content:"AI";position:absolute;right:-8px;top:-28px;font-size:9rem;font-weight:950;color:rgba(255,255,255,.035)}.ai-panel p{color:#cbd3f2}.ai-prompt{display:flex;gap:9px;margin-top:14px}.ai-prompt input{flex:1;background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:11px}.ai-response{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);font-size:.88rem;color:#dce5ff}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow2)}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.8rem;color:var(--muted);margin-bottom:16px}.course-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.course-badge{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf2ff,#e9fcff);font-size:1.6rem;color:var(--blue);font-weight:950}.unit-list{display:grid;gap:10px;margin-top:18px}.unit-row{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:16px;padding:14px 16px;transition:.15s}.unit-row:hover{border-color:#a9c9ed;box-shadow:var(--shadow2)}.unit-number{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eef5ff;color:var(--blue);font-weight:900}.unit-row.done .unit-number{background:#e4f8f1;color:var(--success)}.unit-title{font-weight:800}.unit-sub{font-size:.76rem;color:var(--muted)}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.lesson-card{background:white;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow2)}.lesson-card h1{font-size:2.3rem}.lesson-card h2{margin:28px 0 11px}.objective-list,.key-list{padding-left:19px}.objective-list li,.key-list li{margin:7px 0}.callout{border-left:4px solid var(--cyan);background:#eefbff;padding:14px 16px;border-radius:0 13px 13px 0;margin:18px 0}.lesson-nav{display:flex;justify-content:space-between;gap:10px;margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.sticky{position:sticky;top:98px;align-self:start}.toc a{display:block;padding:8px 0;color:var(--muted);font-size:.85rem;border-bottom:1px solid #eff3f8}.toc a:hover{color:var(--blue)}
.quiz-card{background:white;border:1px solid var(--line);border-radius:22px;padding:26px;max-width:850px;margin:0 auto;box-shadow:var(--shadow)}.quiz-option{display:block;width:100%;text-align:left;padding:14px 15px;margin:9px 0;border:1px solid var(--line);background:white;border-radius:12px;font-weight:700}.quiz-option:hover{border-color:#8dbbe9;background:#f8fbff}.quiz-option.selected{border-color:var(--blue);background:#eef5ff}.quiz-progress{height:7px;background:#e8edf5;border-radius:10px;overflow:hidden;margin:15px 0 24px}.quiz-progress div{height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan))}.score-ring{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;margin:10px auto 20px;background:conic-gradient(var(--cyan) var(--score),#e8edf5 0);position:relative}.score-ring:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:white}.score-ring strong{position:relative;z-index:1;font-size:1.7rem}
.login-page{min-height:100vh;background:#04142f;display:grid;grid-template-columns:1.05fr .95fr;color:white}.login-visual{position:relative;overflow:hidden;padding:55px clamp(34px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 16%,rgba(5,188,233,.25),transparent 25%),radial-gradient(circle at 80% 80%,rgba(94,58,214,.28),transparent 30%),linear-gradient(145deg,#051a3b,#061d46 55%,#10185b)}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-220px;top:140px;box-shadow:0 0 0 65px rgba(255,255,255,.018),0 0 0 135px rgba(255,255,255,.012)}.login-brand{position:relative;z-index:2}.login-logo{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 25px 38px rgba(0,0,0,.25));margin:15px 0}.login-visual h1{font-size:clamp(2.5rem,5vw,5rem);max-width:750px}.login-visual h1 span{background:linear-gradient(90deg,#55ddff,#a692ff);-webkit-background-clip:text;background-clip:text;color:transparent}.login-visual p{max-width:660px;color:#b6cae7}.trust-row{display:flex;gap:24px;flex-wrap:wrap;color:#8fa8ce;font-size:.78rem;font-weight:800;position:relative;z-index:2}.trust-row b{color:#e2edff}.login-side{background:#f7f9fd;color:var(--ink);display:grid;place-items:center;padding:35px}.login-card{width:min(470px,100%);background:white;border:1px solid #dce5f3;border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(1,18,53,.22)}.login-card .mini-brand{display:none}.login-card h2{font-size:1.9rem}.field{margin:15px 0}.field label{display:block;font-size:.78rem;font-weight:850;margin-bottom:7px}.field input,.field select{width:100%;border:1px solid #ccd8e8;border-radius:12px;padding:13px 14px;outline:none;background:white}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,76,190,.10)}.grade-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:9px 0 18px}.grade-btn{border:1px solid #ccd8e8;background:white;border-radius:12px;padding:11px 4px;font-weight:900;color:#37506f}.grade-btn.active{border-color:var(--blue);background:linear-gradient(135deg,#eef5ff,#e9fbff);color:var(--blue);box-shadow:0 8px 18px rgba(11,76,190,.10)}.login-submit{width:100%;justify-content:center;padding:13px;margin-top:6px}.login-error{background:#fff0f2;color:#b42335;border:1px solid #ffd0d6;border-radius:10px;padding:10px 12px;font-size:.8rem;margin:10px 0}.login-note{font-size:.72rem;color:#718096;text-align:center;margin-top:16px}.password-wrap{position:relative}.password-wrap input{padding-right:55px}.password-toggle{position:absolute;right:8px;top:8px;border:0;background:#edf3fb;border-radius:8px;padding:5px 8px;font-size:.7rem;font-weight:800;color:#415675}
.modal{position:fixed;inset:0;background:rgba(2,12,30,.65);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{background:white;width:min(560px,100%);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.toast{position:fixed;right:24px;bottom:24px;background:#0b254e;color:white;padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);z-index:200;font-size:.84rem}
.footer{margin-top:36px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;display:flex;justify-content:space-between;gap:20px}.footer b{color:#304563}
@media(max-width:1050px){.shell{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.nav-item{justify-content:center}.nav-item span:not(.nav-icon),.side-label,.side-foot{display:none}.subject-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-visual{min-height:330px;padding:32px}.login-logo{width:100px;height:100px}.login-visual h1{font-size:2.5rem}.login-side{padding:28px}.trust-row{display:none}}
@media(max-width:760px){.topbar{padding:0 15px;height:68px}.topbar .brand-sub,.pill{display:none}.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:64px;z-index:60;padding:7px;display:flex;justify-content:space-around}.nav-item{margin:0;padding:8px 12px}.nav-item:nth-of-type(n+6){display:none}.main{padding:20px 14px 86px}.hero{grid-template-columns:1fr;padding:24px}.hero-logo{display:none}.stats{grid-template-columns:repeat(2,1fr)}.subject-grid{grid-template-columns:1fr}.lesson-layout{grid-template-columns:1fr}.sticky{display:none}.course-head{grid-template-columns:1fr}.login-visual{display:none}.login-side{min-height:100vh;padding:18px}.login-card{padding:24px}.login-card .mini-brand{display:flex;margin-bottom:24px}.footer{flex-direction:column}.unit-row{grid-template-columns:40px 1fr}.unit-row .btn{grid-column:2}}

/* =========================================================
   GeMax EduTech 2.0 — Administrator CMS & Exam Center
   ========================================================= */
textarea{font:inherit;resize:vertical}.field textarea,.field select{width:100%;border:1px solid #ccd8e8;border-radius:12px;padding:12px 14px;outline:none;background:#fff;color:var(--ink)}.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,76,190,.10)}.field small{display:block;margin-top:5px;color:#73839b;font-size:.72rem}.muted{color:var(--muted);font-size:.82rem}.nav-button{width:100%;border:0;background:transparent;text-align:left}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-title-row .lead{max-width:820px;margin-bottom:0}.compact{margin:0 0 18px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.modal-x{width:36px;height:36px;border:0;background:#eef3fa;border-radius:10px;font-size:1.35rem;color:#50637e}.modal-wide{width:min(880px,96vw);max-height:92vh;overflow:auto}.modal-xl{width:min(1120px,97vw);max-height:94vh;overflow:auto}.span2{grid-column:span 2}.span3{grid-column:1/-1}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 14px}.scope-grid .field{margin:8px 0}.admin-topbar{background:linear-gradient(90deg,#06142f,#091f48)}.admin-sidebar{background:linear-gradient(180deg,#06152f,#071d41)}.admin-hero{min-height:250px}.security-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(90deg,#8a3b06,#c25b0a);color:#fff;border-radius:18px;padding:18px 22px;margin:18px 0;box-shadow:var(--shadow2)}.security-banner div{display:grid;gap:2px}.security-banner span{font-size:.82rem;color:#ffe0c1}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:24px}.workflow-list{display:grid;gap:12px}.workflow-list>div{display:grid;grid-template-columns:42px 1fr;column-gap:12px;padding:12px;border:1px solid #e3eaf4;border-radius:14px;background:#fbfdff}.workflow-list>div>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaf4ff;color:var(--blue);font-weight:900}.workflow-list p{margin:2px 0 0;color:var(--muted);font-size:.8rem}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.metric-row div{padding:14px;border:1px solid var(--line);border-radius:14px;text-align:center;background:#f8fbff}.metric-row b{display:block;font-size:1.45rem}.metric-row span{font-size:.72rem;color:var(--muted)}.admin-filterbar{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:12px;border-radius:16px;margin-bottom:16px;box-shadow:var(--shadow2)}.admin-filterbar select,.admin-filterbar input{border:1px solid #d4deec;border-radius:10px;padding:10px 12px;background:#fff;min-width:150px}.admin-filterbar input{flex:1}.table-panel{padding:0;overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th{background:#f3f7fc;color:#53657c;text-transform:uppercase;letter-spacing:.06em;font-size:.67rem;text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}.admin-table td{padding:13px 14px;border-bottom:1px solid #edf1f7;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table td small{display:block;color:var(--muted);margin-top:3px}.resource-cell{display:flex;align-items:center;gap:10px;min-width:250px}.file-badge,.mini-file{display:inline-grid;place-items:center;border-radius:9px;font-weight:900;letter-spacing:.04em}.file-badge{min-width:46px;height:38px;font-size:.67rem}.file-badge.pdf,.mini-file.pdf{background:#fff0f1;color:#c51d30}.file-badge.doc,.file-badge.docx,.mini-file.doc,.mini-file.docx{background:#eaf3ff;color:#1761bf}.file-badge.tex,.mini-file.tex{background:#f0edff;color:#5e3ad6}.file-badge.png,.file-badge.jpg,.file-badge.jpeg,.mini-file.png,.mini-file.jpg,.mini-file.jpeg{background:#eafff7;color:#057c57}.status-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.status-chip.published{background:#e7f8f1;color:#08724f}.status-chip.draft{background:#eef1f5;color:#59677a}.status-chip.review{background:#fff1d7;color:#9c6200}.row-actions{display:flex;align-items:center;gap:5px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;display:grid;place-items:center;font-weight:900;color:#36516f}.icon-btn:hover{background:#f2f7fd}.icon-btn.danger{color:#bd2438}.empty-cell{text-align:center!important;color:var(--muted);padding:32px!important}.success-text{color:#08724f!important}.danger-text{color:#b42335!important}.latex-info{margin-top:18px;display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:start;background:linear-gradient(135deg,#f7f5ff,#f3fbff)}.latex-icon{width:74px;height:74px;border-radius:20px;background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:900}.drop-zone{border:2px dashed #9fb5d3;border-radius:18px;padding:24px;display:grid;place-items:center;text-align:center;background:#f8fbff;margin:15px 0;transition:.15s}.drop-zone:hover,.drop-zone.drag{border-color:var(--cyan);background:#effbff}.drop-icon{font-size:2rem;color:var(--blue)}.drop-zone>b{margin:4px 0}.drop-zone>span{font-size:.75rem;color:var(--muted)}.file-list{display:grid;gap:4px;margin-top:10px}.file-list span{font-size:.75rem;color:#3e5573;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px}.publish-check{display:flex;gap:10px;align-items:flex-start;background:#f6f9fd;border:1px solid var(--line);border-radius:13px;padding:12px}.publish-check input{margin-top:4px}.publish-check span{display:grid}.publish-check small{color:var(--muted)}.upload-progress{margin:14px 0}.upload-progress>div:first-child{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:6px}.admin-login-separator{height:1px;background:var(--line);margin:18px 0}.form-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.form-section-title p{color:var(--muted);margin:.4rem 0 0;font-size:.86rem}.assessment-switches{display:flex;gap:20px;flex-wrap:wrap;padding:12px 0}.assessment-switches label{font-weight:750;font-size:.82rem}.disabled-section{opacity:.55;pointer-events:none}.answer-editor{background:#f7f9fd;border:1px solid var(--line);border-radius:15px;padding:14px;margin:10px 0}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.question-admin-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.question-admin-row:last-child{border-bottom:0}.q-number{width:36px;height:36px;border-radius:10px;background:#edf4ff;display:grid;place-items:center;font-weight:900;color:var(--blue)}.q-body{display:grid;gap:5px}.q-body small{color:var(--muted)}.question-type-chip,.difficulty-chip{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-right:5px}.question-type-chip{background:#eaf4ff;color:#0b4cbe}.difficulty-chip.easy{background:#e8f8f1;color:#08724f}.difficulty-chip.medium{background:#fff3da;color:#986000}.difficulty-chip.hard{background:#ffebee;color:#ac2032}.assessment-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.assessment-admin-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow2)}.assessment-card-top,.exam-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.assessment-admin-card h3,.exam-card h3{margin:0 0 6px;font-size:1.05rem}.assessment-admin-card>p,.exam-card>p{color:var(--muted);font-size:.79rem}.assessment-kind{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:#eaf4ff;color:#0b4cbe}.assessment-kind.final_exam{background:linear-gradient(135deg,#f0eaff,#e5f7ff);color:#5328b4}.assessment-kind.exam{background:#fff0dc;color:#975c00}.assessment-kind.practical{background:#e8faf2;color:#08724f}.assessment-kind.test{background:#edf1ff;color:#404ab9}.assessment-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.assessment-metrics span{background:#f7f9fd;border-radius:10px;padding:8px;text-align:center;font-size:.65rem;color:var(--muted)}.assessment-metrics b{display:block;color:var(--ink);font-size:.9rem}.card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.review-question-list{display:grid;gap:13px}.review-question{border:1px solid var(--line);border-radius:15px;padding:14px}.review-qhead{display:flex;justify-content:space-between;gap:14px}.review-qhead span{white-space:nowrap;color:var(--muted);font-size:.72rem}.student-response{background:#f7f9fc;border-radius:11px;padding:10px 12px;margin:10px 0}.student-response small{color:var(--muted);font-weight:800;text-transform:uppercase}.student-response p{white-space:pre-wrap;margin:4px 0}.grading-grid{display:grid;grid-template-columns:160px 1fr;gap:10px}.marking-guide{background:#fffbe8;border-left:4px solid #e5af25;padding:10px 12px;border-radius:8px}.marking-guide p{margin:4px 0;font-size:.8rem}.auto-grade{padding:10px;border-radius:10px;font-size:.8rem}.auto-grade.correct{background:#eaf9f2;color:#086a4b}.auto-grade.incorrect{background:#fff0f2;color:#a42134}.auto-grade p{margin:4px 0 0}.empty-state{text-align:center;padding:42px}.empty-state.compact{padding:24px}.empty-state p{color:var(--muted)}

/* Student resources */
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.resource-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:var(--shadow2)}.resource-card:hover{border-color:#a9c5e7;transform:translateY(-1px)}.resource-card-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-weight:900;font-size:.68rem}.resource-card-icon.pdf{background:#fff0f2;color:#b42335}.resource-card-icon.tex{background:#efedff;color:var(--violet)}.resource-card-icon.png,.resource-card-icon.jpg,.resource-card-icon.jpeg{background:#e8faf2;color:#08724f}.resource-kind{font-size:.62rem;font-weight:900;text-transform:uppercase;color:var(--blue)}.resource-card h3{font-size:.96rem;margin:2px 0}.resource-card p{font-size:.77rem;color:var(--muted);margin:3px 0}.resource-card small{font-size:.68rem;color:#8491a3}.resource-arrow{font-size:1.2rem;color:#8398b6}.unit-block{background:#fff;border:1px solid var(--line);border-radius:16px;margin:9px 0;overflow:hidden}.unit-block .unit-row{border:0;border-radius:0;margin:0;box-shadow:none}.unit-resource-strip,.unit-assessment-strip{border-top:1px solid #edf2f7;background:#f8fbff;padding:8px 16px 10px 70px;display:grid;gap:6px}.unit-resource-strip a,.unit-assessment-strip a{display:grid;grid-template-columns:46px 1fr auto;gap:8px;align-items:center;padding:7px 9px;border-radius:9px}.unit-resource-strip a:hover,.unit-assessment-strip a:hover{background:#fff}.mini-file{width:40px;height:28px;font-size:.58rem}.unit-resource-strip b,.unit-assessment-strip b{font-size:.78rem}.unit-resource-strip small,.unit-assessment-strip span:last-child{font-size:.68rem;color:var(--muted)}.unit-assessment-strip a{grid-template-columns:auto 1fr auto}.resource-main{max-width:1600px}.resource-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}.resource-header p{color:var(--muted);margin:.5rem 0}.resource-meta{display:flex;gap:8px;flex-wrap:wrap}.resource-meta span{font-size:.68rem;background:#f0f4f9;border-radius:999px;padding:5px 8px;color:#5d6f85}.resource-viewer-shell{background:#d8e0ea;border-radius:18px;padding:10px;min-height:500px}.document-frame{width:100%;height:calc(100vh - 205px);min-height:720px;border:0;border-radius:11px;background:#fff}.image-viewer{background:#fff;border-radius:11px;display:grid;place-items:center;padding:24px;min-height:600px}.image-viewer img{max-width:100%;max-height:82vh;object-fit:contain}.docx-viewer{display:grid;place-items:start center;padding:25px;max-height:80vh;overflow:auto}.document-paper{width:min(820px,100%);min-height:1000px;background:#fff;padding:72px 76px;box-shadow:0 10px 35px rgba(0,0,0,.15);font-family:Georgia,'Times New Roman',serif;line-height:1.7}.document-paper p{margin:0 0 1em}.source-details{background:#fff;margin-top:10px;border-radius:11px;padding:12px}.source-details summary{font-weight:850;cursor:pointer}.source-details pre,.tex-source{overflow:auto;background:#071426;color:#dceafe;border-radius:10px;padding:16px;font-size:.75rem;line-height:1.55}.unsupported-viewer{background:#fff;border-radius:11px;min-height:500px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.file-big-icon{width:100px;height:100px;border-radius:24px;background:#eaf3ff;color:#1761bf;display:grid;place-items:center;font-size:1.2rem;font-weight:900}.warning-callout{background:#fff8e7;border-color:#f1cf7c}

/* Student Exam Center */
.exam-ready-banner{margin:20px 0;background:linear-gradient(120deg,#4e2ab5,#0b4cbe 65%,#059ec4);color:#fff;border-radius:20px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow2)}.exam-ready-banner h2{margin:8px 0 4px}.exam-ready-banner p{margin:0;color:#cfe2ff;font-size:.85rem}.exam-hero{background:radial-gradient(circle at 85% 25%,rgba(5,188,233,.28),transparent 24%),linear-gradient(135deg,#061a3d,#112a70 65%,#44218c);color:#fff;border-radius:26px;padding:30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px}.exam-hero p{color:#c3d2eb;max-width:720px}.exam-hero-mark{width:160px;height:160px;border-radius:50%;border:8px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}.exam-hero-mark span{font-size:.65rem;letter-spacing:.18em}.exam-hero-mark b{font-size:1.9rem}.exam-hero-mark small{color:#87dcf4}.exam-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0}.exam-tabs{display:flex;gap:6px;flex-wrap:wrap}.exam-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-weight:800;font-size:.72rem;color:#53657c}.exam-tabs button.active{background:#0b2e67;color:#fff;border-color:#0b2e67}.exam-toolbar select{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 12px}.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.compact-grid{grid-template-columns:repeat(2,1fr)}.exam-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow2)}.exam-card.featured{border-color:#baaaf0;background:linear-gradient(145deg,#fff,#faf8ff)}.exam-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.exam-facts span{font-size:.65rem;color:var(--muted);text-align:center;background:#f6f9fd;border-radius:10px;padding:8px 4px}.exam-facts b{display:block;color:var(--ink);font-size:.9rem}.exam-attempt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.exam-attempt-row small{color:var(--muted)}.assessment-intro{max-width:900px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.assessment-intro-main>h1{margin:10px 0}.assessment-rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.assessment-rule-grid div{background:#f5f8fc;border:1px solid #e5ebf3;border-radius:13px;padding:13px;text-align:center}.assessment-rule-grid b{display:block;font-size:1.35rem}.assessment-rule-grid span{font-size:.68rem;color:var(--muted)}.exam-start-note{border-top:1px solid var(--line);margin:18px 0;padding-top:14px}.exam-start-note ul{color:var(--muted);font-size:.83rem}.btn-large{padding:14px 21px;font-size:1rem}.assessment-shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:270px 1fr;background:#eef3f9}.assessment-nav{background:#071b3d;color:#dce9fa;padding:22px 16px;position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column}.assessment-nav-title{display:grid;gap:4px;padding:4px 5px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.assessment-nav-title small{color:#75cdec;text-transform:uppercase;font-weight:900}.question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:16px 0;overflow:auto}.question-palette button{aspect-ratio:1;border:1px solid rgba(255,255,255,.15);background:#102c58;color:#bdd0e9;border-radius:8px;font-weight:900}.question-palette button.answered{background:#125c56;color:#d9fff2}.question-palette button.active{outline:2px solid #52d8f7;background:#174784;color:#fff}.assessment-nav-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;display:grid;gap:8px;font-size:.74rem}.assessment-nav-bottom a{color:#8fc9e8}.assessment-work{padding:22px 30px;max-width:1050px;width:100%;margin:0 auto}.assessment-workbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.assessment-workbar>div:first-child{display:flex;gap:10px;color:var(--muted);font-size:.82rem}.exam-timer{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:900;background:#071b3d;color:#fff;border-radius:10px;padding:7px 11px;letter-spacing:.05em}.exam-timer.warning{background:#b52a3d}.question-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow2)}.question-card h2{font-size:1.35rem;margin:14px 0 22px;white-space:pre-wrap}.question-meta{display:flex;gap:6px}.assessment-options{display:grid;gap:9px}.assessment-options.two{grid-template-columns:repeat(2,1fr)}.assessment-option{border:1px solid var(--line);border-radius:13px;padding:13px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;cursor:pointer}.assessment-option input{display:none}.assessment-option>span{width:32px;height:32px;border-radius:9px;background:#edf3fa;display:grid;place-items:center;font-weight:900}.assessment-option:hover,.assessment-option.selected{border-color:#72a5de;background:#f2f7fd}.assessment-option.selected>span{background:#0b4cbe;color:#fff}.assessment-input{display:grid;gap:8px}.assessment-input>label{font-size:.74rem;font-weight:900}.assessment-input input,.assessment-input textarea{border:1px solid #cad7e7;border-radius:12px;padding:13px;font:inherit}.assessment-input small{color:var(--muted)}.assessment-controls{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.assessment-controls>div{display:flex;gap:8px}.assessment-result{text-align:center;margin-top:25px}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.student-history td:first-child{min-width:220px}

@media(max-width:1180px){.assessment-admin-grid,.exam-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}}
@media(max-width:900px){.scope-grid{grid-template-columns:1fr 1fr}.span3{grid-column:1/-1}.assessment-shell{grid-template-columns:1fr}.assessment-nav{position:static;height:auto}.question-palette{grid-template-columns:repeat(10,1fr)}.assessment-nav-bottom{display:none}.exam-hero{grid-template-columns:1fr}.exam-hero-mark{display:none}.assessment-work{padding:16px}.grading-grid{grid-template-columns:1fr}.assessment-admin-grid,.exam-grid,.compact-grid{grid-template-columns:1fr}.admin-filterbar{flex-wrap:wrap}.admin-filterbar input{min-width:100%}.resource-header{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.page-title-row{align-items:flex-start;flex-direction:column}.scope-grid{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.security-banner,.exam-ready-banner{align-items:flex-start;flex-direction:column}.latex-info{grid-template-columns:1fr}.assessment-rule-grid{grid-template-columns:repeat(2,1fr)}.exam-toolbar{align-items:stretch;flex-direction:column}.question-palette{grid-template-columns:repeat(6,1fr)}.assessment-options.two{grid-template-columns:1fr}.assessment-work{padding:10px}.question-card{padding:18px}.assessment-controls{align-items:stretch;flex-direction:column}.assessment-controls>div{justify-content:flex-end}.document-paper{padding:36px 25px}.resource-viewer-shell{padding:5px}.document-frame{min-height:600px}.unit-resource-strip,.unit-assessment-strip{padding-left:12px}.admin-table{min-width:760px}.modal{padding:8px}}

/* GeMax EduTech 2.2 — LaTeX assessment question authoring/rendering */
.latex-question-feature-note{display:grid;grid-template-columns:auto 1fr auto;gap:10px 16px;align-items:center;border:1px solid #d9d2fb;background:linear-gradient(120deg,#faf8ff,#f3fbff);border-radius:15px;padding:13px 15px;margin:12px 0 18px}.latex-question-feature-note b{color:#4e2ab5}.latex-question-feature-note span{font-size:.78rem;color:#60718a}.latex-question-feature-note a{font-size:.74rem;font-weight:850;color:var(--blue)}
.authoring-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.authoring-mode-card{position:relative;border:1px solid #d9e2ee;border-radius:16px;padding:14px 15px 14px 58px;display:grid;gap:2px;cursor:pointer;background:#fff;transition:.15s}.authoring-mode-card:has(input:checked){border-color:#6e8ed8;background:linear-gradient(135deg,#f5f8ff,#fbf8ff);box-shadow:0 0 0 3px rgba(32,90,190,.08)}.authoring-mode-card input{position:absolute;right:12px;top:12px}.authoring-mode-card small{color:var(--muted);font-size:.72rem}.authoring-mode-icon{position:absolute;left:14px;top:14px;width:34px;height:34px;border-radius:10px;background:#eaf3ff;color:#1457ad;display:grid;place-items:center;font-weight:950}.authoring-mode-icon.latex{background:#efeaff;color:#5c36c5;font-size:1.2rem}
.latex-question-editor{border:1px solid #d9d2fb;border-radius:18px;padding:18px;margin:16px 0;background:linear-gradient(155deg,#fcfbff,#f6fbff)}.latex-package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.latex-package-head h3{margin:3px 0 5px}.latex-package-head p{margin:0;color:var(--muted);font-size:.78rem;max-width:700px}.latex-package-head code,.latex-package-guidance code{background:#ece8ff;color:#4e2ab5;padding:2px 5px;border-radius:5px}.latex-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.latex-file-drop{border:2px dashed #a9b9d5;border-radius:16px;min-height:135px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;padding:15px;background:#fff;cursor:pointer;position:relative}.latex-file-drop:hover{border-color:#587cc5;background:#f8fbff}.latex-file-drop input{max-width:100%;font-size:.72rem;margin-top:5px}.latex-file-drop small{color:var(--muted);font-size:.68rem}.latex-upload-symbol{width:38px;height:38px;border-radius:11px;background:#edf1ff;color:#593bc2;display:grid;place-items:center;font-size:1.25rem;font-weight:950}.latex-existing-assets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.latex-existing-assets>span:not(.muted){font-size:.65rem;background:#eef3f9;border:1px solid #dce5ef;border-radius:999px;padding:5px 8px;color:#425975}.latex-compile-box{display:grid;gap:4px;border:1px solid #e0e6ef;background:#fff;border-radius:12px;padding:10px 12px;margin:10px 0;font-size:.74rem}.latex-compile-box span{color:var(--muted)}.latex-compile-box.ok{border-color:#a8dfca;background:#f3fcf8}.latex-compile-box.bad{border-color:#efb7bf;background:#fff7f8}.latex-compile-box a{font-weight:850;color:var(--blue)}.latex-package-guidance{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid #e7e6f2;margin-top:12px;padding-top:12px;font-size:.7rem;color:var(--muted)}.latex-package-guidance b{color:#3d4f68}.upload-progress-note{margin:10px 0;border-radius:10px;background:#eaf7ff;color:#145c88;padding:9px 11px;font-size:.75rem;font-weight:750}.latex-admin-preview{background:#e8edf4;border-radius:13px;padding:10px;display:grid;place-items:center;max-height:430px;overflow:auto}.latex-admin-preview img{max-width:100%;max-height:400px;border-radius:6px;background:#fff;box-shadow:0 4px 18px rgba(10,30,60,.13)}
.question-card-latex{max-width:100%}.question-plain-prompt{font-size:1.35rem;margin:14px 0 22px;white-space:pre-wrap}.latex-chip{background:#f0ebff!important;color:#5e35c5!important}.latex-question-student{margin:16px 0;border:1px solid #d5deea;border-radius:15px;background:#e9eef5;padding:10px;display:grid;gap:10px;justify-items:center;overflow:auto}.latex-question-page{display:block;width:min(100%,920px);height:auto;background:#fff;border-radius:5px;box-shadow:0 5px 20px rgba(6,20,47,.14)}.latex-question-student.pdf-fallback{display:block;padding:6px}.latex-question-frame{width:100%;height:720px;border:0;border-radius:9px;background:#fff}.latex-question-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-5px 0 18px;color:var(--muted);font-size:.68rem}.latex-question-tools a{font-weight:850;color:var(--blue)}.latex-student-fallback{border:1px solid #efcc75;background:#fff9e9;border-radius:13px;padding:14px;margin:14px 0}.latex-student-fallback p{margin:4px 0 0;color:#765d20;font-size:.8rem}.answer-separator{position:relative;border-top:1px solid #e1e7ef;margin:21px 0 17px;text-align:center}.answer-separator span{position:relative;top:-10px;background:#fff;padding:0 10px;color:#64758b;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.latex-answer-options{grid-template-columns:repeat(2,minmax(0,1fr))}.latex-answer-options .assessment-option{min-height:58px}
@media(max-width:900px){.latex-question-feature-note{grid-template-columns:1fr}.latex-upload-grid{grid-template-columns:1fr}.latex-package-head{flex-direction:column}.latex-question-frame{height:620px}}
@media(max-width:650px){.authoring-mode-grid{grid-template-columns:1fr}.latex-answer-options{grid-template-columns:1fr}.latex-question-student{padding:4px;border-radius:9px}.latex-question-tools{align-items:flex-start;flex-direction:column}.latex-question-frame{height:520px}}
.review-latex-question{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start;min-width:0}.review-latex-question img{width:150px;max-height:190px;object-fit:contain;background:#fff;border:1px solid #dce4ee;border-radius:7px}.review-latex-question>div{display:grid;gap:6px}.review-latex-question a{font-size:.7rem;color:var(--blue);font-weight:850}@media(max-width:650px){.review-latex-question{grid-template-columns:1fr}.review-latex-question img{width:100%;max-height:260px}}

/* GeMax EduTech 2.4 — Users, staff roles and access management */
.staff-pill{display:flex;align-items:center;gap:4px}.users-main{min-width:0}.user-head-actions{display:flex;gap:9px;flex-wrap:wrap}.user-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.user-summary article{background:linear-gradient(145deg,#fff,#f6f9fd);border:1px solid var(--line);border-radius:16px;padding:17px 18px;box-shadow:var(--shadow2);display:grid;gap:2px}.user-summary b{font-size:1.55rem;color:#092a5e}.user-summary span{font-size:.72rem;color:var(--muted);font-weight:750}.users-toolbar{padding:0;overflow:hidden}.user-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 14px}.user-tab{border:0;background:transparent;padding:15px 18px;font:inherit;font-size:.78rem;font-weight:850;color:#63748a;cursor:pointer;border-bottom:3px solid transparent}.user-tab.active{color:#0b4cbe;border-bottom-color:#1dc5e8}.user-filters{display:flex;gap:8px;padding:13px 15px;align-items:center;flex-wrap:wrap}.user-filters input,.user-filters select{border:1px solid #cad7e7;border-radius:10px;padding:10px 12px;background:#fff;font:inherit;font-size:.78rem}.user-filters input{min-width:300px;flex:1}.export-menu{display:flex;gap:6px;margin-left:auto}.user-table-panel{padding:0;overflow:auto}.user-table{min-width:930px}.identity-cell{display:flex;align-items:center;gap:10px;min-width:240px}.identity-cell>div{display:grid;gap:2px}.identity-cell small,.user-table td small{display:block;color:var(--muted);font-size:.67rem;margin-top:2px}.user-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:950;background:linear-gradient(145deg,#174d96,#092954);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.user-avatar.teacher{background:linear-gradient(145deg,#5a35b8,#30206e)}.user-avatar.admin{background:linear-gradient(145deg,#087c95,#06465d)}.user-avatar.large{width:56px;height:56px;border-radius:17px;font-size:1.25rem}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.text-btn{border:0;background:transparent;color:#175ab4;font:inherit;font-weight:800;font-size:.7rem;cursor:pointer;padding:7px}.text-btn:hover{text-decoration:underline}.assignment-chips{display:flex;gap:5px;flex-wrap:wrap;max-width:500px}.assignment-chip{font-size:.62rem;border:1px solid #d8e2ef;border-radius:999px;background:#f3f7fb;padding:5px 7px;color:#425a76;white-space:nowrap}.assignment-more{font-size:.62rem;background:#e8f7fb;color:#07738a;border-radius:999px;padding:5px 7px;font-weight:850}.permission-count{font-size:.68rem;background:#f0ecff;color:#5732b1;border-radius:999px;padding:6px 8px;font-weight:800}.access-policy{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin-top:17px}.access-policy-icon{width:48px;height:48px;border-radius:15px;background:#e9f5ff;color:#1257a8;display:grid;place-items:center;font-size:1.4rem}.access-policy h2{font-size:1.05rem;margin:2px 0}.access-policy p{margin:0;color:var(--muted);font-size:.77rem}.user-editor-modal{width:min(860px,96vw);max-height:92vh;overflow:auto}.compact-modal{width:min(610px,94vw)}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span2{grid-column:1/-1}.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 9px;padding-top:15px;border-top:1px solid var(--line)}.subsection-head>div{display:grid;gap:2px}.subsection-head small{font-size:.68rem;color:var(--muted)}.btn-small{padding:7px 10px;font-size:.7rem}.assignment-builder{display:grid;gap:8px}.assignment-row{display:grid;grid-template-columns:80px 150px 1.4fr 1fr 36px;gap:7px;align-items:center;border:1px solid #dce5ef;border-radius:12px;padding:8px;background:#f9fbfd}.assignment-row select,.assignment-row input{width:100%;min-width:0;border:1px solid #cad7e7;border-radius:8px;padding:8px;font:inherit;font-size:.7rem;background:#fff}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 14px}.permission-card{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;border:1px solid #dce4ef;border-radius:11px;padding:10px;background:#fff;cursor:pointer}.permission-card:has(input:checked){border-color:#91b0df;background:#f5f9ff}.permission-card span{display:grid;gap:2px}.permission-card b{font-size:.69rem;text-transform:capitalize}.permission-card small{font-size:.62rem;color:var(--muted);line-height:1.35}.credential-result{margin:13px 0;border:1px solid #93dac4;border-radius:12px;background:#f2fcf8;padding:13px;display:grid;gap:4px}.credential-result span,.credential-result small{font-size:.67rem;color:#477064}.credential-result b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;letter-spacing:.03em;color:#0b5542}.template-links{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.bulk-drop{border:2px dashed #a8bdd8;border-radius:15px;background:#f8fbff;min-height:150px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;padding:16px;cursor:pointer}.bulk-drop>span{font-size:1.5rem;color:#1265be}.bulk-drop small{font-size:.66rem;color:var(--muted)}.bulk-drop input{margin-top:8px;max-width:100%}.import-result{margin-top:12px;border:1px solid #b5d7c9;background:#f5fcf9;border-radius:11px;padding:11px;display:grid;gap:3px}.import-result b{font-size:.78rem}.import-result span,.import-result details{font-size:.68rem;color:#536c63}.student-detail-modal{width:min(980px,96vw);max-height:92vh;overflow:auto}.student-detail-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:5px 0 14px;border-bottom:1px solid var(--line)}.student-detail-head h3{margin:0}.student-detail-head p{margin:3px 0 0;color:var(--muted);font-size:.72rem}.student-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.student-metric-grid article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f9fbfd;display:grid}.student-metric-grid b{font-size:1.15rem;color:#0a386f}.student-metric-grid span{font-size:.63rem;color:var(--muted)}.detail-section{margin-top:16px}.detail-section h3{margin:1px 0}.detail-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}.detail-table-wrap .admin-table{min-width:720px}.detail-table-wrap td small{display:block;color:var(--muted);font-size:.65rem}.hidden{display:none!important}
@media(max-width:1050px){.user-summary{grid-template-columns:1fr 1fr}.assignment-row{grid-template-columns:75px 130px 1fr 1fr 36px}.student-metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.user-head-actions{width:100%}.user-head-actions .btn{flex:1}.user-summary{grid-template-columns:1fr 1fr}.user-tabs{overflow:auto}.user-filters{align-items:stretch}.user-filters input{min-width:100%}.export-menu{margin-left:0}.form-grid.two,.permission-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.assignment-row{grid-template-columns:1fr 1fr}.assignment-row [data-a-subject],.assignment-row [data-a-section]{grid-column:1/-1}.student-detail-head{grid-template-columns:auto 1fr}.student-detail-head>.status-chip{grid-column:1/-1;width:max-content}.student-metric-grid{grid-template-columns:1fr 1fr}.access-policy{grid-template-columns:1fr}.access-policy-icon{display:none}}

/* GeMax EduTech 2.5 — Curriculum-grounded AI Tutor */
.tutor-main{min-width:0}.tutor-hero{background:linear-gradient(135deg,#081c43,#0d397c 62%,#17358f);border-radius:24px;padding:25px 28px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow);margin-bottom:18px}.tutor-hero p{margin:7px 0 0;color:#bfd0ec;max-width:780px}.tutor-shield{width:92px;height:92px;border-radius:28px;background:linear-gradient(145deg,#14c8ef,#5e3ad6);display:grid;place-items:center;text-align:center;font-size:1.65rem;font-weight:950;line-height:1;box-shadow:0 14px 30px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.28)}.tutor-shield small{font-size:.48rem;letter-spacing:.14em}.tutor-shield.admin{width:108px;height:108px}.tutor-layout{display:grid;grid-template-columns:315px minmax(0,1fr);gap:16px;align-items:start}.tutor-control-panel{position:sticky;top:95px}.tutor-control-panel h2{font-size:1.15rem;margin:4px 0 16px}.optional{font-size:.62rem;color:var(--muted);font-weight:600}.tutor-status{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fbff;display:grid;gap:3px}.tutor-status b{font-size:.76rem}.tutor-status b.ok{color:var(--success)}.tutor-status b.warn{color:#a56804}.tutor-status span,.tutor-status small{font-size:.65rem;color:var(--muted);line-height:1.4}.tutor-history-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px;font-size:.72rem}.mini-link{border:0;background:transparent;color:var(--blue);font:inherit;font-size:.65rem;font-weight:850;padding:0}.tutor-history{display:grid;gap:7px;max-height:300px;overflow:auto}.tutor-history-item{border:1px solid var(--line);border-radius:11px;background:#fff;padding:9px;text-align:left;display:grid;gap:2px}.tutor-history-item:hover{border-color:#9cbce2;background:#f8fbff}.tutor-history-item b{font-size:.69rem}.tutor-history-item span,.tutor-history-item small{font-size:.61rem;color:var(--muted)}.empty-mini{font-size:.66rem;color:var(--muted);padding:8px 0}.tutor-chat-panel{padding:0;overflow:hidden}.tutor-chat-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px 12px}.tutor-chat-head h2{font-size:1.22rem}.tutor-rule-strip{display:flex;gap:7px;flex-wrap:wrap;padding:0 22px 13px}.tutor-rule-strip span{font-size:.61rem;font-weight:800;color:#3f5b79;background:#f4f8fc;border:1px solid #e0e8f2;border-radius:999px;padding:5px 8px}.tutor-modes{display:flex;gap:6px;overflow:auto;padding:10px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfdff}.tutor-mode{white-space:nowrap;border:1px solid #d7e1ed;background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:.67rem;font-weight:820;color:#53687f}.tutor-mode.active{background:#eaf4ff;border-color:#8ab9e8;color:#0b4cbe}.tutor-messages{height:min(62vh,690px);min-height:430px;overflow:auto;padding:22px;background:linear-gradient(#fbfdff,#f6f9fd)}.tutor-empty{text-align:center;max-width:620px;margin:55px auto;color:var(--muted)}.tutor-empty-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#e8f8ff,#efeaff);display:grid;place-items:center;margin:0 auto 13px;color:#4c40c8;font-size:1.45rem}.tutor-empty h3{color:var(--ink);margin-bottom:7px}.tutor-examples{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:16px}.tutor-examples button{border:1px solid #ccd9e8;background:#fff;border-radius:10px;padding:8px 10px;font:inherit;font-size:.68rem;font-weight:800;color:#285588}.tutor-message{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin:0 0 16px;align-items:start}.tutor-message.user{grid-template-columns:minmax(0,1fr) 42px}.tutor-message.user .tutor-avatar{grid-column:2}.tutor-message.user .tutor-bubble{grid-column:1;grid-row:1;justify-self:end;background:#e9f5ff;border-color:#bdd9f3;max-width:78%}.tutor-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#0c3d84,#5e3ad6);color:#fff;font-size:.66rem;font-weight:950}.tutor-message.user .tutor-avatar{background:#183e68}.tutor-bubble{border:1px solid #dce5ef;border-radius:15px;background:#fff;padding:14px 16px;max-width:92%;box-shadow:0 5px 18px rgba(13,54,113,.06)}.tutor-body{font-size:.88rem;line-height:1.65;color:#17283b;overflow-wrap:anywhere}.tutor-body h3,.tutor-body h4{margin:10px 0 5px}.tutor-body .md-bullet{margin:3px 0}.tutor-body mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:3px 0}.tutor-sources{margin-top:13px;border-top:1px solid #e7edf5;padding-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tutor-sources>b{font-size:.6rem;color:#687a90;text-transform:uppercase;letter-spacing:.06em}.tutor-sources a{font-size:.62rem;border:1px solid #d7e2ef;border-radius:999px;padding:5px 8px;color:#1a5aa4;background:#f8fbff}.tutor-sources a span{font-weight:900;margin-right:4px}.tutor-composer{border-top:1px solid var(--line);padding:14px 16px;background:#fff}.tutor-composer textarea{width:100%;resize:vertical;min-height:76px;max-height:210px;border:1px solid #c9d7e8;border-radius:13px;padding:12px;font:inherit;outline:none}.tutor-composer textarea:focus{border-color:#75afe3;box-shadow:0 0 0 3px rgba(44,136,221,.09)}.tutor-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.tutor-compose-bottom span{font-size:.62rem;color:var(--muted)}.tutor-privacy{font-size:.61rem;color:#6b7d91;padding:0 18px 14px;margin:0}.tutor-dashboard-card{display:flex;align-items:center;justify-content:space-between;gap:25px}.tutor-dashboard-card>div{max-width:850px}.tutor-admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.toggle-line{display:grid;grid-template-columns:20px 1fr;gap:9px;border:1px solid #dbe5ef;border-radius:12px;padding:11px 12px;background:#f9fbfd;margin:9px 0 14px}.toggle-line span{display:grid;gap:2px}.toggle-line small{font-size:.65rem;color:var(--muted)}.check-line{display:flex;gap:7px;align-items:center;font-size:.68rem;color:var(--muted);margin-top:-3px}.form-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.inline-message{padding:9px 11px;border-radius:10px;background:#f0f8ff;border:1px solid #cce0f4;margin-top:10px;font-size:.7rem}.policy-box{white-space:pre-wrap;max-height:390px;overflow:auto;background:#071a35;color:#dce9fb;border-radius:14px;padding:16px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.tag.success{background:#e5f8f1;color:#087653}.tag.warn{background:#fff3d8;color:#9b6507}.empty-cell{text-align:center!important;color:var(--muted)!important;padding:28px!important}
@media(max-width:1050px){.tutor-layout{grid-template-columns:1fr}.tutor-control-panel{position:static}.tutor-admin-grid{grid-template-columns:1fr}.tutor-history{max-height:190px}.tutor-messages{height:58vh}.form-grid.three{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.tutor-hero{align-items:flex-start}.tutor-shield{width:70px;height:70px;border-radius:20px;font-size:1.2rem}.tutor-chat-head{align-items:flex-start;flex-direction:column}.tutor-messages{padding:13px;min-height:390px}.tutor-message,.tutor-message.user{grid-template-columns:32px minmax(0,1fr)}.tutor-message.user{grid-template-columns:minmax(0,1fr) 32px}.tutor-avatar{width:30px;height:30px;border-radius:9px;font-size:.55rem}.tutor-bubble,.tutor-message.user .tutor-bubble{max-width:100%;padding:11px 12px}.tutor-dashboard-card{align-items:flex-start;flex-direction:column}.form-grid.three{grid-template-columns:1fr}.tutor-rule-strip{display:none}}

/* GeMax EduTech 2.6 — Dedicated grade/subject RAG knowledge studio */
.rag-studio{border:1px solid #cbdcf1;background:linear-gradient(180deg,#fff,#f8fbff);position:relative;overflow:hidden}.rag-studio:before{content:"RAG";position:absolute;right:-8px;top:-30px;font-size:9rem;font-weight:950;color:rgba(33,99,180,.035);pointer-events:none}.rag-scope-grid{display:grid;grid-template-columns:110px 180px minmax(220px,1fr) minmax(260px,1.25fr);gap:10px;position:relative}.rag-meta-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:4px}.rag-drop-zone{margin-top:10px;border:1.5px dashed #94b6d9;border-radius:16px;background:#f7fbff;min-height:112px;padding:18px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;cursor:pointer;transition:.15s}.rag-drop-zone:hover,.rag-drop-zone.drag{border-color:#1974cf;background:#eef7ff;box-shadow:0 0 0 4px rgba(25,116,207,.06)}.rag-upload-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#0c61b7,#5a3ad0);color:#fff;font-size:1.55rem;font-weight:900}.rag-drop-zone>div:nth-child(3){display:grid;gap:3px}.rag-drop-zone b{font-size:.82rem}.rag-drop-zone span{font-size:.66rem;color:var(--muted)}.rag-file-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.rag-file-list>span{display:grid;gap:1px;border:1px solid #d5e2ef;border-radius:10px;background:#fff;padding:7px 10px;max-width:270px}.rag-file-list b{font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rag-file-list small{font-size:.6rem;color:var(--muted)}.rag-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px}.rag-upload-status{display:grid;gap:2px;min-height:32px}.rag-upload-status b{font-size:.72rem}.rag-upload-status span{font-size:.63rem;color:var(--muted)}.rag-priority-note{border:1px solid #d6e5f4;border-radius:12px;padding:10px 12px;margin-top:12px;background:#f8fbff;display:grid;gap:3px}.rag-priority-note b{font-size:.68rem;color:#0b4c92}.rag-priority-note span{font-size:.64rem;color:var(--muted);line-height:1.45}.rag-filter-actions{display:flex;gap:8px}.rag-filter-actions select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 10px;font:inherit;font-size:.68rem}.rag-chunk-count{display:inline-grid;place-items:center;min-width:38px;height:28px;border-radius:999px;font-size:.7rem;font-weight:900}.rag-chunk-count.ready{background:#e7f8f1;color:#087653}.rag-chunk-count.empty{background:#fff2dd;color:#9a6204}.rag-source-pill{font-size:.62rem;border:1px solid #d9d1f2;border-radius:999px;padding:5px 8px;color:#5539a4;background:#f7f3ff}.rag-source-pill>span{font-weight:900;margin-right:4px}.admin-table td small{display:block;color:var(--muted);font-size:.62rem;margin-top:2px}
@media(max-width:1100px){.rag-scope-grid{grid-template-columns:1fr 1fr}.rag-meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.rag-scope-grid,.rag-meta-grid{grid-template-columns:1fr}.rag-drop-zone{grid-template-columns:48px 1fr}.rag-drop-zone .btn{grid-column:1/-1}.rag-actions{align-items:stretch;flex-direction:column}.rag-actions .btn{width:100%;justify-content:center}.rag-filter-actions{width:100%}.rag-filter-actions select{flex:1}}

/* GeMax EduTech 3.1 — secure interactive question bank */
.qbank-main{max-width:1500px}.qbank-hero{background:radial-gradient(circle at 86% 15%,rgba(5,188,233,.24),transparent 28%),radial-gradient(circle at 72% 90%,rgba(94,58,214,.22),transparent 30%),linear-gradient(135deg,#071d43,#0b3c80);color:white;border-radius:28px;padding:32px 34px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;overflow:hidden}.qbank-hero .eyebrow{color:#77e4ff}.qbank-hero h1{font-size:clamp(2rem,4vw,3.1rem)}.qbank-hero p{color:#c8d9f2;margin:9px 0 0;font-size:1rem}.qbank-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.qbank-hero-stats>div{min-width:105px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);border-radius:14px;padding:11px 13px}.qbank-hero-stats b{display:block;font-size:1.2rem}.qbank-hero-stats span{font-size:.67rem;color:#a9c2e5;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.qbank-seal{width:170px;height:170px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 12px rgba(255,255,255,.025)}.qbank-seal b{font-size:3.2rem;line-height:.9}.qbank-seal span{font-weight:950;letter-spacing:.16em;color:#62dcf9}.qbank-seal small{font-size:.6rem;color:#a8bad6;margin-top:7px}.qbank-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:18px;margin-top:20px}.qbank-config h2,.qbank-unit-panel h2{margin:5px 0 8px}.qbank-config .lead{font-size:.9rem}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qbank-security-note{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;background:#f3f9ff;border:1px solid #cfe1f4;border-radius:14px;padding:12px 14px;margin:15px 0}.qbank-security-note>span{width:34px;height:34px;display:grid;place-items:center;background:white;border:1px solid #d9e6f2;border-radius:10px}.qbank-security-note div{display:grid;gap:2px}.qbank-security-note b{font-size:.76rem}.qbank-security-note small{font-size:.64rem;color:var(--muted);line-height:1.45}.btn-large{padding:13px 19px}.qbank-unit-list{display:grid;gap:7px;margin-top:14px}.qbank-unit-list button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:9px;text-align:left}.qbank-unit-list button:hover{border-color:#8fbbe6;background:#f7fbff}.qbank-unit-list span{font-size:.62rem;color:var(--blue);font-weight:900;text-transform:uppercase}.qbank-unit-list b{font-size:.73rem}.qbank-unit-list small{font-size:.6rem;color:var(--muted)}.qbank-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.qbank-section-card{border:1px solid var(--line);background:white;border-radius:15px;padding:13px;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;text-align:left;box-shadow:0 6px 20px rgba(13,54,113,.05)}.qbank-section-card:hover{border-color:#91bae3;transform:translateY(-1px)}.qbank-section-card>span{width:44px;height:44px;border-radius:12px;background:#edf5ff;display:grid;place-items:center;color:var(--blue);font-size:.7rem;font-weight:950}.qbank-section-card div{display:grid;gap:3px}.qbank-section-card b{font-size:.74rem}.qbank-section-card small{font-size:.6rem;color:var(--muted)}.qbank-section-card i{font-style:normal;color:#4a75a8}.qbank-subject-banner{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#f8fbff,#eff8ff)}.qbank-subject-banner p{margin:6px 0 0;color:var(--muted);font-size:.78rem}.qbank-session-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.qbank-session-head h1{font-size:2rem}.qbank-session-head p{color:var(--muted);margin:6px 0 0}.qbank-session-score{text-align:right}.qbank-session-score b{display:block;font-size:1.8rem;color:var(--blue)}.qbank-session-score span{font-size:.62rem;color:var(--muted);text-transform:uppercase;font-weight:850}.qbank-progress{height:8px;border-radius:20px;background:#e4ebf5;overflow:hidden;margin:14px 0 18px}.qbank-progress div{height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));transition:width .3s}.qbank-question{max-width:950px;margin:0 auto}.qbank-prompt{font-size:1.35rem;margin:18px 0 20px;line-height:1.45}.qbank-prompt mjx-container,.qbank-option mjx-container,.qbank-feedback mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}.qbank-options{display:grid;gap:10px}.qbank-option{border:1.5px solid #d7e2ef;background:white;border-radius:14px;padding:14px 15px;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;text-align:left;transition:.14s}.qbank-option:hover:not(:disabled){border-color:#61a8e4;background:#f7fbff;transform:translateY(-1px)}.qbank-option>span{width:34px;height:34px;border-radius:10px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-weight:950}.qbank-option>b{font-size:.9rem;font-weight:730}.qbank-option.correct{border-color:#5dc8a3;background:#edfbf6}.qbank-option.correct>span{background:#d8f6ea;color:#087653}.qbank-option.incorrect{border-color:#f0a9b2;background:#fff5f6}.qbank-option.incorrect>span{background:#ffe1e5;color:#b42336}.qbank-option.locked{opacity:.7}.qbank-click-note{font-size:.69rem;color:var(--muted);margin:13px 2px 0}.qbank-feedback{display:grid;grid-template-columns:42px 1fr;gap:11px;border-radius:15px;padding:14px 15px;margin-top:17px;border:1px solid}.qbank-feedback.correct{background:#edf9f5;border-color:#b8ead7}.qbank-feedback.incorrect{background:#fff7f1;border-color:#f1d0ae}.qbank-feedback-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:950;background:white}.qbank-feedback p{font-size:.82rem;margin:4px 0;color:#43556b}.qbank-feedback small{font-size:.7rem}.qbank-after-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.qbank-result{text-align:center}.qbank-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.qbank-breakdown div{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f9fbfd;display:grid;gap:2px}.qbank-breakdown span{font-size:.62rem;color:var(--muted);text-transform:uppercase}.qbank-breakdown b{font-size:1rem}.qbank-breakdown small{font-size:.65rem;color:var(--blue)}.qbank-analytics-stats{grid-template-columns:repeat(6,1fr)}
@media(max-width:1100px){.qbank-grid{grid-template-columns:1fr}.qbank-section-grid{grid-template-columns:1fr 1fr}.qbank-analytics-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.qbank-hero{grid-template-columns:1fr}.qbank-seal{width:130px;height:130px}.qbank-seal b{font-size:2.4rem}.form-grid.two,.qbank-section-grid,.qbank-breakdown{grid-template-columns:1fr}.qbank-unit-list button{grid-template-columns:55px 1fr}.qbank-unit-list small{grid-column:2}.qbank-session-head,.qbank-after-actions,.qbank-subject-banner{align-items:stretch;flex-direction:column}.qbank-after-actions .btn,.qbank-subject-banner .btn{width:100%;justify-content:center}.qbank-session-score{text-align:left}.qbank-analytics-stats{grid-template-columns:1fr 1fr}}
/* GeMax 3.3 structured question-bank + tutorial library */
.library-admin-hero{align-items:flex-start}.library-admin-hero .head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.library-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.library-admin-stats>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 8px 25px rgba(12,48,91,.05)}.library-admin-stats strong{display:block;font-size:1.5rem;color:#0b4c92}.library-admin-stats span{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.library-tabs{display:flex;gap:7px;margin:4px 0 14px;border-bottom:1px solid var(--line)}.library-tabs button{border:0;background:transparent;padding:11px 14px;font:inherit;font-size:.75rem;font-weight:850;color:#64748b;border-bottom:3px solid transparent;cursor:pointer}.library-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.source-pills{display:flex;gap:5px;flex-wrap:wrap}.source-pills a{border:1px solid #cedded;border-radius:999px;padding:4px 8px;background:#f8fbff;font-size:.6rem;font-weight:900;color:#135a9f}.package-callout{border:1px solid #cfe0f2;background:#f5faff;border-radius:14px;padding:12px 14px;margin-bottom:13px;display:grid;gap:3px}.package-callout b{font-size:.72rem;color:#0a4f92}.package-callout span{font-size:.65rem;line-height:1.45;color:var(--muted)}.paired-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.package-drop{min-height:135px;border:1.5px dashed #9abbdc;border-radius:16px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:16px;cursor:pointer;transition:.15s}.package-drop:hover{background:#eef7ff;border-color:#2678c9;transform:translateY(-1px)}.package-file-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#0b3f7c;color:#fff;font-size:1.1rem;font-weight:950}.package-drop b{font-size:.78rem}.package-drop b em{font-size:.58rem;color:var(--muted);font-style:normal;margin-left:3px}.package-drop small{font-size:.62rem;color:var(--muted);max-width:300px;word-break:break-word}.validation-box{border:1px solid #efb5b9;background:#fff7f7;border-radius:12px;padding:10px 12px;margin:10px 0;display:grid;gap:4px}.validation-box b{font-size:.7rem;color:#a51c2a}.validation-box span{font-size:.63rem;color:#6f3137}.subject-library-badge{display:block;margin-top:7px;color:var(--blue);font-weight:800}.subject-banner-actions,.tutorial-header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.qbank-bank-picker{margin-bottom:16px}.qbank-bank-picker>div:first-child{margin-bottom:8px}.qbank-bank-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.qbank-bank-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(12,48,91,.04)}.qbank-bank-card.active{border-color:#4c99dd;background:#f2f8ff;box-shadow:0 0 0 3px rgba(50,134,210,.08)}.qbank-bank-card>span{width:40px;height:40px;border-radius:11px;background:#edf5ff;display:grid;place-items:center;font-size:1.15rem}.qbank-bank-card div{display:grid;gap:2px;min-width:0}.qbank-bank-card b{font-size:.73rem}.qbank-bank-card small{font-size:.59rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutorial-dashboard-banner,.tutorial-subject-banner{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f4fbff);border-color:#cfe2f3}.tutorial-dashboard-banner p,.tutorial-subject-banner p{margin:6px 0 0;color:var(--muted);font-size:.78rem}.tutorial-hero{margin-bottom:18px}.tutorial-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.tutorial-toolbar .field{min-width:270px;margin:0}.tutorial-toolbar>div:last-child{text-align:right;display:grid}.tutorial-toolbar>div:last-child b{font-size:1.4rem;color:var(--blue)}.tutorial-toolbar>div:last-child small{font-size:.62rem;color:var(--muted);text-transform:uppercase}.tutorial-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tutorial-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:17px;box-shadow:0 8px 25px rgba(12,48,91,.06);text-decoration:none;color:inherit;display:flex;flex-direction:column;min-height:250px;transition:.15s}.tutorial-card:hover{transform:translateY(-2px);border-color:#88b9e5;box-shadow:0 12px 30px rgba(12,48,91,.1)}.tutorial-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.tutorial-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#0c61b7,#5a3ad0);display:grid;place-items:center;color:#fff;font-size:1.3rem}.tutorial-card h2{font-size:1.05rem;margin:5px 0 7px}.tutorial-card p{font-size:.75rem;line-height:1.5;color:var(--muted);flex:1}.tutorial-card-meta{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:.62rem;color:var(--muted)}.tutorial-card-meta b{color:var(--blue)}.tutorial-open{font-size:.7rem;color:var(--blue);margin-top:10px}.compact-tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.unit-tutorial-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 16px 13px 74px}.unit-tutorial-strip a{border:1px solid #d6e4f1;background:#f8fbff;border-radius:10px;padding:8px 10px;text-decoration:none;color:inherit;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px}.unit-tutorial-strip a>span{width:28px;height:28px;border-radius:8px;background:#e8f3ff;color:#1260a7;display:grid;place-items:center;font-weight:900}.unit-tutorial-strip b{font-size:.66rem}.unit-tutorial-strip small{font-size:.57rem;color:var(--muted)}.tutorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:18px}.tutorial-overview{margin-bottom:14px}.tutorial-section{display:grid;grid-template-columns:60px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:12px;box-shadow:0 7px 25px rgba(12,48,91,.045)}.tutorial-section-no{width:52px;height:52px;border-radius:14px;background:#edf5ff;color:#0b5fae;display:grid;place-items:center;font-weight:950}.tutorial-section h2{font-size:1.25rem;margin:2px 0 8px}.tutorial-content{font-size:.85rem;line-height:1.7;color:#34465a;margin:12px 0}.tutorial-content mjx-container,.tutorial-example mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}.tutorial-mini-block{border-left:3px solid #64a8e5;background:#f7fbff;border-radius:0 11px 11px 0;padding:10px 12px;margin:10px 0}.tutorial-mini-block>b{font-size:.68rem;color:#0b4c92;text-transform:uppercase}.tutorial-mini-block ul{margin:6px 0 0;padding-left:18px;font-size:.76rem;line-height:1.55}.tutorial-example{border:1px solid #d7e4f1;background:#fbfdff;border-radius:13px;padding:12px 14px;margin-top:10px}.tutorial-example>span{font-size:.58rem;text-transform:uppercase;font-weight:900;color:#5a3ad0}.tutorial-example h3{font-size:.88rem;margin:3px 0 7px}.tutorial-example p{font-size:.76rem;line-height:1.55}.tutorial-pdf-inline{margin-top:15px}.tutorial-pdf-inline .document-frame{height:780px}.tutorial-header{align-items:center}.tutorial-header-actions{max-width:350px}
@media(max-width:1100px){.library-admin-stats{grid-template-columns:1fr 1fr}.qbank-bank-cards,.tutorial-card-grid{grid-template-columns:1fr 1fr}.tutorial-layout{grid-template-columns:1fr}.tutorial-layout .sticky{position:static}.unit-tutorial-strip{grid-template-columns:1fr;padding-left:16px}}
@media(max-width:700px){.paired-upload-grid,.qbank-bank-cards,.tutorial-card-grid,.compact-tutorial-grid,.library-admin-stats{grid-template-columns:1fr}.library-admin-hero .head-actions,.tutorial-dashboard-banner,.tutorial-subject-banner,.tutorial-toolbar,.tutorial-header,.subject-banner-actions,.tutorial-header-actions{align-items:stretch;flex-direction:column}.tutorial-toolbar .field{min-width:0}.tutorial-section{grid-template-columns:1fr}.tutorial-pdf-inline .document-frame{height:560px}.unit-tutorial-strip{padding:0 10px 10px}}

/* GeMax 3.4 AI Study Lab */
.study-main{max-width:1550px}.study-hero{background:radial-gradient(circle at 86% 18%,rgba(5,188,233,.28),transparent 27%),radial-gradient(circle at 68% 95%,rgba(94,58,214,.22),transparent 30%),linear-gradient(135deg,#071b40,#102d65);color:#fff;border-radius:28px;padding:32px 36px;display:grid;grid-template-columns:1fr 180px;align-items:center;gap:30px;box-shadow:var(--shadow);overflow:hidden}.study-hero p{max-width:840px;color:#c3d2e9}.study-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.study-hero-badges span{font-size:.7rem;font-weight:850;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);padding:7px 10px;border-radius:999px}.study-orb{width:142px;height:142px;border-radius:50%;justify-self:center;display:grid;place-items:center;background:linear-gradient(145deg,rgba(5,188,233,.95),rgba(94,58,214,.9));font-size:2.5rem;font-weight:950;box-shadow:0 20px 50px rgba(0,0,0,.2);line-height:.8}.study-orb span{display:block;font-size:.58rem;letter-spacing:.18em}.study-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.study-controls{position:sticky;top:94px}.study-controls h2{margin:5px 0 18px}.study-controls textarea{width:100%;resize:vertical}.study-mastery{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:grid;gap:8px}.study-mastery>b{font-size:.78rem}.study-mastery>span{font-size:.7rem;color:var(--muted)}.study-mastery>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;border:1px solid #edf2f8;border-radius:10px;padding:8px}.study-mastery div span{font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-mastery div strong{font-size:.72rem}.study-mastery div em{grid-column:1/3;font-style:normal;font-size:.55rem;text-transform:uppercase;color:var(--muted)}.level-strong{color:var(--success)!important}.level-needs_practice{color:#b45309!important}.study-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.study-tool{border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px;text-align:left;display:grid;gap:4px;box-shadow:0 6px 20px rgba(12,48,91,.05)}.study-tool>span{font-size:1.2rem;color:var(--blue)}.study-tool b{font-size:.72rem}.study-tool small{font-size:.58rem;color:var(--muted);line-height:1.35}.study-tool.active{border-color:#4d99dd;background:#f2f8ff;box-shadow:0 0 0 3px rgba(50,134,210,.08)}.study-workbench{min-height:480px}.study-workbench-head,.study-recent-head{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.study-workbench-head p{margin:6px 0 0;color:var(--muted);font-size:.76rem}.study-empty{text-align:center;display:grid;place-items:center;max-width:560px;margin:80px auto;color:var(--muted)}.study-empty>div{font-size:2rem;color:var(--violet)}.study-empty h3{color:var(--ink);margin:8px}.study-loading{margin:80px auto;text-align:center;color:var(--blue);font-weight:800}.study-result-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.study-result-head h2{margin-top:7px}.study-engine{font-size:.62rem;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.study-notice{border:1px solid #cfe2f3;background:#f6fbff;border-radius:12px;padding:10px 12px;font-size:.72rem;color:#36536e;margin-bottom:14px}.study-prose{font-size:.88rem;line-height:1.75;color:#33465a;background:#fbfdff;border:1px solid #edf2f7;border-radius:14px;padding:16px}.study-output h3{font-size:.9rem;margin:19px 0 8px}.study-output ul{font-size:.8rem;color:#3a4c60}.study-formulas{display:grid;gap:8px}.study-formulas div{border:1px solid var(--line);background:#fbfdff;border-radius:12px;padding:10px;display:grid;gap:5px}.study-formulas b{font-family:Cambria Math,serif}.study-formulas span{font-size:.72rem;color:var(--muted)}.flashcard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flashcard{min-height:175px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#f7fbff);padding:18px;text-align:left;display:flex;flex-direction:column;gap:10px;box-shadow:0 7px 22px rgba(12,48,91,.05)}.flashcard-no{font-size:.58rem;text-transform:uppercase;color:var(--blue);font-weight:900}.flashcard .front{font-size:.9rem}.flashcard .back{display:none;font-size:.78rem;color:#34495e;line-height:1.55}.flashcard.flipped .front{display:none}.flashcard.flipped .back{display:block}.flashcard small{margin-top:auto;color:var(--muted)}.generated-question-list{display:grid;gap:12px}.generated-question{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}.generated-q-head{display:flex;justify-content:space-between;font-size:.6rem;text-transform:uppercase;color:var(--muted);font-weight:850}.generated-question h3{font-size:.9rem;margin:10px 0}.generated-question ol{font-size:.78rem}.generated-question details{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:.75rem}.generated-question summary{cursor:pointer;font-weight:850;color:var(--blue)}.priority-strip{padding:10px 12px;background:#f3f7ff;border-radius:12px;font-size:.75rem;margin-bottom:12px}.revision-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.revision-day-grid article{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff}.revision-day-grid article>span{font-size:.58rem;text-transform:uppercase;color:var(--blue);font-weight:900}.revision-day-grid h3{margin:5px 0 8px}.checkpoint{border-top:1px solid var(--line);padding-top:8px;font-size:.68rem;color:var(--muted)}.checkpoint b{display:block;color:var(--ink)}.mistake-grid{display:grid;gap:10px}.mistake-grid>div{border-left:4px solid #8aaae8;background:#f8fbff;border-radius:0 12px 12px 0;padding:12px 14px}.mistake-grid span{font-size:.6rem;text-transform:uppercase;font-weight:900;color:var(--blue)}.mistake-grid p{font-size:.8rem;margin:5px 0}.study-sources{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.study-sources>div{display:grid;gap:3px;border-bottom:1px solid #eff3f7;padding:9px 0}.study-sources b{font-size:.68rem}.study-sources span{font-size:.65rem;color:var(--muted)}.study-recent{margin-top:14px}.study-artifact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.study-artifact-list button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;display:grid;gap:2px}.study-artifact-list button:hover{border-color:#86b5df;background:#f8fbff}.study-artifact-list span{font-size:.55rem;text-transform:uppercase;color:var(--blue);font-weight:900}.study-artifact-list b{font-size:.7rem}.study-artifact-list small{font-size:.56rem;color:var(--muted)}
@media(max-width:1200px){.study-tools{grid-template-columns:repeat(3,1fr)}.study-layout{grid-template-columns:270px 1fr}}@media(max-width:900px){.study-layout{grid-template-columns:1fr}.study-controls{position:static}.study-tools{grid-template-columns:1fr 1fr}.study-hero{grid-template-columns:1fr}.study-orb{display:none}}@media(max-width:650px){.study-tools,.flashcard-grid,.revision-day-grid,.study-artifact-list{grid-template-columns:1fr}.study-workbench-head,.study-recent-head{align-items:stretch;flex-direction:column}.study-workbench-head .btn,.study-recent-head .btn{width:100%;justify-content:center}}
/* GeMax 3.5 Study Lab one-click generation */
.study-quickbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px;padding:10px 12px;border:1px solid #dce7f2;border-radius:14px;background:#f8fbff}.study-quickbar>div{display:grid;gap:2px}.study-quickbar b{font-size:.72rem}.study-quickbar span{font-size:.6rem;color:var(--muted)}
.study-tool{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.study-tool:hover{transform:translateY(-2px);border-color:#86b5df;box-shadow:0 10px 24px rgba(12,48,91,.09)}.study-tool em{font-size:.56rem;font-style:normal;font-weight:900;color:var(--blue);margin-top:4px}.study-tool.generating{pointer-events:none;opacity:.7}.study-tool.generating em{color:var(--muted)}.study-tool.generating em::before{content:'Generating…';font-size:.56rem}.study-tool.generating em{font-size:0}.study-tool.generated{box-shadow:0 0 0 3px rgba(25,135,84,.12);border-color:#65ad88}.study-tool.generated em{color:var(--success)}
.study-request-hint{min-height:14px;margin-top:5px;font-size:.58rem;color:var(--muted);line-height:1.35}.study-request-hint.error{color:#b42318;font-weight:700}
.study-matched-question{margin-top:12px;padding:12px 14px;border:1px solid #dce7f2;border-radius:12px;background:#fbfdff;display:grid;gap:5px}.study-matched-question b{font-size:.62rem;text-transform:uppercase;color:var(--blue)}.study-matched-question span{font-size:.76rem;line-height:1.5}
.study-pack-head{padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.study-pack-head h2{margin:7px 0 5px}.study-pack-head p{font-size:.72rem;color:var(--muted);margin:0}.study-pack-section{padding:18px 0;border-bottom:2px solid #edf2f7}.study-pack-section:last-child{border-bottom:0}.study-pack-section>.study-result-head{margin-top:0}
@media(max-width:650px){.study-quickbar{align-items:stretch;flex-direction:column}.study-quickbar .btn{width:100%;justify-content:center}}

/* GeMax v3.6 tutorial visual blocks — logo-derived branding only; layout preserved */
.tutorial-hero{background:radial-gradient(circle at 86% 15%,rgba(49,146,217,.28),transparent 28%),radial-gradient(circle at 72% 90%,rgba(99,74,180,.22),transparent 30%),linear-gradient(135deg,#001d81,#0032b2)}
.tutorial-hero .eyebrow{color:#8edfff}.tutorial-icon{background:linear-gradient(145deg,#0032b2 0%,#3192d9 55%,#634ab4 100%)}
.tutorial-card:hover{border-color:#3192d9;box-shadow:0 12px 30px rgba(0,50,178,.12)}.tutorial-open,.tutorial-card-meta b,.tutorial-toolbar>div:last-child b{color:#0032b2}
.tutorial-header{border-top:4px solid #0032b2;box-shadow:inset 0 2px 0 #d20d1c,0 8px 28px rgba(0,50,178,.06)}
.tutorial-section{border-color:#d6e5f5}.tutorial-section-no{background:linear-gradient(145deg,#0032b2,#3192d9);color:#fff;box-shadow:0 8px 20px rgba(0,50,178,.18)}
.tutorial-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tutorial-source-page{white-space:nowrap;border:1px solid #bfd7ed;background:#f4faff;color:#003f91;border-radius:999px;padding:5px 9px;font-size:.58rem;font-weight:900;letter-spacing:.02em}
.tutorial-mini-block{border-left-color:#3192d9;background:#f6fbff}.tutorial-mini-block>b{color:#003f91}.tutorial-mini-block.key{border-left-color:#634ab4;background:#faf8ff}.tutorial-mini-block.key>b{color:#4b2f96}
.tutorial-formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0}.tutorial-formula{border:1px solid #cfe0f1;border-radius:14px;background:linear-gradient(145deg,#fff,#f5faff);padding:11px 13px;overflow:hidden}.tutorial-formula>div:first-child{display:grid;gap:2px}.tutorial-formula span{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:950;color:#0032b2}.tutorial-formula small{font-size:.64rem;color:#64748b;line-height:1.4}.tutorial-equation{font-size:.9rem;color:#071426;overflow-x:auto}.tutorial-equation mjx-container{margin:8px 0 2px!important}
.tutorial-visual{border:1px solid #cfdeed;border-radius:16px;background:#fff;margin:13px 0;padding:14px 15px;box-shadow:0 7px 20px rgba(0,50,178,.045)}.tutorial-visual h3{margin:0 0 10px;font-size:.88rem;color:#071c3e}.tutorial-visual-caption{margin:9px 0 0!important;font-size:.66rem!important;color:#64748b!important;line-height:1.45!important}
.tutorial-flow{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:3px 1px 7px}.tutorial-flow-step{min-width:150px;flex:1;border:1px solid #c8dcf0;background:linear-gradient(160deg,#fff,#f2f9ff);border-radius:13px;padding:10px;display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center}.tutorial-flow-step b{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#0032b2;color:#fff;font-size:.58rem}.tutorial-flow-step span{font-size:.68rem;line-height:1.38;color:#30465d;font-weight:750}.tutorial-flow-arrow{align-self:center;color:#d20d1c;font-size:1.1rem;font-weight:950}
.concept-map-center{width:max-content;max-width:80%;margin:2px auto 12px;border-radius:999px;padding:8px 14px;background:#0032b2;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 6px 16px rgba(0,50,178,.16)}.concept-map-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.concept-map-branches>div{border-top:3px solid #3192d9;background:#f8fbff;border-radius:11px;padding:10px;text-align:center;display:grid;gap:3px}.concept-map-branches>div:nth-child(3n+2){border-top-color:#d20d1c}.concept-map-branches>div:nth-child(3n+3){border-top-color:#634ab4}.concept-map-branches b{font-size:.68rem;color:#071c3e}.concept-map-branches span{font-size:.61rem;color:#64748b;line-height:1.4}
.tutorial-table-wrap{overflow-x:auto}.tutorial-comparison{width:100%;border-collapse:separate;border-spacing:0;font-size:.67rem}.tutorial-comparison th{background:#0032b2;color:#fff;text-align:left;padding:8px;border-right:1px solid rgba(255,255,255,.16)}.tutorial-comparison th:first-child{border-radius:9px 0 0 0}.tutorial-comparison th:last-child{border-radius:0 9px 0 0}.tutorial-comparison td{padding:8px;border-right:1px solid #dce7f2;border-bottom:1px solid #dce7f2;background:#fbfdff;vertical-align:top}.tutorial-comparison tr td:first-child{border-left:1px solid #dce7f2;font-weight:800;color:#0a4188}
.tutorial-example{border-color:#d8e3f0;background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:inset 3px 0 0 #634ab4}.tutorial-example>span{color:#634ab4}.tutorial-check{margin-top:12px;border:1px solid #e7c7ca;background:#fff9f9;border-radius:14px;padding:12px 14px}.tutorial-check>div{display:flex;align-items:center;gap:7px}.tutorial-check>div span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#d20d1c;color:#fff;font-weight:950}.tutorial-check>div b{font-size:.72rem;color:#8c1320;text-transform:uppercase;letter-spacing:.04em}.tutorial-check ol{margin:8px 0 0;padding-left:22px;font-size:.72rem;line-height:1.55;color:#4a3b3d}.tutorial-source-integrity{border-top:3px solid #d20d1c}
@media(max-width:900px){.tutorial-formula-grid,.concept-map-branches{grid-template-columns:1fr}.tutorial-section-heading{flex-direction:column}.tutorial-source-page{white-space:normal}.tutorial-flow{flex-direction:column}.tutorial-flow-arrow{transform:rotate(90deg);align-self:center}}
