@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800;900&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--uw-navy:#0d1b2e;--uw-navy-mid:#111f35;--uw-navy-light:#172641;--uw-blue:#1d4ed8;--uw-blue-dark:#1e40af;--uw-blue-light:#eff6ff;--uw-cyan:#0ea5e9;--uw-cyan-dark:#0284c7;--uw-teal:#0369a1;--uw-green:#16a34a;--uw-green-light:#f0fdf4;--uw-green-mid:#dcfce7;--uw-red:#dc2626;--uw-red-light:#fef2f2;--uw-red-mid:#fee2e2;--uw-amber:#d97706;--uw-amber-light:#fffbeb;--uw-purple:#7c3aed;--uw-purple-light:#f5f3ff;--blue:var(--uw-blue);--blue2:var(--uw-blue-dark);--blue-light:var(--uw-blue-light);--teal:var(--uw-teal);--green:var(--uw-green);--green-light:var(--uw-green-light);--red:var(--uw-red);--red-light:var(--uw-red-light);--amber:var(--uw-amber);--amber-light:var(--uw-amber-light);--purple:var(--uw-purple);--purple-light:var(--uw-purple-light);--sidebar-w:248px;--bg:#f0f4f8;--surface:#fff;--surface2:#f8fafc;--surface3:#f1f5f9;--surface4:#e8eef5;--border:#e2e8f0;--border2:#cbd5e1;--border3:#b6c5d6;--text:#0a1628;--text2:#3d5166;--text3:#7a90a8;--radius:8px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--shadow-xs:0 1px 2px rgba(10,22,40,.05);--shadow-sm:0 1px 4px rgba(10,22,40,.07),0 1px 2px rgba(10,22,40,.04);--shadow:0 4px 8px -1px rgba(10,22,40,.09),0 2px 4px -1px rgba(10,22,40,.05);--shadow-md:0 8px 20px -4px rgba(10,22,40,.12),0 4px 8px -2px rgba(10,22,40,.07);--shadow-lg:0 20px 40px -8px rgba(10,22,40,.15),0 8px 16px -4px rgba(10,22,40,.08);--shadow-xl:0 32px 64px -12px rgba(10,22,40,.22),0 16px 32px -6px rgba(10,22,40,.1);--shadow-glow:0 0 0 3px rgba(14,165,233,.18);--shadow-blue-glow:0 4px 20px rgba(29,78,216,.25);--font:"Plus Jakarta Sans","DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono","Cascadia Code",monospace;--transition:0.2s cubic-bezier(0.4,0,0.2,1);--transition-spring:0.3s cubic-bezier(0.34,1.56,0.64,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font);font-size:14px;outline:none;border:1.5px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--uw-cyan);box-shadow:0 0 0 3px rgba(14,165,233,.15);background:#fff}:focus{outline:none}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--uw-cyan);outline-offset:3px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border3)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--uw-navy);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:200;overflow-y:auto;overflow-x:hidden;border-right:1px solid hsla(0,0%,100%,.06);transition:transform var(--transition);background:linear-gradient(180deg,#0d1b2e,#0f2040 50%,#0d1a2c)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:199;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity var(--transition)}.main-content{margin-left:var(--sidebar-w);flex:1 1;min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition);min-width:0;background:linear-gradient(135deg,#eef2f7,#f0f4f8 50%,#edf1f7)}.page-container{padding:28px 32px;max-width:1360px;width:100%}.mobile-topbar{display:none;align-items:center;justify-content:space-between;background:var(--uw-navy);padding:0 16px;height:56px;flex-shrink:0;border-bottom:1px solid hsla(0,0%,100%,.07);position:-webkit-sticky;position:sticky;top:0;z-index:100}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border2)}.card-pad{padding:24px 28px}.card-glass{background:hsla(0,0%,100%,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.85);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.9)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius);font-size:13.5px;font-weight:600;font-family:var(--font);border:1.5px solid var(--border2);background:var(--surface);color:var(--text);transition:all var(--transition);white-space:nowrap;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(135deg,hsla(0,0%,100%,.15),transparent);transition:opacity var(--transition)}.btn:hover{background:var(--surface2);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:hover:before{opacity:1}.btn:active{transform:scale(.97);box-shadow:none}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(29,78,216,.3),inset 0 1px 0 hsla(0,0%,100%,.15)}.btn-primary:hover{background:linear-gradient(135deg,#1e5be0,#1d48bb);box-shadow:0 4px 16px rgba(29,78,216,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-cyan{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(14,165,233,.35),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-cyan:hover{background:linear-gradient(135deg,#12b0f5,#0291d4);box-shadow:0 4px 16px rgba(14,165,233,.45)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(220,38,38,.3)}.btn-danger:hover{box-shadow:0 4px 14px rgba(220,38,38,.4)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text2)}.btn-ghost:hover{background:var(--surface3);border-color:var(--border)}.btn-sm{padding:6px 12px;font-size:12.5px;border-radius:7px}.btn-lg{padding:13px 26px;font-size:15px;border-radius:11px}.btn-xl{padding:16px 32px;font-size:16px;border-radius:13px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap;letter-spacing:.2px}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-cyan{background:#e0f2fe;color:#0369a1}.badge-teal{background:#ccfbf1;color:#0f766e}.badge-green{background:#dcfce7;color:#15803d}.badge-red{background:#fee2e2;color:#b91c1c}.badge-amber{background:#fef3c7;color:#92400e}.badge-purple{background:#ede9fe;color:#6d28d9}.badge-gray{background:#f1f5f9;color:#475569}.form-label{display:block;font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 13px;font-size:14px;border:1.5px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:all var(--transition)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border3)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--uw-cyan);box-shadow:0 0 0 3px rgba(14,165,233,.14)}.form-textarea{resize:vertical;min-height:90px;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.stat-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px 24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent,linear-gradient(90deg,var(--uw-blue),var(--uw-cyan)));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.stat-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% -20%,rgba(14,165,233,.04) 0,transparent 60%)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border2)}.stat-label{font-size:11.5px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:9px}.stat-value{font-size:34px;font-weight:800;letter-spacing:-1.5px;line-height:1;margin-bottom:5px}.stat-sub{font-size:12px;color:var(--text3);font-weight:500}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;background:var(--surface2);border-bottom:1.5px solid var(--border);white-space:nowrap}.data-table th:first-child{border-radius:var(--radius) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius) 0 0}.data-table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:#f5f8fc}.data-table tbody tr:last-child td{border-bottom:none}.progress-bar{width:100%;height:7px;background:var(--surface3);border-radius:10px;overflow:hidden}.progress-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--uw-blue),var(--uw-cyan));transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px rgba(14,165,233,.4)}.spinner{width:28px;height:28px;border:2.5px solid var(--border2);border-top-color:var(--uw-cyan);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.pulse-loader{display:flex;gap:6px;align-items:center}.pulse-loader span{width:7px;height:7px;border-radius:50%;background:var(--uw-cyan);animation:pulse-dot 1.2s ease-in-out infinite}.pulse-loader span:nth-child(2){animation-delay:.2s}.pulse-loader span:nth-child(3){animation-delay:.4s}@keyframes pulse-dot{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1.1);opacity:1}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:14px}.page-title{font-size:23px;font-weight:800;color:var(--text);letter-spacing:-.6px}.page-subtitle{font-size:13px;color:var(--text3);margin-top:3px;font-weight:500}.modal-overlay{position:fixed;inset:0;background:rgba(10,22,40,.6);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .18s ease}.modal-box{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 1px hsla(0,0%,100%,.05);width:100%;max-height:94vh;overflow-y:auto;animation:slideUp .22s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.tab-bar{display:flex;border-bottom:2px solid var(--border);gap:2px}.tab-btn{padding:11px 20px;font-size:13.5px;font-weight:500;font-family:var(--font);background:none;color:var(--text3);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition);border-radius:var(--radius) var(--radius) 0 0}.tab-btn:hover{color:var(--text2);background:var(--surface2)}.tab-btn.active{color:var(--uw-blue);border-bottom-color:var(--uw-blue);font-weight:700}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 14px;border-radius:10px;margin-bottom:2px;color:hsla(0,0%,100%,.52);font-size:13.5px;font-weight:500;transition:all var(--transition);cursor:pointer;text-decoration:none;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--uw-cyan);border-radius:0 2px 2px 0;transition:height var(--transition-spring)}.nav-item:hover{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.88)}.nav-item.active{background:linear-gradient(90deg,rgba(14,165,233,.18),rgba(14,165,233,.06));color:#fff;font-weight:700;border:1px solid rgba(14,165,233,.2)}.nav-item.active:before{height:70%}.nav-item .nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.nav-section-label{font-size:10px;font-weight:800;color:hsla(0,0%,100%,.22);text-transform:uppercase;letter-spacing:1.2px;padding:10px 14px 5px}.hamburger{display:none;background:none;border:none;color:hsla(0,0%,100%,.8);font-size:0;padding:7px;cursor:pointer;border-radius:8px;align-items:center;justify-content:center;transition:background var(--transition)}.hamburger:hover{background:hsla(0,0%,100%,.12)}.skeleton{background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 50%,#eef2f7 75%);background-size:200% 100%;animation:skeleton 1.5s ease infinite;border-radius:var(--radius)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.quiz-nav-panel{width:224px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.admin-metric-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px;box-shadow:var(--shadow-sm);transition:all var(--transition)}.admin-metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.quiz-topbar{background:#0d1b2e;border-bottom:1px solid hsla(0,0%,100%,.07);height:54px;padding:0 18px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:50;overflow:hidden}.quiz-topbar,.quiz-topbar-left{display:flex;align-items:center;flex-shrink:0;gap:8px}.quiz-topbar-center,.quiz-topbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.quiz-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:600;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);color:#94a3b8;white-space:nowrap;cursor:pointer;transition:all .15s;font-family:var(--font)}.quiz-chip:hover{background:hsla(0,0%,100%,.13);color:#cbd5e1;transform:translateY(-1px)}.quiz-chip.active{background:rgba(217,119,6,.2);border-color:rgba(217,119,6,.4);color:#fbbf24}.quiz-chip.danger{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.3);color:#fca5a5}.quiz-timer{font-family:var(--font-mono);font-size:13px;font-weight:700;padding:5px 11px;border-radius:7px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);color:#e2e8f0;letter-spacing:.5px}.quiz-timer.urgent{background:rgba(220,38,38,.2);border-color:rgba(220,38,38,.4);color:#fca5a5;animation:timerPulse 1s ease infinite}@keyframes timerPulse{0%,to{box-shadow:none}50%{box-shadow:0 0 12px rgba(220,38,38,.4)}}.quiz-mode-badge{padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.page-enter{animation:pageEnter .35s cubic-bezier(.4,0,.2,1) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:slideUpFade .4s cubic-bezier(.4,0,.2,1) both}.stagger>:first-child{animation-delay:.04s}.stagger>:nth-child(2){animation-delay:.08s}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.16s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.24s}@keyframes slideUpFade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(-4px);pointer-events:auto}.tooltip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%) translateY(0);background:#1a2535;color:#e2e8f0;font-size:11.5px;font-weight:500;padding:5px 10px;border-radius:7px;white-space:nowrap;pointer-events:none;opacity:0;transition:all .18s ease;box-shadow:var(--shadow-md)}:focus-visible{outline:2px solid var(--uw-cyan);outline-offset:2px;border-radius:4px}@media (max-width:1024px){:root{--sidebar-w:224px}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-container{padding:22px}.card-pad{padding:20px 22px}}@media (max-width:768px){:root{--sidebar-w:0px}.sidebar{width:268px;transform:translateX(-100%);box-shadow:var(--shadow-xl)}.sidebar.open{transform:translateX(0)}.sidebar-overlay.open{display:block}.main-content{margin-left:0}.hamburger,.mobile-topbar{display:flex}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.page-container{padding:16px}.stat-card{padding:15px 16px}.stat-value{font-size:28px}.mobile-hidden{display:none!important}.card-pad{padding:15px 16px}.btn-lg{padding:12px 18px;font-size:14px}.data-table td,.data-table th{padding:9px 10px;font-size:12px}.page-title{font-size:20px}.quiz-nav-panel{display:none}.quiz-topbar{height:auto;min-height:54px;flex-wrap:wrap;padding:8px 12px;gap:6px}.quiz-topbar-left{order:1;flex:1 1}.quiz-topbar-center{order:3;width:100%;justify-content:center;padding-bottom:2px}.quiz-topbar-right{order:2;flex-shrink:0}.quiz-mode-badge{display:none}.quiz-progress-bar{order:4;width:100%}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.page-header{flex-direction:column;align-items:flex-start}.page-container{padding:12px}.quiz-topbar-right .quiz-chip-label{display:none}.quiz-chip{padding:4px 7px}}@media (max-width:900px){.dash-grid{grid-template-columns:1fr!important}}@media (max-width:640px){.recharts-surface,.recharts-wrapper{max-width:100%!important;overflow:hidden}.dash-grid>div:last-child{display:flex;flex-direction:column;gap:12px}.dash-grid .pool-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:820px){.login-left{display:none!important}.login-right{width:100%!important}}@media (max-width:640px){.data-table td:nth-child(n+5),.data-table th:nth-child(n+5){display:none}}@media (max-width:768px){.form-input,.form-select,.form-textarea,input,select,textarea{font-size:16px!important}}@media (max-width:600px){.quiz-option-label{min-width:28px!important;height:28px!important;font-size:12px!important}.quiz-html-content{font-size:14px!important;line-height:1.75!important}.quiz-expl-body{padding:14px!important}}@media (hover:none){.btn{min-height:40px}.btn-sm{min-height:34px}}@media (max-width:768px){.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:580px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.main-content{padding-bottom:env(safe-area-inset-bottom)}.quiz-bottom-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}}.quiz-html-content .table-wrap,.review-html-content .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin:10px 0;border-radius:7px;border:1px solid #e2e8f0}.quiz-html-content .table-wrap table,.review-html-content .table-wrap table{margin:0;border:none;min-width:400px}@media (max-width:600px){.quiz-topbar-hide-xs{display:none!important}}.divider{height:1px;background:var(--border);margin:0}.text-muted{color:var(--text3)}.text-sm{font-size:12.5px}.fw-700{font-weight:700}.gap-2{gap:8px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.rounded-full{border-radius:9999px}