@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@500;700;800&display=swap";.uv-page{max-width:100%;margin:0 auto;padding:0 0 48px}.uv-page-header{align-items:center;gap:14px;margin-bottom:32px;display:flex}.uv-page-header-icon{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #4f46e54d}.uv-page-title{color:#111827;margin:0;font-size:24px;font-weight:800;line-height:1.2}.uv-page-subtitle{color:#6b7280;margin:2px 0 0;font-size:13px}.uv-stepper{background:#fff;border:1px solid #e4e7ec;border-radius:14px;align-items:center;margin-bottom:28px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000f}.uv-step-wrapper{flex:1;align-items:center;display:flex}.uv-step{cursor:default;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.uv-step.done{cursor:pointer}.uv-step-circle{color:#9ca3af;background:#f9fafb;border:2px solid #e4e7ec;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.uv-step.active .uv-step-circle{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e526}.uv-step.done .uv-step-circle{color:#10b981;background:#ecfdf5;border-color:#10b981}.uv-step-label{color:#9ca3af;white-space:nowrap;font-size:13px;font-weight:600}.uv-step.active .uv-step-label{color:#4f46e5}.uv-step.done .uv-step-label{color:#374151}.uv-step-connector{background:#e4e7ec;border-radius:2px;flex:1;height:2px;margin:0 10px;transition:background .3s}.uv-step-connector.done{background:#10b981}.uv-panel{background:#fff;border:1px solid #e4e7ec;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.uv-step-panel{flex-direction:column;gap:20px;min-height:420px;padding:28px 32px;display:flex}.uv-step-intro{border-bottom:1px solid #f0f2f5;padding-bottom:4px}.uv-step-heading{color:#111827;margin:0 0 4px;font-size:20px;font-weight:700}.uv-step-desc{color:#6b7280;margin:0;font-size:13px}.uv-dropzone{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #d1d5db;border-radius:14px;padding:52px 28px;transition:all .2s}.uv-dropzone:hover{background:#f5f3ff;border-color:#4f46e5}.uv-dropzone.drag-over{background:#eef2ff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.uv-dropzone-icon{background:#f3f4f6;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;transition:background .2s;display:flex}.uv-dropzone:hover .uv-dropzone-icon,.uv-dropzone.drag-over .uv-dropzone-icon{background:#eef2ff}.uv-dropzone-main{color:#111827;margin:0 0 4px;font-size:16px;font-weight:700}.uv-dropzone-sub{color:#6b7280;margin:0 0 16px;font-size:13px}.uv-dropzone-link{color:#4f46e5;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.uv-dropzone-formats{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.uv-dropzone-formats span{color:#6b7280;letter-spacing:.5px;background:#f3f4f6;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:600}.uv-file-selected{background:#f0fdf4;border:1.5px solid #86efac;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;display:flex}.uv-file-icon{background:#dcfce7;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.uv-file-ext{color:#fff;letter-spacing:.5px;background:#059669;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;bottom:-4px;right:-4px}.uv-file-info{flex:1;min-width:0}.uv-file-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.uv-file-size{color:#6b7280;font-size:12px}.uv-file-remove{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.uv-file-remove:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.uv-info-banner{color:#4338ca;background:#eef2ff;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.uv-details-file-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.uv-details-file-icon{background:#dcfce7;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.uv-details-file-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.uv-details-file-size{color:#6b7280;flex-shrink:0;font-size:12px}.uv-form-stack{flex-direction:column;gap:16px;display:flex}.uv-form-group{flex-direction:column;gap:6px;display:flex}.uv-form-label{color:#374151;font-size:13px;font-weight:600}.uv-required{color:#ef4444}.uv-optional{color:#9ca3af;font-weight:400}.uv-form-input{color:#111827;background:#f9fafb;border:1.5px solid #e4e7ec;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:14px;transition:all .2s}.uv-form-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.uv-form-input::placeholder{color:#d1d5db}.uv-textarea{resize:vertical;min-height:100px;line-height:1.6}.uv-form-hint{color:#9ca3af;align-self:flex-end;font-size:11px}.uv-preview-card{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c7d2fe;border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.uv-preview-badge{display:none}.uv-preview-thumb{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:38px;display:flex}.uv-preview-title{color:#111827;font-size:14px;font-weight:700;line-height:1.3}.uv-preview-desc{color:#6b7280;margin-top:2px;font-size:12px}.uv-mode-toggle{grid-template-columns:1fr 1fr;gap:12px;display:grid}.uv-mode-btn{cursor:pointer;text-align:left;background:#f9fafb;border:2px solid #e4e7ec;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;transition:all .2s;display:flex}.uv-mode-btn svg{color:#9ca3af;flex-shrink:0;margin-top:1px}.uv-mode-btn.active{background:#eef2ff;border-color:#4f46e5}.uv-mode-btn.active svg{color:#4f46e5}.uv-mode-btn-label{color:#111827;margin-bottom:2px;font-size:14px;font-weight:700}.uv-mode-btn-sub{color:#6b7280;font-size:12px}.uv-student-picker{border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}.uv-student-picker-header{background:#f9fafb;border-bottom:1px solid #e4e7ec;align-items:center;gap:10px;padding:12px 16px;display:flex}.uv-search-wrap{flex:1;position:relative}.uv-search-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%)}.uv-search-input{color:#111827;background:#fff;border:1.5px solid #e4e7ec;border-radius:8px;outline:none;width:100%;padding:8px 12px 8px 30px;font-family:inherit;font-size:13px;transition:border-color .2s}.uv-search-input:focus{border-color:#4f46e5}.uv-search-input::placeholder{color:#d1d5db}.uv-select-all-btn{color:#4f46e5;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #e4e7ec;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:600;transition:all .15s}.uv-select-all-btn:hover{background:#eef2ff;border-color:#4f46e5}.uv-selection-summary{background:#fff;border-bottom:1px solid #f0f2f5;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.uv-selection-count{color:#4f46e5;align-items:center;gap:4px;font-weight:600;display:flex}.uv-selection-warning{color:#d97706;align-items:center;gap:4px;font-weight:600;display:flex}.uv-student-list{max-height:280px;overflow-y:auto}.uv-student-list-loading,.uv-student-list-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;display:flex}.uv-student-row{cursor:pointer;border-bottom:1px solid #f0f2f5;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.uv-student-row:hover{background:#fafafa}.uv-student-row.selected{background:#f5f3ff}.uv-student-row:last-child{border-bottom:none}.uv-student-checkbox{background:0 0;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;transition:all .15s;display:flex}.uv-student-checkbox.checked{background:#4f46e5;border-color:#4f46e5}.uv-student-avatar{color:#6b7280;background:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.uv-student-avatar.selected{color:#fff;background:#4f46e5}.uv-student-info{flex:1;min-width:0}.uv-student-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1px;font-size:13px;font-weight:600;overflow:hidden}.uv-student-email{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.uv-student-plan{border-radius:100px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600}.uv-all-students-note{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-size:13px;display:flex}.uv-all-students-note svg{flex-shrink:0}.uv-review-grid{flex-direction:column;gap:16px;display:flex}.uv-review-section{background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;padding:16px 20px}.uv-review-section-label{text-transform:uppercase;letter-spacing:.7px;color:#6b7280;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.uv-review-value{color:#111827;margin-bottom:2px;font-size:15px;font-weight:700}.uv-review-sub{color:#6b7280;font-size:12px}.uv-upload-final-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #4f46e559}.uv-upload-final-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4f46e566}.uv-upload-final-btn:disabled{opacity:.6;cursor:not-allowed}.uv-nav-bar{background:#fafafa;border-top:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.uv-back-btn{color:#6b7280;cursor:pointer;background:0 0;border:1.5px solid #e4e7ec;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s}.uv-back-btn:hover{color:#374151;border-color:#9ca3af}.uv-next-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 22px;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #4f46e547}.uv-next-btn:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px #4f46e559}.uv-next-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.uv-spinner{border:3px solid #e4e7ec;border-top-color:#4f46e5;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite uv-spin}@keyframes uv-spin{to{transform:rotate(360deg)}}.uv-done-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:460px;padding:40px;display:flex}.uv-done-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;animation:.4s cubic-bezier(.175,.885,.32,1.275) uv-pop;display:flex;box-shadow:0 8px 24px #10b98140}@keyframes uv-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.uv-done-title{color:#111827;font-size:28px;font-weight:800}.uv-done-subtitle{color:#6b7280;max-width:380px;font-size:15px}.uv-done-redirect{color:#9ca3af;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.uv-done-redirect .uv-spinner{border-width:2px;border-color:#6b7280 #e4e7ec #e4e7ec;width:14px;height:14px}.uv-uploading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:460px;padding:40px;display:flex}.uv-uploading-icon{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:20px;justify-content:center;align-items:center;width:70px;height:70px;animation:1.5s ease-in-out infinite uv-pulse;display:flex}@keyframes uv-pulse{0%,to{box-shadow:0 0 #4f46e54d}50%{box-shadow:0 0 0 12px #4f46e500}}.uv-uploading-title{color:#111827;font-size:22px;font-weight:700}.uv-uploading-file{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-size:13px;overflow:hidden}.uv-progress-wrap{align-items:center;gap:12px;width:100%;max-width:420px;display:flex}.uv-progress-bar{background:#e5e7eb;border-radius:100px;flex:1;height:10px;overflow:hidden}.uv-progress-fill{background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:100px;height:100%;transition:width .3s}.uv-progress-pct{color:#4f46e5;text-align:right;min-width:36px;font-size:14px;font-weight:700}.uv-uploading-hint{color:#9ca3af;font-size:12px}@media (width<=640px){.uv-step-panel{padding:20px 16px}.uv-nav-bar{padding:14px 16px}.uv-stepper{gap:0;padding:12px 14px}.uv-step-label{display:none}.uv-mode-toggle{grid-template-columns:1fr}}:root{--white:#fff;--bg:#f5f5f7;--surface:#fff;--surface-2:#f0f2f5;--border:#e4e7ec;--border-dark:#cdd2da;--brand:#4f46e5;--brand-dark:#4338ca;--brand-light:#eef2ff;--brand-text:#3730a3;--green:#059669;--green-light:#ecfdf5;--amber:#d97706;--amber-light:#fffbeb;--red:#dc2626;--red-light:#fef2f2;--blue:#2563eb;--blue-light:#eff6ff;--blue-text:#1e40af;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-disabled:#9ca3af;--radius-sm:6px;--radius:10px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text-secondary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Bricolage Grotesque,Inter,system-ui,sans-serif;font-weight:700;line-height:1.2}h1{font-size:32px;font-weight:800;line-height:1.1}h2{font-size:26px;font-weight:700;line-height:1.2}h3{font-size:20px;font-weight:700;line-height:1.3}h4{font-size:17px;font-weight:600;line-height:1.4}p{color:var(--text-secondary);font-size:15px;line-height:1.6}a{color:var(--brand);transition:var(--transition);font-weight:500;text-decoration:none}a:hover{color:var(--brand-dark)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.video-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.card{background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);padding:24px}.card:hover{border-color:var(--border-dark);box-shadow:var(--shadow-md)}.profile-page .profile-grid{grid-template-columns:minmax(280px,380px) minmax(0,1.6fr);align-items:start;gap:28px;display:grid}.profile-page .profile-grid-full{grid-template-columns:1fr}.profile-page .profile-sidebar-card{flex-direction:column;gap:24px;display:flex}.profile-page .profile-summary-card{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:32px;display:flex}.profile-page .profile-avatar{background-color:var(--brand-light);width:120px;height:120px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;font-size:32px;font-weight:800;display:flex;position:relative;overflow:hidden}.profile-page .profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-page-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-page-tabs{box-shadow:none;background:0 0;border-bottom:2px solid #e2e8f0;border-radius:0;flex-wrap:wrap;gap:28px;width:100%;padding:0;display:flex}.profile-page-tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px;padding:10px 0 12px;font-size:14px;font-weight:600}.profile-page-tab:hover{color:var(--text-primary);background:0 0}.profile-page-tab.active{color:var(--brand);border-bottom-color:var(--brand);box-shadow:none;background:0 0}.btn-outline{color:var(--brand);border:1px solid var(--brand);background:0 0}.btn-outline:hover:not(:disabled){background:#4f46e514}.profile-page .avatar-action{background-color:var(--brand);color:#fff;border:3px solid var(--white);cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;bottom:0;right:0;transform:translate(25%,25%)}.profile-page .profile-sidebar-tabs{flex-wrap:wrap;gap:10px;display:flex}.profile-page .sidebar-tab{border:1px solid var(--border);background-color:var(--bg);color:var(--text-primary);border-radius:var(--radius);cursor:pointer;transition:var(--transition);flex:1;padding:12px 14px;font-size:14px;font-weight:600}.profile-page .sidebar-tab.active,.profile-page .sidebar-tab:hover{border-color:var(--brand);background-color:#4f46e514}.profile-page .profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=992px){.profile-page .profile-grid,.profile-page .profile-field-grid{grid-template-columns:1fr}}.btn{border-radius:var(--radius);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;height:40px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:36px;padding:8px 14px;font-size:13px}.btn-lg{height:44px;padding:12px 24px;font-size:15px}.btn-full{width:100%}.btn-primary{background-color:var(--brand);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--brand-dark)}.btn-secondary{background-color:var(--white);border:1.5px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn-ghost{color:var(--text-muted);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--bg);color:var(--text-primary)}.btn-danger{background-color:var(--red);color:var(--white)}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-warning{background-color:var(--amber);color:var(--white)}.btn-warning:hover:not(:disabled){background-color:#b45309}.btn-success{background-color:var(--green);color:var(--white)}.btn-success:hover:not(:disabled){background-color:#047857}.input,.form-input{background-color:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:var(--transition);outline:none;width:100%;min-height:42px;padding:10px 14px;font-size:14px}.input:focus,.form-input:focus{border-color:var(--brand);background-color:var(--white);box-shadow:0 0 0 3px #4f46e51f}.input::placeholder,.form-input::placeholder{color:var(--text-disabled)}.form-group{color:var(--text-secondary);margin-bottom:2px;font-size:13px;font-weight:500}.form-input{background-color:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:var(--transition);outline:none;width:100%;padding:10px 14px;font-size:14px}.form-input:focus{border-color:var(--brand);background-color:var(--white);box-shadow:0 0 0 3px #4f46e51f}.form-input::placeholder{color:var(--text-disabled)}.form-select{background-color:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;width:100%;transition:var(--transition);outline:none;padding:10px 14px;font-size:14px}.form-select:focus{border-color:var(--brand);background-color:var(--white)}.form-error{color:var(--red);font-size:12px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;width:fit-content;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--brand-light);color:var(--brand-text)}.badge-success{background-color:var(--green-light);color:var(--green)}.badge-warning{background-color:var(--amber-light);color:var(--amber)}.badge-danger{background-color:var(--red-light);color:var(--red)}.badge-muted{background-color:var(--surface-2);color:var(--text-secondary)}.progress-bar{background-color:var(--border);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-fill{background-color:var(--brand);border-radius:var(--radius-full);height:100%;transition:width .5s}.recruiter-bar{background-color:var(--border);border-radius:var(--radius-full);width:100%;height:8px;margin-top:6px;overflow:hidden}.recruiter-fill{background-color:var(--green);border-radius:var(--radius-full);height:100%;transition:width .6s}.app-layout{min-height:100vh;display:flex}.sidebar{background-color:var(--white);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:240px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 24px;display:flex}.logo-icon{background-color:var(--brand);width:32px;height:32px;color:var(--white);border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.logo-text{color:var(--text-primary);font-family:Bricolage Grotesque,sans-serif;font-size:18px;font-weight:800}.logo-text span{color:var(--brand)}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:20px 12px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius);height:36px;color:var(--text-secondary);transition:var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background-color:var(--bg)}.signout-btn{transition:var(--transition);color:#9ca3af!important;background-color:#0000!important}.signout-btn svg{transition:var(--transition);color:#9ca3af!important}.nav-item.active{color:#4f46e5;background-color:#eef2ff;border-left:3px solid #4f46e5;border-top-left-radius:0;border-bottom-left-radius:0;font-weight:600}.nav-item.active svg{color:#4f46e5}.nav-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-disabled);padding:20px 12px 4px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:16px 12px}.sidebar-user{border-radius:var(--radius);transition:var(--transition);cursor:pointer;align-items:center;gap:10px;padding:8px;display:flex}.sidebar-user:hover{background-color:var(--bg)}.user-avatar{background-color:var(--brand-light);width:32px;height:32px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-plan{color:var(--text-muted);font-size:11px}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:240px;display:flex}.top-bar{background-color:var(--white);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.page-content{background-color:var(--bg);flex:1;padding:28px}.video-card{background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;box-shadow:var(--shadow-xs);flex-direction:column;display:flex;position:relative;overflow:hidden}.video-card:hover{border-color:var(--border-dark);box-shadow:var(--shadow-md)}.video-card.locked{cursor:not-allowed}.video-thumbnail{aspect-ratio:16/9;background-color:var(--surface-2);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.video-thumbnail img{object-fit:cover;width:100%;height:100%}.video-lock-overlay{color:var(--white);background-color:#111827b3;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.video-lock-overlay svg{color:var(--white)}.video-card-body{flex-direction:column;flex:1;padding:16px;display:flex}.video-day-badge{color:var(--brand);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600}.video-title{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.4}.video-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.stat-card{background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);align-items:center;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-value{color:var(--text-primary);margin-bottom:2px;font-family:Bricolage Grotesque,sans-serif;font-size:28px;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:13px}.session-card{background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);box-shadow:var(--shadow-xs);padding:20px;position:relative;overflow:hidden}.session-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.session-card.session-type-sunday:before{background-color:var(--amber)}.session-card.session-type-recruiter:before{background-color:var(--green)}.session-card.session-type-mock:before{background-color:var(--blue)}.session-card.session-type-workshop:before{background-color:var(--brand)}.empty-state{text-align:center;background-color:var(--white);border:1px dashed var(--border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 24px;display:flex}.empty-title{color:var(--text-primary);font-size:17px;font-weight:600}.empty-desc{color:var(--text-muted);max-width:320px;font-size:13px}.auth-page{background-color:var(--white);min-height:100vh;display:flex}.auth-hero-panel{width:55%;color:var(--white);background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);flex-direction:column;justify-content:center;padding:60px 80px;display:flex}.auth-form-panel{background-color:var(--white);flex-direction:column;justify-content:center;width:45%;padding:60px 80px;display:flex}.auth-box{width:100%;max-width:420px;margin:0 auto}.tabs{box-shadow:none;background:0 0;border-bottom:2px solid #e2e8f0;border-radius:0;flex-wrap:wrap;gap:28px;width:100%;padding:0;display:flex}.tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px;padding:10px 0 12px;font-size:14px;font-weight:600}.tab.active{color:var(--brand);border-bottom-color:var(--brand);box-shadow:none;background:0 0}.tab:hover:not(.active){color:var(--text-primary);background:0 0}.pill-tabs{background-color:var(--surface-2);border-radius:var(--radius-md);gap:6px;width:fit-content;padding:4px;display:flex}.pill-tab{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:600}.pill-tab.active{background-color:var(--white);color:var(--text-primary);box-shadow:var(--shadow-xs)}.pill-tab:hover:not(.active){color:var(--text-primary)}.qa-page{width:100%;max-width:1400px;margin:0 auto;padding:0 24px 32px}.qa-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.qa-page-header .page-title{color:var(--text-primary);margin-bottom:8px;font-size:26px;font-weight:800}.qa-page-header .page-description{color:var(--text-muted);max-width:640px;font-size:14px}.qa-page-header .qa-page-stats{text-align:right;flex-direction:column;gap:6px;display:flex}.qa-page-header .qa-page-stats .stat-label{color:var(--text-muted);font-size:13px}.qa-page-header .qa-page-stats .stat-value{color:var(--text-primary);font-size:18px;font-weight:700}.qa-ask-card{margin-bottom:24px;padding:20px}.qa-filter-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.qa-filter-row .search-wrapper{flex:1;min-width:240px;position:relative}.qa-filter-row .search-wrapper svg{color:#9ca3af;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.qa-filter-row .search-wrapper .input{padding-left:38px}.qa-question-card{border-radius:var(--radius-md);padding:0;overflow:hidden}.qa-question-card:hover{transition:transform .2s;transform:translateY(-1px)}.qa-modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qa-modal{background:var(--white);border-radius:var(--radius-md);width:min(560px,100%);box-shadow:var(--shadow-lg);padding:24px;position:relative}.qa-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.qa-modal-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.qa-modal-close{color:var(--text-muted);padding:8px}.qa-modal-close:hover{color:var(--text-primary)}.qa-modal-body{flex-direction:column;gap:14px;display:flex}.qa-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.qa-question-header{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.qa-question-header:hover{background-color:var(--surface-2)}.qa-question-meta{align-items:center;gap:6px;margin-bottom:4px;display:flex}.qa-question-meta .avatar{color:#4338ca;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.qa-question-title{color:var(--text-primary);margin:0 0 0 32px;font-size:15px;font-weight:500;line-height:1.4}.qa-question-prefix{color:#4338ca;margin-right:8px;font-weight:700;display:inline-block}.qa-question-header .qa-question-info{flex-direction:column;min-width:0;display:flex}.qa-question-header .qa-question-info p{margin:0}.qa-question-header .qa-question-info .author-name{color:var(--text-primary);font-size:13px;font-weight:600}.qa-question-header .qa-question-info .created-at{color:var(--text-muted);font-size:12px}.qa-card-body{background-color:var(--white);padding:16px}.qa-answer-box,.qa-no-answer-box{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:14px;padding:14px}.qa-answer-title{align-items:center;gap:10px;margin-bottom:8px;display:flex}.qa-answer-title .avatar{justify-content:center;align-items:center;display:flex}.qa-answer-text{color:#065f46;white-space:pre-wrap;margin-left:34px;font-size:14px;line-height:1.75}.qa-action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.qa-answer-input{resize:vertical;width:100%;margin-bottom:8px}.qa-delete-row{border-top:1px solid #e5e7eb;padding-top:10px}.qa-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.qa-status-chip{border-radius:var(--radius-full);align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.qa-status-chip.answered{color:#166534;background:#ecfdf5}.qa-status-chip.pending{color:#92400e;background:#fef3c7}.qa-question-header .chevron{color:#6b7280}.qa-page-count{color:var(--text-muted);font-size:13px}.qa-item-summary{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.skeleton{background:linear-gradient(90deg,#f0f2f5 25%,#e4e7ec 50%,#f0f2f5 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.no-select{-webkit-user-select:none;user-select:none}.video-watermark{pointer-events:none;z-index:10;position:absolute;inset:0}.video-watermark:before{content:attr(data-email);color:#ffffff0f;pointer-events:none;white-space:nowrap;letter-spacing:3px;text-transform:uppercase;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-sm{font-size:13px}.text-xs{font-size:11px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}@media (width<=992px){.auth-page{flex-direction:column}.auth-hero-panel,.auth-form-panel{width:100%;padding:40px}.auth-hero-panel{min-height:300px}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.grid-2,.grid-3,.grid-4,.video-grid{grid-template-columns:1fr}.page-content{padding:16px}.top-bar{padding:0 16px}}.signout-btn{color:#9ca3af!important}.signout-btn:hover{color:#374151!important;background-color:var(--bg)!important}.signout-btn svg{color:#9ca3af!important}.signout-btn:hover svg{color:#374151!important}.admin-dash-page{padding:0 0 48px}.admin-dash-skeleton-header{background:linear-gradient(90deg,#f0f2f5 25%,#e4e7ec 50%,#f0f2f5 75%) 0 0/200% 100%;border-radius:14px;height:64px;margin-bottom:28px;animation:1.5s infinite shimmer}.admin-dash-skeleton-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.admin-dash-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.admin-dash-header-left{align-items:center;gap:14px;display:flex}.admin-dash-header-icon{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 4px 12px #4f46e54d}.admin-dash-title{color:#111827;margin:0 0 2px;font-size:24px;font-weight:800;line-height:1.2}.admin-dash-subtitle{color:#6b7280;margin:0;font-size:13px}.admin-dash-refresh-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e4e7ec;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.admin-dash-refresh-btn:hover:not(:disabled){color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.admin-dash-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-dash-refresh-btn .spin{animation:.8s linear infinite uv-spin}.admin-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.admin-kpi-card{border:1px solid #fff9;border-radius:16px;padding:20px;transition:all .2s;box-shadow:0 2px 8px #0000000f}.admin-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.admin-kpi-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.admin-kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.admin-kpi-trend{background:#fff9;border-radius:100px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:700;display:flex}.admin-kpi-trend.up{color:#059669}.admin-kpi-trend.down{color:#dc2626}.admin-kpi-value{margin-bottom:4px;font-family:Bricolage Grotesque,sans-serif;font-size:32px;font-weight:800;line-height:1}.admin-kpi-label{color:#374151;margin-bottom:2px;font-size:13px;font-weight:600}.admin-kpi-sub{color:#6b7280;font-size:11px}.admin-dash-main-grid{grid-template-columns:1fr 380px;align-items:start;gap:20px;display:grid}.admin-dash-left,.admin-dash-right{flex-direction:column;gap:20px;display:flex}.admin-dash-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px 24px;box-shadow:0 1px 4px #0000000f}.admin-dash-card-header{align-items:center;gap:8px;margin-bottom:18px;display:flex}.admin-dash-card-header h3{color:#111827;flex:1;margin:0;font-size:15px;font-weight:700}.admin-dash-card-badge{color:#6b7280;background:#f3f4f6;border-radius:100px;padding:2px 10px;font-size:12px;font-weight:600}.admin-view-all-btn{color:#4f46e5;cursor:pointer;background:0 0;border:1px solid #e4e7ec;border-radius:6px;align-items:center;gap:3px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.admin-view-all-btn:hover{background:#eef2ff;border-color:#4f46e5}.admin-overview-stats{background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.admin-overview-stat{flex:1;align-items:center;gap:10px;padding:14px 16px;display:flex}.admin-overview-divider{background:#e4e7ec;align-self:stretch;width:1px}.admin-overview-stat-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.admin-overview-stat-value{color:#111827;margin-bottom:2px;font-family:Bricolage Grotesque,sans-serif;font-size:18px;font-weight:800;line-height:1}.admin-overview-stat-label{color:#374151;font-size:12px;font-weight:600}.admin-overview-stat-sub{color:#9ca3af;font-size:10px}.admin-revenue-breakdown{background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:20px;padding:16px}.admin-revenue-breakdown-title{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-bottom:14px;font-size:12px;font-weight:700}.admin-revenue-row{margin-bottom:12px}.admin-revenue-row:last-child{margin-bottom:0}.admin-revenue-row-label{color:#374151;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.admin-revenue-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-revenue-students{color:#9ca3af;margin-left:auto;font-size:11px}.admin-revenue-bar-wrap{background:#e4e7ec;border-radius:100px;height:8px;margin-bottom:4px;overflow:hidden}.admin-revenue-bar-fill{border-radius:100px;height:100%;transition:width .6s}.admin-revenue-amount{text-align:right;font-size:12px;font-weight:700}.admin-system-health{background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;padding:14px 16px}.admin-system-health-title{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.admin-health-rows{flex-direction:column;gap:8px;display:flex}.admin-health-row{align-items:center;gap:8px;font-size:12px;display:flex}.admin-health-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.admin-health-label{color:#374151;flex:1}.admin-health-status{font-weight:600}.admin-quick-actions-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-quick-action-btn{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e4e7ec;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.admin-quick-action-btn:hover{border-color:var(--qa-color);background:var(--qa-bg);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.admin-quick-action-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.admin-quick-action-text{flex:1;min-width:0}.admin-quick-action-label{color:#111827;font-size:13px;font-weight:700}.admin-quick-action-desc{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.admin-plan-distribution{flex-direction:column;gap:14px;display:flex}.admin-plan-bar-container{background:#e4e7ec;border-radius:100px;height:12px;display:flex;overflow:hidden}.admin-plan-bar-premium{background:linear-gradient(90deg,#059669,#10b981);height:100%;transition:width .6s}.admin-plan-bar-basic{background:#d1d5db;height:100%;transition:width .6s}.admin-plan-legend{flex-direction:column;gap:10px;display:flex}.admin-plan-legend-item{align-items:center;gap:10px;display:flex}.admin-plan-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.admin-plan-legend-label{color:#374151;font-size:13px;font-weight:600}.admin-plan-legend-value{color:#6b7280;font-size:12px}.admin-enrollments-card{overflow:hidden}.admin-enrollments-list{flex-direction:column;gap:0;display:flex}.admin-enrollment-row{border-bottom:1px solid #f0f2f5;align-items:center;gap:10px;padding:10px 0;transition:background .15s;display:flex}.admin-enrollment-row:last-child{border-bottom:none}.admin-enrollment-avatar{color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.admin-enrollment-info{flex:1;min-width:0}.admin-enrollment-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.admin-enrollment-meta{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.admin-enrollment-plan-badge{text-transform:capitalize;border-radius:100px;flex-shrink:0;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.admin-empty-state{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;font-size:13px;display:flex}@media (width<=1100px){.admin-dash-main-grid{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.admin-kpi-grid{grid-template-columns:1fr}.admin-overview-stats{flex-direction:column}.admin-overview-divider{width:100%;height:1px}.admin-quick-actions-grid{grid-template-columns:1fr}}@media print{html,body{display:none!important}}.video-protect-container{position:relative;overflow:hidden;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
