:root{--primary:#a5b4fc;--primary-dark:#8b5cf6;--primary-darker:#7c3aed;--primary-light:#c4b5fd;--secondary:#64748b;--success:#86efac;--success-dark:#16a34a;--success-darker:#065f46;--success-light:#d1fae5;--success-border:#bbf7d0;--warning:#fbbf24;--warning-light:#fef3c7;--warning-dark:#f59e0b;--error:#fca5a5;--error-dark:#dc2626;--error-darker:#991b1b;--error-light:#fee2e2;--error-lighter:#fef2f2;--error-border:#fecaca;--info:#3b82f6;--info-dark:#1e40af;--info-darker:#1e3a8a;--info-light:#dbeafe;--info-lighter:#eff6ff;--info-border:#bfdbfe;--blue-pastel:#7bb3f0;--blue-pastel-hover:#5a9bd4;--lavender-pastel:#b088b0;--lavender-pastel-hover:#9a6e9a;--coral-pastel:#e88888;--coral-pastel-hover:#d66666;--white:#ffffff;--black:#000000;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--dark:#1f2937;--font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,'SF Mono',Consolas,'Liberation Mono',Menlo,monospace;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2rem;--font-4xl:2.5rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--breakpoint-mobile:480px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--breakpoint-large:1400px;--mobile-up:(min-width:481px);--tablet-up:(min-width:769px);--desktop-up:(min-width:1025px);--large-up:(min-width:1401px);--mobile-padding:var(--spacing-sm);--tablet-padding:var(--spacing-md);--desktop-padding:var(--spacing-lg);--touch-target-min:44px;--touch-target-comfortable:48px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-base);line-height:1.6;color:var(--gray-800);background-color:var(--gray-50);min-height:100vh}.app-container{display:flex;flex-direction:column;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.screen{flex:1;padding:var(--spacing-xl)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--gray-600)}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:0.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.not-attempted{background:var(--gray-100);color:var(--gray-700)}.status-badge.passed{background:var(--success-light);color:var(--success-darker)}.status-badge.failed{background:var(--error-light);color:var(--error-darker)}.status-badge.completed{background:var(--success-light);color:var(--success-darker)}.status-badge.active{background:var(--success-light);color:var(--success-darker);border:1px solid var(--success-border)}.status-badge.inactive{background:var(--error-lighter);color:var(--error);border:1px solid var(--error-border)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.text-4xl{font-size:var(--font-4xl)}.text-primary{color:var(--primary)}.text-success{color:var(--success-dark)}.text-warning{color:var(--warning-dark)}.text-error{color:var(--error-dark)}.text-muted{color:var(--gray-500)}.bg-white{background:var(--white)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:50%}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.border{border:1px solid var(--gray-200)}.border-2{border:2px solid var(--gray-200)}.border-gray-300{border:1px solid var(--gray-300)}.border-dashed{border:2px dashed var(--gray-300)}.border-none{border:none}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.w-full{width:100%}.w-auto{width:auto}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.hidden{display:none !important}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-0{gap:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.clearfix::after{content:"";display:table;clear:both}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-col-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.mobile-device *{pointer-events:auto}.mobile-device *:hover{transform:none !important}.touch-device{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.touch-target-small{min-width:var(--touch-target-min);min-height:var(--touch-target-min);position:relative}.touch-target-small::before{content:'';position:absolute;top:50%;left:50%;width:var(--touch-target-min);height:var(--touch-target-min);transform:translate(-50%,-50%);z-index:-1}.touch-active{background-color:var(--gray-100) !important;transform:scale(0.98);transition:all 0.1s ease}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.viewport-mobile .desktop-only{display:none !important}.viewport-desktop .mobile-only{display:none !important}.viewport-tablet .mobile-only{display:none !important}.is-scrolling{pointer-events:none}.is-scrolling .admin-table tbody tr:hover{transform:none;box-shadow:none}.loading-screen{transform:translateX(0);will-change:transform,opacity}.admin-table,.data-table{table-layout:fixed;will-change:auto}.admin-table tbody tr,.data-table tbody tr{will-change:transform,box-shadow;contain:layout style}.modal{will-change:opacity;contain:layout style}.modal-content{will-change:transform;contain:layout style}@media (max-width:480px){.mobile-hidden{display:none !important}.mobile-visible{display:block !important}}@media (min-width:481px) and (max-width:768px){.tablet-hidden{display:none !important}.tablet-visible{display:block !important}}@media (min-width:769px){.desktop-hidden{display:none !important}.desktop-visible{display:block !important}}@media (max-width:480px){.mobile-text-sm{font-size:var(--font-sm) !important}.mobile-text-xs{font-size:var(--font-xs) !important}.mobile-p-sm{padding:var(--spacing-sm) !important}.mobile-p-xs{padding:var(--spacing-xs) !important}}.navbar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;align-items:center;justify-content:space-between}.nav-logo{height:46px;width:auto}.nav-title{font-size:1.25rem;font-weight:600;color:var(--primary)}.nav-user{font-weight:500;color:var(--gray-700)}.dashboard-switcher label{font-size:0.875rem;font-weight:500;color:var(--gray-600)}.dashboard-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:0.875rem;background:var(--white);color:var(--gray-700);cursor:pointer}.dashboard-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,99,235,0.1)}.admin-view-notice{background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 100%);border:1px solid var(--primary-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center;font-size:0.875rem;color:var(--primary-dark);font-weight:500}@media (min-width:769px){.nav-container{flex-wrap:nowrap;flex-direction:row}.nav-brand{flex:0 0 auto}.nav-menu{flex:0 0 auto}}@media (max-width:768px){.navbar{padding:var(--spacing-sm) 0}.nav-container{padding:0 var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.nav-brand{order:1;flex:1}.nav-logo{height:32px}.nav-title{font-size:var(--font-base)}.nav-menu{order:2;gap:var(--spacing-sm);flex-wrap:wrap}.dashboard-switcher{font-size:var(--font-xs)}.dashboard-switcher label{font-size:var(--font-xs)}.dashboard-select{font-size:var(--font-xs);padding:var(--spacing-xs)}.nav-user{font-size:var(--font-sm)}}@media (max-width:480px){.navbar{padding:var(--spacing-xs) 0;position:sticky;top:0;z-index:1000}.navbar .nav-container{flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:0 var(--mobile-padding);flex-wrap:nowrap}.navbar .nav-brand{order:0;width:100%;justify-content:center;margin-bottom:var(--spacing-xs)}.navbar .nav-logo{height:28px}.navbar .nav-title{display:none}.navbar .nav-container .nav-menu{order:1;width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--gray-200);max-width:100%;overflow:hidden;flex-shrink:0}.dashboard-switcher{display:flex;align-items:center;gap:var(--spacing-xs);font-size:0.75rem;flex:0 1 auto;min-width:0;max-width:65%}.dashboard-switcher label{display:none}.dashboard-select{font-size:0.75rem;padding:var(--spacing-xs);min-width:80px;max-width:140px;min-height:var(--touch-target-min);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;touch-action:manipulation;flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-xs) center;background-repeat:no-repeat;background-size:1rem;padding-right:2rem}.navbar .nav-container .nav-menu #nav-logout{font-size:0.75rem;padding:var(--spacing-xs) var(--spacing-sm);min-height:var(--touch-target-min);white-space:nowrap;flex-shrink:0;flex-basis:auto;touch-action:manipulation;max-width:35%}.navbar .nav-user{display:none}.navbar + .admin-view-notice{margin:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:0.75rem;border-radius:var(--radius-sm)}.navbar + .app-container{min-height:calc(100vh - 80px)}.nav-container{padding:0 var(--spacing-xs)}.nav-menu{font-size:0.65rem}.dashboard-switcher{gap:2px;font-size:0.65rem}.dashboard-switcher label{font-size:0.6rem}.dashboard-select{font-size:0.65rem;min-width:75px}.nav-user{font-size:0.65rem}#nav-logout{font-size:0.65rem;padding:var(--spacing-xs)}}.dashboard-container{max-width:1200px;margin:0 auto}#questions-management .dashboard-container{max-width:1400px}.dashboard-header{margin-bottom:var(--spacing-2xl);text-align:center}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.dashboard-header p{color:var(--gray-600);font-size:1.125rem}.dashboard-content{margin-top:var(--spacing-xl);background:var(--gray-100);padding:var(--spacing-lg);border-radius:var(--radius-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.dashboard-grid + .dashboard-grid{margin-top:var(--spacing-2xl)}.dashboard-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);margin-bottom:var(--spacing-xl)}.dashboard-card.full-width{grid-column:1 / -1}.dashboard-card h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-md)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md);justify-items:center}.stat-item{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--primary-dark)}.stat-label{display:block;font-size:0.875rem;color:var(--gray-600);margin-top:var(--spacing-xs)}.location-stats{min-height:auto}.location-stats-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.location-stat-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md);transition:background-color 0.2s ease;border-left:3px solid var(--primary-light)}.location-stat-item:hover{background:var(--gray-100)}.location-rank{font-weight:700;color:var(--primary);min-width:24px;text-align:center;font-size:var(--font-sm)}.location-info{flex:1;min-width:0}.location-name{font-weight:600;color:var(--gray-900);font-size:var(--font-sm);line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:3px}.location-count{font-size:var(--font-xs);color:var(--gray-600);margin-top:2px;font-weight:500}.course-stats{min-height:auto}.course-stats-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.course-stat-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md);transition:background-color 0.2s ease}.course-stat-item:hover{background:var(--gray-100)}.course-stat-item.challenge{border-left:3px solid var(--warning)}.course-rank{font-weight:700;color:var(--primary);min-width:24px;text-align:center;font-size:var(--font-sm)}.course-info{flex:1;min-width:0}.course-name{font-weight:600;color:var(--gray-900);font-size:var(--font-sm);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:2px}.course-stats{font-size:var(--font-xs);color:var(--gray-600);margin-top:2px}.performance-stats{min-height:auto}.trends-stats,.compliance-stats{min-height:auto}.performance-stats,.location-stats,.course-stats,.trends-stats,.compliance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md);justify-items:center}.performance-stats .stat-item,.location-stats .stat-item,.course-stats .stat-item,.trends-stats .stat-item,.compliance-stats .stat-item{text-align:center}.performance-stats .stat-number,.location-stats .stat-number,.course-stats .stat-number,.trends-stats .stat-number,.compliance-stats .stat-number{display:block;font-size:2rem;font-weight:700;color:var(--primary-dark)}.performance-stats .stat-label,.location-stats .stat-label,.course-stats .stat-label,.trends-stats .stat-label,.compliance-stats .stat-label{display:block;font-size:0.875rem;color:var(--gray-600);margin-top:var(--spacing-xs)}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-sm)}.dashboard-header h1{font-size:1.5rem}}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.025em;white-space:nowrap;border:1px solid transparent;transition:background-color 0.15s ease,border-color 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease}.badge.badge-sm{padding:2px var(--spacing-xs);font-size:0.625rem;gap:2px}.badge.badge-md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);gap:var(--spacing-xs)}.badge.badge-lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm);gap:var(--spacing-sm)}.badge-success{background:var(--success-light);color:var(--success-darker);border-color:var(--success-border)}.badge-success:hover{background:var(--success);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-success .badge-icon{color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark);border-color:rgba(251,191,36,0.3)}.badge-warning:hover{background:var(--warning);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-warning .badge-icon{color:var(--warning-dark)}.badge-secondary{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200)}.badge-secondary:hover{background:var(--gray-200);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-secondary .badge-icon{color:var(--gray-600)}.badge-info{background:var(--info-lighter);color:var(--info-dark);border-color:var(--info-border)}.badge-info:hover{background:var(--info-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-info .badge-icon{color:var(--info)}.badge-primary{background:var(--primary-light);color:var(--primary-darker);border-color:rgba(165,180,252,0.3)}.badge-primary:hover{background:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-primary .badge-icon{color:var(--primary-dark)}.badge-icon{font-size:0.75em;line-height:1}.badge-label{margin-right:var(--spacing-xs);font-size:0.75em;font-weight:500;opacity:0.8}.badge-with-count{font-feature-settings:'tnum';font-variant-numeric:tabular-nums}.badge-count{font-weight:700;font-size:1.1em}.badge-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.badge-interactive{cursor:pointer}.badge-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.badge-interactive:active{transform:translateY(0);box-shadow:none}.badge[aria-describedby]{cursor:help}@media (max-width:480px){.badge{font-size:var(--font-sm);padding:var(--spacing-xs) var(--spacing-sm);min-width:3rem;justify-content:center}.badge.badge-sm{font-size:var(--font-xs);padding:2px var(--spacing-xs);min-width:2.5rem}.badge.badge-lg{font-size:var(--font-base);padding:var(--spacing-sm) var(--spacing-md);min-width:4rem}.badge-icon{font-size:1em}.badge-count{font-weight:700;margin-left:var(--spacing-xs)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:1px solid transparent;border-radius:var(--radius-md);font-size:0.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color 0.2s,color 0.2s,opacity 0.2s,transform 0.2s;gap:var(--spacing-xs)}.btn:disabled{opacity:0.5;cursor:not-allowed}.btn-primary{background:var(--primary-dark);color:var(--white);border-color:var(--primary-dark)}.btn-primary:hover:not(:disabled){background:var(--primary-darker);border-color:var(--primary-darker)}.btn-outline{background:transparent;color:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline:hover:not(:disabled){background:var(--primary-dark);color:var(--white)}.btn-text{background:transparent;color:var(--gray-600);border:none;padding:var(--spacing-sm);text-decoration:none;font-size:var(--font-sm);display:inline-block;transition:color 0.2s}.btn-text:hover:not(:disabled){color:var(--primary-dark);text-decoration:underline}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);min-height:32px}.btn-large{padding:var(--spacing-lg);font-size:var(--font-base);flex-direction:column;text-align:center;min-height:var(--touch-target-comfortable)}.btn-large small{font-size:var(--font-xs);opacity:0.8;font-weight:400;margin-top:var(--spacing-xs)}.btn-block{width:100%;justify-content:center}.btn-icon{background:none;border:none;padding:var(--spacing-xs);font-size:1.25rem;min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;color:var(--gray-600);cursor:pointer;transition:color 0.2s,transform 0.2s}.btn-icon:hover{color:var(--primary-dark);transform:scale(1.1)}.btn-icon:active{transform:scale(0.95)}@media (max-width:480px){.btn{min-height:var(--touch-target-min);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm)}.btn-sm{min-height:36px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs)}.btn-large{min-height:var(--touch-target-comfortable);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-base)}.btn-icon{min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--font-base)}.btn-group{flex-direction:column;gap:var(--spacing-sm)}.btn-group .btn{width:100%;margin:0}}.btn-edit{transition:transform 0.2s ease,box-shadow 0.2s ease}.btn-edit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(176,136,176,0.3)}.btn-delete{transition:transform 0.2s ease,box-shadow 0.2s ease}.btn-delete:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(232,136,136,0.3)}.btn-questions{transition:transform 0.2s ease,box-shadow 0.2s ease}.btn-questions:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(123,179,240,0.3)}.progress-table-container{}.progress-table-container .table-responsive{}.progress-table-container .admin-table{}.progress-table-container .admin-table thead{background:var(--primary-dark);position:relative}.progress-table-container .admin-table thead::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary-darker)}.progress-table-container .admin-table th{color:var(--white);font-weight:700;text-transform:uppercase;letter-spacing:0.025em;font-size:var(--font-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;position:relative;text-shadow:0 1px 2px rgba(0,0,0,0.3)}@media (min-width:769px){.progress-table-container .admin-table,.progress-table-container .admin-table td,.progress-table-container .admin-table th{font-size:var(--font-base) !important}}.progress-table-container .admin-table th:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;bottom:20%;width:1px;background:rgba(255,255,255,0.2)}.progress-table-container .admin-table tbody tr{transition:transform 0.2s ease,box-shadow 0.2s ease;border-bottom:1px solid var(--gray-100)}.progress-table-container .admin-table tbody tr:hover{background:var(--gray-50);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.progress-table-container .admin-table tbody tr:last-child{border-bottom:none}.progress-table-container .admin-table td{padding:var(--spacing-md) var(--spacing-lg);vertical-align:middle;border:none}.progress-table-container .admin-table td:nth-child(1){font-weight:600;color:var(--gray-800);font-size:var(--font-base);min-width:200px}.progress-table-container .admin-table td.private-course{color:var(--primary-dark) !important;font-weight:600}.progress-table-container .admin-table td:nth-child(2){font-weight:600;color:var(--primary-darker);font-size:var(--font-lg)}.progress-table-container .admin-table td:nth-child(3),.progress-table-container .admin-table td:nth-child(4),.progress-table-container .admin-table td:nth-child(5){text-align:center;padding:var(--spacing-md) var(--spacing-sm)}.progress-table-container .admin-table td:nth-child(6){min-width:150px;padding:var(--spacing-md) var(--spacing-lg)}.progress-table-container .admin-table td:nth-child(6) .progress{height:1.25rem;background:var(--gray-200);border-radius:var(--radius-sm);overflow:visible;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-table-container .admin-table td:nth-child(6) .progress-bar{height:100%;background:linear-gradient(90deg,var(--success-dark),var(--success));transition:width 0.6s ease;border-radius:var(--radius-sm);position:relative}.progress-table-container .admin-table td:nth-child(6) .progress .progress-bar-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700;color:var(--gray-800);text-shadow:none;z-index:2;pointer-events:none}.progress-table-container .admin-table .progress-bar[style*="width:0%"]{background:var(--gray-400);min-width:var(--spacing-xl);color:var(--gray-600)}.progress-table-container .admin-table .progress-bar[aria-valuenow*="1"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="2"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="3"]{background:linear-gradient(90deg,var(--error-dark),var(--error))}.progress-table-container .admin-table .progress-bar[aria-valuenow*="4"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="5"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="6"]{background:linear-gradient(90deg,var(--warning-dark),var(--warning))}.progress-table-container .admin-table .progress-bar[aria-valuenow*="7"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="8"],.progress-table-container .admin-table .progress-bar[aria-valuenow*="9"],.progress-table-container .admin-table .progress-bar[aria-valuenow="100"]{background:linear-gradient(90deg,var(--success-dark),var(--success))}.progress-table-container .badge{font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);min-width:2.5rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);transition:transform 0.2s ease,box-shadow 0.2s ease;box-shadow:0 1px 2px rgba(0,0,0,0.1)}.progress-table-container .badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.15)}.progress-table-container .admin-table tbody tr[data-no-progress="true"]{opacity:0.7}.progress-table-container .admin-table tbody tr[data-no-progress="true"]:hover{opacity:1}@media (min-width:481px){.progress-table-container .admin-table{display:table;border:1px solid var(--gray-200);background:var(--white)}.progress-table-container .admin-table thead{display:table-header-group}.progress-table-container .admin-table tbody{display:table-row-group}.progress-table-container .admin-table tbody tr{display:table-row;margin-bottom:0;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.progress-table-container .admin-table tbody tr:hover{background:var(--gray-50);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.progress-table-container .admin-table tbody tr td{display:table-cell}.progress-table-container .admin-table tbody tr td::before{display:none;content:none}}@media (max-width:768px){.progress-table-container .table-responsive{border-radius:0;border-left:none;border-right:none}.progress-table-container .admin-table{font-size:var(--font-sm)}.progress-table-container .admin-table th,.progress-table-container .admin-table td{padding:var(--spacing-sm) var(--spacing-md)}.progress-table-container .admin-table th{font-size:var(--font-xs)}.progress-table-container .admin-table th:nth-child(5),.progress-table-container .admin-table td:nth-child(5){display:none}.progress-table-container .admin-table td:nth-child(6){min-width:100px}.progress-table-container .admin-table td:nth-child(6) .progress{height:1rem}.progress-table-container .admin-table td:nth-child(6) .progress-bar{font-size:0.625rem}.progress-table-container .badge{font-size:var(--font-xs);padding:2px var(--spacing-xs);min-width:1.5rem}}@media (max-width:480px){.progress-table-container .table-responsive{border:none;box-shadow:none;background:transparent;overflow:visible}.progress-table-container .admin-table{display:block;background:transparent;border:none;width:100%}.progress-table-container .admin-table thead{display:none}.progress-table-container .admin-table tbody{display:block}.progress-table-container .admin-table tbody tr{display:block;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);position:relative;width:100%;box-sizing:border-box}.progress-table-container .admin-table tbody tr td:nth-child(1){display:block;font-size:var(--font-lg);font-weight:700;color:var(--primary-darker);margin-bottom:var(--spacing-sm);padding:0 0 var(--spacing-sm) 0;border-bottom:2px solid var(--primary-light);text-align:center}.progress-table-container .admin-table tbody tr td:nth-child(2),.progress-table-container .admin-table tbody tr td:nth-child(3){display:flex;width:100%;margin:0;padding:var(--spacing-sm) 0;position:relative;min-height:var(--spacing-xl);align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray-100)}.progress-table-container .admin-table tbody tr td:nth-child(4),.progress-table-container .admin-table tbody tr td:nth-child(5){display:none}.progress-table-container .admin-table tbody tr td:nth-child(2)::before{content:"Staff:";display:block;font-size:var(--font-sm);color:var(--gray-600);font-weight:600;flex:0 0 auto}.progress-table-container .admin-table tbody tr td:nth-child(3)::before{content:"Completed:";display:block;font-size:var(--font-sm);color:var(--gray-600);font-weight:600;flex:0 0 auto}.progress-table-container .admin-table tbody tr td:nth-child(2){font-weight:700;color:var(--primary-darker);font-size:var(--font-base)}.progress-table-container .admin-table tbody tr td:nth-child(3) .badge{flex:0 0 auto;margin-left:auto}.progress-table-container .badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);visibility:visible;opacity:1}.progress-table-container .admin-table tbody tr td:nth-child(6){display:block;width:100%;margin:var(--spacing-sm) 0 0 0;padding:var(--spacing-sm) 0 0 0;border-top:1px solid var(--gray-200)}.progress-table-container .admin-table tbody tr td:nth-child(6) .progress{height:1.5rem;width:100%;border-radius:var(--radius-sm)}.progress-table-container .admin-table tbody tr td:nth-child(6) .progress-bar{font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-sm)}.progress-table-container .admin-table tbody tr td:nth-child(6) .progress-bar-text{color:var(--gray-800);text-shadow:none;font-weight:700}}.progress-table-container .loading-placeholder{text-align:center;padding:var(--spacing-2xl);color:var(--gray-500);font-style:italic}.progress-table-container .text-muted{text-align:center;padding:var(--spacing-2xl);color:var(--gray-500);font-size:var(--font-lg);border:2px dashed var(--gray-300);border-radius:var(--radius-md);background:var(--gray-50)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:500;margin-bottom:var(--spacing-sm);color:var(--gray-700)}.form-group label small{font-weight:400;color:var(--gray-500)}.form-group input:not([type="checkbox"]):not([type="radio"]),.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-base);line-height:1.5;transition:border-color 0.2s,box-shadow 0.2s;background:var(--white);min-height:var(--touch-target-min);font-family:inherit}.form-group input[type="checkbox"],.form-group input[type="radio"]{width:auto;margin-right:var(--spacing-sm)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-dark);box-shadow:0 0 0 3px rgba(139,92,246,0.1)}.form-group textarea{resize:vertical;min-height:80px}.form-actions{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200);flex-wrap:wrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group.full-width{grid-column:1 / -1}.field-hint{font-size:var(--font-xs);color:var(--gray-500);margin-top:var(--spacing-xs);line-height:1.4}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:var(--error-dark);box-shadow:0 0 0 3px rgba(239,68,68,0.1)}.error-message{color:var(--error-dark);font-size:var(--font-sm);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--error-lighter);border:1px solid var(--error-border);border-radius:var(--radius-sm)}@media (max-width:768px){.form-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.form-actions{justify-content:stretch;flex-direction:column}.form-actions .btn{width:100%;order:1}.form-actions .btn-primary{order:0}}@media (max-width:480px){.form-group{margin-bottom:var(--spacing-md)}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);font-size:var(--font-base);min-height:var(--touch-target-min)}.form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-sm) center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem;appearance:none}.form-group label{font-size:var(--font-sm);margin-bottom:var(--spacing-xs)}.form-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);gap:var(--spacing-sm)}.form-group .option-input-group,.quiz-options .option-input-group{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.form-group .option-input-group input[type="radio"],.quiz-options .option-input-group input[type="radio"]{flex-shrink:0;margin:0;width:auto}.form-group .option-input-group .remove-option-btn,.quiz-options .option-input-group .remove-option-btn{flex-shrink:0;min-width:32px;height:32px;margin:0}.form-group input[type="checkbox"],.form-group input[type="radio"]{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.filter-controls{flex-direction:column;gap:var(--spacing-sm)}.filter-item{width:100%}.filter-input,.filter-select{width:100%;min-height:var(--touch-target-min)}}.checkbox-label,.form-check{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);cursor:pointer}.checkbox-label input[type="checkbox"],.checkbox-label input[type="radio"],.form-check input[type="checkbox"],.form-check input[type="radio"]{flex-shrink:0;margin:0}.form-check-label{cursor:pointer;margin:0}.code-input{text-align:center;font-family:var(--font-mono);font-size:var(--font-2xl);font-weight:600;letter-spacing:0.5rem}.error-message{background:var(--error-lighter);border:1px solid var(--error-border);color:var(--error);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md);font-size:0.875rem}#login-screen{padding:0 !important}.login-container{min-height:100vh;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--gray-50) 0%,var(--primary-light) 100%)}.login-card{padding:var(--spacing-2xl);width:100%;max-width:420px}.login-header{margin-bottom:var(--spacing-xl)}.login-logo{max-width:400px;width:100%;height:auto;margin:0 auto var(--spacing-lg) auto;display:block}.login-section{margin-bottom:var(--spacing-lg)}.login-section h2{font-size:var(--font-2xl);font-weight:700;color:var(--gray-800);margin-bottom:var(--spacing-lg)}.login-options .btn-large{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-lg);min-height:72px}.login-options .btn-large small{font-size:var(--font-sm);opacity:0.8;font-weight:400}.login-section .form-group{margin-bottom:var(--spacing-lg);text-align:left}.login-section .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--gray-700)}.login-section .form-group input{width:100%;padding:var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--font-base);transition:border-color 0.2s ease}.login-section .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(165,180,252,0.1)}.magic-verify-section h3{font-size:var(--font-xl);font-weight:600;color:var(--gray-800);margin-bottom:var(--spacing-md)}.magic-verify-section p{color:var(--gray-600);margin-bottom:var(--spacing-lg)}.email-instructions{background:var(--success-light);border:1px solid var(--success-border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.email-instructions p{margin-bottom:var(--spacing-sm);color:var(--success-darker)}.email-instructions p:last-child{margin-bottom:0}.code-input{font-family:var(--font-mono);font-size:var(--font-xl);font-weight:600;text-align:center;letter-spacing:4px}.login-section .btn-text{margin-top:var(--spacing-md)}.error-message{background:var(--error-light);border:1px solid var(--error-border);color:var(--error-darker);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md);font-size:var(--font-sm)}@media (max-width:480px){.login-container{padding:var(--spacing-md)}.login-card{padding:var(--spacing-lg);margin:var(--spacing-md)}.login-logo{max-width:300px;width:95%}.login-options .btn-large{padding:var(--spacing-md);font-size:var(--font-base);min-height:60px}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);box-sizing:border-box;overflow-y:auto;backdrop-filter:blur(2px)}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);margin:auto;position:relative;transform:translateY(0);transition:transform 0.2s ease,opacity 0.2s ease}.modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--gray-200)}.modal-header h2{font-size:var(--font-2xl);font-weight:600}.modal-close{background:none;border:none;font-size:var(--font-2xl);color:var(--gray-500);cursor:pointer;padding:var(--spacing-sm)}.modal-close:hover{color:var(--gray-700)}.modal-body{padding:var(--spacing-xl)}.course-modal .modal-content{max-width:800px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}.course-modal-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:relative}.course-modal-header .header-content{display:flex;align-items:center;gap:var(--spacing-lg)}.course-modal-header .header-icon{font-size:2.5rem;opacity:0.9}.course-modal-header .header-text h2{margin:0 0 var(--spacing-xs) 0;font-size:1.75rem;font-weight:700}.course-modal-header .header-subtitle{margin:0;opacity:0.9;font-size:0.95rem}.course-modal-header .modal-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:rgba(255,255,255,0.2);color:var(--white);border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:background-color 0.2s ease}.course-modal-header .modal-close:hover{background:rgba(255,255,255,0.3)}.course-modal-body{padding:0}.course-form{display:flex;flex-direction:column}#course-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}#course-form .full-width{grid-column:1 / -1}.course-status-toggle{display:flex;align-items:center;gap:var(--spacing-sm)}.form-section{padding:var(--spacing-xl);border-bottom:1px solid var(--gray-200)}.form-section:last-of-type{border-bottom:none}.section-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-100)}.section-header h3{margin:0 0 var(--spacing-xs) 0;font-size:1.2rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:var(--spacing-sm)}.section-header p{margin:0;color:var(--gray-600);font-size:0.9rem}@media (max-width:768px){.modal{padding:var(--spacing-sm)}.modal-content{max-height:95vh;max-width:95%}.modal-header{padding:var(--spacing-lg)}.modal-header h2{font-size:var(--font-xl)}.modal-body{padding:var(--spacing-lg)}.course-modal-header{padding:var(--spacing-lg)}.course-modal-header .header-text h2{font-size:var(--font-xl)}.course-modal-header .header-icon{font-size:2rem}.form-section{padding:var(--spacing-lg)}}@media (max-width:480px){.modal{padding:var(--spacing-xs);align-items:flex-start;padding-top:var(--spacing-sm)}.modal-content{max-height:98vh;width:100%;max-width:100%;margin:0;border-radius:var(--radius-md)}.modal-header{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.modal-header h2{font-size:var(--font-lg);margin:0}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-size:1.25rem;min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.modal-body{padding:var(--spacing-md)}.course-modal-header{padding:var(--spacing-md);border-radius:var(--radius-md) var(--radius-md) 0 0}.course-modal-header .header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.course-modal-header .header-icon{font-size:1.5rem}.course-modal-header .header-text h2{font-size:var(--font-lg)}.course-modal-header .header-subtitle{font-size:var(--font-sm)}.course-modal-header .modal-close{top:var(--spacing-md);right:var(--spacing-md);width:36px;height:36px;font-size:1.25rem}.form-section{padding:var(--spacing-md)}.section-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.section-header h3{font-size:var(--font-base);flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.section-header p{font-size:var(--font-xs)}#course-form{grid-template-columns:1fr;gap:0}.form-row{grid-template-columns:1fr}.course-form-actions{flex-direction:column;gap:var(--spacing-sm)}.course-form-actions .btn{width:100%;order:1}.course-form-actions .btn-primary{order:0}.course-form-actions .delete-btn{order:2}.quiz-modal .modal-content{height:100vh;max-height:100vh;border-radius:0}.quiz-modal .modal-header{position:sticky;top:0;background:var(--white);z-index:10;border-bottom:2px solid var(--gray-200)}}.quiz-modal .modal-content{max-width:900px;min-height:500px}.quiz-modal .modal-header{position:relative;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:2px solid var(--primary-light);background:linear-gradient(135deg,var(--primary-lighter) 0%,var(--white) 100%)}.quiz-modal .modal-header h2{margin:0;color:var(--primary-dark);font-weight:600;padding-right:60px}.quiz-modal .modal-close{position:absolute;top:50%;right:var(--spacing-lg);transform:translateY(-50%);background:var(--white);border:2px solid var(--gray-200);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--gray-600);transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease,transform 0.2s ease;box-shadow:var(--shadow-sm)}.quiz-modal .modal-close:hover{background:var(--danger);color:var(--white);border-color:var(--danger);transform:translateY(-50%) scale(1.05)}.quiz-modal .modal-body{padding:var(--spacing-xl);min-height:400px}#quiz-content{min-height:300px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.quiz-question{margin-bottom:var(--spacing-lg)}.quiz-question h3{font-size:var(--font-lg);margin-bottom:var(--spacing-md);color:var(--gray-900);line-height:1.4}.quiz-options{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.quiz-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease,transform 0.2s ease}.quiz-option:hover{border-color:var(--primary-light);background:var(--primary-lighter)}.quiz-option input[type="radio"]{margin-top:2px;flex-shrink:0}.quiz-option label{flex:1;cursor:pointer;font-size:var(--font-base);line-height:1.4;margin:0}.quiz-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.quiz-nav-btn{min-width:120px}.quiz-progress{font-size:var(--font-sm);color:var(--gray-600);margin-bottom:var(--spacing-lg)}#quiz-results{padding:var(--spacing-xl)}@media (max-width:768px){.quiz-modal .modal-content{max-width:95%;min-height:auto}.quiz-modal .modal-header{padding:var(--spacing-md) var(--spacing-lg)}.quiz-modal .modal-header h2{font-size:var(--font-lg);padding-right:50px}.quiz-modal .modal-close{right:var(--spacing-md);width:36px;height:36px;font-size:1.125rem}.quiz-modal .modal-body{padding:var(--spacing-lg)}}@media (max-width:480px){.quiz-modal .modal-content{max-height:95vh;margin:var(--spacing-sm)}.quiz-options{gap:var(--spacing-sm)}.quiz-option{padding:var(--spacing-sm);align-items:center}.quiz-navigation{flex-direction:column;gap:var(--spacing-md)}.quiz-nav-btn{width:100%;min-width:auto}}.progress{display:flex;align-items:center;height:1.5rem;background-color:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);border:1px solid var(--gray-300)}.progress-bar{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(90deg,var(--success-dark),var(--success));color:var(--white);font-size:var(--font-xs);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,0.2);transition:width 0.6s ease,background-color 0.3s ease;position:relative;border-radius:var(--radius-sm);min-width:0;overflow:hidden}.progress-bar-text{position:relative;z-index:2;font-weight:700;white-space:nowrap;text-align:center;min-width:fit-content}.progress-bar.bg-success{background:linear-gradient(90deg,var(--success-dark),var(--success))}.progress-bar.bg-warning{background:linear-gradient(90deg,var(--warning-dark),var(--warning))}.progress-bar.bg-danger{background:linear-gradient(90deg,var(--error-dark),var(--error))}.progress-bar.bg-info{background:linear-gradient(90deg,#1e40af,#3b82f6)}.progress-bar.bg-primary{background:linear-gradient(90deg,var(--primary-dark),var(--primary))}.progress.progress-sm{height:1rem;font-size:0.625rem}.progress.progress-lg{height:2rem;font-size:var(--font-sm)}.progress.progress-xl{height:2.5rem;font-size:var(--font-base)}.progress-bar.progress-animated{background-image:linear-gradient( 45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent );background-size:1rem 1rem;animation:progress-bar-stripes 1s linear infinite}@keyframes progress-bar-stripes{0%{background-position:1rem 0}100%{background-position:0 0}}.progress-with-label{display:flex;align-items:center;gap:var(--spacing-sm)}.progress-with-label .progress{flex:1}.progress-label{font-size:var(--font-sm);font-weight:600;color:var(--gray-700);white-space:nowrap;min-width:fit-content}.progress[data-completion="0"] .progress-bar{background:linear-gradient(90deg,var(--gray-400),var(--gray-500))}.progress[data-completion^="1"],.progress[data-completion^="2"],.progress[data-completion^="3"]{.progress-bar{background:linear-gradient(90deg,var(--error-dark),var(--error))}}.progress[data-completion^="4"],.progress[data-completion^="5"],.progress[data-completion^="6"]{.progress-bar{background:linear-gradient(90deg,var(--warning-dark),var(--warning))}}.progress[data-completion^="7"],.progress[data-completion^="8"],.progress[data-completion^="9"],.progress[data-completion="100"]{.progress-bar{background:linear-gradient(90deg,var(--success-dark),var(--success))}}.progress-circle{position:relative;width:3rem;height:3rem;border-radius:50%;background:conic-gradient(var(--success) calc(var(--percentage) * 1%),var(--gray-200) 0);display:flex;align-items:center;justify-content:center}.progress-circle::before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--white)}.progress-circle-text{position:relative;z-index:1;font-size:var(--font-xs);font-weight:700;color:var(--gray-700)}.progress-bar-icon{margin-right:var(--spacing-xs);font-size:0.75em}.progress-bar[style*="width:0%"]{min-width:2.5rem;background:var(--gray-400);justify-content:center}.progress-bar[style*="width:0%"] .progress-bar-text{color:var(--gray-600)}.progress:hover{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15),0 0 0 2px rgba(59,130,246,0.1)}.progress[role="progressbar"]{overflow:hidden}.progress-bar[aria-valuenow="0"]{background:var(--gray-400)}@media (max-width:480px){.progress{height:1.25rem}.progress-bar{font-size:0.625rem}.progress.progress-lg{height:1.75rem}.progress.progress-xl{height:2rem;font-size:var(--font-sm)}.progress-with-label{flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.progress-label{text-align:center;font-size:var(--font-xs)}.progress-circle{width:2.5rem;height:2.5rem}}.card-header{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-100)}.card-footer{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.questions-floating-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:var(--spacing-md);margin:0 calc(-1 * var(--spacing-lg)) var(--spacing-lg);transition:box-shadow 0.2s ease;will-change:box-shadow,background-color;contain:layout style}.questions-floating-header.scrolled{box-shadow:0 4px 12px rgba(0,0,0,0.15)}.questions-floating-header .questions-actions{margin:0;gap:var(--spacing-md);justify-content:center}.questions-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.questions-editor-container{min-height:400px;margin:var(--spacing-lg) 0}.no-content{padding:var(--spacing-2xl);color:var(--gray-500);border:2px dashed var(--gray-300)}.no-questions-actions{margin-top:var(--spacing-lg)}.card-footer-nav{text-align:center;margin-top:var(--spacing-md)}.question-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--gray-100);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.question-editor-header h4{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--gray-800)}.question-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.question-card{margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-md)}.option-input-group{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.option-input-group input[type="radio"],.option-input-group input[type="checkbox"]{flex-shrink:0;margin:0}.option-input-group .option-text-input{flex:1;margin-bottom:0}.option-input-group .remove-option-btn{flex-shrink:0;margin:0;padding:var(--spacing-xs);min-width:auto}@media (min-width:769px){#questions-management .dashboard-card.full-width{grid-column:1;max-width:none}#questions-management .questions-editor-container{min-height:500px;display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:100%;width:100%}#questions-management .question-editor-card{max-width:650px;margin:0 auto;background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--gray-200)}.card-header{gap:var(--spacing-xl)}.card-header h3{margin:0;flex-shrink:0;min-width:200px}.questions-actions{flex-shrink:0;gap:var(--spacing-md)}.card-footer{gap:var(--spacing-lg)}.card-footer .questions-actions{margin:0;flex-shrink:0}.card-footer-nav{margin:0;flex-grow:1}}@media (min-width:1200px){#questions-management .dashboard-container{max-width:1400px}.card-header{gap:var(--spacing-xl)}.questions-actions{gap:var(--spacing-lg)}.card-footer{gap:var(--spacing-xl)}.questions-editor-container{min-height:600px;padding:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(550px,1fr));gap:var(--spacing-xl)}.question-editor-card{max-width:650px}}@media (max-width:768px){.card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.questions-actions{width:100%;justify-content:flex-start}.card-footer{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.card-footer .questions-actions{width:100%;justify-content:center}.card-footer-nav{text-align:center}}@media (max-width:480px){.questions-actions{flex-direction:column;gap:var(--spacing-sm)}.questions-actions .btn{width:100%;justify-content:center}.no-questions-actions{flex-direction:column}.no-questions-actions .btn{width:100%}}@media (max-width:768px){.questions-floating-header{padding:var(--spacing-sm);margin:0 calc(-1 * var(--spacing-md)) var(--spacing-md)}.questions-floating-header .questions-actions{gap:var(--spacing-sm);flex-direction:column}.questions-floating-header .btn{width:100%;justify-content:center}}@media (min-width:769px) and (max-width:1024px){.questions-floating-header .questions-actions{gap:var(--spacing-sm);flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.questions-floating-header{transition:none}}@media (prefers-contrast:high){.questions-floating-header{background:var(--white);border-bottom:2px solid var(--gray-400)}}.table-responsive,.admin-table-container{}.admin-table,.data-table{border-collapse:collapse;font-size:var(--font-base)}.admin-table thead,.data-table thead{background:var(--primary-dark)}.admin-table th,.data-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:700;font-size:var(--font-base);color:var(--white);text-transform:uppercase;letter-spacing:0.025em;border:none;position:relative;text-shadow:0 1px 2px rgba(0,0,0,0.2)}.admin-table th:not(:last-child),.data-table th:not(:last-child){border-right:1px solid rgba(255,255,255,0.1)}.admin-table tbody tr,.data-table tbody tr{transition:background 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease;border-bottom:1px solid var(--gray-100)}.admin-table tbody tr:hover,.data-table tbody tr:hover{background:var(--gray-50);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.admin-table tbody tr:last-child,.data-table tbody tr:last-child{border-bottom:none}.admin-table td,.data-table td{padding:var(--spacing-md) var(--spacing-lg);vertical-align:middle;border:none;color:var(--gray-700);line-height:1.4}.admin-table .actions,.data-table .actions{white-space:nowrap;text-align:right}.admin-table .actions .btn,.data-table .actions .btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);margin-left:var(--spacing-xs);min-height:auto}.badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);font-weight:600;line-height:1;min-width:2rem;gap:var(--spacing-xs);transition:background 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease}.user-role,.badge.user-role{text-transform:uppercase;letter-spacing:0.025em}.user-role.superadmin,.badge.superadmin{background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff}.user-role.admin,.badge.admin{background:#fef3c7;color:#92400e;border:1px solid #fed7aa}.user-role.manager,.badge.manager{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.user-role.staff,.badge.staff{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.badge.success{background:var(--success-light);color:var(--success-darker);border:1px solid var(--success-border)}.badge.warning{background:var(--warning-light);color:var(--warning-dark);border:1px solid #fde68a}.badge.error{background:var(--error-light);color:var(--error-darker);border:1px solid var(--error-border)}.badge.info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.progress{height:1.25rem;background:var(--gray-200);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--success-dark),var(--success));transition:width 0.6s ease;border-radius:var(--radius-sm);position:relative}.progress-bar-text{font-size:var(--font-xs);font-weight:700;color:var(--gray-800);z-index:2;pointer-events:none}.loading-placeholder,.empty-state{padding:var(--spacing-2xl);color:var(--gray-500);font-style:italic}.empty-state{border:2px dashed var(--gray-300);border-radius:var(--radius-md);background:var(--gray-50);margin:var(--spacing-md)}.user-info{display:flex;flex-direction:column;gap:2px}.user-email{font-weight:normal;color:var(--gray-600);font-size:var(--font-xs);display:block;margin-top:2px;line-height:1.3}@media (max-width:480px){.admin-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell),.data-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell){display:block;justify-content:unset;align-items:unset;gap:unset}.admin-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell)::before,.data-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell)::before{display:none}.admin-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell) .user-info,.data-table td[data-label="Name"]:not(.actions):not(.mobile-compact-cell) .user-info{width:100%;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.admin-table td[data-label="Name"] strong,.data-table td[data-label="Name"] strong{font-size:var(--font-base);line-height:1.2;color:var(--gray-800);margin:0}.admin-table td[data-label="Name"] .user-email,.data-table td[data-label="Name"] .user-email{font-size:var(--font-sm);margin:0;color:var(--gray-600);line-height:1.3}}@media (min-width:769px){.admin-table,.data-table{font-size:var(--font-base)}.admin-table th,.data-table th{font-size:var(--font-base)}.admin-table td,.data-table td{font-size:var(--font-base)}}@media (min-width:481px) and (max-width:768px){.admin-table th,.data-table th,.admin-table td,.data-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm)}.admin-table .actions .btn,.data-table .actions .btn{padding:var(--spacing-xs);font-size:0.625rem}}@media (max-width:480px){.admin-table-container,.table-responsive{border:none;box-shadow:none;background:transparent;overflow:visible}.admin-table,.data-table{display:block;width:100%;background:transparent;border:none}.admin-table thead,.data-table thead{display:none}.admin-table tbody,.data-table tbody{display:block;width:100%}.admin-table tbody tr,.data-table tbody tr{display:block;width:100%;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);position:relative;box-sizing:border-box}.admin-table tbody tr:hover,.data-table tbody tr:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-table td,.data-table td{display:block;width:100%;padding:var(--spacing-sm) 0;border:none;border-bottom:1px solid var(--gray-100);position:relative}.admin-table td:last-child,.data-table td:last-child{border-bottom:none;padding-bottom:0}.admin-table td:not(.actions):not(.mobile-compact-cell)::before,.data-table td:not(.actions):not(.mobile-compact-cell)::before{content:attr(data-label) ":";display:inline-block;font-weight:600;font-size:var(--font-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:0.025em;margin-right:var(--spacing-sm);min-width:80px;flex-shrink:0}.admin-table td:not(.actions):not(.mobile-compact-cell),.data-table td:not(.actions):not(.mobile-compact-cell){display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);line-height:1.4}.admin-table .actions,.data-table .actions{text-align:center;padding-top:var(--spacing-sm);border-top:1px solid var(--gray-200);margin-top:var(--spacing-sm)}.admin-table .actions .btn,.data-table .actions .btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);margin:0 var(--spacing-xs);min-height:var(--touch-target-min)}.badge{font-size:var(--font-xs);padding:var(--spacing-xs);min-width:auto}.progress{height:1rem;margin-top:var(--spacing-xs)}.progress-bar-text{font-size:0.625rem}.admin-table .desktop-only,.data-table .desktop-only{display:none}}.mobile-compact-cell{display:none}@media (max-width:480px){.admin-table .mobile-compact-cell,.data-table .mobile-compact-cell{display:block;padding:0;border:none}.admin-table .desktop-name-cell,.data-table .desktop-name-cell{display:none}.mobile-user-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-200)}.mobile-user-info{flex:1}.mobile-user-name{font-weight:600;font-size:var(--font-base);color:var(--gray-800);margin-bottom:var(--spacing-xs)}.mobile-user-details{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--gray-600)}.mobile-edit-btn{padding:var(--spacing-xs);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:background 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.mobile-edit-btn:hover{background:var(--gray-50);transform:translateY(-1px)}}.user-count-badge,.cert-count-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;text-align:center;min-width:2rem;color:var(--white);background:var(--primary);box-shadow:var(--shadow-sm)}.user-count-badge.empty,.cert-count-badge.empty{background:var(--gray-400);color:var(--gray-600)}.cert-breakdown{margin-top:var(--spacing-xs);font-size:var(--font-xs)}.admin-table .course-title-private,.data-table .course-title-private{color:var(--primary-dark);font-weight:600}.admin-table th:nth-child(1),.data-table th:nth-child(1){width:30%}.admin-table th:nth-child(2),.data-table th:nth-child(2){width:10%}.admin-table th:nth-child(3),.data-table th:nth-child(3){width:10%}.admin-table th:nth-child(4),.data-table th:nth-child(4){width:10%}.admin-table th:nth-child(5),.data-table th:nth-child(5){width:8%}.admin-table th:nth-child(6),.data-table th:nth-child(6){width:12%}.admin-table th:nth-child(7),.data-table th:nth-child(7){width:10%}.admin-table th:nth-child(8),.data-table th:nth-child(8){width:10%}@media (min-width:481px){#manager-dashboard #location-staff-list .admin-table{display:table;border:1px solid var(--gray-200);background:var(--white);width:100%}#manager-dashboard #location-staff-list .admin-table thead{display:table-header-group}#manager-dashboard #location-staff-list .admin-table tbody{display:table-row-group}#manager-dashboard #location-staff-list .admin-table tbody tr{display:table-row;margin-bottom:0;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}#manager-dashboard #location-staff-list .admin-table tbody tr:hover{background:var(--gray-50);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1)}#manager-dashboard #location-staff-list .admin-table tbody tr td{display:table-cell}#manager-dashboard #location-staff-list .admin-table tbody tr td:not(.mobile-compact-cell){display:table-cell}#manager-dashboard .mobile-compact-cell,#manager-dashboard #location-staff-list .admin-table .mobile-compact-cell,#manager-dashboard #location-staff-list .admin-table tbody tr td.mobile-compact-cell{display:none}#manager-dashboard #location-staff-list .admin-table tbody tr td.desktop-name-cell{display:table-cell}#manager-dashboard #location-staff-list .admin-table tbody tr td.actions{display:table-cell}}@media (max-width:480px){#manager-dashboard{overflow:hidden}#manager-dashboard #location-staff-list .admin-table-container{width:100%;overflow:visible;border:none}#manager-dashboard #location-staff-list .admin-table{border:0;background:transparent;width:100%}#manager-dashboard #location-staff-list .admin-table thead{display:none}#manager-dashboard #location-staff-list .admin-table tbody{display:block}#manager-dashboard #location-staff-list .admin-table tbody tr{display:block;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}#manager-dashboard #location-staff-list .admin-table tbody tr td:not(.mobile-compact-cell){display:none}#manager-dashboard #location-staff-list .admin-table tbody tr td.desktop-name-cell{display:none}#manager-dashboard #location-staff-list .admin-table tbody tr td.actions{display:none}#manager-dashboard .mobile-compact-cell{display:block;width:100%;border:none;padding:0}#manager-dashboard .mobile-user-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:var(--spacing-xs);gap:var(--spacing-sm);width:100%}#manager-dashboard .mobile-user-header .user-name{font-weight:600;color:var(--gray-800);font-size:var(--font-base);flex:0 1 auto;display:inline-block}#manager-dashboard .mobile-user-header .user-role{font-size:var(--font-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-darker);text-transform:capitalize;white-space:nowrap;flex:0 0 auto;display:inline-block}#manager-dashboard .mobile-edit-btn{font-size:16px;padding:var(--spacing-xs);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;flex:0 0 auto;margin-left:auto}#manager-dashboard .mobile-edit-btn:hover{background:var(--gray-50)}#manager-dashboard .mobile-user-details{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}#manager-dashboard .mobile-user-details .user-location,#manager-dashboard .mobile-user-details .user-certificates{font-size:var(--font-sm);color:var(--gray-600)}}\r\n\r\n#admin-dashboard .staff-certificates-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-sm);align-items:stretch}#manager-dashboard .staff-certificates-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}#admin-dashboard .staff-certificate-item,#manager-dashboard .staff-certificate-item{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-sm);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-25)}#admin-dashboard .staff-certificate-item input[type='checkbox'],#manager-dashboard .staff-certificate-item input[type='checkbox']{margin-top:4px}#admin-dashboard .staff-certificates-footer,#manager-dashboard .staff-certificates-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}#admin-dashboard .staff-certificates-count,#manager-dashboard .staff-certificates-count{font-size:var(--font-sm);color:var(--gray-600)}#admin-dashboard .staff-certificates-actions,#manager-dashboard .staff-certificates-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}@media (max-width:768px){#admin-dashboard .staff-certificates-list{grid-template-columns:1fr}}#admin-dashboard .staff-certificates-panel .certificate-title,#manager-dashboard .staff-certificates-panel .certificate-title{font-weight:600;color:var(--gray-800)}.tab-nav{display:flex;background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--gray-200);border-bottom:none;overflow:hidden;box-shadow:var(--shadow-sm)}.tab-button{flex:1;background:transparent;border:none;padding:var(--spacing-lg) var(--spacing-md);font-size:0.875rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:color 0.2s ease,background-color 0.2s ease;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);position:relative;border-right:1px solid var(--gray-200);min-height:80px;justify-content:center}.tab-button:last-child{border-right:none}.tab-button:hover{background:var(--gray-50);color:var(--gray-800)}.tab-button.active{background:var(--primary-dark);color:var(--white);font-weight:600}.tab-button.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--white);border-radius:3px 3px 0 0}.tab-icon{font-size:1.25rem;line-height:1}.tab-label{font-size:0.875rem;line-height:1}.tab-content{display:none;background:var(--white);border:1px solid var(--gray-200);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;min-height:600px}.tab-content.active{display:block}.tab-content .dashboard-content{padding:var(--spacing-xl)}@media (max-width:768px){.tab-nav{border-radius:var(--radius-md) var(--radius-md) 0 0}.tab-button{padding:var(--spacing-md) var(--spacing-sm);min-height:60px}.tab-icon{font-size:1.1rem}.tab-label{font-size:0.8rem}.tab-content{border-radius:0 0 var(--radius-md) var(--radius-md)}.tab-content .dashboard-content{padding:var(--spacing-lg)}}@media (max-width:480px){.tab-button{padding:var(--spacing-sm);min-height:50px;gap:2px}.tab-icon{font-size:1rem}.tab-label{font-size:0.75rem}}.table-filters{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.table-filters .filter-group,.filter-controls .filter-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;justify-content:flex-start}.filter-controls{margin-bottom:var(--spacing-lg);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md)}.filter-controls .filter-row,.table-filters .filter-row{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap;justify-content:flex-start}.filter-controls .filter-item,.table-filters .filter-item{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:150px;flex:0 0 auto}.filter-actions{display:flex;align-items:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.filter-count{font-size:0.875rem;color:var(--gray-600);font-weight:500;font-style:italic}.filter-label{font-size:0.875rem;font-weight:500;color:var(--gray-700);margin:0}.filter-input,.filter-select{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:0.875rem;background:var(--white);color:var(--gray-700);width:100%}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(165,180,252,0.1)}.filter-input{width:250px}.filter-select{width:180px}.filter-results{border-top:1px solid var(--gray-300);padding-top:var(--spacing-md)}.filter-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:0.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;margin:0}.filter-checkbox{appearance:none;width:1rem;height:1rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;position:relative;transition:background-color 0.2s ease,border-color 0.2s ease}.filter-checkbox:checked{background-color:var(--primary);border-color:var(--primary)}.filter-checkbox:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--white);font-size:0.75rem;font-weight:700}.filter-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,0.1)}.filter-checkbox-text{user-select:none}.filter-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (max-width:480px){.table-filters .filter-group,.filter-controls .filter-group{flex-direction:column;align-items:stretch}.filter-item{min-width:unset;width:100%}.filter-input,.filter-select{width:100%}}@media (min-width:481px){.screen{padding:var(--tablet-padding)}.nav-container{padding:0 var(--tablet-padding)}.login-card{padding:var(--spacing-lg)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}}@media (min-width:769px){.screen{padding:var(--desktop-padding)}.nav-container{padding:0 var(--desktop-padding)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-xl)}.stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-md)}.course-item,.certificate-item{flex-direction:row;align-items:center;gap:var(--spacing-md)}.info-item{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.training-header h1{font-size:2rem}}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:var(--spacing-sm)}.course-item,.certificate-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.modal{padding:var(--spacing-sm)}.modal-content{max-height:95vh;margin:var(--spacing-sm)}.info-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.training-header h1{font-size:1.5rem}}@media (max-width:480px){.screen{padding:var(--mobile-padding)}.nav-container{padding:0 var(--mobile-padding)}.dashboard-header h1{font-size:1.25rem;text-align:center;margin-bottom:var(--spacing-sm)}.dashboard-header p{font-size:0.875rem;text-align:center;margin-bottom:var(--spacing-md)}.nav-container{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.nav-brand{justify-content:center;margin-bottom:var(--spacing-xs)}.nav-brand .nav-logo{max-height:32px}.nav-menu{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.dashboard-switcher{display:flex;align-items:center;gap:var(--spacing-xs);font-size:0.75rem}.dashboard-switcher label{font-size:0.75rem;white-space:nowrap;margin-bottom:0}.dashboard-select{font-size:0.75rem;padding:var(--spacing-xs);min-width:80px}.nav-user{font-size:0.75rem;white-space:nowrap;text-align:center}#nav-logout{padding:var(--spacing-xs) var(--spacing-sm);font-size:0.75rem;white-space:nowrap;min-height:var(--touch-target-min)}.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.dashboard-card{padding:var(--spacing-md);border-radius:var(--radius-md)}}@media (min-width:1025px){.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-2xl)}.dashboard-header h1{font-size:2.25rem}.dashboard-header p{font-size:1.125rem}}@media (min-width:1401px){.dashboard-container{max-width:1400px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}