:root{--ink:#182135;--muted:#6d7485;--primary:#5b4df7;--primary2:#7b61ff;--cyan:#20c7d9;--surface:#fff;--bg:#f4f6fb;--border:#e7e9f1;--sidebar:#11162a;--shadow:0 18px 50px rgba(29,34,65,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}.h1,.h2,.h3,h1,h2,h3,h4,.brand{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:#493cd9;--bs-btn-hover-border-color:#493cd9}.form-control,.form-select{border-color:#dde1ec;border-radius:12px;padding:.75rem .9rem}.form-control:focus,.form-select:focus{border-color:#8d84fb;box-shadow:0 0 0 .25rem rgba(91,77,247,.12)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--primary)}
.public-nav{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,233,241,.8);padding:.8rem 0}.brand-dark,.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-weight:600}.brand-mark{width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;box-shadow:0 8px 22px rgba(91,77,247,.25)}.public-footer{padding:2rem 0;background:#101526;color:#9ea5ba}
.hero-section{padding:6rem 0 5rem;background:radial-gradient(circle at 90% 10%,rgba(32,199,217,.16),transparent 25%),radial-gradient(circle at 5% 10%,rgba(91,77,247,.12),transparent 28%),#fff;overflow:hidden}.hero-badge{display:inline-flex;gap:.5rem;align-items:center;background:#f0efff;color:#493cd9;padding:.55rem .9rem;border-radius:999px;font-weight:700;font-size:.85rem}.hero-section h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.06em;margin:1.5rem 0}.hero-section h1 span{background:linear-gradient(100deg,var(--primary),#a23cf2,var(--cyan));-webkit-background-clip:text;color:transparent}.hero-section p{font-size:1.15rem;color:var(--muted);max-width:650px}.hero-stats{display:flex;gap:2rem;margin-top:3rem;flex-wrap:wrap}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:1.05rem}.hero-stats span{color:var(--muted);font-size:.86rem}.hero-visual{position:relative;min-height:470px;display:grid;place-items:center}.dashboard-preview{width:min(390px,90%);background:#fff;border-radius:28px;box-shadow:0 35px 90px rgba(35,43,85,.18);padding:1.5rem;transform:rotate(-2deg);border:1px solid #eceef5}.preview-head{display:flex;gap:.4rem}.preview-head span{width:9px;height:9px;border-radius:50%;background:#dce0eb}.preview-score{margin:2.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#171d35,#2a3154);color:#fff;border-radius:20px}.preview-score small,.preview-score strong{display:block}.preview-score strong{font-size:3rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.preview-grid div{background:#f5f6fb;padding:1rem;border-radius:16px;display:grid;gap:.25rem}.preview-grid i{color:var(--primary);font-size:1.4rem}.preview-grid small{color:var(--muted)}.floating-card{position:absolute;background:#fff;padding:.9rem 1rem;border-radius:16px;box-shadow:var(--shadow);display:flex;gap:.6rem;align-items:center;font-weight:700;z-index:2}.floating-card i{color:var(--primary)}.card-a{top:55px;left:0}.card-b{right:-10px;bottom:65px}.section-pad{padding:5rem 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:2rem}.section-heading h2{font-size:2.3rem;letter-spacing:-.04em;margin:.25rem 0}.section-heading.compact{margin-top:2rem}.course-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:1.5rem;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(25,31,70,.04);transition:.25s}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d7d3ff}.course-card h3{font-size:1.22rem;margin:1.1rem 0 .6rem}.course-card p{color:var(--muted)}.course-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#efedff;color:var(--primary);font-size:1.35rem}.course-price{font-size:1.25rem}.course-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin:.8rem 0}.course-meta span{display:flex;align-items:center;gap:.35rem}.course-meta.light{color:#e4e7ff}.feature-band{background:#13182d;color:#fff;padding:3.5rem 0}.feature-mini i{font-size:1.8rem;color:#7fe8f3}.feature-mini h4{font-size:1rem;margin:.8rem 0 .3rem}.feature-mini p{color:#a9b0c4;margin:0;font-size:.9rem}
.auth-section{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:4rem 0;background:radial-gradient(circle at 15% 20%,rgba(91,77,247,.14),transparent 30%),#f8f9fd}.auth-card{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.auth-copy{padding:4rem;background:linear-gradient(145deg,#141a33,#252b52);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-copy .eyebrow{color:#8de8f0}.auth-copy h1{font-size:2.7rem;letter-spacing:-.05em}.auth-copy p{color:#c5c9d8}.auth-quote{margin-top:3rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#d9dceb}.auth-form{padding:4rem}.check-list{list-style:none;padding:0;display:grid;gap:.8rem}.check-list li{display:flex;gap:.7rem;align-items:center}.check-list i{color:#7fe8f3}.check-list.dark i{color:var(--primary)}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,#12172b,#0d1224);color:#fff;padding:1.25rem;display:flex;flex-direction:column;z-index:1040}.sidebar .brand{color:#fff;padding:.25rem .5rem;margin-bottom:1.7rem}.user-card{display:flex;gap:.8rem;align-items:center;padding:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);border-radius:16px;margin-bottom:1.25rem}.avatar{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--cyan));display:grid;place-items:center;font-weight:800}.user-card strong,.user-card small{display:block}.user-card small{color:#949cb5;font-size:.75rem}.side-nav{display:grid;gap:.3rem;overflow:auto}.side-nav a{display:flex;align-items:center;gap:.8rem;color:#aeb5c9;text-decoration:none;padding:.8rem .9rem;border-radius:12px;font-weight:600;font-size:.92rem}.side-nav a:hover,.side-nav a.active{background:linear-gradient(90deg,rgba(91,77,247,.28),rgba(91,77,247,.08));color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 #8b82ff}.side-nav i{font-size:1.05rem}.nav-label{color:#5f6883;font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin:1.2rem .8rem .4rem}.sidebar-footer{margin-top:auto}.sidebar-footer .btn{color:#9aa2ba;text-decoration:none}.main-panel{grid-column:2;min-width:0}.topbar{height:88px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1020}.topbar h1{font-size:1.35rem;margin:0}.topbar .eyebrow{font-size:.62rem}.content-wrap{padding:2rem;max-width:1600px;margin:auto}.icon-btn{font-size:1.5rem}.metric-card{height:100%;background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.25rem;display:flex;align-items:center;gap:1rem}.metric-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.25rem}.metric-icon.purple{background:#efedff;color:#5b4df7}.metric-icon.blue{background:#e8f3ff;color:#2786e8}.metric-icon.green{background:#e4f8ef;color:#1eaa6d}.metric-icon.orange{background:#fff2df;color:#e68721}.metric-card span,.metric-card strong{display:block}.metric-card span{color:var(--muted);font-size:.82rem}.metric-card strong{font-size:1.6rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}.panel-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:1.5rem;box-shadow:0 8px 25px rgba(25,31,70,.035)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.panel-head h3{font-size:1.15rem;margin:.2rem 0 0}.table>:not(caption)>*>*{padding:.9rem .7rem;border-color:#edf0f5}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#7f8798}.status-pill{display:inline-flex;padding:.32rem .62rem;border-radius:999px;background:#eef0f5;color:#5f6675;font-size:.73rem;font-weight:800;text-transform:capitalize}.status-pill.paid,.status-pill.active,.status-pill.evaluated,.status-pill.sent{background:#def7eb;color:#168659}.status-pill.created,.status-pill.submitted{background:#e8efff;color:#3565d5}.status-pill.failed,.status-pill.inactive{background:#ffe8e8;color:#c53d3d}.status-pill.revision_requested,.status-pill.under_review{background:#fff2d9;color:#b66c00}.quick-actions{display:grid;gap:.8rem}.quick-actions a{display:flex;gap:.9rem;align-items:center;padding:1rem;background:#f7f8fc;border-radius:15px;text-decoration:none;color:var(--ink)}.quick-actions a>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ebe9ff;color:var(--primary)}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{color:var(--muted)}.welcome-banner,.course-detail-hero{background:linear-gradient(125deg,#171d38,#343a72);color:#fff;padding:2rem;border-radius:24px;display:flex;justify-content:space-between;align-items:center}.welcome-banner p,.course-detail-hero p{color:#cbd0e3}.catalog-hero{margin-bottom:1.5rem}.catalog-hero h2{font-size:2.1rem}.price-box{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);padding:1.5rem;border-radius:20px}.price-box small,.price-box strong{display:block}.price-box strong{font-size:2.2rem;margin:.2rem 0 1rem}.prose{color:#555e70;line-height:1.75}.lesson-list{display:grid}.lesson-row{display:flex;align-items:center;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--border)}.lesson-row:last-child{border:0}.lesson-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#efedff;color:var(--primary)}.lesson-row small,.lesson-row strong{display:block}.lesson-row small{color:var(--muted)}.empty-inline{color:var(--muted);padding:1rem 0}.empty-state{text-align:center;padding:4rem;background:#fff;border:1px dashed #ccd1df;border-radius:22px}.empty-state i{font-size:3rem;color:var(--primary)}.empty-state h3{margin-top:1rem}
.exam-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.3rem;display:flex;align-items:center;gap:1rem}.exam-number{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;background:#efedff;color:var(--primary);font-size:1.4rem}.exam-card h3{font-size:1.1rem;margin:.25rem 0}.exam-header{background:#151a32;color:#fff;padding:1.5rem;border-radius:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.exam-timer{display:flex;gap:.5rem;align-items:center;background:rgba(255,255,255,.1);padding:.7rem 1rem;border-radius:12px;font-weight:800}.question-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.5rem;margin-bottom:1rem}.question-top{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;font-weight:700}.question-card h3{font-size:1.06rem;margin:1rem 0}.option-list{display:grid;gap:.7rem}.option-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #e4e7ef;border-radius:13px;cursor:pointer}.option-item:hover{background:#f8f8ff;border-color:#c7c1ff}.option-item input{position:absolute;opacity:0}.option-dot{width:18px;height:18px;border:2px solid #aeb5c4;border-radius:50%}.option-item:has(input:checked){border-color:var(--primary);background:#f0efff}.option-item input:checked+.option-dot{border:5px solid var(--primary)}.exam-submit{position:sticky;bottom:1rem;display:flex;justify-content:end;padding:1rem;background:rgba(244,246,251,.9);backdrop-filter:blur(10px);border-radius:16px}
.paper-meta{display:flex;gap:1rem;color:var(--muted);font-size:.84rem;margin-bottom:1rem}.upload-zone{border:2px dashed #d8d9ef;border-radius:18px;padding:1.4rem;text-align:center;display:grid;gap:.5rem;background:#fafaff}.upload-zone>i{font-size:2rem;color:var(--primary)}.upload-zone label{font-weight:700;cursor:pointer}.upload-zone input{display:block;margin:.5rem auto}.submission-summary{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;background:#f7f8fb;border-radius:14px}.submission-summary small,.submission-summary strong{display:block}.feedback-box{margin-top:1rem;padding:1rem;background:#eefaf5;border-left:4px solid #20a873;border-radius:12px}.feedback-box p{margin:.4rem 0}.score-chip{display:inline-flex;background:#fff;padding:.35rem .6rem;border-radius:8px;font-weight:800;margin-right:.5rem}.checkout-card{background:#fff;border:1px solid var(--border);border-radius:26px;padding:2rem;box-shadow:var(--shadow)}.checkout-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#efedff;color:var(--primary);font-size:1.6rem;margin-bottom:1rem}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;background:#f6f7fb;border-radius:15px;margin:1.5rem 0}.checkout-total strong{font-size:1.7rem}.demo-badge{display:inline-flex;padding:.4rem .7rem;background:#fff0d5;color:#a46500;font-size:.7rem;font-weight:900;letter-spacing:.08em;border-radius:999px;margin-bottom:1.5rem}.table-person{display:flex;gap:.7rem;align-items:center}.table-person>span{width:38px;height:38px;border-radius:12px;background:#efedff;color:var(--primary);display:grid;place-items:center;font-weight:800}.table-person strong,.table-person small{display:block}.table-person small{color:var(--muted)}
.chat-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:center;max-width:1100px;margin:1rem auto}.chat-intro h2{font-size:2.6rem;letter-spacing:-.04em}.chat-intro p{color:var(--muted);font-size:1.05rem}.prompt-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}.prompt-chips button{border:1px solid #dfe2ec;background:#fff;border-radius:999px;padding:.6rem .9rem;color:#4c5569}.chat-card{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.chat-head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.ai-orb{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff}.chat-head strong,.chat-head small{display:block}.chat-head small{color:var(--muted)}.online-dot{margin-left:auto;color:#168659;font-size:.8rem}.chat-messages{height:420px;overflow:auto;padding:1.2rem;background:#f8f9fc;display:flex;flex-direction:column;gap:.8rem}.message{display:flex}.message>div{max-width:82%;padding:.8rem 1rem;border-radius:16px;line-height:1.5}.message.bot>div{background:#fff;border:1px solid var(--border);border-bottom-left-radius:5px}.message.user{justify-content:end}.message.user>div{background:var(--primary);color:#fff;border-bottom-right-radius:5px}.chat-input{display:flex;gap:.6rem;padding:1rem;border-top:1px solid var(--border)}.chat-input input{flex:1;border:0;outline:0;padding:.6rem}.chat-input .btn{width:46px;height:46px;border-radius:14px}.error-page{text-align:center;padding:8rem 1rem}.error-page>strong{font-size:6rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#d8d4ff}.error-page h2{font-size:2rem}
@media(max-width:991.98px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main-panel{margin:0}.auth-card{grid-template-columns:1fr}.auth-copy{display:none}.chat-layout{grid-template-columns:1fr}.hero-visual{min-height:400px}.topbar{padding:0 1rem}.content-wrap{padding:1rem}.welcome-banner{align-items:flex-start;gap:1rem;flex-direction:column}}
@media(max-width:575.98px){.hero-section{padding:4rem 0}.hero-section h1{font-size:3.1rem}.hero-stats{gap:1rem}.card-a{left:10px}.card-b{right:5px}.auth-form{padding:2rem}.section-heading{align-items:flex-start;gap:1rem}.course-detail-hero{padding:1.4rem}.exam-header{align-items:flex-start;gap:1rem}.chat-messages{height:360px}}
/* Course material marketplace */
.material-hero{display:flex;justify-content:space-between;gap:1rem;align-items:end}.material-card{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(25,31,70,.04);transition:transform .25s,box-shadow .25s,border-color .25s}.material-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6d2ff}.material-cover{height:150px;padding:1.25rem;position:relative;background:radial-gradient(circle at 80% 20%,rgba(32,199,217,.28),transparent 27%),linear-gradient(135deg,#181e3a,#373f7e);display:flex;align-items:center;justify-content:center}.material-cover:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px}.material-type-icon{position:relative;z-index:1;width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);color:#fff;font-size:2rem}.material-format{position:absolute;z-index:1;right:1rem;top:1rem;padding:.38rem .62rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.08em}.material-body{padding:1.35rem;display:flex;flex:1;flex-direction:column}.material-body h3{font-size:1.18rem;margin:.45rem 0}.material-body p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.material-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin:.2rem 0 1.1rem}.material-meta span{display:flex;align-items:center;gap:.35rem}.access-badge{display:inline-flex;align-items:center;padding:.32rem .62rem;border-radius:999px;font-size:.72rem;font-weight:800}.access-badge.free{background:#def7eb;color:#168659}.access-badge.enrolled{background:#e7edff;color:#395bc5}.access-badge.paid{background:#fff0d8;color:#a86500}.material-detail-hero{background:radial-gradient(circle at 82% 10%,rgba(32,199,217,.22),transparent 27%),linear-gradient(125deg,#171d38,#343a72);color:#fff;border-radius:26px;padding:2rem;display:flex;gap:1.3rem;align-items:center}.material-detail-hero p{color:#cbd0e3;margin-bottom:.8rem}.material-detail-icon{width:90px;height:90px;flex:0 0 90px;border-radius:26px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:2.4rem}.material-purchase-box{width:250px;flex:0 0 250px;padding:1.2rem;border-radius:19px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13)}.material-purchase-box small,.material-purchase-box strong{display:block}.material-purchase-box strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:1.5rem;margin:.2rem 0 1rem}.access-ready{display:flex;gap:.45rem;align-items:center;color:#a5f3cb;font-weight:800;margin-bottom:1rem}.material-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.5rem}.material-facts>div{padding:1rem;border-radius:15px;background:#f7f8fc}.material-facts span,.material-facts strong{display:block}.material-facts span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.material-facts strong{margin-top:.25rem}.course-material-list{display:grid}.course-material-row{display:flex;gap:.9rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.course-material-row:last-child{border-bottom:0}.course-material-row small,.course-material-row strong{display:block}.course-material-row small{color:var(--muted)}.delivery-switch{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.delivery-switch input{position:absolute;opacity:0}.delivery-switch span{display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid #dde1ec;border-radius:13px;padding:.8rem;cursor:pointer;font-weight:700}.delivery-switch input:checked+span{border-color:var(--primary);background:#efedff;color:var(--primary);box-shadow:0 0 0 3px rgba(91,77,247,.08)}.upload-zone.compact{padding:1rem}.upload-zone.compact span{font-size:.82rem;color:var(--muted)}.material-guide-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#e8f8f5;color:#15916a;font-size:1.5rem;margin-bottom:1rem}.status-pill.published{background:#def7eb;color:#168659}.status-pill.draft{background:#e8efff;color:#3565d5}.status-pill.archived{background:#eef0f5;color:#666d7c}
@media(max-width:991.98px){.material-detail-hero{align-items:flex-start;flex-wrap:wrap}.material-purchase-box{width:100%;flex-basis:100%}.material-facts{grid-template-columns:1fr 1fr}}
@media(max-width:575.98px){.material-hero{align-items:flex-start;flex-direction:column}.material-detail-hero{padding:1.4rem}.material-detail-icon{width:64px;height:64px;flex-basis:64px;font-size:1.6rem}.material-facts{grid-template-columns:1fr}.delivery-switch{grid-template-columns:1fr}}

/* Easy installer + system update center */
.installer-body{min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(91,77,247,.16),transparent 28%),radial-gradient(circle at 88% 18%,rgba(32,199,217,.14),transparent 25%),#f4f6fb}.installer-shell{max-width:1120px;margin:0 auto;padding:42px 18px}.installer-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.installer-head{padding:32px 34px;background:linear-gradient(135deg,#11162a,#262d59);color:#fff}.installer-head p{color:#cbd0df;margin:8px 0 0}.installer-body-content{padding:30px 34px}.requirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.requirement-item{border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;gap:10px;align-items:flex-start}.requirement-item .check-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e9fbf3;color:#167a55;font-weight:900;flex:0 0 30px}.requirement-item.bad .check-mark{background:#fff0f0;color:#b42318}.requirement-item small{display:block;color:var(--muted);margin-top:3px;word-break:break-word}.install-section{padding:20px 0;border-top:1px solid var(--border)}.install-section:first-of-type{border-top:0}.install-section h3{font-size:1.05rem;margin-bottom:14px}.install-note{background:#f7f7ff;border:1px solid #e0defe;border-radius:14px;padding:13px 15px;color:#4a438b}.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.system-check{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px}.system-check-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.status-dot{width:11px;height:11px;border-radius:50%;background:#20a873;box-shadow:0 0 0 4px rgba(32,168,115,.12)}.status-dot.bad{background:#dc3545;box-shadow:0 0 0 4px rgba(220,53,69,.12)}.update-banner{padding:24px;border-radius:22px;background:linear-gradient(125deg,#171d38,#343a72);color:#fff}.update-banner p{color:#d1d5e5;margin-bottom:0}.backup-list{list-style:none;padding:0;margin:0}.backup-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.backup-list li:last-child{border-bottom:0}.version-chip{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#eeecff;color:#493cd9;font-weight:800;font-size:.78rem}
@media(max-width:900px){.requirement-grid,.system-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.installer-head,.installer-body-content{padding:24px 20px}.requirement-grid,.system-grid{grid-template-columns:1fr}}

/* Question Bank + Question Master v2.4 */
.question-bank-text{max-width:620px;line-height:1.45;font-weight:650;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.question-image-preview img{max-width:280px;max-height:180px;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:#f8f9fc}.option-editor-list{display:grid;gap:.75rem}.option-editor-row{display:grid;grid-template-columns:36px minmax(180px,1fr) minmax(180px,.7fr) auto auto;gap:.65rem;align-items:center;padding:.75rem;background:#f8f9fc;border:1px solid var(--border);border-radius:14px}.option-correct{display:grid;place-items:center}.option-mini-preview{width:56px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.question-picker-results{max-height:430px;overflow:auto;border:1px solid var(--border);border-radius:16px}.question-picker-row{display:flex;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.question-picker-row:last-child{border-bottom:0}.question-picker-row strong,.question-picker-row small{display:block}.question-picker-row small{color:var(--muted);margin-top:.25rem}.selected-question-list{display:grid;gap:.75rem}.selected-question-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px auto;gap:.8rem;align-items:end;padding:1rem;border:1px solid var(--border);border-radius:15px;background:#fbfcff}.selected-question-main strong,.selected-question-main small{display:block}.selected-question-main strong{font-size:.92rem}.selected-question-main small{color:var(--muted);margin-top:.25rem}.selected-question-row label{font-size:.72rem;font-weight:700;color:var(--muted)}.exam-live-status{display:flex;gap:1rem;flex-wrap:wrap;color:#cbd0e3;font-size:.78rem;margin-top:.35rem}.exam-save-state{display:inline-flex;gap:.35rem;align-items:center}.exam-save-state.error{color:#ffb7b7}.exam-save-state.saving{color:#ffe2a8}.exam-question-image{display:block;max-width:min(680px,100%);max-height:420px;object-fit:contain;margin:0 0 1.2rem;border-radius:16px;border:1px solid var(--border);background:#fafbfe}.exam-option-image{width:120px;height:90px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--border)}.option-image-item{align-items:flex-start}.option-list[data-question-type="multiple_choice"] .option-dot{border-radius:5px}.option-list[data-question-type="multiple_choice"] .option-item input:checked+.option-dot{border:5px solid var(--primary);border-radius:5px}.exam-fill-answer{max-width:720px}.exam-result-hero{background:linear-gradient(125deg,#171d38,#343a72);color:#fff;padding:2rem;border-radius:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.exam-result-hero p{color:#cbd0e3}.result-score{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:.35rem;text-align:right}.result-score strong{font-size:2.8rem}.result-score span{font-size:1.2rem;color:#cbd0e3}.result-score small{grid-column:1/-1;color:#cbd0e3}.result-breakdown{display:grid;gap:.75rem}.result-question{padding:1rem;border:1px solid var(--border);border-radius:14px}.result-question .score-chip{white-space:nowrap}.status-pill.draft{background:#eef0f5;color:#5f6675}.status-pill.published{background:#def7eb;color:#168659}.status-pill.closed,.status-pill.archived{background:#ffe8e8;color:#c53d3d}
@media(max-width:991.98px){.option-editor-row{grid-template-columns:36px 1fr auto}.option-editor-row>input[type="file"]{grid-column:2/-1}.selected-question-row{grid-template-columns:1fr 100px 100px auto}}
@media(max-width:575.98px){.option-editor-row{grid-template-columns:32px 1fr auto}.selected-question-row{grid-template-columns:1fr 1fr}.selected-question-main{grid-column:1/-1}.exam-result-hero{align-items:flex-start;gap:1rem;flex-direction:column}.result-score{text-align:left}}

/* Question Bank large-dataset UX + rich editor v2.5 */
.question-report-grid .metric-card{padding:1rem}.question-report-grid .metric-card strong{font-size:1.35rem}.question-search-box{min-width:260px}.question-filter-category{min-width:230px}.question-advanced-filters{animation:questionFade .16s ease}.question-ajax-table-card{padding-bottom:1rem}.question-bank-table{min-width:1120px}.table-sort{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.table-sort:hover,.table-sort.active{color:var(--primary)}.category-path-cell{display:inline-block;max-width:250px;line-height:1.35}.difficulty-pill{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:capitalize;background:#eef0f5;color:#616879}.difficulty-pill.easy{background:#e5f8ef;color:#168659}.difficulty-pill.medium{background:#fff3dd;color:#a86800}.difficulty-pill.hard{background:#ffe9e9;color:#bd3c3c}.question-pagination-bar{min-height:32px}.question-page-size{width:82px}.status-pill.archived{background:#eef0f5;color:#666d7c}.status-pill.draft{background:#e8efff;color:#3565d5}

.question-master-settings{position:sticky;top:110px}.exam-builder-summary{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:1rem;border-radius:16px;background:#f7f8fc}.exam-builder-summary div{display:flex;flex-direction:column}.exam-builder-summary span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.exam-builder-summary strong{font-size:1.4rem;margin-top:.2rem}.question-master-report .bank-report-mini{height:100%;padding:.8rem 1rem;border:1px solid var(--border);border-radius:14px;background:#fafbfe;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.bank-report-mini span{font-size:.76rem;color:var(--muted);font-weight:700}.bank-report-mini strong{font-size:1.15rem}.question-master-filterbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(190px,1fr) minmax(170px,1fr) auto;gap:.6rem}.question-master-picker-table{border:1px solid var(--border);border-radius:16px;max-height:560px;overflow:auto}.question-master-picker-table table{min-width:880px}.question-master-picker-table thead{position:sticky;top:0;background:#fff;z-index:2}.question-picker-title{max-width:520px;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.selected-question-scroll{max-height:560px;overflow:auto;padding-right:.2rem}.selected-empty{display:grid;justify-items:center;text-align:center;gap:.4rem;padding:2.5rem;border:1px dashed #dfe3ee;border-radius:16px;color:var(--muted)}.selected-empty i{font-size:2rem;color:#a7adbd}.selected-empty strong{color:var(--ink)}.selected-question-row{background:#fff}.selected-question-row:hover{border-color:#d6d2ff;box-shadow:0 7px 20px rgba(33,39,80,.05)}

.question-author-layout{align-items:start}.question-author-sidebar{position:sticky;top:110px}.rich-editor{border:1px solid #dde1ec;border-radius:16px;overflow:hidden;background:#fff;transition:.15s}.rich-editor:focus-within{border-color:#8d84fb;box-shadow:0 0 0 .25rem rgba(91,77,247,.10)}.rich-editor-toolbar{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;padding:.55rem .65rem;background:#f7f8fc;border-bottom:1px solid var(--border)}.rich-editor-toolbar button{width:34px;height:32px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#4f576b;font-weight:800}.rich-editor-toolbar button:hover{background:#fff;border-color:#dfe2eb;color:var(--primary)}.rich-toolbar-divider{height:22px;width:1px;background:#dfe2eb;margin:0 .2rem}.rich-editor-surface{min-height:260px;padding:1.05rem 1.15rem;outline:0;line-height:1.65;font-size:1rem}.rich-editor-surface.compact{min-height:150px}.rich-editor-surface:empty:before{content:attr(data-placeholder);color:#a2a8b5;pointer-events:none}.rich-editor-surface p:last-child{margin-bottom:0}.rich-editor-surface table,.rich-rendered table,.exam-question-rich table{width:100%;border-collapse:collapse;margin:1rem 0}.rich-editor-surface td,.rich-editor-surface th,.rich-rendered td,.rich-rendered th,.exam-question-rich td,.exam-question-rich th{border:1px solid #dfe3ec;padding:.5rem}.rich-editor-surface blockquote,.rich-rendered blockquote,.exam-question-rich blockquote{border-left:4px solid #d8d4ff;padding:.4rem 0 .4rem 1rem;color:#60687a}.rich-editor-surface pre,.rich-rendered pre,.exam-question-rich pre{background:#151a2c;color:#f2f4ff;padding:1rem;border-radius:12px;white-space:pre-wrap}.rich-editor-surface img,.rich-rendered img,.exam-question-rich img{max-width:100%;height:auto;border-radius:12px}.rich-editor-compact .rich-editor-toolbar{padding:.4rem .55rem}.type-help-box{padding:.7rem .8rem;border-radius:12px;background:#f6f5ff;color:#5b5488;font-size:.78rem;line-height:1.4}.difficulty-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.difficulty-choice input{position:absolute;opacity:0}.difficulty-choice span{display:block;text-align:center;border:1px solid #dde1ec;border-radius:11px;padding:.65rem .3rem;cursor:pointer;font-size:.8rem;font-weight:800}.difficulty-choice input:checked+span{border-color:var(--primary);background:#efedff;color:var(--primary);box-shadow:0 0 0 3px rgba(91,77,247,.08)}.question-image-drop{display:grid;justify-items:center;text-align:center;gap:.2rem;padding:1.2rem;border:1.5px dashed #d6dae6;border-radius:14px;background:#fafbfe;cursor:pointer}.question-image-drop:hover{border-color:#aaa3fb;background:#f8f7ff}.question-image-drop i{font-size:1.5rem;color:var(--primary)}.question-image-drop span{font-weight:700;font-size:.84rem}.question-image-drop small{color:var(--muted)}.question-new-image-preview{display:block;width:100%;max-height:210px;object-fit:contain;margin-top:.75rem;border:1px solid var(--border);border-radius:12px;background:#fafbfe}.option-editor-row-v2{display:flex;align-items:center;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:14px;background:#fbfcff}.option-correct-control{display:flex;align-items:center;gap:.4rem;min-width:84px;font-size:.74rem;font-weight:800;color:var(--muted);cursor:pointer}.option-correct-control:has(input:checked){color:#168659}.option-image-upload{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .65rem;border:1px solid #dde1ec;border-radius:10px;background:#fff;cursor:pointer;font-size:.75rem;font-weight:700;color:#697184}.option-image-upload:hover{border-color:#aaa3fb;color:var(--primary)}.question-save-note{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border-radius:13px;background:#effaf5;color:#1b7051}.question-save-note i{font-size:1.2rem}.question-save-note strong,.question-save-note small{display:block}.question-save-note small{margin-top:.1rem;color:#4e7f6e}.category-tree-list{display:grid}.category-tree-row{display:grid;grid-template-columns:auto minmax(0,1fr) 90px auto;align-items:center;gap:.8rem;padding:.8rem .6rem .8rem calc(.4rem + (var(--category-depth) * 1.35rem));border-bottom:1px solid var(--border)}.category-tree-row:last-child{border-bottom:0}.category-tree-branch{display:flex;align-items:center}.category-icon{width:34px;height:34px;border-radius:10px;background:#f0efff;color:var(--primary);display:grid;place-items:center}.category-tree-main strong,.category-tree-main small{display:block}.category-tree-main small{color:var(--muted);margin-top:.12rem}.category-tree-count{text-align:right}.category-tree-count strong,.category-tree-count span{display:block}.category-tree-count span{font-size:.68rem;color:var(--muted)}

.exam-question-rich{font-size:1.18rem;font-weight:650;line-height:1.6;margin-bottom:1.1rem}.exam-question-rich h2,.exam-question-rich h3,.exam-question-rich h4{font-size:1.2rem;margin:.5rem 0}.exam-question-rich p{margin:.45rem 0}.result-question-text{font-weight:700;line-height:1.5}.result-question-text p{margin:0}.rich-rendered{line-height:1.55}.rich-rendered p:last-child{margin-bottom:0}

@keyframes questionFade{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:1199.98px){.question-author-sidebar,.question-master-settings{position:static}.question-master-filterbar{grid-template-columns:1fr 1fr}.question-master-search{grid-column:1/-1}}
@media(max-width:767.98px){.question-master-filterbar{grid-template-columns:1fr}.question-master-search{grid-column:auto}.option-editor-row-v2{align-items:stretch;flex-wrap:wrap}.option-correct-control{min-width:auto}.option-editor-row-v2 .flex-grow-1{flex-basis:calc(100% - 110px)}.category-tree-row{grid-template-columns:auto minmax(0,1fr) auto}.category-tree-count{display:none}.rich-editor-toolbar{overflow-x:auto;flex-wrap:nowrap}.rich-editor-surface{min-height:220px}.question-report-grid .col-xl{flex:0 0 50%;max-width:50%}}
@media(max-width:480px){.question-report-grid .col-xl{flex-basis:100%;max-width:100%}.difficulty-choice{grid-template-columns:1fr}.selected-question-row{grid-template-columns:1fr}.selected-question-row>div:not(.selected-question-main){width:100%}}

/* Assessment manager UX v2.6 */
.assessment-nav{display:flex;gap:.45rem;align-items:center;padding:.45rem;background:#fff;border:1px solid var(--border);border-radius:16px;width:max-content;max-width:100%;overflow-x:auto;box-shadow:0 8px 24px rgba(29,34,65,.04)}.assessment-nav a{display:inline-flex;align-items:center;gap:.48rem;padding:.68rem .9rem;border-radius:11px;color:#596176;text-decoration:none;font-size:.84rem;font-weight:750;white-space:nowrap}.assessment-nav a:hover{background:#f7f7fc;color:var(--primary)}.assessment-nav a.active{background:#efedff;color:var(--primary);box-shadow:inset 0 0 0 1px #dedaff}
.exam-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.exam-step{display:flex;align-items:center;gap:.7rem;padding:.82rem 1rem;background:#fff;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:#6a7182;min-width:0}.exam-step b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f0f1f6;color:#667085;flex:0 0 auto}.exam-step span{font-size:.8rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-step:hover{border-color:#d6d2ff;color:var(--primary)}.exam-step.active{background:#f6f5ff;border-color:#cfcaff;color:var(--primary)}.exam-step.active b{background:var(--primary);color:#fff}.exam-step.disabled{opacity:.5;cursor:not-allowed}.exam-focus-card{padding:1.7rem}.exam-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.exam-picker-filters{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(180px,1fr) minmax(150px,.8fr) minmax(130px,.7fr) auto;gap:.55rem}.exam-bank-table-wrap{border:1px solid var(--border);border-radius:14px;max-height:610px;overflow:auto}.exam-bank-table{min-width:880px}.exam-bank-table thead{position:sticky;top:0;z-index:2;background:#fff}.exam-selected-panel{position:sticky;top:105px}.exam-selected-summary{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem}.exam-selected-summary div{padding:.8rem;border-radius:12px;background:#f7f8fc}.exam-selected-summary span,.exam-selected-summary strong{display:block}.exam-selected-summary span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.exam-selected-summary strong{font-size:1.25rem;margin-top:.15rem}.exam-selected-list{display:grid;gap:.55rem;max-height:580px;overflow:auto;padding-right:.15rem}.exam-selected-mini{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:.6rem;align-items:start;padding:.68rem;border:1px solid var(--border);border-radius:12px;background:#fbfcff}.exam-selected-mini strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8rem;line-height:1.35}.exam-selected-mini small{display:block;color:var(--muted);font-size:.68rem;margin-top:.18rem}.exam-selected-no{width:28px;height:28px;border-radius:9px;background:#efedff;color:var(--primary);display:grid;place-items:center;font-size:.72rem;font-weight:800}.exam-sticky-save{position:sticky;bottom:12px;z-index:20;margin-top:1rem;padding:.75rem 1rem;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 45px rgba(29,34,65,.12);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.exam-order-totals{display:flex;gap:1rem}.exam-order-totals span{font-size:.78rem;color:var(--muted)}.exam-order-totals strong{color:var(--ink)}.exam-order-list{display:grid;gap:.65rem}.exam-order-row{display:grid;grid-template-columns:34px 42px minmax(260px,1fr) 105px 105px 82px;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--border);border-radius:14px;background:#fff;transition:.15s}.exam-order-row[draggable="true"]{cursor:grab}.exam-order-row.dragging{opacity:.45;border-color:var(--primary);box-shadow:0 10px 30px rgba(91,77,247,.12)}.exam-drag-handle{font-size:1.25rem;color:#a2a8b5;text-align:center}.exam-order-number{width:36px;height:36px;border-radius:11px;background:#f0efff;color:var(--primary);display:grid;place-items:center;font-weight:850}.exam-order-main{min-width:0}.exam-order-main strong{display:block;line-height:1.35;font-size:.88rem}.exam-order-main small{display:block;color:var(--muted);font-size:.72rem;margin-top:.2rem}.exam-mark-field label{font-size:.66rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.exam-order-buttons{display:flex;gap:.25rem;justify-content:flex-end}
.attempt-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.attempt-policy-card{position:relative;cursor:pointer}.attempt-policy-card input{position:absolute;opacity:0}.attempt-policy-card>span{display:flex;flex-direction:column;gap:.35rem;min-height:150px;padding:1.05rem;border:1px solid var(--border);border-radius:16px;background:#fff;transition:.15s}.attempt-policy-card i{font-size:1.5rem;color:#7b8192}.attempt-policy-card strong{font-size:.95rem}.attempt-policy-card small{color:var(--muted);line-height:1.4}.attempt-policy-card input:checked+span{border-color:#a8a0ff;background:#f6f5ff;box-shadow:0 0 0 3px rgba(91,77,247,.08)}.attempt-policy-card input:checked+span i,.attempt-policy-card input:checked+span strong{color:var(--primary)}.rule-switch{height:100%;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fbfcff}.rule-switch .form-check-label strong,.rule-switch .form-check-label small{display:block}.rule-switch .form-check-label small{color:var(--muted);font-size:.74rem;margin-top:.1rem}.readiness-list{display:grid;gap:.65rem}.readiness-list>div{display:flex;gap:.65rem;align-items:center;padding:.72rem;border-radius:12px;background:#f8f9fc}.readiness-list i{font-size:1.15rem;color:#aab0bc}.readiness-list .done i{color:#20a26b}.readiness-list strong,.readiness-list small{display:block}.readiness-list small{color:var(--muted);font-size:.73rem}
.exam-manager-table{min-width:1180px}.exam-list-title{max-width:390px}.exam-list-title strong,.exam-list-title small{display:block}.exam-list-title strong{line-height:1.35}.exam-list-title small{color:var(--muted);font-size:.72rem;margin-top:.18rem}.exam-policy-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;background:#f0f1f5;color:#5f6677}.exam-policy-pill.one_time{background:#edf1ff;color:#4c63bf}.exam-policy-pill.retest{background:#fff3df;color:#9a6508}.exam-policy-pill.unlimited{background:#e7f8ef;color:#167a56}.exam-table-stat{display:flex;align-items:baseline;gap:.3rem}.exam-table-stat strong{font-size:1rem}.exam-table-stat span{font-size:.72rem;color:var(--muted)}.mini-progress{height:6px;background:#edf0f5;border-radius:999px;overflow:hidden;margin-top:.35rem;max-width:130px}.mini-progress span{display:block;height:100%;background:var(--primary);border-radius:inherit}.exam-list-card .dropdown-menu form{margin:0}.exam-list-card .dropdown-item{font-size:.82rem}
.exam-report-metrics .metric-card small,.exam-dashboard-metrics .metric-card small{display:block;font-size:.7rem;color:var(--muted);margin-top:.12rem}.exam-chart-wrap{width:100%;min-height:250px}.exam-chart-wrap canvas{display:block;max-width:100%}.exam-chart-note{font-size:.74rem;color:var(--muted);padding-top:.65rem;border-top:1px solid var(--border)}.score-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.score-summary-grid div{padding:1rem;border-radius:14px;background:#f7f8fc}.score-summary-grid span,.score-summary-grid strong{display:block}.score-summary-grid span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.score-summary-grid strong{font-size:1.35rem;margin-top:.2rem}.exam-report-table{min-width:900px}.student-outcome{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.student-outcome.passed{background:#e5f8ef;color:#168659}.student-outcome.failed{background:#ffe9e9;color:#bd3c3c}.student-outcome.in_progress{background:#fff3dd;color:#9b680e}.student-outcome.not_attempted{background:#f0f1f5;color:#6f7582}
.dashboard-exam-list{display:grid}.dashboard-exam-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(200px,1fr) minmax(200px,1fr) 90px 18px;gap:1rem;align-items:center;padding:1rem .25rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--ink)}.dashboard-exam-row:last-child{border-bottom:0}.dashboard-exam-row:hover{background:#fbfbfe}.dashboard-exam-title strong,.dashboard-exam-title small{display:block}.dashboard-exam-title small{color:var(--muted);font-size:.72rem;margin-top:.18rem}.dashboard-graph-label{display:flex;justify-content:space-between;gap:.5rem;font-size:.68rem;color:var(--muted)}.dashboard-graph-label strong{color:#596176}.dashboard-progress{height:8px;border-radius:999px;background:#edf0f5;overflow:hidden;margin-top:.4rem}.dashboard-progress span{display:block;height:100%;background:var(--primary);border-radius:inherit}.dashboard-progress.success span{background:#20a26b}.dashboard-exam-score{text-align:right}.dashboard-exam-score strong,.dashboard-exam-score small{display:block}.dashboard-exam-score strong{font-size:1.05rem}.dashboard-exam-score small{font-size:.65rem;color:var(--muted)}
@media(max-width:1399.98px){.exam-picker-filters{grid-template-columns:1.4fr 1fr 1fr auto}.exam-picker-filters>select[data-filter="difficulty"]{display:none}.exam-order-row{grid-template-columns:34px 42px minmax(220px,1fr) 95px 95px 82px}}
@media(max-width:1199.98px){.exam-selected-panel{position:static}.dashboard-exam-row{grid-template-columns:minmax(220px,1.4fr) 1fr 1fr 80px}.dashboard-exam-row>i{display:none}.exam-order-row{grid-template-columns:34px 42px minmax(0,1fr) 95px 95px}.exam-order-buttons{grid-column:3/-1}.attempt-policy-grid{grid-template-columns:1fr}.attempt-policy-card>span{min-height:auto}.exam-stepper{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.assessment-nav{width:100%}.exam-stepper{grid-template-columns:1fr 1fr}.exam-picker-filters{grid-template-columns:1fr}.exam-picker-filters>select[data-filter="difficulty"]{display:block}.exam-order-row{grid-template-columns:30px 38px minmax(0,1fr)}.exam-mark-field{grid-column:auto/span 1}.exam-order-row .exam-mark-field:nth-of-type(1){grid-column:2/3}.exam-order-row .exam-mark-field:nth-of-type(2){grid-column:3/4}.exam-order-buttons{grid-column:3/4}.exam-form-actions,.exam-sticky-save{align-items:stretch;flex-direction:column}.exam-sticky-save>div{display:flex;justify-content:space-between}.dashboard-exam-row{grid-template-columns:1fr;gap:.65rem}.dashboard-exam-score{text-align:left}.score-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.exam-stepper{grid-template-columns:1fr}.score-summary-grid{grid-template-columns:1fr}.exam-order-row{grid-template-columns:30px 36px minmax(0,1fr)}.exam-order-main{grid-column:3/4}.exam-mark-field{grid-column:2/4!important}.exam-order-buttons{grid-column:3/4}.exam-manager-metrics .col-6,.exam-report-metrics .col-6{width:100%}}
.question-bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .85rem;margin-bottom:.7rem;border:1px solid #d8d4ff;background:#f6f5ff;border-radius:12px}.question-bulk-bar strong,.question-bulk-bar small{display:block}.question-bulk-bar small{color:var(--muted);font-size:.7rem}.question-check-col{width:38px;text-align:center}

/* v2.6.1 focused one-question exam player */
.exam-player-shell{max-width:1320px;margin:0 auto 3rem}.exam-player-toolbar{position:sticky;top:76px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 1.15rem;background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:18px 18px 0 0;box-shadow:0 12px 34px rgba(24,30,58,.07);backdrop-filter:blur(14px)}.exam-player-identity{min-width:0}.exam-player-identity .eyebrow{font-size:.64rem}.exam-player-identity h1{font-size:1.05rem;margin:.12rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:640px}.exam-player-identity .exam-live-status{margin-top:.28rem;color:var(--muted)}.exam-player-status{display:flex;align-items:center;gap:1rem;flex:0 0 auto}.exam-progress-copy{text-align:right}.exam-progress-copy strong,.exam-progress-copy span{display:block}.exam-progress-copy strong{font-size:.8rem;color:var(--ink)}.exam-progress-copy span{font-size:.68rem;color:var(--muted);margin-top:.14rem}.exam-player-toolbar .exam-timer{min-width:130px;justify-content:center;background:#eef0ff;color:#333b7d;padding:.58rem .75rem;border-radius:13px;border:1px solid #dadcff;transition:.18s}.exam-player-toolbar .exam-timer>span{display:grid;line-height:1.05}.exam-player-toolbar .exam-timer small{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;opacity:.72}.exam-player-toolbar .exam-timer strong{font-size:1.02rem;margin-top:.15rem;font-variant-numeric:tabular-nums}.exam-player-toolbar .exam-timer.warning{background:#fff6df;border-color:#f4dda2;color:#8a5e06}.exam-player-toolbar .exam-timer.danger{background:#fff0f0;border-color:#ffc7c7;color:#bd3434;animation:examTimerPulse 1.2s ease-in-out infinite}@keyframes examTimerPulse{50%{box-shadow:0 0 0 5px rgba(219,66,66,.08)}}.exam-player-progress{height:5px;background:#eceef4;border-left:1px solid var(--border);border-right:1px solid var(--border);overflow:hidden}.exam-player-progress span{display:block;height:100%;background:var(--primary);transition:width .22s ease}.exam-instructions-compact{margin:.8rem 0;padding:.72rem .9rem;background:#fff;border:1px solid var(--border);border-radius:13px;color:#596176;font-size:.78rem}.exam-instructions-compact summary{cursor:pointer;font-weight:800;color:var(--ink)}.exam-instructions-compact>div{padding:.55rem .1rem .05rem;line-height:1.55}.exam-player-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}.exam-player-main{min-width:0}.exam-player-question{min-height:500px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.8rem;box-shadow:0 8px 28px rgba(20,27,55,.035)}.exam-player-question.active{animation:examQuestionIn .18s ease-out}@keyframes examQuestionIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}.exam-question-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;margin-bottom:1.2rem;border-bottom:1px solid #eef0f4}.exam-question-head>div:first-child{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.exam-question-number{font-size:.74rem;font-weight:850;color:var(--primary)}.exam-question-type{font-size:.64rem;font-weight:800;color:#737b8c;padding:.24rem .5rem;background:#f3f4f7;border-radius:999px}.exam-question-marks{display:flex;gap:.45rem;align-items:center;font-size:.75rem;white-space:nowrap}.exam-question-marks strong{color:#2b6f53}.exam-question-marks span{color:#c14b4b}.exam-player-question .exam-question-rich{font-size:1.12rem;line-height:1.72;margin-bottom:1.35rem}.exam-player-question .option-list{gap:.68rem}.exam-player-question .option-item{min-height:58px;padding:.9rem 1rem;background:#fff}.exam-player-question .option-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(29,35,67,.05)}.exam-player-question .form-select,.exam-player-question .form-control{min-height:52px;border-radius:12px}.exam-player-actions{position:sticky;bottom:14px;z-index:25;margin-top:1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.72rem;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 42px rgba(27,33,63,.12);backdrop-filter:blur(14px)}.exam-action-center{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap}.exam-clear-answer{text-decoration:none;color:#737b8c;font-size:.78rem}.exam-player-actions [data-mark-review].active{background:#fff3d7;border-color:#e7bd58;color:#8a5d04}.exam-player-sidebar{position:sticky;top:184px;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 28px rgba(20,27,55,.035)}.exam-palette-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.exam-palette-head .eyebrow{font-size:.6rem}.exam-palette-head h3{font-size:1rem;margin:.05rem 0}.exam-palette-close{display:none;border:0;background:#f1f2f6;width:34px;height:34px;border-radius:10px;color:#596176}.exam-palette-summary{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.8rem 0}.exam-palette-summary>div{padding:.65rem;background:#f7f8fb;border-radius:11px;text-align:center}.exam-palette-summary strong,.exam-palette-summary span{display:block}.exam-palette-summary strong{font-size:1.05rem}.exam-palette-summary span{font-size:.62rem;color:var(--muted);margin-top:.12rem}.exam-question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:.42rem;max-height:330px;overflow:auto;padding:.15rem .1rem .35rem}.exam-palette-item{position:relative;aspect-ratio:1;border:1px solid #dfe3ea;background:#fff;color:#646b7b;border-radius:10px;font-size:.75rem;font-weight:850;transition:.14s}.exam-palette-item:hover{border-color:#bdb7ff;color:var(--primary)}.exam-palette-item.answered{background:#e9f8f1;border-color:#b9e9d2;color:#187553}.exam-palette-item.marked:after{content:"";position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#e49a21;box-shadow:0 0 0 2px #fff}.exam-palette-item.current{border-color:var(--primary);box-shadow:0 0 0 2px rgba(91,77,247,.16);color:var(--primary);background:#f2f0ff}.exam-palette-item.current.answered{background:#edf9f4}.exam-palette-legend{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .55rem;padding:.8rem 0;margin:.8rem 0;border-top:1px solid #eef0f4;border-bottom:1px solid #eef0f4}.exam-palette-legend span{display:flex;align-items:center;gap:.35rem;font-size:.61rem;color:#737b8c}.exam-palette-legend i{width:10px;height:10px;border-radius:3px;border:1px solid #d9dde6;background:#fff}.exam-palette-legend .legend-current{border-color:var(--primary);background:#f2f0ff}.exam-palette-legend .legend-answered{border-color:#b9e9d2;background:#e9f8f1}.exam-palette-legend .legend-marked{border-color:#efc979;background:#fff1cf}.exam-review-panel{min-height:500px;padding:2.2rem;background:#fff;border:1px solid var(--border);border-radius:18px;text-align:center}.exam-review-icon{width:62px;height:62px;margin:0 auto 1rem;border-radius:18px;background:#efedff;color:var(--primary);display:grid;place-items:center;font-size:1.65rem}.exam-review-panel h2{font-size:1.45rem;margin:.25rem 0 .5rem}.exam-review-panel>p{max-width:620px;margin:.2rem auto 1.4rem}.exam-review-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:620px;margin:0 auto 1rem}.exam-review-stats>div{padding:1rem;background:#f7f8fb;border-radius:14px}.exam-review-stats span,.exam-review-stats strong{display:block}.exam-review-stats span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:850}.exam-review-stats strong{font-size:1.5rem;margin-top:.2rem}.exam-review-warning{max-width:620px;margin:0 auto 1rem;padding:.8rem 1rem;border-radius:12px;background:#fff6e5;border:1px solid #f1d69d;color:#8a620f;display:flex;gap:.5rem;text-align:left;font-size:.78rem}.exam-review-actions{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1.4rem}.exam-mobile-dock,.exam-palette-backdrop{display:none}
@media(max-width:991.98px){.exam-player-toolbar{top:64px}.exam-player-grid{grid-template-columns:1fr}.exam-player-sidebar{position:fixed;z-index:1070;left:0;right:0;bottom:0;top:auto;max-height:76dvh;border-radius:22px 22px 0 0;transform:translateY(105%);transition:transform .2s ease;box-shadow:0 -18px 55px rgba(20,27,55,.2);overflow:auto}.exam-player-sidebar.open{transform:translateY(0)}.exam-palette-close{display:grid;place-items:center}.exam-question-palette{grid-template-columns:repeat(8,1fr);max-height:36dvh}.exam-mobile-dock{position:fixed;z-index:50;left:50%;bottom:12px;transform:translateX(-50%);display:flex;overflow:hidden;background:#171c37;border-radius:14px;box-shadow:0 14px 38px rgba(18,23,47,.22)}.exam-mobile-dock button{border:0;background:transparent;color:#fff;padding:.65rem .85rem;display:flex;align-items:center;gap:.38rem;font-size:.72rem;font-weight:800}.exam-mobile-dock button+button{border-left:1px solid rgba(255,255,255,.13)}.exam-mobile-dock strong{font-size:.62rem;background:rgba(255,255,255,.12);padding:.15rem .33rem;border-radius:999px}.exam-palette-backdrop{position:fixed;inset:0;z-index:1065;background:rgba(14,18,36,.42);backdrop-filter:blur(2px)}body.exam-palette-open .exam-palette-backdrop{display:block}.exam-player-actions{bottom:72px}.exam-player-question{min-height:auto}.exam-player-status .exam-progress-copy{display:none}}
@media(max-width:767.98px){.exam-player-toolbar{margin-left:-.2rem;margin-right:-.2rem;padding:.72rem .8rem;gap:.6rem;border-radius:14px 14px 0 0}.exam-player-identity h1{font-size:.88rem;max-width:52vw}.exam-player-identity .exam-live-status span+span{display:none}.exam-player-toolbar .exam-timer{min-width:104px;padding:.5rem .6rem}.exam-player-toolbar .exam-timer strong{font-size:.9rem}.exam-player-question{padding:1.15rem;border-radius:14px}.exam-question-head{margin-bottom:.9rem;padding-bottom:.8rem}.exam-player-question .exam-question-rich{font-size:1rem;line-height:1.62}.exam-player-question .option-item{min-height:54px;padding:.78rem .8rem}.exam-player-actions{grid-template-columns:1fr 1fr;padding:.55rem}.exam-player-actions>.btn:first-child,.exam-player-actions>.btn:last-child{width:100%}.exam-action-center{grid-column:1/-1;grid-row:1;justify-content:space-between}.exam-clear-answer{padding-left:.25rem;padding-right:.25rem}.exam-player-actions [data-mark-review]{font-size:.72rem;padding:.45rem .6rem}.exam-question-palette{grid-template-columns:repeat(6,1fr)}.exam-review-panel{padding:1.4rem 1rem}.exam-review-stats{gap:.45rem}.exam-review-stats>div{padding:.78rem .35rem}.exam-review-actions{align-items:stretch;flex-direction:column-reverse}.exam-review-actions .btn{width:100%}}
@media(max-width:420px){.exam-player-identity .eyebrow{display:none}.exam-player-identity h1{max-width:50vw}.exam-player-toolbar .exam-timer{min-width:96px}.exam-question-palette{grid-template-columns:repeat(5,1fr)}.exam-question-marks{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.exam-player-question.active,.exam-player-progress span,.exam-player-sidebar{animation:none;transition:none}.exam-player-toolbar .exam-timer.danger{animation:none}}
.exam-player-question .option-list[data-question-type="multiple_choice"] .option-dot{border-radius:5px}

/* v2.7.0 admin exam timer controls + question-time report */
.exam-time-allocation-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:.6rem;align-items:stretch;padding:.75rem;border:1px solid var(--border);border-radius:15px;background:#fff}.exam-time-allocation-strip>div{padding:.65rem .75rem;border-radius:11px;background:#f7f8fc}.exam-time-allocation-strip span,.exam-time-allocation-strip strong{display:block}.exam-time-allocation-strip span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-weight:800}.exam-time-allocation-strip strong{font-size:.88rem;margin-top:.18rem}.exam-time-allocation-strip>a{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.65rem .8rem;border-radius:11px;background:#f1efff;text-decoration:none;font-size:.75rem;font-weight:800;color:var(--primary)}
.exam-order-row.exam-order-row-timed{grid-template-columns:34px 42px minmax(240px,1fr) 92px 92px 125px 82px}.exam-time-field label{display:block;font-size:.66rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.exam-time-field label small{text-transform:none;letter-spacing:0;font-weight:650}.exam-time-field .exam-time-hint{display:block;margin-top:.18rem;font-size:.62rem;line-height:1.2;color:var(--muted)}
.exam-rule-section{padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px solid var(--border)}.exam-rule-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.exam-rule-section-head h4{font-size:1rem;margin:.08rem 0}.exam-rule-section-head p{margin:.15rem 0 0;font-size:.75rem;color:var(--muted)}
.exam-timer-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.exam-timer-policy-card{position:relative;cursor:pointer}.exam-timer-policy-card input{position:absolute;opacity:0}.exam-timer-policy-card>span:not(.timer-policy-icon){display:flex;flex-direction:column;gap:.3rem;min-height:142px;padding:1rem .9rem 1rem 3.4rem;border:1px solid var(--border);border-radius:15px;background:#fff;transition:.15s}.exam-timer-policy-card .timer-policy-icon{position:absolute;z-index:2;left:.85rem;top:.88rem;width:38px;height:38px;border-radius:11px;background:#f1f2f7;color:#73798a;display:grid;place-items:center}.exam-timer-policy-card strong{font-size:.87rem}.exam-timer-policy-card small{font-size:.71rem;line-height:1.45;color:var(--muted)}.exam-timer-policy-card input:checked~span:not(.timer-policy-icon){border-color:#a9a2ff;background:#f7f6ff;box-shadow:0 0 0 3px rgba(91,77,247,.07)}.exam-timer-policy-card input:checked~.timer-policy-icon{background:#eae7ff;color:var(--primary)}.exam-timer-policy-card:has(input:disabled){cursor:not-allowed;opacity:.72}
.timer-allocation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;height:100%}.timer-allocation-summary>div{padding:.75rem;border-radius:12px;background:#f7f8fb}.timer-allocation-summary span,.timer-allocation-summary strong{display:block}.timer-allocation-summary span{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.timer-allocation-summary strong{font-size:.9rem;margin-top:.18rem}.timer-settings-muted{opacity:.65}.timer-allocation-note{display:flex;gap:.55rem;align-items:flex-start;margin-top:.75rem;padding:.72rem .8rem;border:1px solid var(--border);border-radius:11px;background:#f8f9fc;color:#626a7b;font-size:.73rem;line-height:1.45}.timer-allocation-note i{margin-top:.07rem;color:var(--primary)}
.exam-timing-report-table{min-width:1080px}.exam-timing-report-table th{white-space:nowrap}.exam-timing-question{min-width:300px;max-width:430px}.exam-timing-question strong{display:block;line-height:1.35}.exam-timing-question small{display:block;color:var(--muted);font-size:.67rem;margin-top:.15rem}
@media(max-width:1399.98px){.exam-order-row.exam-order-row-timed{grid-template-columns:34px 42px minmax(200px,1fr) 86px 86px 112px 74px}.exam-time-allocation-strip{grid-template-columns:repeat(4,1fr)}.exam-time-allocation-strip>a{grid-column:1/-1}}
@media(max-width:1199.98px){.exam-timer-policy-grid{grid-template-columns:1fr}.exam-timer-policy-card>span:not(.timer-policy-icon){min-height:auto}.exam-order-row.exam-order-row-timed{grid-template-columns:34px 42px minmax(0,1fr) 90px 90px 110px}.exam-order-row.exam-order-row-timed .exam-order-buttons{grid-column:3/-1}.timer-allocation-summary{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.exam-time-allocation-strip{grid-template-columns:1fr 1fr}.exam-order-row.exam-order-row-timed{grid-template-columns:30px 38px minmax(0,1fr)}.exam-order-row.exam-order-row-timed .exam-time-field{grid-column:2/4}.exam-rule-section-head{flex-direction:column}.timer-allocation-summary{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.exam-time-allocation-strip{grid-template-columns:1fr}.timer-allocation-summary{grid-template-columns:1fr}.exam-order-row.exam-order-row-timed .exam-mark-field,.exam-order-row.exam-order-row-timed .exam-time-field{grid-column:2/4!important}}
