:root{--font-primary: "Inter", system-ui, sans-serif;--font-display: "Outfit", system-ui, sans-serif;--primary-hue: 142;--primary: #16a34a;--primary-hover: hsl(var(--primary-hue), 76%, 30%);--primary-light: hsl(var(--primary-hue), 40%, 92%);--secondary: hsl(var(--primary-hue), 60%, 38%);--secondary-hover: hsl(var(--primary-hue), 60%, 30%);--bg-base: hsl(0, 0%, 98%);--bg-surface: hsl(0, 0%, 100%);--bg-sidebar: hsl(0, 0%, 96%);--bg-navbar: rgba(255, 255, 255, .85);--text-primary: hsl(220, 15%, 15%);--text-secondary: hsl(220, 15%, 45%);--text-muted: hsl(220, 10%, 65%);--text-on-primary: hsl(0, 0%, 100%);--border: hsl(220, 15%, 90%);--border-focus: var(--primary);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--success: hsl(142, 70%, 45%);--success-light: hsl(142, 70%, 95%);--warning: hsl(45, 90%, 50%);--warning-light: hsl(45, 90%, 95%);--danger: hsl(0, 84%, 60%);--danger-light: hsl(0, 84%, 96%);--info: hsl(195, 85%, 50%);--info-light: hsl(195, 85%, 96%);--accent-green: var(--success);--accent-orange: var(--warning);--accent-red: var(--danger);--accent-blue: var(--info);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .05)}[data-theme=dark]{--bg-base: hsl(220, 20%, 8%);--bg-surface: hsl(220, 20%, 12%);--bg-sidebar: hsl(220, 20%, 10%);--bg-navbar: rgba(13, 17, 24, .85);--text-primary: hsl(220, 20%, 95%);--text-secondary: hsl(220, 15%, 75%);--text-muted: hsl(220, 10%, 50%);--border: hsl(220, 20%, 18%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .4);--glass-bg: rgba(20, 24, 33, .7);--glass-border: rgba(255, 255, 255, .05);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .3);--primary-light: hsl(var(--primary-hue), 50%, 15%);--success-light: hsl(142, 70%, 12%);--danger-light: hsl(0, 84%, 12%);--warning-light: hsl(45, 90%, 12%);--info-light: hsl(195, 85%, 12%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);font-size:16px;line-height:1.6;background-color:var(--bg-base);color:var(--text-primary);transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--text-primary)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input,textarea,select{caret-color:var(--primary, #16a34a)}.required-star{color:var(--danger, #ef4444);margin-left:3px;font-weight:700;font-size:14px;line-height:1}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.align-center,.items-center{align-items:center}.items-start{align-items:flex-start}.shrink-0{flex-shrink:0}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 992px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.grid-cols-2{grid-template-columns:1fr}}@media (max-width: 600px){.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.container{padding:0 16px}.justify-between{flex-direction:column;gap:16px}}.text-center{text-align:center}.w-full{width:100%}.m-auto{margin:0 auto}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:48px}.py-2{padding-top:16px;padding-bottom:16px}.py-4{padding-top:32px;padding-bottom:32px}.py-8{padding-top:64px;padding-bottom:64px}.glass{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.premium-card{background-color:var(--bg-surface);border:none;border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.premium-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.premium-card.glass{border:none}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gradient-bg{background:linear-gradient(135deg,var(--primary),var(--secondary))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;padding:10px 20px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-sm{padding:6px 12px;font-size:14px;border-radius:var(--radius-sm)}.btn-lg{padding:14px 28px;font-size:18px;border-radius:var(--radius-lg)}.btn-primary{background-color:var(--primary);color:var(--text-on-primary)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px #00000026}.btn-secondary{background-color:var(--secondary);color:var(--text-on-primary)}.btn-secondary:hover{background-color:var(--secondary-hover);box-shadow:0 4px 12px #00000026}.btn-outline{background-color:transparent;border-color:var(--border);color:var(--text-primary)}.btn-outline:hover{background-color:var(--bg-sidebar);border-color:var(--text-muted)}.btn-text{background:transparent;border:none;color:var(--text-secondary)}.btn-text:hover{color:var(--primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.input-control,.form-select{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-surface);color:var(--text-primary);outline:none;font-size:14px;font-weight:500;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.input-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b9811f}.form-group{display:flex;flex-direction:column;gap:6px;width:100%}.form-label{font-size:14px;font-weight:600;color:var(--text-secondary)}.required-star{color:var(--danger, #ef4444);font-weight:700;margin-left:1px}.form-error{font-size:13px;color:var(--danger)}.badge{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.badge-student{background-color:#e5f1f5;color:#29667a}.badge-instructor{background-color:#e9e7f3;color:#41367d}.badge-admin{background-color:#f5e5e5;color:#862d2d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:40px 20px;animation:modalFadeIn .2s ease-out}.modal-content{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:20px;width:90%;position:relative;animation:modalSlideUp .25s cubic-bezier(.4,0,.2,1);max-height:70vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}.modal-header h3{font-size:18px;font-weight:800;color:var(--text-primary)}.modal-body{margin-bottom:8px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.bg-primary-tint{background-color:var(--primary-light)!important}.bg-secondary-tint{background-color:hsl(var(--primary-hue),25%,96%)!important}.bg-success-tint{background-color:var(--success-light)!important}.bg-info-tint{background-color:var(--info-light)!important}.bg-warning-tint{background-color:var(--warning-light)!important}.bg-danger-tint{background-color:var(--danger-light)!important}[data-theme=dark] .bg-secondary-tint{background-color:hsl(var(--primary-hue),25%,15%)!important}.alert-banner{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-radius:var(--radius-md);margin-bottom:20px;position:relative;transition:all var(--transition-normal);border:none;width:100%}.alert-banner-info{background-color:#d9f3fc;color:var(--text-primary)}[data-theme=dark] .alert-banner-info{background-color:#073240}.alert-banner-success{background-color:#d8f8e4;color:var(--text-primary)}[data-theme=dark] .alert-banner-success{background-color:#0d351c}.alert-banner-warning{background-color:#fcf1cf;color:var(--text-primary)}[data-theme=dark] .alert-banner-warning{background-color:#382d0a}.alert-banner-danger{background-color:#fcd9d9;color:var(--text-primary)}[data-theme=dark] .alert-banner-danger{background-color:#380a0a}.alert-icon{flex-shrink:0;margin-top:2px;display:inline-flex;align-items:center;justify-content:center}.alert-icon-info{color:var(--info)}.alert-icon-success{color:var(--success)}.alert-icon-warning{color:var(--warning)}.alert-icon-danger{color:var(--danger)}.alert-content{flex-grow:1;display:flex;flex-direction:column;gap:4px}.alert-title{font-family:var(--font-primary);font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4}.alert-description{font-size:14px;color:var(--text-secondary);line-height:1.5}.alert-action-link{color:#0b50da;font-weight:600;text-decoration:underline;cursor:pointer;transition:color var(--transition-fast)}.alert-action-link:hover{color:#093eaa}[data-theme=dark] .alert-action-link{color:#55c1f6}[data-theme=dark] .alert-action-link:hover{color:#86d2f9}.alert-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin-left:8px;flex-shrink:0}.alert-close-btn:hover{background-color:#0000000d;color:var(--text-primary)}[data-theme=dark] .alert-close-btn:hover{background-color:#ffffff0d}[data-decorations-enabled=true] .btn,[data-decorations-enabled=true] .premium-card,[data-decorations-enabled=true] .badge-demo,[data-decorations-enabled=true] .preview-card-alert{position:relative!important}[data-decorations-enabled=true][data-seasonal-theme=winter] .btn,[data-decorations-enabled=true][data-seasonal-theme=winter] .premium-card,[data-decorations-enabled=true][data-seasonal-theme=winter] .preview-card-alert,[data-decorations-enabled=true][data-seasonal-theme=summer] .premium-card,[data-decorations-enabled=true][data-seasonal-theme=summer] .preview-card-alert{overflow:hidden!important}[data-decorations-enabled=true] .btn>*,[data-decorations-enabled=true] .premium-card>*,[data-decorations-enabled=true] .badge-demo>*,[data-decorations-enabled=true] .preview-card-alert>*{position:relative;z-index:2}[data-decorations-enabled=true][data-seasonal-theme=winter] .btn:not(.btn-outline):not(.btn-outline-theme):not(.btn-text):not(.btn-white):not(.btn-link):before,[data-decorations-enabled=true][data-seasonal-theme=winter] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=winter] .preview-card-alert:before{content:"";position:absolute;top:0;left:0;right:0;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='snowGrad' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='0.65' stop-color='%23f8fafc'/%3E%3Cstop offset='1' stop-color='%23cbd5e1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,0 L120,0 L120,9.5 C105,6.5 95,12.5 80,9.5 C65,7.5 55,13.5 40,9.5 C25,6.5 15,12.5 0,9.5 Z' fill='%2394a3b8' opacity='0.3'/%3E%3Cpath d='M0,0 L120,0 L120,8 C105,5 95,11 80,8 C65,6 55,12 40,8 C25,5 15,11 0,8 Z' fill='url(%23snowGrad)'/%3E%3C/svg%3E");background-size:120px 100%;background-repeat:repeat-x;z-index:1;pointer-events:none;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.08))}:root:not([data-theme=dark]) [data-decorations-enabled=true][data-seasonal-theme=winter] .btn:not(.btn-outline):not(.btn-outline-theme):not(.btn-text):not(.btn-white):not(.btn-link):before,:root:not([data-theme=dark]) [data-decorations-enabled=true][data-seasonal-theme=winter] .premium-card:before,:root:not([data-theme=dark]) [data-decorations-enabled=true][data-seasonal-theme=winter] .preview-card-alert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='iceGrad' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2393c5fd'/%3E%3Cstop offset='0.65' stop-color='%23bfdbfe'/%3E%3Cstop offset='1' stop-color='%2360a5fa'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,0 L120,0 L120,9.5 C105,6.5 95,12.5 80,9.5 C65,7.5 55,13.5 40,9.5 C25,6.5 15,12.5 0,9.5 Z' fill='%233b82f6' opacity='0.25'/%3E%3Cpath d='M0,0 L120,0 L120,8 C105,5 95,11 80,8 C65,6 55,12 40,8 C25,5 15,11 0,8 Z' fill='url(%23iceGrad)'/%3E%3C/svg%3E");filter:drop-shadow(0 1px 2px rgba(59,130,246,.2))}[data-decorations-enabled=true][data-seasonal-theme=winter] .btn:not(.btn-outline):not(.btn-outline-theme):not(.btn-text):not(.btn-white):not(.btn-link):before{height:10px;background-size:100% 100%;background-repeat:no-repeat}[data-decorations-enabled=true][data-seasonal-theme=spring] .btn:not(.btn-outline):not(.btn-text):before,[data-decorations-enabled=true][data-seasonal-theme=spring] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=spring] .preview-card-alert:before{content:"";position:absolute;z-index:3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f472b6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3' fill='%23f472b6' fill-opacity='0.25'/%3E%3Cpath d='M12 2a4 4 0 0 1 4 4c0 3-4 6-4 6s-4-3-4-6a4 4 0 0 1 4-4zm0 20a4 4 0 0 1-4-4c0-3 4-6 4-6s4 3 4 6a4 4 0 0 1-4 4zm10-10a4 4 0 0 1-4 4c-3 0-6-4-6-4s3-4 6-4a4 4 0 0 1 4 4zM2 12a4 4 0 0 1 4-4c3 0 6 4 6 4s-3 4-6 4a4 4 0 0 1-4-4z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.55;transition:transform .3s ease,opacity .3s ease}[data-decorations-enabled=true][data-seasonal-theme=spring] .btn:not(.btn-outline):not(.btn-text):before{width:10px;height:10px;top:5px;right:6px}[data-decorations-enabled=true][data-seasonal-theme=spring] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=spring] .preview-card-alert:before{width:18px;height:18px;top:8px;right:10px}[data-decorations-enabled=true][data-seasonal-theme=spring] .btn:hover:before,[data-decorations-enabled=true][data-seasonal-theme=spring] .premium-card:hover:before{transform:rotate(30deg) scale(1.2)}[data-decorations-enabled=true][data-seasonal-theme=summer] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=summer] .preview-card-alert:before{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);opacity:.8;z-index:3;pointer-events:none}[data-decorations-enabled=true][data-seasonal-theme=autumn] .btn:not(.btn-outline):not(.btn-text):before,[data-decorations-enabled=true][data-seasonal-theme=autumn] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=autumn] .preview-card-alert:before{content:"";position:absolute;z-index:3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 3.5 1 9.8a7 7 0 0 1-13.9.2'/%3E%3Cpath d='M9 22v-4h4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.55;transition:transform .3s ease,opacity .3s ease}[data-decorations-enabled=true][data-seasonal-theme=autumn] .btn:not(.btn-outline):not(.btn-text):before{width:10px;height:10px;top:5px;right:6px}[data-decorations-enabled=true][data-seasonal-theme=autumn] .premium-card:before,[data-decorations-enabled=true][data-seasonal-theme=autumn] .preview-card-alert:before{width:18px;height:18px;top:8px;right:10px}[data-decorations-enabled=true][data-seasonal-theme=autumn] .btn:hover:before,[data-decorations-enabled=true][data-seasonal-theme=autumn] .premium-card:hover:before{transform:rotate(-20deg) scale(1.25)}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;border:1.5px solid var(--border);border-radius:4px;background-color:var(--bg-surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;margin:0;vertical-align:middle;flex-shrink:0}input[type=checkbox]:hover{border-color:var(--primary);background-color:var(--primary-light)}input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{content:"";width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px);display:block}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px hsl(var(--primary-hue),95%,85%)}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;border:1.5px solid var(--border);border-radius:50%;background-color:var(--bg-surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;margin:0;vertical-align:middle;flex-shrink:0}input[type=radio]:hover{border-color:var(--primary);background-color:var(--primary-light)}input[type=radio]:checked{border-color:var(--primary);background-color:var(--bg-surface)}input[type=radio]:checked:after{content:"";width:10px;height:10px;border-radius:50%;background-color:var(--primary);display:block}input[type=radio]:focus-visible{box-shadow:0 0 0 3px hsl(var(--primary-hue),95%,85%)}.admin-view-container{width:100%;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;height:100%;min-height:0}.view-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-shrink:0}.view-header h1{font-size:24px;margin-bottom:2px}.view-header .text-secondary{font-size:14px}@media (max-width: 768px){.view-header{flex-direction:column;align-items:flex-start}}.filter-bar{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);align-items:center;flex-wrap:wrap;flex-shrink:0}.admin-table-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface)}.admin-table-scroll{flex:1;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;font-size:14px}.admin-table th{background-color:var(--bg-sidebar);font-weight:700;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:2}.admin-table tbody tr{transition:background-color var(--transition-fast)}.admin-table tbody tr:nth-child(2n){background-color:var(--bg-sidebar)}.admin-table tbody tr:hover{background-color:var(--primary-light)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table .table-empty-cell{text-align:center;padding:60px 24px;color:var(--text-muted);font-size:15px}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border)}.table-responsive table{min-width:900px}.actions-cell{display:flex;gap:6px}.action-btn{width:34px;height:34px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:1px solid var(--border);background-color:var(--bg-surface);color:var(--text-muted)}.action-btn.view-btn:hover,.action-btn.view-topics-btn:hover,.action-btn.preview-btn:hover,.action-btn.view-questions-btn:hover{background-color:#e7f0fe;color:#0a5adb;border-color:#9ec1fa;box-shadow:0 2px 8px #3b82f633}.action-btn.edit-btn:hover{background-color:#fef3e2;color:#ba7908;border-color:#facf85;box-shadow:0 2px 8px #f59e0b33}.action-btn.delete-btn:hover{background-color:#fdecec;color:#eb1414;border-color:#f69898;box-shadow:0 2px 8px #ef444433}[data-theme=dark] .action-btn{background-color:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .action-btn.view-btn:hover,[data-theme=dark] .action-btn.view-topics-btn:hover,[data-theme=dark] .action-btn.preview-btn:hover,[data-theme=dark] .action-btn.view-questions-btn:hover{background-color:#172945;color:#6da2f8;border-color:#264473}[data-theme=dark] .action-btn.edit-btn:hover{background-color:#3d2e14;color:#f8bc54;border-color:#6b5124}[data-theme=dark] .action-btn.delete-btn:hover{background-color:#3d1414;color:#f26969;border-color:#6b2424}.admin-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid var(--border);background-color:var(--bg-sidebar);flex-shrink:0;gap:16px;flex-wrap:wrap}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-info strong{color:var(--text-primary);font-weight:700}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-page-size .form-select{font-size:13px;padding:4px 8px}.pagination-buttons{display:flex;align-items:center;gap:4px}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-btn.pagination-page-num.active{background-color:var(--primary);border-color:var(--primary);color:var(--text-on-primary);box-shadow:0 2px 6px #16a34a4d}@media (max-width: 600px){.admin-pagination{flex-direction:column;gap:8px;padding:12px}}.badge-success{background-color:#10b9811a;color:var(--accent-green)}.badge-warning{background-color:#f59e0b1a;color:var(--accent-orange)}.badge-secondary{background-color:var(--bg-base);color:var(--text-muted)}.badge-danger{background-color:#ef44441a;color:var(--accent-red)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-content{border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:640px;overflow:hidden;background-color:var(--bg-surface)}.modal-content.glass{background:var(--glass-bg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px;font-weight:800;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--text-muted);transition:color var(--transition-fast)}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:16px;max-height:70vh;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);padding:12px 20px}.search-input-wrapper{position:relative;flex:1}.search-input-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input-wrapper input{padding-left:40px}.form-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);outline:none;height:100%;transition:border-color var(--transition-fast)}.form-select:focus{border-color:var(--border-focus)}.form-select.w-full{width:100%}.form-textarea{width:100%;background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);outline:none;font-size:14px;resize:vertical;transition:border-color var(--transition-fast)}.form-textarea:focus{border-color:var(--border-focus)}.alert-error{background-color:var(--danger-light);border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px}.program-modal{width:95%;max-width:800px;max-height:90vh}.program-modal-tabs{display:flex;gap:8px;padding:0 24px;border-bottom:1px solid var(--border);background-color:var(--bg-sidebar);border-radius:0;margin-bottom:20px}.program-modal-tab{padding:12px 20px;font-size:14px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.program-modal-tab:hover{color:var(--primary);background-color:var(--primary-light)}.program-modal-tab.active{color:var(--primary);border-bottom-color:var(--primary);background-color:var(--bg-surface)}.program-modal-tab-content{display:flex;flex-direction:column;gap:16px;animation:modalFadeIn .3s ease-out}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-top:12px;margin-bottom:-4px;padding-bottom:8px;border-bottom:1px solid var(--border)}@media (max-width: 768px){.program-modal-tabs{flex-wrap:wrap;padding:12px 16px;gap:4px}.program-modal-tab{padding:8px 12px;flex:1;text-align:center}.form-grid-3{grid-template-columns:1fr}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-24px)}to{opacity:1;transform:translate(-50%)}}.topic-dashboard-card{border-radius:var(--radius-lg)}.exam-result-banner{border-radius:20px;overflow:hidden;position:relative;transition:all var(--transition-normal)}.exam-result-banner.banner-passed{background:linear-gradient(135deg,#f0fdf4f2,#dcfce7b3);border:2px solid #86efac;box-shadow:0 10px 30px -10px #22c55e40}.exam-result-banner.banner-failed{background:linear-gradient(135deg,#fef2f2f2,#fee2e2b3);border:2px solid #fca5a5;box-shadow:0 10px 30px -10px #ef444433}.result-circle-icon.success{color:#16a34a;filter:drop-shadow(0 4px 12px rgba(22,163,74,.3))}.result-circle-icon.failure{color:#dc2626;filter:drop-shadow(0 4px 12px rgba(220,38,38,.3))}.result-main-heading{font-size:24px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text}.feedback-executive-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px #0000000a}.badge-feedback-status.status-pass{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:700;box-shadow:0 4px 12px #10b9814d}.badge-feedback-status.status-review{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:700;box-shadow:0 4px 12px #ef44444d}.result-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px;background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(0,0,0,.06)}@media (max-width: 768px){.result-stats-row{grid-template-columns:repeat(2,1fr)}}.r-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px #00000005}.r-stat-val{font-size:26px;font-weight:800;line-height:1.1}.r-stat-lbl{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.topics-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}@media (max-width: 768px){.topics-dashboard-grid{grid-template-columns:1fr}}.topic-progress-card{background:var(--bg-surface);border-radius:14px;padding:18px;border:1px solid var(--border);box-shadow:0 4px 14px #00000008;transition:all .25s ease;position:relative;overflow:hidden}.topic-progress-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.topic-progress-card.weak-topic{border-left:5px solid #ef4444;background:linear-gradient(135deg,#fff,#fff5f5)}.topic-progress-card.strong-topic{border-left:5px solid #10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.badge-weak{background-color:#fee2e2;color:#dc2626;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.badge-strong{background-color:#dcfce7;color:#15803d;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.badge-weak-pill{background-color:#fef2f2;color:#ef4444;border:1px solid #fca5a5;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.badge-strong-pill{background-color:#f0fdf4;color:#16a34a;border:1px solid #86efac;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.badge-topics-count{background:linear-gradient(135deg,var(--primary-light),#e0e7ff);color:var(--primary);padding:5px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:700;border:1px solid rgba(79,70,229,.2)}.progress-bar-track{height:10px;background-color:#0000000f;border-radius:var(--radius-full);overflow:hidden;margin-top:8px}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.34,1.56,.64,1)}.progress-bar-fill.fill-weak{background:linear-gradient(90deg,#f59e0b,#ef4444);box-shadow:0 0 10px #ef444466}.progress-bar-fill.fill-strong{background:linear-gradient(90deg,#34d399,#059669);box-shadow:0 0 10px #10b98166}.topic-accordion-container{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-surface);box-shadow:0 2px 8px #00000008;transition:all var(--transition-fast)}.topic-accordion-container:hover{border-color:var(--border-hover, #cbd5e1)}.topic-accordion-header{border:none!important;outline:none!important;background:var(--bg-surface);transition:background-color var(--transition-fast)}.topic-accordion-header:hover{border:none!important;outline:none!important;background:var(--bg-sidebar)}.topic-accordion-header.active{border:none!important;border-bottom:1px solid var(--border)!important;background:var(--bg-sidebar)}.topic-accordion-body{border:none!important;background:var(--bg-base)}.topic-fraction-badge{font-size:13px;font-weight:700;color:var(--text-secondary);background:var(--bg-surface);padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--border)}.btn-text-action{background:none;border:none;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer;padding:0;transition:opacity var(--transition-fast)}.btn-text-action:hover{opacity:.85;text-decoration:underline}.feedback-description-box{background:var(--bg-surface);border-radius:var(--radius-md);border:1px dashed var(--border);max-width:720px;margin:0 auto}
