*{box-sizing:border-box}html,body{background:#f1f5f9;width:100%;min-width:320px;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}#root{text-align:left;border:none;width:100%;max-width:none;min-height:100vh;margin:0}.admin-shell{color:#0f172a;background:#f1f5f9;min-height:100vh;display:flex}.admin-sidebar{color:#e2e8f0;background:#0f172a;flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-brand{color:#fff;align-items:center;gap:10px;min-width:0;margin-bottom:28px;font-size:1rem;font-weight:700;display:flex}.admin-brand-dot{background:#3b82f6;border-radius:50%;flex:none;width:10px;height:10px}.admin-nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-nav-link{color:#94a3b8;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-nav-link svg,.admin-logout svg{flex:none}.admin-nav-link:hover{color:#fff;background:#ffffff0f}.admin-nav-link.active{color:#fff;background:#1e40af}.admin-logout{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:8px;width:100%;margin-top:16px;padding:10px 12px;font-size:.85rem;display:flex}.admin-logout:hover{color:#fff;border-color:#ffffff4d}.admin-main{flex:1;min-width:0;padding:28px 32px;overflow:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header>div{min-width:0}.page-header h1{color:#0f172a;word-break:break-word;margin:0 0 4px;font-size:1.5rem;line-height:1.2}.page-subtitle{color:#64748b;margin:0;font-size:.875rem}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px;overflow-x:auto}.panel h2{color:#0f172a;margin:0 0 16px;font-size:1rem}.panel h3{color:#0f172a;overflow-wrap:anywhere;margin:0 0 12px;font-size:.98rem;line-height:1.4}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head h2{overflow-wrap:anywhere;margin:0}.search-box{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;min-width:min(360px,100%);padding:8px 10px;display:inline-flex}.search-box input{color:#0f172a;border:0;outline:0;width:100%;min-width:0;padding:0}.status-pill{color:#475569;background:#e2e8f0;border-radius:999px;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.status-pill.success{color:#166534;background:#dcfce7}.status-pill.warning{color:#92400e;background:#fef3c7}.status-pill.danger{color:#991b1b;background:#fee2e2}.progress-cell{grid-template-columns:minmax(120px,1fr) 44px;align-items:center;gap:10px;display:grid}.progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:#2563eb;height:100%;display:block}.progress-medium .progress-track span{background:#f59e0b}.progress-low .progress-track span{background:#ef4444}.progress-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:min(620px,100%);display:flex}.progress-filter{width:min(210px,100%)}.progress-filter select{background:#fff;min-height:36px}.progress-stat-label{align-items:center;gap:8px;display:inline-flex}.panel-note{margin:6px 0 0}.course-progress-table{min-width:860px}.table-subtext{color:#94a3b8;margin-top:4px;font-size:.78rem;display:block}.empty-state{color:#64748b;text-align:center;justify-items:center;gap:8px;padding:36px 16px;display:grid}.empty-state h3,.empty-state p{margin:0}.empty-state svg{color:#94a3b8}.course-picker-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;display:grid}.course-picker-card{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:14px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.course-picker-card:hover,.course-picker-card.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.course-picker-card strong{overflow-wrap:anywhere}.course-picker-card>span:not(.status-pill){color:#64748b;font-size:.82rem}.exam-picker-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;display:grid}.exam-picker-card{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:6px 10px;min-width:0;padding:14px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.exam-picker-card:hover,.exam-picker-card.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.exam-picker-card svg{color:#2563eb;grid-row:span 4}.exam-picker-card strong,.exam-picker-card span{overflow-wrap:anywhere;min-width:0}.exam-picker-card>span:not(.status-pill){color:#64748b;font-size:.82rem}.exam-picker-card .status-pill{width:fit-content}.exam-session-table{min-width:980px}.error-bank-table{min-width:1080px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:6px;padding:18px;display:flex}.stat-label{color:#64748b;font-size:.8rem}.stat-value{color:#0f172a;overflow-wrap:anywhere;font-size:1.5rem;font-weight:700}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;display:grid}.data-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.875rem}.panel-grid .data-table{min-width:420px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.data-table th{color:#64748b;letter-spacing:.03em;text-transform:uppercase;font-size:.75rem;font-weight:600}.actions-cell{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.btn{white-space:nowrap;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-ghost{color:#334155;background:#f1f5f9}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-icon{color:#475569;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;padding:6px;display:inline-flex}.btn-icon.danger{color:#dc2626;border-color:#fecaca}.btn-icon:hover{background:#f8fafc}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid label{color:#475569;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.form-grid input,.form-grid textarea,.form-grid select,.inline-form input,.field-label select{border:1px solid #cbd5e1;border-radius:8px;width:100%;min-width:0;padding:8px 10px;font-family:inherit;font-size:.875rem}.field-label{color:#475569;flex-direction:column;gap:6px;max-width:560px;font-size:.8rem;font-weight:600;display:flex}.content-group{border-top:1px solid #f1f5f9;padding:14px 0}.content-group:first-of-type{border-top:0;padding-top:0}.form-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.form-panel h2{margin-top:0}.inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-form input{flex:1;min-width:min(220px,100%)}.inline-form select{border:1px solid #cbd5e1;border-radius:8px;flex:1;min-width:min(260px,100%);padding:8px 10px;font-size:.875rem}.compact-table{min-width:0}.mini-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:0}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;font-size:.875rem;display:flex}.lesson-list li>span:first-child{overflow-wrap:anywhere;flex:220px;min-width:0}.lesson-list li .muted{flex:160px}.lesson-media-links{flex-wrap:wrap;flex:240px;align-items:center;gap:8px;display:flex}.media-link{color:#2563eb;align-items:center;gap:5px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.media-link:hover{text-decoration:underline}.badge-thumb{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.badge-thumb img{object-fit:cover;width:100%;height:100%}.course-hero-panel{background:#fff;border:1px solid #dbe4ef;border-radius:12px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:24px;margin-bottom:16px;padding:26px;display:grid}.course-hero-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.course-kicker{color:#2563eb;background:#eff6ff;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.course-hero-copy h2{color:#0f172a;overflow-wrap:anywhere;margin:0 0 10px;font-size:1.65rem;line-height:1.25}.course-hero-copy p{color:#475569;white-space:pre-wrap;max-width:760px;margin:0;font-size:.98rem;line-height:1.7}.course-stat-row{grid-template-columns:repeat(3,minmax(0,150px));gap:12px;margin-top:22px;display:grid}.course-stat-row div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.course-stat-row strong,.course-stat-row span{display:block}.course-stat-row strong{color:#0f172a;font-size:1.25rem}.course-stat-row span{color:#64748b;margin-top:3px;font-size:.78rem}.course-hero-media{min-width:0}.course-hero-media img,.course-thumbnail-placeholder{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%}.course-thumbnail-placeholder{color:#2563eb;text-align:center;background:#eff6ff;border:1px dashed #bfdbfe;place-items:center;gap:8px;font-weight:700;display:grid}.course-curriculum{flex-direction:column;gap:14px;display:flex}.curriculum-chapter{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.curriculum-chapter-head{background:#f8fafc;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.curriculum-chapter-head span{color:#2563eb;font-size:.78rem;font-weight:700}.curriculum-chapter-head h3{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:.98rem}.curriculum-chapter-head p{color:#64748b;margin:0;font-size:.82rem}.curriculum-lessons{margin:0;padding:0;list-style:none}.curriculum-lessons li{color:#334155;border-top:1px solid #f1f5f9;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:13px 16px;display:grid}.lesson-index{color:#475569;background:#e2e8f0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:inline-grid}.curriculum-lessons strong,.curriculum-lessons span{display:block}.curriculum-lessons strong{color:#0f172a;overflow-wrap:anywhere;font-size:.9rem}.curriculum-lessons span{color:#64748b;margin-top:3px;font-size:.78rem}.option-list{margin:12px 0;padding-left:20px;font-size:.875rem}.exam-preview-list{flex-direction:column;gap:16px;display:flex}.exam-question-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:26px;box-shadow:0 1px 3px #0f172a14}.question-badge{color:#2563eb;background:#dbeafe;border:1px solid #bfdbfe;border-radius:999px;align-items:center;min-height:36px;padding:6px 16px;font-weight:700;display:inline-flex}.question-divider{background:#cbd5e1;height:1px;margin:12px 0 18px}.question-content{color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.08rem;line-height:1.8}.question-image{object-fit:contain;width:min(640px,100%);max-height:460px;margin:18px auto 0;display:block}.answer-list{gap:10px;margin-top:18px;display:grid}.answer-item{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;font-size:.95rem;line-height:1.5;display:grid}.answer-item.is-correct{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.answer-prefix{font-weight:700}.short-answer-preview{margin-top:18px}.question-meta{color:#64748b;margin:16px 0 0;font-size:.82rem}.empty-exam-panel{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.option-editor{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.option-editor h3{margin:0}.option-row{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:10px;display:grid}.segmented-row{flex-wrap:wrap;gap:18px;display:flex}.true-false-row{grid-template-columns:minmax(0,1fr) 120px}.link{color:#2563eb;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.back-link{color:#64748b;align-items:center;gap:6px;margin-bottom:12px;font-size:.875rem;text-decoration:none;display:inline-flex}.back-link:hover{color:#2563eb}.muted{color:#94a3b8;font-size:.875rem}.alert{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:.875rem;display:flex}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.alert-close{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1.2rem}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-label.inline{font-weight:400!important}.checkbox-label input,.checkbox-label.inline input{flex:none;width:auto}.login-page{background:#f5f6f8;place-items:center;min-height:100svh;padding:56px 24px;display:grid;position:relative}.login-app-brand{color:#2f3139;align-items:center;gap:12px;font-size:1.55rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:36px;left:36px}.login-app-logo{color:#3b82f6;justify-content:center;align-items:center;display:inline-flex}.login-card{width:100%;max-width:420px;box-shadow:none;background:#fff;border:1px solid #dedfe3;border-radius:8px;flex-direction:column;gap:0;padding:45px 46px 64px;display:flex}.login-kicker{color:#9698a3;margin:0 0 10px;font-size:1rem;font-weight:500}.login-card h1{color:#30313c;letter-spacing:0;margin:0 0 44px;font-size:1.95rem;font-weight:800;line-height:1.15}.login-field{flex-direction:column;margin-bottom:23px;display:flex}.login-card input{color:#30313c;background:#fff;border:1px solid #dcdde2;border-radius:6px;outline:none;width:100%;padding:14px 13px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.login-card input::placeholder{color:#9b9da7}.login-card input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.login-options{color:#31333d;justify-content:space-between;align-items:center;gap:14px;margin:-6px 0 43px;font-size:.79rem;display:flex}.login-remember{align-items:center;gap:5px;min-width:0;display:inline-flex}.login-remember input{border-radius:2px;flex:none;width:14px;height:14px;padding:0}.login-options a{color:#2f7df6;text-underline-offset:1px;white-space:nowrap;font-weight:500;text-decoration:underline}.login-card .btn-primary{background:#3b82f6;border-radius:6px;justify-content:center;width:100%;padding:14px 16px;font-size:.87rem;font-weight:600}.login-card .btn-primary:hover:not(:disabled){background:#2563eb}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1200px){.admin-sidebar{width:220px;padding:18px 12px}.admin-main{padding:24px}}@media (width<=1024px){.admin-sidebar{width:208px}.admin-main{padding:22px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat-card,.panel{border-radius:10px;padding:16px}.panel-grid,.course-hero-panel{grid-template-columns:1fr}.course-hero-media{order:-1}}@media (width<=900px){.admin-shell{flex-direction:column}.admin-sidebar{z-index:20;flex-direction:row;align-items:center;gap:12px;width:100%;height:auto;padding:12px 16px;overflow:auto hidden}.admin-brand{white-space:nowrap;flex:none;margin-bottom:0}.admin-nav{flex-direction:row;flex:auto;gap:6px;min-width:max-content}.admin-nav-link{flex:none}.admin-logout{flex:none;width:auto;margin-top:0}.admin-main{padding:20px}.page-header{margin-bottom:18px}}@media (width<=640px){.admin-sidebar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.admin-brand{font-size:.95rem}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;display:grid}.admin-nav-link{justify-content:center;padding:9px 8px;font-size:.82rem}.admin-logout{justify-content:center;width:100%}.admin-main{padding:16px 12px 24px}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-header h1{font-size:1.3rem}.page-header-action,.page-header-action .btn{width:100%}.page-header-action .btn,.btn{justify-content:center}.panel{margin-bottom:12px;padding:14px}.panel-head{align-items:flex-start}.stat-grid{grid-template-columns:1fr;margin-bottom:16px}.form-grid{grid-template-columns:1fr;gap:12px}.form-grid .span-2{grid-column:span 1}.form-actions,.inline-form{flex-direction:column;align-items:stretch}.form-actions .btn,.inline-form .btn,.inline-form input{width:100%}.checkbox-label,.checkbox-label.inline{justify-content:flex-start;width:100%}.data-table{min-width:560px}.panel-grid .data-table{min-width:420px}.course-hero-panel{padding:16px}.course-hero-copy h2{font-size:1.35rem}.course-stat-row,.curriculum-chapter-head,.curriculum-lessons li{grid-template-columns:1fr}.back-link{margin-bottom:10px}.login-page{align-items:start;padding:92px 18px 24px}.login-app-brand{font-size:1.3rem;top:28px;left:22px}.login-card{padding:34px 24px 42px}.login-card h1{margin-bottom:34px;font-size:1.75rem}.login-options{flex-direction:column;align-items:flex-start;margin-bottom:32px}}@media (width<=420px){.admin-nav{grid-template-columns:1fr}.admin-nav-link{justify-content:flex-start}.login-page{padding-inline:12px}.login-card{padding:30px 18px 34px}}
