body{margin:0;padding:0;font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#2c3e50}#app{min-height:100vh}.login-container[data-v-2061b26c]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f5f5f5}.login-box[data-v-2061b26c]{width:350px;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.title[data-v-2061b26c]{text-align:center;margin-bottom:30px;color:#333}.form-group[data-v-2061b26c]{margin-bottom:20px}.form-group label[data-v-2061b26c]{display:block;font-size:14px;margin-bottom:6px;color:#666}.form-control[data-v-2061b26c]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-control[data-v-2061b26c]:focus{outline:none;border-color:#2c3e50}.login-button[data-v-2061b26c]{width:100%;padding:12px;background-color:#2c3e50;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.login-button[data-v-2061b26c]:hover:not(:disabled){background-color:#1e2a36}.login-button[data-v-2061b26c]:disabled{background-color:#95a5a6;cursor:not-allowed}.error-message[data-v-2061b26c]{color:#e74c3c;font-size:14px;margin-bottom:15px;text-align:center}.login-help[data-v-2061b26c]{margin-top:20px;padding-top:15px;border-top:1px solid #eee;font-size:12px;color:#888}.login-help p[data-v-2061b26c]{margin:5px 0}.home-container[data-v-191dcb32]{max-width:1200px;margin:0 auto;padding:20px}.header[data-v-191dcb32]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid #eee}.user-info[data-v-191dcb32]{display:flex;align-items:center;gap:15px}.logout-button[data-v-191dcb32]{padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.logout-button[data-v-191dcb32]:hover{background-color:#c0392b}.main-content[data-v-191dcb32]{display:flex;flex-direction:column;gap:30px}.card[data-v-191dcb32]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px}.dashboard[data-v-191dcb32]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.dashboard-item[data-v-191dcb32]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px;text-align:center}.dashboard-item h3[data-v-191dcb32]{margin-top:0;color:#555}.count[data-v-191dcb32]{font-size:2.5rem;font-weight:700;color:#2c3e50;margin:15px 0}h1[data-v-191dcb32],h2[data-v-191dcb32],h3[data-v-191dcb32]{color:#2c3e50}.dashboard-section[data-v-aa2794f6]{padding:20px}.dashboard-metrics[data-v-aa2794f6]{display:flex;gap:20px;margin-bottom:30px}.metric-card[data-v-aa2794f6]{flex:1;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;align-items:center;padding:20px}.metric-icon[data-v-aa2794f6]{width:60px;height:60px;background-color:#f8f9fa;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-right:15px}.metric-content[data-v-aa2794f6]{flex:1}.metric-content h3[data-v-aa2794f6]{margin:0 0 10px 0;font-size:1rem;color:#7f8c8d}.metric-value[data-v-aa2794f6]{font-size:1.8rem;font-weight:700;color:#2c3e50}.dashboard-row[data-v-aa2794f6]{display:flex;gap:20px;margin-bottom:30px}.recent-activity[data-v-aa2794f6]{flex:1;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px}.recent-activity h3[data-v-aa2794f6]{margin-top:0;color:#2c3e50;display:flex;align-items:center;margin-bottom:20px}.card-icon[data-v-aa2794f6]{margin-right:10px}.activity-list[data-v-aa2794f6]{padding:0;margin:0;list-style-type:none}.activity-item[data-v-aa2794f6]{display:flex;padding:15px 0;border-bottom:1px solid #ecf0f1}.activity-item[data-v-aa2794f6]:last-child{border-bottom:none}.activity-time[data-v-aa2794f6]{width:120px;color:#7f8c8d;font-size:.9rem}.activity-desc[data-v-aa2794f6]{flex:1}.resources-section[data-v-f0cc8b82]{padding:20px}.resource-tools[data-v-f0cc8b82]{display:flex;justify-content:space-between;margin-bottom:20px}.search-filter[data-v-f0cc8b82]{display:flex;gap:10px}.filter-select[data-v-f0cc8b82],.search-input[data-v-f0cc8b82]{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.search-input[data-v-f0cc8b82]{width:250px}.search-btn[data-v-f0cc8b82]{background-color:#3498db}.add-resource-btn[data-v-f0cc8b82],.search-btn[data-v-f0cc8b82]{color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer}.add-resource-btn[data-v-f0cc8b82]{background-color:#2ecc71;display:flex;align-items:center}.resources-table-container[data-v-f0cc8b82]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px;overflow-x:auto}.resources-table[data-v-f0cc8b82]{width:100%;border-collapse:collapse}.resources-table th[data-v-f0cc8b82]{padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.resources-table td[data-v-f0cc8b82]{padding:12px 16px;border-bottom:1px solid #e9ecef}.resource-type[data-v-f0cc8b82]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;text-align:center}.resource-type.video[data-v-f0cc8b82]{background-color:#3498db;color:#fff}.resource-type.pdf[data-v-f0cc8b82]{background-color:#e74c3c;color:#fff}.resource-type.ppt[data-v-f0cc8b82]{background-color:#f39c12;color:#fff}.resource-type.doc[data-v-f0cc8b82]{background-color:#2ecc71;color:#fff}.resource-type.other[data-v-f0cc8b82]{background-color:#95a5a6;color:#fff}.tag-container[data-v-f0cc8b82]{display:flex;flex-wrap:wrap;gap:5px}.resource-tag[data-v-f0cc8b82]{background-color:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:.8rem}.no-tags[data-v-f0cc8b82]{color:#aaa;font-style:italic;font-size:.8rem}.action-buttons[data-v-f0cc8b82]{display:flex;gap:5px}.delete-btn[data-v-f0cc8b82],.edit-btn[data-v-f0cc8b82],.preview-btn[data-v-f0cc8b82]{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.preview-btn[data-v-f0cc8b82]{background-color:#3498db;color:#fff}.edit-btn[data-v-f0cc8b82]{background-color:#f39c12;color:#fff}.delete-btn[data-v-f0cc8b82]{background-color:#e74c3c;color:#fff}.pagination[data-v-f0cc8b82]{display:flex;justify-content:center;align-items:center;gap:20px}.pagination button[data-v-f0cc8b82]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button[data-v-f0cc8b82]:disabled{background-color:#95a5a6;cursor:not-allowed}.modal-overlay[data-v-f0cc8b82]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-f0cc8b82]{background-color:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.modal-header[data-v-f0cc8b82]{padding:15px 20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-f0cc8b82]{margin:0;color:#2c3e50}.close-btn[data-v-f0cc8b82]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d}.modal-body[data-v-f0cc8b82]{padding:20px}.form-group[data-v-f0cc8b82]{margin-bottom:20px}.form-group label[data-v-f0cc8b82]{display:block;margin-bottom:5px;color:#2c3e50}.form-group input[data-v-f0cc8b82],.form-group select[data-v-f0cc8b82],.form-group textarea[data-v-f0cc8b82]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px}.form-group textarea[data-v-f0cc8b82]{height:100px;resize:vertical}.file-upload[data-v-f0cc8b82]{display:flex;align-items:center}.file-upload input[type=file][data-v-f0cc8b82]{display:none}.file-upload-label[data-v-f0cc8b82]{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;margin-right:10px}.file-name[data-v-f0cc8b82]{color:#7f8c8d;font-size:.9rem}.modal-footer[data-v-f0cc8b82]{padding:15px 20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px}.cancel-btn[data-v-f0cc8b82],.submit-btn[data-v-f0cc8b82]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.cancel-btn[data-v-f0cc8b82]{background-color:#e9ecef;color:#2c3e50}.submit-btn[data-v-f0cc8b82]{background-color:#2ecc71;color:#fff}.preview-modal[data-v-f0cc8b82]{width:800px;max-width:90%}.resource-preview[data-v-f0cc8b82]{min-height:300px;display:flex;justify-content:center;align-items:center;width:100%}.pdf-preview[data-v-f0cc8b82],.video-preview[data-v-f0cc8b82]{width:100%}.generic-preview[data-v-f0cc8b82]{padding:20px;width:100%}.preview-info[data-v-f0cc8b82]{display:flex;align-items:center;gap:20px}.preview-icon[data-v-f0cc8b82]{width:80px;height:80px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}.preview-icon.video[data-v-f0cc8b82]:before{content:"📹"}.preview-icon.pdf[data-v-f0cc8b82]:before{content:"📄"}.preview-icon.ppt[data-v-f0cc8b82]:before{content:"📊"}.preview-icon.doc[data-v-f0cc8b82]:before{content:"📝"}.preview-icon.other[data-v-f0cc8b82]:before{content:"📦"}.preview-desc[data-v-f0cc8b82]{flex:1}.download-link[data-v-f0cc8b82]{display:inline-block;margin-top:10px;padding:8px 16px;background-color:#3498db;color:#fff;text-decoration:none;border-radius:4px}.download-link[data-v-f0cc8b82]:hover{background-color:#2980b9}.file-type-hint[data-v-f0cc8b82]{margin-top:8px;font-size:.8rem;color:#7f8c8d}.submit-btn[data-v-f0cc8b82]:disabled{background-color:#95a5a6;cursor:not-allowed}.learning-section[data-v-2f815156]{padding:20px}.learning-tools[data-v-2f815156]{display:flex;justify-content:space-between;margin-bottom:20px}.filter-controls[data-v-2f815156]{display:flex;gap:20px}.filter-item[data-v-2f815156]{display:flex;flex-direction:column}.filter-item label[data-v-2f815156]{font-size:.9rem;margin-bottom:5px;color:#7f8c8d}.filter-item select[data-v-2f815156]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;min-width:150px}.apply-filter-btn[data-v-2f815156]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;align-self:flex-end}.overview-stats[data-v-2f815156]{display:flex;gap:20px;margin-bottom:30px}.stat-card[data-v-2f815156]{flex:1;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px}.stat-title[data-v-2f815156]{color:#7f8c8d;font-size:.9rem;margin-bottom:10px}.stat-value[data-v-2f815156]{font-size:1.8rem;color:#2c3e50;margin-bottom:10px}.stat-trend[data-v-2f815156]{font-size:.9rem;display:flex;align-items:center}.trend-arrow[data-v-2f815156]{margin-right:5px;font-weight:700}.positive[data-v-2f815156]{color:#2ecc71}.negative[data-v-2f815156]{color:#e74c3c}.chart-section[data-v-2f815156]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:30px}.chart-section h3[data-v-2f815156]{margin-top:0;color:#2c3e50;margin-bottom:20px}.chart-container[data-v-2f815156]{margin-bottom:20px}.chart-legend[data-v-2f815156]{display:flex;gap:20px;margin-bottom:15px}.legend-item[data-v-2f815156]{display:flex;align-items:center}.legend-color[data-v-2f815156]{width:16px;height:16px;border-radius:4px;margin-right:8px}.legend-text[data-v-2f815156]{font-size:.9rem;color:#7f8c8d}.chart-items[data-v-2f815156]{display:flex;flex-direction:column;gap:15px}.chart-item[data-v-2f815156]{display:flex;align-items:center}.chart-label[data-v-2f815156]{width:20%;min-width:150px;font-weight:500}.chart-bar-container[data-v-2f815156]{flex:1;height:30px;background-color:#f5f7fa;border-radius:4px;position:relative}.chart-bar[data-v-2f815156]{height:100%;background-color:#3498db;border-radius:4px;position:relative}.chart-value[data-v-2f815156]{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-weight:600}.employee-table[data-v-2f815156]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px}.employee-table h3[data-v-2f815156]{margin-top:0;color:#2c3e50;margin-bottom:20px}.table-toolbar[data-v-2f815156]{display:flex;justify-content:space-between;margin-bottom:20px}.search-box[data-v-2f815156]{flex:1}.search-box input[data-v-2f815156]{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.filter-dropdown[data-v-2f815156]{flex:1}.filter-dropdown select[data-v-2f815156]{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.progress-table[data-v-2f815156]{width:100%;border-collapse:collapse}.progress-table th[data-v-2f815156]{padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.progress-table td[data-v-2f815156]{padding:12px 16px;border-bottom:1px solid #e9ecef}.progress-bar-container[data-v-2f815156]{width:100%;height:20px;background-color:#f5f7fa;border-radius:10px;position:relative}.progress-bar[data-v-2f815156]{background-color:#3498db;border-radius:10px}.progress-bar-container span[data-v-2f815156]{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.9rem;font-weight:600}.employee-info[data-v-2f815156]{display:flex;align-items:center}.employee-avatar[data-v-2f815156]{width:30px;height:30px;background-color:#3498db;margin-right:10px}.employee-name[data-v-2f815156]{font-size:.9rem;font-weight:500}.pagination[data-v-2f815156]{display:flex;justify-content:center;margin-top:20px}.pagination button[data-v-2f815156]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;background-color:#3498db;color:#fff;margin:0 5px}.pagination button[data-v-2f815156]:disabled{background-color:#ddd;cursor:not-allowed}.modal-overlay[data-v-2f815156]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-2f815156]{background-color:#fff;border-radius:8px;width:80%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.15)}.modal-header[data-v-2f815156]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eef0f5}.modal-header h3[data-v-2f815156]{margin:0;font-size:18px;color:#333}.close-btn[data-v-2f815156]{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body[data-v-2f815156]{padding:20px}.modal-footer[data-v-2f815156]{padding:16px 20px;border-top:1px solid #eef0f5;display:flex;justify-content:flex-end}.employee-profile[data-v-2f815156]{display:flex;align-items:center;margin-bottom:24px}.employee-avatar[data-v-2f815156]{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;margin-right:16px}.employee-info h4[data-v-2f815156]{margin:0 0 6px 0;font-size:18px}.employee-info p[data-v-2f815156]{margin:0;color:#666}.progress-summary[data-v-2f815156]{background-color:#f9fafc;padding:20px;border-radius:8px;margin-bottom:24px}.progress-item[data-v-2f815156]{display:flex;align-items:center;margin-bottom:16px}.progress-label[data-v-2f815156]{width:80px;font-weight:500}.progress-bar-container[data-v-2f815156]{flex:1;height:10px;background-color:#e6e9ed;border-radius:5px;overflow:hidden;margin:0 10px}.progress-bar-container.small[data-v-2f815156]{height:6px;width:80px}.progress-bar[data-v-2f815156]{height:100%;border-radius:5px}.progress-value[data-v-2f815156]{width:40px;text-align:right;font-weight:500}.stats-row[data-v-2f815156]{display:flex;justify-content:space-between}.stat-item[data-v-2f815156]{text-align:center;padding:0 10px}.stat-value[data-v-2f815156]{font-size:20px;font-weight:700;color:#333}.stat-label[data-v-2f815156]{font-size:12px;color:#666;margin-top:4px}.course-list-section[data-v-2f815156]{margin-top:24px}.course-list-section h4[data-v-2f815156]{margin-top:0;margin-bottom:16px}.course-list-table[data-v-2f815156]{width:100%;border-collapse:collapse}.course-list-table td[data-v-2f815156],.course-list-table th[data-v-2f815156]{padding:12px 16px;text-align:left;border-bottom:1px solid #eef0f5}.course-list-table th[data-v-2f815156]{background-color:#f9fafc;font-weight:500;color:#333}.status-badge[data-v-2f815156]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-completed[data-v-2f815156]{background-color:#e8f7ee;color:#2ecc71}.status-in-progress[data-v-2f815156]{background-color:#fff8e6;color:#f39c12}.status-not-started[data-v-2f815156]{background-color:#f0f2f5;color:#7f8c8d}.loading-overlay[data-v-2f815156]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.loading-spinner[data-v-2f815156]{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin-2f815156 1s linear infinite}@keyframes spin-2f815156{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chart-pagination[data-v-2f815156]{display:flex;justify-content:center;margin-top:20px;gap:10px}.chart-pagination button[data-v-2f815156]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;background-color:#3498db;color:#fff}.chart-pagination button[data-v-2f815156]:disabled{background-color:#ddd;cursor:not-allowed}.chart-pagination span[data-v-2f815156]{display:flex;align-items:center}.attendance-section[data-v-33e556e1]{padding:20px}.attendance-tools[data-v-33e556e1]{display:flex;justify-content:space-between;margin-bottom:20px}.date-filter[data-v-33e556e1]{display:flex;gap:20px}.date-select[data-v-33e556e1],.department-select[data-v-33e556e1]{display:flex;flex-direction:column}.date-select label[data-v-33e556e1],.department-select label[data-v-33e556e1]{font-size:.9rem;margin-bottom:5px;color:#7f8c8d}.date-select input[data-v-33e556e1],.department-select select[data-v-33e556e1]{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.attendance-actions[data-v-33e556e1]{display:flex;gap:10px}.export-attendance-btn[data-v-33e556e1],.settings-btn[data-v-33e556e1]{padding:8px 16px;color:#fff;border:none;border-radius:4px;cursor:pointer}.export-attendance-btn[data-v-33e556e1]{background-color:#3498db}.settings-btn[data-v-33e556e1]{background-color:#2c3e50}.attendance-stats[data-v-33e556e1]{display:flex;justify-content:space-between;margin-bottom:30px;gap:20px}.attendance-stat-card[data-v-33e556e1]{flex:1;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:15px;display:flex;align-items:center}.stat-icon[data-v-33e556e1]{width:50px;height:50px;border-radius:50%;margin-right:15px}.present-icon[data-v-33e556e1]{background-color:#2ecc71}.late-icon[data-v-33e556e1]{background-color:#f39c12}.early-leave-icon[data-v-33e556e1]{background-color:#3498db}.absent-icon[data-v-33e556e1]{background-color:#e74c3c}.leave-icon[data-v-33e556e1]{background-color:#95a5a6}.stat-content[data-v-33e556e1]{flex:1}.stat-title[data-v-33e556e1]{font-size:.9rem;color:#7f8c8d;margin-bottom:5px}.stat-value[data-v-33e556e1]{font-size:1.5rem;font-weight:700;color:#2c3e50}.stat-percentage[data-v-33e556e1]{font-size:.9rem;color:#7f8c8d}.attendance-table-container[data-v-33e556e1]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px;overflow-x:auto}.attendance-table[data-v-33e556e1]{width:100%;border-collapse:collapse}.attendance-table th[data-v-33e556e1]{padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.attendance-table td[data-v-33e556e1]{padding:12px 16px;border-bottom:1px solid #e9ecef}.status-badge[data-v-33e556e1]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;text-align:center;color:#fff}.status-badge.present[data-v-33e556e1]{background-color:#2ecc71}.status-badge.late[data-v-33e556e1]{background-color:#f39c12}.status-badge.earlyLeave[data-v-33e556e1]{background-color:#3498db}.status-badge.absent[data-v-33e556e1]{background-color:#e74c3c}.status-badge.leave[data-v-33e556e1]{background-color:#95a5a6}.edit-attendance-btn[data-v-33e556e1]{padding:4px 8px;background-color:#f39c12;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.pagination[data-v-33e556e1]{display:flex;justify-content:center;align-items:center;gap:20px}.pagination button[data-v-33e556e1]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button[data-v-33e556e1]:disabled{background-color:#95a5a6;cursor:not-allowed}.modal-overlay[data-v-33e556e1]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-33e556e1]{background-color:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.modal-header[data-v-33e556e1]{padding:15px 20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-33e556e1]{margin:0;color:#2c3e50}.close-btn[data-v-33e556e1]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d}.modal-body[data-v-33e556e1]{padding:20px}.form-group[data-v-33e556e1]{margin-bottom:15px}.form-group label[data-v-33e556e1]{display:block;margin-bottom:5px;color:#2c3e50}.form-group input[data-v-33e556e1],.form-group select[data-v-33e556e1],.form-group textarea[data-v-33e556e1]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px}.form-group textarea[data-v-33e556e1]{height:100px;resize:vertical}.modal-footer[data-v-33e556e1]{padding:15px 20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px}.cancel-btn[data-v-33e556e1],.submit-btn[data-v-33e556e1]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.cancel-btn[data-v-33e556e1]{background-color:#e9ecef;color:#2c3e50}.submit-btn[data-v-33e556e1]{background-color:#2ecc71;color:#fff}.system-section[data-v-38ea4e44]{padding:20px}.settings-tabs[data-v-38ea4e44]{display:flex;margin-bottom:20px;border-bottom:1px solid #ddd}.tab[data-v-38ea4e44]{padding:10px 20px;cursor:pointer;position:relative}.tab.active[data-v-38ea4e44]{font-weight:700;color:#3498db}.tab.active[data-v-38ea4e44]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:#3498db}.tab-content[data-v-38ea4e44]{margin-bottom:30px}.settings-card[data-v-38ea4e44]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px}.settings-card h3[data-v-38ea4e44]{margin-top:0;margin-bottom:20px;color:#2c3e50}.form-group[data-v-38ea4e44]{margin-bottom:15px}.form-group label[data-v-38ea4e44]{display:block;margin-bottom:5px;color:#2c3e50}.form-group input[data-v-38ea4e44],.form-group select[data-v-38ea4e44],.form-group textarea[data-v-38ea4e44]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px}.checkbox-group[data-v-38ea4e44]{display:flex;align-items:center}.checkbox-group input[type=checkbox][data-v-38ea4e44]{width:auto;margin-right:10px}.logo-upload[data-v-38ea4e44]{display:flex;align-items:center}.logo-upload input[type=file][data-v-38ea4e44]{display:none}.upload-btn[data-v-38ea4e44]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-right:10px}.file-name[data-v-38ea4e44]{color:#7f8c8d;font-size:.9rem}.logo-preview[data-v-38ea4e44]{margin-top:10px;width:100px;height:100px;border:1px solid #ddd;border-radius:4px;overflow:hidden}.logo-preview img[data-v-38ea4e44]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.color-picker[data-v-38ea4e44]{display:flex;align-items:center}.color-picker input[type=color][data-v-38ea4e44]{width:50px;height:30px;margin-right:10px}.form-buttons[data-v-38ea4e44]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.add-btn[data-v-38ea4e44],.reset-btn[data-v-38ea4e44],.save-btn[data-v-38ea4e44]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.save-btn[data-v-38ea4e44]{background-color:#2ecc71;color:#fff}.reset-btn[data-v-38ea4e44]{background-color:#e9ecef;color:#2c3e50}.add-btn[data-v-38ea4e44]{background-color:#3498db;color:#fff}.table-actions[data-v-38ea4e44]{display:flex;justify-content:space-between;margin-bottom:20px}.search-box[data-v-38ea4e44]{display:flex;gap:10px}.search-box input[data-v-38ea4e44]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;width:250px}.search-btn[data-v-38ea4e44]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.table-container[data-v-38ea4e44]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px;overflow-x:auto}.settings-table[data-v-38ea4e44]{width:100%;border-collapse:collapse}.settings-table th[data-v-38ea4e44]{padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.settings-table td[data-v-38ea4e44]{padding:12px 16px;border-bottom:1px solid #e9ecef}.status-badge[data-v-38ea4e44]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;text-align:center;color:#fff}.status-badge.active[data-v-38ea4e44]{background-color:#2ecc71}.status-badge.inactive[data-v-38ea4e44]{background-color:#e74c3c}.action-buttons[data-v-38ea4e44]{display:flex;gap:5px}.disable-btn[data-v-38ea4e44],.edit-btn[data-v-38ea4e44],.enable-btn[data-v-38ea4e44],.view-btn[data-v-38ea4e44]{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;color:#fff}.enable-btn[data-v-38ea4e44],.view-btn[data-v-38ea4e44]{background-color:#3498db}.edit-btn[data-v-38ea4e44]{background-color:#f39c12}.disable-btn[data-v-38ea4e44]{background-color:#e74c3c}.pagination[data-v-38ea4e44]{display:flex;justify-content:center;align-items:center;gap:20px}.pagination button[data-v-38ea4e44]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button[data-v-38ea4e44]:disabled{background-color:#95a5a6;cursor:not-allowed}.modal-overlay[data-v-38ea4e44]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-38ea4e44]{background-color:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.modal-header[data-v-38ea4e44]{padding:15px 20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-38ea4e44]{margin:0;color:#2c3e50}.close-btn[data-v-38ea4e44]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d}.modal-body[data-v-38ea4e44]{padding:20px}.modal-footer[data-v-38ea4e44]{padding:15px 20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px}.cancel-btn[data-v-38ea4e44],.submit-btn[data-v-38ea4e44]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.cancel-btn[data-v-38ea4e44]{background-color:#e9ecef;color:#2c3e50}.submit-btn[data-v-38ea4e44]{background-color:#2ecc71;color:#fff}.tab-placeholder[data-v-38ea4e44]{text-align:center;padding:40px;color:#95a5a6;font-size:1.1rem}.user-management-section[data-v-5395bd52]{padding:20px}h2[data-v-5395bd52]{margin-top:0;margin-bottom:20px;color:#2c3e50}.table-actions[data-v-5395bd52]{display:flex;justify-content:space-between;margin-bottom:20px}.search-box[data-v-5395bd52]{display:flex;gap:10px}.search-box input[data-v-5395bd52]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;min-width:250px}.add-btn[data-v-5395bd52],.search-btn[data-v-5395bd52]{padding:8px 16px;border:none;border-radius:4px;color:#fff;cursor:pointer}.search-btn[data-v-5395bd52]{background-color:#3498db}.add-btn[data-v-5395bd52]{background-color:#2ecc71}.table-container[data-v-5395bd52]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:20px;overflow-x:auto}.users-table[data-v-5395bd52]{width:100%;border-collapse:collapse}.users-table td[data-v-5395bd52],.users-table th[data-v-5395bd52]{padding:12px 16px;text-align:left;border-bottom:1px solid #ecf0f1}.users-table th[data-v-5395bd52]{background-color:#f9f9f9;font-weight:600;color:#2c3e50}.role-badge[data-v-5395bd52],.status-badge[data-v-5395bd52]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;color:#fff}.role-badge.admin[data-v-5395bd52]{background-color:#e74c3c}.role-badge.teacher[data-v-5395bd52]{background-color:#3498db}.role-badge.student[data-v-5395bd52]{background-color:#2ecc71}.role-badge.guest[data-v-5395bd52]{background-color:#95a5a6}.status-badge.active[data-v-5395bd52]{background-color:#2ecc71}.status-badge.inactive[data-v-5395bd52]{background-color:#95a5a6}.action-buttons[data-v-5395bd52]{display:flex;gap:5px;flex-wrap:wrap}.action-buttons button[data-v-5395bd52]{padding:4px 8px;border:none;border-radius:4px;color:#fff;font-size:.8rem;cursor:pointer}.view-btn[data-v-5395bd52]{background-color:#3498db}.edit-btn[data-v-5395bd52]{background-color:#f39c12}.enable-btn[data-v-5395bd52]{background-color:#2ecc71}.disable-btn[data-v-5395bd52]{background-color:#95a5a6}.delete-btn[data-v-5395bd52]{background-color:#e74c3c}.pagination[data-v-5395bd52]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px}.pagination button[data-v-5395bd52]{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button[data-v-5395bd52]:disabled{background-color:#95a5a6;cursor:not-allowed}.modal-overlay[data-v-5395bd52]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-5395bd52]{background-color:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.confirm-modal[data-v-5395bd52]{width:400px}.modal-header[data-v-5395bd52]{padding:15px 20px;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-5395bd52]{margin:0;color:#2c3e50}.close-btn[data-v-5395bd52]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d}.modal-body[data-v-5395bd52]{padding:20px}.form-group[data-v-5395bd52]{margin-bottom:15px}.form-group label[data-v-5395bd52]{display:block;margin-bottom:5px;color:#2c3e50}.required[data-v-5395bd52]{color:#e74c3c}.form-group input[data-v-5395bd52],.form-group select[data-v-5395bd52],.form-group textarea[data-v-5395bd52]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.checkbox-group[data-v-5395bd52]{display:flex;align-items:center;gap:10px}.checkbox-group input[type=checkbox][data-v-5395bd52]{width:auto;margin-right:8px}.modal-footer[data-v-5395bd52]{padding:15px 20px;border-top:1px solid #ecf0f1;display:flex;justify-content:flex-end;gap:10px;flex-direction:column}.modal-footer .error-message[data-v-5395bd52]{color:#e74c3c;font-size:.9rem;margin-bottom:10px;text-align:right}.modal-footer .buttons[data-v-5395bd52]{display:flex;justify-content:flex-end;gap:10px}.cancel-btn[data-v-5395bd52],.delete-btn[data-v-5395bd52],.submit-btn[data-v-5395bd52]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.cancel-btn[data-v-5395bd52]{background-color:#ecf0f1;color:#2c3e50}.submit-btn[data-v-5395bd52]{background-color:#3498db;color:#fff}.submit-btn[data-v-5395bd52]:disabled{background-color:#95a5a6;cursor:not-allowed}.user-details .detail-item[data-v-5395bd52]{display:flex;margin-bottom:15px}.detail-label[data-v-5395bd52]{width:100px;font-weight:700;color:#7f8c8d}.detail-value[data-v-5395bd52]{flex:1}.warning[data-v-5395bd52]{color:#e74c3c;font-weight:700}.no-data[data-v-5395bd52]{text-align:center;padding:30px;color:#7f8c8d}.admin-container{display:flex;flex-direction:column;height:100vh;background-color:#f5f7fa;font-family:Helvetica Neue,Arial,sans-serif}.admin-header{justify-content:space-between;padding:0 20px;height:60px;background-color:#2c3e50;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.1)}.admin-header,.logo-container{display:flex;align-items:center}.logo{width:40px;height:40px;margin-right:10px}.user-info{display:flex;align-items:center}.welcome-text{margin-right:20px}.debug-btn{margin-right:10px;padding:8px 12px;background-color:#9b59b6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.debug-btn:hover{background-color:#8e44ad}.logout-button{padding:6px 12px;background-color:hsla(0,0%,100%,.2);color:#fff;border:none;border-radius:4px;cursor:pointer}.logout-button:hover{background-color:hsla(0,0%,100%,.3)}.admin-content{display:flex;flex:1;overflow:hidden}.admin-sidebar{width:220px;background-color:#34495e;color:#fff;padding:20px 0;display:flex;flex-direction:column;justify-content:space-between}.admin-sidebar ul{list-style-type:none;padding:0;margin:0}.admin-sidebar li{padding:12px 20px;cursor:pointer;display:flex;align-items:center;margin-bottom:5px}.admin-sidebar li:hover{background-color:hsla(0,0%,100%,.1)}.admin-sidebar li.active{background-color:rgba(52,152,219,.7)}.nav-icon{width:24px;height:24px;margin-right:10px;display:flex;align-items:center;justify-content:center}.sidebar-footer{padding:20px;font-size:.8rem;color:#95a5a6;text-align:center}.admin-main{flex:1;overflow-y:auto;padding:20px}h2{margin-top:0;margin-bottom:20px;color:#2c3e50;display:flex;align-items:center}.section-icon{margin-right:10px}.announcement-section[data-v-46ef3366],.learning-path-section[data-v-46ef3366],.overview-section[data-v-46ef3366],.recommended-courses-section[data-v-46ef3366]{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section-header[data-v-46ef3366]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2[data-v-46ef3366]{margin-top:0;margin-bottom:1.5rem;color:#ff6b6b}h3[data-v-46ef3366]{margin-top:0;color:#555}.stats-container[data-v-46ef3366]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.stat-card[data-v-46ef3366]{background-color:#f9f9f9;border-radius:8px;padding:1.5rem;text-align:center}.stat-icon[data-v-46ef3366]{font-size:2rem;color:#ff6b6b;margin-bottom:.5rem}.stat-info h3[data-v-46ef3366]{margin-bottom:.5rem}.stat-value[data-v-46ef3366]{font-size:1.5rem;font-weight:700;color:#ff6b6b}.view-all[data-v-46ef3366]{color:#4caf50;text-decoration:none;font-size:.9rem;background:none;border:none;cursor:pointer}.course-cards[data-v-46ef3366]{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px}.course-card[data-v-46ef3366]{flex:0 0 350px;border-radius:8px;overflow:hidden;background-color:#f9f9f9;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s ease}.course-card[data-v-46ef3366]:hover{transform:translateY(-5px)}.course-image[data-v-46ef3366]{height:160px;background-position:50%;background-repeat:no-repeat;background-size:cover}.course-image.scratch[data-v-46ef3366]{background-image:url(https://via.placeholder.com/350x160/4CAF50/FFFFFF?text=Scratch%E7%BC%96%E7%A8%8B)}.course-image.python[data-v-46ef3366]{background-image:url(https://via.placeholder.com/350x160/2196F3/FFFFFF?text=Python%E7%BC%96%E7%A8%8B)}.course-info[data-v-46ef3366]{padding:15px}.course-meta[data-v-46ef3366]{display:flex;gap:10px;margin:10px 0}.course-age[data-v-46ef3366],.course-level[data-v-46ef3366]{font-size:.8rem;background-color:#e8f5e9;color:#2e7d32;padding:3px 10px;border-radius:12px}.enroll-btn[data-v-46ef3366]{margin-top:10px;background-color:#4caf50;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;transition:background-color .3s}.enroll-btn[data-v-46ef3366]:hover{background-color:#388e3c}.learning-path[data-v-46ef3366]{margin-top:20px;position:relative}.path-step[data-v-46ef3366]{display:flex;margin-bottom:30px;position:relative}.step-icon[data-v-46ef3366]{flex:0 0 40px;height:40px;background-color:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.path-step.completed .step-icon[data-v-46ef3366]{background-color:#4caf50;color:#fff}.path-step.current .step-icon[data-v-46ef3366]{background-color:#2196f3;color:#fff}.step-line[data-v-46ef3366]{position:absolute;left:20px;top:40px;width:2px;height:calc(100% - 10px);background-color:#e0e0e0;z-index:1}.path-step:last-child .step-line[data-v-46ef3366]{display:none}.step-content[data-v-46ef3366]{margin-left:20px;padding:0 10px}.step-content h3[data-v-46ef3366]{margin:0;font-size:1.1rem}.step-content p[data-v-46ef3366]{margin:5px 0;color:#757575}.continue-btn[data-v-46ef3366]{margin-top:10px;background-color:#2196f3;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;transition:background-color .3s}.continue-btn[data-v-46ef3366]:hover{background-color:#1976d2}.announcement-content[data-v-46ef3366]{margin-top:10px}.announcement[data-v-46ef3366]{padding:.75rem 0;border-bottom:1px solid #eee}.announcement[data-v-46ef3366]:last-child{border-bottom:none}.announcement-title[data-v-46ef3366]{font-weight:700;margin-bottom:.25rem}.announcement-date[data-v-46ef3366]{font-size:.85rem;color:#777}@media (max-width:768px){.course-cards[data-v-46ef3366]{flex-direction:column;gap:15px}.course-card[data-v-46ef3366]{flex:none;width:100%}}.resources-section[data-v-806c7b5c]{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section-header[data-v-806c7b5c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}h2[data-v-806c7b5c]{margin-top:0;margin-bottom:0;color:#ff6b6b}.resource-search[data-v-806c7b5c]{display:flex;gap:1rem;margin-bottom:1rem}.search-input[data-v-806c7b5c]{flex:1}.filter-select[data-v-806c7b5c],.search-input[data-v-806c7b5c]{padding:.5rem;border:1px solid #ddd;border-radius:4px}.search-btn[data-v-806c7b5c]{background-color:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.resources-container[data-v-806c7b5c]{margin-bottom:1rem}.loading-indicator[data-v-806c7b5c],.no-resources[data-v-806c7b5c]{text-align:center;padding:1rem}.resource-grid[data-v-806c7b5c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding-bottom:10px}.resource-card[data-v-806c7b5c]{border-radius:8px;overflow:hidden;background-color:#f9f9f9;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s ease;display:flex;flex-direction:column}.resource-card[data-v-806c7b5c]:hover{transform:translateY(-5px)}.resource-type-icon[data-v-806c7b5c]{height:160px;background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}.resource-type-icon.video[data-v-806c7b5c]{background-color:#2196f3}.resource-type-icon.pdf[data-v-806c7b5c]{background-color:#4caf50}.resource-type-icon.ppt[data-v-806c7b5c]{background-color:#ff6b6b}.resource-type-icon.doc[data-v-806c7b5c]{background-color:#2c3e50}.resource-type-icon.other[data-v-806c7b5c]{background-color:#9c27b0}.resource-info[data-v-806c7b5c]{padding:15px;flex:1;display:flex;flex-direction:column}.resource-info h3[data-v-806c7b5c]{margin-top:0;margin-bottom:10px}.resource-tags[data-v-806c7b5c]{margin:10px 0}.resource-tag[data-v-806c7b5c]{background-color:#e8f5e9;color:#2e7d32;padding:3px 10px;border-radius:12px;margin-right:5px;display:inline-block;margin-bottom:5px}.resource-description[data-v-806c7b5c]{margin:10px 0;flex:1}.resource-meta[data-v-806c7b5c]{margin:10px 0;display:flex;justify-content:space-between;color:#777;font-size:.8rem}.resource-progress[data-v-806c7b5c]{margin-top:10px}.progress-bar[data-v-806c7b5c]{height:10px;background-color:#f5f5f5;border-radius:5px;overflow:hidden}.progress-fill[data-v-806c7b5c]{height:100%;background-color:#4caf50}.progress-text[data-v-806c7b5c]{font-size:.8rem;color:#777;margin-top:5px;display:block}.resource-actions[data-v-806c7b5c]{margin-top:auto;padding-top:10px}.learn-btn[data-v-806c7b5c]{background-color:#4caf50;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;transition:background-color .3s;width:100%}.learn-btn[data-v-806c7b5c]:hover{background-color:#388e3c}.pagination[data-v-806c7b5c]{display:flex;justify-content:center;align-items:center;margin-top:1rem}.page-btn[data-v-806c7b5c]{background-color:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin:0 .5rem}.page-btn[data-v-806c7b5c]:disabled{background-color:#ddd;cursor:not-allowed}.page-info[data-v-806c7b5c]{font-size:.8rem;color:#777}.modal-overlay[data-v-806c7b5c]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.resource-modal[data-v-806c7b5c]{background-color:#fff;border-radius:8px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto}.resource-modal-header[data-v-806c7b5c]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.resource-modal-header h3[data-v-806c7b5c]{margin:0}.close-modal-btn[data-v-806c7b5c]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#777}.resource-modal-body[data-v-806c7b5c]{padding:20px}.video-player-container[data-v-806c7b5c]{position:relative;margin-bottom:15px}.video-player[data-v-806c7b5c]{width:100%;height:auto;max-height:500px;background-color:#000}.video-progress[data-v-806c7b5c]{margin-top:10px}.pdf-viewer[data-v-806c7b5c]{margin-bottom:15px}.mark-completed-btn[data-v-806c7b5c]{background-color:#4caf50;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;margin-top:10px}.generic-resource[data-v-806c7b5c]{text-align:center;margin-bottom:15px}.resource-preview[data-v-806c7b5c]{margin-bottom:15px}.preview-icon[data-v-806c7b5c]{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:40px;color:#fff}.preview-icon.pdf[data-v-806c7b5c]{background-color:#4caf50}.preview-icon.ppt[data-v-806c7b5c]{background-color:#ff6b6b}.preview-icon.doc[data-v-806c7b5c]{background-color:#2c3e50}.preview-icon.other[data-v-806c7b5c]{background-color:#9c27b0}.download-link[data-v-806c7b5c]{display:inline-block;margin-top:10px;color:#2196f3;text-decoration:none}.learning-notes[data-v-806c7b5c]{margin-top:20px}.learning-notes h4[data-v-806c7b5c]{margin-top:0;margin-bottom:10px}.notes-input[data-v-806c7b5c]{width:100%;min-height:120px;padding:10px;border:1px solid #ddd;border-radius:4px;resize:vertical;margin-bottom:10px}.save-notes-btn[data-v-806c7b5c]{background-color:#2196f3;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer}@media (max-width:768px){.resource-search[data-v-806c7b5c]{flex-direction:column}.section-header[data-v-806c7b5c]{flex-direction:column;align-items:flex-start}.resource-grid[data-v-806c7b5c]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.learning-progress-section[data-v-17ff0580]{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section-header[data-v-17ff0580]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2[data-v-17ff0580]{margin-top:0;margin-bottom:0;color:#ff6b6b}.filter-select[data-v-17ff0580]{padding:.5rem;border:1px solid #ddd;border-radius:4px}.progress-stats[data-v-17ff0580]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:30px}.progress-card[data-v-17ff0580]{background-color:#f9f9f9;border-radius:8px;padding:15px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.05)}.progress-value[data-v-17ff0580]{font-size:2.5rem;font-weight:700;color:#4caf50;margin-bottom:5px}.progress-label[data-v-17ff0580]{font-size:.9rem;color:#666}.progress-charts[data-v-17ff0580]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.learning-chart[data-v-17ff0580]{margin-bottom:20px}.chart-title[data-v-17ff0580]{font-size:1.1rem;margin-bottom:15px}.bar-chart[data-v-17ff0580]{display:flex;justify-content:space-between;align-items:flex-end;height:200px}.bar-container[data-v-17ff0580]{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.bar-wrapper[data-v-17ff0580]{width:40px;height:150px;display:flex;flex-direction:column;justify-content:flex-end}.bar[data-v-17ff0580]{width:100%;background-color:#4caf50;border-radius:4px 4px 0 0;min-height:1px}.bar-label[data-v-17ff0580]{margin-top:5px;font-size:.8rem;color:#777}.bar-value[data-v-17ff0580]{margin-top:5px;font-size:.75rem;color:#333;width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-container[data-v-17ff0580]{background-color:#f9f9f9;border-radius:8px;padding:15px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.chart-container h3[data-v-17ff0580]{margin-top:0;margin-bottom:15px;font-size:1.1rem;color:#333}.chart-placeholder[data-v-17ff0580]{height:250px;display:flex;justify-content:center;align-items:center;position:relative}.loading-spinner[data-v-17ff0580]{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#4caf50;animation:spin-17ff0580 1s ease-in-out infinite}@keyframes spin-17ff0580{to{transform:rotate(1turn)}}.progress-circle[data-v-17ff0580]{position:relative;width:200px;height:200px;border-radius:50%;background-color:#f5f5f5;margin:0 auto}.progress-circle-fill[data-v-17ff0580]{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:#4caf50;clip:rect(0,100px,200px,0);transform:rotate(0deg)}.progress-circle-value[data-v-17ff0580]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:700;color:#333}.progress-legend[data-v-17ff0580]{display:flex;justify-content:center;margin-top:10px}.legend-item[data-v-17ff0580]{display:flex;align-items:center;margin:0 10px}.legend-color[data-v-17ff0580]{width:15px;height:15px;border-radius:3px;margin-right:5px}.legend-label[data-v-17ff0580]{font-size:.8rem;color:#666}.learning-history[data-v-17ff0580]{margin-bottom:30px}.learning-history h3[data-v-17ff0580]{margin-top:0;margin-bottom:15px;font-size:1.1rem;color:#333}.history-table-container[data-v-17ff0580]{overflow-x:auto;background-color:#f9f9f9;border-radius:8px;padding:15px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.history-table[data-v-17ff0580]{width:100%;border-collapse:collapse}.history-table td[data-v-17ff0580],.history-table th[data-v-17ff0580]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.history-table th[data-v-17ff0580]{font-weight:700;color:#333;background-color:#f5f5f5}.table-progress[data-v-17ff0580]{display:flex;align-items:center}.table-progress .progress-bar[data-v-17ff0580]{width:100px;height:8px;background-color:#f5f5f5;border-radius:4px;overflow:hidden;margin-right:10px}.table-progress .progress-fill[data-v-17ff0580]{height:100%;background-color:#4caf50}.continue-btn[data-v-17ff0580]{background-color:#2196f3;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;transition:background-color .3s}.continue-btn[data-v-17ff0580]:hover{background-color:#1976d2}.empty-history[data-v-17ff0580],.loading-placeholder[data-v-17ff0580]{text-align:center;padding:30px}.empty-history p[data-v-17ff0580],.loading-placeholder p[data-v-17ff0580]{margin-top:15px;color:#666}.start-learning-btn[data-v-17ff0580]{padding:8px 15px;margin-top:10px}.pagination[data-v-17ff0580]{display:flex;justify-content:center;align-items:center;margin-top:20px}.page-btn[data-v-17ff0580]{background-color:#4caf50;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;margin:0 5px}.page-btn[data-v-17ff0580]:disabled{background-color:#ddd;cursor:not-allowed}.page-info[data-v-17ff0580]{font-size:.9rem;color:#666;margin:0 10px}.learning-recommendations[data-v-17ff0580]{margin-bottom:20px}.learning-recommendations h3[data-v-17ff0580]{margin-top:0;margin-bottom:15px;font-size:1.1rem;color:#333}.recommendation-cards[data-v-17ff0580]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.recommendation-card[data-v-17ff0580]{background-color:#f9f9f9;border-radius:8px;padding:15px;display:flex;box-shadow:0 2px 4px rgba(0,0,0,.05)}.recommendation-icon[data-v-17ff0580]{width:50px;height:50px;border-radius:50%;margin-right:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.recommendation-icon.course[data-v-17ff0580]{background-color:#2196f3}.recommendation-icon.resource[data-v-17ff0580]{background-color:#4caf50}.recommendation-icon.path[data-v-17ff0580]{background-color:#ff9800}.recommendation-content[data-v-17ff0580]{flex:1}.recommendation-content h4[data-v-17ff0580]{margin-top:0;margin-bottom:5px;font-size:1rem;color:#333}.recommendation-content p[data-v-17ff0580]{margin-top:0;margin-bottom:10px;font-size:.9rem;color:#666}.view-btn[data-v-17ff0580]{background-color:transparent;color:#2196f3;border:1px solid #2196f3;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .3s}.view-btn[data-v-17ff0580]:hover{background-color:#2196f3;color:#fff}@media (max-width:768px){.progress-charts[data-v-17ff0580],.progress-stats[data-v-17ff0580],.recommendation-cards[data-v-17ff0580],.section-header[data-v-17ff0580]{grid-template-columns:1fr}.history-table-container[data-v-17ff0580]{overflow-x:auto}.history-table[data-v-17ff0580]{min-width:600px}}.empty-history[data-v-17ff0580]{text-align:center;padding:50px 20px;background-color:#f9f9f9;border-radius:8px;margin:20px 0}.empty-icon[data-v-17ff0580]{font-size:48px;margin-bottom:10px}.empty-subtitle[data-v-17ff0580]{color:#777;margin-bottom:20px}.start-learning-btn[data-v-17ff0580]{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .3s}.start-learning-btn[data-v-17ff0580]:hover{background-color:#45a049}.notifications-component[data-v-c91524a8]{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.notifications-header[data-v-c91524a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.notifications-header h2[data-v-c91524a8]{margin:0;color:#333}.actions[data-v-c91524a8]{display:flex;gap:10px}.filter-button[data-v-c91524a8],.mark-all-read[data-v-c91524a8]{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.mark-all-read[data-v-c91524a8]{background-color:transparent;color:#ff6b6b;border:1px solid #ff6b6b}.mark-all-read[data-v-c91524a8]:hover{background-color:#fff0f0}.filter-button[data-v-c91524a8]{background-color:#f5f5f5;color:#333;display:flex;align-items:center;gap:5px}.filter-button[data-v-c91524a8]:hover{background-color:#e9e9e9}.filter-icon[data-v-c91524a8]{font-size:1rem}.filter-panel[data-v-c91524a8]{background-color:#f9f9f9;border-radius:8px;padding:15px;margin-bottom:20px}.filter-options[data-v-c91524a8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.filter-group[data-v-c91524a8]{display:flex;flex-direction:column;gap:5px}.filter-group label[data-v-c91524a8]{font-weight:700;font-size:.9rem;color:#555}.filter-group select[data-v-c91524a8]{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.checkbox-group[data-v-c91524a8]{display:flex;flex-wrap:wrap;gap:10px}.checkbox-label[data-v-c91524a8]{display:flex;align-items:center;gap:5px;font-size:.9rem;cursor:pointer}.filter-actions[data-v-c91524a8]{display:flex;justify-content:flex-end;gap:10px}.apply-button[data-v-c91524a8],.reset-button[data-v-c91524a8]{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.apply-button[data-v-c91524a8]{background-color:#4caf50;color:#fff}.reset-button[data-v-c91524a8]{background-color:transparent;color:#666;border:1px solid #ddd}.notifications-list[data-v-c91524a8]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.notification-item[data-v-c91524a8]{display:flex;padding:15px;border-radius:8px;background-color:#f9f9f9;border-left:4px solid transparent;cursor:pointer;transition:all .2s}.notification-item[data-v-c91524a8]:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.notification-item.unread[data-v-c91524a8]{background-color:#f0f8ff;border-left-color:#2196f3}.notification-icon[data-v-c91524a8]{width:40px;height:40px;border-radius:50%;margin-right:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;position:relative}.notification-icon.system-icon[data-v-c91524a8]{background-color:#e91e63;color:#fff}.notification-icon.course-icon[data-v-c91524a8]{background-color:#4caf50;color:#fff}.notification-icon.deadline-icon[data-v-c91524a8]{background-color:#ff9800;color:#fff}.notification-icon.achievement-icon[data-v-c91524a8]{background-color:#9c27b0;color:#fff}.unread-indicator[data-v-c91524a8]{position:absolute;top:0;right:0;width:10px;height:10px;border-radius:50%;background-color:#ff4d4f}.notification-content[data-v-c91524a8]{flex:1}.notification-header[data-v-c91524a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.notification-title[data-v-c91524a8]{margin:0;font-size:1rem;color:#333}.notification-time[data-v-c91524a8]{font-size:.8rem;color:#999}.notification-message[data-v-c91524a8]{margin:0 0 10px 0;font-size:.9rem;color:#666;line-height:1.4}.notification-actions[data-v-c91524a8]{display:flex;gap:10px}.action-button[data-v-c91524a8]{padding:6px 12px;border:none;border-radius:4px;background-color:#2196f3;color:#fff;font-size:.8rem;cursor:pointer;transition:background-color .3s}.action-button[data-v-c91524a8]:hover{background-color:#1976d2}.empty-state[data-v-c91524a8],.loading-state[data-v-c91524a8]{padding:40px;text-align:center;background-color:#f9f9f9;border-radius:8px;margin-bottom:20px}.loading-spinner[data-v-c91524a8]{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#2196f3;animation:spin-c91524a8 1s ease-in-out infinite;margin:0 auto 15px}@keyframes spin-c91524a8{to{transform:rotate(1turn)}}.empty-icon[data-v-c91524a8]{font-size:3rem;margin-bottom:15px;color:#ccc}.empty-state h3[data-v-c91524a8]{margin:0 0 10px 0;color:#666}.empty-state p[data-v-c91524a8]{margin:0;color:#999}.pagination[data-v-c91524a8]{display:flex;justify-content:center;align-items:center}.page-btn[data-v-c91524a8]{padding:8px 15px;border:none;border-radius:4px;background-color:#f5f5f5;color:#333;cursor:pointer;transition:background-color .3s}.page-btn[data-v-c91524a8]:disabled{background-color:#eee;color:#999;cursor:not-allowed}.page-info[data-v-c91524a8]{margin:0 15px;font-size:.9rem;color:#666}.notification-modal-overlay[data-v-c91524a8]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.notification-modal[data-v-c91524a8]{background-color:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-c91524a8]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h2[data-v-c91524a8]{margin:0;font-size:1.2rem;color:#333}.close-button[data-v-c91524a8]{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1}.modal-content[data-v-c91524a8]{padding:20px;overflow-y:auto}.notification-meta[data-v-c91524a8]{display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.notification-type[data-v-c91524a8]{display:inline-block;padding:4px 10px;border-radius:50px;font-size:.8rem;color:#fff}.notification-type.system-icon[data-v-c91524a8]{background-color:#e91e63}.notification-type.course-icon[data-v-c91524a8]{background-color:#4caf50}.notification-type.deadline-icon[data-v-c91524a8]{background-color:#ff9800}.notification-type.achievement-icon[data-v-c91524a8]{background-color:#9c27b0}.notification-date[data-v-c91524a8]{font-size:.9rem;color:#999}.notification-detail-content[data-v-c91524a8]{line-height:1.6;color:#333;margin-bottom:20px}.notification-image[data-v-c91524a8]{margin-top:15px;text-align:center}.notification-image img[data-v-c91524a8]{max-width:100%;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}@media (max-width:768px){.filter-options[data-v-c91524a8]{grid-template-columns:1fr}.notification-modal[data-v-c91524a8]{width:95%}}.map-container[data-v-aed08722]{position:relative;width:100%;height:100%}.map[data-v-aed08722]{width:100%;height:500px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.location-info[data-v-aed08722]{position:absolute;top:10px;left:10px;background:hsla(0,0%,100%,.9);padding:10px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.1);font-size:14px;line-height:1.5}.loading[data-v-aed08722]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:hsla(0,0%,100%,.9);padding:20px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.spinner[data-v-aed08722]{width:40px;height:40px;margin:0 auto 10px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-aed08722 1s linear infinite}@keyframes spin-aed08722{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.attendance-container[data-v-9fd4ad50]{max-width:1200px;margin:0 auto;padding:20px}.current-time[data-v-9fd4ad50]{text-align:center;margin-bottom:30px}.current-time h1[data-v-9fd4ad50]{font-size:3rem;margin:0;color:#333}.current-time h2[data-v-9fd4ad50]{font-size:1.2rem;margin:0 0 10px 0;color:#666;font-weight:400}.attendance-status[data-v-9fd4ad50]{display:flex;justify-content:space-between;margin-bottom:20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}.status-item[data-v-9fd4ad50]{flex:1;padding:20px;text-align:center;position:relative}.status-item[data-v-9fd4ad50]:first-child{border-right:1px solid #eee}.status-label[data-v-9fd4ad50]{font-size:1rem;color:#666;margin-bottom:10px}.status-value[data-v-9fd4ad50]{font-size:1.5rem;color:#999}.status-value.completed[data-v-9fd4ad50]{color:#4caf50;font-weight:700}.location-text[data-v-9fd4ad50]{display:block;font-size:.9rem;color:#666;margin-top:5px}.attendance-status-badge[data-v-9fd4ad50]{display:flex;justify-content:center;margin-bottom:20px}.badge[data-v-9fd4ad50]{padding:8px 15px;border-radius:20px;font-size:.9rem;color:#fff}.badge.completed[data-v-9fd4ad50]{background-color:#4caf50}.badge.checked-in[data-v-9fd4ad50]{background-color:#2196f3}.badge.pending[data-v-9fd4ad50]{background-color:#ff9800}.map-container[data-v-9fd4ad50]{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px;margin-bottom:20px}.map-container h3[data-v-9fd4ad50]{margin-top:0;margin-bottom:15px;color:#333}.location-status[data-v-9fd4ad50]{display:flex;align-items:center;margin-top:15px}.status-indicator[data-v-9fd4ad50]{width:12px;height:12px;border-radius:50%;margin-right:10px;background-color:#ccc}.status-indicator.status-verified[data-v-9fd4ad50]{background-color:#4caf50}.status-indicator.status-failed[data-v-9fd4ad50]{background-color:#f44336}.status-text[data-v-9fd4ad50]{flex:1;color:#666}.location-buttons[data-v-9fd4ad50]{display:flex;gap:10px}.amap-location-btn[data-v-9fd4ad50],.refresh-location-btn[data-v-9fd4ad50]{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.refresh-location-btn[data-v-9fd4ad50]{background-color:#2196f3;color:#fff}.amap-location-btn[data-v-9fd4ad50]{background-color:#4caf50;color:#fff}.amap-location-btn[data-v-9fd4ad50]:disabled,.refresh-location-btn[data-v-9fd4ad50]:disabled{background-color:#ccc;cursor:not-allowed}.accuracy-info[data-v-9fd4ad50]{margin-top:10px;font-size:.9rem;color:#666}.attendance-buttons[data-v-9fd4ad50]{display:flex;justify-content:center;gap:20px;margin-bottom:30px}.check-btn[data-v-9fd4ad50]{padding:15px 30px;border:none;border-radius:4px;font-size:1.1rem;cursor:pointer;transition:background-color .3s}.check-in-btn[data-v-9fd4ad50]{background-color:#2196f3;color:#fff}.check-out-btn[data-v-9fd4ad50]{background-color:#ff9800;color:#fff}.check-btn[data-v-9fd4ad50]:disabled{background-color:#ccc;cursor:not-allowed}.attendance-records[data-v-9fd4ad50]{display:flex;gap:20px}.history-section[data-v-9fd4ad50]{flex:2;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px}.history-title[data-v-9fd4ad50]{margin-top:0;margin-bottom:15px;color:#333}.history-list[data-v-9fd4ad50]{list-style-type:none;padding:0;margin:0}.history-item[data-v-9fd4ad50]{padding:15px 0;border-bottom:1px solid #eee}.history-item[data-v-9fd4ad50]:last-child{border-bottom:none}.history-date[data-v-9fd4ad50]{font-weight:700;margin-bottom:8px;color:#333}.history-check-in[data-v-9fd4ad50],.history-check-out[data-v-9fd4ad50]{margin-bottom:8px}.check-label[data-v-9fd4ad50]{color:#666}.check-time[data-v-9fd4ad50]{font-weight:700;margin:0 5px}.check-time.present[data-v-9fd4ad50]{color:#4caf50}.check-time.earlyLeave[data-v-9fd4ad50],.check-time.late[data-v-9fd4ad50]{color:#ff9800}.check-time.absent[data-v-9fd4ad50]{color:#f44336}.status-text[data-v-9fd4ad50]{font-size:.9rem;padding:2px 6px;border-radius:10px}.history-hours[data-v-9fd4ad50],.history-location[data-v-9fd4ad50]{margin-top:5px;font-size:.9rem;color:#666}.no-records[data-v-9fd4ad50]{color:#999;font-style:italic}.rules-section[data-v-9fd4ad50]{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px}.rules-title[data-v-9fd4ad50]{margin-top:0;margin-bottom:15px;color:#333}.rules-list[data-v-9fd4ad50]{list-style-type:none;padding:0;margin:0}.rules-list li[data-v-9fd4ad50]{padding:10px 0;border-bottom:1px solid #eee;color:#666}.rules-list li[data-v-9fd4ad50]:last-child{border-bottom:none}.message-box[data-v-9fd4ad50]{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 25px;border-radius:4px;color:#fff;font-size:1rem;z-index:1000;box-shadow:0 3px 10px rgba(0,0,0,.2);max-width:80%;text-align:center}.message-box.success[data-v-9fd4ad50]{background-color:#4caf50}.message-box.error[data-v-9fd4ad50]{background-color:#f44336}.message-box.warning[data-v-9fd4ad50]{background-color:#ff9800}.message-box.info[data-v-9fd4ad50]{background-color:#2196f3}.loading-overlay[data-v-9fd4ad50]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner[data-v-9fd4ad50]{width:50px;height:50px;border:5px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:spin-9fd4ad50 1s linear infinite}@keyframes spin-9fd4ad50{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.attendance-status[data-v-9fd4ad50]{flex-direction:column}.status-item[data-v-9fd4ad50]:first-child{border-right:none;border-bottom:1px solid #eee}.attendance-records[data-v-9fd4ad50]{flex-direction:column}.attendance-buttons[data-v-9fd4ad50]{flex-direction:column;gap:10px}.check-btn[data-v-9fd4ad50]{width:100%}}.guest-home-container[data-v-77ec51f6]{display:flex;flex-direction:column;height:100vh;background-color:#f5f7fa}.guest-home-header[data-v-77ec51f6]{display:flex;justify-content:space-between;align-items:center;height:60px;padding:0 20px;background-color:#2c3e50;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.logo-container[data-v-77ec51f6]{display:flex;align-items:center}.logo[data-v-77ec51f6]{height:40px;margin-right:10px}.logo-container h1[data-v-77ec51f6]{font-size:1.5rem;margin:0 10px 0 0;font-weight:500}.user-role[data-v-77ec51f6]{background-color:#41b883;border-radius:4px;padding:2px 8px;font-size:.8rem}.header-right[data-v-77ec51f6]{display:flex;align-items:center}.time-display[data-v-77ec51f6]{margin-right:20px;font-size:.9rem}.user-info[data-v-77ec51f6]{display:flex;align-items:center}.dropdown-button[data-v-77ec51f6]{display:inline-block;padding:5px 8px;background-color:hsla(0,0%,100%,.1);border-radius:4px;cursor:pointer;transition:background-color .3s}.logout-btn[data-v-77ec51f6]{margin-left:10px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.logout-btn[data-v-77ec51f6]:hover{background-color:#c0392b}.content-container[data-v-77ec51f6]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-77ec51f6]{width:200px;background-color:#304156;color:#fff;padding-top:20px}.menu-item[data-v-77ec51f6]{display:flex;align-items:center;padding:14px 20px;cursor:pointer;transition:background-color .3s}.menu-item[data-v-77ec51f6]:hover{background-color:#263445}.menu-item.active[data-v-77ec51f6]{background-color:#1890ff}.menu-item i[data-v-77ec51f6]{font-size:18px;margin-right:10px}.main-content[data-v-77ec51f6]{flex:1;padding:20px;overflow-y:auto}.schedule-container[data-v-77ec51f6]{background-color:#fff;border-radius:4px;padding:20px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}