@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.alert-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:none}.alert-container .alert{pointer-events:auto}.alert{position:relative;min-width:320px;max-width:500px;padding:0;border-radius:12px;box-shadow:0 8px 32px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.alert-show{transform:scale(1);opacity:1}.alert-hide{transform:scale(.8);opacity:0}.alert-content{display:flex;align-items:center;padding:1rem 1.25rem;gap:.75rem}.alert-icon{font-size:1.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.alert-icon-svg{width:1.25rem;height:1.25rem;flex-shrink:0}.alert-message{flex:1;font-weight:500;font-size:.95rem;line-height:1.4}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0;opacity:.7}.alert-close:hover{opacity:1;background-color:#0000001a}.alert-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.alert-success .alert-close:hover{background-color:#fff3}.alert-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.alert-error .alert-close:hover{background-color:#fff3}.alert-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.alert-warning .alert-close:hover{background-color:#fff3}.alert-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.alert-info .alert-close:hover{background-color:#fff3}@media (max-width: 768px){.alert{min-width:300px;max-width:90vw;margin:0 20px}.alert-content{padding:.875rem 1rem}.alert-message{font-size:.9rem}}@media (max-width: 480px){.alert{min-width:280px;max-width:95vw;margin:0 10px}.alert-content{padding:.75rem .875rem;gap:.5rem}.alert-icon{font-size:1.1rem}.alert-icon-svg{width:1.1rem;height:1.1rem}.alert-message{font-size:.85rem}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#fff,#fff);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:10px;margin:0}.login-page{width:100%;max-width:450px;position:relative;height:auto;display:flex;flex-direction:column}.login-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #fff3;overflow:hidden;position:relative;height:auto;max-height:400vh;display:flex;flex-direction:column}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#00695c,#ff6b35,#ffd23f)}.logo-section{padding:30px 30px 15px;text-align:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);flex-shrink:0}.logo{max-width:400px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.login-content{padding:20px 30px 30px;flex:1;display:flex;flex-direction:column;justify-content:center}.login-title{font-size:28px;font-weight:700;color:#1a1a1a;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,#00695c,#00695c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:16px;color:#6b7280;text-align:center;margin-bottom:24px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:18px;flex:1;justify-content:center}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:14px;font-weight:500;color:#374151;margin-left:4px}.login-input{padding:16px 20px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;font-weight:400;color:#1f2937;background:#fff;transition:all .3s ease;outline:none;width:100%}.login-input:focus{border-color:#00695c;box-shadow:0 0 0 3px #00695c1a;transform:translateY(-1px)}.login-input::placeholder{color:#9ca3af;font-weight:400}.password-input-wrapper{position:relative;width:100%;display:block}.password-input-wrapper .login-input{padding-right:84px}.toggle-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#00695c;font-size:14px;font-weight:600;cursor:pointer}.login-button{padding:16px 24px;background:linear-gradient(135deg,#00695c,#004d40);color:#fff;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;overflow:hidden;margin-top:8px}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button:hover:before{left:100%}.login-button:hover{background:linear-gradient(135deg,#004d40,#00251a);transform:translateY(-2px);box-shadow:0 8px 25px #00695c4d}.login-button:active{transform:translateY(0)}.button-icon{width:20px;height:20px;transition:transform .3s ease}.login-button:hover .button-icon{transform:translate(4px)}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.field-error{color:#ef4444;font-size:12px;font-weight:500;margin-top:4px;display:block;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.remember-me-group{display:flex;align-items:center;margin:8px 0 16px}.remember-me-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151;font-weight:500}.remember-me-checkbox{width:16px;height:16px;accent-color:#00695C;cursor:pointer}.remember-me-text{-webkit-user-select:none;user-select:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.login-page{padding:0 10px;max-height:100vh;overflow-y:auto}.login-container{border-radius:16px;max-height:400vh}.logo-section{padding:20px 15px 10px}.login-content{padding:15px 20px 20px}.logo{max-width:200px}.login-title{font-size:22px}.login-subtitle{font-size:14px;margin-bottom:20px}.login-form{gap:16px}}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button:disabled:hover{transform:none;box-shadow:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:flex-start;z-index:1001;padding:20px;overflow-y:auto}.modal-content{background:#fff;padding:2rem;border-radius:10px;width:100%;max-width:1000px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026;box-sizing:border-box;margin:20px}.modal-content.embedded-mode{max-width:none;width:100%;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;box-shadow:none;border-radius:0;margin:0;padding:2rem;box-sizing:border-box}.modal-overlay .modal-content h3{color:#00695c;text-align:center;margin-bottom:1.25rem;font-size:1.5rem;font-weight:700}.info-form{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;box-sizing:border-box}.info-form label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem;gap:.35rem}.info-form input,.info-form select{padding:.45rem .6rem;font-size:.9rem;border:1px solid #ccc;border-radius:6px;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.info-form input[type=file]{position:relative;padding:0;border:none;background:transparent;cursor:pointer;width:100%;height:auto;min-height:48px}.info-form input:focus,.info-form select:focus{border-color:#00695c;box-shadow:0 0 0 3px #477e7826}.form-buttons{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:.8rem;margin-top:1.25rem;flex-wrap:wrap}.guardar-btn,.cancelar-btn{padding:.6rem 1.2rem;font-size:.9rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;height:42px;min-width:180px;width:fit-content;display:flex;align-items:center;justify-content:center}.guardar-btn{background-color:#00695c;color:#fff}.guardar-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.guardar-btn:disabled{opacity:.7;cursor:not-allowed}.cancelar-btn{background-color:#00695c;color:#fff}.cancelar-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.cancelar-btn:disabled{opacity:.7;cursor:not-allowed}.pdf-section{margin-top:1rem;margin-bottom:1rem;padding-top:.75rem;padding-bottom:.75rem;border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.pdf-section label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem;gap:.35rem;width:100%}.pdf-info{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;gap:1rem;width:100%}.pdf-name{font-weight:500;color:#495057;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.pdf-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pdf-actions{display:flex;gap:.5rem;flex-shrink:0}.view-pdf-btn{padding:.4rem .8rem;background-color:#00695c;color:#fff;text-decoration:none;border-radius:6px;font-size:.8rem;font-weight:500;transition:all .3s ease;height:32px;min-width:70px;display:flex;align-items:center;justify-content:center}.view-pdf-btn:hover{background-color:#004d40;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00695c4d}.replace-pdf-btn{padding:.4rem .8rem;background-color:#ffc107;color:#212529;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;height:32px;min-width:70px;display:flex;align-items:center;justify-content:center}.replace-pdf-btn:hover{background-color:#e0a800;transform:translateY(-1px);box-shadow:0 2px 8px #ffc1074d}.pdf-upload-section,.existing-pdf-section{margin-top:.5rem;width:100%}.replace-actions{margin-top:.5rem;display:flex;justify-content:flex-end}.cancel-replace-btn{padding:.4rem .8rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;height:32px;min-width:70px;display:flex;align-items:center;justify-content:center}.cancel-replace-btn:hover{background-color:#545b62;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d4d}.image-section{margin-top:1rem;margin-bottom:1rem;padding-top:.75rem;padding-bottom:.75rem;border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef}.image-section label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem;gap:.35rem}.existing-image-section{margin-top:.5rem}.image-preview-container{width:400px;height:500px;border:2px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa;position:relative;overflow:hidden;margin:0 auto}.existing-image,.image-preview{width:100%;height:100%;object-fit:cover;border-radius:6px}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c757d;text-align:center;height:100%}.camera-icon{width:48px;height:48px;margin-bottom:1rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.image-placeholder p{font-size:1rem;margin:0}.image-actions{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.replace-image-btn{padding:.4rem .8rem;background-color:#ffc107;color:#212529;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;height:32px;min-width:120px;display:flex;align-items:center;justify-content:center}.replace-image-btn:hover{background-color:#e0a800;transform:translateY(-1px);box-shadow:0 2px 8px #ffc1074d}.image-upload-section{margin-top:.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.image-upload-section .file-input-wrapper{width:400px;max-width:100%}@media (max-width: 1024px){.modal-content{max-width:95vw}}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{margin:10px;padding:1rem;max-width:95vw;max-height:95vh}.info-form{grid-template-columns:1fr;gap:.5rem}.form-buttons{flex-direction:column;align-items:stretch}.pdf-info{flex-direction:column;align-items:stretch;gap:.5rem}.pdf-actions{justify-content:center}.image-preview-container{width:100%;max-width:400px;height:400px}.image-upload-section .file-input-wrapper{width:100%;max-width:400px}}@media (max-width: 640px){.modal-overlay{padding:5px}.modal-content{margin:5px;padding:.5rem;max-width:95vw}.image-preview-container{height:350px}.image-upload-section .file-input-wrapper{width:100%;max-width:350px}}.formacion-container{padding:2rem;max-width:1000px;margin:auto;background-color:#fff;border-radius:10px}.formacion-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.formacion-form input,.formacion-form select{padding:.6rem;border-radius:5px;border:1px solid #ccc}.formacion-form input,.formacion-form select{height:2.5rem;padding:.6rem;border-radius:5px;border:1px solid #ccc;box-sizing:border-box}.formacion-form select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.7}.formacion-form select option:disabled{color:#6c757d;font-style:italic}.formacion-form input[type=file]{position:relative;padding:0;border:none;background:transparent;cursor:pointer;width:100%;height:auto;min-height:48px}.file-input-wrapper{position:relative;display:block;width:100%;min-height:48px;border:2px dashed #00695C;border-radius:8px;background:linear-gradient(135deg,#f8fffe,#f0f9f8);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.submit-btn{padding:.6rem 1.2rem;background-color:#00695c;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;height:42px;width:fit-content;min-width:180px;font-size:.9rem;display:flex;align-items:center;justify-content:center}.cancel-btn{padding:.6rem 1.2rem;background-color:#6c757d;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;height:42px;min-width:100px;font-size:.9rem;display:flex;align-items:center;justify-content:center}.formacion-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.formacion-table th,.formacion-table td{padding:.7rem;border:1px solid #ddd;text-align:center;font-size:14px}.view-btn{background-color:#00695c;color:#fff;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;text-decoration:none;font-size:.8rem;font-weight:500;display:flex;align-items:center;justify-content:center;min-width:70px;height:32px}.cerrar-formacion-btn{display:block;margin:1.5rem auto 0;background-color:#00695c;color:#fff;font-weight:700;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.cerrar-formacion-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:1001;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:2rem}.formacion-modal{background:#fff;border-radius:10px;max-width:1000px;width:100%;padding:2rem;position:relative;box-shadow:0 4px 12px #00000026;max-height:90vh;overflow-y:auto}.formacion-modal.embedded-mode{max-width:none;width:100%;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;box-shadow:none;border-radius:0;margin:0;padding:2rem;box-sizing:border-box}.formacion-modal h3{color:#00695c;text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}@media (max-width: 1024px){.formacion-modal{max-width:95vw}}@media (max-width: 768px){.formacion-modal{max-width:95vw;padding:1rem}}@media (max-width: 640px){.formacion-modal{max-width:95vw;padding:.5rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1001}.experiencia-container{background:#fff;padding:2rem;border-radius:10px;width:100%;max-width:1000px;max-height:90vh;overflow:auto;box-shadow:0 4px 12px #00000026;position:relative;z-index:10000}.experiencia-container.embedded-mode{max-width:none;width:100%;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;box-shadow:none;border-radius:0;margin:0;padding:2rem;box-sizing:border-box;position:static;z-index:1}.experiencia-container h3{color:#00695c;text-align:center;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.experiencia-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;font-size:.95rem}.experiencia-form .full{grid-column:1 / -1}.experiencia-form input,.experiencia-form textarea,.experiencia-form select{padding:.55rem .7rem;font-size:.95rem;border:1px solid #d4d4d8;border-radius:8px;outline:none}.experiencia-form input[type=text],.experiencia-form input[type=date],.experiencia-form select{height:36px}.experiencia-form textarea{min-height:70px;resize:vertical}.form-buttons{grid-column:1 / -1;display:flex;gap:.8rem;justify-content:center;align-items:center;margin-top:.5rem;flex-wrap:wrap;width:100%}.experiencia-form .btn-primary{background:#00695c;color:#fff;border:none;height:42px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;width:fit-content;min-width:180px;font-size:.9rem;display:flex;align-items:center;justify-content:center}.experiencia-form .btn-primary:hover{background:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.cancel-btn{padding:.6rem 1.2rem;background-color:#6c757d;color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;height:42px;min-width:100px;font-size:.9rem;display:flex;align-items:center;justify-content:center}.experiencia-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.7rem}.experiencia-table th,.experiencia-table td{border-bottom:1px solid #eee;padding:.55rem .6rem;text-align:left;vertical-align:top;word-break:break-word}.experiencia-table th{background:#fafafa;font-weight:700}.action-buttons{display:flex;gap:.4rem;justify-content:center;align-items:center;flex-wrap:wrap}.ver-btn{background:#00695c;color:#fff;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .3s ease;min-width:70px;height:32px;display:flex;align-items:center;justify-content:center;text-decoration:none}.ver-btn:hover{background:#004d40;transform:translateY(-1px);box-shadow:0 2px 8px #00695c4d;color:#fff;text-decoration:none}.edit-btn{background-color:#ffc107;color:#212529;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.8rem;font-weight:500;min-width:70px;height:32px;display:flex;align-items:center;justify-content:center}.cerrar-formacion-btn{margin-top:1rem;background:#00695c;color:#fff;padding:.55rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.cerrar-formacion-btn:hover{background:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}@media (max-width: 768px){.experiencia-container{max-width:95vw;padding:1rem}}@media (max-width: 640px){.experiencia-form{grid-template-columns:1fr}.experiencia-container{max-width:95vw;padding:.5rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-group{margin-bottom:1rem;display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input[type=file]{position:relative;padding:0;border:none;background:transparent;cursor:pointer;width:100%;height:auto;min-height:48px}.form-group input:focus,.form-group textarea:focus{outline:2px solid #00695C;outline-offset:2px;border-color:#00695c}.error-message{color:#d32f2f;font-size:.875rem;margin-top:.25rem;display:none}.help-text{color:#666;font-size:.875rem;margin-top:.25rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#d32f2f}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{outline-color:#d32f2f}.table-container{overflow-x:auto;margin:1rem 0}button:focus{outline:2px solid #00695C;outline-offset:2px}@media (max-width: 767px){.form-group{margin-bottom:.75rem}.pdf-modal-content{width:95%;height:90vh}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10001;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.confirm-dialog{background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:16px;box-shadow:0 25px 50px #0003,0 10px 20px #0000001a;border:1px solid rgba(0,105,92,.1);max-width:400px;width:90%;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.confirm-header{padding:1.5rem 1.5rem 0}.confirm-header h3{margin:0;color:#333;font-size:1.25rem;font-weight:600;text-align:center}.confirm-body{padding:1rem 1.5rem}.confirm-body p{margin:0;color:#666;font-size:1rem;line-height:1.5;text-align:center}.confirm-footer{padding:0 1.5rem 1.5rem;display:flex;gap:1rem;justify-content:center}.confirm-btn{padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:100px;position:relative;overflow:hidden}.confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.confirm-btn:hover:before{left:100%}.confirm-btn.cancel{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#666;border:1px solid #ddd}.confirm-btn.cancel:hover{background:linear-gradient(135deg,#e0e0e0,#d0d0d0);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #0000001a}.confirm-btn.confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 6px 20px #ef44444d}.confirm-btn.confirm:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #ef444466}@media (max-width: 480px){.confirm-dialog{width:95%;margin:1rem}.confirm-header{padding:1rem 1rem 0}.confirm-header h3{font-size:1.1rem}.confirm-body{padding:.75rem 1rem}.confirm-body p{font-size:.9rem}.confirm-footer{padding:0 1rem 1rem;flex-direction:column}.confirm-btn{width:100%}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1001}.otros-docs-modal{background-color:#fff;padding:2rem;border-radius:10px;width:100%;max-width:1000px;box-shadow:0 4px 12px #00000026;overflow-y:auto;max-height:90vh;margin:0 auto}.otros-docs-modal.embedded-mode{max-width:none;width:100%;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;box-shadow:none;border-radius:0;margin:0;padding:2rem;box-sizing:border-box}.otros-docs-modal h3{color:#00695c;text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.otros-docs-form{display:grid;gap:1.2rem}.limites-info{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.limite-total{color:#475569;font-weight:500}.limite-contratos{color:#00695c;font-weight:600}.limites-info .limite-total:has-text("30"){color:#dc2626}.limites-info .limite-contratos:has-text("10"){color:#dc2626}.otros-docs-form label{font-weight:500;margin-bottom:.3rem;display:block;color:#333}.otros-docs-form input[type=file]{position:relative;padding:0;border:none;background:transparent;cursor:pointer;width:100%;height:auto;min-height:48px}.file-input-wrapper{position:relative;display:inline-block;width:100%;min-height:48px;border:2px dashed #00695C;border-radius:8px;background:linear-gradient(135deg,#f8fffe,#f0f9f8);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.file-input-wrapper:hover{border-color:#004d40;background:linear-gradient(135deg,#f0f9f8,#e8f5f3);transform:translateY(-1px);box-shadow:0 4px 12px #00695c26}.file-input-wrapper:focus-within{border-color:#004d40;box-shadow:0 0 0 3px #00695c1a;outline:none}.file-input-wrapper input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.file-input-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;text-align:center;min-height:48px;position:relative;z-index:1}.file-input-icon{width:24px;height:24px;margin-bottom:8px;stroke:#00695c;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.file-input-text{font-size:14px;font-weight:500;color:#00695c;margin:0;line-height:1.4}.file-input-hint{font-size:12px;color:#6b7280;margin-top:4px;line-height:1.3}.file-input-wrapper.has-file{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.file-input-wrapper.has-file .file-input-icon{stroke:#10b981}.file-input-wrapper.has-file .file-input-text{color:#10b981}.file-selected{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f0fdf4;border:1px solid #10b981;border-radius:6px;margin-top:8px;font-size:13px;color:#065f46}.file-selected-icon{width:16px;height:16px;stroke:#10b981;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.file-selected-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.otros-docs-buttons{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;width:100%}.otros-docs-buttons button{padding:.7rem 1.2rem!important;border:none!important;border-radius:6px!important;font-size:1rem!important;cursor:pointer!important;font-weight:700!important;transition:all .3s ease!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:120px!important;width:auto!important}.otros-docs-modal .guardar-btn,.otros-docs-modal .cerrar-btn{background-color:#00695c!important;color:#fff!important}.otros-docs-modal .guardar-btn:hover,.otros-docs-modal .cerrar-btn:hover{background-color:#004d40!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #00695c4d!important}.archivo-actual{display:flex;align-items:center;gap:.5rem;margin:.25rem 0 .5rem}.archivo-actual a,.archivo-actual button{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .75rem;border-radius:999px;font-size:.9rem;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease,box-shadow .2s ease,transform .02s ease}.archivo-actual a{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:1px solid #00695C;box-shadow:0 2px 4px #00695c33;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.archivo-actual a:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.archivo-actual a:hover:after{left:100%}.archivo-actual a:before{content:"";display:inline-block;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14,2 14,8 20,8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10,9 9,9 8,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;margin-right:6px;vertical-align:middle;transition:transform .2s ease}.archivo-actual a:hover{background:linear-gradient(135deg,#004d40,#00251a);border-color:#004d40;transform:translateY(-2px);box-shadow:0 4px 12px #00695c4d;text-decoration:none}.archivo-actual a:hover:before{transform:scale(1.1)}.archivo-actual a:active{background:linear-gradient(135deg,#00251a,#001a13);transform:translateY(0);box-shadow:0 2px 4px #00695c66}.archivo-actual a:focus-visible{outline:2px solid #00695C;outline-offset:2px;box-shadow:0 0 0 4px #00695c1a}.archivo-actual .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:1px solid #dc2626;box-shadow:0 2px 4px #dc262633;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.archivo-actual .btn-danger:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.archivo-actual .btn-danger:hover:after{left:100%}.archivo-actual .btn-danger:before{content:"";display:inline-block;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='3,6 5,6 21,6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;margin-right:6px;vertical-align:middle;transition:transform .2s ease}.archivo-actual .btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.archivo-actual .btn-danger:hover:before{transform:scale(1.1)}.archivo-actual .btn-danger:active{background:linear-gradient(135deg,#991b1b,#7f1d1d);transform:translateY(0);box-shadow:0 2px 4px #dc262666}.archivo-actual .btn-danger:focus-visible{outline:2px solid #dc2626;outline-offset:2px;box-shadow:0 0 0 4px #dc26261a}.archivo-actual a:active,.archivo-actual .btn-danger:active{transform:translateY(1px)}.sin-archivo{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:#f4f4f5;color:var(--ink-600);font-size:.8rem}.contratos-otrosis-section{border:2px solid #e5e7eb;border-radius:8px;padding:1rem;background:#f9fafb}.contratos-otrosis-section>label{font-weight:600;color:#374151;margin-bottom:1rem;display:block}.contratos-existentes{margin-bottom:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.5rem}.contrato-existente{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:0}.contrato-existente a{flex:1;color:#00695c;text-decoration:none;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.contrato-existente .btn-view{background:linear-gradient(135deg,#00695c,#004d40);color:#fff!important;border:1px solid #00695C;box-shadow:0 2px 4px #00695c33;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;padding:.38rem .75rem;border-radius:999px;font-size:.9rem;font-weight:600;text-decoration:none!important;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;min-width:0}.contrato-existente .btn-view:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.contrato-existente .btn-view:hover:after{left:100%}.contrato-existente .btn-view:hover{background:linear-gradient(135deg,#004d40,#00251a);border-color:#004d40;transform:translateY(-2px);box-shadow:0 4px 12px #00695c4d;text-decoration:none!important;color:#fff!important}.contrato-existente .btn-view:active{background:linear-gradient(135deg,#00251a,#001a13);transform:translateY(0);box-shadow:0 2px 4px #00695c66}.contrato-existente .btn-view:focus-visible{outline:2px solid #00695C;outline-offset:2px;box-shadow:0 0 0 4px #00695c1a}.contrato-existente .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important;border:1px solid #dc2626!important;box-shadow:0 2px 4px #dc262633!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden;padding:.38rem .75rem!important;border-radius:999px!important;font-size:.9rem!important;font-weight:600!important;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:.4rem}.contrato-existente .btn-danger:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.contrato-existente .btn-danger:hover:after{left:100%}.contrato-existente .btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b)!important;border-color:#b91c1c!important;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d!important}.contrato-existente .btn-danger:active{background:linear-gradient(135deg,#991b1b,#7f1d1d)!important;transform:translateY(0);box-shadow:0 2px 4px #dc262666!important}.contrato-existente .btn-danger:focus-visible{outline:2px solid #dc2626;outline-offset:2px;box-shadow:0 0 0 4px #dc26261a}.contrato-existente a:hover{color:#004d40;text-decoration:underline}.contratos-seleccionados{margin-bottom:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.5rem}.contrato-seleccionado{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f0fdf4;border:1px solid #10b981;border-radius:6px;min-width:0}.contrato-seleccionado .file-selected-name{flex:1;color:#065f46;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.contratos-otrosis-input{border-color:#6b7280;background:linear-gradient(135deg,#fff,#f9fafb)}.contratos-otrosis-input:hover{border-color:#00695c;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.contratos-otrosis-input .file-input-text{color:#6b7280}.contratos-otrosis-input:hover .file-input-text{color:#00695c}.btn-sm{padding:.25rem .5rem!important;font-size:.75rem!important;border-radius:6px!important;background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border:1px solid #ef4444!important;box-shadow:0 1px 3px #ef444433!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;font-weight:500!important;min-width:60px!important}.btn-sm:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;border-color:#dc2626!important;transform:translateY(-1px)!important;box-shadow:0 2px 6px #ef44444d!important}.btn-sm:active{background:linear-gradient(135deg,#b91c1c,#991b1b)!important;transform:translateY(0)!important;box-shadow:0 1px 3px #ef444466!important}@media (max-width: 1024px){.otros-docs-modal{max-width:95vw}.contratos-existentes,.contratos-seleccionados{grid-template-columns:1fr}}@media (max-width: 768px){.otros-docs-modal{max-width:95vw;padding:1rem}.otros-docs-buttons{flex-direction:column;align-items:center}.otros-docs-buttons button{width:200px}}@media (max-width: 640px){.otros-docs-modal{max-width:95vw;padding:.5rem}.contrato-existente,.contrato-seleccionado{flex-direction:column;align-items:flex-start;gap:.25rem}.contrato-existente a,.contrato-seleccionado .file-selected-name{width:100%;white-space:normal;text-overflow:initial;overflow:visible}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.gestion-funciones-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{background:#fff;color:#00695c;padding:20px 50px 20px 20px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #e5e7eb;position:relative}.modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#00695c}.cargo-title{margin:0;font-size:1.1rem;font-weight:500;color:#00695c}.close-btn{position:absolute;top:15px;right:15px;background:none;border:none;color:#6b7280;font-size:1.5rem;cursor:pointer;padding:5px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.funcion-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.funcion-form h4{margin:0 0 15px;color:#00695c;font-size:1.1rem}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 2px #00695c1a}.form-group textarea{resize:vertical;min-height:80px}.btn-add{background:#00695c;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;display:flex;align-items:center;gap:8px}.btn-add:hover:not(:disabled){background:#004d40}.btn-add:disabled{background:#ccc;cursor:not-allowed}.btn-add svg{width:16px;height:16px}.editing-indicator{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:8px 12px;margin-bottom:15px;color:#856404;font-size:13px;font-weight:500}.form-actions{display:flex;gap:10px;align-items:center}.btn-update{background:#00695c;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;display:flex;align-items:center;gap:8px}.btn-update:hover:not(:disabled){background:#004d40}.btn-update:disabled{background:#ccc;cursor:not-allowed}.btn-update svg{width:16px;height:16px}.btn-cancel-edit{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-cancel-edit:hover{background:#5a6268}.funciones-list{flex:1;display:flex;flex-direction:column}.funciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.funciones-header h4{margin:0;color:#00695c;font-size:1.1rem}.funciones-actions{display:flex;gap:10px}.btn-clear{background:#dc3545;color:#fff;border:none;padding:8px 15px;border-radius:6px;cursor:pointer;font-size:12px;transition:background-color .2s;display:flex;align-items:center;gap:6px}.btn-clear:hover{background:#c82333}.btn-clear svg{width:14px;height:14px}.empty-state{text-align:center;padding:40px 20px;color:#666;background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.empty-state p{margin:5px 0}.funciones-container{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.funcion-item{display:flex;justify-content:space-between;align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;transition:box-shadow .2s}.funcion-item:hover{box-shadow:0 2px 8px #0000001a}.funcion-content{flex:1;margin-right:15px}.funcion-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.funcion-orden{background:#00695c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;min-width:30px;text-align:center}.funcion-nombre{color:#333;font-size:1rem;margin:0}.funcion-descripcion{color:#666;font-size:14px;margin:0;line-height:1.4}.funcion-actions{display:flex;gap:5px;align-items:center}.btn-move,.btn-edit,.btn-delete{background:none;border:1px solid #ddd;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-move:hover:not(:disabled){background:#f8f9fa;border-color:#00695c}.btn-move:disabled{opacity:.5;cursor:not-allowed}.btn-edit{border-color:#00695c;color:#00695c}.btn-edit:hover:not(:disabled){background:#00695c;color:#fff}.btn-edit:disabled{opacity:.5;cursor:not-allowed}.btn-delete{border-color:#dc3545;color:#dc3545}.btn-delete:hover:not(:disabled){background:#dc3545;color:#fff}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.btn-move svg,.btn-edit svg,.btn-delete svg{width:14px;height:14px}.modal-footer{background:#f8f9fa;padding:20px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e9ecef}.btn-cancel,.btn-save{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-save{background:#00695c;color:#fff}.btn-save:hover:not(:disabled){background:#004d40}.btn-save:disabled{background:#ccc;cursor:not-allowed}.btn-cancel svg,.btn-save svg{width:16px;height:16px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #00695C;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}@media (max-width: 768px){.modal-overlay{padding:10px}.gestion-funciones-modal{max-height:95vh}.modal-header,.modal-body{padding:15px}.funcion-item{flex-direction:column;gap:10px}.funcion-content{margin-right:0}.funcion-actions{align-self:flex-end}.modal-footer{flex-direction:column}.btn-cancel,.btn-save{width:100%}}@media (max-width: 480px){.modal-header h3{font-size:1.2rem}.cargo-title{font-size:1rem}.funcion-form{padding:15px}.funciones-header{flex-direction:column;align-items:flex-start;gap:10px}}.notification-badge-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s;position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.notification-badge-btn svg{width:24px;height:24px}.notification-badge-btn:hover{background-color:#0000000d;color:var(--primary-color)}.icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.badge-counter{position:absolute;top:-2px;right:-2px;background-color:#dc3545;color:#fff;font-size:.6rem;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:1.5px solid white;box-shadow:0 1px 2px #0000001a;line-height:1}@keyframes popIn{0%{transform:scale(0)}80%{transform:scale(1.2)}to{transform:scale(1)}}.badge-counter{animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);overflow-x:hidden;margin:0;padding:0;position:relative}.dashboard-container{width:100vw;min-height:100vh;display:flex;flex-direction:column;background:transparent;overflow-x:hidden;position:relative;box-sizing:border-box}.dashboard-header{width:100vw;background:linear-gradient(135deg,#00695c,#004d40);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;box-sizing:border-box;height:80px;min-height:80px;max-height:80px;z-index:1000;flex-shrink:0;box-shadow:0 8px 32px #00695c4d,0 2px 16px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0;justify-content:center}.header-logo{height:65px;width:auto;flex-shrink:0;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.dashboard-title{font-size:1.5rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex:1;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.user-area-chip{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:500;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.user-button{background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a;position:relative;overflow:hidden}.user-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.user-button:hover:before{left:100%}.user-button:hover{background:linear-gradient(135deg,#ffffff40,#ffffff1a);border-color:#fff6;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #00000026}.user-icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.arrow-icon{margin-left:.3rem;transition:transform .3s ease}.user-button:hover .arrow-icon{transform:rotate(180deg)}.menu-dropdown{position:absolute;right:0;top:100%;margin-top:.5rem;background:#fff;color:#000;border:1px solid #ccc;border-radius:4px;z-index:1000;min-width:150px}.menu-dropdown button{background:none;border:none;padding:.5rem 1rem;width:100%;text-align:left;cursor:pointer;font-size:.95rem}.menu-dropdown button:hover{background-color:#f0f0f0}.dashboard-main{flex:1;padding:1.5rem;margin-top:0;min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;position:relative;z-index:1;box-sizing:border-box}.table-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:1rem 1.5rem;flex-wrap:wrap;gap:1rem;width:100%;position:fixed;top:80px;left:0;right:0;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);z-index:100;box-sizing:border-box;box-shadow:0 2px 8px #0000001a;min-height:80px;max-height:none}.crear-btn{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:auto;font-weight:600;position:relative;overflow:hidden;box-shadow:0 6px 20px #00695c4d;display:flex;align-items:center;gap:8px}.crear-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.crear-btn:hover:before{left:100%}.crear-btn:hover{background:linear-gradient(135deg,#004d40,#00251a);transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px #00695c66}.action-buttons-group{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.notificaciones-btn{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .15s ease;font-weight:600;position:relative;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #00695c4d;overflow:hidden}.notificaciones-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .4s ease;pointer-events:none}.notificaciones-btn:hover:before{left:100%}.notificaciones-btn:hover{background:linear-gradient(135deg,#004d40,#003d32);transform:scale(1.02);box-shadow:0 6px 20px #00695c66}.notificaciones-btn:active{transform:scale(.98)}.reportes-btn{background:linear-gradient(135deg,#ec9814,#d68910);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .15s ease;font-weight:600;position:relative;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #ec98144d;overflow:hidden}.reportes-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .4s ease;pointer-events:none}.reportes-btn:hover:before{left:100%}.reportes-btn:hover{background:linear-gradient(135deg,#d68910,#c77a0e);transform:scale(1.02);box-shadow:0 6px 20px #ec981466}.reportes-btn:active{transform:scale(.98)}.cargo-btn{background:linear-gradient(135deg,#4a5568,#2d3748);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;position:relative;overflow:hidden;box-shadow:0 6px 20px #4a55684d;display:flex;align-items:center;gap:8px}.cargo-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.cargo-btn:hover:before{left:100%}.cargo-btn:hover{background:linear-gradient(135deg,#2d3748,#1a202c);transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px #4a556866}.search-container{max-width:300px;flex-grow:1;margin-right:auto;position:relative}.search-input-wrapper{position:relative;width:100%}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#00695c99;z-index:1;pointer-events:none;transition:color .3s cubic-bezier(.4,0,.2,1)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem;border:2px solid rgba(0,105,92,.2);border-radius:12px;background:linear-gradient(145deg,#fff,#f8f9fa);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00695c1a}.search-input:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a,0 6px 20px #00695c26;transform:translateY(-1px)}.search-input-wrapper:focus-within .search-icon{color:#00695c}.employee-table-container{width:100%;max-width:100%;margin:0 auto 2rem;background:linear-gradient(145deg,#fff,#f8f9fa);padding:0;border-radius:16px;box-shadow:0 20px 40px #00695c1a,0 8px 16px #0000000d;overflow:hidden;position:fixed;top:160px;left:1.5rem;right:1.5rem;bottom:1rem;border:1px solid rgba(0,105,92,.1);transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;z-index:50;max-height:calc(100vh - 180px);display:flex;flex-direction:column}.employee-table-wrapper{flex:1;overflow-y:auto;overflow-x:auto;border-radius:16px}.employee-table{width:100%;border-collapse:collapse;text-align:left;margin:0}.employee-table.tabla-empleados{table-layout:fixed}.employee-table th,.employee-table td{padding:.5rem .7rem;border-bottom:1px solid #ddd;vertical-align:middle;font-size:.85rem;line-height:1.3}.employee-table thead th{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;font-weight:700;white-space:normal;overflow:visible;position:sticky;top:0;z-index:10;text-shadow:0 1px 2px rgba(0,0,0,.2);border:none}.employee-table thead th:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.employee-table tbody td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){width:auto;min-width:120px}.tabla-empleados thead th:nth-child(2),.tabla-empleados tbody td:nth-child(2){width:auto;min-width:60px}.tabla-empleados thead th:nth-child(3),.tabla-empleados tbody td:nth-child(3){width:auto;min-width:80px}.tabla-empleados thead th:nth-child(4),.tabla-empleados tbody td:nth-child(4){width:auto;min-width:120px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:15px}.tabla-empleados thead th:nth-child(5),.tabla-empleados tbody td:nth-child(5){width:auto;min-width:90px;padding-left:10px}.tabla-empleados thead th:nth-child(6),.tabla-empleados tbody td:nth-child(6){width:auto;min-width:80px}.tabla-empleados thead th:nth-child(7),.tabla-empleados tbody td:nth-child(7){width:auto;min-width:60px}.tabla-empleados thead th:nth-child(8),.tabla-empleados tbody td:nth-child(8){width:auto;min-width:80px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){width:auto;min-width:200px}.col-nombre{overflow:hidden}.col-nombre .truncate{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabla-empleados tbody td:nth-child(8){white-space:normal;overflow:visible;text-overflow:initial;word-wrap:break-word;line-height:1.3}.tabla-empleados td.col-acciones{white-space:normal;overflow:visible;padding-right:12px}.tabla-empleados td.col-acciones .acciones{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:center}.tabla-empleados td.col-acciones button{padding:4px 8px!important;font-size:11px!important;line-height:1.1!important;white-space:nowrap;height:20px!important;min-height:20px!important;max-height:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}.tabla-empleados td.col-acciones button .btn-icon{width:12px!important;height:12px!important}.employee-table tbody tr:nth-child(2n){background:linear-gradient(135deg,#f8f9fa,#fff)}.employee-table tbody tr{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.employee-table tbody tr:hover{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);transform:scale(1.01);box-shadow:0 4px 12px #00695c1a;border-radius:8px}.employee-table tbody tr:hover td{border-color:#00695c33}.details-btn,.info-btn,.formacion-btn,.experiencia-btn,.otros-documentos-btn,.edit-btn,.delete-btn{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:700;position:relative;overflow:hidden;box-shadow:0 4px 12px #00695c33;display:flex;align-items:center;gap:6px}.btn-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.edit-btn{background:linear-gradient(135deg,#ff9800,#f57c00)!important;box-shadow:0 4px 12px #ff980033!important}.delete-btn{background:linear-gradient(135deg,#d32f2f,#c62828)!important;box-shadow:0 4px 12px #d32f2f33!important}.details-btn:before,.info-btn:before,.formacion-btn:before,.experiencia-btn:before,.otros-documentos-btn:before,.edit-btn:before,.delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.details-btn:hover:before,.info-btn:hover:before,.formacion-btn:hover:before,.experiencia-btn:hover:before,.otros-documentos-btn:hover:before,.edit-btn:hover:before,.delete-btn:hover:before{left:100%}.details-btn:hover,.info-btn:hover,.formacion-btn:hover,.experiencia-btn:hover,.otros-documentos-btn:hover{background:linear-gradient(135deg,#004d40,#00251a);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00695c66}.edit-btn:hover{background:linear-gradient(135deg,#f57c00,#ef6c00)!important;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #ff980066!important}.delete-btn:hover{background:linear-gradient(135deg,#c62828,#b71c1c);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #d32f2f66}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1001;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(145deg,#fff,#f8f9fa);padding:2rem;border-radius:20px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px #00695c33,0 10px 20px #0000001a;border:1px solid rgba(0,105,92,.1);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-footer{margin-top:20px;display:flex;justify-content:flex-end}.dashboard-container .modal-content h3{margin-bottom:1rem;color:#333}.empleado-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}.empleado-form input,.empleado-form select{width:100%;box-sizing:border-box;padding:.75rem 1rem;border:2px solid rgba(0,105,92,.2);border-radius:12px;font-size:.95rem;outline:none;background:linear-gradient(145deg,#fff,#f8f9fa);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00695c0d;height:48px}.empleado-form input:focus,.empleado-form select:focus{border-color:#00695c;box-shadow:0 0 0 3px #00695c1a,0 4px 16px #00695c1a;transform:translateY(-1px);background:#fff}.empleado-form label.field{display:flex;flex-direction:column;gap:6px}.empleado-form .field-title{font-weight:600;font-size:.95rem;color:#334155;padding-left:2px}.empleado-form label.field input[type=date]{padding:.5rem .6rem}.guardar-btn{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 6px 20px #00695c4d;grid-column:1 / -1;justify-self:center;width:fit-content;min-width:180px}.guardar-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.guardar-btn:hover:before{left:100%}.guardar-btn:hover{background:linear-gradient(135deg,#004d40,#00251a);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #00695c66}.cerrar-btn{margin-top:1rem;background-color:#ffffff1a;color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;display:block;margin-left:auto;justify-content:center}.delete-confirm-modal{max-width:500px;text-align:center}.delete-confirm-modal h3{color:#d32f2f;margin-bottom:1rem}.delete-confirm-modal p{margin-bottom:1rem;line-height:1.5}.warning-text{color:#d32f2f;font-weight:600;background:#d32f2f1a;padding:.75rem;border-radius:8px;border-left:4px solid #D32F2F}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.cancel-btn{background:linear-gradient(135deg,#757575,#616161);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #7575754d}.cancel-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.cancel-btn:hover:before{left:100%}.cancel-btn:hover{background:linear-gradient(135deg,#616161,#424242);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #75757566}.delete-confirm-btn{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 6px 20px #d32f2f4d}.delete-confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.delete-confirm-btn:hover:before{left:100%}.delete-confirm-btn:hover{background:linear-gradient(135deg,#c62828,#b71c1c);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #d32f2f66}.dismiss-confirm-modal{max-width:500px;text-align:center}.dismiss-confirm-modal h3{color:#ff9800;margin-bottom:1rem}.dismiss-confirm-modal p{margin-bottom:1rem;line-height:1.5}.dismiss-confirm-modal .warning-text{color:#ff9800;font-weight:600;background:#ff98001a;padding:.75rem;border-radius:8px;border-left:4px solid #FF9800;margin-bottom:1.5rem}.dismiss-confirm-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 6px 20px #ff98004d}.dismiss-confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.dismiss-confirm-btn:hover:before{left:100%}.dismiss-confirm-btn:hover{background:linear-gradient(135deg,#f57c00,#ef6c00);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #ff980066}.reactivate-confirm-modal{max-width:500px;text-align:center}.reactivate-confirm-modal h3{color:#4caf50;margin-bottom:1rem}.reactivate-confirm-modal p{margin-bottom:1rem;line-height:1.5}.reactivate-confirm-modal .warning-text{color:#4caf50;font-weight:600;background:#4caf501a;padding:.75rem;border-radius:8px;border-left:4px solid #4CAF50;margin-bottom:1.5rem}.reactivate-confirm-btn{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 6px 20px #4caf504d}.reactivate-confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.reactivate-confirm-btn:hover:before{left:100%}.reactivate-confirm-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #4caf5066}@media (min-width: 1400px){.dashboard-main{padding:2rem}.employee-table-container{top:160px;left:2rem;right:2rem;max-height:calc(100vh - 180px)}}@media (max-width: 1399px){.dashboard-main{padding:1.5rem}.dashboard-title{font-size:1.3rem}.header-logo{height:55px}.employee-table-container{top:160px;left:1.5rem;right:1.5rem;max-height:calc(100vh - 180px)}}@media (max-width: 1199px){.dashboard-main{padding:1.25rem}.dashboard-title{font-size:1.2rem}.header-logo{height:50px}.table-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1rem 1.25rem}.search-container{max-width:100%;margin-right:0;flex:1;min-width:200px;max-width:300px}.view-controls{flex:1;justify-content:center;min-width:200px}.crear-btn,.cargo-btn{flex:1;min-width:150px;margin-left:0}.employee-table-container{top:160px;left:1.25rem;right:1.25rem;max-height:calc(100vh - 180px)}}@media (max-width: 991px){.dashboard-header{padding:.8rem 1.5rem;flex-wrap:wrap;gap:.5rem}.dashboard-main{padding:1rem}.header-left{gap:.5rem;justify-content:flex-start}.dashboard-title{font-size:1.1rem}.header-logo{height:45px}.user-button{padding:.4rem .8rem;font-size:.9rem}.table-actions{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.search-container{order:1;max-width:100%}.view-controls{order:2;flex-direction:row;gap:.5rem;width:100%;justify-content:center}.view-toggle-btn{flex:1;justify-content:center;min-width:120px;font-size:.8rem;padding:.5rem .75rem}.crear-btn{order:3;margin-left:0}.cargo-btn{order:2;margin-left:0}.employee-table-container{top:160px;left:1rem;right:1rem;max-height:calc(100vh - 180px)}}@media (max-width: 767px){.dashboard-header{padding:.7rem 1rem;height:70px;min-height:70px;max-height:70px}.dashboard-main{margin-top:140px;min-height:calc(100vh - 140px);padding:.75rem}.table-actions{top:70px;padding:.75rem;flex-direction:column;gap:.75rem;align-items:stretch}.search-container{order:1;max-width:100%}.view-controls{order:2;flex-direction:row;gap:.5rem;width:100%;justify-content:center}.view-toggle-btn{flex:1;justify-content:center;min-width:120px;font-size:.8rem;padding:.5rem .75rem}.crear-btn{order:3;width:100%;text-align:center;margin-left:0}.cargo-btn{order:2;width:100%;text-align:center;margin-left:0}.employee-table-container{top:140px;left:.75rem;right:.75rem;max-height:calc(100vh - 150px)}.header-left{gap:.4rem}.dashboard-title{font-size:1rem}.header-logo{height:40px}.user-button{padding:.3rem .6rem;font-size:.85rem}}@media (max-width: 575px){.dashboard-header{padding:.6rem .75rem;height:65px;min-height:65px;max-height:65px}.dashboard-main{margin-top:130px;min-height:calc(100vh - 130px);padding:.5rem}.table-actions{top:65px;padding:.5rem;flex-direction:column;gap:.75rem;align-items:stretch}.search-container{order:1;max-width:100%}.view-controls{order:2;flex-direction:column;gap:.5rem}.view-toggle-btn{width:100%;font-size:.75rem;padding:.4rem .6rem}.crear-btn{order:3;width:100%;text-align:center;margin-left:0}.cargo-btn{order:2;width:100%;text-align:center;margin-left:0}.employee-table-container{top:130px;left:.5rem;right:.5rem;max-height:calc(100vh - 140px)}.header-left{flex-direction:column;gap:.3rem;align-items:flex-start}.dashboard-title{font-size:.9rem}.header-logo{height:35px}.user-button{padding:.25rem .5rem;font-size:.8rem}}@media (max-width: 479px){.dashboard-header{padding:.5rem;height:60px;min-height:60px;max-height:60px}.dashboard-main{margin-top:120px;min-height:calc(100vh - 120px);padding:.25rem}.table-actions{top:60px;padding:.25rem;flex-direction:column;gap:.5rem;align-items:stretch}.search-container{order:1;max-width:100%}.view-controls{order:2;flex-direction:column;gap:.5rem}.view-toggle-btn{width:100%;font-size:.75rem;padding:.4rem .6rem}.crear-btn{order:3;width:100%;text-align:center;margin-left:0}.cargo-btn{order:2;width:100%;text-align:center;margin-left:0}.employee-table-container{top:120px;left:.25rem;right:.25rem;max-height:calc(100vh - 130px)}.header-left{gap:.25rem}.dashboard-title{font-size:.8rem}.header-logo{height:30px}.user-button{padding:.2rem .4rem;font-size:.75rem}}@media (max-width: 1400px){.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:100px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:180px}.employee-table th,.employee-table td{padding:.4rem .6rem;font-size:.8rem}}@media (max-width: 1200px){.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:90px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:160px}.employee-table th,.employee-table td{padding:.3rem .5rem;font-size:.75rem}}@media (max-width: 991px){.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:80px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:140px}.employee-table th,.employee-table td{padding:.25rem .4rem;font-size:.7rem}}@media (max-width: 767px){.empleado-form{grid-template-columns:1fr;gap:.75rem}.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:80px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:160px}.employee-table{min-width:800px}}@media (max-width: 575px){.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:70px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:140px}.employee-table{min-width:700px}}@media (max-width: 479px){.tabla-empleados thead th:nth-child(1),.tabla-empleados tbody td:nth-child(1){min-width:60px}.tabla-empleados thead th:nth-child(9),.tabla-empleados tbody td:nth-child(9){min-width:120px}.employee-table{min-width:600px}}@media (max-width: 767px){.modal-content{width:95%;max-width:95%;margin:1rem;padding:1rem;max-height:90vh}.empleado-form{grid-template-columns:1fr;gap:.75rem}.empleado-form input,.empleado-form select{padding:.5rem;font-size:.9rem}}@media (max-width: 575px){.modal-content{width:98%;max-width:98%;margin:.5rem;padding:.75rem}.empleado-form input,.empleado-form select{padding:.4rem;font-size:.85rem}}.view-controls{display:flex;gap:.5rem;align-items:center}.view-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:2px solid #00695C;background:transparent;color:#00695c;border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease;font-weight:500;font-size:.9rem;white-space:nowrap}.view-toggle-btn:hover{background:#00695c1a;transform:scale(1.02)}.view-toggle-btn.active{background:#00695c;color:#fff;box-shadow:0 4px 12px #00695c4d;transform:none}.view-toggle-btn:active{transform:scale(.98)}.view-toggle-btn .btn-icon{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.table-header{margin-bottom:1rem;padding:0 .5rem;position:sticky;top:0;background-color:#fff;z-index:10;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a}.table-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;color:#00695c;margin:0;display:flex;align-items:center;gap:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.employee-count{font-size:.875rem;font-weight:600;color:#00695c;background:linear-gradient(135deg,#f0f9f8,#e8f5f3);padding:.3rem .8rem;border-radius:16px;border:1px solid #00695C;margin-left:.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;box-shadow:0 2px 4px #00695c1a;transition:all .3s ease;cursor:default}.employee-count:hover{background:linear-gradient(135deg,#e8f5f3,#d1f2eb);transform:translateY(-1px);box-shadow:0 4px 8px #00695c26}.status-toggle-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.8rem;font-weight:500;min-width:100px;height:32px;justify-content:center}.status-toggle-btn.dismiss{background-color:#dc3545;color:#fff}.status-toggle-btn.dismiss:hover{background-color:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.status-toggle-btn.reactivate{background-color:#28a745;color:#fff}.status-toggle-btn.reactivate:hover{background-color:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.status-toggle-btn .btn-icon{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 1200px){.table-actions{flex-wrap:wrap;justify-content:center;gap:.75rem}.search-container{order:1;flex:1;min-width:200px;max-width:300px}.view-controls{order:2;flex:1;justify-content:center;min-width:200px}.crear-btn{order:3;margin-left:0;flex:1;min-width:150px}.cargo-btn{order:2;margin-left:0;flex:1;min-width:150px}}@media (max-width: 768px){.table-actions{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.view-controls{flex-direction:row;gap:.5rem;width:100%;justify-content:center}.view-toggle-btn{flex:1;justify-content:center;min-width:120px;font-size:.8rem;padding:.5rem .75rem}.search-container{order:1;max-width:100%}.view-controls{order:2}.crear-btn{order:3;margin-left:0}.cargo-btn{order:2;margin-left:0}}@media (max-width: 480px){.view-controls{flex-direction:column;gap:.5rem}.view-toggle-btn{width:100%;font-size:.75rem;padding:.4rem .6rem}}.cargos-modal{max-width:900px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026}.cargos-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3.5rem 1.5rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fff;position:relative;flex-shrink:0}.cargos-modal .modal-header h3{color:#00695c;font-size:1.5rem;font-weight:600;margin:0;flex:1}.cargos-modal .modal-header .close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:absolute;top:1rem;right:1rem}.cargos-modal .modal-header .close-btn:hover{background:#f3f4f6;color:#374151}.cargos-modal .modal-header .close-btn svg{width:20px;height:20px}.cargos-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.cargos-content::-webkit-scrollbar{width:8px}.cargos-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.cargos-content::-webkit-scrollbar-thumb{background:#00695c;border-radius:10px}.cargos-content::-webkit-scrollbar-thumb:hover{background:#004d40}.cargos-search{position:relative;display:flex;align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;transition:all .2s ease}.cargos-search:focus-within{border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.search-icon{width:20px;height:20px;color:#6b7280;margin-right:.75rem;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:1rem;color:#374151;outline:none}.search-input::placeholder{color:#9ca3af}.clear-search{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:.5rem}.clear-search:hover{background:#e5e7eb;color:#374151}.clear-search svg{width:16px;height:16px}.cargo-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.cargo-form .form-group{margin-bottom:1rem}.cargo-form .form-group:last-of-type{margin-bottom:0}.cargo-form label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.95rem}.input-group{display:flex;gap:1rem;align-items:flex-end}.input-group input{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.input-group input:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.area-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background:#fff;color:#374151;cursor:pointer;transition:border-color .2s ease}.area-select:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.button-group{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.btn-add,.btn-save{background:#00695c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-add:hover,.btn-save:hover{background:#004d40;transform:translateY(-1px)}.btn-add:disabled,.btn-save:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.btn-cancel{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-cancel:hover{background:#4b5563;transform:translateY(-1px)}.cargos-list{display:flex;flex-direction:column;min-height:0;flex:1;overflow:visible}.cargos-list h4{color:#374151;font-size:1.2rem;font-weight:600;margin-bottom:1rem;flex-shrink:0}.empty-state{text-align:center;padding:3rem 1rem;color:#6b7280}.empty-state svg{width:48px;height:48px;margin:0 auto 1rem;color:#d1d5db}.empty-state p{font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.empty-state span{font-size:.9rem;color:#9ca3af}.cargos-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;min-height:100px;width:100%;visibility:visible;opacity:1}.cargo-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.cargo-item:hover{border-color:#00695c;box-shadow:0 2px 4px #00695c1a}.cargo-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.cargo-name{font-weight:600;color:#374151;font-size:1rem}.cargo-meta{display:flex;flex-direction:column;gap:.25rem}.cargo-area{display:inline-block;background:#fff;color:#00695c;border:1px solid #00695C;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;width:fit-content;text-transform:capitalize}.cargo-count{font-size:.875rem;color:#6b7280}.cargo-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete,.btn-funciones{background:none;border:1px solid #d1d5db;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-edit{color:#00695c;border-color:#00695c}.btn-edit:hover{background:#00695c;color:#fff}.btn-funciones{color:#17a2b8;border-color:#17a2b8}.btn-funciones:hover{background:#17a2b8;color:#fff}.btn-delete{color:#dc2626;border-color:#dc2626}.btn-delete:hover:not(:disabled){background:#dc2626;color:#fff}.btn-delete:disabled{color:#9ca3af;border-color:#e5e7eb;background-color:#f9fafb;cursor:not-allowed;opacity:.6}.btn-edit svg,.btn-delete svg,.btn-funciones svg{width:16px;height:16px}.btn-funciones{display:flex;align-items:center;gap:4px}.btn-funciones .btn-text{font-size:12px;font-weight:500}@media (max-width: 768px){.cargos-modal{width:95%;max-width:95%;max-height:95vh;margin:1rem}.cargos-modal .modal-header{padding:1rem 3rem 1rem 1rem}.cargos-modal .modal-header h3{font-size:1.25rem}.cargos-modal .modal-header .close-btn{top:.75rem;right:.75rem}.cargos-content{padding:1rem;gap:1rem}.cargo-form{padding:1rem}.input-group{flex-direction:column;align-items:stretch}.input-group input,.area-select{width:100%}.button-group{flex-direction:column;width:100%}.btn-add,.btn-save,.btn-cancel{width:100%}.cargos-grid{grid-template-columns:1fr}.cargo-item{flex-direction:column;align-items:flex-start;gap:1rem}.cargo-actions{width:100%;justify-content:flex-start}.cargos-search{padding:.5rem .75rem}.search-input{font-size:.9rem}}@media (max-width: 480px){.cargos-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0;margin:0}.cargos-modal .modal-header{padding:.75rem 2.5rem .75rem .75rem}.cargos-modal .modal-header .close-btn{top:.5rem;right:.5rem;padding:.25rem}.cargos-content,.cargo-form{padding:.75rem}.cargo-form label{font-size:.9rem}.cargos-list h4{font-size:1rem}.cargo-name{font-size:.9rem}.cargo-area{font-size:.7rem;padding:.2rem .5rem}.cargo-count{font-size:.8rem}.cargos-grid{grid-template-columns:1fr}.cargo-item{flex-direction:column;align-items:flex-start;gap:1rem}.cargo-actions{align-self:flex-end}}.confirm-modal{max-width:400px;width:90%}.confirm-modal .modal-header h3{color:#dc2626;margin:0;font-size:1.25rem;font-weight:600}.confirm-modal .modal-body{padding:1.5rem 0}.confirm-modal .modal-body p{margin:0 0 1rem;color:#374151;line-height:1.5}.confirm-modal .modal-body strong{color:#1f2937;font-weight:600}.warning-text{color:#dc2626!important;font-size:.875rem;font-weight:500;margin-top:.5rem!important}.confirm-modal .modal-footer{display:flex;gap:.75rem;justify-content:flex-end}.confirm-modal .btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;font-size:.875rem;border:none;cursor:pointer;transition:all .2s ease}.confirm-modal .btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.confirm-modal .btn-secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}.confirm-modal .btn-danger{background-color:#dc2626;color:#fff}.confirm-modal .btn-danger:hover{background-color:#b91c1c}@media (max-width: 480px){.confirm-modal{width:95%;margin:1rem}.confirm-modal .modal-footer{flex-direction:column}.confirm-modal .btn{width:100%}}.dashboard-spinner{width:40px;height:40px;border:4px solid rgba(0,105,92,.1);border-top:4px solid #00695C;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*** End Patch .historial-page{display:flex;flex-direction:column;gap:1.5rem;background:transparent;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.historial-page.embedded{flex:1;min-height:0;overflow-y:auto;padding:.75rem;gap:1rem}.historial-header{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;padding:1.5rem 2rem;border-radius:18px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 18px 40px -30px #004d4099}.historial-header.embedded{padding:1.25rem 1.75rem}.header-text h2{margin:0;font-size:1.6rem;font-weight:600}.header-text p{margin:.35rem 0 0;opacity:.9;font-size:.95rem}.header-actions{display:flex;gap:.75rem;align-items:center}.header-chip{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:.65rem 1rem;display:flex;flex-direction:column;gap:.1rem;min-width:180px}.header-chip .chip-name{font-weight:600;font-size:.95rem}.header-chip .chip-role{font-size:.8rem;opacity:.85}.employee-selector{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 18px 38px -28px #0f172a59;display:flex;flex-direction:column;gap:1.2rem}.search-label{display:flex;flex-direction:column;gap:.45rem;color:#0f172a;font-weight:500}.search-label input{border-radius:12px;border:1px solid rgba(15,118,110,.25);padding:.7rem 1rem;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.search-label input:focus{border-color:#00695c;box-shadow:0 0 0 3px #00695c2e;outline:none}.employee-list{display:flex;flex-wrap:wrap;gap:.9rem}.employee-chip{background:#f1f5f9;border:1px solid transparent;border-radius:14px;padding:.75rem 1rem;display:flex;flex-direction:column;min-width:200px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.employee-chip:hover{border-color:#00695c;box-shadow:0 12px 28px -24px #00695ca6;transform:translateY(-2px)}.employee-chip.active{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;box-shadow:0 18px 32px -24px #004d40b3}.employee-chip .chip-name{font-weight:600}.employee-chip .chip-role{font-size:.8rem;opacity:.75}.summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;background:linear-gradient(135deg,#fff,#f1f5f9);border-radius:18px;padding:1.25rem 1.5rem;box-shadow:0 20px 36px -28px #0f172a59}.summary-bar.embedded{padding:1rem 1.25rem}.summary-bar div span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.summary-bar div strong{margin-top:.25rem;display:block;font-size:1rem;color:#0f172a}.tabs{display:flex;gap:.8rem;flex-wrap:wrap}.tab{border:none;border-radius:999px;background:#00695c14;color:#0f172a;padding:.65rem 1.4rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.tab:hover{transform:translateY(-1px);box-shadow:0 10px 24px -20px #0f172a73}.tab.active{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;box-shadow:0 12px 28px -24px #004d40bf}.tab-content{display:flex;flex-direction:column;gap:1.25rem}.panel{background:#fff;border-radius:18px;padding:1.5rem 1.75rem;box-shadow:0 18px 38px -28px #0f172a59;display:flex;flex-direction:column;gap:1.25rem;border:1px solid rgba(0,105,92,.08)}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.panel-header h3{margin:0;font-size:1.15rem;font-weight:600;color:#0f172a}.panel-header p{margin:.25rem 0 0;color:#64748b;font-size:.9rem}.panel-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.25rem}.saldo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem}.saldo-card{background:linear-gradient(135deg,#00695c1a,#00695c2e);border-radius:14px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;color:#014437}.saldo-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.saldo-card strong{font-size:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;color:#0f172a}.form-grid label.full{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{border-radius:12px;border:1px solid rgba(15,118,110,.24);padding:.65rem .8rem;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.form-grid textarea{resize:vertical;min-height:110px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#00695c;box-shadow:0 0 0 3px #00695c2e;outline:none}.form-grid .checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-grid .checkbox input{width:16px;height:16px}.form-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem}.helper{font-size:.85rem;color:#64748b}.btn{border:none;border-radius:12px;padding:.65rem 1.5rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn.primary{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;box-shadow:0 16px 36px -28px #004d40bf}.btn.secondary{background:#00695c1a;color:#00695c}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:inherit;padding:.55rem 1.4rem}.btn.small{padding:.45rem 1rem;font-size:.85rem}.btn.success{background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff}.btn.danger{background:linear-gradient(135deg,#b71c1c,#c62828);color:#fff}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px -28px #0f172a73}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.responsive-table{overflow-x:auto}.responsive-table table{width:100%;border-collapse:collapse;min-width:680px}.responsive-table th,.responsive-table td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid #e2e8f0}.actions-header{text-align:right;min-width:140px;color:#0f172a}.responsive-table tbody tr:hover{background:#f8fafc}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.32rem .75rem;font-size:.75rem;font-weight:600;text-transform:capitalize}.responsive-table th:nth-child(4),.responsive-table td:nth-child(4){text-align:center}.responsive-table th:nth-child(5),.responsive-table td:nth-child(5){text-align:center}.badge-pendiente{background:#fff7ed;color:#c2410c}.badge-aprobada,.badge-aprobado{background:#ecfdf5;color:#047857}.badge-rechazada,.badge-rechazado{background:#fef2f2;color:#b91c1c}.inline-actions{display:inline-flex;gap:.45rem;justify-content:center}.inline-actions .btn{min-width:92px;padding:.42rem .95rem;font-size:.8rem;border-radius:999px;box-shadow:0 10px 24px -24px #0f172a73}.inline-actions .btn.small.success{background:linear-gradient(135deg,#15803d,#16a34a)}.inline-actions .btn.small.danger{background:linear-gradient(135deg,#b91c1c,#dc2626)}.muted{color:#94a3b8;font-size:.85rem}.hl-file-input{position:relative;display:block;width:100%;min-height:52px;border:2px dashed #00695c;border-radius:10px;background:linear-gradient(135deg,#f8fffe,#f0f9f8);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.hl-file-input:hover{border-color:#004d40;background:linear-gradient(135deg,#f0f9f8,#e8f5f3);transform:translateY(-1px);box-shadow:0 6px 18px -20px #004d4099}.hl-file-input input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.hl-file-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.85rem 1rem;text-align:center}.hl-file-icon{width:24px;height:24px;stroke:#00695c;fill:none}.hl-file-text{margin:0;font-size:.9rem;font-weight:600;color:#00695c}.hl-file-hint{margin:0;font-size:.75rem;color:#6b7280}.hl-file-input.has-file{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.hl-file-input.has-file .hl-file-icon{stroke:#10b981}.hl-file-input.has-file .hl-file-text{color:#047857}.hl-file-selected{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.45rem .75rem;border-radius:8px;background:#f0fdf4;border:1px solid #10b981;color:#047857;font-size:.85rem;font-weight:500}.hl-file-selected-icon{width:18px;height:18px;stroke:currentColor}.hl-file-selected-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-timeline{display:flex;flex-direction:column;gap:1.1rem;position:relative;padding-left:1.5rem}.timeline-item{position:relative;padding-left:1.1rem}.timeline-icon{width:12px;height:12px;border-radius:50%;background:#00695c;position:absolute;left:-.5rem;top:.4rem}.timeline-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.35rem}.timeline-range{font-weight:600;color:#00695c;font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{background:linear-gradient(135deg,#00695c26,#00695c40);border-radius:14px;padding:1rem;color:#014437;display:flex;flex-direction:column;gap:.3rem}.stat-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.stat-card strong{font-size:1.35rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.chart-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.chart-card h4{margin:0;color:#0f172a;font-size:1rem}.chart-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.chart-list li{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.55rem .75rem;font-size:.9rem}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline-card{border-radius:16px;padding:1rem 1.2rem;border-left:4px solid transparent;background:#f8fafc;border:1px solid #e2e8f0;box-shadow:0 14px 34px -28px #0f172a73}.timeline-card-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#64748b}.timeline-card h4{margin:.65rem 0;color:#0f172a}.timeline-meta{display:grid;gap:.45rem;font-size:.9rem;color:#1f2937}.timeline-card.falta-leve{border-color:#22c55e}.timeline-card.falta-grave{border-color:#fb923c}.timeline-card.falta-gravísima{border-color:#ef4444}@media (max-width: 768px){.inline-actions{justify-content:flex-start}}@media (max-width: 520px){.inline-actions{flex-direction:column;align-items:stretch;gap:.5rem}.inline-actions .btn{width:100%;justify-content:center}.hl-file-content{align-items:flex-start;text-align:left;gap:.3rem}.hl-file-selected{width:100%;justify-content:space-between}}.loader{background:#fff;border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#00695c;box-shadow:0 18px 32px -28px #0f172a73}.spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(0,105,92,.15);border-top-color:#00695c;animation:spin .85s linear infinite}.empty-state{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:.75rem 1rem;background:#f1f5f9;color:#64748b;font-size:.9rem}.empty-state.large{width:100%;padding:2rem;text-align:center;background:#fff;border:1px dashed rgba(100,116,139,.35)}@media (max-width: 1024px){.panel-grid{grid-template-columns:1fr}.historial-header{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:space-between}}@media (max-width: 768px){.historial-header{padding:1.2rem 1.35rem}.table-actions{justify-content:flex-start}.table-actions .btn{min-width:110px}.tab{flex:1 1 100%;text-align:center}.responsive-table table{min-width:580px}.panel{padding:1.25rem 1.3rem}.summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.historial-header{border-radius:14px}.header-actions{flex-direction:column;align-items:flex-start;gap:.6rem}.employee-selector{padding:1.2rem}.summary-bar{grid-template-columns:repeat(1,minmax(0,1fr))}.tab{padding:.55rem 1rem}.panel{padding:1.15rem 1.1rem}.chart-grid,.stats-grid{grid-template-columns:1fr}.timeline-card{padding:.9rem 1rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:1001;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:20px}.modal-overlay.embedded-mode{position:static;background:none;padding:0;inset:auto;z-index:1;height:100%;width:100%;overflow:visible}.evaluaciones-modal{background:#fff;border-radius:10px;max-width:1200px;width:100%;padding:2rem;position:relative;overflow-y:auto;max-height:90vh}.evaluaciones-modal.embedded-mode{max-width:none;width:100%;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;box-shadow:none;border-radius:0;margin:0;padding:2rem;box-sizing:border-box}.evaluaciones-container{padding:0;max-width:100%;margin:auto;background-color:#fff}.evaluaciones-modal h3{color:#00695c;text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.title-icon{width:28px;height:28px;stroke:#00695c;flex-shrink:0}.tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:2rem}.tab{padding:12px 24px;border:none;border-radius:0;background:transparent;color:#6b7280;font-size:15px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;position:relative;bottom:-2px;display:flex;align-items:center;gap:8px}.tab-icon{width:18px;height:18px;stroke:currentColor;flex-shrink:0}.tab:hover{color:#00695c;background:#f9fafb}.tab.active{color:#00695c;border-bottom-color:#00695c;background:#f9fafb;font-weight:600}.evaluaciones-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:1 / -1}.form-group label{margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.evaluaciones-form input,.evaluaciones-form select,.evaluaciones-form textarea{height:2.8rem;padding:.6rem;border-radius:5px;border:1px solid #ccc;box-sizing:border-box;font-size:.95rem;background-color:#fff;font-family:inherit;font-size:.9rem}.evaluaciones-form textarea{height:auto;min-height:3rem;resize:vertical}.evaluaciones-form input:focus,.evaluaciones-form select:focus,.evaluaciones-form textarea:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.evaluaciones-form select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.7}.puntuacion-section{background:#f8fffe;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.puntuacion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #00695C}.puntuacion-header label{margin:0;font-size:1.1rem;color:#00695c;font-weight:700}.puntuacion-total{background:#fff;padding:8px 16px;border-radius:6px;border:2px solid #00695C;font-size:16px;color:#333}.puntuacion-total strong{color:#00695c;font-size:22px;margin:0 4px}.puntuaciones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.slider-item{background:#fff;padding:12px 16px;border-radius:6px;border:1px solid #e5e7eb}.slider-item label{display:block;margin-bottom:8px;font-size:13px;color:#6b7280;text-transform:capitalize;font-weight:500}.slider-controls{display:flex;align-items:center;gap:12px}.slider-controls input[type=range]{flex:1;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981)}.slider-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#00695c;cursor:pointer;box-shadow:0 2px 4px #0003}.slider-controls input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#00695c;cursor:pointer;box-shadow:0 2px 4px #0003;border:none}.slider-value{flex:0 0 40px;text-align:center;font-weight:700;color:#00695c;font-size:18px}.form-buttons{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap;width:100%}.submit-btn{padding:.6rem 1.2rem;background-color:#00695c;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.95rem;white-space:nowrap;display:flex;align-items:center;justify-content:center}.submit-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.cancel-btn{padding:.6rem 1.2rem;background-color:#6c757d;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.95rem;white-space:nowrap;display:flex;align-items:center;justify-content:center}.cancel-btn:hover{background-color:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.calc-btn{padding:.6rem 1rem;background-color:#10b981;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.85rem;white-space:nowrap;display:flex;align-items:center;gap:6px;height:2.5rem}.calc-btn:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.cerrar-evaluaciones-btn{display:block;margin:1.5rem auto 0;background-color:#00695c;color:#fff;font-weight:700;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.cerrar-evaluaciones-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.firma-wrapper{margin-top:2rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.firma-instructions{margin:0 0 1rem;color:#4b5563;font-size:.9rem}.firma-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.firma-block{background:#fff;border:1px dashed #cbd5f5;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.firma-block h6{margin:0;font-size:1rem;color:#0f172a}.firma-canvas{width:100%;height:180px;border:1px solid #94a3b8;border-radius:6px;background-color:#fff}.firma-actions{display:flex;gap:.75rem;flex-wrap:wrap}.firma-preview{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.firma-preview img{width:100%;max-width:320px;border:1px solid #cbd5f5;border-radius:6px;background:#fff;padding:.35rem}.firma-date{font-size:.85rem;color:#64748b}.firma-placeholder{font-size:.9rem;color:#9ca3af;background-color:#f1f5f9;border-radius:6px;padding:1rem;text-align:center}.firma-alert{font-size:.9rem;color:#c2410c;background-color:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:.75rem}.evaluaciones-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:14px}.evaluaciones-table thead{background-color:#f8f9fa}.evaluaciones-table th{padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #dee2e6}.evaluaciones-table td{padding:12px;border-bottom:1px solid #e5e7eb;color:#6b7280}.evaluaciones-table tbody tr:hover{background-color:#f9fafb}.action-buttons{display:flex;gap:.5rem;justify-content:center;align-items:center;flex-wrap:wrap}.view-btn{background-color:#00695c;color:#fff;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:13px;font-weight:500;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:70px;height:32px}.view-btn:hover{background-color:#004d40;transform:translateY(-1px);box-shadow:0 2px 8px #00695c4d;color:#fff;text-decoration:none}.edit-btn{background-color:#ffc107;color:#212529;padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:13px;font-weight:500;white-space:nowrap;display:flex;align-items:center;justify-content:center}.edit-btn:hover{background-color:#e0a800;transform:translateY(-1px);box-shadow:0 2px 8px #ffc1074d}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-danger{background:#fee2e2;color:#991b1b}.badge-secondary{background:#e5e7eb;color:#374151}.progress-container{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:20px;background:#e5e7eb;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease}.progress-text{font-weight:600;color:#00695c;font-size:13px;min-width:45px;text-align:right}.loading{text-align:center;padding:3rem;font-size:16px;color:#6b7280}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.evaluaciones-modal{padding:1.5rem}.evaluaciones-modal h3{font-size:1.3rem}.tabs{flex-wrap:wrap}.tab{padding:10px 16px;font-size:14px}.evaluaciones-form,.puntuaciones-grid{grid-template-columns:1fr}.evaluaciones-table{font-size:12px}.evaluaciones-table th,.evaluaciones-table td{padding:8px}.action-buttons,.dimension-tabs{flex-direction:column}.dimension-tab{min-width:auto;text-align:center}.dimension-content{padding:1rem}.item-fields,.dimensiones-summary{grid-template-columns:1fr}.dimension-summary{flex-direction:column;gap:.5rem;text-align:center}.evaluacion-resumen{padding:1rem}.evaluacion-resumen h3{font-size:1.2rem}.dimension-item{flex-direction:column;gap:.5rem;text-align:center}.dimension-fields{grid-template-columns:1fr;gap:1rem}.dimension-observations{padding:1rem;margin:1rem 0}.dimension-fields textarea{min-height:80px}.evaluation-item{flex-direction:column;align-items:flex-start;gap:1rem}.evaluation-item label{margin-bottom:.5rem}.number-controls{align-self:stretch;width:100%}}.evaluation-type-selector{background:#f8fffe;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.evaluation-type-selector .form-group{margin-bottom:0}.evaluation-type-selector select{font-size:1rem;font-weight:500;color:#333}.evaluacion-competencias{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}.dimension-tabs{display:flex;background:#f8f9fa;border-bottom:2px solid #e5e7eb;margin-bottom:0;overflow-x:auto}.dimension-tab{flex:1;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;font-size:15px;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:200px;position:relative;bottom:-2px}.dimension-tab:hover{background:#f9fafb;color:#00695c}.dimension-tab.active{background:#f9fafb;color:#00695c;border-bottom-color:#00695c;font-weight:600}.dimension-content{padding:2rem;min-height:500px}.dimension-tab-content h4{color:#00695c;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #00695C}.dimension-tab-content h5{color:#333;font-size:1.2rem;font-weight:600;margin:2rem 0 1rem;padding-left:1rem;border-left:4px solid #00695C}.evaluation-item{background:#f8fffe;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.evaluation-item:hover{border-color:#00695c;box-shadow:0 2px 4px #00695c1a}.evaluation-item label{flex:1;font-weight:500;color:#333;margin-bottom:0;line-height:1.5;text-align:left}.number-controls{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:0;flex-shrink:0}.number-input-wrapper{display:flex;align-items:center;gap:.5rem}.number-role{font-size:.85rem;font-weight:600;color:#00695c}.number-input{width:70px;height:2.5rem;padding:.6rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;font-weight:600;text-align:center;color:#00695c;background:#f8fffe;transition:all .2s ease;font-family:Courier New,monospace;letter-spacing:.5px}.number-input:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a;background:#fff}.number-input:hover{border-color:#00695c;background:#fff}.number-label{color:#6b7280;font-size:.9rem;font-weight:500;min-width:35px;text-align:left;white-space:nowrap}.slider-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.slider-controls input[type=range]{flex:1;height:6px;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#00695c;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.slider-controls input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#00695c;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.slider-value{background:#00695c;color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:600;min-width:60px;text-align:center;font-size:1.1rem}.dimension-observations{background:#f8fffe;border:2px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin:2rem 0}.dimension-observations h5{color:#00695c;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #00695C}.dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.dimension-fields .form-group{margin-bottom:0}.dimension-fields label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.9rem}.dimension-fields textarea{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:5px;font-size:.9rem;resize:vertical;min-height:100px;transition:border-color .2s ease;font-family:inherit;box-sizing:border-box}.dimension-fields textarea:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.dimension-fields textarea::placeholder{color:#6b7280;font-style:italic}.dimension-summary{background:#f8fffe;border:2px solid #00695C;border-radius:8px;padding:1.5rem;margin-top:2rem;display:flex;justify-content:space-between;align-items:center}.dimension-score,.dimension-percentage{font-size:1.1rem;color:#00695c}.dimension-score strong,.dimension-percentage strong{color:#004d40;font-weight:700}.evaluacion-resumen{background:#fff;border:2px solid #00695C;color:#1f2937;padding:2rem;border-radius:12px;margin-top:2rem;box-shadow:0 4px 6px #0000001a}.evaluacion-resumen h3{color:#00695c;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center;padding-bottom:1rem;border-bottom:2px solid #00695C}.dimensiones-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.dimension-item{background:#f9fafb;border:1px solid #e5e7eb;padding:1.25rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease}.dimension-item:hover{border-color:#00695c;box-shadow:0 2px 4px #00695c1a}.dimension-item span:first-child{font-weight:600;color:#374151;font-size:.95rem}.dimension-item strong{font-weight:700;font-size:1.2rem;color:#00695c}.dimension-item .percentage{background:#00695c;color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.85rem;font-weight:600;display:inline-block;width:fit-content;margin-top:.25rem}.resultado-final{background:#f0f9ff;border:2px solid #00695C;padding:2rem;border-radius:10px;text-align:center;margin-bottom:1.5rem}.puntuacion-total,.porcentaje-total{font-size:1.15rem;margin-bottom:.75rem;color:#374151}.puntuacion-total strong,.porcentaje-total strong{font-size:1.5rem;font-weight:700;color:#00695c}.clasificacion{font-size:1.25rem;font-weight:700;padding:.875rem 2rem;border-radius:8px;margin-top:1.25rem;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.clasificacion.insatisfactorio{background:#dc2626;color:#fff}.clasificacion.requiere-mejoras{background:#ea580c;color:#fff}.clasificacion.competente{background:#16a34a;color:#fff}.clasificacion.supera-las-expectativas{background:#7c3aed;color:#fff}.evaluacion-resumen .submit-btn,.evaluacion-resumen .cancel-btn{background:#00695c;color:#fff;border:2px solid #00695C;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .3s ease;margin-top:1rem}.evaluacion-resumen .submit-btn:hover{background:#004d40;border-color:#004d40;transform:translateY(-1px);box-shadow:0 4px 12px #00695c4d}.evaluacion-resumen .cancel-btn{background:#6b7280;border-color:#6b7280}.evaluacion-resumen .cancel-btn:hover{background:#4b5563;border-color:#4b5563}.evaluaciones-modal::-webkit-scrollbar{width:8px}.evaluaciones-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.evaluaciones-modal::-webkit-scrollbar-thumb{background:#00695c;border-radius:4px}.evaluaciones-modal::-webkit-scrollbar-thumb:hover{background:#004d40}.evaluacion-info-header{background:#f0f9ff;border:2px solid #00695C;border-radius:8px;padding:1.5rem;margin-bottom:2rem;color:#1f2937}.evaluacion-info-header h4{color:#00695c;margin-top:0;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.evaluacion-info-header>p{margin-bottom:.75rem;line-height:1.6}.evaluacion-info-header .calificacion-scale{margin-top:1rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.evaluacion-info-header .calificacion-scale strong{color:#00695c;display:block;margin-bottom:.5rem}.evaluacion-info-header .calificacion-scale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;font-size:.9rem}.prorroga-contrato-form{display:block}.prorroga-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.prorroga-section h5{color:#00695c;font-size:1rem;font-weight:600;margin-top:0;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #00695C}.prorroga-note{font-size:.85rem;color:#6b7280;font-style:italic;margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.prorroga-table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;margin-top:1rem}.prorroga-table thead{background:#00695c;color:#fff}.prorroga-table th{padding:12px;font-weight:600;font-size:.9rem;text-align:left}.prorroga-table tbody tr{border-bottom:1px solid #e5e7eb}.prorroga-table tbody tr:hover{background:#f9fafb}.prorroga-table tbody tr:last-child{border-bottom:none}.prorroga-table td{padding:8px 12px;vertical-align:middle}.prorroga-table input[type=text]{border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;font-size:.9rem;width:100%}.prorroga-table input[type=text]:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.prorroga-table input[type=radio]{width:18px;height:18px;cursor:pointer}.radio-group{display:flex;gap:2rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.prorroga-table{font-size:.85rem}.prorroga-table th,.prorroga-table td{padding:8px}}.employee-details-page{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);overflow:hidden}.employee-details-page.loading{justify-content:center;align-items:center}.loading-spinner{text-align:center}.spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid rgba(0,105,92,.1);border-top-color:#00695c;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{color:#00695c;font-size:1.1rem;font-weight:500}.error-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#d32f2f,#c62828);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #d32f2f4d}.error-icon svg{width:40px;height:40px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.employee-details-page-header{width:100%;background:linear-gradient(135deg,#00695c,#004d40);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 32px #00695c4d,0 2px 16px #0000001a;position:fixed;top:0;left:0;right:0;z-index:1000;flex-shrink:0}.header-left{display:flex;align-items:center;gap:1.5rem;flex:1}.header-right{display:flex;align-items:center;flex-shrink:0}.back-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.25rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:.95rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a;position:relative;overflow:hidden}.back-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.back-btn:hover:before{left:100%}.back-btn:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #00000026}.back-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-logo{height:50px;width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));flex-shrink:0}.header-employee-info{display:flex;flex-direction:column;justify-content:center}.header-employee-info h1{margin:0;font-size:1.8rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2);text-align:left}.header-employee-info p{margin:.5rem 0 0;font-size:1rem;opacity:.9;text-align:left}.employee-details-page-main{flex:1;padding:0;width:100%;max-width:100%;overflow:hidden}.employee-details-container-page{background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:20px;height:calc(100vh - 120px);display:flex;box-shadow:0 25px 50px #00695c33,0 10px 20px #0000001a;border:1px solid rgba(0,105,92,.1);overflow:hidden;position:fixed;top:100px;left:.25rem;right:.25rem;width:calc(100% - .5rem);max-width:none}.employee-details-sidebar{width:280px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-right:1px solid rgba(0,105,92,.1);padding:1.5rem 0;flex-shrink:0;overflow-y:auto}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.sidebar-item{background:transparent;border:none;padding:1rem 1.25rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:1rem;text-align:left;width:100%;color:#495057;font-weight:500;position:relative;overflow:hidden}.sidebar-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,105,92,.1),transparent);transition:left .5s}.sidebar-item:hover:before{left:100%}.sidebar-item:hover{background:linear-gradient(135deg,#00695c0d,#00695c1a);color:#00695c;transform:translate(4px);box-shadow:0 4px 12px #00695c1a}.sidebar-item.active{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;box-shadow:0 6px 20px #00695c4d;transform:translate(4px)}.sidebar-item.active:before{display:none}.sidebar-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-label{font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-details-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background:#fff;height:100%}.embedded-component{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.embedded-component .cancelar-btn,.embedded-component .cerrar-btn{display:none}.edit-employee-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:0;padding:1.5rem;box-sizing:border-box}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.form-field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-weight:600;color:#334155;font-size:.95rem}.edit-employee-form input,.edit-employee-form select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;width:100%;box-sizing:border-box}.edit-employee-form input:focus,.edit-employee-form select:focus{border-color:#00695c;box-shadow:0 0 0 3px #00695c1a;outline:none}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.status-change-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:2rem}.status-icon{width:100px;height:100px;background:linear-gradient(135deg,#00695c,#004d40);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;box-shadow:0 8px 25px #00695c4d}.status-icon svg{width:50px;height:50px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.status-change-content h4{color:#00695c;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.status-message{color:#334155;font-size:1.2rem;line-height:1.6;margin-bottom:1rem;font-weight:500}.status-warning{color:#6c757d;font-size:1rem;line-height:1.6;margin-bottom:2rem;padding:1rem;background:#00695c0d;border-radius:8px;border-left:4px solid #00695C;max-width:500px}.section-content{display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;padding:.5rem;box-sizing:border-box}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.placeholder-icon{width:80px;height:80px;background:linear-gradient(135deg,#00695c,#004d40);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;box-shadow:0 8px 25px #00695c4d}.placeholder-icon svg{width:40px;height:40px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.placeholder-content h4{color:#00695c;font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.placeholder-content p{color:#6c757d;font-size:1.1rem;line-height:1.6;margin-bottom:2rem;max-width:500px}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-decoration:none;box-shadow:0 4px 12px #00000026}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.action-btn:hover:before{left:100%}.action-btn.primary{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;box-shadow:0 6px 20px #00695c4d}.action-btn.primary:hover{background:linear-gradient(135deg,#004d40,#00251a);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #00695c66}.action-btn.danger{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;box-shadow:0 6px 20px #d32f2f4d}.action-btn.danger:hover{background:linear-gradient(135deg,#c62828,#b71c1c);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #d32f2f66}.action-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.welcome-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100%;padding:2rem;text-align:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);overflow-y:auto;box-sizing:border-box}.welcome-icon{width:120px;height:120px;background:linear-gradient(135deg,#00695c,#004d40);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;box-shadow:0 8px 25px #00695c4d;overflow:hidden;border:4px solid white;position:relative;aspect-ratio:1/1;flex-shrink:0}.welcome-icon svg{width:60px;height:60px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.employee-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:50%}.welcome-content h2{color:#00695c;font-size:2rem;font-weight:600;margin-bottom:1rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.welcome-content p{color:#6c757d;font-size:1.1rem;line-height:1.6;margin-bottom:3rem;max-width:500px}.employee-summary{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 8px 25px #00695c1a;border:1px solid rgba(0,105,92,.1);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:600px;box-sizing:border-box}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-item label{font-weight:600;color:#495057;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.summary-item span{color:#00695c;font-size:1.1rem;font-weight:500}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.activo{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.status-badge.desvinculado{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}@media (max-width: 1200px){.employee-details-page-main{padding:1.5rem}.employee-details-sidebar{width:250px}}@media (max-width: 992px){.employee-details-page-header{padding:1.25rem 1.5rem}.header-left{gap:1rem}.header-employee-info h1{font-size:1.5rem}.header-employee-info p{font-size:.9rem}.employee-details-page-main{padding:1rem}.employee-details-sidebar{width:220px}}@media (max-width: 768px){.employee-details-page-header{flex-wrap:wrap;padding:1rem}.header-left{flex:1;min-width:200px}.header-right{flex-shrink:0}.employee-details-container-page{flex-direction:column}.employee-details-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid rgba(0,105,92,.1);padding:1rem 0}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:0 1rem;gap:.5rem}.sidebar-item{min-width:140px;flex-shrink:0;padding:.75rem 1rem;flex-direction:column;gap:.5rem;text-align:center}.sidebar-label{font-size:.8rem}.back-btn span{display:none}.header-logo{height:40px}.header-employee-info h1{font-size:1.3rem}.header-employee-info p{font-size:.85rem}}@media (max-width: 576px){.employee-details-page-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.header-left{width:100%;order:1}.header-right{width:100%;order:2}.back-btn{width:100%;justify-content:center}.header-logo{height:35px}.header-employee-info h1{font-size:1.2rem}.header-employee-info p{font-size:.8rem}.employee-details-page-main{padding:.5rem}.welcome-icon{width:100px;height:100px}.welcome-icon svg{width:50px;height:50px}.placeholder-icon{width:60px;height:60px}.placeholder-icon svg{width:30px;height:30px}.placeholder-content h4{font-size:1.3rem}.welcome-content h2{font-size:1.6rem}.welcome-content p{font-size:1rem}.employee-summary{padding:1.5rem}.action-btn{padding:.625rem 1.25rem;font-size:.9rem}}.employee-details-sidebar::-webkit-scrollbar,.employee-details-content::-webkit-scrollbar{width:6px;height:6px}.employee-details-sidebar::-webkit-scrollbar-track,.employee-details-content::-webkit-scrollbar-track{background:#00695c1a;border-radius:3px}.employee-details-sidebar::-webkit-scrollbar-thumb,.employee-details-content::-webkit-scrollbar-thumb{background:#00695c4d;border-radius:3px}.employee-details-sidebar::-webkit-scrollbar-thumb:hover,.employee-details-content::-webkit-scrollbar-thumb:hover{background:#00695c80}.reportes-container{width:100vw;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.reportes-header{width:100%;background:linear-gradient(135deg,#00695c,#004d40);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #00695c4d;position:sticky;top:0;z-index:1000}.reportes-header .header-left{display:flex;align-items:center;gap:1rem}.reportes-header .logo{height:50px;width:auto}.reportes-header .app-title{font-size:1.5rem;font-weight:600;margin:0}.reportes-header .user-area-chip{background:#fff3;padding:.3rem .8rem;border-radius:8px;font-size:.85rem;font-weight:500}.reportes-header .back-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.reportes-header .back-btn:hover{background:#ffffff40}.reportes-main{flex:1;padding:2rem;overflow-y:auto;overflow-x:hidden;position:relative;max-height:calc(100vh - 100px);scroll-behavior:smooth;min-height:0}.reportes-layout{display:grid;grid-template-columns:250px 1fr;gap:2rem;max-width:1400px;margin:0 auto;align-items:start;position:relative;min-height:0}.reportes-sidebar{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;position:sticky;top:110px;display:flex;flex-direction:column;align-self:start;width:100%;max-width:250px;max-height:calc(100vh - 130px);z-index:10;will-change:auto;align-items:stretch;flex-shrink:0;align-content:flex-start}.reportes-sidebar h2{font-size:1.2rem;font-weight:600;color:#00695c;margin-bottom:.875rem;margin-top:0;flex-shrink:0;padding:0;line-height:1.2;position:relative;z-index:1}.categorias-nav{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 200px);padding-right:.5rem;margin-right:-.5rem;scrollbar-width:thin;scrollbar-color:#94a3b8 #f1f5f9;padding-bottom:.25rem;overscroll-behavior:contain;min-height:0;scroll-behavior:smooth;position:relative;contain:layout style}.categorias-nav::-webkit-scrollbar{width:8px}.categorias-nav::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.categorias-nav::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px;transition:background .2s ease}.categorias-nav::-webkit-scrollbar-thumb:hover{background:#64748b}.categoria-btn{background:transparent;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:background .2s ease,border-color .2s ease,color .2s ease;text-align:left;color:#374151;flex-shrink:0;white-space:nowrap;width:100%;min-height:44px;box-sizing:border-box;margin:0;position:relative;transform:none}.categoria-btn:hover{background:#f9fafb;border-color:#00695c;transform:none}.categoria-btn.active{background:#00695c;border-color:#00695c;color:#fff;position:relative;transform:none}.categoria-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.categoria-icon svg{width:100%;height:100%;stroke:currentColor}.categoria-nombre{font-size:.9rem;font-weight:500}.reportes-content{display:flex;flex-direction:column;gap:2rem;min-width:0;width:100%;overflow-x:hidden;position:relative;min-height:fit-content}.reportes-list-section{position:relative;will-change:auto;top:0;left:0;min-width:0;flex-shrink:0}.reportes-list-section h2,.reportes-config-section h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem;position:relative}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;position:relative;will-change:auto;align-items:start;flex-shrink:0}.reporte-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;position:relative;transform:none;align-self:start}.reporte-card:hover{border-color:#00695c;box-shadow:0 4px 12px #00695c26;transform:none}.reporte-card.selected{border-color:#00695c;background:#f0fdfa;box-shadow:0 4px 12px #00695c33}.reporte-card-header h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.reporte-card-body p{font-size:.9rem;color:#6b7280;line-height:1.5;margin:0}.reportes-config-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;position:relative;margin-top:0;z-index:10;animation:slideInUp .3s ease-out;width:100%;min-width:0;flex-shrink:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.config-panel{display:flex;flex-direction:column;gap:2rem}.config-group{display:flex;flex-direction:column;gap:1rem}.config-group label{font-weight:600;color:#374151;font-size:1rem}.formato-buttons{display:flex;gap:1rem;flex-wrap:wrap}.formato-btn{flex:1;min-width:120px;background:#fff;border:2px solid #e5e7eb;padding:1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;font-weight:500;color:#374151}.formato-btn:hover{border-color:#00695c;background:#f0fdfa}.formato-btn.active{background:#00695c;border-color:#00695c;color:#fff}.formato-btn svg{width:20px;height:20px}.filtros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filtro-item{display:flex;flex-direction:column;gap:.5rem}.filtro-item label{font-size:.9rem;font-weight:500;color:#6b7280}.filtro-item select,.filtro-item input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s ease}.filtro-item select:focus,.filtro-item input:focus{outline:none;border-color:#00695c;box-shadow:0 0 0 3px #00695c1a}.config-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.generar-btn{background:linear-gradient(135deg,#00695c,#004d40);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 12px #00695c4d}.generar-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00695c66}.generar-btn:disabled{opacity:.6;cursor:not-allowed}.generar-btn svg{width:20px;height:20px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#00695c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.empty-state{grid-column:1 / -1;text-align:center;padding:3rem;color:#6b7280}.empty-state p{font-size:1.1rem}@media (max-width: 1024px){.reportes-layout{grid-template-columns:1fr}.reportes-sidebar{position:static;max-height:none}.categorias-nav{flex-direction:row;flex-wrap:wrap;overflow-y:visible;max-height:none}.categoria-btn{flex:1;min-width:150px}}@media (max-width: 768px){.reportes-main{padding:1rem}.reportes-grid{grid-template-columns:1fr}.formato-buttons{flex-direction:column}.formato-btn{width:100%}.filtros-grid{grid-template-columns:1fr}}.modulos-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.categoria-campos{margin-bottom:20px;border:1px solid #e0e0e0;border-radius:8px;padding:15px;background:#fafafa}.categoria-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.categoria-header h4{margin:0;font-size:14px;font-weight:600;color:#333}.categoria-header div{display:flex;gap:8px}.btn-categoria-mini{padding:4px 12px;font-size:12px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.btn-categoria-mini:hover{background:#f0f0f0;border-color:#bbb}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background-color:#fff}.checkbox-label:hover{border-color:#00695c;background-color:#f0f8f7}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#00695C}.checkbox-label input[type=checkbox]:checked+span{color:#00695c;font-weight:600}.checkbox-label span{font-size:.9rem;color:#333;transition:all .3s ease}.empleados-selector{margin-top:.5rem}.empleados-actions{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.btn-select-all,.btn-deselect-all{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-select-all{background-color:#00695c;color:#fff}.btn-select-all:hover:not(:disabled){background-color:#004d40;transform:translateY(-2px);box-shadow:0 4px 8px #00695c4d}.btn-deselect-all{background-color:#e0e0e0;color:#333}.btn-deselect-all:hover:not(:disabled){background-color:#bdbdbd;transform:translateY(-2px)}.btn-select-all:disabled,.btn-deselect-all:disabled{opacity:.5;cursor:not-allowed}.empleados-count{font-size:.9rem;color:#666;font-weight:600;background-color:#f5f5f5;padding:.5rem 1rem;border-radius:6px}.empleados-list{max-height:300px;overflow-y:auto;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;background-color:#fafafa;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem}.empleado-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;background-color:#fff;border:1px solid #e0e0e0}.empleado-checkbox:hover{background-color:#f0f8f7;border-color:#00695c}.empleado-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#00695C}.empleado-checkbox span{font-size:.85rem;color:#333}.empleado-checkbox input[type=checkbox]:checked+span{color:#00695c;font-weight:600}.loading-state-small{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#666;font-size:.9rem}.empleados-list::-webkit-scrollbar{width:8px}.empleados-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.empleados-list::-webkit-scrollbar-thumb{background:#00695c;border-radius:10px}.empleados-list::-webkit-scrollbar-thumb:hover{background:#004d40}.empty-state-empleados{text-align:center;padding:2rem;background-color:#fff3cd;border:2px dashed #ffc107;border-radius:8px;color:#856404}.empty-state-empleados p:first-child{font-size:1rem;font-weight:600;margin:0}.notificaciones-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);overflow:hidden}.notificaciones-header{width:100%;background:linear-gradient(135deg,#00695c,#004d40);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #00695c4d;position:sticky;top:0;z-index:1000}.notificaciones-header .header-left{display:flex;align-items:center;gap:1rem}.notificaciones-header .header-logo{height:50px;width:auto}.notificaciones-header .app-title{font-size:1.5rem;font-weight:600;margin:0}.notificaciones-header .user-area-chip{background:#fff3;padding:.3rem .8rem;border-radius:8px;font-size:.85rem;font-weight:500}.notificaciones-header .header-actions{display:flex;align-items:center;gap:1rem}.notificaciones-header .procesar-btn,.notificaciones-header .back-btn,.notificaciones-header .user-button{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;font-size:.9rem;font-weight:500}.notificaciones-header .procesar-btn:hover,.notificaciones-header .back-btn:hover,.notificaciones-header .user-button:hover{background:#ffffff40}.notificaciones-header .procesar-btn:disabled{opacity:.6;cursor:not-allowed}.notificaciones-header .btn-icon,.notificaciones-header .user-icon{width:18px;height:18px;stroke:currentColor}.notificaciones-main{flex:1;padding:2rem;overflow-y:auto;overflow-x:hidden;max-width:1200px;margin:0 auto;width:100%}.notificaciones-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.filtros-container{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0;padding-bottom:1rem;position:sticky;top:0;background:#fff;z-index:10;padding-top:.5rem}.filtro-btn{background:transparent;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;color:#666;transition:all .2s ease;position:relative}.filtro-btn:hover{background:#f5f5f5;color:#00695c}.filtro-btn.active{background:#00695c;color:#fff}.filtro-btn.active:hover{background:#004d40}.filtro-icon{width:18px;height:18px;stroke:currentColor}.filtro-btn .badge{background:#dc3545;color:#fff;border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;margin-left:.25rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#00695c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:#666;font-size:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.empty-icon{width:64px;height:64px;stroke:#ccc;margin-bottom:1rem}.empty-state p{color:#666;font-size:1.1rem}.notificaciones-list{display:flex;flex-direction:column;gap:1rem}.notificacion-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.notificacion-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.notificacion-card.pendiente{background:#fff9e6;border-left-width:4px}.notificacion-card.leida{opacity:.8}.notificacion-header{margin-bottom:1rem}.notificacion-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.notificacion-titulo{font-size:1.2rem;font-weight:600;color:#333;margin:0;flex:1}.prioridad-badge{padding:.3rem .8rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.notificacion-mensaje{color:#666;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.notificacion-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #e0e0e0}.notificacion-info{display:flex;gap:1.5rem;flex-wrap:wrap;flex:1}.info-item{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.85rem}.info-icon{width:16px;height:16px;stroke:#999}.btn-marcar-leida{background:#00695c;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;transition:all .2s ease}.btn-marcar-leida:hover{background:#004d40}.btn-marcar-leida .btn-icon{width:16px;height:16px;stroke:currentColor}.leida-badge{display:flex;align-items:center;gap:.5rem;color:#28a745;font-size:.9rem;font-weight:500}.leida-badge .btn-icon{width:16px;height:16px;stroke:currentColor}@media (max-width: 768px){.notificaciones-header{padding:1rem;flex-wrap:wrap}.notificaciones-header .header-actions{flex-wrap:wrap}.notificaciones-main{padding:1rem}.notificaciones-content{padding:1.5rem}.filtros-container{flex-direction:column;gap:.5rem}.filtro-btn{width:100%;justify-content:center}.notificacion-footer{flex-direction:column;align-items:stretch}.notificacion-info{flex-direction:column;gap:.75rem}.btn-marcar-leida{width:100%;justify-content:center}}
