:root{--brand-primary:#213d5e;--brand-primary-light:#213d5e;--brand-primary-dark:#213d5e;--brand-sec1:#c6c6c6;--brand-sec1-light:#f9f9f9;--brand-sec1-dark:#959595;--brand-sec2:#fff200;--brand-sec2-light:#ffff57;--brand-sec2-dark:#c7c000;--brand-sec3:#00a7e0;--brand-sec3-light:#62d8ff;--brand-sec3-dark:#0078ae;--font-sans:Arial, Helvetica, sans-serif;--font-heading:Arial, Helvetica, sans-serif;--sidebar-width:260px;--header-height:70px;--mobile-header-height:58px;--bottom-nav-height:64px;--course-player-sidebar-width:320px;--radius-lg:16px;--radius-md:10px;--radius-sm:6px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light],[data-theme=light]{--bg-primary:var(--brand-sec1-light);--bg-secondary:#fff;--bg-tertiary:var(--brand-sec1);--card-bg:#fff;--card-border:var(--brand-sec1);--card-hover-border:var(--brand-primary-light);--text-primary:var(--brand-primary-dark);--text-secondary:#334155;--text-muted:var(--brand-sec1-dark);--primary:var(--brand-primary-light);--primary-hover:var(--brand-sec3);--primary-glow:#4671af33;--secondary:var(--brand-sec3);--secondary-hover:var(--brand-sec3-dark);--success:#10b981;--success-bg:#10b98126;--success-border:#10b9814d;--warning:var(--brand-sec2-dark);--warning-bg:#c7c00026;--warning-border:#c7c0004d;--danger:#ef4444;--danger-bg:#ef444426;--danger-border:#ef44444d;--badge-success-text:#065f46;--badge-success-bg:#d1fae5;--badge-warning-text:#92400e;--badge-warning-bg:#fef3c7;--badge-danger-text:#991b1b;--badge-danger-bg:#fee2e2;--badge-info-text:#1e40af;--badge-info-bg:#dbeafe;--badge-neutral-text:#374151;--badge-neutral-bg:#f3f4f6}:root,:root[data-theme=dark],[data-theme=dark]{--bg-primary:#000c1e;--bg-secondary:var(--brand-primary-dark);--bg-tertiary:var(--brand-primary);--card-bg:#00467f40;--card-border:#4671af33;--card-hover-border:var(--brand-primary-light);--text-primary:var(--brand-sec1-light);--text-secondary:var(--brand-sec1);--text-muted:var(--brand-sec1-dark);--primary:var(--brand-primary-light);--primary-hover:var(--brand-sec3-light);--primary-glow:#4671af4d;--secondary:var(--brand-sec3);--secondary-hover:var(--brand-sec3-light);--success:#10b981;--success-bg:#10b98126;--success-border:#10b9814d;--warning:var(--brand-sec2);--warning-bg:#fff20026;--warning-border:#fff2004d;--danger:#ef4444;--danger-bg:#ef444426;--danger-border:#ef44444d;--badge-success-text:#a7f3d0;--badge-success-bg:#10b98126;--badge-warning-text:#fde68a;--badge-warning-bg:#f59e0b26;--badge-danger-text:#fca5a5;--badge-danger-bg:#ef444426;--badge-info-text:#93c5fd;--badge-info-bg:#3b82f626;--badge-neutral-text:#d1d5db;--badge-neutral-bg:#9ca3af26}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#00000026;border-radius:999px}::-webkit-scrollbar-thumb{background:var(--text-muted);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary);background-clip:padding-box;border:2px solid #0000}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.dashboard-layout{background:radial-gradient(circle at 10% 20%,#4671af0d 0%,#0000 50%),radial-gradient(circle at 90% 80%,#00a7e00d 0%,#0000 50%);min-height:100vh;display:flex}.main-content{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);flex-direction:column;flex:1;width:100%;min-width:0;display:flex}@media (width<=1024px){.main-content{width:100%;margin-left:0}}.content-container{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:2rem}@media (width<=768px){.content-container{padding:1rem .85rem;padding-bottom:calc(var(--bottom-nav-height) + 1.5rem)}}.sidebar{width:var(--sidebar-width);background:var(--brand-primary-dark);border-right:1px solid var(--card-border);z-index:1000;transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;padding:1.25rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0}@media (width<=1024px){.sidebar{box-shadow:none;z-index:2000;max-width:85vw;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:10px 0 40px #0009}}.sidebar.contractor-sidebar,.contractor-sidebar{border-right:1px solid #d7a06440;background:#3e2819!important}.sidebar.contractor-sidebar .nav-item:hover,.sidebar.contractor-sidebar .nav-category-header:hover{background:#ffffff14}.sidebar.contractor-sidebar .nav-item.active{color:var(--brand-sec2);border-left:4px solid var(--brand-sec2);background:#fff2002e}.logo-section{color:#fff;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.35rem;font-weight:800;display:flex}.nav-links{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex-direction:column;flex-grow:1;gap:.25rem;padding-right:.25rem;list-style:none;display:flex;overflow-y:auto}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}.nav-item{color:var(--brand-sec1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.35rem .6rem;font-weight:500;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--primary);background:#ffffff1f;font-weight:600}.sidebar-user{border-top:1px solid #ffffff26;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.avatar{background:var(--brand-primary-light);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.user-info{flex:1;overflow:hidden}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.user-role-badge{background:var(--brand-sec2);color:#000;border-radius:4px;margin-top:.2rem;padding:.15rem .4rem;font-size:.75rem;font-weight:600;display:inline-block}.top-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--card-border);z-index:90;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.page-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);transition:border-color var(--transition-normal), transform var(--transition-normal);padding:1.5rem;box-shadow:0 8px 32px #00000026}.glass-card:hover{border-color:var(--card-hover-border);transform:translateY(-2px)}.glass-card.no-hover:hover{border-color:var(--card-border);transform:none}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.metric-card{justify-content:space-between;align-items:center;display:flex}.metric-info h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.85rem}.metric-info .value{font-size:1.8rem;font-weight:700}.metric-icon{border-radius:var(--radius-md);background:var(--bg-secondary);width:48px;height:48px;color:var(--text-primary);border:1px solid var(--card-border);justify-content:center;align-items:center;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--brand-primary);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{background:var(--brand-primary-light);transform:translateY(-1px)}.btn-secondary{background:var(--brand-sec1);color:#000;border:1px solid var(--brand-sec1-dark)}.btn-secondary:hover{background:var(--brand-sec1-light)}.btn-danger{background:var(--danger-bg);color:#ef4444;border:1px solid var(--danger-border)}.btn-danger:hover{background:#ef444440}.btn-success{background:var(--success-bg);color:#10b981;border:1px solid var(--success-border)}.btn-success:hover{background:#10b98140}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:.7rem 1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) modalEnter;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.table-container{border-radius:var(--radius-lg);border:1px solid var(--card-border);overflow-x:auto}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--card-border);padding:1rem 1.5rem;font-size:.85rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--card-border);color:var(--text-primary);padding:1rem 1.5rem;font-size:.9rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:not(.no-hover):hover td{background:#ffffff05}.progress-bar-container{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--brand-primary) 0%, var(--brand-primary-light) 100%);border-radius:999px;height:100%;transition:width .3s}.quiz-question-card{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.25rem}.quiz-option-item{background:var(--bg-primary);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast);margin-top:.5rem;padding:.75rem 1rem}.quiz-option-item:hover{border-color:var(--brand-primary-light);background:#00467f14}.quiz-option-item.selected{border-color:var(--brand-primary-light);background:#00467f33;font-weight:600}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.course-card{flex-direction:column;height:100%;display:flex}.course-badge{text-transform:uppercase;border-radius:4px;align-self:flex-start;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-scorm{background:var(--brand-sec2);color:#000;border:1px solid var(--brand-sec2-dark)}.badge-custom{background:var(--brand-sec3);color:#000;border:1px solid var(--brand-sec3-dark)}.course-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.course-card p{color:var(--text-secondary);flex:1;margin-bottom:1.5rem;font-size:.85rem;line-height:1.5}.course-card-footer{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.login-page{background:radial-gradient(circle,#00467f1a 0%,#0000 60%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{width:100%;max-width:800px;padding:3rem}.login-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2.2rem}.login-header p{color:var(--text-secondary);margin-bottom:2.5rem}.role-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.role-card{background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);padding:1.5rem}.role-card:hover{border-color:var(--brand-primary-light);background:#00467f0d;transform:translateY(-3px)}.role-icon{width:48px;height:48px;color:var(--brand-primary-light);background:#00467f1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.role-card h3{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem}.role-card p{color:var(--text-secondary);font-size:.75rem}.user-switcher-bar{background:var(--bg-secondary);border:1px solid var(--brand-primary-light);z-index:999;border-radius:999px;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 10px 25px #0000004d}.user-switcher-label{text-transform:uppercase;color:var(--primary);font-size:.75rem;font-weight:700}.user-switcher-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.theme-toggle-btn{border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;display:flex}.theme-toggle-btn:hover{border-color:var(--primary);background:#ffffff1a}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--card-border);white-space:nowrap;padding:1rem 1.25rem;font-size:.85rem;font-weight:600}.data-table td{border-bottom:1px solid var(--card-border);color:var(--text-primary);white-space:nowrap;padding:1rem 1.25rem;font-size:.9rem}.data-table tbody tr:nth-child(2n) td{background:#ffffff04}.data-table tbody tr:nth-child(odd) td{background:#ffffff01}.data-table tbody tr:not(.no-hover):hover td{background:#ffffff0a!important}.sub-nav-item{color:var(--brand-sec1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.5rem;margin-left:.5rem;padding:.2rem .4rem;font-size:.8rem;font-weight:500;display:flex}.sub-nav-item:hover{color:#fff;background:#ffffff0d}.sub-nav-item.active{color:#fff;background:#6366f126;font-weight:600}.toast-container{z-index:10000;flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);color:var(--text-primary);border-radius:12px;align-items:flex-start;gap:12px;padding:16px;transition:all .2s;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;box-shadow:0 10px 25px -5px #0000005e}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px)translateY(0)}to{opacity:1;transform:translate(0)translateY(0)}}.toast-success{border-left:4px solid #10b981;box-shadow:0 10px 25px -5px #10b9811a}.toast-error{border-left:4px solid #ef4444;box-shadow:0 10px 25px -5px #ef44441a}.toast-info{border-left:4px solid #6366f1;box-shadow:0 10px 25px -5px #6366f11a}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.9rem;display:flex}.toast-success .toast-icon{color:#10b981;background:#10b9811a}.toast-error .toast-icon{color:#ef4444;background:#ef44441a}.toast-info .toast-icon{color:#6366f1;background:#6366f11a}.toast-content{color:var(--text-primary);flex-grow:1;font-size:.85rem;line-height:1.4}.toast-close{color:var(--text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .2s;display:flex}.toast-close:hover{opacity:1;background:#ffffff0d}.access-badge{white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.access-badge-administrator{background:var(--badge-info-bg);color:var(--badge-info-text)}.access-badge-trainer{background:var(--badge-success-bg);color:var(--badge-success-text)}.access-badge-trainee{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.nav-category-header{color:var(--brand-sec1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.5rem .6rem;font-size:.9rem;font-weight:600;display:flex}.nav-category-header:hover{color:#fff;background:#ffffff14}.nav-category-header.active{color:#fff;background:#ffffff0d}.nav-category-title-wrapper{align-items:center;gap:.75rem;display:flex}.nav-submenu{opacity:0;pointer-events:none;flex-direction:column;gap:.15rem;max-height:0;margin:0;padding-left:0;list-style:none;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-out,margin .3s;display:flex;overflow:hidden}.nav-submenu.expanded{opacity:1;pointer-events:auto;max-height:500px;margin:.25rem 0}.nav-sub-item{color:var(--brand-sec1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.35rem .6rem .35rem 1.85rem;font-size:.825rem;font-weight:500;display:flex}.nav-sub-item:hover{color:#fff;background:#ffffff0d}.nav-sub-item.active{color:#fff;background:#6366f126;font-weight:600}.nav-sub-sub-item{color:var(--brand-sec1);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.3rem .6rem .3rem 2.85rem;font-size:.775rem;font-weight:450;display:flex}.nav-sub-sub-item:hover{color:#fff;background:#ffffff0a}.nav-sub-sub-item.active{color:#fff;background:#6366f11a;font-weight:600}.profile-link-hover{transition:opacity .2s,transform .2s;text-decoration:none!important}.profile-link-hover:hover{opacity:.8;transform:scale(1.02)}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(6px);z-index:1999;background:#0a0f1da6;animation:.2s ease-out fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.top-header{height:var(--mobile-header-height);padding:0 .75rem}}.mobile-menu-btn{border:1px solid var(--card-border);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;width:38px;height:38px;transition:all var(--transition-fast);background:#ffffff14;flex-shrink:0;justify-content:center;align-items:center;margin-right:.5rem;padding:0;display:none}.mobile-menu-btn:hover{border-color:var(--primary);background:#ffffff26}@media (width<=1024px){.mobile-menu-btn{display:inline-flex}}.desktop-header-controls{z-index:2;align-items:center;gap:1rem;margin-left:auto;display:flex;position:relative}.mobile-user-utility-bar{background:var(--bg-secondary);border-bottom:1px solid var(--card-border);z-index:900;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .75rem;display:none;position:relative;box-shadow:0 2px 8px #00000014}.mobile-only-site-logo{display:none}@media (width<=768px){.desktop-header-controls{display:none!important}.mobile-user-utility-bar,.mobile-only-site-logo{display:flex!important}}.mobile-bottom-nav{height:var(--bottom-nav-height);background:var(--bg-secondary);border-top:1px solid var(--card-border);z-index:950;padding:0 .5rem;padding-bottom:env(safe-area-inset-bottom,0);-webkit-backdrop-filter:blur(12px);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000040}@media (width<=768px){.mobile-bottom-nav{display:flex}}.mobile-bottom-nav-item{height:100%;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), transform var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;padding:.25rem 0;font-size:.68rem;font-weight:500;text-decoration:none;display:flex;position:relative}.mobile-bottom-nav-item:active{transform:scale(.95)}.mobile-bottom-nav-item.active{color:var(--primary);font-weight:700}.mobile-bottom-nav-item.active:after{content:"";background:var(--primary);border-radius:0 0 4px 4px;width:24px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.course-player-shell{z-index:2000;background:var(--bg-primary);width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.course-player-sidebar{width:var(--course-player-sidebar-width);flex:0 0 var(--course-player-sidebar-width);background:var(--brand-primary-dark);border-right:1px solid var(--card-border);height:100%;transition:transform var(--transition-normal);flex-direction:column;padding:1.25rem 1rem;display:flex;position:relative;overflow-y:auto}.course-player-main{background:var(--bg-primary);min-width:0;height:100%;transition:margin-left var(--transition-normal);flex-direction:column;flex:1;display:flex;overflow-y:hidden}@media (width<=768px){.course-player-sidebar{z-index:2100;width:300px;max-width:85vw;box-shadow:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.course-player-sidebar.mobile-open{transform:translate(0);box-shadow:10px 0 40px #000000b3}.course-player-main{margin-left:0!important;padding:0!important}}.course-player-mobile-bar{background:var(--bg-secondary);border-bottom:1px solid var(--card-border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;min-height:48px;padding:.5rem .75rem;display:none}@media (width<=768px){.course-player-mobile-bar{display:flex}}.course-player-mobile-footer{background:var(--bg-secondary);border-top:1px solid var(--card-border);min-height:52px;padding:.5rem .75rem;padding-bottom:env(safe-area-inset-bottom,.5rem);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;display:none}@media (width<=768px){.course-player-mobile-footer{display:flex}}.responsive-iframe-wrapper{-webkit-overflow-scrolling:touch;background:#fff;flex:1;width:100%;height:100%;min-height:0;position:relative}.responsive-iframe-wrapper iframe{border:none;width:100%;height:100%;display:block}.question-pills-strip{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:.4rem;padding:.5rem .25rem;display:flex;overflow-x:auto}.question-pills-strip::-webkit-scrollbar{display:none}.question-pill-btn{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-secondary);min-width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0 .35rem;font-size:.75rem;font-weight:600;display:inline-flex}.question-pill-btn:active{transform:scale(.92)}.question-pill-btn.current{font-weight:700;border:2px solid var(--primary)!important;background:var(--primary-glow)!important;color:var(--primary)!important}.question-pill-btn.answered{color:var(--success);background:#10b9811f;border-color:#10b98166}.question-pill-btn.unanswered-required{border-color:#ef444466}@media (width<=640px){.modal-overlay{padding:.5rem}.modal-content{max-height:calc(100dvh - 1rem);padding:1.25rem;width:100%!important;max-width:100%!important}.login-card{padding:1.5rem 1.25rem!important}}.login-split-container{background:var(--bg-primary);width:100vw;min-height:100dvh;color:var(--text-primary);display:flex;overflow:hidden auto}.login-form-side{box-sizing:border-box;z-index:10;flex-direction:column;flex:0 0 400px;justify-content:space-between;width:100%;max-width:480px;padding:2.5rem 2rem;display:flex;overflow-y:auto}.login-billboard-side{background-position:50%;background-size:cover;flex:1;justify-content:center;align-items:center;display:flex;position:relative}@media (width<=768px){.login-split-container{flex-direction:column}.login-form-side{flex:auto;width:100%;min-width:0;max-width:100%;padding:1.75rem 1.25rem}.login-billboard-side{display:none}}.test-interface-container{gap:2rem;width:100%;height:100%;min-height:0;display:flex}.test-interface-left{border-right:1px solid var(--card-border);flex-direction:column;flex:1;justify-content:space-between;min-width:0;height:100%;padding-right:2rem;display:flex;overflow-y:auto}.test-interface-right{flex-direction:column;flex:0 0 250px;align-items:center;height:100%;display:flex;overflow-y:auto}.mobile-only-test-submit,.mobile-close-drawer-btn,.mobile-brand-title{display:none}@media (width<=1024px){.mobile-close-drawer-btn,.mobile-brand-title{display:flex!important}}@media (width<=768px){.test-interface-container{flex-direction:column;gap:1rem;height:auto;min-height:100%;overflow-y:auto}.test-interface-left{border-right:none;height:auto;padding-right:0;overflow-y:visible}.test-interface-right{display:none!important}.mobile-only-test-submit{display:block!important}.courses-grid{grid-template-columns:1fr;gap:1rem}}.mobile-only-warning-banner{display:none}@media (width<=768px){.mobile-only-warning-banner{display:flex!important}}.responsive-pagination-wrapper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-top:1.5rem;padding:.5rem 0;display:flex}.pagination-info{color:var(--text-secondary);font-size:.85rem}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.pagination-numbers-strip{align-items:center;gap:.25rem;display:flex}.pagination-nav-btn{font-weight:600;padding:.3rem .65rem!important;font-size:.8rem!important}.pagination-page-btn{justify-content:center;align-items:center;min-width:32px;height:32px;font-weight:600;display:inline-flex;border-radius:var(--radius-md)!important;padding:.3rem .55rem!important;font-size:.8rem!important}.pagination-ellipsis{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 .3rem;font-size:.85rem;font-weight:700}@media (width<=640px){.responsive-pagination-wrapper{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem}.pagination-controls{justify-content:center;width:100%}.pagination-page-btn{min-width:28px;height:28px;padding:.2rem .4rem!important;font-size:.75rem!important}.pagination-nav-btn{padding:.25rem .5rem!important;font-size:.75rem!important}}
