.progress-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:30px}.summary-card{background-color:#f5f5f5;border-radius:8px;padding:20px 30px;text-align:center;min-width:120px;box-shadow:0 2px 4px #0000001a}.summary-card.completed{background-color:#d4edda;color:#155724}.summary-card.incomplete{background-color:#f8d7da;color:#721c24}.summary-card.attended{background-color:#d1ecf1;color:#0c5460}.summary-card.not-attended{background-color:#f8d7da;color:#721c24}.summary-card.passed{background-color:#d4edda;color:#155724}.summary-card.failed{background-color:#f8d7da;color:#721c24}.summary-number{font-size:32px;font-weight:700;margin-bottom:8px}.summary-label{font-size:14px;font-weight:500}.employee-progress-table-container{margin-top:20px}.employee-progress-table{width:100%;border-collapse:collapse;box-shadow:0 2px 4px #0000001a}.employee-progress-table th,.employee-progress-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.employee-progress-table th{background-color:#f2f2f2;font-weight:700;color:#333}.employee-progress-table tr:hover{background-color:#f5f5f5}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:700}.status-badge.completed{background-color:#d4edda;color:#155724}.status-badge.incomplete{background-color:#f8d7da;color:#721c24}.status-badge.passed{background-color:#d4edda;color:#155724}.status-badge.failed,.status-badge.not-attended{background-color:#f8d7da;color:#721c24}.score-link{color:#007bff;text-decoration:none;font-weight:700}.score-link:hover{text-decoration:underline}.view-details-btn{background-color:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:14px}.view-details-btn:hover{background-color:#0069d9}.no-data{text-align:center;color:#666;padding:20px}.employee-dashboard{padding:20px;max-width:1200px;margin:0 auto}.employee-dashboard h1{text-align:center;margin-bottom:30px;color:#333}.current-meeting{background-color:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:30px;text-align:center}.current-meeting h2{margin-bottom:10px;color:#333}.current-meeting p{margin:5px 0;color:#666}.task-list{margin-bottom:30px}.task-list h2{margin-bottom:20px;color:#333}.task-table{width:100%;overflow-x:auto}.task-table table{width:100%;border-collapse:collapse;box-shadow:0 2px 4px #0000001a}.task-table th,.task-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.task-table th:last-child,.task-table td:last-child{text-align:center}.task-table th{background-color:#f2f2f2;font-weight:700;color:#333}.task-table tr:hover{background-color:#f5f5f5;cursor:pointer}.task-info h3{margin:0 0 5px;color:#333}.video-duration{margin:0;font-size:14px;color:#666}.task-status{padding:6px 12px;border-radius:16px;font-size:14px;font-weight:700;text-align:center;display:inline-block;margin:0 auto}.task-status.completed{background-color:#d4edda;color:#155724}.task-status.watching{background-color:#d1ecf1;color:#0c5460}.task-status.not-watched{background-color:#f8d7da;color:#721c24}.exam-link{display:inline-block;background-color:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:16px;cursor:pointer;font-size:14px;font-weight:700}.exam-link.completed{display:inline-block;background-color:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:16px;cursor:pointer;font-size:14px;font-weight:700}.exam-link.completed:hover{background-color:#0069d9}.video-player-container{margin-top:20px}.back-button{background-color:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-bottom:20px}.back-button:hover{background-color:#5a6268}.history-link{text-align:center;margin-top:30px}.history-button{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:16px;font-weight:700}.history-button:hover{background-color:#218838}.loading{text-align:center;padding:50px;font-size:18px;color:#666}.error{text-align:center;padding:50px;font-size:18px;color:#dc3545}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}h1,h2,h3,h4,h5,h6{margin-bottom:10px;color:#333}p{margin-bottom:10px;color:#666}button{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px}button:hover{background-color:#0069d9}button:disabled{background-color:#6c757d;cursor:not-allowed}input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:10px}input:focus,select:focus,textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.error{color:#dc3545;font-size:14px;margin-top:5px}.success{color:#28a745;font-size:14px;margin-top:5px}.loading{text-align:center;padding:20px;font-size:18px;color:#666}.table{width:100%;border-collapse:collapse;margin-bottom:20px}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.table th{background-color:#f8f9fa;font-weight:700}.table tr:hover{background-color:#f5f5f5}.pagination{display:flex;justify-content:center;list-style:none;margin-top:20px}.pagination li{margin:0 5px}.pagination li a{display:block;padding:8px 16px;text-decoration:none;color:#007bff;border:1px solid #dee2e6;border-radius:4px}.pagination li a:hover{background-color:#e9ecef}.pagination li.active a{background-color:#007bff;color:#fff;border-color:#007bff}.pagination li.disabled a{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.navbar{background-color:#007bff;color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.navbar a{color:#fff;text-decoration:none;margin-left:20px}.navbar a:hover{text-decoration:underline}.login-container{max-width:400px;margin:100px auto 0}.login-form{background-color:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.login-form h2{text-align:center;margin-bottom:20px}.login-form button{width:100%;margin-top:20px}.feishu-login-button{background-color:#00c16e;margin-top:10px;border:none;color:#fff;padding:10px;border-radius:4px;cursor:pointer;font-size:16px}.feishu-login-button:hover{background-color:#00a858}.feishu-login-button:disabled{background-color:#ccc;cursor:not-allowed}.login-divider{display:flex;align-items:center;margin:20px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:#e0e0e0}.login-divider span{padding:0 10px;color:#999;font-size:14px}.meeting-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.meeting-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.meeting-card h3{margin-bottom:10px}.meeting-card p{margin-bottom:5px;font-size:14px}.checkin-btn{margin-top:15px;width:100%}.message{margin-top:10px;padding:10px;border-radius:4px;text-align:center}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.meeting-tasks{padding:20px}.meeting-tasks h1{margin-bottom:20px}.current-meeting{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.current-meeting h2{margin-bottom:10px}.task-list{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.task-list h2{margin-bottom:20px}.video-list{margin-bottom:30px}.video-list h2{margin-bottom:20px}.video-card{background-color:#f9f9f9;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s;margin-bottom:15px}.video-card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #00000026}.video-thumbnail{position:relative;margin-bottom:10px}.video-thumbnail img{width:100%;border-radius:4px}.video-duration{position:absolute;bottom:5px;right:5px;background-color:#000000b3;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px}.video-info h3{margin-bottom:5px;font-size:16px}.video-info p{margin-bottom:10px;font-size:14px;color:#666;line-height:1.4}.video-status{display:inline-block;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:700}.video-status.completed{background-color:#d4edda;color:#155724}.video-status.watching{background-color:#d1ecf1;color:#0c5460}.video-status.not-watched{background-color:#f8d7da;color:#721c24}.video-player-container{margin-bottom:30px}.back-button{display:inline-block;margin-bottom:20px;padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none}.back-button:hover{background-color:#0069d9}.video-player{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.video-player h3{margin-bottom:10px}.video-player p{margin-bottom:20px;color:#666}.video-player video{margin-bottom:20px;border-radius:4px;width:100%}.progress-container{margin-top:15px}.progress-bar{width:100%;height:8px;background-color:#ddd;border-radius:4px;overflow:hidden;margin-bottom:5px}.progress-fill{height:100%;background-color:#007bff;border-radius:4px}.progress-text{font-size:14px;color:#666;text-align:right}.exam-section{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.exam-page{max-width:900px;margin:0 auto;padding:20px}.exam-info{background-color:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.questions-container{margin-bottom:30px}.question-item{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.question-content{margin-bottom:20px;font-size:16px;line-height:1.5}.options{margin-top:15px}.option-item{display:flex;align-items:flex-start;margin-bottom:12px}.option-input{margin-right:10px;margin-top:2px;flex-shrink:0;width:auto}.option-label{font-size:16px;line-height:1.5;cursor:pointer;flex-grow:1}.exam-result-page{max-width:900px;margin:0 auto;padding:20px}.result-summary{text-align:center;margin-bottom:30px}.result-summary h2{margin-bottom:20px}.summary-info{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:20px;font-size:16px}.summary-info p{margin:0}.score{font-weight:700;font-size:18px}.score.pass{color:#28a745}.score.fail{color:#dc3545}.result{font-weight:700;padding:4px 12px;border-radius:4px}.result.pass{background-color:#d4edda;color:#155724}.result.fail{background-color:#f8d7da;color:#721c24}.questions-result{margin-top:20px}.questions-result h3{margin-bottom:20px}.question-result{margin-bottom:20px;padding:20px}.question-result.correct{border-left:4px solid #28a745}.question-result.incorrect{border-left:4px solid #dc3545}.question-header{display:flex;align-items:center;gap:15px;margin-bottom:15px;flex-wrap:wrap}.question-number{font-weight:700}.question-type{color:#666;font-size:14px}.question-score{color:#666}.result-tag{padding:2px 8px;border-radius:4px;font-size:14px;font-weight:700}.result-tag.correct{background-color:#d4edda;color:#155724}.result-tag.incorrect{background-color:#f8d7da;color:#721c24}.question-content{font-size:16px;margin-bottom:15px;line-height:1.5}.options-result{margin-top:10px}.option-result{display:flex;align-items:flex-start;padding:8px 12px;margin-bottom:8px;border-radius:4px;border:1px solid #ddd}.option-result.correct{background-color:#d4edda;border-color:#c3e6cb}.option-result.incorrect{background-color:#f8d7da;border-color:#f5c6cb}.option-result.user-selected{border-width:2px}.option-label{font-weight:700;margin-right:8px;min-width:25px}.option-text{flex-grow:1}.user-mark{background-color:#ffc107;color:#212529;padding:2px 6px;border-radius:3px;font-size:12px;margin-left:10px}.correct-answer-info{margin-top:15px;padding:10px;background-color:#fff3cd;border-radius:4px;color:#856404}.exam-history{max-width:1000px;margin:0 auto}.exam-records-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;overflow-x:auto}.exam-records-table{width:100%;border-collapse:collapse}.exam-records-table th,.exam-records-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.exam-records-table th{background-color:#f8f9fa;font-weight:700}.exam-records-table tr:hover{background-color:#f5f5f5}.view-result-btn{background-color:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px}.view-result-btn:hover{background-color:#0056b3}.incomplete{color:#999;font-style:italic}.no-data{text-align:center;color:#999;padding:20px}.exam-section h2{margin-bottom:15px}.exam-link{display:inline-block;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none;font-size:16px}.exam-link:hover{background-color:#0069d9}.exam-disabled{color:#999;font-style:italic}@media (max-width: 768px){.container{padding:10px}.navbar{flex-direction:column;align-items:flex-start}.navbar a{margin-left:0;margin-right:10px;margin-bottom:5px}.video-card{padding:10px}.video-player{padding:15px}.video-player video{width:100%}}@media (max-width: 480px){.login-container{margin-top:50px;padding:15px}.meeting-card{padding:15px}.video-card{padding:10px}.video-player{padding:15px}}.nav-links{display:flex;align-items:center}.nav-links a{color:#fff;text-decoration:none;margin-left:20px}.nav-links a.active{font-weight:700;border-bottom:2px solid white}.nav-links a:hover{text-decoration:underline}.nav-links span{margin-left:20px;margin-right:20px}
