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