body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{height:100%}.approval-container{margin:0 auto;max-width:1200px;padding:20px}.approval-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.approval-header h2{color:#333;font-size:1.8rem;margin:0}.role-badge{background-color:#007bff;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:6px 12px}.approval-loading{color:#666;font-size:1.1rem;padding:40px;text-align:center}.access-denied{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.access-denied h2{color:#dc3545;margin-bottom:15px}.access-denied p{color:#6c757d;font-size:1.1rem}.filter-controls{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:10px;margin-bottom:25px;padding:15px}.filter-controls label{color:#495057;font-weight:500;white-space:nowrap}.filter-select{background-color:#fff;border-radius:8px;box-sizing:border-box;padding:10px 12px;transition:all .2s ease;width:100%}.filter-select:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b833;outline:none}.approval-list-container{margin-top:20px}.no-data{background:#f8f9fa;border:1px solid #e9ecef}.approval-list{grid-gap:20px;display:grid;gap:20px}.approval-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s}.approval-card:hover{box-shadow:0 4px 8px #00000026}.approval-card-header{align-items:flex-start;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.employee-info h4{color:#495057}.employee-email{color:#6c757d;font-size:.9rem}.absence-card .status-badge,.absences-list .status-badge,.approval-container .status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;letter-spacing:.5px;line-height:1.2;padding:8px 16px;text-transform:uppercase;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.absence-card .status-pending,.absences-list .status-pending,.approval-container .status-pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.absence-card .status-approved,.absences-list .status-approved,.approval-container .status-approved{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.absence-card .status-doc-pending,.absences-list .status-doc-pending,.approval-container .status-doc-pending{background-color:#e0f2fe;border:1px solid #bae6fd;color:#075985}.absence-card .status-rejected,.absences-list .status-rejected,.approval-container .status-rejected{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.absence-card .status-cancelled,.absences-list .status-cancelled,.approval-container .status-cancelled{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.approval-details{gap:15px}.approval-details,.detail-section{display:flex;flex-direction:column}.detail-section{gap:8px}.detail-row{align-items:flex-start;display:flex;gap:10px}.detail-label{color:#6c757d;flex-shrink:0;font-weight:500;min-width:100px}.detail-row span:last-child{color:#495057;flex:1 1}.absence-type{color:#007bff;font-weight:500}.days-count{color:#28a745;font-weight:500}.absence-reason{border-left:3px solid #007bff}.absence-comment,.absence-reason{background:#f8f9fa;border-radius:4px;color:#495057;font-style:italic;padding:8px}.absence-comment{border-left:3px solid #fbff00}.approval-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.approval-comments{color:#495057;font-style:italic}.approval-actions{border-top:1px solid #f1f3f4;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:15px}.btn-approve{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s ease}.btn-approve:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-approve:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;cursor:not-allowed;transform:none}.btn-reject{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s ease}.btn-reject:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-reject:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;cursor:not-allowed;transform:none}.btn-doc-request{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s ease}.btn-doc-request:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-doc-request:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;cursor:not-allowed;transform:none}.btn-cancel{align-items:center;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s ease}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-cancel:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;cursor:not-allowed;transform:none}.modal-content{box-shadow:0 10px 30px #0000004d}.modal-header{border-bottom:1px solid #e9ecef}.modal-header h3{color:#495057;font-size:1.3rem}.modal-close{color:#6c757d}.modal-close:hover{color:#495057}.absence-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:20px;padding:15px}.absence-summary p{color:#495057;margin:5px 0}.comments-section{margin-top:20px}.comments-section label{color:#495057;display:block;font-weight:500;margin-bottom:8px}.comments-section textarea{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;resize:vertical;width:100%}.comments-section textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modal-actions{border-top:1px solid #e9ecef;padding:20px}@media (max-width:768px){.approval-container{padding:15px}.approval-header{gap:15px}.approval-header,.filter-controls{align-items:flex-start;flex-direction:column}.filter-controls{gap:10px}.filter-select{min-width:0;min-width:auto;width:100%}.approval-card-header{align-items:flex-start;flex-direction:column;gap:10px}.detail-row{flex-direction:column;gap:5px}.detail-label{min-width:0;min-width:auto}.approval-actions{flex-direction:column}.modal-content{margin:20px;width:95%}.modal-actions{flex-direction:column}}.approval-actions--inline{border-top:none;display:flex;gap:8px;justify-content:flex-end;margin-top:10px;padding-top:0}.absence-approval-container{margin:0 auto;max-width:1200px;padding:24px 0;width:100%}.absence-approval-container h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0 0 32px;padding:0 24px}.approval-summary{margin:0 24px 32px}.summary-card--info{background:#ecfeff;border-color:#bae6fd}.summary-card--info .summary-card__value{color:#0891b2}@media (max-width:768px){.approval-summary{margin:0 16px 24px;padding:16px}.approval-summary__header{align-items:flex-start;flex-direction:column}.approval-summary__actions{justify-content:space-between;width:100%}.summary-refresh-btn{text-align:center;width:100%}}.filters-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px;padding:0 24px}.filter-group{min-width:220px}.filter-group label{display:block;margin-bottom:0}.loading-message{color:#64748b;padding:24px;text-align:center}.absences-list{display:flex;flex-direction:column;gap:16px;padding:0 24px}.no-results{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;margin:0;padding:40px;text-align:center}.absence-header h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.absence-details p{color:#475569;font-size:14px;margin:0}.absence-details strong{color:#1e293b;font-weight:500}.action-buttons{border-top:1px solid #f1f5f9;justify-content:flex-end;margin-top:15px;padding-top:15px}@media (max-width:768px){.absence-approval-container{padding:16px 0}.absence-approval-container h2{font-size:1.3rem;margin-bottom:24px;padding:0 16px}.filters-container{align-items:flex-start;flex-direction:column;gap:12px;padding:0 16px 16px}.filter-group{min-width:100%;width:100%}.absences-list{gap:12px;padding:0 16px}.absence-card{padding:20px}.action-buttons{flex-direction:column;gap:8px}.action-buttons button{justify-content:center;width:100%}.error-message{margin:0 16px 20px}}.absence-request-container{margin:0 auto;max-width:1200px;width:100%}.absence-request-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px;padding:0 24px}.absence-request-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.header-actions{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#4b5563;cursor:pointer;font-size:14px;font-weight:500;gap:8px;margin:0 24px 32px;max-height:70px;padding:10px 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.logout-btn:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#111827}.logout-btn:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.logout-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.logout-btn svg{flex-shrink:0;height:16px;width:16px}.absence-request-loading{color:#64748b;font-size:1.1rem;padding:40px;text-align:center}.error-message{border-radius:8px;margin:0 24px 24px;padding:12px 16px}.absence-form-container{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;margin:0 24px 32px;padding:24px}.absence-form-container h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin:0 0 24px}.absence-form{display:flex;flex-direction:column;gap:20px}.form-group{width:100%}.form-group input,.form-group select,.form-group textarea{background-color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b833}.form-group textarea{min-height:100px}.form-actions{width:100%}.form-actions .logout-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.form-actions .logout-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#111827;transform:translateY(-1px)}.form-actions .logout-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.form-actions .logout-btn svg{flex-shrink:0;height:16px;width:16px}.btn-primary{align-items:center;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f;color:#64748b;display:inline-flex;gap:8px;padding:12px 20px;text-decoration:none}.btn-primary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-primary:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;transform:none}.btn-secondary{align-items:center;background-color:#fff;box-shadow:0 1px 2px #0000000d;display:inline-flex;gap:8px}.btn-secondary:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#111827}.btn-minimal{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 14px;transition:all .2s ease}.btn-minimal:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b;transform:translateY(-1px)}.btn-minimal:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1;cursor:not-allowed;transform:none}.btn-danger{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background-color:#fee2e2;border-color:#fca5a5}.btn-danger:disabled{background-color:#f8fafc;border-color:#e2e8f0;color:#cbd5e1;cursor:not-allowed}.absence-list-container{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;margin:0 24px;padding:24px}.absence-list-container h3{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.3rem;font-weight:600;margin:0 0 20px;padding-bottom:16px}.absence-filters{flex-wrap:wrap;gap:16px}.no-data{border:1px dashed #e2e8f0;border-radius:8px;margin:0}.absence-list{display:flex;flex-direction:column;gap:16px}.absence-card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;padding:24px;transition:all .2s ease}.absence-card:hover{background:#f9fafb;border-color:#e5e7eb;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;transform:translateY(-1px)}.absence-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.absence-header h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.status-badge{border-radius:9999px;line-height:1;padding:12px 4px;width:-webkit-fit-content;width:fit-content}.status-pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-approved{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-doc-pending{background-color:#e0f2fe;border:1px solid #bae6fd;color:#075985}.status-rejected{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-cancelled{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.absence-details{display:flex;flex-direction:column;gap:8px}.file-hint{color:#64748b;display:block;font-size:12px;margin-top:6px}.absence-actions{border-top:1px solid #f1f3f4;display:flex;gap:8px;justify-content:flex-end;margin-top:15px;padding-top:15px}@media (max-width:1024px){.absence-request-container{padding:20px 0}.absence-form-container,.absence-list-container,.absence-request-header{margin-left:20px;margin-right:20px}}@media (max-width:768px){.absence-request-container{padding:16px 0}.absence-request-header{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px;padding:0 16px}.absence-form-container,.absence-list-container{margin-left:16px;margin-right:16px;padding:20px}.form-row{gap:16px}.form-actions{flex-direction:column;gap:12px}.form-actions button{width:100%}.btn-minimal,.btn-primary,.btn-secondary{justify-content:center;width:100%}.tipo-ausencia-with-info{flex-direction:column}.tipo-ausencia-with-info .form-row{flex-direction:column;min-width:100%;width:100%}.info-dias-disponibles,.tipo-ausencia-with-info .form-group{min-width:100%;width:100%}}.detail-label{min-width:0;min-width:auto}.modal-overlay{background:#0f172a73}.modal{border:1px solid #0000000f;box-shadow:0 10px 25px #0000001f,0 4px 10px #00000014;max-width:480px;padding:20px}.modal-title{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 8px}.modal-text{color:#475569;font-size:14px;margin:0 0 16px}.form-subtitle.notice{background:#fff8e1;border:1px solid #feecb5;border-left:4px solid #f59e0b;border-radius:8px;color:#92400e;font-size:13px;margin:-8px 0 16px;padding:10px 12px}.btn-small{border-radius:12px;font-size:12px;padding:16px 26px}.filter-error{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;color:#b91c1c;font-size:12px;margin:-4px 0 12px;padding:8px 10px}.absence-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.absence-filters .form-group{min-width:220px}.sort-icon-btn{align-items:center;display:inline-flex;height:40px;justify-content:center;min-width:40px;padding:8px 10px}.sort-icon-btn svg{height:18px;width:18px}.sort-icon-btn[aria-pressed=true]{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.absence-filters.filters-one-line{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-auto-flow:row dense;grid-template-columns:repeat(5,minmax(0,1fr))}.absence-filters.filters-one-line .form-group{min-width:180px;width:100%}@media (max-width:1200px){.absence-filters.filters-one-line{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:992px){.absence-filters.filters-one-line{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.absence-filters.filters-one-line{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:576px){.absence-filters.filters-one-line{grid-template-columns:1fr;justify-self:stretch}.absence-filters.filters-one-line .sort-icon-btn{width:100%}}.input-with-icon{align-items:center;display:flex;gap:8px}.input-with-icon input[type=date]{flex:1 1}.input-with-icon .sort-icon-btn{height:40px;min-width:40px;padding:8px 10px}.clear-icon-btn{align-items:center;border-radius:12px;display:inline-flex;height:40px;justify-content:center;line-height:0;padding:0;width:40px}.clear-icon-btn svg{height:var(--icon-size);width:var(--icon-size)}.team-calendar-btn{align-items:center;background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.team-calendar-btn:hover{background:#4f46e5;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.team-calendar-container{margin-top:20px}.tabs-container{margin:0 24px 16px}.tabs{align-items:center;border-bottom:1px solid #f1f5f9;gap:8px;padding-bottom:8px}.tab-btn{border:1px solid #e5e7eb;color:#4b5563;padding:8px 14px}.tab-btn:hover{background:#f8fafc;color:#1e293b;transform:translateY(-1px)}.tab-btn.active{border-color:#c7d2fe;box-shadow:0 4px 12px #0000000f}@media (max-width:768px){.tabs-container{margin:0 16px 12px}.tabs{flex-wrap:wrap;gap:6px}.tab-btn{flex:1 1 auto;justify-content:center}}.tipo-ausencia-with-info{margin-bottom:20px}.tipo-ausencia-with-info .form-row{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:24px;margin:0}.tipo-ausencia-with-info .form-group{flex:1 1 320px;min-width:260px}.info-dias-disponibles{display:flex;flex:0 0 260px;flex-direction:column;gap:8px;min-width:240px}.badge-dias-disponibles{background-color:#e8f5e9;border:1px solid #4caf50;border-radius:4px;color:#2e7d32;display:inline-block;font-size:14px;font-weight:500;padding:.5rem 1rem}.dias-acumulados{color:#666;font-size:.85rem;font-weight:400;margin-left:.5rem}.warning-text{color:#d32f2f;font-size:.9rem;margin-bottom:0;margin-top:.5rem}.help-text{color:#666;display:block;font-size:.85rem;margin-top:.25rem}.atm-card--nopad{border-radius:12px;overflow:hidden;padding:0!important}.atm-scroll-x{overflow-x:auto}.info-message{background-color:#e0f2fe;border-left:3px solid #0ea5e9;border-radius:6px;color:#0369a1;font-size:.875rem;line-height:1.4;margin-top:8px;padding:10px 14px}.atm-table{border-collapse:collapse;text-align:left;width:100%}.atm-table thead th{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;color:#475569;font-size:13px;font-weight:600;letter-spacing:.025em;padding:14px 16px;text-transform:uppercase}.atm-table tbody td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px;padding:16px;vertical-align:middle}.atm-table tbody tr:last-child td{border-bottom:none}.atm-table tbody tr{transition:background-color .15s ease}.atm-table tbody tr:hover{background-color:#f9fafb}.btn-activate{background:#007bff;border:1px solid #0056b3;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.btn-activate:hover:not(:disabled){background:#0056b3;border-color:#004085;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.btn-activate:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.btn-activate:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.atm-table{table-layout:auto}.atm-table td,.atm-table th{white-space:normal;word-break:break-word}.atm-table td:nth-child(2),.atm-table td:nth-child(3),.atm-table td:nth-child(4),.atm-table th:nth-child(2),.atm-table th:nth-child(3),.atm-table th:nth-child(4){white-space:nowrap}.atm-table td:last-child,.atm-table th:last-child{width:1%}.atm-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.atm-actions .btn-activate,.atm-actions .btn-danger,.atm-actions .logout-btn{align-items:center;display:inline-flex;font-size:13px;justify-content:center;min-width:90px;padding:8px 14px;text-align:center;white-space:nowrap}@media (max-width:768px){.atm-table thead th{font-size:12px;padding:12px 14px}.atm-table tbody td{padding:14px}.atm-table td:first-child,.atm-table th:first-child{width:40%}.atm-actions{gap:8px}}@media (max-width:640px){.atm-actions{align-items:stretch;flex-direction:column;gap:8px}.atm-actions>*{min-width:100%;width:100%}}.absence-request-container .modal{border-radius:12px;max-height:700px;max-width:640px;padding:28px}.absence-request-container .modal-title{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 20px;padding-bottom:16px}.absence-request-container .modal .form-group{margin-bottom:20px}.absence-request-container .modal .form-group label{color:#475569;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.absence-request-container .modal .form-group input,.absence-request-container .modal .form-group select{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.absence-request-container .modal .form-group input:focus,.absence-request-container .modal .form-group select:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826;outline:none}.absence-request-container .modal .form-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.absence-request-container .modal .form-row .form-group{flex:1 1;margin-bottom:0;min-width:250px}.absence-request-container .modal .form-group label input[type=checkbox]{cursor:pointer;margin-right:8px;width:auto}.absence-request-container .modal-actions{border-top:1px solid #f1f5f9;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.absence-request-container .modal-actions .btn-primary,.absence-request-container .modal-actions .btn-secondary{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .2s ease}@media (max-width:768px){.absence-request-container .modal{max-width:95%;padding:24px 20px}.absence-request-container .modal .form-row{flex-direction:column;gap:0}.absence-request-container .modal .form-row .form-group{margin-bottom:20px;min-width:100%}.absence-request-container .modal-actions{flex-direction:column;gap:10px}.absence-request-container .modal-actions button{width:100%}}.absence-request-container{padding:24px 0}.absence-request-container .absence-request-header{margin-bottom:28px;padding:0 24px}.absence-request-container .absence-request-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;letter-spacing:-.025em}.absence-request-container .absence-list-container{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014;margin:0 24px;overflow:hidden;padding:0}.absence-request-container .absence-list-container h3{background:#fafbfc;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.125rem;font-weight:600;margin:0;padding:20px 24px}.absence-request-container .atm-filters{align-items:flex-end;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:16px 24px 12px}.absence-request-container .atm-filter-group{display:flex;flex-direction:column;gap:6px}.absence-request-container .atm-filter-group label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.absence-request-container .atm-filter-group input,.absence-request-container .atm-filter-group select{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;min-width:220px;padding:8px 12px;transition:all .2s ease}.absence-request-container .atm-filter-group input:focus,.absence-request-container .atm-filter-group select:focus{background-color:#fff;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826;outline:none}.absence-request-container .atm-filter-actions{margin-left:auto}.absence-request-container .atm-filter-actions .btn-secondary{background:#fff;border:1px solid #cbd5f5;border-radius:8px;color:#3b82f6;font-weight:500;padding:8px 16px;transition:all .2s ease}.absence-request-container .atm-filter-actions .btn-secondary:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.absence-request-container .atm-filter-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.absence-request-container .atm-filters{align-items:stretch;flex-direction:column;gap:12px}.absence-request-container .atm-filter-group input,.absence-request-container .atm-filter-group select{min-width:0;width:100%}.absence-request-container .atm-filter-actions{margin-left:0}.absence-request-container .atm-filter-actions .btn-secondary{width:100%}}.absence-request-container .no-data{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;margin:40px 24px;padding:32px;text-align:center}.atm-table .status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;justify-content:center;line-height:1.2;padding:6px 12px;white-space:nowrap}@media (max-width:1024px){.absence-request-container{padding:20px 0}.absence-request-container .absence-list-container,.absence-request-container .absence-request-header{margin-left:20px;margin-right:20px}}@media (max-width:768px){.absence-request-container{padding:16px 0}.absence-request-container .absence-request-header{margin-bottom:24px;padding:0 16px}.absence-request-container .absence-request-header h2{font-size:1.5rem}.absence-request-container .absence-list-container{margin-left:16px;margin-right:16px}.absence-request-container .absence-list-container h3{font-size:1rem;padding:16px 20px}.atm-table .status-badge{font-size:11px;padding:5px 10px}}@media (max-width:640px){.atm-table{min-width:600px}}.floor-modal-backdrop{align-items:center;background:#0f172a73;display:flex;height:100vh;justify-content:center;left:0;padding:16px;position:fixed;top:0;width:100vw;z-index:1000}.floor-modal{animation:floorModalFadeIn .25s ease;background:#fff;border-radius:16px;box-shadow:0 16px 40px #0f172a40;display:flex;flex-direction:column;max-width:420px;width:100%}.floor-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px 16px}.floor-modal-header h2{color:#0f172a;font-size:20px;font-weight:600;margin:0}.floor-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:24px;line-height:1;transition:color .2s ease}.floor-modal-close:hover{color:#0f172a}.floor-modal-body{padding:20px 24px}.floor-modal-description{color:#475569;font-size:14px;line-height:1.6;margin:0 0 16px}.floor-modal-select-wrapper{display:flex;flex-direction:column;gap:6px}.floor-modal-label{color:#1e293b;font-size:13px;font-weight:600}.floor-modal-select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.floor-modal-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.floor-modal-error{color:#dc2626;font-size:13px;margin-top:4px}.floor-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.btn{border-radius:12px;padding:10px 18px;transition:transform .1s ease,box-shadow .2s ease}.btn-primary{background-color:#2563eb}.btn-primary:hover{background-color:#1d4ed8;box-shadow:0 8px 16px #2563eb40}.btn-secondary{color:#0f172a}.btn-secondary:hover{background-color:#cbd5e1;box-shadow:0 8px 16px #0f172a26}@keyframes floorModalFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.weekly-schedule-calendar{background:#fff;border:1px solid #e5e7eb;margin-bottom:32px;padding:32px 24px}.schedule-header{margin-bottom:32px;text-align:center}.schedule-header h3{color:#111827;font-size:20px;font-weight:400;letter-spacing:-.3px;margin:0 0 8px}.schedule-subtitle{color:#9ca3af;font-size:13px;font-weight:400;margin:0}.days-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr);margin-bottom:24px}@media (max-width:768px){.days-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.days-grid{grid-template-columns:repeat(2,1fr)}}.day-card{background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;justify-content:space-between;min-height:80px;padding:16px 12px;text-align:center;transition:border-color .15s ease}.day-card:hover{border-color:#9ca3af}.day-card.presencial{border-color:#3b82f6}.day-card.presencial:hover{border-color:#2563eb}.day-card.remoto{border-color:#059669}.day-card.remoto:hover{border-color:#047857}.day-card.no-config{background:#f9fafb;border-color:#e5e7eb;opacity:.6}.day-card.today{border-width:2px}.day-header{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:12px}.day-name{color:#374151;font-size:14px;font-weight:400;letter-spacing:.3px}.today-badge{background:#111827;color:#fff;font-size:9px;font-weight:400;letter-spacing:.5px;padding:2px 5px;text-transform:uppercase}.day-location{align-items:center;display:flex;flex-direction:column;gap:4px}.location-text{color:#6b7280;font-size:13px;font-weight:400}.day-card.presencial .location-text{color:#3b82f6}.day-card.remoto .location-text{color:#059669}.no-config-text{color:#9ca3af;font-size:12px;font-style:italic;font-weight:400}.schedule-legend{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:32px;justify-content:center;padding-top:24px}.legend-item{color:#6b7280;font-size:13px;font-weight:400;gap:8px}.legend-indicator{border:1px solid;height:16px;width:16px}.legend-indicator.presencial{border-color:#3b82f6}.legend-indicator.remoto{border-color:#059669}.legend-indicator.no-config{background:#f9fafb;border-color:#e5e7eb}.no-schedule{padding:48px 24px;text-align:center}.no-schedule p{color:#6b7280;font-size:14px;font-weight:400;margin:8px 0}.help-text{color:#9ca3af;font-size:13px;font-weight:400}.day-schedule{color:#666;display:block;font-size:.85rem;font-weight:500;margin-top:4px}.day-card.today .day-schedule{color:#1976d2;font-weight:600}.attendance-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:32px 24px}.attendance-header{margin-bottom:48px;text-align:center}.attendance-header h1{color:#111827;font-size:32px;font-weight:400;letter-spacing:-.5px;margin-bottom:8px}.current-date{color:#6b7280;font-size:15px;font-weight:400}.message{align-items:center;border:1px solid;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:24px;padding:14px 20px}.error-message{background-color:#fff;border-color:#dc2626}.success-message{background-color:#fff;border-color:#059669;color:#059669}.message-close{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;margin-left:16px;opacity:.6;padding:0;transition:opacity .2s ease}.message-close:hover{opacity:1}.attendance-main{background:#fff;border:1px solid #e5e7eb;margin-bottom:48px;padding:48px 32px;text-align:center}.status-section{margin-bottom:40px}.current-time{color:#111827;font-size:48px;font-weight:300;letter-spacing:-1px;margin-bottom:12px}.status-text{color:#6b7280;font-size:13px;font-weight:400;letter-spacing:1.2px;text-transform:uppercase}.action-buttons{gap:16px;justify-content:center;margin-bottom:40px}.action-btn.attendance-btn{background:#fff;border:1px solid #d1d5db;color:#374151;cursor:pointer;font-size:14px;font-weight:400;letter-spacing:.3px;min-width:120px;padding:12px 32px;transition:all .15s ease}.action-btn.attendance-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#111827}.action-btn.attendance-btn:disabled{background:#f9fafb;border-color:#e5e7eb;color:#d1d5db;cursor:not-allowed}.checkin-btn:hover:not(:disabled){border-color:#059669;color:#059669}.checkout-btn:hover:not(:disabled){border-color:#dc2626;color:#dc2626}.today-summary{border-top:1px solid #e5e7eb;padding-top:32px}.summary-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin:0 auto;max-width:500px}.summary-item{text-align:center}.summary-label{color:#6b7280;display:block;font-size:11px;font-weight:400;letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.summary-value{color:#111827;display:block;font-size:15px;font-weight:400}.summary-subvalue{color:#9ca3af;display:block;font-size:12px;font-weight:400;margin-top:4px}.attendance-history-section{margin-top:32px}.attendance-history-card{background:#fff;border:1px solid #e5e7eb;overflow:hidden}.history-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:24px}.history-header h2{color:#111827;font-size:20px;font-weight:400;letter-spacing:-.3px;margin:0}.history-actions{display:flex;gap:12px}.history-content{padding:24px}.history-filters{background:#f9fafb;border-bottom:1px solid #e5e7eb;margin:-24px -24px 24px;padding:24px}.filter-row{align-items:end}.filter-group label{font-weight:400}.filter-input{background:#fff;border:1px solid #d1d5db;font-size:14px;padding:8px 12px;transition:border-color .15s ease}.filter-input:focus{border-color:#6b7280;outline:none}.filter-note{color:#9ca3af;font-size:13px;font-style:italic;margin:16px 0 0}.history-summary{grid-gap:24px;background:#f9fafb;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:32px;padding:24px}.summary-stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:#6b7280;font-size:13px;font-weight:400;margin-bottom:8px}.stat-value{color:#111827;font-size:28px;font-weight:300}.history-table-container{border:1px solid #e5e7eb;overflow-x:auto}.history-table{background:#fff;border-collapse:collapse;width:100%}.history-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:13px;font-weight:400;padding:16px 12px;text-align:left}.history-table td{border-bottom:1px solid #f3f4f6;font-size:14px;padding:14px 12px;vertical-align:middle}.record-row:hover{background-color:#f9fafb}.record-row.completo{border-left:2px solid #059669}.record-row.incompleto{border-left:2px solid #f59e0b}.record-row.sin_ingreso{border-left:2px solid #dc2626}.date-cell{color:#111827;font-weight:400}.time-cell{font-size:13px}.hours-cell,.time-cell{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:400}.hours-cell{color:#374151}.status-cell .status-badge{align-items:center;border:1px solid;display:inline-flex;font-size:12px;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.status-badge.completo{background-color:#fff;border-color:#059669;color:#059669}.status-badge.incompleto{background-color:#fff;border-color:#f59e0b;color:#f59e0b}.status-badge.sin_ingreso{background-color:#fff;border-color:#dc2626;color:#dc2626}.status-badge.vacacion{background-color:#fff;border-color:#3b82f6;color:#3b82f6}.status-badge.ausencia{background-color:#fff;border-color:#a855f7;color:#a855f7}.status-badge.feriado{background-color:#fff;border-color:#0f766e;color:#0f766e}.status-badge.feriado_trabajado{background-color:#fff;border-color:#15803d;color:#15803d}.record-row.feriado{border-left:2px solid #0f766e}.record-row.feriado_trabajado{border-left:2px solid #15803d}.status-badge.sin_registro{background-color:#fff;border-color:#ef4444;color:#ef4444}.history-cards-container{display:flex;flex-direction:column;gap:16px}.history-card{background:#fff;border:1px solid #e5e7eb;padding:20px}.history-card.completo{border-left:2px solid #059669}.history-card.incompleto{border-left:2px solid #f59e0b}.history-card.sin_ingreso{border-left:2px solid #dc2626}.card-header{border-bottom:1px solid #f3f4f6;margin-bottom:16px;padding-bottom:12px}.card-date{color:#111827;font-size:16px;font-weight:400}.card-content{display:flex;flex-direction:column;gap:10px}.card-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.card-label{color:#6b7280;font-size:13px;font-weight:400;min-width:140px}.card-value{color:#111827;flex:1 1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:14px;font-weight:400;word-break:break-word}.empty-state{color:#9ca3af;padding:64px 24px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{color:#6b7280;font-weight:400}.empty-state p{color:#9ca3af}.loading-state{color:#9ca3af;padding:64px 24px;text-align:center}.loading-state .loading-spinner{font-size:32px;margin-bottom:16px}.history-footer{border-top:1px solid #f3f4f6;margin-top:32px;padding-top:24px;text-align:center}.load-more-note{color:#9ca3af;font-size:13px;font-style:italic;margin:12px 0 0}.time-comparison{gap:4px;min-width:80px}.time-comparison,.time-with-status{align-items:center;display:flex;flex-direction:column}.time-with-status{gap:2px}.actual-time{font-size:1.05em;font-weight:400;white-space:nowrap}.planned-time{border:1px solid;box-sizing:border-box;font-size:.75em;opacity:.85;padding:2px 8px;text-align:center;white-space:nowrap;width:100%}.planned-time.ontime{background-color:#fff;border-color:#059669;color:#059669}.planned-time.early{background-color:#fff;border-color:#f59e0b;color:#f59e0b}.planned-time.late{background-color:#fff;border-color:#dc2626;color:#dc2626}.location-cell{min-width:150px}.location-pair{display:flex;flex-direction:column;gap:4px}.location-floor{color:#6b7280;display:block;font-size:12px;font-weight:400;margin-top:2px}.location-type{color:#9ca3af;font-size:.8em;font-weight:400;margin-right:4px}.location-value{font-size:.9em;font-weight:400}.team-attendance-container{margin:0 auto;max-width:1200px;padding:24px}.team-filters-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0d;margin-bottom:24px;padding:20px}.team-filters-card .filter-group label{color:#0f172a;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.team-filters-card .filter-textfield .MuiInputBase-root{background:#f8fafc;border-radius:10px}.team-filters-card .filter-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:14px;padding:10px 14px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;width:100%}.team-filters-card .filter-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 8px 20px #2563eb26;outline:none}.team-filters-card .filter-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(28%) sepia(54%) saturate(3188%) hue-rotate(212deg) brightness(96%) contrast(95%)}.team-filters-card .filter-input::-moz-focus-inner{border:0}.team-filters-card .filter-textfield .MuiOutlinedInput-notchedOutline{border-color:#cbd5e1}.team-filters-card .filter-textfield .Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2563eb;box-shadow:0 8px 20px #2563eb26}.team-filters-card .filters-footer{display:flex;justify-content:flex-end}.team-filters-card .filter-reset-button{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,color .2s ease,background .2s ease}.team-filters-card .filter-reset-button:hover{border-color:#2563eb;color:#2563eb}.filters-paper{background-color:#f9fafb;border:1px solid #e5e7eb;margin-bottom:32px;padding:20px}.filters-row{align-items:flex-end;margin-top:16px}.team-table-container{border:1px solid #e5e7eb;margin-top:16px;overflow:hidden}.team-table-container .MuiTable-root{min-width:1000px}.team-table-container .MuiTableRow-root:hover{background-color:#f9fafb}.team-table-container .MuiTableCell-root{border-bottom:1px solid #f3f4f6;padding:14px 16px}.team-table-container .MuiTableHead-root{background-color:#f9fafb}.team-table-container .MuiTableHead-root .MuiTableCell-root{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:400}.team-table-container .MuiTableBody-root .MuiTableRow-root:nth-of-type(odd){background-color:#fff}.metrics-grid{margin-bottom:8px;margin-top:24px}.metrics-grid .MuiGrid-item{display:flex}.metric-card{border-radius:16px;box-shadow:0 12px 30px #0f172a0d;height:100%;width:100%}.metric-card .MuiCardContent,.metric-card .MuiCardContent-root{display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:20px;width:100%}.metric-card .metric-value{color:#0f172a;font-weight:600;margin:8px 0}.metric-card .metric-helper{color:#64748b;font-size:.9rem}.expandable-row{background-color:#f9fafb}.expandable-content{background-color:#fff;border-top:1px solid #e5e7eb;padding:20px}.detail-table{background-color:#fff;margin-top:12px;overflow:hidden}.detail-table .MuiTableHead-root,.detail-table .MuiTableRow-root:hover{background-color:#f9fafb}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.attendance-container{padding:24px 16px}.attendance-header h1{font-size:28px}.current-time{font-size:40px}.action-buttons{flex-direction:column;gap:12px}.action-btn.attendance-btn{width:100%}.summary-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.history-header{align-items:stretch;flex-direction:column;text-align:center}.history-actions{justify-content:center}.history-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:20px}.filter-row{align-items:stretch;flex-direction:column}.desktop-only{display:none}.mobile-only{display:block}.filters-row{grid-template-columns:1fr}.team-table-container{overflow-x:auto}.filters-row>*{width:100%}}@media (max-width:480px){.attendance-container{padding:16px}.attendance-main{padding:32px 20px}.current-time{font-size:36px}.action-btn.attendance-btn{font-size:14px;padding:10px 24px}.history-summary{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(3,1fr)}.planned-time{font-size:.7em;padding:1px 6px}.summary-item{padding:8px 4px}}:root{--auth-page-bg:#f5f7fb;--auth-card-shadow:0 20px 50px #0f172a14;--auth-card-radius:16px;--auth-primary:#007bff;--auth-primary-dark:#0062d1;--auth-text:#1f2937;--auth-text-muted:#4b5563;--auth-border:#e5e7eb}.auth-page{align-items:center;background:#f5f7fb;background:var(--auth-page-bg);display:flex;justify-content:center;min-height:100vh;padding:40px 16px}.auth-card{background:#fff;border-radius:16px;border-radius:var(--auth-card-radius);box-shadow:0 20px 50px #0f172a14;box-shadow:var(--auth-card-shadow);max-width:480px;padding:40px;width:100%}@media (max-width:640px){.auth-card{padding:28px}}.auth-header{margin-bottom:24px;text-align:center}.auth-header-icon{color:#007bff;color:var(--auth-primary);margin-bottom:12px}.auth-header h1{color:#1f2937;color:var(--auth-text);font-size:24px;font-weight:600;margin-bottom:8px}.auth-header p{color:#4b5563;color:var(--auth-text-muted);font-size:14px;margin:0}.auth-form{gap:20px}.auth-form,.auth-form .form-group{display:flex;flex-direction:column}.auth-form .form-group{gap:8px}.auth-form label{color:#1f2937;color:var(--auth-text);font-size:14px;font-weight:500}.auth-form input{border:1px solid #e5e7eb;border:1px solid var(--auth-border);border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{border-color:#007bff;border-color:var(--auth-primary);box-shadow:0 0 0 3px #007bff26;outline:none}.auth-form input:disabled{background-color:#f8fafc;cursor:not-allowed}.auth-primary-button{align-items:center;background:#007bff;background:var(--auth-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.auth-primary-button:hover:not(:disabled){box-shadow:0 10px 20px #007bff40;transform:translateY(-1px)}.auth-primary-button:disabled{cursor:not-allowed;opacity:.65}.auth-link{align-items:center;color:#007bff;color:var(--auth-primary);display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#0062d1;color:var(--auth-primary-dark)}a.auth-primary-button{text-decoration:none}.auth-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.auth-icon-wrapper .success-icon{color:#38a169}.auth-icon-wrapper .error-icon{color:#e53e3e}.auth-status-text{color:#4b5563;color:var(--auth-text-muted);line-height:1.5;margin-bottom:16px;text-align:center}.first-login-page{padding:48px 16px}.first-login-card{max-width:500px;padding:40px}.first-login-form{display:flex;flex-direction:column;gap:20px}.success-message{align-items:center;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#047857;display:flex;font-size:14px;gap:8px;padding:12px}.form-group label{color:var(--auth-text)}.password-input-wrapper input:disabled{cursor:not-allowed}.password-requirements{background-color:#f8fafc;border:1px solid #e5e7eb}@media (max-width:640px){.first-login-card{padding:28px}}.forgot-password-page{padding:48px 16px}.forgot-password-card{max-width:420px;padding:36px}.forgot-password-form .form-group label{color:var(--auth-text)}.forgot-password-form .form-group input::placeholder{color:#9ca3af}.forgot-password-form .form-group input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 3px #007bff1f}.forgot-password-form .form-group input:disabled{background-color:#f5f7fb}.back-link svg{color:inherit}.login-container{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeInUp .6s ease;background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;max-width:400px;padding:40px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:32px;text-align:center}.login-logo{height:48px;margin-bottom:16px;width:auto}.login-header h1{color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.login-header p{color:#64748b;font-size:14px;font-weight:500}.login-form{margin-bottom:32px}.required{color:#dc2626}.form-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-input::placeholder{color:#94a3b8}.form-input:focus{border-color:#64748b;box-shadow:0 0 0 2px #64748b1a;outline:none}.form-input.error{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261a}.error-message{background-color:#fef2f2;font-size:13px;font-weight:500;margin-top:6px;padding:8px 12px}.login-button{align-items:center;background:#1e293b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:normal;padding:12px 16px;text-transform:none;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){background:#334155;box-shadow:0 4px 12px #1e293b26,0 2px 6px #1e293b1a;transform:translateY(-1px)}.login-button:disabled{background:#cbd5e1;box-shadow:none;color:#94a3b8;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.forgot-password-link{margin-top:16px;text-align:center}.forgot-password-link a{color:#667eea;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.forgot-password-link a:hover{color:#764ba2;text-decoration:underline}.login-footer{margin-top:24px;text-align:center}.login-footer p{color:#64748b;font-size:13px;line-height:1.4}@media (max-width:480px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-header h1{font-size:24px}.login-form,.login-header{margin-bottom:24px}}@media (max-width:360px){.login-card{padding:24px 20px}}.reset-password-page{padding:48px 16px}.reset-password-card{max-width:500px;padding:40px}.reset-password-form .form-group label{color:var(--auth-text)}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;gap:8px;padding:12px}.form-group{gap:8px}.password-input-wrapper input{border:1px solid #e2e8f0;padding:12px 40px 12px 12px;transition:border-color .2s}.password-input-wrapper input:focus{border-color:var(--auth-primary)}.password-input-wrapper input:disabled{background-color:#f5f7fb}.toggle-password{color:#718096;right:12px}.toggle-password:hover{color:#2d3748}.field-error{color:#e53e3e;font-size:12px;margin-top:-4px}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:12px;transition:transform .2s,box-shadow .2s;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.back-link{color:#667eea;display:block;font-size:14px;font-weight:500;text-align:center;text-decoration:none;transition:color .2s}.back-link:hover{color:#764ba2}.error-icon-wrapper,.success-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.success-icon{color:#38a169}.error-icon{color:#e53e3e}.reset-password-card h1{color:#1a202c;font-size:24px;font-weight:600;margin-bottom:16px;text-align:center}.error-text,.success-message{color:#2d3748;font-size:14px;line-height:1.6;margin-bottom:16px;text-align:center}.success-note{color:#718096;font-size:13px;line-height:1.5;margin-bottom:24px;text-align:center}.action-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;padding:12px;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s;width:100%}.action-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}@media (max-width:640px){.reset-password-card{padding:24px}.reset-password-card h1,.reset-password-header h1{font-size:20px}.error-icon,.header-icon,.success-icon{height:40px;width:40px}}.area-management{margin:0 auto;max-width:1200px;padding:20px}.area-header{align-items:center;border-bottom:2px solid #e0e0e0;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.area-header h2{color:#333;margin:0}.area-management.loading{color:#666;font-size:18px;padding:50px;text-align:center}.area-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.area-form{background:#fff;border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.area-form h3{color:#333;margin-bottom:25px;margin-top:0;text-align:center}.areas-list{margin-top:20px}.no-areas{background-color:#f8f9fa;border-radius:8px;color:#666;font-size:16px;padding:50px;text-align:center}.areas-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.area-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 15px 35px #0f172a0d;display:flex;flex-direction:column;min-height:260px;padding:24px;transition:box-shadow .2s,transform .2s}.area-card:hover{box-shadow:0 20px 45px #0f172a14;transform:translateY(-2px)}.area-info{flex-direction:column;gap:12px}.area-card__header{text-align:center}.area-card__header h4{color:#0f172a;font-size:1.2rem;font-weight:700;margin:0}.area-meta-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr;justify-items:stretch;width:100%}.meta-column{display:flex;flex-direction:column;gap:8px;width:100%}.area-actions{margin-top:auto}.area-actions--fixed{align-self:flex-end}.area-status{border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.area-status--active{background-color:#ccfbf1;color:#0f766e}.area-status--inactive{background-color:#fee2e2;color:#991b1b}.area-meta{display:flex;flex-direction:column;gap:8px}.meta-item{align-items:center;color:#334155;flex-wrap:wrap;font-size:.875rem;gap:4px}.meta-item strong{color:#0f172a;font-weight:600}.meta-item--gerente{color:#059669;font-weight:500}.meta-item--director{color:#0891b2;font-weight:500}.meta-warning{color:#dc2626;font-size:.75rem;font-weight:600;margin-left:4px}.area-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.area-btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s}.area-btn svg{pointer-events:none}.area-btn--ghost{background-color:#f8fafc;border-color:#e2e8f0;color:#0f172a}.area-btn--ghost:hover{background-color:#e2e8f0}.area-btn--danger{background-color:#fef2f2;border-color:#fecaca;color:#b91c1c}.area-btn--danger:hover{background-color:#fee2e2}.area-btn--warning{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.area-btn--warning:hover{background-color:#fde68a}.area-btn--success{background-color:#d1fae5;border-color:#a7f3d0;color:#065f46}.area-btn--success:hover{background-color:#a7f3d0}.area-field-note{color:#475569;display:block;font-size:.8125rem;margin-top:6px}.confirm-btn--danger{background:#fff6f6;border-color:#fecaca;color:#b91c1c}.confirm-btn--danger:hover{background:#fee2e2}@media (max-width:768px){.area-management{padding:15px}.area-header{align-items:stretch;flex-direction:column;gap:15px}.areas-grid{grid-template-columns:1fr}.area-form{padding:20px;width:95%}.form-actions{flex-direction:column}}.company-management{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px;padding:20px}.company-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px;padding-bottom:16px}.company-header h2{color:#1f2937;margin:0}.company-header p{color:#4b5563;margin:4px 0 0}.company-header-actions{display:flex;gap:10px}.company-toolbar{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;padding:16px}.company-search{display:flex;flex:1 1;gap:8px;min-width:260px}.company-search input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;padding:10px 12px}.company-toggle{align-items:center;color:#374151;display:inline-flex;font-size:14px;gap:8px}.company-placeholder{background:#f8fafc;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;padding:50px;text-align:center}.company-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.company-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0f172a14;display:flex;flex-direction:column;gap:16px;padding:20px;transition:box-shadow .2s ease,transform .2s ease}.company-card:hover{box-shadow:0 10px 18px #0f172a1f;transform:translateY(-2px)}.company-card-body{cursor:pointer;display:flex;flex-direction:column;gap:16px;outline:none}.company-card-body:focus-visible{border-radius:10px;box-shadow:0 0 0 3px #2563eb4d}.company-card-heading{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding-bottom:12px}.company-card-title h3{color:#111827;font-size:1.05rem;margin:0}.company-card-title p{color:#475569;font-size:.9rem;margin:4px 0 0}.company-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.company-meta-item{color:#475569;display:flex;flex-direction:column;font-size:.85rem;gap:4px}.company-meta-item span{color:#94a3b8;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.company-meta-item strong{color:#111827}.company-card-note{background:#fff7ed;border-radius:10px;color:#9a3412;display:flex;flex-direction:column;font-size:.85rem;gap:6px;padding:12px}.company-card-actions{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:12px}.card-btn{background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#1f2937;cursor:pointer;font-size:.9rem;padding:6px 14px;transition:all .2s ease}.card-btn:hover{background:#f8fafc;border-color:#cbd5e1}.card-btn-outline{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.card-btn-outline:hover{background:#fecaca;border-color:#fca5a5}.card-btn-disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.btn-primary{background:#2563eb}.btn-secondary{border:1px solid #e5e7eb;color:#111827}.btn-tertiary{background:#0000;border:1px dashed #d1d5db;border-radius:8px;color:#4b5563;padding:10px 16px}.btn-danger{background:#dc2626;border:none}.btn-disabled{background:#e5e7eb;color:#6b7280;cursor:not-allowed}.company-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.company-modal{background:#fff;border-radius:16px;box-shadow:0 30px 60px #0f172a40;display:flex;flex-direction:column;gap:20px;max-height:90vh;overflow-y:auto;padding:24px;width:min(560px,100%)}.company-modal-header{align-items:center;display:flex;justify-content:space-between}.company-modal-header h3{margin:0}.modal-close{color:#9ca3af}.company-confirm label,.company-form label{color:#111827;display:flex;flex-direction:column;font-weight:600;gap:6px}.company-confirm textarea,.company-form input,.company-form textarea{border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:10px 12px}.company-form .input-error{background:#fef2f2;border-color:#dc2626}.company-form .field-error{color:#dc2626;font-size:12px;margin-top:2px}.company-form .field-hint{color:#6b7280;font-size:12px;margin-top:2px}.company-modal-actions{display:flex;gap:12px;justify-content:flex-end}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.status-pill.is-active{background:#ecfdf5;color:#047857}.status-pill.is-inactive{background:#fef2f2;color:#991b1b}.company-detail{color:#1f2937;display:flex;flex-direction:column;gap:10px}.company-confirm p{color:#1f2937;margin:0 0 10px}.company-confirm-highlight{color:#111827;font-size:16px;font-weight:600}@media (max-width:768px){.company-header{flex-direction:column}.company-header-actions{justify-content:space-between;width:100%}.company-toolbar{align-items:stretch}.company-card-actions,.company-search,.company-toolbar{flex-direction:column}}.company-structure{margin:0 auto;max-width:1400px;padding:20px}.structure-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.structure-header h2{color:#333;margin:0}.structure-actions{display:flex;gap:10px}.company-structure.loading{color:#666;font-size:18px;padding:50px;text-align:center}.org-summary{margin-bottom:30px}.summary-card{border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a}.summary-card h3{color:#333;font-size:18px;margin:0 0 15px}.summary-stats{display:flex;gap:30px}.stat-item{text-align:center}.stat-number{color:#007bff;display:block;margin-bottom:5px}.stat-label{color:#666;font-size:14px}.org-hierarchy{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden}.no-structure{color:#666;padding:50px;text-align:center}.no-structure p{margin:10px 0}.hierarchy-tree{padding:0}.area-node{border-bottom:1px solid #f0f0f0}.area-node:last-child{border-bottom:none}.area-header{align-items:flex-start;cursor:pointer;display:flex;padding:15px 20px;transition:background-color .2s}.area-header:hover{background-color:#f8f9fa}.area-info{align-items:flex-start;display:flex;width:100%}.expand-icon{color:#666;font-size:12px;margin-right:10px;margin-top:2px;transition:transform .2s;-webkit-user-select:none;user-select:none}.expand-icon.expanded{transform:rotate(90deg)}.area-details{flex:1 1}.area-details h4{color:#333;font-size:16px;margin:0 0 5px}.area-details p{color:#666;font-size:14px;line-height:1.4;margin:0 0 10px}.area-stats{display:flex;flex-wrap:wrap;gap:15px}.stat{background-color:#f8f9fa;border-radius:12px;color:#888;font-size:12px;padding:2px 8px}.area-node.level-1 .area-header{background-color:#fafafa;padding-left:40px}.area-node.level-2 .area-header{background-color:#f5f5f5;padding-left:60px}.area-node.level-3 .area-header{background-color:#f0f0f0;padding-left:80px}.area-content{background-color:#fafafa;border-top:1px solid #e9ecef}.team-node{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:12px 20px 12px 50px}.team-node:last-child{border-bottom:none}.team-info h5{color:#495057;font-size:14px;margin:0 0 5px}.team-info p{color:#6c757d;font-size:13px;line-height:1.3;margin:0 0 8px}.team-stats{display:flex;flex-wrap:wrap;gap:12px}.team-stats .stat{background-color:#e9ecef;font-size:11px}.btn-primary,.btn-secondary{font-size:13px;padding:8px 16px}@media (max-width:768px){.company-structure{padding:15px}.structure-header{align-items:stretch;flex-direction:column;gap:15px}.structure-actions,.summary-stats{flex-wrap:wrap;justify-content:center}.summary-stats{gap:20px}.area-header{padding:12px 15px}.area-node.level-1 .area-header{padding-left:30px}.area-node.level-2 .area-header{padding-left:45px}.area-node.level-3 .area-header{padding-left:60px}.team-node{padding-left:40px}.area-stats,.team-stats{flex-direction:column;gap:5px}}.organization-chart{--org-bg:#f6f8fb;--org-surface:#fff;--org-surface-subtle:#f8fafc;--org-border:#e2e8f0;--org-border-strong:#cbd5e1;--org-text-primary:#1e293b;--org-text-secondary:#64748b;--org-text-muted:#94a3b8;--org-radius-lg:18px;--org-radius-md:12px;--org-role-director:#1d4ed8;--org-role-manager:#0284c7;--org-role-leader:#f97316;background:var(--org-bg);box-sizing:border-box;color:var(--org-text-primary);margin:0 auto;max-width:1200px;min-height:100vh;padding:32px 24px}.organization-header{align-items:center;background:var(--org-surface);border:1px solid var(--org-border);border-radius:var(--org-radius-lg);box-shadow:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;padding:28px 24px;text-align:center}.organization-header h1{color:var(--org-text-primary);font-size:1.75rem;font-weight:600;letter-spacing:.01em;margin:0}.organization-header p{color:var(--org-text-secondary);font-size:1rem;margin:0}.org-config-btn-header{margin-top:12px}.org-chart-wrapper{background:var(--org-surface);border:1px solid var(--org-border);border-radius:var(--org-radius-lg);box-shadow:none;overflow:auto;padding:28px}.org-chart-static{gap:40px}.org-chart-static,.org-level{display:flex;flex-direction:column}.org-level{gap:18px}.org-level-title{color:var(--org-text-muted);font-size:.95rem;font-weight:600;letter-spacing:.12em;margin:0;text-transform:uppercase}.org-level-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.org-area-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.org-area-column{background:var(--org-surface);border:1px solid var(--org-border);border-radius:var(--org-radius-md);display:flex;flex-direction:column;gap:20px;padding:20px;transition:all .2s ease}.org-area-column.is-collapsed{background:var(--org-surface-subtle)}.org-area-header-content{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.area-expand-toggle{align-items:center;background:var(--org-border);border-radius:50%;color:var(--org-text-primary);display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:24px;justify-content:center;line-height:1;transition:all .2s ease;width:24px}.org-area-header:hover .area-expand-toggle{background:var(--org-border-strong)}.org-area-column.is-collapsed .org-area-teams{display:none}.org-area-header{cursor:pointer;gap:14px;-webkit-user-select:none;user-select:none}.org-area-header,.org-area-teams{display:flex;flex-direction:column}.org-area-teams{gap:18px}.org-team-column{background:var(--org-surface-subtle);border:1px solid var(--org-border);border-radius:10px;display:flex;flex-direction:column;gap:14px;padding:16px}.org-team-members{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.org-empty-state{border:1px dashed var(--org-border);border-radius:var(--org-radius-md);color:var(--org-text-secondary);padding:48px 0;text-align:center}.org-card,.org-empty-state{background:var(--org-surface)}.org-card{align-items:center;border:1px solid var(--org-border);border-radius:12px;box-shadow:none;display:flex;gap:14px;padding:14px;transition:border-color .2s ease,background-color .2s ease}.org-card.area,.org-card.type-team{background:var(--org-surface-subtle);border-color:var(--org-border)}.org-card.person.is-highlight{background:#f1f5f9;border-color:var(--org-border-strong)}.org-card:hover{border-color:var(--org-border-strong)}.org-card-avatar,.org-card:hover{background:var(--org-surface-subtle)}.org-card-avatar{align-items:center;border:1px solid var(--org-border);border-radius:50%;color:var(--org-text-primary);display:flex;font-size:.95rem;font-weight:600;height:48px;justify-content:center;overflow:hidden;width:48px}.org-card-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.org-card-body{display:flex;flex-direction:column;gap:6px}.org-card-name{color:var(--org-text-primary);font-weight:600}.org-card-role{color:var(--org-text-secondary);font-size:.9rem}.org-card-area{color:var(--org-text-muted);font-size:.85rem}.org-card.size-compact{padding:12px}.org-card.size-compact .org-card-body{gap:4px}.org-card.size-extended{padding:18px}.org-card.size-extended .org-card-avatar{height:56px;width:56px}.org-card.size-extended .org-card-name{font-size:1.05rem}.org-card-badge{align-self:flex-start;background:var(--org-surface-subtle);border:1px solid var(--org-border);border-radius:999px;color:var(--org-text-muted);font-size:.7rem;letter-spacing:.12em;padding:.1rem .55rem;text-transform:uppercase}.org-card.role-director{background:linear-gradient(135deg,#1d4ed814,#1d4ed805);border-color:var(--org-role-director)}.org-card.role-manager{background:linear-gradient(135deg,#0284c714,#0284c705);border-color:var(--org-role-manager)}.org-card.role-leader{background:linear-gradient(135deg,#f9731614,#f9731605);border-color:var(--org-role-leader)}.org-card.role-director .org-card-avatar,.org-card.role-leader .org-card-avatar,.org-card.role-manager .org-card-avatar{border-color:currentColor;color:currentColor}.org-card.role-director .org-card-badge{background:#1d4ed81f;border-color:#1d4ed84d;color:var(--org-role-director)}.org-card.role-manager .org-card-badge{background:#0284c71f;border-color:#0284c74d;color:var(--org-role-manager)}.org-card.role-leader .org-card-badge{background:#f973161f;border-color:#f973164d;color:var(--org-role-leader)}.org-card.role-director .org-card-name,.org-card.role-leader .org-card-name,.org-card.role-manager .org-card-name{color:var(--org-text-primary)}@media (max-width:768px){.organization-chart{padding:24px 16px}.org-chart-wrapper{padding:20px}.org-area-grid,.org-team-members{grid-template-columns:1fr}.org-config-panel{width:100%}}.error-message,.loading{align-items:center;background:var(--org-surface);border:1px solid var(--org-border);border-radius:var(--org-radius-md);box-shadow:none;color:var(--org-text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:220px}.loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--org-border);border-radius:50%;border-top-color:var(--org-text-primary);height:44px;margin-bottom:16px;width:44px}.org-config-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a2e;inset:0;position:fixed;z-index:980}.org-config-panel{background:var(--org-surface);border-left:1px solid var(--org-border);bottom:0;box-shadow:none;display:flex;flex-direction:column;gap:24px;overflow-y:auto;padding:28px;position:fixed;right:0;top:0;width:320px;z-index:990}.org-config-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.org-config-header h3{color:var(--org-text-primary);font-size:1.1rem;margin:0}.org-config-close{align-items:center;background:var(--org-surface);border:1px solid var(--org-border);border-radius:999px;color:var(--org-text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;height:34px;justify-content:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease;width:34px}.org-config-close:hover{background:var(--org-surface-subtle);border-color:var(--org-border-strong);color:var(--org-text-primary)}.org-config-content{display:flex;flex-direction:column;gap:24px}.org-config-section{display:flex;flex-direction:column;gap:12px}.org-config-checkboxes{display:flex;flex-direction:column;gap:10px}.org-config-checkboxes label{align-items:center;color:var(--org-text-secondary);display:flex;font-size:.95rem;gap:10px}.org-config-checkboxes input[type=checkbox]{accent-color:var(--org-text-primary);height:16px;width:16px}.org-config-select{background:var(--org-surface);border:1px solid var(--org-border);border-radius:10px;color:var(--org-text-primary);font-size:.95rem;padding:10px 12px}.org-config-help{color:var(--org-text-muted);font-size:.8rem}.org-config-layouts{display:flex;flex-direction:column;gap:12px}.org-config-layout-option{align-items:flex-start;background:var(--org-surface-subtle);border:1px solid var(--org-border);border-radius:12px;display:flex;gap:12px;padding:14px;transition:border-color .2s ease,background-color .2s ease}.org-config-layout-option input{margin-top:2px}.org-config-layout-option:hover{border-color:var(--org-border-strong)}.org-config-layout-info strong{color:var(--org-text-primary);display:block;margin-bottom:4px}.org-config-layout-info span{color:var(--org-text-secondary);font-size:.85rem}.org-config-actions{display:flex;flex-direction:column;gap:12px}.org-config-actions .org-action-btn{width:100%}.org-action-btn{align-items:center;background:var(--org-surface-subtle);border:1px solid var(--org-border);border-radius:10px;color:var(--org-text-secondary);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.6rem 1rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.org-action-btn:hover:not(:disabled){background:#f1f5f9;border-color:var(--org-border-strong);box-shadow:0 2px 6px #0f172a14;color:var(--org-text-primary);transform:translateY(-1px)}.org-action-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.confirm-btn:hover{background:#f8fafc}.confirm-btn--success{border-color:#bbf7d0}.confirm-btn--warning{background:#fee2e2;border-color:#fecaca;color:#991b1b}.puesto-management{margin:0 auto;max-width:1400px;padding:24px}.puesto-management.loading{color:#64748b;font-size:16px;padding:48px;text-align:center}.puesto-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.puesto-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.btn-new-puesto{align-items:center;background:#3b82f6;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.btn-new-puesto:hover{background:#2563eb;box-shadow:0 4px 6px #0000001a}.puesto-filters{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:16px}.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-input,.filter-select{border:1px solid #d1d5db;border-radius:6px;flex:1 1;min-width:150px;padding:8px 12px}.filter-input:focus,.filter-select:focus{box-shadow:0 0 0 3px #3b82f61a}.filter-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.btn-clear-filters{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:14px;white-space:nowrap}.btn-clear-filters:hover{background:#e5e7eb}.puesto-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.no-puestos{color:#64748b;font-size:14px;padding:48px;text-align:center}.puesto-table{border-collapse:collapse;width:100%}.puesto-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.puesto-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.puesto-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.puesto-table tbody tr:hover{background:#f9fafb}.puesto-table tbody tr:last-child{border-bottom:none}.puesto-table td{color:#4b5563;font-size:14px;padding:12px 16px}.puesto-table td strong{color:#1e293b;font-weight:500}.badge-estado{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.badge-estado.activo{background:#d1fae5;color:#065f46}.badge-estado.inactivo{background:#fee2e2;color:#991b1b}.puesto-table td.actions{display:flex;gap:8px;justify-content:flex-end}.btn-action{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:inline-flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.btn-action:hover{background:#f9fafb}.btn-edit{color:#3b82f6}.btn-edit:hover{background:#eff6ff;border-color:#3b82f6}.btn-deactivate{color:#ef4444}.btn-deactivate:hover{background:#fef2f2;border-color:#ef4444}.btn-activate{color:#10b981}.btn-activate:hover{background:#f0fdf4;border-color:#10b981}.pagination{display:flex;justify-content:center;margin-top:24px}.btn-pagination{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.btn-pagination:hover:not(:disabled){background:#f9fafb;border-color:#3b82f6}.btn-pagination:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.pagination-info{color:#64748b}.modal-content{box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;width:100%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h3{color:#1e293b;font-size:1.25rem;font-weight:600}.btn-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.btn-close:hover{background:#f3f4f6;color:#4b5563}.puesto-form{padding:24px}.form-group select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-hint{color:#64748b}.form-actions{margin-top:24px}.btn-cancel,.btn-submit{border-radius:6px;font-size:14px;font-weight:500;padding:10px 20px}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-cancel:hover{background:#f9fafb}.btn-submit{background:#3b82f6;border:none}.btn-submit:hover{background-color:#2563eb}@media (max-width:768px){.puesto-management{padding:16px}.puesto-header{align-items:flex-start;flex-direction:column;gap:12px}.btn-new-puesto{justify-content:center;width:100%}.filter-row{flex-direction:column}.filter-input,.filter-select{width:100%}.puesto-table{font-size:13px}.puesto-table td,.puesto-table th{padding:8px 12px}.modal-content{max-width:100%}}.team-management{margin:0 auto;max-width:1200px;padding:20px}.team-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.team-header h2{color:#333;margin:0}.team-management.loading{color:#666;font-size:18px;padding:50px;text-align:center}.team-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.team-form{background:#fff;border-radius:8px;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.team-form h3{color:#333;margin-bottom:25px;margin-top:0;text-align:center}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 5px #007bff4d}.teams-list{margin-top:20px}.no-teams{background-color:#f8f9fa;border-radius:8px;color:#666;font-size:16px;padding:50px;text-align:center}.teams-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.team-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s}.team-card:hover{box-shadow:0 4px 8px #00000026}.team-info h4{color:#333;font-size:16px;margin:0 0 10px}.team-info p{color:#666;font-size:14px;line-height:1.4;margin:0 0 15px}.team-meta{margin-bottom:15px}.meta-item{font-size:13px;margin-bottom:8px}.meta-item strong{color:#555;margin-right:5px}.team-actions{display:flex;gap:5px;justify-content:flex-end}@media (max-width:768px){.team-management{padding:15px}.team-header{align-items:stretch;flex-direction:column;gap:15px}.teams-grid{grid-template-columns:1fr}.team-form{padding:20px;width:95%}.form-actions{flex-direction:column}}.dashboard{padding:24px 0;width:100%}.stats-bar{display:flex;gap:16px;margin-bottom:32px;padding:0 24px}.stat-card{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;display:flex;flex:1 1;gap:16px;padding:20px;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;transform:translateY(-1px)}.stat-icon{background:#f8fafc;border-radius:10px;color:#64748b;flex-shrink:0;padding:12px}.stat-info{flex:1 1}.stat-number{color:#1e293b;font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.dashboard-content{display:flex;gap:32px;padding:0 24px}.sidebar{flex-shrink:0;min-width:200px;width:auto}.sidebar-title{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:24px;padding-left:12px}.sidebar-action{margin-bottom:12px;padding:0 12px;width:100%}.sidebar-action:last-child{margin-bottom:0}.main-area{flex:1 1;min-height:200px}.action-btn{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#64748b;display:flex;gap:12px;padding:14px 18px;text-align:left;white-space:normal;width:100%}.action-btn:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;color:#1e293b}.action-btn svg{flex-shrink:0;opacity:.7;transition:opacity .2s ease}.action-btn:hover svg{opacity:1}.action-btn:disabled{background:#f8fafc;box-shadow:none;color:#cbd5e1}@media (max-width:1024px){.dashboard{padding:20px 0}.stats-bar{margin-bottom:28px;padding:0 20px}.dashboard-content{gap:24px;padding:0 20px}.sidebar{min-width:180px;width:auto}}@media (max-width:768px){.dashboard{padding:16px 0}.stats-bar{flex-direction:column;gap:12px;margin-bottom:24px;padding:0 16px}.stat-card{padding:16px}.dashboard-content{flex-direction:column;gap:24px;padding:0 16px}.sidebar{min-width:auto;order:2;width:100%}.main-area{min-height:100px;order:1}.sidebar-title{margin-bottom:16px}.sidebar-action{margin-bottom:8px}}@media (max-width:480px){.stat-card{padding:14px}.stat-number{font-size:20px}.action-btn{font-size:14px;padding:12px 16px}.action-btn svg{height:16px;width:16px}}.documentos-institucionales{box-sizing:border-box;padding:24px;width:100%}.documentos-header{alignItems:center;display:flex;justify-content:space-between;margin-bottom:24px;margin-top:38px}.documentos-header h2{fontSize:1.5rem;fontWeight:600;color:#1e293b;margin:0}.documentos-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:20px}.filter-group{gap:12px}.documentos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.documento-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;overflow:hidden;transition:all .2s ease}.documento-card:hover{box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;transform:translateY(-2px)}.documento-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.documento-icon{align-items:center;background:#fff;border-radius:8px;color:#3b82f6;display:flex;justify-content:center;padding:8px}.documento-type{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.documento-content{padding:20px}.documento-title{color:#1e293b;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}.documento-description{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 16px}.documento-meta{display:flex;flex-direction:column;gap:4px}.meta-item{display:flex;font-size:12px;justify-content:space-between}.meta-label{color:#64748b;font-weight:500}.meta-value{color:#1e293b;font-weight:600}.documento-actions{background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px 20px}.empty-state{grid-column:1/-1}.action-btn:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.action-btn.primary:hover{background:#2563eb;border-color:#2563eb}@media (max-width:1024px){.documentos-institucionales{padding:20px}.form-grid{grid-template-columns:1fr}.documentos-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.documentos-institucionales{padding:16px}.documentos-header{align-items:stretch;flex-direction:column;gap:16px}.documentos-filters{padding:16px}.filter-group{align-items:stretch;flex-direction:column;gap:8px}.create-form-card{padding:20px}.form-actions{flex-direction:column}.documentos-grid{grid-template-columns:1fr}}@media (max-width:480px){.documento-card{margin:0 -4px}.documento-header{padding:12px 16px}.documento-content{padding:16px}.documento-actions{padding:12px 16px}}.email-config-view{margin:0 auto;max-width:1200px;padding:2rem 1rem}.config-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.config-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}.config-header h1{color:#1f2937;font-size:1.875rem;font-weight:600;margin:0 0 .5rem}.config-header p{color:#6b7280;font-size:1rem;margin:0}.loading-spinner{color:#6b7280;font-size:1.1rem;padding:3rem;text-align:center}.alert{border-radius:6px}.alert-error{background-color:#fef2f2}.alert-success{background-color:#f0fdf4}.config-form{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}.form-group label{font-size:.875rem}.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=text]{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.form-group input:invalid{border-color:#ef4444}.checkbox-group{align-items:center;flex-direction:row;gap:.5rem}.checkbox-label{gap:.5rem}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{background:#fff;border:2px solid #d1d5db;border-radius:4px;height:20px;position:relative;transition:all .2s;width:20px}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.password-input{align-items:center;display:flex;position:relative}.password-input input{flex:1 1;padding-right:3rem}.password-toggle{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.2rem;padding:.25rem;position:absolute;right:.75rem;transition:color .2s}.password-toggle:hover{background-color:#f3f4f6;color:#374151}.form-actions{border-top:1px solid #e5e7eb;padding-top:1rem}.btn{font-size:.875rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem}.btn-primary{background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.config-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1.5rem}.config-info h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.config-info ul{color:#475569;margin:0;padding-left:1.5rem}.config-info li{line-height:1.5;margin-bottom:.5rem}.error-message{color:#dc2626;padding:3rem 2rem;text-align:center}.error-message p{font-size:1.1rem;margin:.5rem 0}@media (max-width:768px){.email-config-view{padding:1rem .5rem}.config-container{padding:1.5rem}.config-header h1{font-size:1.5rem}.form-actions{flex-direction:column;gap:.75rem}.btn{width:100%}.checkbox-group{align-items:flex-start;flex-direction:column}}.alert{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.holiday-management{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 100px);margin:0;overflow:hidden;padding:0 20px 24px;width:100%}.holiday-header{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:20px 0 16px}.holiday-header-info{flex:1 1 280px;min-width:260px}.holiday-header-info h2{color:#1e293b;font-size:1.8rem;font-weight:600;margin:0 0 6px}.page-description{color:#64748b;font-size:14px;margin:0 0 6px}.holiday-count{background:#f1f5f9;border-radius:12px;color:#64748b;display:inline-block;font-size:13px;font-weight:500;padding:4px 12px}.holiday-header-actions{display:flex;justify-content:flex-end}.holiday-new-btn{align-items:center;background:#111827;border:none;border-radius:999px;box-shadow:0 2px 8px #11182726;color:#f8fafc;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.holiday-new-btn:hover{background:#1f2937;box-shadow:0 4px 12px #11182740;transform:translateY(-1px)}.holiday-new-btn:active{box-shadow:0 2px 6px #11182733;transform:translateY(0)}.holiday-new-btn svg{flex-shrink:0}.access-denied{padding:48px 24px}.access-denied h2{color:#dc2626;margin-bottom:12px}.admin-actions{margin-bottom:24px;padding:20px}.admin-tabs{border-bottom:2px solid #e2e8f0;margin-bottom:24px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.tab-btn:hover{color:#1e40af}.tab-btn.active{border-bottom-color:#1e40af;color:#1e40af}.modal{animation:modalFadeIn .3s ease-out;box-shadow:0 4px 20px #00000026;max-height:95vh;max-width:95%;position:relative}.holiday-create-modal{max-width:640px;padding:0;width:100%}.modal-header{padding:24px 28px}.modal-header h3,.modal-header h4{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.modal-close{border-radius:6px;font-size:28px}.modal-body{padding:24px 28px}.modal-actions{padding:20px 28px}.btn-primary:disabled{opacity:.5}.manual-row,.upload-row{grid-gap:16px;display:grid;gap:16px}.upload-row{grid-template-columns:minmax(220px,1fr) auto}.manual-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.upload-row input[type=file]{cursor:pointer;font-size:14px;padding:10px}.manual-row .form-group{display:flex;flex-direction:column;gap:6px}.manual-row .manual-actions{align-self:flex-start}.manual-row .manual-actions .btn-primary{min-width:160px}@media (max-width:640px){.manual-row,.upload-row{grid-template-columns:1fr}.manual-row .manual-actions{align-self:stretch}.manual-row .manual-actions .btn-primary{width:100%}}.manual-row .form-group label{color:#475569;font-size:14px;font-weight:500}.manual-row .form-group input{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 12px}.manual-row .form-group input:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.hint-text,.warning-text{font-size:13px}.warning-text{color:#dc2626}.holiday-table-section{gap:16px}.holiday-section-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.holiday-section-title h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.section-meta{color:#475569;font-size:13px}.holiday-filters{display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px}.holiday-filter-field{flex:1 1;min-width:200px}.holiday-filter-control{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.holiday-filter-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.form-group label{color:#475569;font-size:13px}.form-group input[type=date],.form-group input[type=file],.form-group input[type=text]{border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-primary,.btn-secondary{padding:10px 20px}.btn-primary{background:#1e40af}.btn-primary:hover:not(:disabled){background:#1e3a8a}.btn-primary:disabled{background:#cbd5e1}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.holiday-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.holidays-list-scroll{min-height:200px;overflow:auto}.simple-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:10}.simple-table td,.simple-table th{border-bottom:1px solid #e2e8f0;padding:12px 16px;text-align:left}.simple-table th{color:#475569;font-size:13px;font-weight:600;text-transform:uppercase}.table-sort{background:none;border:none;display:flex}.table-sort:hover{color:#1e40af}.sort-icon{align-items:center;display:flex}.icon-btn{background:none;border-radius:4px;display:flex;padding:6px;transition:all .2s}.icon-btn:hover:not(:disabled){background:#f1f5f9;border-color:#1e40af;color:#1e40af}.icon-btn:disabled{opacity:.5}.loading,.no-data{color:#64748b;font-size:14px;padding:24px;text-align:center}.message{font-size:14px;margin-bottom:16px;padding:12px 16px}.message.error{background:#fee2e2;color:#991b1b}.modal-overlay{z-index:9999}.modal{border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{padding:20px}.modal-header h4{color:#1e3a8a;font-size:18px}.modal-close{font-size:24px}.modal-close:hover{color:#1e40af}.modal-actions{gap:12px;padding:16px 20px}@media (max-width:768px){.holiday-header{align-items:stretch;flex-direction:column}.holiday-header-actions{width:100%}.holiday-new-btn{justify-content:center;width:100%}.holiday-create-modal{max-width:100%}.modal-actions,.modal-body,.modal-header{padding-left:20px;padding-right:20px}.tab-btn{text-align:left}}.navbar{background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid #0000000d;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;height:64px;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container{align-items:center;display:flex;gap:12px;height:100%;justify-content:space-between;margin:0 auto;max-width:1400px;min-width:0;padding:0 16px;position:relative}.nav-brand a{align-items:center;color:#1e293b;display:inline-flex;gap:10px;text-decoration:none}.brand-content{align-items:center;display:flex;gap:12px}.brand-logo{display:block;height:36px;object-fit:contain;transition:transform .2s ease;width:auto}.brand-logo:hover{transform:scale(1.02)}.nav-brand h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0}.nav-menu{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:center;margin:0 40px}.mobile-menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:18px;justify-content:space-between;padding:0;width:24px}.mobile-menu-toggle span{background-color:#64748b;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.mobile-menu-toggle:hover span{background-color:#475569}.nav-group{position:relative}.nav-group-header{align-items:center;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none}.nav-group-header:hover{background-color:#f1f5f9;color:#475569}.nav-group-header.nav-group-header--active{background-color:#e2e8f0;color:#1e293b;font-weight:600}.nav-group-title{margin-right:8px}.nav-group-arrow{font-size:10px;transition:transform .2s ease}.nav-group-items{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;left:0;min-width:200px;opacity:0;padding:8px;position:absolute;top:100%;transform:translateY(-8px);transition:all .2s ease;visibility:hidden;z-index:1001}.nav-group-items.expanded{opacity:1;transform:translateY(0);visibility:visible}.nav-link{align-items:center;background:linear-gradient(180deg,#f8fafc00,#f8fafc99);border-left:3px solid #0000;border-radius:10px;color:#64748b;display:flex;font-size:14px;font-weight:500;gap:10px;letter-spacing:.2px;margin-bottom:2px;padding:12px 16px;text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:#f1f5f9;border-left-color:#94a3b8;color:#475569;transform:translateX(2px)}.nav-link.active{background-color:#e2e8f0;border-left-color:#2563eb;box-shadow:inset 0 0 0 1px #cbd5e1;color:#1e293b;font-weight:600}.nav-link svg{flex-shrink:0;opacity:.7;transition:opacity .2s ease}.nav-link.active svg,.nav-link:hover svg{opacity:1}.nav-link.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.nav-user{align-items:center;display:flex;gap:32px}.user-dropdown,.user-info{position:relative}.user-info{align-items:flex-end;border-radius:8px;color:#475569;cursor:pointer;padding:8px 12px;transition:all .2s ease}.user-info:hover{background-color:#ffffff1a}.user-name{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:6px}.user-name,.user-profile-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-name{color:#475569;font-size:12px;margin-top:2px}.user-dropdown-arrow{opacity:.7;position:absolute;right:-16px;top:50%;transform:translateY(-50%);transition:transform .2s ease}.user-dropdown-items{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;margin-top:4px;min-width:180px;opacity:0;padding:8px;position:absolute;right:0;top:100%;transform:translateY(-8px);transition:all .2s ease;visibility:hidden;z-index:1001}.user-dropdown-items.expanded{opacity:1;transform:translateY(0);visibility:visible}.user-dropdown-items .nav-link{border-radius:8px;color:#64748b;margin-bottom:0;padding:12px 16px}.logout-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.logout-btn:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014;color:#475569;transform:translateY(-1px)}@media (max-width:1024px){.mobile-menu-toggle{display:flex}.nav-menu{align-items:stretch;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 10px 25px #0000001a;flex-direction:column;gap:8px;left:0;margin:0;opacity:0;padding:16px;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden}.nav-menu.mobile-open{opacity:1;transform:translateY(0);visibility:visible}.nav-group{width:100%}.nav-group-header{background:#f8fafc;border-radius:8px;justify-content:space-between;margin-bottom:4px;padding:12px 16px}.nav-group-items,.user-dropdown-items{background:#0000;border:none;box-shadow:none;max-height:0;opacity:1;overflow:hidden;padding:0 16px;position:static;transform:none;transition:max-height .3s ease;visibility:visible}.nav-group-items.expanded,.user-dropdown-items.expanded{max-height:400px}.user-dropdown{display:block;width:100%}.user-info{align-items:center;background:#f8fafc;border-radius:8px;flex-direction:row;justify-content:space-between;margin-bottom:4px;padding:12px 16px}.user-dropdown-arrow{position:static;transform:none}.nav-user{gap:16px}.user-name{font-size:13px}}@media (max-width:768px){.nav-container{padding:0 16px}.nav-brand h2{font-size:20px}.nav-user{gap:12px}.nav-icon-btn{height:36px;width:36px}.nav-icon-badge{right:-2px;top:-3px}.logout-btn{font-size:13px;padding:6px 12px}}@media (max-width:480px){.nav-container{padding:0 12px}.nav-brand h2{font-size:18px}.nav-user{gap:8px}.nav-icon-btn{height:34px;width:34px}.nav-icon-badge{font-size:10px;height:16px;line-height:16px;min-width:16px;right:-1px;top:-3px}.user-name{max-width:110px}.user-dropdown-arrow{display:none}.logout-btn{align-items:center;border-radius:999px;display:inline-flex;font-size:0;gap:0;height:36px;justify-content:center;padding:0;width:36px}.logout-btn svg{height:18px;width:18px}}.nav-group-items .nav-link{animation:slideInUp .2s ease forwards;opacity:0;transform:translateY(-4px)}.nav-group-items.expanded .nav-link:first-child{animation-delay:.05s}.nav-group-items.expanded .nav-link:nth-child(2){animation-delay:.1s}.nav-group-items.expanded .nav-link:nth-child(3){animation-delay:.15s}.nav-group-items.expanded .nav-link:nth-child(4){animation-delay:.2s}.nav-group-items.expanded .nav-link:nth-child(5){animation-delay:.25s}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.logout-btn:focus,.nav-group-header:focus,.nav-link:focus{outline:2px solid #3b82f6;outline-offset:2px}.nav-icon-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:1px solid #0000;border-radius:999px;color:#64748b;display:inline-flex;height:38px;justify-content:center;position:relative;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease;width:38px}.nav-icon-btn svg{opacity:.8;transition:opacity .15s ease,transform .15s ease}.nav-icon-btn:hover{background:#f1f5f9;border-color:#e2e8f0;color:#1e293b}.nav-icon-btn:hover svg{opacity:1}.nav-icon-btn:active{transform:scale(.96)}.nav-icon-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.nav-icon-btn.is-current{background:#f8fafc;border-color:#e2e8f0;color:#1e293b}.nav-icon-badge{align-items:center;background:#ef4444;border-radius:999px;box-shadow:0 0 0 2px #fff;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:18px;min-width:18px;padding:0 4px;pointer-events:none;position:absolute;right:-2px;top:-4px}@media (max-width:1024px){.nav-icon-btn{margin-left:8px}}@media (min-width:1025px){.nav-brand,.nav-user{flex:0 0 auto}.nav-menu{flex:1 1 auto;gap:6px;margin:0 16px;min-width:0}.nav-group{flex:0 1 auto;min-width:0}.nav-group-header{max-width:clamp(110px,12vw,160px);padding:6px 10px}.nav-group-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user{gap:20px}.user-name{max-width:160px}}@media (min-width:1025px) and (max-width:1280px){.nav-group-header{max-width:130px}.logout-btn{padding:6px 12px}}.user-form-tabs{width:100%}.tabs-nav{gap:4px;margin-bottom:20px}.tab-button{flex:1 1;font-size:14px;padding:12px 20px}.tab-button:hover{background-color:#eff6ff;color:#3b82f6}.tab-button.active{background-color:#f0f9ff;border-bottom-color:#3b82f6;color:#3b82f6}.tabs-content{padding:10px 0}.tab-pane{animation:fadeIn .3s ease-in}.form-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(2,1fr)}.form-group input,.form-group select,.form-group textarea{padding:8px 12px}.form-group input[type=date]{font-family:inherit}.form-hint{display:block;font-size:12px;margin-top:4px}.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{background-color:#fef2f2;border-color:#dc2626}.user-form-tabs .form-group input:invalid,.user-form-tabs .form-group select:invalid,.user-form-tabs .form-group textarea:invalid{background-color:#fff;border-color:#d1d5db;box-shadow:none}.form-group input.input-error:focus,.form-group select.input-error:focus,.form-group textarea.input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a;outline:none}.error-text{color:#dc2626;display:block;font-size:12px;font-weight:500;margin-top:4px}.attachments-toolbar{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px}.attachments-select-all{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.attachments-select-all input[type=checkbox]{cursor:pointer;height:16px;width:16px}.attachments-checkbox{align-items:center;cursor:pointer;display:flex;margin-right:12px}.attachments-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.attachments-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;transition:background-color .2s ease}.attachments-item:hover{background-color:#f9fafb}.attachments-meta{flex:1 1;min-width:0}.attachments-name{color:#111827;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachments-info{color:#6b7280}.attachments-actions{gap:8px;margin-left:12px}.attachments-actions button{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;font-size:13px;padding:6px 12px}.attachments-actions button:hover{background-color:#f3f4f6;border-color:#9ca3af}.attachments-empty,.attachments-error{color:#6b7280;font-size:14px;padding:20px;text-align:center}.attachments-error{color:#dc2626}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.tabs-nav{flex-wrap:wrap}.tab-button{flex:1 1 45%}.attachments-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.attachments-item{flex-wrap:wrap}.attachments-actions{margin-left:0;margin-top:8px;width:100%}}.metric-card{box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;transition:box-shadow .2s ease}.metric-card:hover{box-shadow:0 4px 12px #0000001f}.metric-card header{align-items:center;color:#64748b;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between}.metric-card strong{color:#1e293b;font-size:2rem;font-weight:700;line-height:1.2}.metric-card small{color:#64748b;font-size:.8125rem}.metric-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .625rem}.metric-badge.up{background:#dcfce7;color:#166534}.metric-badge.down{background:#fee2e2;color:#991b1b}.metric-badge.neutral{background:#f1f5f9;color:#64748b}.metrics-mode-switch,.metrics-tabs{display:inline-flex;gap:.5rem}.metrics-mode-switch button,.metrics-tabs button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.metrics-mode-switch button:hover,.metrics-tabs button:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014;color:#475569;transform:translateY(-1px)}.metrics-mode-switch button.active,.metrics-tabs button.active{background:#fff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb26;color:#1e293b;font-weight:600}.metrics-filters-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.filters-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.filters-header h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.filters-header p{color:#64748b;font-size:.875rem;margin:.25rem 0 0}.filters-actions{gap:.5rem}.ghost-button{background:#0000;border:1px solid #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.ghost-button:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.ghost-button:disabled{cursor:not-allowed;opacity:.5}.metrics-filter-field{display:flex;flex-direction:column;font-size:.875rem;gap:.375rem}.metrics-filter-field span{color:#475569;font-weight:500}.metrics-filter-field select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;padding:.65rem .75rem;transition:all .2s ease}.metrics-filter-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.filters-error,.filters-loading{border-radius:8px;font-size:.875rem;padding:.75rem;text-align:center}.filters-loading{background:#f8fafc;color:#64748b}.filters-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.metrics-layout{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1400px;padding:1.5rem}.metrics-page-header{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem;justify-content:flex-start}.metrics-page-header .tabs-nav{display:flex;justify-content:space-between;margin-bottom:0;width:100%}.metrics-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.metrics-panel__header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-bottom:1rem}.metrics-panel__header>div:first-child{flex:1 1}.metrics-panel__header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.metrics-panel__header p{color:#64748b;font-size:.875rem;margin:0}.metrics-card-group{display:flex;flex-direction:column;gap:1rem}.metrics-card-group h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.metrics-panel__footer{border-top:1px solid #f1f5f9;color:#94a3b8;font-size:.8125rem;padding-top:1rem}.metrics-panel__footer code{background:#f8fafc;border-radius:4px;font-family:Courier New,monospace;font-size:.75rem;padding:.125rem .375rem}.metric-card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.metrics-panel__grid{display:flex;flex-direction:column;gap:1.5rem}.metrics-range-picker{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;padding:1rem}.metrics-range-picker label{color:#475569;display:flex;flex:1 1;flex-direction:column;font-size:.875rem;font-weight:500;gap:.375rem}.metrics-range-picker input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.metrics-range-picker input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.metrics-table{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.metrics-table table{border-collapse:collapse;width:100%}.metrics-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-size:.8125rem;font-weight:600;padding:.75rem 1rem;text-align:left}.metrics-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:.875rem;padding:.875rem 1rem}.metrics-table tr:last-child td{border-bottom:none}.metrics-table tr:hover td{background:#f8fafc}.metrics-table .empty-cell{color:#94a3b8;font-style:italic;padding:2rem;text-align:center}.metrics-error,.metrics-loading{border-radius:8px;font-size:.875rem;padding:2rem;text-align:center}.metrics-loading{background:#f8fafc;color:#64748b}.metrics-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.muted{font-size:.875rem}.empty-cell,.muted{color:#94a3b8;font-style:italic}.empty-cell{text-align:center}.composition-chart{display:flex;flex-direction:column;gap:1rem}.composition-chart__container{grid-gap:1.25rem;align-items:center;display:grid;gap:1.25rem;grid-template-columns:320px minmax(220px,420px);justify-content:center}.composition-chart__pie{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:320px;width:320px}.composition-chart__legend{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0;width:420px}.composition-chart__legend li{grid-column-gap:.75rem;align-items:center;border-radius:6px;column-gap:.75rem;display:grid;grid-template-columns:12px 1fr 56px;height:64px;padding:.35rem .4rem;transition:background .2s ease;width:100%}.composition-chart__legend li:hover{background:#f8fafc}.legend-dot{align-self:center;flex-shrink:0;height:12px;justify-self:center;width:12px}.legend-info{align-self:center;flex:1 1;flex-direction:column;gap:.05rem;justify-content:center;justify-self:stretch;margin:0}.legend-info strong{color:#1e293b;font-size:.8125rem;font-weight:600;line-height:1.2}.legend-info small{color:#64748b;font-size:.6875rem;line-height:1.2}.legend-percent{align-self:center;color:#475569;font-size:.8125rem;font-weight:600;justify-self:end;line-height:1;text-align:right}.composition-chart__footer{border-top:1px solid #e2e8f0;color:#64748b;font-size:.8125rem;padding-top:1rem;text-align:center}.composition-chart__footer strong{color:#1e293b;font-weight:600}.trend-chart{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:1rem;padding:1rem}.trend-chart,.trend-summary{display:flex;flex-direction:column}.trend-summary{gap:.25rem}.trend-summary strong{color:#1e293b;font-size:1.5rem;font-weight:700}.trend-summary span{color:#64748b;font-size:.8125rem}.trend-chart svg{background:#fff;border-radius:6px;height:260px;overflow:visible;width:100%}.trend-labels{color:#94a3b8;display:flex;font-size:.75rem;justify-content:space-between}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.375rem;padding:1rem}.summary-grid span{color:#64748b;font-size:.8125rem;font-weight:500}.summary-grid strong{color:#1e293b;font-size:1rem;font-weight:600}@media (max-width:768px){.metrics-layout{padding:1rem}.metric-card-grid{grid-template-columns:1fr}.metrics-panel__header{flex-direction:column;gap:1rem}.metrics-mode-switch,.metrics-tabs{flex-wrap:wrap;width:100%}.metrics-mode-switch button,.metrics-tabs button{flex:1 1;min-width:100px}.filters-header{flex-direction:column}.filters-grid{grid-template-columns:1fr}.metrics-range-picker{flex-direction:column}.summary-grid{grid-template-columns:1fr}.metric-card strong{font-size:1.5rem}.composition-chart__container{grid-template-columns:1fr;justify-items:center}}.notificaciones{box-sizing:border-box;padding:24px;width:100%}.notificaciones-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px;margin-top:38px}.header-title{align-items:center;display:flex;gap:12px}.header-title h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.unread-badge{background:#ef4444;border-radius:12px;color:#fff;font-size:12px;font-weight:600;min-width:20px;padding:4px 8px;text-align:center}.header-actions{display:flex;gap:12px}.notificaciones-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:20px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.filter-group{align-items:center;gap:8px}.filter-group label{color:#374151;font-size:14px;font-weight:500;white-space:nowrap}.filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-label{color:#374151;display:flex;font-size:14px;font-weight:500}.checkbox-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.create-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:24px}.create-form-card h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 20px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.form-group label{margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:80px;resize:vertical}.form-actions{border-top:1px solid #f1f5f9}.notificaciones-list{display:flex;flex-direction:column;gap:12px}.notification-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.notification-card:hover{box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;transform:translateY(-1px)}.notification-card.unread{background:#f8faff;border-left:4px solid #3b82f6}.notification-card.read{opacity:.8}.notification-icon{align-items:center;background:#f8fafc;border-radius:10px;color:#3b82f6;display:flex;flex-shrink:0;justify-content:center;padding:12px}.notification-card.unread .notification-icon{background:#dbeafe;color:#2563eb}.notification-content{flex:1 1}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.notification-type{color:#3b82f6;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.notification-date{color:#64748b;font-size:12px;font-weight:500}.notification-title{color:#1e293b;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}.notification-message{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 12px}.mark-read-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;font-weight:600;padding:4px 0;text-decoration:underline;transition:color .2s ease}.mark-read-btn:hover{color:#2563eb}.unread-indicator{background:#3b82f6;border-radius:50%;height:8px;position:absolute;right:10px;top:14px;width:8px}.empty-state{color:#64748b;padding:60px 20px;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{color:#374151;font-size:18px;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.action-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.action-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.action-btn.primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.action-btn.secondary{background:#f8fafc;border-color:#e2e8f0;color:#374151}.action-btn.secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.btn{border-radius:6px;gap:6px}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-secondary{border-color:#e2e8f0;color:#4b5563}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.loading{color:#64748b;font-size:16px}@media (max-width:1024px){.notificaciones{padding:20px}.form-grid{grid-template-columns:1fr}}@media (max-width:768px){.notificaciones{padding:16px}.notificaciones-header{align-items:stretch;flex-direction:column;gap:16px}.header-actions{flex-wrap:wrap}.filters-row{align-items:stretch;flex-direction:column;gap:16px}.filter-group{justify-content:space-between}.create-form-card{padding:20px}.form-actions{flex-direction:column}.notification-card{gap:12px;padding:16px}.notification-header{align-items:flex-start;flex-direction:column;gap:4px}}@media (max-width:480px){.notification-card{padding:12px}.notification-icon{padding:8px}.notification-title{font-size:14px}.notification-message{font-size:13px}.unread-indicator{right:16px;top:16px}}.batch-upload-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.batch-upload-container h2{color:#2c3e50;font-size:2rem;margin-bottom:2rem;text-align:center}.dropzone{border:2px dashed #3498db;border-radius:8px;margin-bottom:2rem;padding:3rem 1rem;transition:all .3s ease}.dropzone.active,.dropzone:hover{background-color:#ebf5fb;border-color:#2980b9}.dropzone p{color:#7f8c8d;margin:.5rem 0}.dropzone .small{color:#95a5a6;font-size:.9rem}.batch-upload-form{margin-top:2rem}.form-group{margin-bottom:1.5rem}.form-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input[type=text]:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.file-list{border-radius:8px;margin:1rem 0;max-height:400px;overflow-y:auto}.file-list h3{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:1.1rem;margin:0;padding:1rem}.file-list-header{background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;font-weight:600;padding:.75rem 1rem}.file-item,.file-list-header{display:grid;grid-template-columns:2fr 2fr 2fr 1fr}.file-item{border-bottom:1px solid #edf2f7;padding:1rem}.file-assignment,.file-name{align-items:center;display:flex;gap:.5rem}.file-assignment input{border:1px solid #e2e8f0;border-radius:4px;flex:1 1;font-size:.9rem;padding:.5rem}.or-divider{color:#a0aec0;font-size:.8rem;white-space:nowrap}.file-status{font-size:.9rem}.progress-container{align-items:center;display:flex;gap:8px;width:100%}.progress-bar{background-color:#e2e8f0;flex:1 1}.progress{background-color:#4299e1;height:100%;transition:width .3s ease}.progress-text{color:#4a5568;display:flex;font-size:.8rem;justify-content:flex-end;min-width:40px;text-align:right}.status-badge{align-items:center;border-radius:50%;display:inline-flex;font-size:.8rem;font-weight:700;height:20px;justify-content:center;width:20px}.status-badge.success{background-color:#48bb78;color:#fff}.status-badge.error{background-color:#f56565;color:#fff}.btn-primary,.btn-remove,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-primary{background-color:#3498db}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-secondary{color:#4a5568;margin-left:.75rem}.btn-secondary:hover:not(:disabled){background-color:#cbd5e0}.btn-remove{background:none;color:#e53e3e;padding:.25rem .5rem;text-decoration:underline}.btn-remove:hover{color:#c53030}.user-info{background-color:#f8fafc;border-left:3px solid #3182ce;flex-direction:column;gap:4px;width:100%}.searching-state,.user-info{border-radius:4px;display:flex;padding:8px}.searching-state{align-items:center;background-color:#fff9e6;border-left:3px solid #ffc107;color:#8a6d3b;gap:8px}.searching-spinner{animation:spin 1s linear infinite}.error-message{color:#e53e3e;font-size:.85rem;font-style:italic;margin-top:4px}.input-group{align-items:center;display:flex;gap:8px;width:100%}.email-input.has-error{background-color:#fff5f5;border-color:#e53e3e}.form-actions{background-color:#f8fafc;padding:1rem}.alert{margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.file-item,.file-list-header{gap:.5rem;grid-template-columns:1fr}.file-actions{justify-content:flex-start;margin-top:.5rem}.form-actions{flex-direction:column;gap:.75rem}.btn-secondary{margin-left:0}}.payroll-upload-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1000px;padding:24px 16px}.payroll-upload-container h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0 0 8px;text-align:center}.payroll-upload-container .subtitle{color:#4a5568;font-size:16px;margin:0 0 24px;text-align:center}.batch-upload-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:16px;padding:24px}.form-group label{color:#4a5568}.form-control{border:1px solid #e2e8f0;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:#3182ce;box-shadow:0 0 0 1px #3182ce;outline:none}.dropzone{background-color:#f8fafc;border:2px dashed #e2e8f0;border-radius:6px;cursor:pointer;margin-bottom:16px;padding:24px;text-align:center;transition:all .2s}.dropzone.active,.dropzone:hover{background-color:#ebf8ff;border-color:#3182ce}.dropzone p{color:#4a5568;margin:0 0 4px}.dropzone .small{color:#718096;font-size:12px}.file-list{border:1px solid #e2e8f0;border-radius:4px;margin-top:24px;overflow:hidden}.file-item{align-items:center;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s}.file-item:last-child{border-bottom:none}.file-item:hover{background-color:#f8fafc}.file-info{flex:1 1;min-width:0}.file-name{color:#2d3748;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-status{align-items:center;color:#718096;display:flex;font-size:12px;gap:4px}.file-status.completed{color:#38a169}.file-status.error{color:#e53e3e}.file-actions{display:flex;gap:8px;margin-left:16px}.btn{align-items:center;border:1px solid #0000;border-radius:4px;display:inline-flex;justify-content:center;padding:8px 16px;transition:all .2s}.btn-primary{background-color:#3182ce;font-weight:500}.btn-primary:hover:not(:disabled){background-color:#2c5282}.btn-primary:disabled{background-color:#a0aec0;opacity:.7}.btn-secondary{background-color:#e2e8f0;color:#2d3748}.btn-secondary:hover{background-color:#cbd5e0}.btn-danger{background-color:#fff5f5;border-color:#fed7d7;color:#e53e3e}.btn-danger:hover{background-color:#fed7d7}.btn-icon{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;padding:6px;transition:all .2s}.btn-icon:hover{background-color:#edf2f7;color:#4a5568}.progress-container{margin-top:24px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.progress-bar{background-color:#edf2f7;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background-color:#3182ce;height:100%;transition:width .3s ease;width:0}.alert{align-items:flex-start;border-radius:4px;display:flex;gap:8px;padding:12px 16px}.alert-icon{flex-shrink:0;margin-top:2px}.alert-content{flex:1 1}.alert-title{font-weight:600;margin-bottom:4px}.alert-description{color:inherit;font-size:13px;opacity:.9}.alert-success{background-color:#f0fff4;border:1px solid #c6f6d5;color:#2f855a}.alert-error{background-color:#fff5f5;border:1px solid #fed7d7;color:#c53030}.alert-info{background-color:#ebf8ff;border:1px solid #bee3f8;color:#2b6cb0}@media (max-width:768px){.batch-upload-container,.payroll-upload-container{padding:16px}.file-item{align-items:flex-start;flex-direction:column;gap:8px}.file-actions{justify-content:flex-end;margin-left:0;margin-top:8px;width:100%}.btn{width:100%}}.password-dialog-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.password-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:400px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.password-dialog-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 20px}.password-dialog-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 8px;transition:background-color .2s}.close-button:hover{background-color:#f1f3f5;color:#495057}.close-button:active{background-color:#e9ecef}.password-dialog-body{padding:20px}.password-dialog-message{color:#495057;line-height:1.5;margin:0 0 20px}.form-group label{color:#495057}.password-input-container{align-items:center;display:flex;position:relative}.form-control{border:1px solid #ced4da;border-radius:6px;font-size:1rem;padding:10px 40px 10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-control:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.toggle-password{border-radius:4px;color:#6c757d;font-size:1.1rem;right:8px;transition:background-color .2s}.toggle-password:hover{background-color:#f1f3f5}.error-message{color:#dc3545;font-size:.875rem;margin-top:8px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.btn-primary,.btn-secondary{border-radius:6px;font-size:.9375rem;padding:8px 16px;transition:all .2s}.btn-primary{background-color:#6c757d}.btn-primary:disabled{background-color:#a8b0b8;cursor:not-allowed}.btn-primary:not(:disabled):hover{background-color:#5a6268}.btn-secondary{background-color:#f1f3f5}.btn-secondary:not(:disabled):hover{background-color:#e2e6ea}@media (max-width:480px){.password-dialog{margin:0 10px}.dialog-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.payroll-view-container{margin:0 auto;max-width:1400px;padding:16px}.payroll-view-header{border-bottom:2px solid #e9ecef;margin-bottom:16px;padding-bottom:12px;text-align:left}.payroll-view-header h2{color:#2c3e50;font-size:1.6rem;margin:0 0 6px}.payroll-view-header p{color:#6c757d;margin:0}.message{border-radius:6px;margin:10px 0 16px;padding:12px 14px;text-align:left}.message.info{background-color:#e7f3fe;border:1px solid #b3e5fc;color:#0c5460}.no-recibos{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:60px 20px;text-align:center}.no-recibos p{color:#6c757d;font-size:1.1rem;margin-bottom:6px}.no-recibos small{color:#adb5bd}.payroll-split{display:flex;gap:16px;height:calc(100vh - 210px);min-height:520px}.payroll-left{background:#fff;border:1px solid #dee2e6;border-radius:10px;display:flex;flex-direction:column;min-width:280px;overflow:hidden;width:340px}.tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:6px;padding:10px}.tab-btn{background:#fff;border:1px solid #dee2e6;color:#2c3e50;flex:1 1;padding:10px 12px}.tab-btn.active{background:#6c757d;border-color:#6c757d;color:#fff}.list-scroll{overflow:auto;padding:10px}.recibo-item{background:#f1f3f5;border:1px solid #e1e5ea;border-radius:10px;cursor:pointer;margin-bottom:10px;padding:12px 12px 12px 14px;position:relative;text-align:left;transition:background .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.recibo-item:hover{background:#e9ecef;box-shadow:0 1px 3px #00000014}.recibo-item.active{background:#dee2e6;border-left:4px solid #6c757d}.recibo-item-title{color:#2c3e50;font-weight:700;line-height:1.2;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recibo-item-sub{color:#6c757d;font-size:.92rem;margin-bottom:8px}.pill{border-radius:14px;display:inline-block;font-size:.78rem;font-weight:700;padding:4px 10px}.pill.ok{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.pill.pend{background:#fff3cd;border:1px solid #ffeeba;color:#856404}.payroll-right{background:#fff;border:1px solid #dee2e6;border-radius:10px;display:flex;flex:1 1;flex-direction:column;min-width:0}.viewer-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.signed-chip{color:#2c3e50;font-weight:600}.viewer-actions{display:flex;gap:8px}.btn-primary,.btn-secondary{border:none;font-size:.95rem;font-weight:600;padding:8px 14px}.btn-primary{background:#6c757d}.btn-primary:disabled{cursor:default;opacity:.6}.btn-secondary{background:#f1f3f5;border:1px solid #dee2e6;color:#2c3e50;transition:all .2s ease-in-out}.btn-secondary:disabled{background:#e9ecef;border-color:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.6;position:relative}.btn-secondary:disabled:hover:after{background:#333;border-radius:4px;bottom:100%;color:#fff;content:attr(title);font-size:.8rem;margin-bottom:5px;padding:5px 10px;pointer-events:none;white-space:nowrap}.btn-secondary:disabled:hover:after,.btn-secondary:disabled:hover:before{left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:opacity .2s}.btn-secondary:disabled:hover:before{border:5px solid #0000;border-top-color:#333;bottom:calc(100% - 5px);content:""}.btn-secondary:disabled:hover:after,.btn-secondary:disabled:hover:before{opacity:1}.pdf-viewer{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.pdf-iframe{background-color:#fff;border:none;height:100%;min-height:500px;width:100%}.pdf-alternative,.pdf-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center;padding:2rem;text-align:center}.pdf-alternative p,.pdf-loading p{color:#495057;font-size:1rem;margin:0}.pdf-loading{animation:fadeIn .3s ease-in}.pdf-fallback{background:#fff;border:2px dashed #dee2e6;border-radius:8px;margin:0 auto;max-width:560px;padding:40px;text-align:center}.pdf-fallback .pdf-icon{font-size:2.4rem;margin-bottom:8px}.empty-viewer{color:#6c757d;margin:auto;padding:20px;text-align:center}@media (max-width:1024px){.payroll-split{flex-direction:column;height:auto}.payroll-left{width:100%}.pdf-frame{height:70vh}}.reports-generator-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.reports-generator-container h2{color:#2c3e50;font-size:2rem;margin-bottom:30px;text-align:center}.report-config-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.report-config-section h3{border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.3rem;margin:0 0 25px;padding-bottom:10px}.config-form{display:flex;flex-direction:column;gap:25px}.config-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.config-group{display:flex;flex-direction:column}.config-group label{color:#2c3e50;font-size:.95rem;font-weight:600;margin-bottom:8px}.config-group select{background:#fff;border:2px solid #e0e6ed;border-radius:6px;font-size:1rem;padding:12px;transition:border-color .3s ease}.config-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.config-actions{display:flex;justify-content:center;margin-top:10px}.generate-btn{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:200px;padding:15px 30px;transition:all .3s ease}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f5f8b);box-shadow:0 4px 15px #3498db4d;transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.report-preview-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.report-preview{margin-bottom:25px}.report-preview h4{border-bottom:2px solid #e74c3c;color:#2c3e50;font-size:1.2rem;margin:0 0 20px;padding-bottom:10px}.preview-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:25px}.preview-stat{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:20px}.preview-stat span{color:#6c757d;font-size:.95rem}.preview-stat strong{color:#2c3e50;font-size:1.2rem;font-weight:700}.preview-table{margin-top:20px}.preview-table h5{color:#2c3e50;font-size:1rem;margin:0 0 15px}.preview-table table{border:1px solid #e0e6ed;border-collapse:collapse;border-radius:6px;overflow:hidden;width:100%}.preview-table th{background:#f8f9fa;border-bottom:1px solid #e0e6ed;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.preview-table td{border-bottom:1px solid #f0f0f0;color:#495057;padding:12px}.preview-table tbody tr:hover{background-color:#f8f9fa}.preview-actions{border-top:1px solid #e9ecef;display:flex;justify-content:center;margin-top:20px;padding-top:20px}.download-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.download-btn:hover{background:linear-gradient(135deg,#229954,#28b463);box-shadow:0 4px 15px #2ecc714d;transform:translateY(-2px)}.info-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px}.info-section h3{border-bottom:2px solid #f39c12;color:#2c3e50;font-size:1.3rem;margin:0 0 20px;padding-bottom:10px}.info-content{color:#495057;line-height:1.6}.info-content ul{margin:15px 0;padding-left:20px}.info-content li{margin-bottom:8px}.info-content strong{color:#2c3e50}.info-content p{color:#2c3e50;font-weight:600;margin:15px 0 5px}@media (max-width:768px){.reports-generator-container{padding:15px}.config-row,.preview-stats{grid-template-columns:1fr}.preview-stat{flex-direction:column;gap:8px;text-align:center}.preview-table{overflow-x:auto}.preview-table table{min-width:400px}.generate-btn{min-width:auto;width:100%}}@media (max-width:480px){.reports-generator-container h2{font-size:1.5rem}.info-section,.report-config-section,.report-preview-section{padding:20px}.config-group select{padding:10px}.generate-btn{font-size:1rem;padding:12px 20px}}.daily-agenda-horizontal{--lane-height:80px;--lane-padding:6px;--rooms-col-width:220px;--timeline-height:40px;--hour-width:80px;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;height:100%;min-height:600px;overflow:hidden;position:relative}.time-scroll{overflow-x:auto;overscroll-behavior-x:contain;position:relative}.timeline{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;height:var(--timeline-height);min-width:calc(var(--rooms-col-width) + var(--hour-width)*24);padding-left:var(--rooms-col-width);position:-webkit-sticky;position:sticky;top:0;z-index:2}.timeline:before{background:#fff;border-right:1px solid #e0e0e0;content:"";height:100%;left:0;position:absolute;top:0;width:var(--rooms-col-width)}.timeline-horizontal{display:grid;grid-template-columns:repeat(24,var(--hour-width))}.hour-label{border-right:1px solid #f0f0f0;color:#666;font-size:12px;padding:10px 0;text-align:center}.hour-label:last-child{border-right:none}.reservations-container{background:#f8f9fa;flex:1 1;min-width:calc(var(--rooms-col-width) + var(--hour-width)*24);overflow-y:auto;position:relative}.grid-overlay{bottom:0;display:grid;grid-template-columns:repeat(24,var(--hour-width));left:var(--rooms-col-width);pointer-events:none;position:absolute;right:auto;top:0;width:calc(var(--hour-width)*24);z-index:0}.grid-overlay .grid-col{border-right:1px solid #eceff1}.grid-overlay .grid-col:last-child{border-right:none}.room-row{border-bottom:1px solid #eee;display:grid;grid-template-columns:var(--rooms-col-width) calc(var(--hour-width)*24);position:relative}.room-tag{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffffff2;border-right:1px solid #f1f5f9;color:#334155;display:flex;font-size:12px;grid-column:1;height:100%;left:0;overflow:hidden;padding:6px 10px;position:-webkit-sticky;position:sticky;text-overflow:ellipsis;top:var(--timeline-height);white-space:nowrap;width:var(--rooms-col-width);z-index:3}.room-canvas{grid-column:2;height:100%;position:relative;width:calc(var(--hour-width)*24);z-index:1}.reservation-block{background:#fff;border-left:3px solid #6c757d;border-left:3px solid var(--status-color,#6c757d);border-radius:6px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;cursor:pointer;overflow:auto;padding:8px;position:absolute;transition:.2s}.reservation-block:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-1px);z-index:10}.reservation-time{color:#333;font-weight:600;margin-bottom:4px}.reservation-time,.reservation-user{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-user{color:#555;margin-bottom:2px}.reservation-reason{color:#666;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.reservation-actions .btn-cancel-inline{background-color:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;padding:4px 8px;transition:background-color .2s;white-space:nowrap}.reservation-actions .btn-cancel-inline:hover{background-color:#b91c1c}.reservation-actions .btn-cancel-inline:disabled{background-color:#9ca3af;cursor:not-allowed}.reservation-block.pendiente{border-style:dashed;opacity:.85}.reservation-block.cancelada{filter:grayscale(.3);opacity:.5;text-decoration:line-through}@media (max-width:768px){.daily-agenda-horizontal{--rooms-col-width:160px;--lane-height:56px;--timeline-height:30px;--hour-width:64px;min-height:400px}.hour-label{font-size:10px;min-width:64px;padding:8px 0}.reservation-block{padding:6px}.reservation-reason,.reservation-time,.reservation-user{font-size:10px}}:root{--bg-base:#fff;--bg-alt:#f8fafc;--text-primary:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--hover-bg:#f1f5f9;--active-bg:#e0f2fe;--error-bg:#fef2f2;--success-bg:#f0fdf4;--shadow-subtle:0 1px 3px #0000000f;--shadow-hover:0 4px 12px #0000001a,0 2px 6px #0000000f;--radius:12px;--transition:all 0.2s ease}.room-calendar-view{grid-gap:24px;background:#f8fafc;background:var(--bg-alt);display:grid;gap:24px;grid-template-columns:1fr 320px;height:calc(100vh - 140px);margin:0 auto;max-width:1400px;padding:24px}.room-calendar-header{grid-column:1/-1;margin-bottom:10px}.room-calendar-header h2{color:#1e293b;color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 8px}.room-calendar-header p{color:#64748b;color:var(--text-secondary);font-size:.95rem;margin:0}.room-calendar-content{display:contents}.error-message{align-items:center;background:#fef2f2;background:var(--error-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);color:#1e293b;color:var(--text-primary);display:flex;grid-column:1/-1;justify-content:space-between;margin-bottom:16px;padding:16px}.btn-retry{background:#64748b;background:var(--text-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--bg-base);cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease;transition:var(--transition)}.btn-retry:hover{background:#1e293b;background:var(--text-primary);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;height:200px;justify-content:center}.loading-spinner{border:4px solid #e2e8f0;border-top:4px solid #64748b;border:4px solid var(--border-color);border-top-color:var(--text-secondary)}.calendar-section{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;overflow:hidden}.calendar-header,.calendar-section{background:#fff;background:var(--bg-base)}.calendar-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:15px;padding:24px}.calendar-header,.calendar-title h3{color:#1e293b;color:var(--text-primary)}.calendar-title h3{font-size:1.4rem;font-weight:600;margin:0}.filter-indicator{background:#e0f2fe;background:var(--active-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;color:#1e293b;color:var(--text-primary);font-size:.9rem;margin-top:8px;padding:6px 12px}.calendar-controls{display:flex;gap:10px}.btn-nav,.btn-today{background:#fff;background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.btn-nav:hover,.btn-today:hover{background:#f1f5f9;background:var(--hover-bg);border-color:#64748b;border-color:var(--text-secondary);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);color:#1e293b;color:var(--text-primary);transform:translateY(-1px)}.calendar-container{flex:1 1;padding:20px}.calendar-month-header{margin-bottom:20px;text-align:center}.calendar-month-header h4{color:#1e293b;color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0}.calendar-grid{grid-gap:1px;background:#e2e8f0;background:var(--border-color);border-radius:8px;gap:1px;overflow:hidden}.calendar-day-header{background:#f8fafc;background:var(--bg-alt);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);color:#1e293b;color:var(--text-primary);font-size:.85rem;font-weight:600;padding:12px 8px;text-align:center}.calendar-day{background:#fff;background:var(--bg-base);cursor:pointer;min-height:100px;padding:8px;position:relative;transition:all .2s ease;transition:var(--transition)}.calendar-day:hover{background:#f1f5f9;background:var(--hover-bg)}.calendar-day.today{background:var(--primary-bg);border:2px solid var(--primary-color);font-weight:600}.calendar-day.other-month{background:#f8fafc;background:var(--bg-alt);color:var(--text-muted);opacity:.6}.calendar-day.has-reservations{border-left:4px solid var(--success-color)}.calendar-day.has-conflicts{background:#fef7f0;border-left:4px solid var(--warning-color)}.calendar-day.selected{background:var(--accent-color);box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.calendar-day.holiday{background:#fef7f0;border-left:3px solid #f59e0b}.calendar-day.holiday.other-month{background:#f8fafc;background:var(--bg-alt);border-left:3px solid #d1d5db;opacity:.7}.calendar-day.holiday.today{background:#f0f9ff;border:2px solid var(--primary-color);border-left:3px solid #0ea5e9}.day-number{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:500;left:8px;position:absolute;top:6px;z-index:1}.holiday-indicator{filter:grayscale(.2);opacity:.8}.conflict-indicator,.holiday-indicator{font-size:12px;position:absolute;right:6px;top:6px;z-index:2}.conflict-indicator{animation:pulse 2s infinite}.calendar-day.holiday .conflict-indicator{right:6px;top:22px}.day-reservations{align-items:center;display:flex;flex-wrap:wrap;gap:3px;margin-top:8px;min-height:14px}.reservation-dot{background:#64748b;background:var(--room-color,var(--text-secondary));border-radius:50%;flex-shrink:0;height:10px;transition:all .2s ease;width:10px}.reservation-dot.cancelada{filter:grayscale(.5);opacity:.3}.reservation-dot.pendiente{border:2px dashed #ffffff80}.modal-overlay{background:#00000080}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:8px;box-shadow:var(--shadow-elevated)}.day-action-modal{max-width:600px}.modal-header{border-bottom:1px solid #e5e5e5;padding:1rem 1.5rem}.modal-header h3{color:#2c3e50;font-size:1.2rem}.modal-close{background:none;color:#7f8c8d;font-size:1.5rem;height:30px;width:30px}.modal-close:hover{background:#f1f5f9;background:var(--hover-bg);color:#1e293b;color:var(--text-primary)}.modal-tabs{border-bottom:1px solid #e5e5e5;display:flex}.modal-tabs .tab{background:none;border:none;border-bottom:2px solid #0000;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:.9rem;padding:1rem;transition:all .2s ease}.modal-tabs .tab:hover{background-color:#f8f9fa;color:#2c3e50}.modal-tabs .tab.active{background-color:#f8f9fa;border-bottom-color:#3498db;color:#3498db}.modal-body{padding:20px}.reservation-form-container{max-width:100%}.reservation-form{display:flex;flex-direction:column;gap:1rem}.form-group label{color:#2c3e50;font-size:.9rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border-radius:4px;font-size:.9rem;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e74c3c}.form-row{gap:1rem}.form-row .form-group{flex:1 1}.error-text{color:#e74c3c;font-size:.8rem;margin-top:.25rem}.error-message{background-color:#fdf2f2;border:1px solid #fecaca;border-radius:4px;color:#e74c3c;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-actions{gap:1rem;margin-top:1.5rem}.btn-cancel,.btn-submit{border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel{background-color:#f8f9fa;border-color:#dee2e6;color:#6c757d}.btn-cancel:hover:not(:disabled){background-color:#e9ecef;color:#495057}.btn-submit{background-color:#3498db;color:#fff}.btn-submit:hover:not(:disabled){background-color:#2980b9}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.reservations-list{display:flex;flex-direction:column;gap:.75rem}.no-reservations{color:var(--text-muted);font-style:italic;padding:20px;text-align:center}.reservation-item{background:var(--bg-primary);border-left:4px solid var(--text-muted);border-radius:6px;margin-bottom:12px;padding:16px;transition:all .2s ease;transition:var(--transition)}.reservation-item:hover{background:#f1f5f9;background:var(--hover-bg);transform:translateX(2px)}.reservation-item.confirmada{background:#f0fdf4;border-left-color:#16a34a}.reservation-item.pendiente{background:#fffbeb;border-left-color:#ca8a04}.reservation-item.cancelada{background:#f8fafc;background:var(--bg-alt);border-left-color:var(--text-muted);opacity:.8}.reservation-room{color:#1e293b;color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.reservation-time{color:#64748b;color:var(--text-secondary);font-weight:500;margin:4px 0}.reservation-user{color:var(--text-muted);font-size:14px;margin:4px 0}.reservation-reason{background:#00000005;border-radius:4px;color:#64748b;color:var(--text-secondary);font-size:14px;font-style:italic;margin-top:8px;padding:8px}.reservation-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;margin-top:8px;padding:4px 8px;text-transform:capitalize}.reservation-status.confirmada{background:#dcfce7;color:#16a34a}.reservation-status.pendiente{background:#fef3c7;color:#ca8a04}.reservation-status.cancelada{background:#f8fafc;background:var(--bg-alt);color:var(--text-muted)}@media (max-width:768px){.modal-content{max-height:90vh;width:95%}.modal-header{padding:16px}.modal-header h3{font-size:16px}.modal-body{padding:16px}.reservation-item{padding:12px}}.reservation-dot.conflicted{animation:pulse 1.5s infinite;border:2px solid #dc2626!important}.reservation-dot.highlighted{box-shadow:0 0 0 3px #3b82f680;transform:scale(1.3);z-index:10}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.more-indicator{color:#64748b;color:var(--text-secondary);font-size:10px;margin-left:2px}.room-chips{display:none;height:4px;margin:2px 0;visibility:hidden}.room-chip{background:#f8fafc;background:var(--bg-alt);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:4px;color:#1e293b;color:var(--text-primary);font-size:9px;max-width:40px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.room-chip.more{background:#64748b;background:var(--text-secondary);color:#fff;color:var(--bg-base)}.day-detail-panel{background:#fff;background:var(--bg-base);border:1px solid #94a3b838;border-radius:16px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;gap:16px;max-height:100%;padding:24px}.day-detail-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.day-detail-heading{display:flex;flex-direction:column;gap:4px}.day-detail-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.day-detail-header h4{color:#1e293b;color:var(--text-primary);font-size:1.15rem;font-weight:600;margin:0}.day-detail-close{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 14px;transition:all .2s ease}.day-detail-close svg{height:16px;width:16px}.day-detail-close:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);color:#475569;transform:translateY(-1px)}.day-detail-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.day-detail-empty{color:#64748b;color:var(--text-secondary);font-style:italic;padding:24px 0;text-align:center}.day-reservation-card{align-items:flex-start;background:#f8fafc;border:1px solid #94a3b847;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:16px;transition:all .2s ease;transition:var(--transition)}.day-reservation-card:hover{background:#f1f5f9;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.day-reservation-card.confirmada{border-left:4px solid #16a34a}.day-reservation-card.pendiente{border-left:4px solid #ca8a04}.day-reservation-card.cancelada{border-left:4px solid var(--text-muted);opacity:.85}.day-reservation-main h5{color:#1e293b;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px}.day-reservation-time{color:#64748b;color:var(--text-secondary);font-size:.9rem;margin-bottom:4px}.day-reservation-purpose{color:#1e293b;color:var(--text-primary);font-size:.85rem;margin-bottom:6px}.day-reservation-user{color:var(--text-muted);font-size:.8rem}.day-reservation-actions{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.day-reservation-actions .btn-cancel{padding:8px 14px}.status-badge{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;padding:6px 12px}.status-badge.confirmada{background:#f0fdf4;background:var(--success-bg);color:#166534}.status-badge.pendiente{background:#fef3c7;color:#92400e}.status-badge.cancelada{background:#fef2f2;background:var(--error-bg);color:#991b1b}.rooms-panel{background:#fff;background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;max-height:100%}.rooms-panel-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 24px 18px}.rooms-panel-header h3{color:#1e293b;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0}.btn-primary.btn-small{align-items:center;background:#fff;background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.btn-primary.btn-small:hover{background:#f1f5f9;background:var(--hover-bg);border-color:#64748b;border-color:var(--text-secondary);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);color:#1e293b;color:var(--text-primary);transform:translateY(-1px)}.error-message-small,.success-message-small{font-size:.85rem;margin:0;padding:12px 24px}.error-message-small{background:#fef2f2;background:var(--error-bg)}.error-message-small,.success-message-small{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);color:#1e293b;color:var(--text-primary)}.success-message-small{background:#f0fdf4;background:var(--success-bg)}.rooms-filter{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);padding:18px 24px}.filter-btn{background:#fff;background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:14px 18px;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.filter-btn:hover{background:#f1f5f9;background:var(--hover-bg);border-color:#64748b;border-color:var(--text-secondary);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.filter-btn.active,.filter-btn:hover{color:#1e293b;color:var(--text-primary)}.filter-btn.active{background:#e0f2fe;background:var(--active-bg);border-color:#1e293b;border-color:var(--text-primary);font-weight:600}.rooms-list-panel{flex:1 1;overflow-y:auto;padding:10px 0}.no-rooms{color:#64748b;color:var(--text-secondary);font-style:italic;padding:40px 24px;text-align:center}.room-item{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);cursor:pointer;padding:16px 24px;position:relative;transition:all .2s ease;transition:var(--transition)}.room-item:hover{background:#f1f5f9;background:var(--hover-bg)}.room-item.selected{background:#e0f2fe;background:var(--active-bg);border-left:4px solid #1e293b;border-left:4px solid var(--text-primary)}.room-item.inactive{opacity:.6}.room-main-info{justify-content:space-between;margin-bottom:6px}.room-main-info,.room-name{align-items:center;display:flex}.room-name{color:#1e293b;color:var(--text-primary);font-weight:600;gap:8px}.inactive-badge{background:#dc2626;border-radius:8px;color:#fff;color:var(--bg-base);font-size:.7rem;font-weight:500;padding:4px 8px}.room-capacity{font-size:.85rem}.room-capacity,.room-details-small{color:#64748b;color:var(--text-secondary)}.room-details-small{font-size:.8rem;margin-bottom:8px}.room-location-small,.room-resources-small{margin-bottom:2px}.room-actions-small{display:flex;gap:8px;opacity:0;transition:opacity .2s}.room-item:hover .room-actions-small{opacity:1}.btn-delete-small,.btn-edit-small{background:#fff;background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px;transition:all .2s ease;transition:var(--transition)}.btn-edit-small:hover{background:#e0f2fe;background:var(--active-bg);color:#1e293b;color:var(--text-primary)}.btn-delete-small:hover,.btn-edit-small:hover{box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.btn-delete-small:hover{background:#fef2f2;background:var(--error-bg);color:#dc2626}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--bg-base);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);max-height:80vh;max-width:500px;padding:32px;width:90%}.modal-content h3{color:#1e293b;color:var(--text-primary);font-weight:600;margin:0 0 24px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-base);border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text-secondary);box-shadow:0 0 0 2px #1e293b1a}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.form-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);gap:12px;margin-top:32px}.btn-primary,.btn-secondary{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-subtle);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;transition:var(--transition)}.btn-primary{background:#1e293b;background:var(--text-primary);border-color:#1e293b;border-color:var(--text-primary);color:var(--bg-base)}.btn-primary:hover{background:#64748b;background:var(--text-secondary);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.btn-secondary{background:#fff;background:var(--bg-base);color:var(--text-secondary)}.btn-secondary:hover{background:var(--hover-bg);box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;box-shadow:var(--shadow-hover);color:#1e293b;color:var(--text-primary);transform:translateY(-1px)}@media (max-width:1024px){.room-calendar-view{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;height:auto;min-height:calc(100vh - 140px)}.calendar-section{order:2}.rooms-panel{max-height:300px;order:1}}@media (max-width:768px){.room-calendar-view{gap:10px;padding:10px}.calendar-header{align-items:stretch;flex-direction:column;padding:15px}.calendar-controls{justify-content:center;margin-top:10px}.calendar-day{min-height:80px;padding:6px}.rooms-panel-header{padding:15px}.modal-content{margin:10px;padding:20px}}.team-absence-container{margin:0 auto;max-width:1400px;padding:24px}.team-absence-header{margin-bottom:24px}.team-absence-header h2{color:#1e293b;font-size:28px;font-weight:600;margin:0 0 8px}.team-absence-header .subtitle{color:#64748b;font-size:14px;margin:0}.filters-section{border-radius:16px;box-shadow:0 10px 30px #0f172a0d;gap:18px}.filters-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters-row--dates{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.filters-row--filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-group label{color:#0f172a;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.filter-input,.filter-select{background:#f8fafc;border-radius:10px;color:#0f172a;padding:10px 14px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.filter-input:focus,.filter-select:focus{background:#fff;border-color:#2563eb;box-shadow:0 8px 20px #2563eb26}.filters-actions{align-items:center;color:#64748b}.filters-actions small{color:#94a3b8;font-size:12px}.filters-footer{display:flex;justify-content:flex-end}.btn-outline,.filter-reset-button{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,color .2s ease,background .2s ease}.btn-outline:hover,.filter-reset-button:hover{border-color:#2563eb;color:#2563eb}.btn-apply-filters{transition:transform .2s,box-shadow .2s,background .2s}.btn-apply-filters:active{box-shadow:none;transform:translateY(0)}.message-box{border-radius:8px;margin-bottom:20px}.message-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.message-error{color:#991b1b}.metrics-section{grid-gap:16px;display:grid;gap:16px;margin-bottom:24px}.metric-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.metric-card-label{color:#64748b;font-size:13px;letter-spacing:.05em;margin:0;text-transform:uppercase}.metric-card-value{color:#0f172a;font-size:32px;font-weight:700;margin:8px 0 0}.metric-card-helper{color:#94a3b8;font-size:13px;margin:4px 0 0}.top-motives-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.top-motives-card header{align-items:center;color:#475569;display:flex;font-size:14px;justify-content:space-between;margin-bottom:10px}.top-motives-card ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.top-motives-card li{background:#f8fafc;border-radius:8px;color:#0f172a;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px}.top-motives-card strong{color:#2563eb}.metrics-loading{align-items:center;background:#e0f2fe;border-radius:8px;color:#0c4a6e;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:16px}.collaborators-section{display:flex;flex-direction:column;gap:12px}.absences-table-container{border-radius:12px;overflow:hidden}.absences-table-row{cursor:pointer}.absences-table-row:hover td{background:#f8fafc}.badge-default{background:#f1f5f9}@media (max-width:1024px){.absence-row,.absences-table-header{font-size:13px;gap:10px;grid-template-columns:1.8fr 1.6fr 1.4fr .9fr 1.1fr 1fr 2fr}}@media (max-width:768px){.team-absence-container{padding:16px}.filters-actions{align-items:flex-start;flex-direction:column}.absence-item{grid-template-columns:1fr}}.team-vacations-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1400px;padding:24px}.team-vacations-header{display:flex;flex-direction:column;gap:4px}.team-vacations-header h2{color:#0f172a;font-size:28px;font-weight:700;margin:0}.team-vacations-header .subtitle{color:#64748b;font-size:14px;margin:0}.filters-section{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:16px}.filters-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.filter-group{gap:6px}.filter-group label{color:#475569;font-size:13px}.filter-input,.filter-select{background:#fff;border-radius:8px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.filter-input:focus,.filter-select:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926;outline:none}.filters-actions{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;justify-content:space-between}.filters-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}.btn-outline{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.btn-outline:hover{border-color:#0ea5e9;color:#0ea5e9}.btn-apply-filters{background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:transform .2s,box-shadow .2s}.btn-apply-filters:hover{box-shadow:0 10px 20px #2563eb26;transform:translateY(-1px)}.message-box{border-radius:12px;font-size:14px;padding:16px}.message-info{background:#e0f2fe;border:1px solid #bae6fd;color:#075985}.message-warning{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.message-error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.loading-container{color:#64748b;padding:60px 20px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#3b82f6;margin-bottom:16px}.vacations-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.calendar-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.calendar-month{color:#0f172a;font-size:20px;font-weight:700;margin:0;text-transform:capitalize}.calendar-legend{color:#64748b;font-size:13px;gap:12px}.legend-item{display:flex}.legend-approved{background:#22c55e}.legend-pending{background:#f97316}.calendar-grid{grid-gap:8px;gap:8px}.calendar-weekday{color:#94a3b8;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.calendar-day{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:6px;min-height:80px;padding:10px}.calendar-day--muted{opacity:.4}.calendar-day-number{color:#0f172a;font-size:14px;font-weight:600}.calendar-day-badges{display:flex;flex-wrap:wrap;gap:4px}.calendar-badge{border-radius:8px;color:#fff;font-size:11px;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase}.vacations-collaborators{display:flex;flex-direction:column;gap:12px}.vacations-table-container{border-radius:12px;overflow:hidden}.vacations-table-row{cursor:pointer}.vacations-table-row:hover td{background:#f8fafc}.collaborator-detail-cell{background:#f8fafc;padding:0!important}.collaborator-summary{color:#475569;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.collaborator-summary .MuiTypography-root,.value-pill{font-weight:600}.value-pill{align-items:center;background:#e0f2fe;border-radius:999px;color:#0c4a6e;display:inline-flex;font-size:12px;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.inner-detail-table td,.inner-detail-table th{border-bottom:none}.badge{border-radius:12px;letter-spacing:.025em;padding:4px 10px;text-transform:uppercase}.badge-aprobada{background:#d1fae5;color:#065f46}.badge-rechazada{background:#fee2e2;color:#991b1b}.badge-pendiente{background:#fef3c7;color:#92400e}.badge-default{background:#e2e8f0;color:#475569}.access-denied{color:#64748b;padding:60px 20px;text-align:center}.access-denied h3{color:#1e293b;margin-bottom:8px}@media (max-width:768px){.filters-actions{align-items:flex-start}.calendar-header,.filters-actions{flex-direction:column}.collaborator-card{padding:0 12px 10px}.vacation-record{grid-template-columns:1fr}}.profile{margin:0 auto;max-width:800px}.photo-resolution-hint{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#b45309;font-size:12px;margin-top:8px;padding:6px 10px}.profile-header{text-align:center}.profile-header h1{color:#333;font-size:28px;margin-bottom:10px}.profile-header p{color:#666;font-size:16px}.profile-content{display:flex;flex-direction:column;gap:30px}.profile-card{align-items:center;border-radius:10px;box-shadow:0 2px 10px #0000001a;gap:30px;padding:30px}.profile-avatar{flex-shrink:0;position:relative}.profile-avatar img{object-fit:cover}.avatar-placeholder,.profile-avatar img{border:4px solid #e9ecef;border-radius:50%;height:100px;width:100px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:36px;font-weight:700;justify-content:center}.profile-info h2{color:#333;font-size:24px;margin-bottom:5px}.profile-avatar__file{display:none}.profile-avatar__edit{align-items:center;background:#007bff;border:2px solid #fff;border-radius:50%;bottom:4px;box-shadow:0 4px 10px #0003;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:4px;transition:transform .2s ease,box-shadow .2s ease;width:36px}.profile-avatar__edit:focus,.profile-avatar__edit:hover{box-shadow:0 6px 14px #00000040;outline:none;transform:scale(1.05)}.read-only-field{display:flex;flex-direction:column;gap:6px}.read-only-field__value{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:15px;padding:10px 12px}.profile-role{color:#007bff;font-size:16px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-details{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.detail-section{margin-bottom:30px}.detail-section:last-child{margin-bottom:0}.detail-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin-bottom:20px;padding-bottom:10px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item label{color:#555;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-item span{border-bottom:1px solid #f0f0f0;color:#333;font-size:16px;padding:8px 0}.profile-actions{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.actions-note{color:#666;font-size:14px;font-style:italic;margin:0}@media (max-width:768px){.profile-card{flex-direction:column;gap:20px;text-align:center}.detail-grid{grid-template-columns:1fr}.profile-actions{justify-content:center}}@media (max-width:480px){.profile-content{gap:20px}.profile-card,.profile-details{padding:20px}.profile-header h1{font-size:24px}}.modal-overlay{background:#0006}.modal-content{border-radius:10px;box-shadow:0 10px 30px #00000026;max-width:250px;padding:24px;width:80%}.password-modal-card{background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000014;margin:0 auto;max-width:500px;padding:32px 40px;width:100%}.password-modal-header{margin-bottom:24px;text-align:center}.password-modal-icon{color:#007bff;margin-bottom:12px}.password-modal-header h3{color:#1f2937;font-size:22px;margin-bottom:4px}.password-modal-header p{color:#6b7280;font-size:14px;margin:0}.password-modal-form{display:flex;flex-direction:column;gap:18px}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px 42px 12px 12px;transition:border-color .2s ease;width:100%}.password-input-wrapper input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1f;outline:none}.toggle-password{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:10px;transition:color .2s}.toggle-password:hover{color:#111827}.password-requirements{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:16px}.requirements-title{color:#2d3748;font-size:13px;font-weight:600;margin-bottom:12px}.requirements-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.requirement-item{align-items:center;display:flex;font-size:13px;gap:8px;transition:color .2s}.requirement-item.pending{color:#718096}.requirement-item.pending svg{color:#cbd5e0}.requirement-item.invalid,.requirement-item.invalid svg{color:#e53e3e}.requirement-item.valid,.requirement-item.valid svg{color:#38a169}.modal-content h3,.modal-content h3:after{border:none!important;box-shadow:none!important}.modal-content:focus{outline:none!important}.tabs-nav{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#6b7280;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s ease}.tab-button:hover{background:#f9fafb;color:#374151}.tab-button.active{border-bottom-color:#007bff;color:#007bff;font-weight:600}.tabs-content{min-height:200px}.tab-pane{animation:fadeIn .3s ease}.form-grid{margin-bottom:20px}.form-group{gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:15px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-hint{color:#6b7280;font-size:13px;font-style:italic}.detail-item.full-width{grid-column:1/-1}.profile-attachments{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:20px}.profile-attachments__header{align-items:center;display:flex;gap:12px;justify-content:space-between}.profile-attachments__header h4{color:#1f2933;font-size:18px;margin:0}.profile-attachments__status{color:#64748b;font-size:14px}.profile-attachments__error{color:#b91c1c;font-size:14px;margin:0}.profile-attachments__empty{color:#64748b;font-size:14px;margin:0}.profile-attachments__list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.profile-attachments__item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0f172a0a;display:flex;gap:16px;justify-content:space-between;padding:14px 18px}.profile-attachments__meta{display:flex;flex-direction:column;gap:4px}.profile-attachments__name{color:#0f172a;font-size:15px;font-weight:600;word-break:break-word}.profile-attachments__info{color:#64748b;font-size:13px}.profile-attachments__button{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 2px 6px #0f172a14;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 18px;transition:all .2s ease}.profile-attachments__button:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a1f;color:#1e293b;transform:translateY(-1px)}.profile-attachments__button:active{box-shadow:0 1px 4px #0f172a14;transform:translateY(0)}.profile-attachments__button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media (max-width:768px){.tabs-nav{overflow-x:auto}.tab-button{font-size:14px;padding:10px 16px;white-space:nowrap}.form-grid{grid-template-columns:1fr}.profile-attachments__item{align-items:flex-start;flex-direction:column}}.profile-management{margin:0 auto;max-width:1200px;padding:20px}.profile-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.profile-header h2{color:#333;margin:0}.profile-management.loading{color:#666;font-size:18px;padding:50px;text-align:center}.error-message{background-color:#ffe6e6;border-left:4px solid #d00;border-radius:5px;color:#d00;margin-bottom:20px;padding:15px}.profile-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.profile-form{background:#fff;border-radius:8px;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.profile-form h3{color:#333;margin-bottom:25px;margin-top:0;text-align:center}.form-group label{color:#555;font-weight:700}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.form-help{color:#666;display:block;font-size:12px;margin-top:5px}.form-actions{border-top:1px solid #eee;gap:10px;justify-content:flex-end;margin-top:30px}.btn-primary{border:none;border-radius:4px;padding:10px 20px;transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-secondary{border:none;border-radius:4px;padding:10px 20px;transition:background-color .2s}.btn-secondary:hover{background-color:#545b62}.btn-edit{background-color:#28a745;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;margin-right:5px;padding:6px 12px}.btn-edit:hover{background-color:#218838}.btn-delete{background-color:#dc3545;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px}.btn-delete:hover{background-color:#c82333}.profiles-list{margin-top:20px}.no-profiles{background-color:#f8f9fa;border-radius:8px;color:#666;font-size:16px;padding:50px;text-align:center}.profiles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.profile-card{border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s}.profile-card:hover{box-shadow:0 4px 8px #00000026}.profile-info h4{color:#333;margin:0 0 10px}.profile-info p{color:#666;line-height:1.4;margin:0 0 15px}.profile-permissions{margin-bottom:15px}.profile-permissions strong{color:#555;margin-bottom:5px}.profile-permissions pre{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:11px;margin:0;overflow-x:auto;padding:10px}.permissions-display{grid-gap:16px;display:grid;gap:16px;margin-top:16px}.permission-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:24px;justify-content:space-between;min-height:60px;padding:18px 20px;transition:all .2s ease}.permission-item:hover{background-color:#f1f5f9;border-color:#cbd5e1}.permission-label{color:#374151;flex:1 1;font-size:1rem;font-weight:500;line-height:1.4;margin-right:16px}.permission-badge{align-items:center;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:16px;transition:all .2s ease;width:28px}.permission-badge.active{background-color:#22c55e;color:#fff}.permission-badge.active:hover{background-color:#16a34a}.permission-badge.inactive{background-color:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.permission-badge.inactive:hover{background-color:#e2e8f0;color:#475569}.profile-card{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:100%;padding:24px;transition:all .3s ease}.profile-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.profile-info h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 12px}.profile-info p{color:#64748b;font-size:.9375rem;line-height:1.5;margin:0 0 16px}.profile-permissions{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;margin-bottom:0;padding:20px}.profile-permissions strong{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:12px}.confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a59;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.confirm-modal{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 25px 50px -12px #0f172a40;padding:24px;width:min(360px,100%)}.confirm-modal h4{color:#0f172a;font-size:1.05rem;margin:0 0 10px}.confirm-modal p{color:#475569;font-size:.9375rem;line-height:1.5;margin:0 0 18px}.confirm-modal strong{color:#0f172a}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px;transition:background .2s}.confirm-btn:hover{background:#f1f5f9}.confirm-btn--warning{background:#fef3c7;border-color:#fde68a;color:#92400e}.confirm-btn--warning:hover{background:#fde68a}.confirm-btn--success{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.confirm-btn--success:hover{background:#a7f3d0}@media (max-width:768px){.profile-management{padding:15px}.profile-header{align-items:stretch;flex-direction:column;gap:15px}.profiles-grid{grid-template-columns:1fr}.profile-form{padding:20px;width:95%}.form-actions{flex-direction:column}.permission-item{padding:8px}.permission-label{font-size:.8rem}}.permission-switch .react-switch-bg[style*="rgb(16, 185, 129)"]{background-color:#10b981!important}.permission-switch .react-switch-bg{transition:background-color .2s ease!important}.permission-switch .react-switch-handle{transition:transform .2s ease!important}.permission-switch[aria-checked=true] .react-switch-bg{background-color:#10b981!important}.permission-switch[aria-checked=false] .react-switch-bg{background-color:#e5e7eb!important}.dropdown-menu-container{display:inline-block;position:relative}.dropdown-button{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;min-width:36px;padding:6px 12px;transition:all .2s ease}.dropdown-button:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.dropdown-button:active{background:#e5e7eb}.dropdown-button:disabled{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.7}.dropdown-menu{animation:fadeIn .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden;position:absolute;top:calc(100% + 4px);z-index:100}.dropdown-menu-right{right:0}.dropdown-menu-left{left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu-item{align-items:center;background:#0000;border:none;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:10px;padding:10px 16px;text-align:left;transition:background .2s;width:100%}.dropdown-menu-item:hover:not(:disabled){background:#f3f4f6}.dropdown-menu-item:disabled{cursor:not-allowed;opacity:.5}.dropdown-menu-item.danger{color:#ef4444}.dropdown-menu-item.danger:hover:not(:disabled){background:#fef2f2}.dropdown-item-icon{align-items:center;display:flex;font-size:16px;justify-content:center;width:20px}.dropdown-item-label{flex:1 1}.user-management{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0;overflow:hidden;padding:0 20px;width:100%}.user-management-header{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 0 12px}.header-titles h2{color:#0f172a;font-size:1.6rem;font-weight:600;margin:0 0 4px}.header-titles .users-count{color:#475569;font-size:.9rem;margin:0}.user-management-toolbar{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0f172a0f;display:flex;flex-direction:column;gap:12px;margin-bottom:10px;padding:12px 16px}.toolbar-filters-grid{display:flex;flex-direction:column;gap:8px}.filter-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.filter-row--stacked{align-items:stretch}.filter-stack{display:flex;flex-direction:column;gap:8px}.filter-input,.filter-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:20px;color:#1e293b;font-size:14px;height:40px;outline:none;padding:0 14px;transition:all .2s ease}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.filter-input::placeholder{color:#94a3b8}.filter-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.toolbar-actions{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.btn-clear-filters{background-color:#fff;border:1px solid #cbd5e1;border-radius:20px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-clear-filters:hover:not(:disabled){background-color:#f1f5f9;border-color:#94a3b8}.btn-clear-filters:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.filter-row{grid-template-columns:1fr}.toolbar-actions{align-items:stretch;flex-direction:column}.btn-clear-filters,.toolbar-button{justify-content:center;width:100%}}.toolbar-button{align-items:center;background:#111827;border:none;border-radius:999px;box-shadow:0 6px 14px #0f172a33;color:#f8fafc;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.toolbar-button:hover{box-shadow:0 10px 18px #0f172a40;transform:translateY(-1px)}.toolbar-button:active{box-shadow:0 4px 10px #0f172a33;transform:translateY(0)}.modal-overlay{background-color:#00000080;bottom:0;left:0;overflow-y:auto;padding:20px;right:0;top:0}.modal-content{animation:modalFadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:95vh;max-width:95%;overflow-y:auto;position:relative}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.user-form-modal{max-width:900px;padding:30px;width:100%}.modal-header{border-bottom:2px solid #f0f0f0;margin-bottom:25px;padding-bottom:15px}.modal-header h3{color:#333;font-size:20px;margin:0}.modal-close{align-items:center;border-radius:4px;color:#666;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:#f0f0f0;color:#333}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.form-actions{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:20px;padding-top:20px}.form-actions,.form-buttons{align-items:center;display:flex}.form-buttons{gap:12px}.form-attachments{display:flex;flex-direction:column;gap:6px;min-width:240px;text-align:right}.form-attachments-label{color:#64748b;font-size:12px;font-weight:500}.form-attachments-controls{align-items:center;display:flex;gap:10px;justify-content:flex-end}.form-attachments-trigger{background:#0000;border:1px solid #cbd5f5;border-radius:999px;box-shadow:inset 0 0 0 1px #2563eb0d;color:#1d4ed8;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.form-attachments-trigger:hover{background:#3b82f614;border-color:#3b82f6}.form-attachments-info{color:#475569;font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-attachments-input{display:none}.toolbar-button svg{flex-shrink:0}.user-detail-tabs .tab-pane{padding-top:0}.user-detail-tabs .form-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.user-detail-tabs .form-group{margin-bottom:4px}.detail-section-title{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}@media (max-width:768px){.form-actions{align-items:stretch;flex-direction:column;gap:20px}.form-buttons{justify-content:flex-start;width:100%}.form-attachments{align-items:flex-start;text-align:left}.form-attachments-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}}.users-table-container{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.users-table-container h3{color:#333;font-size:20px;margin-bottom:20px}.table-responsive{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.users-list-scroll{flex:1 1;min-height:200px;overflow-y:auto}.users-table{border-collapse:collapse;margin-bottom:0;min-width:1200px;table-layout:auto;width:100%}.users-table thead{background:#f8fafc;box-shadow:0 2px 4px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:10}.users-table th{color:#475569;font-size:13px}.users-table tbody tr.user-row{transition:background-color .2s}.users-table tbody tr.user-row:hover,.users-table tbody tr:hover{background-color:#f8fafc}.users-table tbody tr.user-row-scheduled{background-color:#f0f9ff}.users-table tbody tr.user-row-scheduled:hover{background-color:#e0f2fe}.table-header{gap:16px;justify-content:space-between;margin-bottom:20px}.table-controls,.table-header{align-items:center;display:flex;flex-wrap:wrap}.table-controls{flex-shrink:0;gap:12px;margin-bottom:12px}.users-count{color:#475569;flex-shrink:0;font-size:14px;margin:8px 0}.company-filter-group{align-items:center;display:flex;gap:8px}.company-filter-group label{color:#374151;font-size:14px;font-weight:500}.company-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;min-width:180px;outline:none;padding:8px 12px;transition:border-color .2s ease}.company-filter:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input{border:1px solid #e2e8f0;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease;width:250px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pagination{align-items:center;border-top:1px solid #e5e7eb;display:none;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:20px;padding:16px 0}.pagination-info{color:#6b7280;font-size:14px}.pagination-controls{align-items:center;display:flex;gap:12px}.pagination-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-current{color:#374151;font-size:14px;font-weight:500}.users-table td,.users-table th{border-bottom:1px solid #e2e8f0;overflow:hidden;padding:12px 16px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.users-table td.id-column,.users-table th.id-column{max-width:72px;min-width:72px;text-align:center;width:72px}.users-table td:last-child,.users-table th:last-child{overflow:visible}.users-table td:first-child:not(.id-column),.users-table th:first-child:not(.id-column){width:80px}.users-table td:nth-child(2):not(.id-column),.users-table td:nth-child(3),.users-table td:nth-child(4),.users-table th:nth-child(2):not(.id-column),.users-table th:nth-child(3),.users-table th:nth-child(4){max-width:150px;min-width:150px}.users-table td.name-column,.users-table th.name-column{max-width:260px;min-width:180px;overflow:visible;text-align:center;text-overflow:clip;white-space:normal}.user-name-cell{display:flex;gap:4px}.scheduled-badge,.user-name-cell{align-items:center;flex-direction:column;text-align:center}.scheduled-badge{background-color:#0ea5e926;border:1px solid #0ea5e94d;border-radius:999px;color:#0369a1;display:inline-flex;font-size:11px;font-weight:600;justify-content:center;max-width:100%;overflow-wrap:anywhere;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.users-table td:nth-child(5),.users-table td:nth-child(6),.users-table th:nth-child(5),.users-table th:nth-child(6){max-width:120px;min-width:120px}.users-table td:nth-child(7),.users-table th:nth-child(7){max-width:180px;min-width:180px}.users-table td:nth-child(8),.users-table th:nth-child(8){width:100px}.users-table th{background-color:#f8f9fa;color:#333;font-size:12px}.role-badge,.users-table th{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.role-badge{border-radius:4px;font-size:11px;padding:4px 8px}.role-usuario{background-color:#e3f2fd;color:#1976d2}.role-líder{background-color:#f3e5f5;color:#7b1fa2}.role-rrhh{background-color:#e8f5e8;color:#388e3c}.role-administrador-global{background-color:#fff3e0;color:#f57c00}.status-badge{border-radius:4px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-activo{background-color:#e8f5e8;color:#388e3c}.status-inactivo{background-color:#ffebee;color:#d32f2f}.advance-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.4px;padding:4px 10px;text-transform:uppercase}.advance-badge.enabled{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.advance-badge.disabled{background-color:#f1f5f9;border:1px solid #cbd5e1;color:#64748b}.advance-toggle-row{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:24px;justify-content:space-between;padding:18px 16px}.advance-toggle-info h4{color:#0f172a;font-size:15px;font-weight:600;margin:0 0 6px}.advance-toggle-info .form-hint{display:block;margin:0}.advance-toggle-control{align-items:center;display:flex;gap:12px}.toggle-switch{align-items:center;background-color:#e2e8f0;border:1px solid #0000;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;font-weight:600;gap:12px;letter-spacing:.5px;padding:6px 14px 6px 6px;position:relative;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.toggle-switch .switch-track{align-items:center;background-color:#cbd5f5;border-radius:999px;display:flex;height:22px;position:relative;transition:background-color .2s ease;width:42px}.toggle-switch .switch-thumb{background-color:#fff;border-radius:50%;box-shadow:0 1px 4px #00000026;height:18px;left:3px;position:absolute;transition:transform .2s ease;width:18px}.toggle-switch.on{background-color:#ecfdf5;border-color:#bbf7d0;color:#047857}.toggle-switch.on .switch-track{background-color:#34d399}.toggle-switch.on .switch-thumb{transform:translateX(20px)}.toggle-switch:focus{box-shadow:0 0 0 3px #3b82f626;outline:none}.toggle-switch:active .switch-thumb{box-shadow:0 2px 6px #0003}.toggle-switch.off:hover{background-color:#e0f2fe;border-color:#bae6fd}.toggle-switch.on:hover{background-color:#d1fae5}.switch-label{font-size:12px;letter-spacing:.6px}.advance-readonly{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.advance-readonly .form-hint{max-width:220px;text-align:right}@media (max-width:768px){.advance-toggle-row{align-items:flex-start;flex-direction:column;gap:16px}.advance-readonly{align-items:flex-start;text-align:left}.advance-readonly .form-hint{text-align:left}}.action-buttons{display:flex;gap:8px}.action-buttons .btn{font-size:12px;padding:6px 12px}.delete-confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-dialog{background:#fff;border-radius:10px;box-shadow:0 4px 20px #0003;max-width:400px;padding:30px;width:90%}.delete-confirm-dialog h3{color:#dc3545;font-size:20px;margin-bottom:15px}.delete-confirm-dialog p{color:#666;line-height:1.5;margin-bottom:25px}.delete-confirm-actions{display:flex;gap:15px;justify-content:flex-end}.delete-confirm-actions .btn{min-width:100px}.attachments-section{display:flex;flex-direction:column;gap:16px}.attachments-header{align-items:center;display:flex;justify-content:space-between}.attachments-header h4{font-size:15px;font-weight:600;margin:0}.attachments-status{color:#64748b;font-size:12px}.attachments-upload{align-items:center;display:flex;gap:12px}.attachments-upload input[type=file]{flex:1 1}.attachments-upload button{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s ease}.attachments-upload button:disabled{background-color:#94a3b8;cursor:not-allowed}.attachments-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.attachments-item{align-items:center;background:#f8fafc99;border:1px solid #e2e8f0cc;border-radius:12px;display:flex;justify-content:space-between;padding:12px}.attachments-meta{display:flex;flex-direction:column;gap:4px}.attachments-name{color:#0f172a;font-weight:600}.attachments-info{color:#64748b;font-size:12px}.attachments-actions{display:flex;gap:12px}.attachments-actions button{background:#0000;border:1px solid #2563eb;border-radius:8px;color:#2563eb;cursor:pointer;padding:6px 14px;transition:all .2s ease}.attachments-actions button:hover{background:#2563eb;color:#fff}.attachments-actions button.danger{border-color:#dc2626;color:#dc2626}.attachments-actions button.danger:hover{background:#dc2626;color:#fff}.attachments-empty{color:#64748b;font-size:13px;margin:0}@media (max-width:1024px){.user-management{padding:0 12px}.table-header{align-items:stretch;flex-direction:column}.search-input{max-width:300px;width:100%}}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.modal-overlay{padding:10px}.user-management{height:calc(100vh - 56px);padding:0 12px}.user-form-modal{max-height:95vh;max-width:100%;padding:20px}.modal-header h3{font-size:18px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.table-controls,.user-management-toolbar{align-items:stretch;flex-direction:column}.toolbar-button{justify-content:center;width:100%}.company-filter,.company-filter-group,.search-input{width:100%}.users-table{font-size:12px}.users-table td,.users-table th{padding:6px 4px}.action-buttons{flex-direction:column;gap:4px}.pagination{flex-direction:column;text-align:center}.search-input{max-width:100%}.users-table td:nth-child(4),.users-table td:nth-child(5),.users-table td:nth-child(8),.users-table td:nth-child(9),.users-table th:nth-child(4),.users-table th:nth-child(5),.users-table th:nth-child(8),.users-table th:nth-child(9){display:none}}@media (max-width:480px){.create-user-form,.users-table-container{padding:16px}.users-table td,.users-table th{font-size:11px;padding:4px 2px}.role-badge,.status-badge{font-size:9px;padding:2px 4px}.action-buttons .btn{font-size:11px;padding:4px 8px}.users-table td:nth-child(7),.users-table th:nth-child(7){display:none}}.user-row{cursor:default}.expand-button{align-items:center;background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:4px 8px;transition:all .2s}.expand-button:hover{background-color:#f1f5f9;color:#334155}.expand-button svg{transition:transform .2s}.expand-button.expanded svg{transform:rotate(90deg)}.user-detail-row{background-color:initial}.user-detail-cell{border-top:none;padding:0}.user-detail-container{animation:slideDown .2s ease-out;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a14;margin:12px 16px;padding:16px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.readonly-field{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;display:flex;font-size:13px;line-height:1.5;min-height:32px;padding:6px 10px}.readonly-field:empty:before{color:#9ca3af;content:"-"}.form-attachments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.form-attachments-list{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-height:150px;overflow-y:auto;padding:8px}.form-attachment-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;display:flex;font-size:13px;justify-content:space-between;padding:4px 8px}.attachment-name{color:#334155;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove-btn{align-items:center;background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:2px 6px;transition:background-color .2s}.attachment-remove-btn:hover{background-color:#fee2e2}.director-area-list{grid-gap:6px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:6px;max-height:220px;overflow-y:auto;padding:12px}.director-area-list::-webkit-scrollbar{width:6px}.director-area-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.director-area-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.director-area-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.director-area-item{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin:0;padding:10px 12px;transition:all .2s ease}.director-area-item:hover{background-color:#eef2ff;border-color:#c7d2fe}.director-area-name{color:#0f172a;flex:1 1;font-size:14px;font-weight:500}.director-area-check{accent-color:#1d4ed8;cursor:pointer;flex-shrink:0;height:18px;margin:0 0 0 12px;width:18px}.director-area-empty{color:#64748b;font-size:14px;padding:16px;text-align:center}.director-area-empty small{color:#64748b}.badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:4px 8px;vertical-align:middle}.badge-warning{background:#fbbf24;color:#78350f}.alert{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:12px}.alert-warning{background:#fef3c7;border:1px solid #fbbf24;color:#78350f}.vacation-approval-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.vacation-approval-container h2{color:#2c3e50;font-size:2rem;margin-bottom:30px;text-align:center}.filters-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0000000a;margin-bottom:24px;padding:20px}.filters-section h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 12px}.filters-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#2c3e50;font-size:.95rem;font-weight:600;margin-bottom:8px}.filter-group select{border:2px solid #e0e6ed;border-radius:6px;font-size:1rem;padding:12px;transition:border-color .3s ease}.filter-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.search-container{position:relative;width:100%}.search-input{border:2px solid #e0e6ed;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.clear-search{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0 5px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.clear-search:hover{background-color:#f1f5f9;color:#64748b}.suggestions-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.suggestion-item{border-bottom:1px solid #f1f5f9;cursor:pointer;padding:10px 16px;transition:background-color .1s ease}.suggestion-item:hover{background-color:#f8fafc}.suggestion-name{color:#1e293b;font-weight:500}.suggestion-email{color:#64748b;font-size:.85rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-results{color:#64748b;font-style:italic;padding:12px 16px}.selected-user{background:#f8fafc;border-left:3px solid #3498db;border-radius:4px;color:#475569;font-size:.9rem;margin-top:8px;padding:6px 10px}.message{border-radius:8px;margin:20px 0;padding:15px}.message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.vacations-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0000000a;padding:24px}.vacations-section h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 12px}.loading,.no-data{color:#6c757d;font-size:1.1rem}.vacations-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr}.vacation-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.vacation-card:hover{box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.vacation-card.estado-aprobada{border-left:4px solid #16a34a}.vacation-card.estado-pendiente{border-left:4px solid #eab308}.vacation-card.estado-rechazada{border-left:4px solid #dc2626}.vacation-card.estado-cancelada{border-left:4px solid #94a3b8}.card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;justify-content:space-between;padding:16px}.employee-info h4{font-size:1.2rem;margin:0 0 5px}.request-date{font-size:.85rem;opacity:.9}.estado{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:12px;font-weight:600;padding:6px 12px;text-transform:none}.estado-pendiente{background:#fef3c7;border-color:#fde68a;border-radius:12px;color:#92400e;padding:4px}.estado-aprobada{background:#dcfce7;border-color:#bbf7d0bd;border-radius:12px;color:#166534;padding:4px}.estado-rechazada{background:#ffe4e6;border-color:#fecdd3;border-radius:12px;color:#7f1d1d;padding:4px}.estado-cancelada{background:#e2e8f0;border-color:#cbd5f5;border-radius:12px;color:#475569;padding:4px}.card-body{padding:20px}.vacation-period{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:15px;padding:15px}.period-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.period-info strong{color:#2c3e50}.period-info span{color:#495057;font-weight:600}.days-info{display:flex;gap:20px}.days-detail{align-items:center;display:flex;flex-direction:column}.days-label{color:#6c757d;font-size:.85rem;margin-bottom:5px}.days-value{color:#2c3e50;font-size:1.5rem;font-weight:700}.vacation-details{display:flex;flex-direction:column;gap:8px}.detail-row{color:#495057;font-size:.95rem;line-height:1.4}.detail-row strong{color:#2c3e50;margin-right:8px}.approval-date{color:#6c757d;font-size:.9rem}.card-actions{background:#0000;display:flex;gap:12px;justify-content:flex-end;padding:16px}.approve-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;max-width:150px;padding:10px 16px;transition:all .2s ease}.approve-btn:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014;color:#475569;transform:translateY(-1px)}.reject-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;max-width:150px;padding:10px 16px;transition:all .2s ease}.reject-btn:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014;color:#475569;transform:translateY(-1px)}.edit-btn{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#4338ca;cursor:pointer;display:inline-flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;max-width:180px;padding:10px 16px;transition:all .2s ease}.edit-btn:hover{background:#e0e7ff;border-color:#a5b4fc;box-shadow:0 2px 8px #4338ca26;color:#3730a3;transform:translateY(-1px)}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-row label{color:#2c3e50;font-size:.95rem;font-weight:600}.form-row input[type=date],.form-row textarea{border:2px solid #e0e6ed;border-radius:6px;font-size:.95rem;padding:10px 12px;resize:vertical;width:100%}.form-row input[type=date]:focus,.form-row textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.approval-summary{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;gap:20px;margin:0 0 32px;padding:20px 24px}.approval-summary__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.approval-summary__header h3{color:#0f172a;font-size:1.2rem;margin:0}.approval-summary__header p{color:#64748b;font-size:.95rem;margin:4px 0 0}.approval-summary__actions{align-items:center;display:flex;gap:12px}.auto-refresh-note{background:#edf2f7;border-radius:9999px;color:#475569;font-size:13px;padding:4px 12px}.summary-error{color:#dc2626;font-size:.9rem}.approval-summary__cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:8px;min-height:150px}.summary-card__title{color:#0f172a;font-size:.95rem;font-weight:600}.summary-card__value{align-items:center;color:#0f172a;display:flex;font-size:2.2rem;font-weight:600;gap:8px}.summary-card__description{color:#475569;font-size:.9rem;margin-top:auto}.summary-card__spinner{animation:summary-spin .6s linear infinite;border:2px solid #0f172a33;border-radius:50%;border-top-color:#0f172a99;height:14px;width:14px}@keyframes summary-spin{to{transform:rotate(1turn)}}.summary-card--warning{background:#fff7ed;border-color:#fed7aa}.summary-card--warning .summary-card__value{color:#c2410c}.summary-card--primary{background:#eff6ff;border-color:#bfdbfe}.summary-card--primary .summary-card__value{color:#1d4ed8}.approval-summary__meta{color:#64748b;font-size:.85rem}@media (max-width:1200px){.vacations-grid{grid-template-columns:1fr}}@media (max-width:768px){.vacation-approval-container{padding:15px}.filters-form,.vacations-grid{grid-template-columns:1fr}.card-header{gap:10px}.card-header,.period-info{align-items:flex-start;flex-direction:column}.period-info{gap:5px}.days-info{justify-content:space-around}.card-actions{align-items:flex-end;flex-direction:column}.approve-btn,.reject-btn{max-width:none}}@media (max-width:480px){.vacation-approval-container h2{font-size:1.5rem}.filters-section,.vacations-section{padding:20px}.vacation-card{margin:0 -5px}}.vacation-request-container{padding:24px 0;width:100%}.vacation-request-container h2{color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.025em}.vacation-request-container h2,.vacation-summary{margin-bottom:32px;padding:0 24px}.vacation-summary h3{border-bottom:1px solid #0000000d;color:#1e293b;font-size:20px;font-weight:600;margin-bottom:24px;padding-bottom:12px}.summary-cards{display:flex;gap:16px}.summary-card{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;display:flex;flex:1 1;flex-direction:column;padding:20px;text-align:center;transition:all .2s ease}.summary-card:hover{box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;transform:translateY(-1px)}.summary-card.available{background:#f0fdf4;border-color:#bbf7d0}.summary-card.warning{background:#fef3c7;border-color:#fbbf24}.summary-card.info{background:#dbeafe;border-color:#60a5fa}.card-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.card-value{color:#1e293b;font-size:24px;font-weight:700;line-height:1}.summary-card.available .card-value{color:#16a34a}.summary-card.warning .card-value{align-items:center;color:#d97706;display:flex;gap:8px}.warning-badge{font-size:18px;line-height:1}.summary-card.info .card-value{align-items:center;color:#1e40af;display:flex;gap:8px}.info-badge{font-size:18px;line-height:1}.info-box{background:#dbeafe;border-left:4px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:14px;line-height:1.5;margin-bottom:16px;padding:12px}.info-box.warning{background:#fef3c7;border-left-color:#f59e0b;color:#92400e}.adelanto-badge{align-items:center;background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;color:#92400e;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}.vacation-form-section{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;margin:0 24px 32px;padding:24px}.vacation-form-section h3{border-bottom:1px solid #0000000d;color:#1e293b;font-size:20px;font-weight:600;margin:0 0 24px;padding-bottom:12px}.vacation-form{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 1fr}.vacation-form-left{display:flex;flex-direction:column;gap:16px}.vacation-form-right{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;padding:12px 16px;transition:all .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#64748b;box-shadow:0 0 0 2px #64748b1a}.readonly-input{background-color:#f8fafc!important;border-color:#e2e8f0!important;color:#64748b!important;cursor:not-allowed}.submit-btn{align-self:flex-end;background:#1e293b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;grid-column:span 2;justify-self:end;margin-top:16px;padding:12px 24px;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:#334155;box-shadow:0 4px 12px #1e293b26,0 2px 6px #1e293b1a;transform:translateY(-1px)}.submit-btn:disabled{background:#cbd5e1;box-shadow:none;color:#94a3b8;cursor:not-allowed;transform:none}.message{border-radius:12px;font-weight:500;margin:0 24px 24px;padding:16px;text-align:center}.message.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.message.info{background-color:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.hint-text{color:#64748b}.hint-text,.warning-text{font-size:12px;margin-top:6px}.warning-text{color:#b45309}.legend-info{align-items:center;background:#fff8e1;border:1px solid #feecb5;border-left:4px solid #f59e0b;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:8px;margin:-8px 0 16px;padding:10px 12px}.my-vacations-section{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;margin:0 24px;padding:24px}.my-vacations-section h3{border-bottom:1px solid #0000000d;color:#1e293b;font-size:20px;font-weight:600;margin:0 0 24px;padding-bottom:12px}.holiday-calendar-section{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;margin:0 24px 32px;padding:24px}.holiday-calendar-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.holiday-calendar{margin-top:12px}.calendar-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.nav-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:700;padding:6px 10px;transition:all .2s ease}.nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.calendar-current{color:#1e293b;font-weight:600}.calendar-grid{grid-gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);padding:12px}.calendar-weekday{color:#475569;font-size:12px;font-weight:700;padding:4px 2px;text-align:center}.calendar-cell{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;display:flex;justify-content:center;min-height:42px;position:relative}.calendar-cell.empty{background:#0000;border:none}.calendar-cell.weekend{background:#f1f5f9}.calendar-cell.holiday{background:#fecaca;border-color:#ef4444}.calendar-cell.selected-range{outline:2px solid #6366f1;outline-offset:-2px}.day-number{font-size:13px;font-weight:600}.calendar-legend{align-items:center;color:#475569;display:flex;font-size:12px;gap:16px;margin-top:12px}.legend-item{align-items:center;display:inline-flex;gap:6px}.legend-dot{background:#e2e8f0;border-radius:50%;display:inline-block;height:10px;width:10px}.legend-dot.holiday{background:#ef4444}.calendar-cell.holiday .day-number{color:#b91c1c}.legend-dot.weekend{background:#94a3b8}.legend-dot.selected-range{background:#6366f1}.vacation-filters-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}@media (max-width:1024px){.vacation-filters-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.vacation-filters-container{grid-template-columns:1fr}}.no-data{background:#f8fafc;border:1px solid #0000000d;border-radius:12px;color:#64748b;font-style:italic;padding:40px;text-align:center}.vacations-list{display:flex;flex-direction:column;gap:8px}.vacation-item-compact{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;justify-content:space-between;min-height:60px;padding:12px 16px;position:relative;transition:all .2s ease}.vacation-item-compact:hover{box-shadow:0 2px 8px #00000014,0 1px 4px #0000000a;transform:translateY(-1px)}.vacation-item-compact.estado-aprobada{border-left:4px solid #16a34a}.vacation-item-compact.estado-pendiente{border-left:4px solid #eab308}.vacation-item-compact.estado-rechazada{border-left:4px solid #dc2626}.vacation-item-compact.estado-cancelada{border-left:4px solid #94a3b8}.vacation-main-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.vacation-primary{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.vacation-type{color:#1e293b;flex-shrink:0;font-size:14px;font-weight:600;min-width:120px}.vacation-period{color:#1e293b;font-size:14px;font-weight:500}.vacation-days{color:#64748b;font-size:14px;font-weight:500}.vacation-secondary{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.vacation-approver,.vacation-rejection,.vacation-request-date{color:#64748b;font-size:12px;line-height:1.4}.vacation-rejection{color:#dc2626;font-weight:500}.vacation-status-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.status-indicator{border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.status-indicator.estado-pendiente{background-color:#fef3c7;color:#92400e}.status-indicator.estado-aprobada{background-color:#dcfce7;color:#166534}.status-indicator.estado-rechazada{background-color:#fecaca;color:#991b1b}.status-indicator.estado-cancelada{background-color:#e2e8f0;color:#475569}.cancel-btn-compact{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:11px;font-weight:500;padding:4px 8px;transition:all .2s ease;white-space:nowrap}.cancel-btn-compact:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.cancel-btn,.detail-row,.estado,.fecha-solicitud,.vacation-actions,.vacation-details,.vacation-header,.vacation-item{display:none}.vacation-form .holiday-calendar{margin:0}.vacation-form .calendar-grid,.vacation-form .calendar-legend,.vacation-form .calendar-nav{margin-bottom:12px}.calendar-cell.clickable{cursor:pointer;transition:all .2s ease}.calendar-cell.clickable:hover:not(.holiday):not(.weekend){background:#e0e7ff;border-color:#6366f1}.calendar-cell.selected-start{background:#6366f1;border-color:#4338ca;color:#fff}.calendar-cell.selected-start .day-number{color:#fff;font-weight:700}.calendar-cell.disabled{background:#f8fafc;color:#cbd5e1;cursor:not-allowed;opacity:.5}.calendar-cell.disabled:hover{background:#f8fafc;border-color:#e2e8f0}@media (max-width:1024px){.vacation-form{gap:24px;grid-template-columns:1fr}.submit-btn{grid-column:span 1;justify-self:stretch}.vacation-request-container{padding:20px 0}.message,.my-vacations-section,.vacation-form-section,.vacation-request-container h2,.vacation-summary{margin-left:20px;margin-right:20px}.my-vacations-section,.vacation-form-section{padding:20px}}@media (max-width:768px){.vacation-request-container{padding:16px 0}.message,.my-vacations-section,.vacation-form-section,.vacation-request-container h2,.vacation-summary{margin-left:16px;margin-right:16px}.my-vacations-section,.vacation-form-section{padding:16px}.form-row{grid-template-columns:1fr}.summary-cards{flex-direction:column}.vacation-item-compact{align-items:flex-start;flex-direction:column;gap:8px;min-height:0}.vacation-primary{gap:8px}.vacation-type{min-width:auto}.vacation-status-actions{align-self:flex-end;margin-top:4px}}@media (max-width:480px){.summary-cards{gap:12px}.summary-card{padding:16px}.card-value{font-size:20px}.vacation-primary,.vacation-secondary{align-items:flex-start;flex-direction:column;gap:4px}.cancel-btn-compact{font-size:10px;padding:3px 6px}}.modal-overlay{align-items:center;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px #00000014;max-width:520px;overflow:hidden;width:100%}.modal--wide{display:flex;flex-direction:column;max-height:90%;max-width:90%;overflow:hidden}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 16px}.modal-header h4{color:#1e293b;font-size:1.1rem;margin:0}.modal-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:20px;line-height:1}.modal-close:hover{color:#334155}.modal-body{padding:16px}.holidays-filters-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:8px}@media (max-width:640px){.holidays-filters-row{grid-template-columns:1fr}}.holidays-list-scroll{flex:1 1;max-height:360px;min-height:0;overflow-y:auto}.table-sort{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:6px;padding:0}.table-sort:hover{text-decoration:underline}.table-sort:focus{outline:2px solid #4338ca;outline-offset:2px}.table-sort .sort-icon{display:inline-flex;line-height:1}.table-sort[aria-pressed=false] .sort-icon{opacity:.45}.table-sort[aria-pressed=true] .sort-icon{opacity:1}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px 16px}.btn-primary{background:#4338ca;border:1px solid #4338ca;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-primary:hover{background:#3730a3;border-color:#3730a3}.btn-secondary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.upload-row input[type=file]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;flex:1 1;min-width:0;padding:8px 12px}.upload-row input[type=file]::file-selector-button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;margin-right:12px;padding:8px 12px;transition:all .2s ease}.upload-row input[type=file]::file-selector-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.upload-row input[type=file]:focus-visible{outline:2px solid #4338ca;outline-offset:2px}.upload-row input[type=file]::-webkit-file-upload-button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;margin-right:12px;padding:8px 12px;-webkit-transition:all .2s ease;transition:all .2s ease}.upload-row input[type=file]::-webkit-file-upload-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.upload-row .btn-primary{margin-left:auto;max-width:100%;white-space:nowrap}.manual-row .btn-primary,.upload-row .btn-primary{max-width:100%;width:180px}@media (max-width:640px){.upload-row{align-items:stretch}.manual-row .btn-primary,.upload-row .btn-primary{margin-left:0;margin-top:8px;width:100%}}.table-responsive{overflow-x:auto;width:100%}.simple-table{background:#fff;border:1px solid #e2e8f0;border-collapse:collapse;border-radius:8px;width:100%}.simple-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:12px;text-align:left}.simple-table tbody td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:12px}.admin-actions,.simple-table tbody tr:hover{background:#f8fafc}.admin-actions{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:12px}.admin-tabs{align-items:center;display:flex;gap:8px;margin-bottom:12px}.tab-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease}.tab-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.tab-btn.active{background:#eef2ff;border-color:#4338ca;color:#3730a3}.manual-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.manual-row .form-group{flex:1 1 200px;min-width:180px}.manual-row .btn-primary{align-self:center;margin-left:auto;white-space:nowrap}@media (max-width:640px){.manual-row{align-items:stretch;flex-direction:column}}.row-actions{align-items:center;display:flex;gap:8px;white-space:nowrap}.icon-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.icon-btn:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000f;color:#1f2937;transform:translateY(-1px)}.icon-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.icon-btn:focus-visible,.tab-btn:focus-visible{outline:2px solid #4338ca;outline-offset:2px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin-top:64px;padding:0;width:100%}.loading-container{align-items:center;background-color:#f8f9fa;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e3e3e3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading{color:#666;font-size:18px;padding:40px}.btn,.loading{text-align:center}.btn{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-sm{font-size:12px;padding:5px 10px}.alert{border-radius:5px;font-weight:500;margin-bottom:20px;padding:15px}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:10px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.error{background-color:#f8d7da;border-radius:5px;color:#dc3545;margin:20px 0;padding:20px;text-align:center}.dev-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:5px;margin-top:30px;padding:15px;text-align:center}.dev-notice h4{color:#856404;margin-bottom:10px}.dev-notice p{color:#856404;margin:0}@media (max-width:768px){.main-content{padding:10px}.btn{font-size:13px;padding:8px 16px}}
/*# sourceMappingURL=main.8affca54.css.map*/