.modal-container{animation:modalFadeIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;max-width:420px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{padding:16px 20px}.modal-header h3{color:#111827}.modal-close{border-radius:8px;transition:all .2s}.modal-close:hover:not(:disabled){background:#f3f4f6;color:#374151}.modal-body{padding:20px}.password-form{margin:0}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px}.form-group input{border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.form-group input:disabled{background:#f9fafb;cursor:not-allowed}.form-group small{color:#6b7280;display:block;font-size:11px;margin-top:4px}.error-message{background:#fef2f2;border-radius:10px;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 12px}.error-message:before{content:"⚠️"}.success-message{padding:20px;text-align:center}.success-message svg{color:#10b981;height:48px;width:48px}.success-message p{color:#10b981;font-size:14px;font-weight:500;margin-top:12px}.modal-footer{padding:16px 20px}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:8px 16px}.btn-cancel:hover:not(:disabled){background:#f9fafb}.btn-submit{align-items:center;background:#2563eb;border-radius:10px;display:flex;gap:8px}.btn-submit:hover:not(:disabled){background:#1d4ed8}.spinner-small{animation:modalSpin .6s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff}@keyframes modalSpin{to{transform:rotate(1turn)}}@media (max-width:480px){.modal-container{margin:16px;width:95%}.modal-header{padding:12px 16px}.modal-body{padding:16px}.modal-footer{padding:12px 16px}.btn-cancel,.btn-submit{font-size:13px;padding:8px 14px}}.layout{background-color:#f5f7fa;display:flex;min-height:100vh}.sidebar{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;overflow-y:auto;transition:width .3s ease;width:260px;z-index:100}.layout.collapsed .sidebar{width:70px}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:20px 16px}.logo{align-items:center;display:flex;justify-content:space-between}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700}.toggle-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:16px;padding:8px 12px;transition:background .2s}.toggle-btn:hover{background:#fff3}.sidebar-nav{gap:8px;padding:20px 12px}.nav-link{align-items:center;border-radius:12px;color:#cbd5e1;display:flex;font-size:15px;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 4px 12px #3b82f64d;color:#fff}.nav-icon{font-size:20px;min-width:24px}.nav-text{white-space:nowrap}.sidebar-footer{padding:20px 16px}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#ffffff1a;border-radius:50%;font-size:20px;height:40px;justify-content:center;width:40px}.user-details{flex:1 1;min-width:0}.user-name{font-size:14px;font-weight:600;margin-bottom:4px}.user-role{color:#94a3b8;font-size:12px}.session-badge{background:#667eea1a;border-radius:4px;color:#667eea;display:inline-block;font-size:10px;margin-top:4px;padding:2px 6px}.sidebar-actions{display:flex;gap:8px;margin-top:12px}.logout-btn{background:#ef444433;border:none;border-radius:8px;color:#ef4444;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px;transition:all .2s}.logout-btn:hover{background:#ef44444d;transform:scale(1.02)}.main-content{margin-left:260px;min-height:100vh;transition:margin-left .3s ease}.layout.collapsed .main-content{margin-left:70px}.sidebar-nav.loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.sidebar-nav.loading p{color:#94a3b8;font-size:14px;margin:0}.loading-container{flex-direction:column;gap:16px;height:100%;min-height:400px}.loading-container p{color:#64748b;font-size:16px;margin:0}.no-menu-items{color:#64748b;font-size:14px;padding:20px;text-align:center}@media (max-width:768px){.sidebar{position:fixed;transform:translateX(-100%)}.layout:not(.collapsed) .sidebar{transform:translateX(0)}.main-content{margin-left:0!important}}.change-password-link{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:11px;padding:4px 0;text-align:left;transition:color .2s;width:100%}.change-password-link:hover{color:#60a5fa;text-decoration:underline}.user-avatar{cursor:pointer;transition:all .2s}.user-avatar:hover{opacity:.8;transform:scale(1.02)}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-logo{font-size:60px;margin-bottom:10px}.login-header h1{color:#333;font-size:24px;margin-bottom:8px}.login-header p{color:#666;font-size:14px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.input-icon{align-items:center;display:flex;position:relative}.input-icon .icon{font-size:18px;left:12px;position:absolute}.input-icon input{border:2px solid #e0e0e0;border-radius:10px;font-size:14px;padding:12px 40px;transition:all .3s;width:100%}.input-icon input:focus{border-color:#667eea;outline:none}.toggle-password{background:none;border:none;cursor:pointer;font-size:18px;padding:0;position:absolute;right:12px}.error-message{align-items:center;background:#fee;border-radius:8px;color:#c33;display:flex;font-size:14px;gap:8px;padding:10px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 10px 20px #0003;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;display:inline-block;height:20px;width:20px}.login-footer{margin-top:10px;text-align:center}.login-footer a{color:#667eea;font-size:14px;text-decoration:none}.demo-accounts{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.demo-accounts p{color:#666;font-size:13px;margin-bottom:10px;text-align:center}.demo-buttons{display:flex;gap:10px}.demo-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;padding:8px;transition:all .2s}.demo-btn.admin{background:#e3f2fd;color:#1976d2}.demo-btn.user{background:#f3e5f5;color:#7b1fa2}.demo-btn:hover{filter:brightness(.95);transform:translateY(-1px)}@media (max-width:768px){.login-card{padding:30px 20px}.demo-buttons{flex-direction:column}}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.remember-me-group{margin-bottom:15px;margin-top:-5px}.checkbox-label{color:#666;display:flex;font-size:14px;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-text{cursor:pointer}.checkbox-label:hover .checkbox-text{color:#333}.enroll-modal-overlay{align-items:center;animation:enrollFadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.enroll-modal-content{animation:enrollSlideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:560px;overflow-y:auto;width:90%}.enroll-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.enroll-modal-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.enroll-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.enroll-modal-close:hover:not(:disabled){background-color:#e2e8f0;color:#475569}.enroll-modal-close:disabled{cursor:not-allowed;opacity:.5}.enroll-modal-body{padding:24px}.enroll-info-block{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:16px}.enroll-info-row{display:flex;margin-bottom:10px}.enroll-info-row:last-child{margin-bottom:0}.enroll-info-label{color:#64748b;flex-shrink:0;font-size:13px;font-weight:500;width:100px}.enroll-info-value{color:#1e293b;flex:1 1;font-size:14px;font-weight:500;word-break:break-word}.enroll-success-message{background-color:#dcfce7;border:1px solid #bbf7d0;border-radius:10px;color:#166534}.enroll-error-message,.enroll-success-message{align-items:center;display:flex;font-size:14px;gap:12px;margin-bottom:20px;padding:12px 16px}.enroll-error-message{background-color:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#991b1b}.enroll-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.enroll-spinner{animation:enrollSpin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}.enroll-no-events{color:#64748b;padding:40px 20px;text-align:center}.enroll-no-events svg{color:#cbd5e1;margin-bottom:12px}.enroll-no-events p{font-size:14px;margin:0}.enroll-no-events-hint{color:#94a3b8;font-size:12px;margin-top:8px}.enroll-events-label{color:#1e293b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.enroll-events-options{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto;padding-right:4px}.enroll-event-option{align-items:flex-start;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:14px;transition:all .2s}.enroll-event-option:hover{background-color:#f8fafc;border-color:#cbd5e1}.enroll-event-option.selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.enroll-event-radio{flex-shrink:0;padding-top:2px}.enroll-radio-circle{align-items:center;border:2px solid #cbd5e1;border-radius:50%;display:flex;height:18px;justify-content:center;transition:all .2s;width:18px}.enroll-event-option.selected .enroll-radio-circle{border-color:#3b82f6}.enroll-radio-inner{background-color:#3b82f6;border-radius:50%;height:10px;width:10px}.enroll-event-info{flex:1 1}.enroll-event-title{color:#1e293b;font-size:15px;font-weight:600;margin-bottom:6px}.enroll-event-dates{align-items:center;color:#64748b;display:flex;font-size:13px;gap:6px;margin-bottom:8px}.enroll-event-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.enroll-format-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.enroll-format-onsite{background-color:#e0e7ff;color:#3730a3}.enroll-format-online{background-color:#dbeafe;color:#1e40af}.enroll-format-hybrid{background-color:#d1fae5;color:#065f46}.enroll-location,.enroll-slots{align-items:center;color:#64748b;display:flex;gap:4px}.enroll-modal-footer{background-color:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.enroll-btn-primary{align-items:center;background-color:#3b82f6;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.enroll-btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px)}.enroll-btn-primary:disabled{cursor:not-allowed;opacity:.6}.enroll-btn-secondary{background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.enroll-btn-secondary:hover:not(:disabled){background-color:#f1f5f9;border-color:#94a3b8}.enroll-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.enroll-btn-spinner{animation:enrollSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes enrollFadeIn{0%{opacity:0}to{opacity:1}}@keyframes enrollSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes enrollSpin{to{transform:rotate(1turn)}}.enroll-events-options::-webkit-scrollbar{width:6px}.enroll-events-options::-webkit-scrollbar-track{background:#e2e8f0;border-radius:3px}.enroll-events-options::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:3px}.enroll-events-options::-webkit-scrollbar-thumb:hover{background:#64748b}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 35px -10px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}.confirm-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.confirm-modal-header h3{align-items:center;color:#1e293b;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.confirm-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.confirm-modal-close:hover:not(:disabled){background-color:#e2e8f0;color:#475569}.confirm-modal-close:disabled{cursor:not-allowed;opacity:.5}.confirm-modal-body{flex:1 1;overflow-y:auto;padding:16px 20px}.confirm-event-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:12px 16px}.confirm-event-title{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:8px}.confirm-event-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.confirm-event-meta span{align-items:center;display:inline-flex;gap:4px}.confirm-participants-section{margin-top:4px}.confirm-participants-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.confirm-participants-title{color:#1e293b;font-size:13px;font-weight:600}.confirm-participants-actions{display:flex;gap:6px}.participants-list{display:flex;flex-direction:column;gap:8px;max-height:450px;padding-right:4px}.participant-confirm-item{align-items:flex-start;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;padding:10px 12px;transition:all .2s ease}.participant-confirm-item:hover{background-color:#f8fafc;border-color:#cbd5e1}.participant-confirm-item.selected{background-color:#eff6ff;border-color:#3b82f6}.participant-confirm-item.has-docs{border-left:3px solid #10b981}.participant-confirm-item.no-docs{border-left:3px solid #f59e0b}.participant-confirm-checkbox{flex-shrink:0;padding-top:6px}.participant-confirm-checkbox input{cursor:pointer;height:16px;width:16px}.participant-confirm-checkbox input:disabled{cursor:not-allowed;opacity:.5}.participant-confirm-info{flex:1 1;min-width:0}.participant-confirm-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:6px}.participant-confirm-name{align-items:center;color:#1e293b;display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:6px}.participant-confirm-personnel{background-color:#f1f5f9;border-radius:4px;color:#64748b;font-size:10px;font-weight:400;padding:2px 5px}.participant-confirm-department,.participant-confirm-position{background-color:#f1f5f9;border-radius:4px;color:#64748b;font-size:11px;font-weight:400;padding:2px 5px}.upload-file-btn{align-items:center;background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:500;gap:4px;padding:4px 10px;transition:all .2s ease}.upload-file-btn:hover:not(:disabled){background-color:#2563eb}.upload-file-btn:disabled{cursor:not-allowed;opacity:.6}.upload-file-btn svg{height:12px;width:12px}.participant-confirm-documents{margin-top:4px}.docs-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.doc-item{align-items:center;background-color:#f1f5f9;border-radius:4px;color:#475569;display:inline-flex;font-size:10px;gap:4px;padding:2px 6px}.doc-number{color:#3b82f6;font-family:monospace;font-weight:500}.doc-date{color:#64748b}.no-docs-text{color:#f59e0b;font-size:11px}.docs-loading{align-items:center;color:#64748b;display:inline-flex;font-size:11px;gap:6px}.small-spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:10px;width:10px}.participant-confirm-status{flex-shrink:0;min-width:90px;text-align:right}.status-badge{border-radius:16px;font-size:10px;white-space:nowrap}.status-success{background-color:#d1fae5;color:#065f46}.status-warning{background-color:#fef3c7;color:#b45309}.confirm-modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:12px 20px}.btn-primary{font-size:13px;gap:6px;transition:all .2s}.btn-secondary{border:1px solid #cbd5e1;color:#475569;font-size:13px;gap:6px}.btn-secondary:hover:not(:disabled){background-color:#f1f5f9;border-color:#94a3b8}.btn-sm{font-size:11px;padding:4px 10px}.btn-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.loading-state{padding:30px 20px}.loading-state .spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;height:28px;margin:0 auto 10px;width:28px}.loading-state p{color:#64748b;font-size:12px}.participants-empty{font-size:12px;padding:30px 20px}@media (max-width:768px){.confirm-modal-content{max-width:95%;width:95%}.confirm-modal-body,.confirm-modal-header{padding:12px 16px}.participant-confirm-row{align-items:flex-start;flex-direction:column}.upload-file-btn{align-self:flex-start}.participant-confirm-status{min-width:auto;text-align:left}.confirm-participants-header{align-items:flex-start;flex-direction:column}.confirm-event-meta{flex-direction:column;gap:6px}}@media (max-width:480px){.participant-confirm-name{align-items:flex-start;flex-direction:column}.participant-confirm-item{flex-direction:column}.participant-confirm-checkbox,.participant-confirm-status{align-self:flex-start}}.confirm-date-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:16px}.confirm-date-label{align-items:center;color:#1e293b;display:flex;flex-wrap:wrap;font-size:14px;font-weight:500;gap:12px}.confirm-date-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.confirm-date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.confirm-date-input:disabled{background:#f1f5f9;cursor:not-allowed}.confirm-date-hint{color:#64748b;font-size:12px;margin-bottom:0;margin-top:8px}.status-badge.status-ready{background:#dcfce7;border-radius:20px;color:#166534;font-size:12px;font-weight:500;padding:4px 12px}.animate-pulse .bg-gray-200{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e5e7eb 8%,#f3f4f6 18%,#e5e7eb 33%);background-size:800px 104px}.complete-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.complete-modal-container{animation:slideIn .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:90%}.complete-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:18px 24px}.complete-modal-title{align-items:center;color:#059669;display:flex;gap:10px}.complete-modal-title svg{height:22px;width:22px}.complete-modal-title h3{color:#111827;font-size:18px;font-weight:600;margin:0}.complete-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.complete-modal-close:hover{background-color:#f3f4f6;color:#4b5563}.complete-modal-body{padding:24px}.complete-modal-info{background-color:#f9fafb;border-radius:12px;margin-bottom:20px;padding:14px 16px}.complete-modal-course,.complete-modal-employee{font-size:14px;line-height:1.5;margin:0}.complete-modal-course{margin-bottom:6px}.complete-modal-label{color:#6b7280;font-weight:500;margin-right:8px}.complete-modal-value{color:#111827;font-weight:500}.complete-modal-field{margin-bottom:8px}.complete-modal-field-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.complete-modal-date-input{background-color:#fff;border:1px solid #d1d5db;border-radius:10px;color:#111827;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.complete-modal-date-input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.complete-modal-hint{color:#9ca3af;font-size:12px;margin-bottom:0;margin-top:6px}.complete-modal-footer{align-items:center;background-color:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.complete-modal-btn-cancel{background-color:#fff;border:1px solid #d1d5db;border-radius:10px;color:#4b5563;cursor:pointer;font-size:14px;font-weight:500;padding:8px 18px;transition:all .2s}.complete-modal-btn-cancel:hover{background-color:#f3f4f6;border-color:#9ca3af}.complete-modal-btn-confirm{align-items:center;background-color:#059669;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 20px;transition:all .2s}.complete-modal-btn-confirm:hover:not(:disabled){background-color:#047857}.complete-modal-btn-confirm:disabled{cursor:not-allowed;opacity:.6}.complete-modal-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}body{background-color:#f9fafb}@keyframes rotateCollapse{0%{transform:rotate(0deg)}to{transform:rotate(180deg)}}@keyframes rotateExpand{0%{transform:rotate(180deg)}to{transform:rotate(0deg)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.btn-primary{background-color:#2563eb;border-radius:.5rem;font-size:.875rem;gap:.375rem;padding:.5rem 1rem;transition:all .2s ease}.btn-primary:hover{background-color:#1d4ed8;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:#fff;border-radius:.5rem;font-size:.875rem;gap:.375rem;padding:.5rem 1rem;transition:all .2s ease}.btn-secondary:hover{background-color:#f9fafb;border-color:#d1d5db}.btn-ghost{align-items:center;background-color:initial;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.25rem;padding:.5rem;transition:all .2s ease}.btn-ghost:hover{background-color:#f3f4f6;color:#374151}.input{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:all .2s ease}.input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.input:hover:not(:focus){border-color:#d1d5db}select.input{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer;padding-right:2rem}select.filter-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right .75rem center!important;background-repeat:no-repeat!important;background-size:1rem!important}.card{background-color:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;overflow:hidden;transition:all .2s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}::-webkit-scrollbar-track{border-radius:4px}.main-container{background-color:#f9fafb;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1b2a4a,#0f1a2b);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:16rem;z-index:50}.sidebar-logo{padding:1.25rem 1.25rem 1rem}.sidebar-logo-link{align-items:center;display:flex;gap:.75rem;text-decoration:none}.sidebar-logo-img{background-color:#fff;border-radius:9999px;box-shadow:0 1px 2px 0 #0000000d;flex-shrink:0;height:2.75rem;overflow:hidden;width:2.75rem}.sidebar-logo-img img{height:100%;object-fit:cover;transform:scale(1.1);width:100%}.sidebar-logo-title{color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.025em;line-height:1.25}.sidebar-logo-subtitle{color:#06b6d499;font-size:.6875rem;font-weight:500}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.125rem;padding:.5rem .75rem}.sidebar-nav-link{align-items:center;border-left:3px solid #0000;border-radius:.75rem;color:#ffffffb3;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem .75rem;position:relative;text-decoration:none;transition:all .2s ease}.sidebar-nav-link:hover{background-color:#ffffff1a;color:#fff}.sidebar-nav-link.active{background-color:#fff3;border-left-color:#22d3ee;color:#fff;padding-left:.5625rem}.sidebar-nav-icon{color:#fff9;height:1.25rem;transition:color .2s ease;width:1.25rem}.sidebar-nav-link:hover .sidebar-nav-icon{color:#ffffffe6}.sidebar-nav-badge{align-items:center;background-color:#ef4444;border-radius:9999px;color:#fff;cursor:help;display:flex;font-size:.6875rem;font-weight:700;height:1.375rem;justify-content:center;min-width:1.375rem;padding:0 .375rem}.sidebar-footer{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.sidebar-footer-btn{align-items:center;background:#0000;border:none;border-radius:.75rem;color:#ffffff80;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.sidebar-footer-btn:hover{background-color:#ffffff1a;color:#fff}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:16rem;min-width:0}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{color:#111827;font-size:1.5rem;font-weight:700}.page-header p{color:#6b7280;font-size:.875rem;margin-top:.125rem}.stat-card{background-color:#fff;border-left:4px solid;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;padding:1.25rem;text-align:left;transition:all .2s ease;width:100%}.stat-card-red{border-left-color:#ef4444}.stat-card-amber{border-left-color:#f59e0b}.stat-card-yellow{border-left-color:#facc15}.stat-card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.stat-card-icon{font-size:1.125rem}.stat-card-label{color:#6b7280;font-size:.875rem;font-weight:500}.stat-card-value{color:#111827;font-size:1.875rem;font-weight:700}.stat-card-sub{color:#6b7280;font-size:.75rem;margin-top:.125rem}.stat-card-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem}.stat-card-list-item{color:#4b5563;display:flex;font-size:.875rem;justify-content:space-between}.stat-card-list-item span:first-child{margin-right:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-card-list-count-red{color:#ef4444;flex-shrink:0;font-weight:600}.stat-card-list-count-amber{color:#f59e0b;flex-shrink:0;font-weight:600}.stat-card-list-count-yellow{color:#eab308;flex-shrink:0;font-weight:600}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr);margin-bottom:1.5rem}.stat-card-item{background-color:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.5rem 1rem;text-align:center;transition:all .2s ease}.stat-card-value-black{color:#111827}.stat-card-value-black,.stat-card-value-green{font-size:2.5rem;font-weight:700;line-height:1.2}.stat-card-value-green{color:#10b981}.stat-card-value-amber{color:#f59e0b}.stat-card-value-amber,.stat-card-value-red{font-size:2.5rem;font-weight:700;line-height:1.2}.stat-card-value-red{color:#991b1b}.stat-card-value-yellow-dark{color:#ca8a04;font-size:2.5rem;font-weight:700;line-height:1.2}.stat-card-label-small{color:#6b7280;font-size:.75rem;font-weight:500;margin-top:.5rem}.stats-bar{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.25rem}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card-value-amber,.stat-card-value-black,.stat-card-value-green,.stat-card-value-red,.stat-card-value-yellow-dark{font-size:1.875rem}}.stat-item{text-align:left}.stat-item-value{font-size:1.5rem;font-weight:700}.stat-item-value-green{color:#10b981}.stat-item-value-amber{color:#f59e0b}.stat-item-value-red{color:#ef4444}.stat-item-value-blue{color:#3b82f6}.stat-item-label{color:#6b7280;font-size:.75rem;margin-top:.125rem}.trainings-card{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.25rem}.trainings-header{margin-bottom:1rem}.trainings-title{align-items:center;color:#111827;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.trainings-link{align-items:center;color:#2563eb;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;text-decoration:none;transition:color .2s ease}.trainings-link:hover{color:#1d4ed8}.trainings-empty{padding:1.5rem 0;text-align:center}.trainings-empty-text{color:#9ca3af;font-size:.875rem;margin-bottom:.75rem}.attention-section{margin-top:1.5rem}.attention-title{color:#111827;font-size:1.125rem;font-weight:700;margin-bottom:.75rem}.tabs-container{background-color:#f3f4f6;gap:1.5rem;margin-bottom:1rem;padding:.25rem;width:fit-content}.tab-btn,.tabs-container{border-radius:10px;display:flex}.tab-btn{align-items:center;background:#0000;border:1px solid #0000;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.tab-btn:hover{background-color:#0000000d;color:#374151}.tab-btn.active{background-color:#fff;border:1px solid #d1d5db;box-shadow:0 1px 2px 0 #0000000d;color:#111827}.tab-badge{align-items:center;border-radius:9999px;display:flex;font-size:.6875rem;font-weight:700;height:1.25rem;justify-content:center;min-width:1.25rem;padding:0 .375rem}.tab-badge-dark{background-color:#111827;color:#fff}.tab-badge-gray{background-color:#d1d5db;color:#4b5563}.grouping-container{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.grouping-label{color:#6b7280;font-size:.75rem}.grouping-btn{background-color:#f3f4f6;border:none;border-radius:10px;color:#4b5563;cursor:pointer;font-size:.75rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease}.grouping-btn:hover:not(.active){background-color:#d1d5db;color:#374151}.grouping-btn.active{border:none;box-shadow:0 1px 2px 0 #0000000d}.grouping-btn.active,.grouping-btn.active:hover{background-color:#1e3a8a;color:#fff}.accordion-group{background-color:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;overflow:hidden}.accordion-header{align-items:center;background-color:#fff;border:none;cursor:pointer;display:flex;gap:.75rem;padding:1rem;text-align:left;transition:all .2s ease;width:100%}.accordion-header:hover{background-color:#f9fafb}.accordion-chevron{color:#9ca3af;flex-shrink:0;height:1rem;transition:transform .2s ease;width:1rem}.accordion-chevron.rotated{transform:rotate(180deg)}.accordion-header-left{flex:1 1;min-width:0}.accordion-title{color:#111827;font-size:.875rem;font-weight:600}.accordion-subtitle{color:#9ca3af;font-size:.75rem;margin-top:.125rem}.accordion-header-right{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.badge-critical-count{background-color:#ef444426;color:#991b1b}.badge-critical-count,.badge-urgent-count{border-radius:9999px;font-size:.625rem;font-weight:700;padding:.125rem .5rem}.badge-urgent-count{background-color:#f9731626;color:#ea580c}.badge-planning-count{background-color:#3b82f626;border-radius:9999px;color:#2563eb;font-size:.625rem;font-weight:700;padding:.125rem .5rem}.total-count-badge{align-items:center;background-color:#e5e7eb;border-radius:9999px;color:#374151;display:flex;font-size:.75rem;font-weight:700;height:1.5rem;justify-content:center;min-width:1.5rem;padding:0 .5rem}.enroll-all-btn{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.6875rem;font-weight:500;gap:.25rem;padding:.25rem .625rem;transition:all .2s ease}.enroll-all-btn:hover{background-color:#1d4ed8}.enroll-all-btn:disabled{cursor:not-allowed;opacity:.6}.enroll-all-btn svg{height:.75rem;width:.75rem}.accordion-content,.accordion-divider{border-top:1px solid #f3f4f6}.accordion-item-row{border-bottom:1px solid #f9fafb;display:flex}.accordion-item-row:last-child{border-bottom:none}.accordion-item-border{flex-shrink:0;width:.375rem}.accordion-item-border-red{background-color:#ef4444}.accordion-item-border-amber{background-color:#f59e0b}.accordion-item-border-blue{background-color:#3b82f6}.accordion-item-body{flex:1 1;padding:.75rem 1rem}.accordion-item-left{flex:1 1;min-width:0}.accordion-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.125rem}.employee-link-accordion{color:#111827;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease}.employee-link-accordion:hover{color:#2563eb}.level-badge{border-radius:9999px;font-size:.625rem;font-weight:700;padding:.125rem .5rem;text-transform:uppercase}.level-badge-critical{background-color:#ef444426;color:#991b1b}.level-badge-urgent{background-color:#f9731626;color:#ea580c}.level-badge-planning{background-color:#3b82f626;color:#2563eb}.registered-badge-small{background-color:#d1fae5;border-radius:9999px;color:#065f46;font-size:.625rem;font-weight:500;padding:.125rem .375rem}.accordion-item-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.status-text-red-accordion{color:#dc2626;font-weight:600}.status-text-amber-accordion{color:#d97706;font-weight:600}.status-text-gray-accordion{color:#6b7280}.accordion-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.btn-record-small{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .625rem;transition:all .2s ease}.btn-record-small:hover{background-color:#f9fafb;border-color:#d1d5db}.btn-record-small:disabled{cursor:not-allowed;opacity:.6}.btn-done-small{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .625rem;transition:all .2s ease}.btn-done-small:hover{background-color:#1d4ed8}.btn-done-small:disabled{cursor:not-allowed;opacity:.6}.btn-delay-small{align-items:center;background-color:initial;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.75rem;justify-content:center;padding:.25rem .5rem;transition:all .2s ease}.btn-delay-small:hover{background-color:#f3f4f6;color:#374151}.btn-delay-small:disabled{cursor:not-allowed;opacity:.6}.list-item-wrapper{background-color:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;overflow:hidden;transition:all .2s ease}.list-item-wrapper:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.list-item-border{flex-shrink:0;width:.375rem}.list-item-border-red{background-color:#ef4444}.list-item-border-amber{background-color:#f59e0b}.list-item-border-blue{background-color:#3b82f6}.list-item-content{flex:1 1;padding:1rem}.list-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.125rem}.list-item-employee-link{color:#111827;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s ease}.list-item-employee-link:hover{color:#2563eb}.list-item-level-badge{border-radius:9999px;font-size:.625rem;font-weight:700;padding:.125rem .5rem;text-transform:uppercase}.list-item-course-name{color:#4b5563;font-size:.875rem;margin-top:.125rem}.list-item-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem;margin-top:.5rem}.list-item-status-red{color:#dc2626;font-weight:600}.list-item-status-amber{color:#d97706;font-weight:600}.list-item-status-gray{color:#6b7280}.list-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.enroll-spinner-small{animation:spin .6s linear infinite;border:2px solid #3741514d;border-radius:50%;border-top-color:#374151;height:.75rem;width:.75rem}.enroll-btn-spinner-small{animation:enrollSpinSmall .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#374151;height:14px;width:14px}@keyframes enrollSpinSmall{to{transform:rotate(1turn)}}.btn-enrolled{color:#fff!important;cursor:default!important;opacity:.85}.btn-enrolled,.btn-enrolled:hover{background-color:#10b981!important;border-color:#10b981!important}.btn-enrolled:hover{transform:none!important}.filters-container{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.filter-select{appearance:none;font-size:.875rem;height:40px;min-width:180px;outline:none;padding:0 2.5rem 0 .75rem;transition:all .2s ease;width:auto}.filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.filter-select:hover:not(:focus){border-color:#d1d5db}.attention-list{display:flex;flex-direction:column;gap:.75rem}.attention-item{background-color:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;overflow:hidden;transition:all .2s ease}.attention-item:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.attention-item-inner{display:flex}.attention-item-border{flex-shrink:0;width:.375rem}.attention-item-border-red{background-color:#ef4444}.attention-item-border-amber{background-color:#f59e0b}.attention-item-border-blue{background-color:#3b82f6}.attention-item-content{flex:1 1;padding:1rem}.attention-item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.attention-item-info{flex:1 1;min-width:0}.employee-link{font-size:.875rem;font-weight:700;transition:color .2s ease}.employee-link,.employee-link:hover{color:#111827;text-decoration:none}.badge{border-radius:9999px;font-size:.625rem;font-weight:700;padding:.125rem .5rem;text-transform:uppercase}.badge-critical{background-color:#ef444426;color:#991b1b}.badge-urgent{background-color:#f9731626;color:#ea580c}.badge-planning{background-color:#3b82f626;color:#2563eb}.training-name{color:#374151;font-size:.875rem;margin-top:.125rem}.training-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem;margin-top:.5rem}.training-meta-divider{color:#d1d5db}.status-text{font-weight:600}.status-text-red{color:#dc2626}.status-text-amber{color:#d97706}.action-buttons{align-items:center;flex-shrink:0;gap:.5rem}.action-btn{align-items:center;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.75rem;gap:.375rem;min-height:0;padding:.375rem .75rem;transition:all .2s ease}.action-btn-secondary{background-color:#fff;border:1px solid #e5e7eb;color:#374151}.action-btn-secondary:hover{background-color:#f9fafb;border-color:#d1d5db}.action-btn-primary{background-color:#2563eb;border:none;color:#fff}.action-btn-primary:hover{background-color:#1d4ed8}.action-btn-icon{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;gap:0;padding:.375rem .5rem}.action-btn-icon:hover{background-color:#f3f4f6;color:#374151}.action-btn-danger{color:#9ca3af}.action-btn-danger:hover{color:#ef4444}.action-buttons-top-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem;margin-left:auto}.btn-action-main{align-items:center;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;display:inline-flex;font-size:.75rem;gap:.375rem;height:32px;justify-content:center;min-height:0;padding:0 .75rem;transition:all .2s ease;white-space:nowrap;width:100px}.btn-action-main.btn-record{background-color:#fff;color:#374151}.btn-action-main.btn-record:hover{background-color:#f9fafb;border-color:#d1d5db}.btn-action-main.btn-done{background-color:#2563eb;border-color:#2563eb;color:#fff}.btn-action-main.btn-done:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-action-main.btn-record:disabled{cursor:not-allowed;opacity:.6}.btn-action-main.btn-record:disabled:hover{background-color:#fff;border-color:#e5e7eb;transform:none}.btn-action-main.btn-record.btn-enrolled{background-color:#10b981!important;border-color:#10b981!important;color:#fff!important;cursor:default!important;opacity:.85}.btn-action-main.btn-record.btn-enrolled:hover{background-color:#10b981!important;border-color:#10b981!important;box-shadow:none!important;transform:none!important}.btn-action-icon-sm{align-items:center;background-color:#fff;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.btn-action-icon-sm:hover{background-color:#f3f4f6;color:#374151}.btn-action-icon-sm.btn-danger:hover{color:#ef4444}.main-footer{border-top:1px solid #f3f4f6cc;color:#9ca3af;font-size:.75rem;padding:1rem;text-align:center}.footer-brand{color:#2563eb;font-weight:600}.stats-cards-row{align-items:stretch;display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem;justify-content:center;width:100%}.stats-cards-row>*{flex:1 1;max-width:350px;min-width:240px}.btn-create-training{align-items:center;background-color:#1e3a8a;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;gap:.375rem;line-height:1;padding:.375rem .75rem;text-decoration:none;transition:background-color .2s ease}.btn-create-training:hover{background-color:#172554}.trainings-empty .btn-create-training{display:inline-flex}.registration-badge{align-items:center;background-color:#d1fae5;border-radius:20px;color:#065f46;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:2px 8px}.registration-badge svg{height:12px;width:12px}.enroll-employees-details{font-size:13px;margin-bottom:12px}.enroll-employees-details summary{color:#3b82f6;cursor:pointer;font-weight:500;padding:4px 0}.enroll-employees-details summary:hover{color:#2563eb}.enroll-employees-list{color:#475569;font-size:13px;margin-top:8px;max-height:150px;overflow-y:auto;padding-left:20px}.enroll-employees-list li{padding:2px 0}.upcoming-events-list{display:flex;flex-direction:column;gap:0}.upcoming-event-item{border-radius:10px;color:inherit;cursor:pointer;display:block;padding:12px 8px;text-decoration:none;transition:background-color .2s ease}.upcoming-event-item:hover{background-color:#f9fafb}.event-date-badge{flex-shrink:0;text-align:center;width:48px}.event-date-day{background-color:#f3f4f6;border-radius:10px;color:#374151;font-size:12px;font-weight:600;padding:6px 0;text-align:center}.event-format-tag{border-radius:20px;font-size:10px;font-weight:500;padding:2px 8px}.event-format-online{background-color:#e0f2fe;color:#0369a1}.event-format-offline{background-color:#dcfce7;color:#15803d}.event-format-hybrid{background-color:#fef3c7;color:#b45309}.event-title-link{font-weight:500;line-height:1.4}.event-participants-info{align-items:center;background-color:#f9fafb;border-radius:20px;color:#6b7280;display:flex;flex-shrink:0;font-size:12px;gap:4px;padding:4px 10px}.event-participants-info svg{height:12px;width:12px}.main-toast-notification{align-items:center;animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #00000005;display:flex;gap:12px;max-width:400px;min-width:280px;padding:14px 20px;position:fixed;right:24px;top:24px;z-index:1100}.main-toast-notification.success{border-left:4px solid #10b981}.main-toast-notification.success .main-toast-icon{color:#10b981}.main-toast-notification.error{border-left:4px solid #ef4444}.main-toast-notification.error .main-toast-icon{color:#ef4444}.main-toast-notification.warning{border-left:4px solid #f59e0b}.main-toast-notification.warning .main-toast-icon{color:#f59e0b}.main-toast-notification.info{border-left:4px solid #3b82f6}.main-toast-notification.info .main-toast-icon{color:#3b82f6}.main-toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.main-toast-message{color:#1f2937;flex:1 1;font-size:14px;line-height:1.4}.events-tab-btn{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.events-tab-btn:hover{background-color:#0000000d;color:#374151}.events-tab-btn.active{background-color:#fff;box-shadow:0 1px 2px 0 #0000000d;color:#1f2937}.events-tab-count{align-items:center;background-color:#e5e7eb;border-radius:9999px;color:#4b5563;display:inline-flex;font-size:.6875rem;font-weight:600;height:1.25rem;justify-content:center;min-width:1.25rem;padding:0 .375rem}.events-tab-count.pending{background-color:#fef3c7;color:#b45309}.events-tab-count.inactive{background-color:#d1d5db;color:#6b7280}.events-tab-count.pending.inactive{background-color:#fde68a;color:#92400e;opacity:.8}.events-tab-btn.active .events-tab-count{background-color:#3b82f6;color:#fff}.events-tab-btn.active .events-tab-count.pending{background-color:#f59e0b;color:#fff}.pending-events-list{display:flex;flex-direction:column;gap:0}.pending-event-item{border-radius:10px;display:block;padding:12px 8px;transition:background-color .2s ease}.pending-event-item:hover{background-color:#fffbeb}.pending-event-badge{background-color:#fef3c7;border-radius:10px;color:#b45309;height:36px;justify-content:center;width:36px}.pending-event-actions,.pending-event-badge{align-items:center;display:flex;flex-shrink:0}.pending-event-actions{gap:8px}.pending-confirm-btn{align-items:center;background-color:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.pending-confirm-btn:hover{background-color:#059669;transform:translateY(-1px)}.pending-reject-btn{align-items:center;background-color:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.pending-reject-btn:hover{background-color:#dc2626;transform:translateY(-1px)}.status-awaiting{border:1px solid #fed7aa;color:#b45309}@media (max-width:1024px){.sidebar{width:14rem}.main-content{margin-left:14rem}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease;z-index:100}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.page-header{align-items:flex-start;flex-direction:column}.stat-card-value{font-size:1.5rem}.attention-item-header{flex-direction:column}.action-buttons{align-self:flex-end}.training-meta{flex-wrap:wrap}.filters-container{flex-direction:column}.filter-select{min-width:auto;width:100%}.tabs-container{flex-wrap:wrap;width:100%}.tab-btn{flex:1 1;justify-content:center}.grouping-container{flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,1fr)}.accordion-header{align-items:flex-start;flex-direction:column;gap:.75rem}.accordion-header-right{justify-content:flex-start;width:100%}.accordion-item-body{flex-direction:column;gap:.5rem}.accordion-item-actions{justify-content:flex-start;margin-top:.5rem;width:100%}.accordion-item-header,.accordion-item-meta{flex-wrap:wrap}.list-item-content{flex-direction:column}.list-item-actions{justify-content:flex-start;margin-top:.75rem;width:100%}}@media (max-width:640px){.events-tab-btn span:first-child{display:none}.events-tab-btn svg{height:18px;width:18px}.pending-event-actions{align-items:flex-end;flex-direction:column}.pending-confirm-btn,.pending-reject-btn{font-size:10px;padding:4px 8px}.pending-confirm-btn svg,.pending-reject-btn svg{height:12px;width:12px}}@media (max-width:480px){.stat-card{padding:1rem}.stat-card-value{font-size:1.25rem}.stat-card-header{gap:.25rem}.stat-card-label{font-size:.75rem}.attention-item-content{padding:.75rem}.employee-link,.training-name{font-size:.8125rem}.action-btn{font-size:.6875rem;padding:.25rem .5rem}.badge{font-size:.5625rem}.stats-grid{grid-template-columns:1fr}.stat-card-value-amber,.stat-card-value-black,.stat-card-value-green,.stat-card-value-red,.stat-card-value-yellow-dark{font-size:1.875rem}.accordion-title{font-size:.875rem}.accordion-subtitle{font-size:.6875rem}.accordion-header-right{gap:.375rem}.employee-link-accordion{font-size:.8125rem}.accordion-item-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.accordion-item-actions{flex-wrap:wrap}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-11{width:2.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-11{height:2.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#111827}.text-white{color:#fff}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-amber-500{color:#f59e0b}.text-amber-600{color:#d97706}.text-yellow-600{color:#ca8a04}.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}.text-green-600{color:#16a34a}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-red-50{background-color:#fef2f2}.bg-red-500{background-color:#ef4444}.bg-amber-50{background-color:#fffbeb}.bg-amber-500{background-color:#f59e0b}.bg-yellow-400{background-color:#facc15}.bg-blue-50{background-color:#eff6ff}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-green-600{background-color:#16a34a}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-t{border-top-width:1px}.border-l-4{border-left-width:4px}.border-gray-100{border-color:#f3f4f6}.border-gray-300{border-color:#d1d5db}.border-red-500{border-color:#ef4444}.border-amber-500{border-color:#f59e0b}.border-yellow-400{border-color:#facc15}.border-white\/10{border-color:#ffffff1a}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.cursor-pointer{cursor:pointer}.cursor-help{cursor:help}.overflow-hidden{overflow:hidden}.flex-shrink-0{flex-shrink:0}.object-cover{object-fit:cover}.scale-110{transform:scale(1.1)}.space-y-0\.5>*+*{margin-top:.125rem}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-6>*+*{margin-top:1.5rem}.min-w-0{min-width:0}.min-w-\[20px\]{min-width:1.25rem}.min-w-\[22px\]{min-width:1.375rem}.min-w-\[180px\]{min-width:11.25rem}.w-fit{width:fit-content}.w-full{width:100%}.w-auto{width:auto}.w-\[250px\]{width:250px}.h-screen{height:100vh}.h-\[22px\]{height:1.375rem}.h-5{height:1.25rem}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.z-50{z-index:50}.transition-all{transition-property:all}.duration-200{transition-duration:.2s}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:bg-gray-200:hover{background-color:#e5e7eb}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:text-white:hover{color:#fff}.hover\:text-gray-700:hover{color:#374151}.hover\:text-blue-800:hover{color:#1e40af}.hover\:text-red-500:hover{color:#ef4444}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.group:hover .group-hover\:text-white\/90{color:#ffffffe6}.accordion-event-info{margin-top:4px}.group-event-info{align-items:center;background-color:#f3f4f6;border-radius:12px;color:#6b7280;display:inline-flex;font-size:.6875rem;gap:6px;padding:2px 8px}.group-event-info.loading{background-color:#f3f4f6;gap:4px}.event-spinner-small{animation:spin .6s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:10px;width:10px}.group-event-info.no-event{background-color:#fef2f2;color:#dc2626}.group-event-info.has-event{background-color:#ecfdf5;color:#065f46;cursor:pointer;transition:all .2s ease}.group-event-info.has-event:hover{background-color:#d1fae5;transform:translateY(-1px)}.event-format-mini{border-radius:8px;font-size:.5625rem;font-weight:500;padding:1px 4px}.event-format-mini.format-online{background-color:#dbeafe;color:#1e40af}.event-format-mini.format-onsite{background-color:#dcfce7;color:#166534}.event-format-mini.format-hybrid{background-color:#fef3c7;color:#92400e}.event-info-title-mini{font-size:.625rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.accordion-event-info{margin-top:6px}.group-event-info{justify-content:flex-start;width:100%}.event-info-title-mini{max-width:150px}}@media (max-width:640px){.event-info-title-mini{max-width:120px}}.stat-card-required{border-left-color:#3b82f6}.category-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.625rem;font-weight:500;line-height:1.2;padding:2px 8px;white-space:nowrap}.badge-required-count{border-radius:9999px;font-size:.625rem;font-weight:700;padding:.125rem .5rem}.badge-required,.badge-required-count{background-color:#3b82f626;color:#1e40af}.accordion-group{transition:all .2s ease}.accordion-group:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.sorting-controls{align-items:center;display:inline-flex;gap:.5rem}@media (max-width:768px){.category-badge{font-size:.5625rem;padding:2px 6px}.flex.items-center.gap-2.mb-4.flex-wrap{align-items:flex-start;flex-direction:column}.sorting-controls{margin-left:0;margin-top:.5rem}}.category-group{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;margin-bottom:1rem;overflow:hidden}.category-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.875rem 1.25rem;transition:all .2s ease}.category-header:hover{opacity:.85}.category-header-left{align-items:center;display:flex;gap:.75rem}.category-icon{font-size:1.25rem}.category-name{font-size:1rem;font-weight:600}.category-stats{color:#6b7280;font-size:.75rem;margin-left:.5rem}.category-header-right{align-items:center;display:flex;gap:.5rem}.category-content{background-color:#f9fafb;border-top:1px solid #e5e7eb;padding:.5rem}.course-group-item{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;margin-bottom:.5rem;overflow:hidden;transition:all .2s ease}.course-group-item:last-child{margin-bottom:0}.course-group-item:hover{box-shadow:0 4px 6px -1px #0000001a}.course-group-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:background-color .2s ease}.course-group-header:hover{background-color:#f9fafb}.course-group-header-left{flex:1 1;min-width:0}.course-group-title{color:#111827;font-size:.875rem;font-weight:600}.course-group-event-info{margin-top:.25rem}.course-group-header-right{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.course-group-content{border-top:1px solid #f3f4f6;padding:.25rem 0}.event-few-seats,.event-no-seats{cursor:help;font-size:10px;margin-left:4px}.event-availability-info{align-items:center;display:inline-flex;margin-left:4px}.course-cards-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:1.5rem}.course-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000000d;cursor:pointer;padding:1rem;text-align:left;transition:all .2s ease;width:100%}.course-stat-card:hover{box-shadow:0 10px 25px -5px #0000001a;transform:translateY(-2px)}.course-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.course-card-category{background:#0000000d}.course-card-category,.course-card-total{border-radius:1rem;font-size:.7rem;font-weight:500;padding:.2rem .5rem}.course-card-total{background:#f3f4f6;color:#6b7280}.course-card-title{color:#1f2937;font-size:.9rem;font-weight:600;line-height:1.3;margin-bottom:.75rem;min-height:2.4rem}.course-card-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.course-stat-badge{background:#fff;border-radius:1rem;box-shadow:0 1px 2px #0000000d;font-size:.7rem;padding:.2rem .5rem}.course-stat-badge.expired{border:1px solid #fecaca;color:#dc2626}.course-stat-badge.expiring{border:1px solid #fed7aa;color:#f97316}.course-stat-badge.planning{border:1px solid #bfdbfe;color:#3b82f6}.course-stat-badge.required{border:1px solid #ddd6fe;color:#8b5cf6}.course-card-footer{border-top:1px solid #e5e7eb;margin-top:.25rem;padding-top:.5rem}.course-card-link{color:#6b7280;font-size:.7rem;font-weight:500;transition:color .2s}.course-stat-card:hover .course-card-link{color:#3b82f6}.events-container{margin:0 auto;max-width:1400px;padding:20px}.events-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.events-header h2{color:#333;font-size:24px;margin:0}.events-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.events-filters .search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:200px;padding:8px 12px}.events-filters .search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.events-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:20px}.event-card{background:#fff;border:1px solid #818181;border-radius:10px;box-shadow:0 4px 6px #afafae26,0 8px 15px #2c2c2b1a,0 15px 25px #ff98000d;box-sizing:border-box;display:flex;flex-direction:column;height:150px;overflow:hidden;padding:16px;transition:all .3s ease;width:100%}.event-card:hover{border-color:#30016d;box-shadow:0 6px 12px #2a243d40,0 12px 25px #8b6fb126,0 20px 35px #ff98001a;transform:translateY(-2px)}.event-card-header{border-bottom:1px solid #adadad;flex-shrink:0;margin-bottom:12px;padding-bottom:10px}.event-title{color:#3f3f3f;font-size:12px;font-weight:600;line-height:1.3;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-badges-row{align-items:center;display:flex;justify-content:space-between}.event-badges{display:flex;flex-wrap:wrap;gap:8px}.event-participants-badge{color:#5d4037;flex-shrink:0;font-size:12px;gap:4px}.event-participants-badge,.participants-icon{align-items:center;display:flex}.participants-count-badge{color:#3f3e3e;font-weight:600}.participants-max-badge{color:#8d6e63;font-size:11px;margin-left:2px}.format-badge{font-size:11px;line-height:1.4;padding:3px 8px}.format-online{background-color:#e3f2fd;color:#1565c0}.format-offline{background-color:#d9d6fa;color:#0d073f}.format-hybrid{background-color:#e8f5e9;color:#2e7d32}.status-badge{font-size:11px;line-height:1.4;padding:3px 8px}.status-draft,.status-planned{background-color:#f1f5f9;color:#475569}.status-confirmed{background-color:#dcfce7;color:#166534}.status-in-progress{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#e8f5e9;color:#2e7d32}.event-card-body{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow:hidden}.event-info-row{align-items:flex-start;border-bottom:none;display:flex;gap:12px;padding:0}.event-label{color:#555;flex-shrink:0;font-size:12px;font-weight:500;min-width:90px}.event-value{color:#5d4037;flex:1 1;font-size:13px;word-break:break-word}.event-notes{display:none}.error-state{text-align:center}.error-state h3{color:#dc3545;margin:0 0 8px}.error-state p{color:#64748b}.btn-primary{align-items:center;background-color:#3b82f6;border-radius:8px;display:inline-flex;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;display:inline-flex;padding:8px 16px;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-sm{font-size:12px;padding:6px 12px}.filter-stats{border-bottom:1px solid #f0f0f0;margin-bottom:8px}.filter-stats-text{font-size:13px}.modal-content{max-width:600px}.event-modal{max-width:650px}.modal-close{padding:4px}.modal-close:hover{color:#4b5563}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-footer{background-color:#f9fafb;border-radius:0 0 16px 16px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px}textarea{font-family:inherit}.toast-notification{background-color:#fff;box-shadow:0 10px 15px -3px #0000001a}.toast-notification.success{border-left:4px solid #22c55e}.toast-notification.success .toast-icon{color:#22c55e}.spinner{border-top-color:#3b82f6}@media (min-width:769px) and (max-width:1024px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.events-container{padding:12px}.events-header{align-items:stretch;gap:12px}.events-header,.events-header>div{flex-direction:column}.events-header button{justify-content:center;width:100%}.events-filters{flex-direction:column}.events-filters .filter-select,.events-filters .search-input{width:100%}.events-grid{grid-template-columns:1fr}.event-card{height:auto;min-height:150px}.event-title{font-size:14px}.event-info-row{flex-direction:column;gap:4px}.event-label{min-width:auto}.event-value{text-align:left}.form-row{flex-direction:column;gap:0}.form-group.half{width:100%}.modal-content{margin:16px;width:95%}.modal-body,.modal-header{padding:16px}.modal-footer{padding:12px 16px}.format-switch{flex-direction:column}}.event-info-row .event-value{font-weight:500}.event-card{transition:all .2s ease}.event-card:active{transform:scale(.98)}.modal-content.event-modal{max-width:650px}.btn-primary .edit-icon{margin-right:6px}.participants-list{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;overflow-y:auto;padding:10px 12px}.participant-item{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:13px;padding:6px 0}.participant-item:last-child{border-bottom:none}.event-notes-display,.event-value-display{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px;word-break:break-word}.event-notes-display{max-height:150px;overflow-y:auto;white-space:pre-wrap}.status-awaiting{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.event-card .status-awaiting{background-color:#fffbeb;border:1px solid #fed7aa;color:#b45309}.status-awaiting{animation:pulse 2s ease-in-out infinite}.skeleton{animation:shimmer 1.5s ease-in-out infinite,pulse 2s ease-in-out infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background-size:800px 104px;border-radius:4px}.skeleton-title{height:32px;margin-bottom:8px;width:240px}.skeleton-subtitle{height:16px;width:400px}.skeleton-legend{padding:16px 20px}.skeleton-legend-title{height:20px;margin-bottom:16px;width:160px}.skeleton-legend-items{display:flex;flex-wrap:wrap;gap:24px}.legend-item{gap:8px}.skeleton-legend-color{border-radius:4px;height:16px;width:16px}.skeleton-legend-text{height:14px;width:70px}.skeleton-legend-count{height:14px;width:24px}.skeleton-search{border-radius:8px;height:40px;width:100%}.skeleton-filter-label{height:14px;margin-bottom:4px;width:60px}.skeleton-filter-select{border-radius:8px;height:36px;width:160px}.skeleton-refresh-btn{border-radius:8px;height:40px;width:40px}.skeleton-th{height:16px;margin:0 auto;width:80%}.skeleton-th-short{height:16px;margin:0 auto;width:32px}.skeleton-brigade-header{align-items:center;display:flex;gap:12px;padding:8px 16px}.skeleton-brigade-icon{border-radius:4px;height:16px;width:16px}.skeleton-brigade-name{height:16px;width:200px}.skeleton-brigade-name-short{height:16px;width:140px}.skeleton-brigade-count{height:14px;width:80px}.skeleton-employee-name{height:14px;margin-bottom:4px;width:85%}.skeleton-employee-position{height:12px;width:65%}.skeleton-color-square{border-radius:4px;height:20px;margin:0 auto;width:20px}.skeleton-employee-name:nth-child(odd){width:75%}.skeleton-employee-position:nth-child(2n){width:55%}.skeleton-brigade-name:nth-child(2n){width:170px}.heatmap-container .skeleton{display:inline-block;vertical-align:middle}.brigade-header-row td{padding:8px 16px!important}.employee-row .employee-info{padding:12px 16px!important}.color-cell{padding:8px!important}.skeleton-color-square,.skeleton-legend-color{opacity:.7}.heatmap-container{animation:fadeIn .3s ease-in-out}@media (max-width:768px){.skeleton-title{height:24px;width:180px}.skeleton-subtitle{height:14px;width:280px}.skeleton-filter-select{width:120px}.skeleton-brigade-name{width:140px}}.heatmap-container{background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:24px 28px}.heatmap-header{margin-bottom:24px}.heatmap-header h1{color:#0f172a;font-size:26px;font-weight:600;margin:0 0 6px}.subtitle{color:#64748b;font-size:13px;margin:0}.legend{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:12px 16px}.legend h3{color:#475569;font-size:12px;font-weight:600;margin:0 0 8px}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-item{align-items:center;display:flex;font-size:11px;gap:6px}.legend-color{border-radius:3px;height:16px;width:16px}.active-color{background-color:#10b981}.expiring-color{background-color:#f59e0b}.expired-color{background-color:#ef4444}.required-color{background-color:#8b5cf6}.nodata-color{background-color:#cbd5e1}.legend-label{color:#334155;font-weight:500}.legend-count{background:#f1f5f9;border-radius:10px;color:#0f172a;font-size:10px;font-weight:600;padding:1px 5px}.filters-bar{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:16px}.search-box{flex:1 1;max-width:280px}.search-box input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;padding:8px 12px;transition:all .2s;width:100%}.search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#64748b;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.filter-group select{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:13px;min-width:160px;padding:7px 28px 7px 12px}.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.btn-secondary.btn-sm{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:7px 14px;transition:all .2s}.btn-secondary.btn-sm:hover{background:#e2e8f0;color:#1e293b}.filter-stats{align-items:center;background:#f9fafb;border:1px solid #f1f5f9;border-radius:8px;display:flex;font-size:12px;justify-content:space-between;margin-bottom:16px;padding:8px 12px}.filter-stats-text{color:#6b7280}.filter-badge{align-items:center;background:#e5e7eb;border-radius:16px;color:#374151;display:inline-flex;font-size:11px;padding:3px 10px}.reset-filters-btn{background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:11px;padding:4px 12px;transition:all .2s}.reset-filters-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.heatmap-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #00000008;max-height:calc(100vh - 320px);overflow-x:auto;overflow-y:auto;position:relative}.heatmap-table{border-collapse:collapse;font-size:11px;min-width:700px;width:100%}.heatmap-table thead tr th{background:#fafbfc;border-bottom:1px solid #f1f5f9;color:#475569;font-size:9px;font-weight:600;height:150px;letter-spacing:.3px;padding:6px;position:sticky;text-align:center;top:0;vertical-align:middle;z-index:10}.heatmap-table thead tr th:first-child{background:#fafbfc;left:0;position:sticky;top:0;z-index:20}.heatmap-table thead tr:last-child th{background:inherit;position:sticky;top:150px;z-index:15}.heatmap-table thead tr:last-child th:first-child{background:inherit;left:0;position:sticky;z-index:25}.heatmap-table tbody td{border-bottom:1px solid #f1f5f9;padding:6px;text-align:center}.heatmap-table .employee-col,.heatmap-table td.employee-col,.heatmap-table th.employee-col{max-width:220px;min-width:220px;width:220px}.heatmap-table .employee-col,.heatmap-table td.employee-info{text-align:left!important}.heatmap-table tbody td:first-child{background:#fff;left:0;position:sticky;z-index:5}.heatmap-table tbody tr:hover td:first-child{background:#f8fafc}.employee-col{min-width:220px;padding-left:12px!important;text-align:left;width:220px}.training-col-vertical{max-width:60px;min-width:40px;padding:8px 3px!important;vertical-align:middle;width:auto}.vertical-text{word-wrap:break-word;align-items:center;color:#475569;display:flex;font-size:9px;font-weight:600;justify-content:center;letter-spacing:.5px;line-height:1.3;max-height:180px;min-height:180px;padding:4px 15px;transform:rotate(180deg);white-space:normal;word-break:break-word;writing-mode:vertical-rl}.employee-row{transition:background .15s}.employee-row:hover{background:#f8fafc}.employee-info{padding:8px 8px 8px 12px;text-align:left}.employee-name{color:#0f172a;font-size:12px;font-weight:600;margin-bottom:2px}.employee-name,.employee-position{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-position{color:#94a3b8;font-size:10px;line-height:1.2}.employee-department{color:#cbd5e1;font-size:9px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-cell{cursor:pointer;padding:4px 3px!important;text-align:center}.color-square{border-radius:6px;height:24px;margin:0 auto;transition:transform .15s,box-shadow .15s;width:24px}.employee-row:hover .color-square{box-shadow:0 2px 6px #0000001f;transform:scale(1.05)}.color-active .color-square{background-color:#10b981}.color-expiring .color-square{background-color:#f59e0b}.color-expired .color-square{background-color:#ef4444}.color-required .color-square{background-color:#8b5cf6}.color-noData .color-square{background-color:initial}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a80}.modal-content{animation:slideUp .2s ease;box-shadow:0 20px 35px -10px #0003;max-height:75vh;max-width:680px}.modal-header{border-bottom:1px solid #f1f5f9;padding:14px 18px}.modal-header h2{color:#0f172a;font-size:16px;font-weight:600;margin:0}.close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:16px;height:26px;justify-content:center;transition:all .15s;width:26px}.close-btn:hover{background:#e2e8f0;color:#1e293b}.modal-body{padding:16px}.modal-position{color:#64748b;font-size:12px;margin-bottom:8px}.modal-department{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:11px;margin-bottom:12px;padding-bottom:12px}.modal-training-item{align-items:center;border-bottom:1px solid #f8fafc;display:flex;justify-content:space-between;padding:8px 0}.modal-training-item:last-child{border-bottom:none}.training-name-cell{color:#334155;flex:1 1;font-size:11px;font-weight:500}.training-status-cell{border-radius:14px;font-size:10px;font-weight:500;padding:3px 10px}.heatmap-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.heatmap-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.heatmap-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.heatmap-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-statistics{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:12px}.modal-statistics h3{color:#475569;font-size:12px;font-weight:600;margin:0 0 10px}.statistics-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.stat-item{align-items:center;display:flex;font-size:11px;justify-content:space-between;padding:4px 0}.stat-value{color:#1e293b;font-weight:600}.stat-value.text-green{color:#10b981}.stat-value.text-amber{color:#f59e0b}.stat-value.text-red{color:#ef4444}.stat-value.text-purple{color:#8b5cf6}.stat-value.text-gray{color:#94a3b8}.compliance-bar{background-color:#e2e8f0;border-radius:6px;height:6px;overflow:hidden;position:relative}.compliance-fill{background-color:#10b981;border-radius:6px;height:100%;transition:width .3s ease}.compliance-text{color:#64748b;display:block;font-size:10px;margin-top:5px;text-align:center}.training-info-cell{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.training-completed-date,.training-expiry-date{color:#94a3b8;font-size:10px}.training-completed-date{color:#10b981}.empty-trainings{color:#94a3b8;font-size:12px;padding:24px 16px;text-align:center}.empty-trainings p{margin:0}.modal-trainings{margin-top:8px}.modal-trainings h3{border-top:1px solid #f1f5f9;color:#475569;font-size:12px;font-weight:600;margin:0 0 10px;padding-top:8px}.category-row-compact th{max-height:40px!important;min-height:40px!important;vertical-align:middle}.category-header-compact,.category-row-compact th{height:40px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-header-compact{font-size:9px;letter-spacing:.2px;line-height:40px;padding:0 4px!important;top:120px}.color-cell[data-category-boundary=true],.training-col-vertical[data-category-boundary=true]{border-left:2px solid #cbd5e1!important}.color-cell[data-category-id="1"],.training-col-vertical[data-category-id="1"]{border-left-color:#3b82f6!important}.color-cell[data-category-id="2"],.training-col-vertical[data-category-id="2"]{border-left-color:#22c55e!important}.color-cell[data-category-id="3"],.training-col-vertical[data-category-id="3"]{border-left-color:#f59e0b!important}.color-cell[data-category-id="4"],.training-col-vertical[data-category-id="4"]{border-left-color:#ec4899!important}.color-cell[data-category-id="5"],.training-col-vertical[data-category-id="5"]{border-left-color:#8b5cf6!important}.heatmap-tooltip{animation:tooltipFadeIn .15s ease-out;pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.tooltip-content{background:#1f2937;border-radius:12px;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a;color:#f3f4f6;font-size:13px;line-height:1.5;max-width:320px;min-width:260px;padding:12px 16px}.tooltip-header{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.tooltip-divider{background:#374151;height:1px;margin:8px 0}.tooltip-training-name{word-wrap:break-word;color:#e5e7eb;font-size:13px;font-weight:500;margin-bottom:8px}.tooltip-status{background:#ffffff1a;border-radius:20px;display:inline-block;font-size:12px;font-weight:500;margin-bottom:8px;padding:2px 8px}.tooltip-date{color:#9ca3af;margin-top:4px}.tooltip-date,.tooltip-required{align-items:center;display:flex;font-size:12px;gap:6px}.tooltip-required{color:#fbbf24;margin-top:8px}.tooltip-no-data{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:6px;margin-top:8px}@media (max-width:768px){.heatmap-container{padding:12px}.heatmap-table-wrapper{max-height:calc(100vh - 240px)}.legend-items{gap:10px}.filters-bar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-group select{min-width:auto;width:100%}.filter-stats{align-items:flex-start;flex-direction:column;gap:8px}.color-square{height:20px;width:20px}.training-col-vertical{min-width:45px;width:45px}.heatmap-table .employee-col{max-width:180px;min-width:180px;width:180px}.employee-name{font-size:11px}.employee-position{font-size:9px}.modal-content{max-width:90%;width:95%}.tooltip-content{max-width:280px;padding:10px 14px}.tooltip-training-name{font-size:12px}}@media (max-width:480px){.color-square{height:18px;width:18px}.training-col-vertical{min-width:40px;width:40px}.heatmap-table td,.heatmap-table th{padding:4px 2px}.employee-info{padding:6px 6px 6px 8px}.employee-name{font-size:10px}.employee-position{font-size:8px}.heatmap-table .employee-col{max-width:160px;min-width:160px;width:160px}.modal-content{max-height:85vh;max-width:95%;width:95%}.training-info-cell{align-items:flex-end;flex-direction:column;gap:4px}.tooltip-content{max-width:240px;min-width:200px;padding:8px 12px}.tooltip-header{font-size:12px}.tooltip-training-name{font-size:11px}.tooltip-date,.tooltip-no-data,.tooltip-required{font-size:10px}}.settings-page{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;min-height:100vh;padding:24px}.settings-header{margin-bottom:24px}.settings-header h1{color:#1a1a2e;font-size:28px;font-weight:600;margin:0 0 8px}.settings-subtitle{color:#6b7280;font-size:14px;margin:0}.settings-tabs{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:8px}.settings-tabs button{background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.settings-tabs button:hover{background:#f3f4f6;color:#374151}.settings-tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.directory-container,.matrix-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:24px}.directory-header,.matrix-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.directory-container h2,.matrix-header h2{color:#1a1a2e;font-size:20px;font-weight:600;margin:0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-secondary:hover{background:#e5e7eb}.btn-add{background:#10b981;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-add:hover{background:#059669}.btn-outline{border:1px solid #667eea;border-radius:8px;color:#667eea;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-outline:hover{background:#667eea;color:#fff}.matrix-actions{gap:12px}.matrix-wrapper{margin-bottom:24px}.matrix-table{font-size:12px;min-width:1200px}.matrix-table td,.matrix-table th{border:1px solid #e5e7eb;padding:10px 8px}.matrix-table .corner-cell{background:#f9fafb;color:#374151;font-weight:600;left:0;min-width:150px;position:sticky}.matrix-table .category-header{background:#f3f4f6;color:#1f2937;font-weight:600;text-align:center}.matrix-table .course-header,.matrix-table .project-header{background:#f9fafb;color:#4b5563;font-size:11px;font-weight:500;min-width:100px}.matrix-table .position-cell{background:#f9fafb;color:#374151;font-weight:500;left:0;position:sticky;text-align:left}.matrix-table .section-header-row{background:#fef3c7}.matrix-table .section-header{background:#fef3c7;color:#92400e;font-weight:600;padding:8px 12px;text-align:left}.matrix-table .checkbox-cell input{cursor:pointer;height:18px;width:18px}.matrix-table .checkbox-cell input:hover{transform:scale(1.1)}.add-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px}.add-section h3{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:16px}.add-form{flex-wrap:wrap}.add-form input,.add-form select{border:1px solid #e5e7eb;border-radius:10px;flex:1 1;min-width:200px;padding:10px 14px}.add-form input:focus,.add-form select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-form.compact{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.search-input{border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}.search-input:focus{border-color:#667eea}.filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}.employees-table-wrapper,.trainings-table-wrapper{overflow-x:auto}.directory-table{border-collapse:collapse;width:100%}.directory-table td,.directory-table th{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.directory-table th{background:#f9fafb;color:#374151;font-size:13px;font-weight:600}.directory-table td{color:#4b5563;font-size:14px}.directory-table tr:hover{background:#f9fafb}.status-badge.inactive{background:#fee2e2;color:#991b1b}.icon-btn{background:none;transition:transform .2s}.icon-btn:hover{transform:scale(1.1)}.icon-btn.small{font-size:14px;padding:2px 6px}.positions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.category-group{background:#f9fafb;border-radius:12px;padding:16px}.category-group h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.positions-list{display:flex;flex-direction:column;gap:10px}.position-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.position-actions{display:flex;gap:4px}.brigades-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:24px}.brigade-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.brigade-card:hover{box-shadow:0 4px 12px #00000014}.brigade-card-header{border-bottom:1px solid #e5e7eb}.brigade-name{color:#1f2937}.brigade-info{font-size:13px;margin-bottom:8px}.brigade-info .label{color:#6b7280}.brigade-info span:last-child{color:#1f2937;font-weight:500}@media (max-width:1024px){.positions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.settings-page{padding:16px}.settings-header h1{font-size:24px}.settings-tabs{flex-wrap:nowrap;overflow-x:auto}.settings-tabs button{white-space:nowrap}.brigades-grid,.positions-grid{grid-template-columns:1fr}.add-form{flex-direction:column}.add-form input,.add-form select{width:100%}.filters-bar{flex-direction:column}.filter-select,.search-input{width:100%}.matrix-actions{flex-direction:column;width:100%}.matrix-actions button{width:100%}}@media (max-width:480px){.directory-header{align-items:flex-start;flex-direction:column}.directory-header button{width:100%}}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-state .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.error-state{align-items:center;background:#fef2f2;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin:20px 0;padding:60px 20px}.error-icon{font-size:48px;margin-bottom:16px}.error-state p{color:#991b1b;margin-bottom:20px}.empty-state{flex-direction:column;justify-content:center}.edit-mode,.empty-state{align-items:center;display:flex}.edit-mode{flex-wrap:wrap;gap:8px;width:100%}.edit-input{border:1px solid #667eea;border-radius:6px;flex:1 1;font-size:13px;outline:none;padding:6px 10px}.edit-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.edit-select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;padding:6px 10px}.edit-actions{display:flex;gap:4px}.icon-btn.success{color:#10b981}.icon-btn.cancel{color:#ef4444}.modal-content{animation:slideIn .3s ease;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header h3{color:#1a1a2e}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.modal-body .form-group input,.modal-body .form-group select{border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.modal-body .form-group input:focus,.modal-body .form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.toast-notification{animation:slideInRight .3s ease;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:16px 20px}.toast-icon{font-size:20px;height:24px;width:24px}.toast-message{color:#374151}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.loading-dot{animation:pulse 1.5s ease-in-out infinite;background-color:#3b82f6;border-radius:50%;display:inline-block;height:8px;margin-left:6px;width:8px}.btn-refresh-all:hover:not(:disabled){background-color:#e0e0e0}.cache-stats-panel{background:#000c;border-radius:4px;bottom:10px;color:#0f0;font-family:monospace;font-size:10px;padding:8px;pointer-events:none;position:fixed;right:10px;z-index:9999}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;margin:-24px;min-height:100vh;padding:24px}.loading-card{animation:fadeInUp .5s ease;background:#fff;border-radius:24px;box-shadow:0 20px 35px -10px #0003;max-width:500px;padding:40px;text-align:center;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-icon{align-items:center;animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.loading-icon svg{color:#fff}.loading-card h2{color:#1a1a2e;font-size:24px;font-weight:600;margin-bottom:8px}.loading-message{color:#6b7280;font-size:14px;margin-bottom:24px}.progress-bar-container{background:#e5e7eb;height:32px;margin-bottom:16px}.progress-bar-container,.progress-bar-fill{border-radius:100px;overflow:hidden;position:relative}.progress-bar-fill{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100%;justify-content:flex-end;transition:width .3s ease}.progress-bar-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-percent{color:#fff;font-size:12px;margin-right:12px;position:relative;z-index:1}.progress-stats{align-items:center;color:#6b7280;display:flex;font-size:13px;justify-content:space-between;margin-bottom:24px;padding:0 4px}.spinner-small{animation:spin .6s linear infinite;border:2px solid #e5e7eb;height:16px;width:16px}.loading-items{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:20px;text-align:left}.loading-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:10px 0}.loading-item:last-child{border-bottom:none}.loading-item-status{display:flex;justify-content:center;width:24px}.loading-item-name{color:#374151;flex:1 1;font-size:14px}.loading-item-status-text{color:#9ca3af;font-size:12px}.spinning{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.btn-refresh-all{align-items:center;background-color:#f0f0f0;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;margin-left:16px;padding:8px 16px;transition:all .2s}.btn-refresh-all:disabled{cursor:not-allowed;opacity:.6}.btn-refresh-all:not(:disabled):hover{background-color:#e0e0e0}.settings-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.data-status-bar{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding:12px 16px}.data-status-info{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:500;gap:8px;white-space:nowrap}.data-status-info svg{color:#667eea}.data-status-text{align-items:center;display:flex;gap:6px}.data-status-progress{background:#e5e7eb;border-radius:100px;flex:1 1;height:6px;min-width:100px;overflow:hidden}.data-status-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:100px;height:100%;overflow:hidden;position:relative;transition:width .3s ease}.data-status-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@media (max-width:768px){.data-status-bar,.settings-header-top{flex-direction:column}.data-status-bar{align-items:flex-start;gap:12px}.data-status-progress{width:100%}}@keyframes modalFadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay .modal-content.change-position-modal{animation:modalFadeInScale .2s ease!important;display:flex!important;flex-direction:column!important;max-height:85vh!important;max-width:1200px!important;width:90%!important}@media (min-width:1600px){.modal-overlay .modal-content.change-position-modal{max-width:1400px!important;width:85%!important}}@media (min-width:1024px) and (max-width:1599px){.modal-overlay .modal-content.change-position-modal{max-width:1100px!important}}@media (max-width:1023px) and (min-width:768px){.modal-overlay .modal-content.change-position-modal{max-height:90vh!important;max-width:95%!important;width:95%!important}}@media (max-width:767px){.modal-overlay .modal-content.change-position-modal{margin:10px!important;max-height:95vh!important;max-width:98%!important;width:98%!important}}.employee-info-block{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:16px 20px}.info-row{display:flex;font-size:14px;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-label{color:#64748b;font-weight:500;width:130px}.info-value{color:#1e293b;flex:1 1;font-weight:500}.current-position{color:#3b82f6}.new-position{color:#10b981}.position-change-divider{color:#94a3b8;margin:-12px 0 16px;text-align:center}.position-change-divider svg{background:#fff;padding:0 8px}.trainings-selection{display:flex;flex:1 1;flex-direction:column;min-height:0}.section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.section-header h4{color:#1e293b;font-size:16px;font-weight:600;margin:0}.select-all-btn{background:none;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.select-all-btn:hover{background:#eef2ff;color:#5b67e8}.trainings-list-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1 1;max-height:400px;overflow-x:auto;overflow-y:auto}.trainings-selection-table{font-size:13px;min-width:700px}.trainings-selection-table thead{z-index:10}.trainings-selection-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:12px 10px;text-align:left}.trainings-selection-table td{border-bottom:1px solid #e2e8f0;padding:12px 10px;vertical-align:middle}.trainings-selection-table tbody tr:hover{background:#f8fafc}.trainings-selection-table tbody tr.warning-row{background:#fef2f2}.trainings-selection-table tbody tr.warning-row:hover{background:#fee2e2}.checkbox-col{text-align:center;width:44px}.checkbox-label{align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.checkbox-label input{display:none}.checkbox-custom{background:#fff;border:2px solid #cbd5e1;border-radius:4px;display:inline-block;height:18px;position:relative;transition:all .2s;width:18px}.checkbox-label input:checked+.checkbox-custom{background:#667eea;border-color:#667eea}.checkbox-label input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;left:2px;position:absolute;top:-1px}.checkbox-label input:disabled+.checkbox-custom{background:#f1f5f9;border-color:#e2e8f0;cursor:not-allowed}.trainings-selection-table .course-name{color:#1e293b;font-size:13px;font-weight:500;max-width:280px;word-break:break-word}.status-badge-small{border-radius:20px;display:inline-block;font-size:11px;font-weight:500;padding:3px 10px;white-space:nowrap}.status-badge-small.completed{background:#d1fae5;color:#065f46}.status-badge-small.active{background:#dbeafe;color:#1e40af}.status-badge-small.expired{background:#fee2e2;color:#991b1b}.status-badge-small.warning{background:#fed7aa;color:#9a3412}.status-badge-small.perpetual{background:#e0e7ff;color:#3730a3}.status-badge-small.required{background:#fef3c7;color:#92400e}.expires-date{white-space:nowrap}.required-badge{align-items:center;background:#fef3c7;color:#92400e;display:inline-flex;font-weight:500;gap:5px}.optional-badge,.required-badge{border-radius:20px;font-size:11px;padding:3px 10px;white-space:nowrap}.optional-badge{background:#f1f5f9;color:#64748b;display:inline-block}.required-badge-inline{background:#fef3c7;border-radius:12px;color:#92400e;display:inline-block;font-size:11px;margin:0 2px;padding:1px 6px}.info-block{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:10px;display:flex;gap:14px;margin-top:20px;padding:14px 18px}.info-icon{color:#3b82f6;flex-shrink:0;margin-top:2px}.info-content{color:#1e293b;font-size:13px;line-height:1.5}.info-content strong{color:#1e40af;display:block;margin-bottom:6px}.info-content ul{margin:6px 0 0 18px;padding:0}.info-content li{margin-bottom:4px}.loading-courses{align-items:center;background:#f8fafc;border-radius:10px;color:#64748b;display:flex;gap:12px;justify-content:center;padding:40px}.spinner-small{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:24px;width:24px}.error-message-small{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;display:flex;font-size:13px;gap:10px;margin:10px 0;padding:12px 16px}.empty-trainings-message{align-items:center;background:#f8fafc;border-radius:10px;color:#94a3b8;display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.empty-trainings-message svg{opacity:.5}.empty-trainings-message span{font-size:14px}.modal-overlay .modal-content.change-position-modal .modal-footer{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.trainings-list-container::-webkit-scrollbar{height:8px;width:8px}.trainings-list-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.trainings-list-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.trainings-list-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.trainings-selection-table{font-size:11px;min-width:550px}.trainings-selection-table td,.trainings-selection-table th{padding:8px 6px}.trainings-selection-table .course-name{font-size:11px;max-width:180px}.optional-badge,.required-badge,.status-badge-small{font-size:9px;padding:2px 6px}.info-block{padding:10px 12px}.info-content{font-size:11px}.employee-info-block{padding:12px}.info-row{flex-direction:column;margin-bottom:8px}.info-label{font-size:12px;margin-bottom:4px;width:auto}.info-value{font-size:13px}}.warning-row .checkbox-custom{border-color:#fecaca}.warning-row .checkbox-label input:checked+.checkbox-custom{background:#ef4444;border-color:#ef4444}.tab-header h3{color:#333}.positions-table-wrapper{margin-top:20px;overflow-x:auto}.positions-table{border-collapse:collapse;width:100%}.positions-table th{background:#f2f2f2;border-bottom:2px solid #ddd;font-weight:600;padding:12px;text-align:left}.positions-table td{border-bottom:1px solid #eee;padding:10px 12px;vertical-align:middle}.category-row{background-color:#f8f9fa!important;cursor:pointer;font-weight:500;transition:background-color .2s}.category-row:hover{background-color:#e9ecef!important}.category-expand{text-align:center;width:40px}.expand-icon{color:#666;display:inline-block;font-size:12px}.category-count{color:#666;font-size:12px;font-weight:400;margin-left:12px}.position-row:hover{background-color:#f5f5f5}.position-name-text{font-weight:500}.employee-count-badge{background-color:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:12px;font-weight:500;min-width:30px;padding:2px 8px;text-align:center}.action-buttons{display:flex;gap:6px;justify-content:center}.edit-mode-inline{min-width:200px}.empty-category-message{color:#999;font-style:italic;padding:8px 16px}.filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:200px;padding:8px 12px}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.directory-container{padding:20px}.directory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.directory-header h2{color:#333;font-size:24px;margin:0}.btn-add,.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268;transform:translateY(-1px)}.btn-add{background-color:#28a745;color:#fff}.btn-add:hover:not(:disabled){background-color:#1e7e34;transform:translateY(-1px)}.btn-add:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.add-form{align-items:center;border-top:1px solid #eee;display:flex;gap:12px;margin-top:24px;padding-top:20px}.add-form input,.add-form select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s}.add-form input:focus,.add-form select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.add-form input{flex:2 1}.add-form select{flex:1 1}.icon-btn{background:#0000;border-radius:4px;font-size:16px;padding:4px 8px;transition:background-color .2s}.icon-btn:hover:not(:disabled){background-color:#f0f0f0}.icon-btn.delete:hover:not(:disabled){background-color:#fee}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.loading-state{padding:40px;text-align:center}.spinner{border:3px solid #f3f3f3;border-top-color:#007bff;margin:0 auto 16px}@media (max-width:768px){.directory-container{padding:12px}.directory-header{align-items:stretch;gap:12px}.directory-header,.filters-bar{flex-direction:column}.search-input{width:100%}.add-form{flex-direction:column}.add-form button,.add-form input,.add-form select{width:100%}.positions-table td,.positions-table th{font-size:13px;padding:8px}.action-buttons{flex-direction:column;gap:4px}}.toast-notification{min-width:300px;z-index:1000}.toast-notification.success{border-left:4px solid #28a745}.toast-notification.error{border-left:4px solid #dc3545}.toast-icon{font-size:18px;font-weight:700}.toast-notification.success .toast-icon{color:#28a745}.toast-notification.error .toast-icon{color:#dc3545}.toast-message{color:#333}.modal-overlay{animation:fadeIn .2s ease;background-color:#00000080}.modal-content{animation:slideUp .3s ease;border-radius:12px;box-shadow:0 10px 40px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #eee}.modal-header h3{color:#333}.modal-close{align-items:center;border-radius:50%;color:#999;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.modal-close:hover{background-color:#f5f5f5;color:#333}.form-group label{color:#333}.form-group label:after{color:#dc3545;content:attr(data-required);margin-left:4px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modal-footer{border-top:1px solid #eee}@media (max-width:768px){.modal-content{margin:20px;width:95%}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}.toast-notification{left:20px;min-width:auto;right:20px}}.delete-modal{max-width:450px}.delete-header{border-bottom-color:#fee}.delete-header h3{color:#dc3545}.delete-body{padding:32px 24px;text-align:center}.delete-icon{font-size:48px;margin-bottom:16px}.delete-body p{color:#333;font-size:16px;margin:8px 0}.delete-position-name{color:#dc3545;font-size:18px;font-weight:700;margin-top:12px}.delete-warning{background-color:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404;font-size:13px;margin-top:20px;padding:12px;text-align:left}.delete-footer{border-top-color:#fee}.btn-danger{background-color:#dc3545;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 20px;transition:all .2s}.btn-danger:hover:not(:disabled){background-color:#c82333;transform:translateY(-1px)}.btn-danger:disabled{transform:none}.brigades-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.brigade-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:16px;transition:all .2s}.brigade-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.brigade-card-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.brigade-name{color:#333;font-size:18px;font-weight:600}.brigade-actions{display:flex;gap:8px}.brigade-card-body{margin-bottom:16px}.brigade-info{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:8px 0}.brigade-info .label{color:#666;font-size:13px;font-weight:500}.brigade-info span:last-child{color:#333;font-size:14px}.btn-outline{background:#0000;border:1px solid #007bff;border-radius:6px;color:#007bff;cursor:pointer;font-size:14px;padding:8px;transition:all .2s;width:100%}.btn-outline:hover:not(:disabled){background-color:#007bff;color:#fff}.btn-outline:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.brigades-grid{grid-template-columns:1fr}.brigade-card-header{align-items:stretch;flex-direction:column;gap:12px}.brigade-actions{justify-content:flex-end}}.department-more{color:#007bff;cursor:help;font-size:11px;margin-left:4px}.trainings-table-wrapper{margin-top:20px}.trainings-table th{background:#f2f2f2;border-bottom:2px solid #ddd;color:#555;letter-spacing:.3px;padding:12px;text-align:left;text-transform:uppercase}.trainings-table td{border-bottom:1px solid #eee;color:#444;font-size:13px;padding:10px 12px;vertical-align:middle}.course-name{color:#333;font-size:12.5px;line-height:1.4}.type-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.type-badge.type-internal{background-color:#e3f2fd;color:#1565c0}.type-badge.type-external{background-color:#fff3e0;color:#e65100}.type-badge.type-both{background-color:#e8f5e9;color:#2e7d32}.type-badge.type-none{background-color:#f5f5f5;color:#757575}.empty-message{color:#999;font-style:italic;padding:40px;text-align:center}.filter-select{background-color:#fff;border:1px solid #ddd;border-radius:6px;color:#444;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.tab-header h3{color:#444;font-size:18px;margin:0}.category-name-text{color:#0056b3;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.direction-badge{background-color:#fff8e1;border-radius:20px;color:#e65100;display:inline-block;font-size:12px;font-weight:500;line-height:1.4;padding:4px 10px}.trainings-table td .direction-badge{vertical-align:middle}.form-group.half label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}@media (max-width:768px){.tab-header{align-items:stretch;flex-direction:column;gap:12px}.trainings-table td,.trainings-table th{font-size:12px;padding:8px}.form-row{flex-direction:column;gap:0}.filter-select{width:100%}}.employee-row{cursor:pointer;transition:background-color .2s ease}.employee-row:hover{background-color:#f3f4f6!important}.employee-row td:last-child{cursor:default}.employee-row td:last-child .edit-mode,.employee-row td:last-child .edit-mode input,.employee-row td:last-child .edit-mode select,.employee-row td:last-child button{cursor:pointer;position:relative;z-index:2}.edit-mode input,.edit-mode select{pointer-events:auto}.matrix-grid{overflow-x:auto}.matrix-table{border-collapse:collapse;width:100%}.matrix-table th{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:12px 16px;text-align:left}.matrix-position-row{transition:background-color .2s}.matrix-position-row:hover{background-color:#f1f5f9}.position-info{display:flex;flex-direction:column;gap:4px}.brigade-leader,.position-departments{color:#64748b;font-size:12px}.assigned-count{background-color:#e2e8f0;border-radius:12px;font-size:13px;font-weight:500;padding:2px 8px}.matrix-courses-list{background-color:#f8fafc;padding:16px 24px}.matrix-category-group{margin-bottom:20px}.matrix-category-title{border-bottom:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.matrix-courses{grid-gap:8px;display:grid;gap:8px}.matrix-course-item{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.matrix-course-item:hover{border-color:#cbd5e1;box-shadow:0 1px 3px #0000001a}.course-details{align-items:center;display:flex;flex:1 1;gap:12px}.course-meta{background-color:#f1f5f9;border-radius:4px;color:#64748b;font-size:12px;padding:2px 8px}.toggle-switch{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{align-items:center;background-color:#cbd5e1;border-radius:24px;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;transition:all .3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:all .3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-slider.updating{background-color:#93c5fd}.toggle-spinner{animation:spin 1s linear infinite;color:#fff;font-size:14px;position:absolute;right:6px}.tab-toggle{display:flex;gap:8px}.toggle-btn{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:14px;padding:8px 16px;transition:all .2s}.toggle-btn:hover{background-color:#f8fafc;border-color:#cbd5e1}.toggle-btn.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.matrix-container{padding:20px}.matrix-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.matrix-header h2{color:#333;font-size:24px;margin:0}.matrix-actions{align-items:center;display:flex;gap:10px}.matrix-wrapper{overflow-x:auto}.matrix-scroll-wrapper{max-height:70vh;overflow-x:auto;overflow-y:auto;position:relative}.matrix-table-compact{border-collapse:initial;border-spacing:0;table-layout:auto;width:100%}.matrix-table-compact thead{position:sticky;top:0;z-index:10}.matrix-table-compact thead tr:first-child th{background-color:#f8fafc;position:sticky;top:0;z-index:11}.matrix-table-compact thead tr:nth-child(2) th{background-color:#e2e8f0;position:sticky;top:140px;z-index:9}.matrix-table-compact thead .corner-cell{background-color:#f8fafc;left:0;position:sticky;top:0;z-index:12}.matrix-table-compact thead tr:nth-child(2) .corner-cell{top:140px;z-index:10}.matrix-table-compact thead:after{background:linear-gradient(180deg,#0000001a,#0000);bottom:0;content:"";height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:20}.matrix-table td,.matrix-table th{border:1px solid #e2e8f0;padding:8px 10px;text-align:center;vertical-align:middle}.corner-cell{font-weight:600;left:0;min-width:200px;position:sticky;text-align:left!important;z-index:3}.corner-cell,.course-header{background-color:#f8fafc;color:#475569}.course-header{font-size:12px;font-weight:500;height:200px;letter-spacing:.3px;line-height:1.3;max-height:200px;min-width:40px;padding:12px 8px!important;text-orientation:mixed;vertical-align:bottom!important;white-space:nowrap;writing-mode:vertical-rl}.category-header{background-color:#e2e8f0!important;color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 10px!important;text-transform:uppercase}.project-header{background-color:#fef3c7;color:#475569;font-size:12px;font-weight:500;height:200px;letter-spacing:.3px;line-height:1.3;max-height:200px;min-width:40px;padding:12px 8px!important;text-orientation:mixed;vertical-align:bottom!important;white-space:nowrap;writing-mode:vertical-rl}.checkbox-cell{min-width:40px;padding:4px!important}.matrix-checkbox-label{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;position:relative}.matrix-checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;margin:0;width:18px}.matrix-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.matrix-checkbox-label input[type=checkbox].updating{opacity:.5}.checkbox-spinner{align-items:center;animation:spin 1s linear infinite;color:#3b82f6;display:flex;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.position-cell{background-color:#f8fafc;color:#1e293b;font-weight:500;left:0;min-width:200px;padding:8px 12px!important;position:sticky;text-align:left!important;z-index:2}.separator-row td{background-color:#e2e8f0;border:none;height:8px}.section-header-row td{background-color:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-weight:600;padding:8px 12px!important;text-align:left!important}.matrix-header .filter-select{background-color:#fff;border:1px solid #ddd;border-radius:6px;color:#444;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px}.matrix-header .filter-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}@media (max-width:768px){.matrix-header{align-items:stretch;flex-direction:column;gap:12px}.matrix-actions{flex-direction:column;gap:8px}.matrix-actions .filter-select{width:100%}.course-header,.project-header{font-size:11px;height:150px;max-height:150px}.corner-cell,.position-cell{min-width:150px}}.matrix-table-compact td,.matrix-table-compact th{padding:4px 5px}.course-header-compact{background-color:#f8fafc;color:#475569;font-size:12px;font-weight:400;height:140px;line-height:1.2;max-height:140px;min-width:32px;padding:4px 5px!important;position:sticky;text-orientation:mixed;top:0;vertical-align:bottom!important;white-space:nowrap;writing-mode:vertical-rl;z-index:8}.course-name-compact{font-size:10px;line-height:1.2;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-header-compact{background-color:#e2e8f0!important;color:#64748b;font-size:10px;font-weight:500;letter-spacing:.3px;padding:3px 5px!important;position:sticky;text-transform:uppercase;top:140px;transition:all .2s ease;z-index:7}.category-header-compact[data-category="1"]{background-color:#dbeafe!important;color:#1e40af!important}.category-header-compact[data-category="2"]{background-color:#dcfce7!important;color:#166534!important}.category-header-compact[data-category="3"]{background-color:#fef3c7!important;color:#92400e!important}.category-header-compact[data-category="4"]{background-color:#fce7f3!important;color:#9d174d!important}.category-header-compact[data-category="5"]{background-color:#ede9fe!important;color:#5b21b6!important}.category-header-compact[data-category="6"]{background-color:#ffedd5!important;color:#9a3412!important}.category-header-compact[data-category="7"]{background-color:#ccfbf1!important;color:#115e59!important}.category-header-compact[data-category="8"]{background-color:#f1f5f9!important;color:#334155!important}.category-header-compact:not([data-category]){background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.category-header-compact[data-category="9"]{background-color:#fee2e2!important;color:#991b1b!important}.category-header-compact[data-category="10"]{background-color:#d1fae5!important;color:#065f46!important}.category-header-compact:hover{cursor:pointer;filter:brightness(.95)}.category-header-compact:not(:first-of-type){border-left-style:solid!important;border-left-width:1px!important}.category-header-compact[data-category="1"]:not(:first-of-type){border-left-color:#3b82f6!important}.category-header-compact[data-category="2"]:not(:first-of-type){border-left-color:#22c55e!important}.category-header-compact[data-category="3"]:not(:first-of-type){border-left-color:#f59e0b!important}.category-header-compact[data-category="4"]:not(:first-of-type){border-left-color:#ec4899!important}.category-header-compact[data-category="5"]:not(:first-of-type){border-left-color:#8b5cf6!important}.category-header-compact[data-category="6"]:not(:first-of-type){border-left-color:#f97316!important}.category-header-compact[data-category="7"]:not(:first-of-type){border-left-color:#14b8a6!important}.category-header-compact[data-category="8"]:not(:first-of-type){border-left-color:#64748b!important}.category-header-compact[data-category="9"]:not(:first-of-type){border-left-color:#ef4444!important}.category-header-compact[data-category="10"]:not(:first-of-type){border-left-color:#10b981!important}.course-header-compact[data-category-boundary=true]{border-left-style:solid!important;border-left-width:1px!important}.course-header-compact[data-category-boundary=true][data-category-id="1"]{border-left-color:#3b82f6!important}.course-header-compact[data-category-boundary=true][data-category-id="2"]{border-left-color:#22c55e!important}.course-header-compact[data-category-boundary=true][data-category-id="3"]{border-left-color:#f59e0b!important}.course-header-compact[data-category-boundary=true][data-category-id="4"]{border-left-color:#ec4899!important}.course-header-compact[data-category-boundary=true][data-category-id="5"]{border-left-color:#8b5cf6!important}.course-header-compact[data-category-boundary=true][data-category-id="6"]{border-left-color:#f97316!important}.course-header-compact[data-category-boundary=true][data-category-id="7"]{border-left-color:#14b8a6!important}.course-header-compact[data-category-boundary=true][data-category-id="8"]{border-left-color:#64748b!important}.course-header-compact[data-category-boundary=true][data-category-id="9"]{border-left-color:#ef4444!important}.course-header-compact[data-category-boundary=true][data-category-id="10"]{border-left-color:#10b981!important}.checkbox-cell[data-category-boundary=true]{border-left-style:solid!important;border-left-width:1px!important}.checkbox-cell[data-category-boundary=true][data-category-id="1"]{border-left-color:#3b82f6!important}.checkbox-cell[data-category-boundary=true][data-category-id="2"]{border-left-color:#22c55e!important}.checkbox-cell[data-category-boundary=true][data-category-id="3"]{border-left-color:#f59e0b!important}.checkbox-cell[data-category-boundary=true][data-category-id="4"]{border-left-color:#ec4899!important}.checkbox-cell[data-category-boundary=true][data-category-id="5"]{border-left-color:#8b5cf6!important}.checkbox-cell[data-category-boundary=true][data-category-id="6"]{border-left-color:#f97316!important}.checkbox-cell[data-category-boundary=true][data-category-id="7"]{border-left-color:#14b8a6!important}.checkbox-cell[data-category-boundary=true][data-category-id="8"]{border-left-color:#64748b!important}.checkbox-cell[data-category-boundary=true][data-category-id="9"]{border-left-color:#ef4444!important}.checkbox-cell[data-category-boundary=true][data-category-id="10"]{border-left-color:#10b981!important}.position-cell-compact{background-color:#f8fafc;color:#1e293b;font-size:11px;font-weight:500;left:0;min-width:160px;padding:4px 8px!important;position:sticky;text-align:left!important;z-index:2}.position-cell-compact:after{background:linear-gradient(90deg,#0000001a,#0000);bottom:0;content:"";pointer-events:none;position:absolute;right:-2px;top:0;width:2px}.corner-cell:after{display:none}.section-header-compact{background-color:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:600;padding:4px 8px!important;text-align:left!important}@media (max-width:768px){.course-header-compact{font-size:8px;height:80px;max-height:80px}.category-header-compact,.matrix-table-compact thead tr:nth-child(2) .corner-cell,.matrix-table-compact thead tr:nth-child(2) th{top:80px}.course-name-compact{font-size:8px;max-width:60px}.position-cell-compact{font-size:10px;min-width:120px}.category-header-compact{font-size:8px}}.btn-sm{font-size:13px!important;padding:6px 12px!important}.matrix-actions .search-input{border:1px solid #ddd;border-radius:6px;font-size:14px;max-width:250px;min-width:200px;padding:8px 12px;transition:all .2s}.matrix-actions .search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.filter-stats{color:#64748b;font-size:13px;margin-bottom:12px;padding:8px 0}.filter-stats-text{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.filter-badge{background-color:#e8f0fe;border-radius:12px;color:#1a73e8;display:inline-block;font-size:12px;font-weight:500;padding:2px 8px}@media (max-width:768px){.matrix-actions{flex-wrap:wrap}.matrix-actions .search-input{flex:1 1;max-width:none;min-width:150px}.matrix-actions .filter-select{flex:1 1}.filter-stats{font-size:12px}.filter-badge{font-size:11px}}.periodicity-cell{white-space:nowrap}.periodicity-badge.permanent{background-color:#e8f5e9;border-radius:12px;color:#2e7d32;display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;white-space:nowrap}.show-status-cell{text-align:center;vertical-align:middle}.show-status-checkbox{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;position:relative;-webkit-user-select:none;user-select:none}.show-status-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.show-status-checkbox .checkmark{background-color:#ccc;border-radius:20px;display:inline-block;height:20px;position:relative;transition:all .3s ease;width:36px}.show-status-checkbox .checkmark:before{background-color:#fff;border-radius:50%;bottom:2px;content:"";height:16px;left:2px;position:absolute;transition:transform .3s ease;width:16px}.show-status-checkbox input:checked+.checkmark{background-color:#2196f3}.show-status-checkbox input:checked+.checkmark:before{transform:translateX(16px)}.show-status-checkbox input:disabled+.checkmark{cursor:not-allowed;opacity:.6}.checkbox-spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;z-index:1}.position-change-row{align-items:center;display:flex;gap:10px}.position-change-row select{flex:1 1}.btn-change-position{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-change-position:hover:not(:disabled){background:#059669}.btn-change-position:disabled{background:#9ca3af;cursor:not-allowed}.change-position-modal{animation:fadeInScale .2s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.expires-date{color:#475569;font-size:12px}.trainings-list{border:1px solid #e2e8f0;border-radius:10px;max-height:400px;overflow-y:auto}.trainings-selection-table{border-collapse:collapse;width:100%}.trainings-selection-table thead{background:#f8fafc;position:sticky;top:0;z-index:1}.employee-trainings{background:#f5f7fa;min-height:100vh;padding:24px}.trainings-header{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;gap:20px;padding:20px 24px}.back-button{background:#f3f4f6;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.back-button:hover{background:#e5e7eb}.employee-info{flex:1 1}.employee-info h1{color:#1a1a2e;font-size:24px;font-weight:600;margin:0 0 8px}.employee-details{display:flex;gap:12px}.badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.badge.position{background:#e0e7ff;color:#3730a3}.badge.brigade{background:#fef3c7;color:#92400e}.btn-refresh{background:#f3f4f6;border-radius:10px;font-size:18px;height:40px;width:40px}.btn-refresh:hover{background:#e5e7eb;transform:rotate(180deg)}.btn-assign{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-assign:hover{background:#5a67d8;transform:translateY(-1px)}.stats-cards{grid-template-columns:repeat(5,1fr)}.stat-card{border:1px solid #d1d5db;border-radius:10px}.stat-card .stat-value{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:8px}.stat-card .stat-label{color:#6b7280;font-size:13px}.stat-card.perpetual-card{background:#e0e7ff;border-color:#c7d2fe}.stat-card.perpetual-card .stat-value{color:#3730a3}.stat-card.perpetual-card .stat-label{color:#5b4bc4}.stat-card.required{background:#fef3c7;border-color:#fde68a}.stat-card.required .stat-value{color:#92400e}.stat-card.required .stat-label{color:#b45309}.trainings-table-wrapper{border-radius:16px;box-shadow:0 2px 8px #0000000f}.trainings-table td,.trainings-table th{border-bottom:1px solid #e5e7eb}.trainings-table th{background:#f9fafb;color:#374151}.trainings-table tr:hover{background:#f9fafb}.course-name{color:#1f2937}.status-badge{padding:4px 10px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.completed{background:#e9d5ff;color:#6b21a5}.status-badge.perpetual{background:#e0e7ff;color:#3730a3}.status-badge.required{background:#fef3c7;color:#92400e}.no-certificate{color:#9ca3af}.actions-cell{display:flex;gap:8px;white-space:nowrap}.icon-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .2s;width:32px}.icon-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.icon-btn.complete{color:#10b981}.icon-btn.complete:hover{background:#d1fae5}.icon-btn.extend{color:#3b82f6}.icon-btn.extend:hover{background:#dbeafe}.icon-btn.reactivate{color:#f59e0b}.icon-btn.reactivate:hover{background:#fed7aa}.icon-btn.delete{color:#ef4444}.icon-btn.delete:hover{background:#fee2e2}.icon-btn.status{color:#667eea}.icon-btn.status:hover{background:#dbeafe}.icon-btn.edit{color:#8b5cf6}.icon-btn.edit:hover{background:#ede9fe}.employee-trainings.error,.employee-trainings.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;margin-bottom:16px}.empty-icon{font-size:64px;opacity:.5}.empty-text{color:#374151;font-weight:600}.empty-subtext{color:#9ca3af}.toast-notification{animation:slideIn .3s ease-out;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #00000005;max-width:400px;min-width:280px;padding:14px 20px;right:24px;top:24px}.toast-notification.success .toast-icon{color:#10b981}.toast-notification.error .toast-icon{color:#ef4444}.toast-notification.warning{border-left:4px solid #f59e0b}.toast-notification.warning .toast-icon{color:#f59e0b}.toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.toast-message{color:#1f2937;flex:1 1;font-size:14px;line-height:1.4}.header-compliance{align-items:center;border:1px solid #e5e7eb;border-radius:12px;color:#000;display:flex;gap:12px;margin-right:12px;padding:8px 16px}.header-compliance-chart{flex-shrink:0}.header-donut{height:100px;width:100px}.header-donut-progress{transition:stroke-dasharray .5s ease}.header-donut-percent{fill:#000;dominant-baseline:middle;font-size:10px;font-weight:700}.header-donut-label{fill:#000000b3;dominant-baseline:middle;font-size:6px}.header-compliance-stats{text-align:left}.header-compliance-value{font-size:22px;font-weight:700;line-height:1}.header-compliance-label{font-size:11px;opacity:.8;white-space:nowrap}.header-compliance-hint{margin-top:4px}.perpetual-hint{color:#6b7280;font-size:9px;white-space:nowrap}.modal-content{box-shadow:0 20px 25px -5px #0000001a}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h3{color:#1f2937;font-size:20px}.modal-close{color:#9ca3af;transition:color .2s}.modal-close:hover{color:#374151}.form-input,.form-select{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-hint{color:#6b7280}.modal-footer{border-top:1px solid #e5e7eb;padding:16px 24px}.btn-cancel{background:#f3f4f6;color:#374151;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background:#e5e7eb}.btn-submit{font-weight:500;padding:10px 20px;transition:all .2s}.btn-submit:hover:not(:disabled){background:#5a67d8}.btn-submit:disabled{opacity:.7}.btn-submit.danger{background:#ef4444}.btn-submit.danger:hover:not(:disabled){background:#dc2626}.months-selector{align-items:center;display:flex;gap:12px}.months-selector .form-input{text-align:center;width:120px}.months-hint{color:#6b7280;font-size:14px}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:8px}.radio-label input[type=radio]{accent-color:#667eea;cursor:pointer;height:16px;margin:0;width:16px}.regulatory-acts-cell{max-width:250px;min-width:150px}.regulatory-acts{color:#4b5563;font-size:12px;line-height:1.4;word-break:break-word}.certificate-number-cell{min-width:120px}.certificate-number{background:#f3f4f6;border-radius:6px;color:#4b5563;display:inline-block;font-family:Courier New,monospace;font-size:12px;font-weight:500;padding:4px 8px}.no-data{color:#9ca3af;font-size:12px}.perpetual-badge{background:#e0e7ff;color:#3730a3}.periodicity-badge,.perpetual-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.periodicity-badge{background:#f3f4f6;color:#4b5563}.expires-date-cell{min-width:120px;position:relative}.expires-date-wrapper{align-items:center;display:flex;gap:8px}.edit-expires-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:inline-flex;justify-content:center;opacity:.6;padding:4px;transition:all .2s}.edit-expires-btn:hover{background:#eff6ff;color:#3b82f6;opacity:1}.edit-expires-btn svg{height:12px;width:12px}.event-detail-content{margin:0;max-width:1600px}.event-detail-content-wide{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px}.detail-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;margin-bottom:24px;padding:24px;transition:box-shadow .2s;width:100%}.detail-section:hover{box-shadow:0 4px 6px #0000001a}.detail-section h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.detail-label{color:#6b7280;font-size:13px;font-weight:500;margin-bottom:6px}.detail-value{color:#1f2937;font-size:15px;font-weight:400}.detail-notes{color:#4b5563;font-size:14px;line-height:1.6;white-space:pre-wrap}.participants-grid{grid-gap:8px;display:grid;gap:8px}.participant-card{background-color:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;color:#374151;font-size:14px;padding:12px 16px;transition:background-color .2s}.participant-card:hover{background-color:#f3f4f6}.meta-info{grid-gap:10px;color:#6b7280;display:grid;font-size:13px;gap:10px}.meta-row{align-items:center;display:flex;gap:8px}.header-actions{display:flex;gap:12px}.header-navigation{align-items:center;display:flex;gap:16px}.btn-delete{border-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#fee2e2;border-color:#dc3545}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.confirm-modal{max-width:440px}.confirm-modal .modal-body{padding:24px}.confirm-message{color:#374151;font-size:15px;line-height:1.6;margin:0}.btn-danger{background-color:#a13737;border-color:#696969;color:#fff}.btn-danger:hover:not(:disabled){background-color:#bb2d3b}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.participants-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;margin:0 -24px;overflow-x:auto;padding:0 24px}.participants-table{border-collapse:collapse;font-size:14px;min-width:1000px;table-layout:auto;width:100%}.participants-table thead{position:sticky;top:0;z-index:10}.participants-table th{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.participants-table th:first-child{border-radius:8px 0 0 0}.participants-table th:last-child{border-radius:0 8px 0 0}.participants-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s ease}.participants-table tbody tr:hover{background-color:#f8fafc}.participants-table tbody tr:nth-child(2n){background-color:#fafbfc}.participants-table tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.participants-table tbody tr:last-child{border-bottom:none}.participants-table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.participants-table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.participants-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:12px 16px;vertical-align:middle}.cell-number{color:#94a3b8;font-size:13px;font-weight:500;text-align:center;width:50px}.cell-name{color:#1e293b;font-weight:500;min-width:200px}.cell-personnel{color:#64748b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px}.cell-position{color:#334155;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-date,.cell-department{color:#64748b;font-size:13px}.cell-date{white-space:nowrap}.cell-certificate{color:#6366f1;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;font-weight:500}.cell-notes{color:#94a3b8;font-size:13px;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.3px;line-height:1.4;padding:4px 10px;text-align:center;white-space:nowrap}.participant-status-registered{background-color:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.participant-status-confirmed{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.participant-status-attended{background-color:#e0e7ff;border:1px solid #c7d2fe;color:#3730a3}.participant-status-completed{background-color:#dcfce7;border:1px solid #bbf7d0;color:#166534}.participant-status-cancelled{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.participant-status-no-show{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.participant-status-default{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.cell-notes:hover,.cell-position:hover{background-color:#fff;border-radius:4px;box-shadow:0 4px 6px #0000001a;max-width:400px;overflow:visible;padding:8px 12px;position:relative;white-space:normal;z-index:100}.participants-empty{color:#94a3b8;padding:40px 16px;text-align:center}.participants-empty-icon{font-size:32px;margin-bottom:12px}.participants-empty-text{color:#64748b;font-size:15px}.format-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:500;padding:4px 12px}.format-online{background-color:#dbeafe;color:#1e40af}.format-onsite{background-color:#d1fae5;color:#065f46}.format-hybrid{background-color:#e0e7ff;color:#3730a3}.status-badge{border-radius:12px;font-size:13px}.status-draft{background-color:#f3f4f6;color:#4b5563}.status-planned{background-color:#dbeafe;color:#1e40af}.status-confirmed{background-color:#d1fae5;color:#065f46}.status-in-progress{background-color:#fef3c7;color:#92400e}.status-completed{background-color:#dcfce7;color:#166534}.status-cancelled{background-color:#fee2e2;color:#991b1b}.participants-count-indicator{align-items:center;display:inline-flex;gap:8px;margin-left:12px}.participants-count-bar{background-color:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:100px}.participants-count-fill{background-color:#3b82f6;border-radius:3px;height:100%;transition:width .3s ease}@media (max-width:1024px){.detail-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.detail-section{padding:20px}.participants-table{min-width:800px}.participants-table td,.participants-table th{font-size:13px;padding:10px 12px}.participants-table-wrapper{margin:0 -20px;padding:0 20px}}@media (max-width:768px){.event-detail-content{max-width:100%}.detail-section{margin-bottom:16px;padding:16px}.detail-section h3{font-size:16px;margin-bottom:16px}.detail-grid{gap:16px;grid-template-columns:1fr}.detail-label{font-size:12px;margin-bottom:4px}.detail-value{font-size:14px}.form-actions{flex-direction:column;gap:8px;margin-top:24px;padding-top:16px}.form-actions button{width:100%}.header-navigation{align-items:flex-start;gap:12px}.header-actions,.header-navigation{flex-direction:column;width:100%}.header-actions button{width:100%}.participant-card{font-size:13px;padding:10px 12px}.meta-info{font-size:12px;gap:8px}.confirm-modal{width:95%}.participants-table-wrapper{border-radius:6px;margin:0 -16px;padding:0 16px}.participants-table{font-size:12px;min-width:700px}.participants-table td,.participants-table th{font-size:12px;padding:8px 10px}.participant-status-badge{font-size:11px;padding:3px 8px}}@media (max-width:480px){.detail-section{border-radius:8px;padding:12px}.detail-section h3{font-size:15px;margin-bottom:12px}.detail-grid{gap:12px}.participants-table-wrapper{margin:0 -12px;padding:0 12px}.participants-table{font-size:11px;min-width:600px}.participants-table td,.participants-table th{font-size:11px;padding:6px 8px}.participant-status-badge{font-size:10px;padding:2px 6px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-section,.participants-table tbody tr{animation:fadeIn .3s ease}@keyframes rowHighlight{0%{background-color:#dbeafe}to{background-color:initial}}.participants-table tbody tr.new-row{animation:rowHighlight 2s ease-out}.form-group{margin-bottom:24px}.form-group label{color:#374151}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-row{display:flex;gap:16px}.form-group.half{flex:1 1}textarea{min-height:100px;resize:vertical}.format-switch{display:flex;gap:8px}.format-option{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.format-option:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.format-option.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.format-option:disabled{cursor:not-allowed;opacity:.5}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group label.required:after{color:#dc3545;content:" *"}.form-error{color:#dc3545;font-size:12px;margin-top:4px}.participants-table-wrapper::-webkit-scrollbar{height:6px}.participants-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.participants-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.participants-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.my-trainings{margin:0 auto;max-width:1400px;padding:24px}.my-trainings.error,.my-trainings.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.trainings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.trainings-header h1{color:#1a202c;font-size:24px;font-weight:600;margin:0}.btn-refresh{align-items:center;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s}.btn-refresh:hover{background:#e2e8f0}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;text-align:center}.stat-card.active .stat-value{color:#3b82f6}.stat-card.completed .stat-value{color:#10b981}.stat-card.expired .stat-value{color:#ef4444}.stat-card.expiring .stat-value{color:#f59e0b}.stat-value{font-size:32px;font-weight:700}.stat-label{color:#64748b;font-size:14px;margin-top:8px}.progress-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.progress-header{color:#475569;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.progress-percent{color:#667eea;font-weight:600}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.trainings-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.trainings-table{border-collapse:collapse;width:100%}.trainings-table td,.trainings-table th{border-bottom:1px solid #e2e8f0;padding:14px 16px;text-align:left}.trainings-table th{background:#f8fafc;color:#475569;font-size:13px;font-weight:600}.trainings-table tr:hover{background:#f8fafc}.course-name{color:#1e293b;font-weight:500}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#dbeafe;color:#1e40af}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.expired{background:#fee2e2;color:#991b1b}.status-badge.warning{background:#fed7aa;color:#9a3412}.certificate-link{color:#3b82f6;font-size:13px;text-decoration:none}.certificate-link:hover{text-decoration:underline}.btn-complete,.btn-edit-metadata{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.btn-complete:hover,.btn-edit-metadata:hover{background:#5a67d8}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-text{color:#475569;font-size:18px;font-weight:500;margin-bottom:8px}.empty-subtext{color:#94a3b8;font-size:14px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:24px}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#334155;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-input{border:1px solid #cbd5e1;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-hint{color:#64748b;display:block;font-size:12px;margin-top:4px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-cancel{background:#f1f5f9}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 20px}.btn-submit{background:#667eea;color:#fff}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.toast-notification{align-items:center;animation:slideIn .3s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:1100}.toast-notification.success{border-left:4px solid #10b981}.toast-notification.error{border-left:4px solid #ef4444}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.8b98cc83.css.map*/