:root{--primary-color:#ff6b35;--secondary-color:#004e89;--success-color:#28a745;--danger-color:#dc3545;--warning-color:#ffc107;--info-color:#17a2b8;--light-color:#f8f9fa;--dark-color:#343a40;--score-color-0:#dc3545;--score-color-1:#ff6b35;--score-color-2:#ffc107;--score-color-3:#20c997;--score-color-4:#17a2b8;--score-color-5:#28a745;--gap-sm:0.5rem;--gap-md:1rem;--gap-lg:1.5rem;--gap-xl:2rem;--font-family-base:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:600}.btn,button{font-family:var(--font-family-base);font-weight:500}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:focus,.btn-primary:hover{background-color:#e55a2b;border-color:#e55a2b}.bg-primary{background-color:var(--primary-color)!important}.text-primary{color:var(--primary-color)!important}.nav-link.active,.nav-tabs .nav-link.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.traffic-exam-container{max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}#examTabs .nav-link.active{background-color:#0d6efd!important;color:#fff!important;border-color:#0d6efd!important;box-shadow:0 .125rem .25rem rgba(13,110,253,.3)!important}#examTabs .nav-link.active:hover{background-color:#0b5ed7!important;color:#fff!important}.nav-tabs{border-bottom:2px solid #dee2e6}.nav-tabs .nav-link{border:none;border-bottom:3px solid transparent;padding:1rem 1.5rem;font-weight:600;color:#000;transition:all .3s ease}.nav-tabs .nav-link:hover{border-bottom-color:var(--primary-color);color:var(--primary-color)}.nav-tabs .nav-link.active{border-bottom-color:var(--primary-color);color:var(--primary-color);background-color:transparent}.nav-tabs .nav-link i{margin-right:.5rem}.exam-layout{display:flex;align-items:stretch}.exam-layout>[class*=col-]{display:flex;flex-direction:column}.exam-layout .card{flex:1;display:flex;flex-direction:column}.video-section .card-body{flex:1;display:flex;flex-direction:column}.video-start-screen{position:relative;flex:1;min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-image:url(../../dist/images/bg-on-thi-mo-phong-120-cau.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.video-start-screen::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);z-index:1}.video-start-screen>*{position:relative;z-index:2;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.video-start-screen .text-muted{color:rgba(255,255,255,.8)!important}.video-container{position:relative;width:100%;padding-bottom:56.25%;background:#000;border-radius:0;overflow:hidden}.video-container video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center}.score-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;transition:opacity .3s ease}.score-overlay.show{opacity:1}.score-overlay-content{text-align:center;color:#fff;animation:scaleIn .3s ease-out}.score-overlay .score-icon{font-size:4rem;display:block;margin-bottom:1rem}.score-overlay .score-number{font-size:5rem;font-weight:700;line-height:1;margin-bottom:.5rem}.score-overlay .score-text{font-size:2rem;font-weight:600}.score-overlay.score-high .score-icon,.score-overlay.score-high .score-number{color:var(--score-color-5)}.score-overlay.score-medium .score-icon,.score-overlay.score-medium .score-number{color:var(--score-color-3)}.score-overlay.score-low .score-icon,.score-overlay.score-low .score-number{color:var(--score-color-1)}@keyframes scaleIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:20px 15px 15px;opacity:0;transition:opacity .3s;z-index:20}.video-container:hover .video-controls,.video-controls.visible{opacity:1}.progress-bar-wrapper{position:relative;background-color:rgba(255,255,255,.3);border-radius:4px;overflow:visible;cursor:pointer}.test-area .progress-bar-wrapper{cursor:not-allowed}.test-area .progress-bar-wrapper .progress-bar{pointer-events:none}.progress-filled{transition:width .1s linear}.time-zones{pointer-events:none}.time-zone{position:absolute;top:0;height:100%;opacity:.6;transition:opacity .3s}.time-zone:hover{opacity:.8}.flag-marker{top:-30px;transform:translateX(-50%);z-index:30}.flag-marker::before{content:'🚩';font-size:1.5rem;position:absolute;top:0;left:50%;transform:translateX(-50%)}.flag-time{position:absolute;top:-35px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.75rem}.control-buttons .btn{min-width:80px}.control-buttons .btn i{font-size:1rem}.time-display{font-family:'Courier New',monospace;font-size:.875rem;padding:.375rem .75rem}.rounded-pill{transition:all .3s ease}.rounded-pill.color0{background-color:var(--score-color-0);color:#fff}.rounded-pill.color1{background-color:var(--score-color-1);color:#fff}.rounded-pill.color2{background-color:var(--score-color-2);color:#000}.rounded-pill.color3{background-color:var(--score-color-3);color:#fff}.rounded-pill.color4{background-color:var(--score-color-4);color:#fff}.rounded-pill.color5{background-color:var(--score-color-5);color:#fff}.score-value{font-weight:700}.score-message{font-size:1.1rem;min-height:1.5rem}.sidebar .card-body{padding:0}.chapter-list .accordion-item{border:none;border-bottom:1px solid #dee2e6}.chapter-list .accordion-button{font-weight:600;padding:1rem;background-color:#f8f9fa}.chapter-list .accordion-button:not(.collapsed){background-color:#e9ecef;color:var(--primary-color)}.chapter-list .accordion-body{padding:.5rem}.question-btn{position:relative;min-width:70px;padding:.5rem;margin:.25rem;border:1px solid #dee2e6;background-color:#fff;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.question-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.question-btn.active{border-color:var(--primary-color);background-color:#fff3f0;font-weight:700}.question-btn .badge{position:absolute;top:-8px;right:-8px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border-radius:50%}.test-buttons-grid .test-btn{min-height:80px;font-size:1.1rem;font-weight:600;position:relative;overflow:hidden}.test-btn .test-status{position:absolute;top:8px;right:8px;font-size:1.2rem}.test-btn .test-status.passed{color:var(--success-color)}.test-btn .test-status.failed{color:var(--danger-color)}.test-btn.random{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none}.test-btn.random:hover{transform:scale(1.05)}.test-questions-tracker{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.test-question-indicator{min-width:45px;height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;border-radius:.375rem;transition:all .3s ease}.test-question-indicator.active{background-color:var(--primary-color)!important;transform:scale(1.1)}.test-question-indicator.completed{opacity:.8;background-color:transparent!important}.test-question-indicator .question-score{font-size:.65rem;font-weight:600;margin-top:2px;padding:2px 6px}.test-results-panel{text-align:center}.test-result-message.passed{color:var(--success-color)}.test-result-message.failed{color:var(--danger-color)}.tips-gallery .tips-chapter{margin-bottom:2rem}.tips-chapter-title{font-size:1.3rem;font-weight:600;color:var(--secondary-color);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.tip-item{background-color:#fff;border:1px solid #dee2e6!important;border-radius:.375rem;padding:1rem;text-align:center;cursor:pointer;transition:all .3s ease}.tip-item:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.tip-number{font-weight:600;color:var(--primary-color);font-size:1rem}#back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:999;display:none}#back-to-top:hover{transform:translateY(-5px);box-shadow:0 6px 20px rgba(0,0,0,.4)}.video-container.hide-title::after{content:'';position:absolute;top:0;left:0;right:0;height:40px;background-color:#000;z-index:10}.page-content-before{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);padding:3rem 0;margin-bottom:0}.page-content-after{background:#f8f9fa;padding:3rem 0;margin-top:0}.page-content-after .content-wrapper,.page-content-before .content-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem}.page-content-after h1,.page-content-after h2,.page-content-before h1,.page-content-before h2{color:var(--primary-color);font-weight:600;margin-bottom:1.5rem}.page-content-before h1{font-size:2.5rem;text-align:center;margin-bottom:1rem}.page-content-before h2{font-size:1.8rem}.page-content-after h2{font-size:1.8rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.page-content-after p,.page-content-before p{font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.page-content-after .btn,.page-content-before .btn{font-weight:600;padding:.75rem 1.5rem;margin:.5rem}.page-content-after .faq-item{background:#fff;border-radius:.5rem;margin-bottom:1rem;padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.page-content-after .faq-question{font-weight:600;color:var(--secondary-color);margin-bottom:.5rem}.page-content-after .faq-answer{color:#6c757d}.mt-10{margin-top:1rem}.text-center{text-align:center}.shadow-hover{transition:box-shadow .3s ease}.shadow-hover:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.card{border:none;transition:all .3s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.15)}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s infinite}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s infinite}@media print{.back-to-top,.btn,.navbar,.video-controls{display:none!important}.card{border:1px solid #dee2e6!important;box-shadow:none!important}}