:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}button{font-family:inherit;cursor:pointer}.inventario-container{padding:24px;background-color:#f8f9fa;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:#333}.inventario-container .page-header{margin-bottom:24px}.inventario-container .page-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.inventario-container .page-subtitle{font-size:14px;color:#666;margin-top:4px}.inventario-container .header-actions{display:flex;gap:12px}.inventario-container .btn-primary{background-color:#0f62fe;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;font-size:14px}.inventario-container .btn-primary:hover{background-color:#0353e9}.inventario-container .btn-secondary{background-color:#fff;color:#333;border:1px solid #e0e0e0;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;font-size:14px}.inventario-container .btn-secondary:hover{background-color:#f5f5f5}.inventario-container .btn-icon-secondary{background-color:#fff;color:#333;border:1px solid #e0e0e0;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;font-size:14px}.inventario-container .btn-icon-secondary:hover{background-color:#f0f7ff;border-color:#0f62fe;color:#0f62fe}.inventario-container .btn-delete{background-color:#dc2626;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;font-size:14px}.inventario-container .btn-delete:hover{background-color:#b91c1c}.inventario-container .btn-sm{padding:6px 16px;font-size:13px}.inventario-container .filters-bar{background:#fff;padding:20px 24px;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.inventario-container .filters-row-top{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:flex-start}.inventario-container .filter-item{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.inventario-container .filter-item label{width:100%;text-align:left;font-size:12px;font-weight:500;color:#6b7280;line-height:16px}.inventario-container .filter-item select,.inventario-container .search-wrapper{height:40px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:#fff;width:100%;box-sizing:border-box}.inventario-container .filter-item select{padding:0 12px}.inventario-container .filter-item select:focus{border-color:#0f62fe;outline:none}.inventario-container .search-wrapper{position:relative;display:flex;align-items:center;gap:10px;padding:0 12px}.inventario-container .search-wrapper .search-icon{color:#6b7280;flex-shrink:0}.inventario-container .search-wrapper input{border:none;background:transparent;font-size:14px;color:#1f2937;width:100%;outline:none;padding:0;height:100%}.inventario-container .search-wrapper input::placeholder{color:#9ca3af;font-size:14px}.inventario-container .filters-row-bottom{display:flex;gap:12px;justify-content:flex-end}@media(max-width:1200px){.inventario-container .filters-row-top{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.inventario-container .filters-row-top{grid-template-columns:1fr}.inventario-container .filters-row-bottom{flex-direction:column;align-items:stretch}.inventario-container .filters-row-bottom button{width:100%}}.inventario-container .table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow-x:auto;scrollbar-width:auto}.inventario-container .table-container::-webkit-scrollbar{height:10px}.inventario-container .table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.inventario-container .table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}.inventario-container .table-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.inventario-container .custom-table{width:100%;border-collapse:collapse;min-width:1380px;table-layout:fixed}.inventario-container .custom-table th:nth-child(1){width:80px}.inventario-container .custom-table th:nth-child(2){width:100px}.inventario-container .custom-table th:nth-child(3){width:220px}.inventario-container .custom-table th:nth-child(4){width:160px}.inventario-container .custom-table th:nth-child(5){width:140px}.inventario-container .custom-table th:nth-child(6){width:110px}.inventario-container .custom-table th:nth-child(7){width:200px}.inventario-container .custom-table th:nth-child(8){width:120px}.inventario-container .custom-table th:nth-child(9){width:100px}.inventario-container .custom-table th:nth-child(10){width:100px}.inventario-container .custom-table th:nth-child(11){width:190px}.inventario-container .custom-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventario-container .custom-table th{background-color:#f9fafb;text-align:left;padding:14px 16px;font-size:12px;font-weight:600;text-transform:uppercase;color:#666;border-bottom:1px solid #eaeaea}.inventario-container .custom-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle;color:#333;font-size:14px}.inventario-container .custom-table tr:hover{background-color:#f8fbff}.inventario-container .eq-thumb{width:48px;height:36px;object-fit:cover;border-radius:6px;border:1px solid #eee}.inventario-container .eq-thumb-placeholder{width:48px;height:36px;background:#f0f2f5;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#ccc}.inventario-container .eq-name{font-weight:600;display:block}.inventario-container .eq-sub{font-size:12px;color:#888}.inventario-container .font-bold{font-weight:600;font-family:monospace;color:#555}.inventario-container .status-pill{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;display:inline-block}.inventario-container .status-pill.operativo{background-color:#def7ec;color:#03543f}.inventario-container .status-pill.en-mantenimiento{background-color:#fff8e1;color:#b45309}.inventario-container .status-pill.fuera-de-servicio{background-color:#fde8e8;color:#9b1c1c}.inventario-container .status-pill.baja{background-color:#f3f4f6;color:#374151}.inventario-container .badge-basic{background-color:#f3f4f6;color:#374151;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.inventario-container .actions-row{display:flex;gap:4px;flex-wrap:nowrap}.inventario-container .icon-btn{background:none;border:none;cursor:pointer;color:#888;padding:6px;border-radius:4px;transition:.2s}.inventario-container .icon-btn:hover{background-color:#eef2ff;color:#0f62fe}.inventario-container .empty-state{padding:40px;text-align:center;color:#888;font-style:italic}.inventario-container .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.inventario-container .modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh}.inventario-container .modal-xl{max-width:1200px;width:95%}.inventario-container .modal-lg{width:1100px;max-width:95%}.inventario-container .modal-md{width:500px}.inventario-container .modal-sm{width:320px}.inventario-container .modal-header{padding:20px 32px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:flex-start}.inventario-container .modal-header h3{margin:0;font-size:20px;font-weight:700;color:#1a1a1a}.inventario-container .modal-header p{margin:4px 0 0;font-size:13px;color:#666}.inventario-container .modal-close-btn{background:none;border:none;cursor:pointer;color:#999}.inventario-container .modal-close-btn:hover{color:#333}.inventario-container .modal-body{padding:32px;overflow-y:auto}.inventario-container .modal-footer{padding:20px 32px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:12px;background-color:#fcfcfc;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.inventario-container .form-grid-new{display:grid;grid-template-columns:320px 1fr;gap:32px}.inventario-container .left-column{display:flex;flex-direction:column;gap:20px}.inventario-container .right-column{display:flex;flex-direction:column;gap:16px}.inventario-container .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inventario-container .form-group{display:flex;flex-direction:column;gap:6px}.inventario-container .form-group label{font-size:13px;font-weight:600;color:#444}.inventario-container .form-group input,.inventario-container .form-group select,.inventario-container .form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.inventario-container .form-group input:focus,.inventario-container .form-group select:focus,.inventario-container .form-group textarea:focus{border-color:#0f62fe;outline:none;box-shadow:0 0 0 3px #0f62fe1a}.inventario-container .status-display{padding:10px 12px;background:#f9fafb;border-radius:6px;display:flex;align-items:center}.inventario-container .image-upload-area{border:2px dashed #e0e0e0;border-radius:8px;padding:20px;text-align:center;background-color:#f9f9f9;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px}.inventario-container .image-upload-area:hover{border-color:#0f62fe;background-color:#f0f7ff}.inventario-container .image-preview{max-height:200px;max-width:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 5px #0000001a}.inventario-container .upload-placeholder{color:#666;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px}.inventario-container .upload-hint{font-size:11px;color:#999}.inventario-container .equipo-info-grid-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px;background:#f9fafb;padding:24px;border-radius:8px;margin-bottom:24px}.inventario-container .info-item-compact{display:flex;flex-direction:column;gap:6px}.inventario-container .info-item-compact.descripcion-full-width{grid-column:1 / -1}.inventario-container .info-label-compact{font-size:11px;color:#6b7280;font-weight:400;text-transform:none;letter-spacing:0;margin-bottom:2px}.inventario-container .info-value-compact{font-size:15px;color:#111827;font-weight:600}.inventario-container .descripcion-text{font-weight:400;line-height:1.6;color:#374151}.inventario-container .status-badge-compact{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500;width:fit-content}.inventario-container .status-badge-compact.operativo{background:#d1fae5;color:#065f46}.inventario-container .status-badge-compact.en-mantenimiento{background:#fed7aa;color:#92400e}.inventario-container .status-badge-compact.fuera-de-servicio{background:#fecaca;color:#991b1b}.inventario-container .docs-section-title{font-size:18px;font-weight:600;color:#111827;margin:32px 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.inventario-container .upload-dropzone-modern{border:2px dashed #d1d5db;border-radius:12px;padding:40px;text-align:center;background:#fafafa;margin-bottom:24px;transition:all .3s ease}.inventario-container .upload-dropzone-modern:hover{border-color:#3b82f6;background:#f0f9ff}.inventario-container .upload-text{margin:12px 0 16px;color:#6b7280;font-size:14px}.inventario-container .upload-btn-modern{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.inventario-container .upload-btn-modern:hover{background:#2563eb}.inventario-container .archivo-seleccionado{margin-top:16px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:inline-flex;align-items:center;gap:12px}.inventario-container .archivo-seleccionado span{font-size:14px;color:#374151}.inventario-container .docs-table-modern{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.inventario-container .docs-table-modern thead{background:#f9fafb}.inventario-container .docs-table-modern th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.inventario-container .docs-table-modern tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s}.inventario-container .docs-table-modern tbody tr:hover{background:#f9fafb}.inventario-container .docs-table-modern tbody tr:last-child{border-bottom:none}.inventario-container .docs-table-modern td{padding:16px;font-size:14px;color:#374151;vertical-align:middle}.inventario-container .text-muted{color:#6b7280!important}.inventario-container .doc-name-cell{display:flex;align-items:center;gap:10px}.inventario-container .doc-name-cell span{font-weight:500}.inventario-container .doc-type-badge{display:inline-block;padding:4px 10px;background:#f3f4f6;color:#4b5563;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.inventario-container .icon-btn-table{padding:6px;background:transparent;border:none;cursor:pointer;border-radius:4px;transition:all .2s;color:#6b7280;display:flex;align-items:center;justify-content:center}.inventario-container .icon-btn-table:hover{background:#f3f4f6;color:#111827}.inventario-container .icon-btn-table.delete:hover{background:#fee2e2;color:#dc2626}.inventario-container .doc-actions{display:flex;gap:8px;flex-wrap:nowrap}.inventario-container .empty-docs-row{text-align:center;padding:60px 20px!important}.inventario-container .empty-docs-row p{margin-top:12px;color:#9ca3af;font-size:14px}.inventario-container .modal-qr{width:520px;max-width:95%}.inventario-container .modal-header-qr{padding:24px 32px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start}.inventario-container .modal-header-qr h3{margin:0;font-size:18px;font-weight:600;color:#111827}.inventario-container .qr-subtitle{margin:4px 0 0;font-size:13px;color:#6b7280}.inventario-container .modal-body-qr{padding:32px}.inventario-container .qr-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:32px;text-align:center}.inventario-container .qr-code-container{background:#fff;padding:20px;border-radius:8px;display:inline-block;margin-bottom:20px;box-shadow:0 2px 8px #00000014}.inventario-container .qr-code-image{display:block;width:200px;height:200px}.inventario-container .qr-equipo-nombre{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.inventario-container .qr-info-item{display:flex;justify-content:center;align-items:center;gap:8px;margin:8px 0;font-size:13px}.inventario-container .qr-label{color:#6b7280;font-weight:500}.inventario-container .qr-value{color:#111827;font-weight:600;font-family:Courier New,monospace}.inventario-container .modal-footer-qr{padding:20px 32px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:12px;background-color:#fcfcfc}.inventario-container .modal-detalle{max-width:700px;border-radius:8px;display:flex;flex-direction:column;max-height:90vh}.inventario-container .modal-header-detalle{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #e5e7eb}.inventario-container .modal-header-detalle h3{font-size:20px;font-weight:600;color:#111827;margin:0}.inventario-container .subtitle-detalle{color:#6b7280;font-size:14px;margin:4px 0 0}.inventario-container .modal-body-detalle{padding:24px;overflow-y:auto;flex:1}.inventario-container .modal-body-detalle::-webkit-scrollbar{width:6px}.inventario-container .modal-body-detalle::-webkit-scrollbar-track{background:transparent}.inventario-container .modal-body-detalle::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.inventario-container .modal-body-detalle::-webkit-scrollbar-thumb:hover{background:#9ca3af}.inventario-container .detalle-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-bottom:24px}.inventario-container .detalle-left{display:flex;flex-direction:column;gap:16px}.inventario-container .detalle-imagen-card{width:100%;height:240px;border-radius:8px;overflow:hidden;background:#f9fafb;display:flex;align-items:center;justify-content:center}.inventario-container .detalle-imagen-card img{width:100%;height:100%;object-fit:cover}.inventario-container .empty-image-placeholder{text-align:center;color:#9ca3af}.inventario-container .empty-image-placeholder p{margin-top:8px;font-size:14px}.inventario-container .estado-badge-detalle{text-align:center;padding:12px;background:#f9fafb;border-radius:6px;font-size:14px}.inventario-container .estado-badge-detalle span{color:#6b7280}.inventario-container .estado-badge-detalle .status-pill{margin-left:4px}.inventario-container .detalle-right{display:flex;flex-direction:column}.inventario-container .info-grid-detalle{display:grid;grid-template-columns:1fr;gap:16px}.inventario-container .info-field{display:flex;flex-direction:column;gap:4px}.inventario-container .info-field label{font-size:13px;color:#6b7280;font-weight:500}.inventario-container .info-field p{font-size:15px;color:#111827;margin:0;font-weight:400}.inventario-container .historial-detalle{border-top:1px solid #e5e7eb;padding-top:20px}.inventario-container .historial-detalle h4{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.inventario-container .modal-footer-detalle{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.inventario-container .btn-secondary-detalle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.inventario-container .btn-secondary-detalle:hover{background:#059669}.inventario-container .btn-danger-detalle{padding:10px 24px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.inventario-container .btn-danger-detalle:hover{background:#dc2626}.inventario-container .historial-list-compact{display:flex;flex-direction:column;gap:6px}.inventario-container .historial-line{font-size:13px;line-height:1.6;color:#374151;margin:0;padding:0;word-break:break-word}.inventario-container .historial-line strong{color:#1f2937;font-weight:600}.inventario-container .empty-historial-detalle{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;text-align:center}.inventario-container .empty-historial-detalle p{margin:12px 0 0;color:#9ca3af}@media(max-width:768px){.inventario-container .equipo-info-grid-compact{grid-template-columns:repeat(2,1fr)}.inventario-container .docs-table-modern{font-size:12px}.inventario-container .docs-table-modern th,.inventario-container .docs-table-modern td{padding:10px 8px}.inventario-container .form-grid-new,.inventario-container .form-row-2{grid-template-columns:1fr}}@media(max-width:480px){.inventario-container .equipo-info-grid-compact{grid-template-columns:1fr}}.inventario-container .table-footer{display:flex;justify-content:center;align-items:center;padding:20px;border-top:1px solid #e5e7eb;background:#f9fafb}.inventario-container .pagination-controls{display:flex;align-items:center;gap:15px}.inventario-container .pagination-btn{padding:8px 16px;background:#0070f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:6px}.inventario-container .pagination-btn:hover:not(:disabled){background:#0051cc;transform:translateY(-1px);box-shadow:0 4px 12px #0070f34d}.inventario-container .pagination-btn:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6;transform:none}.inventario-container .pagination-info{font-size:14px;color:#374151;font-weight:600;padding:0 10px;min-width:120px;text-align:center}.inventario-container .form-group input.input-error,.inventario-container .form-group select.input-error,.inventario-container .form-group textarea.input-error{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shake .35s ease}@keyframes shake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.inventario-container .field-error-msg{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:fadeInDown .2s ease}.inventario-container .celda-tooltip{position:relative;cursor:default;overflow:visible!important}.inventario-container .texto-truncado{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventario-container .tooltip-flotante{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:0;background:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px #00000026;z-index:50;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.inventario-container .tooltip-flotante:after{content:"";position:absolute;top:100%;left:16px;border-width:5px;border-style:solid;border-color:#1f2937 transparent transparent transparent}.inventario-container .celda-tooltip:hover .tooltip-flotante{visibility:visible;opacity:1}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mantenimientos-page{padding:24px;background:#f6f8fb;min-height:100vh}.mantenimientos-page .top-bar{display:flex;gap:16px;align-items:center;margin-bottom:24px;background:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 4px 12px #00000008}.mantenimientos-page .calendar-nav-buttons{display:flex;align-items:center;background:#f1f5f9;padding:4px;border-radius:10px;gap:4px}.mantenimientos-page .nav-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:#475569;border-radius:8px;cursor:pointer;transition:all .2s ease}.mantenimientos-page .nav-btn:hover{background:#fff;color:#2563eb;box-shadow:0 2px 6px #0000000d}.mantenimientos-page .nav-btn.hoy-btn{width:auto;padding:0 16px;font-size:13.5px;font-weight:600;color:#334155}.mantenimientos-page .nav-btn.hoy-btn:hover{color:#2563eb}.mantenimientos-page .top-bar .search-wrapper{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid #e9eef6;background:#fff;transition:all .2s ease}.mantenimientos-page .top-bar .search-wrapper:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.mantenimientos-page .top-bar .search-wrapper .search-icon{flex-shrink:0;color:#9ca3af}.mantenimientos-page .top-bar .search{flex:1;border:none;background:transparent;padding:0;outline:none;font-size:14px;color:#111827}.mantenimientos-page .top-bar .search::placeholder{color:#9ca3af}.mantenimientos-page .top-bar .view-buttons{display:flex;background:#f1f5f9;padding:4px;border-radius:10px;gap:4px}.mantenimientos-page .top-bar .view-buttons button{padding:8px 16px;border-radius:8px;border:none;background:transparent;font-size:13.5px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease}.mantenimientos-page .top-bar .view-buttons button:hover{background:#ffffff80;color:#2563eb}.mantenimientos-page .top-bar .view-buttons button.active{background:#fff;color:#2563eb;font-weight:600;box-shadow:0 2px 6px #0000000d}.mantenimientos-page .btn-primary{padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;background:#2563eb;color:#fff;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 10px #2563eb33}.mantenimientos-page .btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 14px #2563eb40}.mantenimientos-page .btn-primary:active{transform:translateY(0)}.mantenimientos-page .top-cards{display:flex;gap:16px;margin-bottom:18px}.mantenimientos-page section .top-cards{margin-bottom:16px}.mantenimientos-page .top-cards .card{background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 6px 18px #0f1e320f;flex:1;min-width:120px}.mantenimientos-page .top-cards .card small{color:#777;display:block}.mantenimientos-page .top-cards .card .card-head{display:flex;align-items:center;gap:10px}.mantenimientos-page .top-cards .card .card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#0b76d10f}.mantenimientos-page .top-cards .card .card-icon svg{display:block}.mantenimientos-page .card strong{font-size:22px;display:block;margin-top:8px;color:#0b76d1}.mantenimientos-page .card .card-sub{margin-top:8px;color:#6b7280;font-size:13px}.mantenimientos-page aside{background:#fff;padding:12px;border-radius:10px;box-shadow:0 6px 16px #0f1e320a;height:900px;display:flex;flex-direction:column}.mantenimientos-page .filters-panel{display:flex;flex-direction:column;gap:6px;flex-shrink:0;min-height:0}.mantenimientos-page .filters-header{display:flex;justify-content:space-between;align-items:center}.mantenimientos-page .filters-header h4{margin:0}.mantenimientos-page .filter-section{background:transparent;border-bottom:1px solid #e5e7eb;padding-bottom:8px;margin-bottom:8px}.mantenimientos-page .filter-section:last-of-type{border-bottom:none}.mantenimientos-page .filter-header{display:flex;justify-content:space-between;align-items:center;padding:6px 0;cursor:pointer}.mantenimientos-page .filter-title{display:flex;gap:12px;align-items:center;font-weight:700;font-size:16px;color:#111827}.mantenimientos-page .filter-icon{font-size:16px;font-weight:600;color:#333}.mantenimientos-page .chev{color:#6b7280;font-size:20px}.mantenimientos-page .filter-body{display:flex;flex-direction:column;gap:6px;padding:6px 0}.mantenimientos-page .filter-item{display:flex;align-items:center;gap:10px;padding:4px 2px;border-radius:0;cursor:pointer}.mantenimientos-page .filter-item:hover{background:transparent}.mantenimientos-page .filter-item input{width:18px;height:18px;cursor:pointer;accent-color:#2563eb}.mantenimientos-page .label-text{flex:1;color:#6b7280;font-weight:500;font-size:15px}.mantenimientos-page .count-badge{background:transparent;color:#9ca3af;padding:0;border-radius:0;font-size:14px;font-weight:600}.mantenimientos-page .alerts-search-box{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;margin-bottom:8px;transition:all .2s ease}.mantenimientos-page .alerts-search-box:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.mantenimientos-page .alerts-search-box .search-icon{flex-shrink:0;color:#9ca3af}.mantenimientos-page .alerts-search-input{flex:1;border:none;background:transparent;font-size:13px;color:#111827;padding:0;outline:none}.mantenimientos-page .alerts-search-input::placeholder{color:#9ca3af}.mantenimientos-page .alerts-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;gap:6px;min-height:0}.mantenimientos-page .alerts-section{display:flex;flex-direction:column;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:0;min-height:0;flex-shrink:0}.mantenimientos-page .alerts-section:first-of-type{border-top:none;padding-top:0}.mantenimientos-page .alerts-header h5{margin:0 0 2px;font-size:15px;font-weight:700;color:#111827;display:flex;gap:8px;align-items:center}.mantenimientos-page .alerts-subtitle{margin:0;font-size:13px;color:#6b7280;font-weight:400}.mantenimientos-page .alerts-list{margin-top:6px;display:flex;flex-direction:column;gap:6px;padding-right:4px}.mantenimientos-page .alert-item{display:flex;gap:10px;padding:8px;border-radius:6px;background:#f9fafb;border-left:3px solid #e5e7eb;transition:all .2s ease}.mantenimientos-page .alert-item:hover{background:#f3f4f6}.mantenimientos-page .alert-item.alert-critical{border-left-color:#ef4444}.mantenimientos-page .alert-item.alert-critical .alert-bullet{background:#ef4444}.mantenimientos-page .alert-item.alert-critical .alert-title{color:#ef4444}.mantenimientos-page .alert-item.alert-info{border-left-color:#3b82f6}.mantenimientos-page .alert-item.alert-info .alert-bullet{background:#3b82f6}.mantenimientos-page .alert-item.alert-info .alert-title{color:#3b82f6}.mantenimientos-page .alert-item.alert-warning{border-left-color:#f97316}.mantenimientos-page .alert-item.alert-warning .alert-bullet{background:#f97316}.mantenimientos-page .alert-item.alert-warning .alert-title{color:#f97316}.mantenimientos-page .alert-bullet{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.mantenimientos-page .alert-content{flex:1;min-width:0}.mantenimientos-page .alert-title{font-size:13px;font-weight:600;color:#0f1724;margin-bottom:2px;word-break:break-word}.mantenimientos-page .alert-description{font-size:12px;color:#6b7280;margin:0;word-break:break-word}.mantenimientos-page .calendar-week{background:#fff;border-radius:10px;padding:12px;box-shadow:0 6px 18px #0f1e320a}.mantenimientos-page .calendar-grid{display:flex;gap:12px;align-items:flex-start;max-height:650px;overflow-y:auto}.mantenimientos-page .time-col{width:72px;display:flex;flex-direction:column;gap:0px;padding-top:60px}.mantenimientos-page .time-cell{height:52px;color:#8a8f98;padding-left:8px;font-size:13px;display:flex;align-items:center;line-height:1}.mantenimientos-page .days-area{flex:1}.mantenimientos-page .days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;position:sticky;top:0;background:#fff;z-index:10;padding-bottom:8px}.mantenimientos-page .day-header{padding:10px;text-align:center;font-weight:700;background:#fbfcfe;border-radius:8px;color:#333}.mantenimientos-page .days-body{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.mantenimientos-page .day-column{height:1310px;background:#e8f4f8;border-radius:8px;position:relative;border:1px solid #f1f5fb}.mantenimientos-page .day-slot{height:52px;border-top:1px solid #f3f3f3;background:#e8f4f8}.mantenimientos-page .calendar-month{background:#fff;border-radius:10px;padding:12px;box-shadow:0 6px 18px #0f1e320a}.mantenimientos-page .month-header{margin-bottom:12px}.mantenimientos-page .month-day-names{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;font-weight:600;font-size:13px;color:#666;text-align:center}.mantenimientos-page .month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;min-height:500px}.mantenimientos-page .month-day{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px;min-height:100px;position:relative;transition:all .2s}.mantenimientos-page .month-day:hover{background:#f3f4f6;border-color:#0b76d1}.mantenimientos-page .month-day.other-month{opacity:.4;background:#fafafa}.mantenimientos-page .day-number{font-weight:600;font-size:14px;color:#111;margin-bottom:6px}.mantenimientos-page .day-events{display:flex;flex-direction:column;gap:4px}.mantenimientos-page .month-event{padding:4px 6px;border-radius:4px;font-size:11px;color:#fff;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .2s}.mantenimientos-page .month-event:hover{opacity:.8;transform:translate(2px)}.mantenimientos-page .more-events{font-size:11px;color:#666;padding:2px 6px;text-align:center}.mantenimientos-page .event-pill{display:inline-block;color:#fff;margin:6px 0;font-size:13px;box-shadow:0 6px 12px #0b76d114;position:absolute;padding:6px 8px;border-radius:6px;box-shadow:0 10px 20px #0206170f;overflow:hidden;font-size:12px}.mantenimientos-page .event-pill div:first-child{opacity:.95;font-size:12px}.mantenimientos-page .event-pill .title{font-weight:700}.mantenimientos-page .event-blue{background:#1976d2}.mantenimientos-page .event-red{background:#d32f2f}.mantenimientos-page .event-orange{background:#fb8c00}.mantenimientos-page .event-green{background:#2e7d32}.mantenimientos-page .event-dark{background:#264653}.mantenimientos-page .event-tooltip{width:240px;background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px #0000001f;color:#222;z-index:60;border:1px solid rgba(0,0,0,.06)}.mantenimientos-page .event-tooltip .tooltip-time{font-size:12px;color:#666;margin-bottom:6px}.mantenimientos-page .event-tooltip .tooltip-title{font-weight:700;margin-bottom:6px;font-size:14px}.mantenimientos-page .event-tooltip .tooltip-body{font-size:13px;color:#333;max-height:48px;overflow:hidden;text-overflow:ellipsis}.mantenimientos-page .event-tooltip .tooltip-meta{margin-top:8px;font-size:12px;color:#666}.mantenimientos-page .action-menu{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000001f;border:1px solid rgba(0,0,0,.06);overflow:hidden}.mantenimientos-page .action-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f3f4f6;color:#223}.mantenimientos-page .action-item:hover{background:#f5f8ff}.mantenimientos-page .action-item.disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb;font-weight:600}.mantenimientos-page .action-item.disabled:hover{background:#f9fafb}.mantenimientos-page .calendar-legend{display:flex;gap:18px;padding:16px 12px 6px;align-items:center;margin-top:12px;color:#666;border-top:1px solid #f0f0f0;flex-wrap:wrap}.mantenimientos-page .legend-item{display:flex;gap:8px;align-items:center;color:#666}.mantenimientos-page .dot{width:12px;height:12px;border-radius:50%;display:inline-block}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;z-index:1000}.mantenimientos-page .modal{background:#fff;border-radius:10px;padding:18px;width:1020px;max-width:96%;box-sizing:border-box;max-height:calc(100vh - 80px);overflow:auto;z-index:1001}.mantenimientos-page .modal *{box-sizing:border-box}.mantenimientos-page .modal.modal-small{width:420px;height:420px;max-width:92%;max-height:92%;padding:18px 20px;border-radius:12px;display:flex;flex-direction:column;z-index:1001}.modal-small{width:420px;height:420px;max-width:92%;max-height:92%;padding:18px 20px;border-radius:12px;box-shadow:0 12px 30px #0818302e;display:flex;flex-direction:column}.mantenimientos-page .modal-small .modal-header{padding-bottom:8px;border-bottom:1px solid #eef2f7;margin-bottom:12px}.mantenimientos-page .modal-small h3{font-size:18px;margin:0;color:#12263a}.mantenimientos-page .modal-small label{display:block;font-size:13px;margin-bottom:6px;color:#3b4b5a;font-weight:600}.mantenimientos-page .modal-small input[type=date],.mantenimientos-page .modal-small select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #e6edf5;background:#fff;font-size:14px}.mantenimientos-page .modal-small .btn-primary{padding:8px 14px;border-radius:8px}.mantenimientos-page .modal-small .btn-secondary{padding:8px 12px}.mantenimientos-page .modal-small .modal-actions{margin-top:14px}.mantenimientos-page .modal-small .modal-body{flex:1;overflow:auto}.modal.modal-form.modal-large{width:520px;max-width:96%;padding:20px 22px;border-radius:12px}.mantenimientos-page .modal-form h3{margin:0 0 4px;font-size:20px}.mantenimientos-page .modal-form .modal-header h3{font-size:20px;margin:0;color:#0f1724}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:20px}.mantenimientos-page .close-modal{background:transparent;border:none;font-size:18px;cursor:pointer}.mantenimientos-page .modal-subtitle{margin:0 0 12px;color:#666;font-size:13px}.modal-subtitle{color:#556;margin:8px 0 14px;border-bottom:1px solid #eef2f7;padding-bottom:12px}.mantenimientos-page .modal-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.form-grid.two-col{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start}.mantenimientos-page .form-grid.two-col .left-col{display:block}.mantenimientos-page .form-grid.two-col .right-col{display:flex;flex-direction:column;gap:12px}.field{margin-bottom:12px}.mantenimientos-page .modal-form .field{display:flex;flex-direction:column}.field label{display:block;font-size:13px;margin-bottom:8px;color:#344;font-weight:600}.mantenimientos-page .modal-form .field label{font-size:13px;margin-bottom:6px;color:#394151;font-weight:600}.mantenimientos-page .field input[type=text],.mantenimientos-page .field input[type=date],.mantenimientos-page .field input[type=time],.mantenimientos-page .field select,.mantenimientos-page .field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #e6edf5;background:#fff;font-size:14px;color:#0b1721;box-sizing:border-box;max-width:100%}.mantenimientos-page .modal-form .field input,.mantenimientos-page .modal-form .field select,.mantenimientos-page .modal-form .field textarea{padding:12px 14px;border-radius:8px;border:1px solid #e9eef6;font-size:14px;background:#fff}.mantenimientos-page .modal-form .field input[disabled],.mantenimientos-page .modal-form .field input[readonly]{background:#fbfdff;color:#738096}.field textarea{min-height:110px;resize:vertical}.mantenimientos-page .modal-form .field textarea{min-height:120px;resize:vertical}.mantenimientos-page .modal-form .field.field-full{grid-column:1 / -1}.mantenimientos-page .row{display:flex;gap:12px;flex-wrap:wrap}.mantenimientos-page .row .field{flex:1;min-width:0}.mantenimientos-page .search-wrap{display:flex;align-items:center}.mantenimientos-page .modal-form .search-wrap{display:flex;gap:8px}.mantenimientos-page .search-input{flex:1;padding:10px 12px;border-radius:8px 0 0 8px;border:1px solid #e6edf5;border-right:0;min-width:0}.mantenimientos-page .modal-form .search-input{flex:1;border-radius:8px;border:1px solid #e9eef6;padding:10px 12px}.mantenimientos-page .autocomplete-field,.mantenimientos-page .autocomplete-field .search-wrap{position:relative}.autocomplete-list{background:#fff;border:1px solid #eef2f7;box-shadow:0 8px 18px #141e3c0f;border-radius:8px;margin-top:6px;max-height:180px;overflow:auto}.mantenimientos-page .autocomplete-field .autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:1200}.mantenimientos-page .autocomplete-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f4f4f4}.mantenimientos-page .autocomplete-item:hover{background:#f6fbff}.mantenimientos-page .required{color:#d32f2f;margin-left:6px}.mantenimientos-page .btn-primary{background:#0b76d1;color:#fff;border:0;border-radius:8px;font-weight:600;border:none;padding:8px 14px}.mantenimientos-page .btn-primary.small{padding:6px 10px;font-size:13px}.mantenimientos-page .btn-primary.save-btn{background:#0b76d1;color:#fff;padding:10px 16px;border-radius:8px;border:none;display:inline-flex;align-items:center}.mantenimientos-page .btn-primary.save-btn svg{fill:none}.mantenimientos-page .btn-primary.save-btn:hover{background:#095fa8}.mantenimientos-page .mantenimientos-page .btn-secondary{background:transparent;color:#223;border:1px solid #d8e3ef;padding:9px 12px;border-radius:8px}.mantenimientos-page .btn-secondary{background:#fff;border:1px solid #e6eef6;padding:10px 16px;border-radius:8px;cursor:pointer}.mantenimientos-page .btn-small{margin-right:6px}.mantenimientos-page .icon-btn{border:0;padding:8px 10px;background:#f3f7fb;cursor:pointer;border-radius:0 8px 8px 0}.mantenimientos-page .icon-btn{background:#0b76d1;color:#fff;border:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer}.mantenimientos-page .search-btn{background:#0b76d1;color:#fff;border-radius:0 8px 8px 0;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center}.modal-actions.right-actions{display:flex;justify-content:flex-end;gap:10px}.mantenimientos-page .modal-actions{display:flex;gap:12px;margin-top:18px}.mantenimientos-page .modal-actions.right-actions{justify-content:flex-end}.mantenimientos-page .calendar-placeholder{background:#fff;border-radius:10px;padding:12px;height:480px;box-shadow:0 6px 16px #0f1e320a;overflow:auto}.mantenimientos-page .inventario-table{width:100%;border-collapse:collapse;background:#fff}.mantenimientos-page .inventario-table th,.mantenimientos-page .inventario-table td{padding:8px;border-bottom:1px solid #eee;text-align:left}@media(max-width:900px){.mantenimientos-page .form-grid.two-col{grid-template-columns:1fr}.mantenimientos-page .modal.modal-form.modal-large{width:92%}}.mantenimientos-page .field input.input-error-mant,.mantenimientos-page .field select.input-error-mant,.mantenimientos-page .field textarea.input-error-mant,.mantenimientos-page .search-input.input-error-mant{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shakeMant .35s ease}@keyframes shakeMant{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.mantenimientos-page .field-error-msg-mant{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:fadeInDownMant .2s ease}@keyframes fadeInDownMant{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calibraciones-page .form-group .form-input.input-error-cal,.calibraciones-page .form-group select.input-error-cal{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shakeCal .35s ease}@keyframes shakeCal{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.calibraciones-page .field-error-msg-cal{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:fadeInDownCal .2s ease}@keyframes fadeInDownCal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.reportes-page .form-group .form-select.input-error-rep,.reportes-page .form-group .form-input.input-error-rep{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shakeRep .35s ease}.ordenes-trabajo-page{padding:24px;background:#f6f8fb;min-height:100vh}.ordenes-trabajo-page .page-title{font-size:24px;font-weight:700;color:#0f1724;margin-bottom:20px}.ordenes-trabajo-page .top-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}.badge-critica{background-color:#e77b75;color:#fff}.ordenes-trabajo-page .top-cards .card{background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 6px 18px #0f1e320f}.ordenes-trabajo-page .top-cards .card .card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ordenes-trabajo-page .top-cards .card .card-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px}.ordenes-trabajo-page .card-icon-red{background:#d32f2f14}.ordenes-trabajo-page .card-icon-green{background:#2e7d3214}.ordenes-trabajo-page .card-icon-blue{background:#0b76d114}.ordenes-trabajo-page .card-icon-orange{background:#fb8c0014}.ordenes-trabajo-page .card-icon-purple{background:#7c3aed14}.ordenes-trabajo-page .top-cards .card small{color:#6b7280;font-size:13px}.ordenes-trabajo-page .top-cards .card strong{font-size:28px;display:block;color:#0b76d1;font-weight:700;margin-top:4px}.ordenes-trabajo-page .top-cards .card .card-sub{margin-top:8px;color:#9ca3af;font-size:13px}.ordenes-trabajo-page .cards-accordion{display:none}.ordenes-trabajo-page .cards-accordion-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border:1px solid #e9eef6;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#0f1724;box-shadow:0 2px 8px #0f1e320f;transition:background .2s}.ordenes-trabajo-page .cards-accordion-toggle:hover{background:#f0f9ff}.ordenes-trabajo-page .cards-accordion-toggle-left{display:flex;align-items:center;gap:10px}.ordenes-trabajo-page .cards-accordion-summary{display:flex;gap:16px}.ordenes-trabajo-page .cards-accordion-summary .acc-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.ordenes-trabajo-page .cards-accordion-summary .acc-stat span:first-child{font-size:16px;font-weight:700;color:#0b76d1}.ordenes-trabajo-page .cards-accordion-summary .acc-stat span:last-child{font-size:10px;color:#9ca3af}.ordenes-trabajo-page .cards-accordion-arrow{color:#6b7280;transition:transform .3s ease;flex-shrink:0}.ordenes-trabajo-page .cards-accordion-arrow.open{transform:rotate(180deg)}.ordenes-trabajo-page .cards-accordion-body{overflow:hidden;max-height:0;transition:max-height .35s ease,opacity .3s ease;opacity:0}.ordenes-trabajo-page .cards-accordion-body.open{max-height:600px;opacity:1}.ordenes-trabajo-page .cards-accordion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:10px}.ordenes-trabajo-page .cards-accordion-grid .card{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 4px 12px #0f1e320f;border:1px solid #f0f3f8}.ordenes-trabajo-page .cards-accordion-grid .card .card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ordenes-trabajo-page .cards-accordion-grid .card .card-head small{color:#6b7280;font-size:11px}.ordenes-trabajo-page .cards-accordion-grid .card strong{font-size:22px;display:block;color:#0b76d1;font-weight:700}.ordenes-trabajo-page .cards-accordion-grid .card .card-sub{margin-top:4px;color:#9ca3af;font-size:11px}.ordenes-trabajo-page .top-bar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.ordenes-trabajo-page .filter-select{padding:10px 14px;border-radius:8px;border:1px solid #e9eef6;background:#fff;font-size:14px;color:#374151;cursor:pointer;min-width:130px}.ordenes-trabajo-page .btn-primary{background:#0b76d1;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;font-size:14px;transition:background .2s;white-space:nowrap}.ordenes-trabajo-page .btn-primary:hover{background:#095fa8}.ordenes-trabajo-page .btn-secondary{background:#fff;color:#374151;border:1px solid #e6eef6;padding:10px 16px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap}.ordenes-trabajo-page .btn-secondary:hover{background:#f5f8ff;border-color:#0b76d1}.ordenes-trabajo-page .table-container{background:#fff;border-radius:10px;padding:20px;box-shadow:0 6px 18px #0f1e320a;overflow-x:auto;-webkit-overflow-scrolling:touch}.ordenes-trabajo-page .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.ordenes-trabajo-page .table-header h3{margin:0;font-size:18px;color:#0f1724}.ordenes-trabajo-page .btn-refresh{background:transparent;border:none;color:#0b76d1;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px}.ordenes-trabajo-page .btn-refresh:hover{color:#095fa8}.ordenes-trabajo-page .ot-table{width:100%;border-collapse:collapse;font-size:14px;min-width:900px}.ordenes-trabajo-page .ot-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.ordenes-trabajo-page .ot-table th{padding:12px 10px;text-align:left;font-weight:600;color:#374151;font-size:13px;white-space:nowrap}.ordenes-trabajo-page .ot-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.ordenes-trabajo-page .ot-table tbody tr:hover{background:#f9fafb}.ordenes-trabajo-page .ot-table td{padding:14px 10px;color:#4b5563;white-space:nowrap}.ordenes-trabajo-page .id-cell{font-weight:600;color:#0b76d1}.ordenes-trabajo-page .asunto-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ordenes-trabajo-page .badge{display:inline-block;padding:5px 10px;border-radius:16px;font-size:12px;font-weight:600;white-space:nowrap}.ordenes-trabajo-page .badge-blue{background:#e3f2fd;color:#1976d2}.ordenes-trabajo-page .badge-red{background:#ffebee;color:#d32f2f}.ordenes-trabajo-page .badge-orange{background:#fff3e0;color:#fb8c00}.ordenes-trabajo-page .badge-yellow{background:#fffde7;color:#f57f17}.ordenes-trabajo-page .badge-green{background:#e8f5e9;color:#2e7d32}.ordenes-trabajo-page .badge-navy{background:#e3eaf6;color:#102a5b}.ordenes-trabajo-page .badge-gray{background:#f5f5f5;color:#616161}.ordenes-trabajo-page .actions-cell{display:flex;gap:4px;align-items:center}.ordenes-trabajo-page .action-btn{background:transparent;border:none;cursor:pointer;font-size:17px;padding:6px;border-radius:6px;transition:background .2s;display:flex;align-items:center;justify-content:center}.ordenes-trabajo-page .action-btn:hover{background:#f3f4f6}.ordenes-trabajo-page .btn-view:hover{background:#e3f2fd}.ordenes-trabajo-page .btn-edit:hover{background:#fff3e0}.ordenes-trabajo-page .btn-escalate:hover{background:#ffebee}.ordenes-trabajo-page .table-footer{display:flex;justify-content:center;margin-top:20px}.ordenes-trabajo-page .pagination-controls{display:flex;align-items:center;gap:15px}.ordenes-trabajo-page .pagination-btn{padding:8px 16px;background:#0070f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.ordenes-trabajo-page .pagination-btn:hover:not(:disabled){background:#0051cc;transform:translateY(-1px)}.ordenes-trabajo-page .pagination-btn:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6}.ordenes-trabajo-page .pagination-info{font-size:14px;color:#495057;font-weight:600}.ordenes-trabajo-page .date-range-selector{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid #e9eef6;background:#fff;font-size:14px;cursor:pointer;min-width:200px;transition:all .2s}.ordenes-trabajo-page .date-range-selector:hover{border-color:#0b76d1;background:#f0f9ff}.ordenes-trabajo-page .date-range-selector svg{color:#6b7280;flex-shrink:0}.ordenes-trabajo-page .date-range-selector span{flex:1;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ordenes-trabajo-page .clear-dates-btn{background:#f3f4f6;border:none;color:#6b7280;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;flex-shrink:0;transition:all .2s}.ordenes-trabajo-page .clear-dates-btn:hover{background:#ef4444;color:#fff}.ordenes-trabajo-page .date-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;z-index:1000;min-width:380px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ordenes-trabajo-page .date-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6}.ordenes-trabajo-page .date-picker-header span{font-size:15px;font-weight:600;color:#111827}.ordenes-trabajo-page .close-picker-btn{background:transparent;border:none;color:#9ca3af;font-size:20px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.ordenes-trabajo-page .close-picker-btn:hover{background:#f3f4f6;color:#4b5563}.ordenes-trabajo-page .date-input-group{padding:20px;display:flex;align-items:flex-end;gap:12px}.ordenes-trabajo-page .date-input-wrapper{flex:1;display:flex;flex-direction:column;gap:8px}.ordenes-trabajo-page .date-input-wrapper label{font-size:13px;font-weight:600;color:#374151}.ordenes-trabajo-page .date-input{padding:10px 12px;border:1px solid #e9eef6;border-radius:8px;font-size:14px;color:#0f1724;transition:border-color .2s;cursor:pointer;width:100%;box-sizing:border-box}.ordenes-trabajo-page .date-input:focus{outline:none;border-color:#0b76d1;box-shadow:0 0 0 3px #0b76d11a}.ordenes-trabajo-page .date-separator{font-size:18px;color:#9ca3af;font-weight:600;padding-bottom:10px;flex-shrink:0}.ordenes-trabajo-page .date-picker-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #f3f4f6;background:#f9fafb;border-radius:0 0 12px 12px}.ordenes-trabajo-page .date-picker-actions .btn-secondary,.ordenes-trabajo-page .date-picker-actions .btn-primary{flex:1;justify-content:center;font-size:13px;padding:10px}.ordenes-trabajo-page .modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px;box-sizing:border-box}.ordenes-trabajo-page .modal{background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 50px #0003;width:100%;max-height:calc(100vh - 32px);overflow-y:auto;animation:modalFadeIn .2s ease-out;box-sizing:border-box}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ordenes-trabajo-page .modal-crear{max-width:900px}.ordenes-trabajo-page .modal-detalle-new{max-width:1100px}.ordenes-trabajo-page .modal-editar{max-width:540px}.ordenes-trabajo-page .modal-escalar{max-width:500px}.ordenes-trabajo-page .modal-resolver{max-width:520px}.ordenes-trabajo-page .modal-ticket{max-width:580px}.ordenes-trabajo-page .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid #f3f4f6;gap:12px}.ordenes-trabajo-page .modal-header h3{margin:0;font-size:18px;color:#0f1724;font-weight:700}.ordenes-trabajo-page .close-modal{background:transparent;border:none;font-size:22px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;flex-shrink:0}.ordenes-trabajo-page .close-modal:hover{background:#f3f4f6;color:#4b5563}.ordenes-trabajo-page .modal-subtitle{color:#6b7280;font-size:14px;margin:8px 0 20px}.ordenes-trabajo-page .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #f3f4f6;flex-wrap:wrap}.ordenes-trabajo-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:24px}.ordenes-trabajo-page .form-grid,.ordenes-trabajo-page .form-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.ordenes-trabajo-page .field{display:flex;flex-direction:column}.ordenes-trabajo-page .field-full{grid-column:1 / -1}.ordenes-trabajo-page .field label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.ordenes-trabajo-page .field input,.ordenes-trabajo-page .field select,.ordenes-trabajo-page .field textarea{padding:10px 12px;border-radius:8px;border:1px solid #e9eef6;background:#fff;font-size:14px;color:#0f1724;transition:border-color .2s;width:100%;box-sizing:border-box}.ordenes-trabajo-page .field input:focus,.ordenes-trabajo-page .field select:focus,.ordenes-trabajo-page .field textarea:focus{outline:none;border-color:#0b76d1}.ordenes-trabajo-page .field input:disabled,.ordenes-trabajo-page .field select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.ordenes-trabajo-page .field textarea{min-height:90px;resize:vertical;font-family:inherit}.ordenes-trabajo-page .detalle-new-layout{margin:20px 0}.ordenes-trabajo-page .detalle-main-grid{display:grid;grid-template-columns:180px 1fr 1fr;gap:28px}.ordenes-trabajo-page .detalle-left-column,.ordenes-trabajo-page .detalle-center-column,.ordenes-trabajo-page .detalle-right-column{display:flex;flex-direction:column;gap:18px}.ordenes-trabajo-page .detalle-field{display:flex;flex-direction:column;gap:6px}.ordenes-trabajo-page .detalle-field label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.ordenes-trabajo-page .detalle-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ordenes-trabajo-page .detalle-value-bold{font-size:15px;font-weight:700;color:#1f2937;margin:0;line-height:1.4}.ordenes-trabajo-page .detalle-value{font-size:14px;color:#374151;margin:0;line-height:1.5}.ordenes-trabajo-page .detalle-sla{color:#dc2626;font-weight:600}.ordenes-trabajo-page .detalle-badges{display:flex;flex-direction:column;gap:8px}.ordenes-trabajo-page .detalle-descripcion-text{font-size:13px;color:#4b5563;line-height:1.6;margin:0;background-color:#f9fafb;padding:12px;border-radius:6px;border-left:3px solid #d1d5db}.ordenes-trabajo-page .action-buttons-vertical{display:flex;flex-direction:column;gap:8px}.ordenes-trabajo-page .action-buttons-vertical .btn-action-inline{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.ordenes-trabajo-page .action-buttons-vertical .btn-action-inline:hover{background-color:#f9fafb;border-color:#9ca3af}.ordenes-trabajo-page .action-buttons-vertical .btn-resolver-inline{background-color:#d1fae5;border-color:#a7f3d0;color:#065f46;font-weight:600}.ordenes-trabajo-page .action-buttons-vertical .btn-resolver-inline:hover{background-color:#a7f3d0}.ordenes-trabajo-page .action-buttons-vertical .btn-delete-inline{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.ordenes-trabajo-page .action-buttons-vertical .btn-delete-inline:hover{background-color:#fecaca}.ordenes-trabajo-page .resolver-info{background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.ordenes-trabajo-page .resolver-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ordenes-trabajo-page .resolver-item label{font-size:13px;color:#6b7280;font-weight:600;min-width:110px}.ordenes-trabajo-page .resolver-item span{font-size:14px;color:#0f1724}.ordenes-trabajo-page .form-grid>div:has(.searchable-select-container){display:contents}.ordenes-trabajo-page .searchable-select-container{grid-column:span 1}.ordenes-trabajo-page .searchable-select-container .searchable-select-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.ordenes-trabajo-page .searchable-select-trigger{padding:10px 12px;border:1px solid #e9eef6;border-radius:8px;background:#fff}.ordenes-trabajo-page .searchable-select-trigger:focus-within{border-color:#0b76d1}.ordenes-trabajo-page .field input.input-error-ot,.ordenes-trabajo-page .field select.input-error-ot,.ordenes-trabajo-page .field textarea.input-error-ot{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shakeOT .35s ease}@keyframes shakeOT{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.ordenes-trabajo-page .field-error-msg-ot{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:fadeInDownOT .2s ease}@keyframes fadeInDownOT{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1300px){.ordenes-trabajo-page .top-cards{grid-template-columns:repeat(3,1fr)}.ordenes-trabajo-page .detalle-main-grid{grid-template-columns:1fr 1fr;gap:20px}.ordenes-trabajo-page .detalle-left-column{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}}@media(max-width:1024px){.ordenes-trabajo-page .top-cards{grid-template-columns:repeat(3,1fr)}.ordenes-trabajo-page .modal-crear,.ordenes-trabajo-page .modal-detalle-new{max-width:95%}.ordenes-trabajo-page .detalle-main-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.ordenes-trabajo-page{padding:16px}.ordenes-trabajo-page .page-title{font-size:20px;margin-bottom:14px}.ordenes-trabajo-page .top-cards{display:none}.ordenes-trabajo-page .cards-accordion{display:block;margin-bottom:16px}.ordenes-trabajo-page .top-bar{flex-direction:column;align-items:stretch;gap:8px}.ordenes-trabajo-page .filter-select,.ordenes-trabajo-page .date-range-selector{width:100%;min-width:0}.ordenes-trabajo-page .btn-primary,.ordenes-trabajo-page .btn-secondary{width:100%;justify-content:center}.ordenes-trabajo-page .table-header{flex-direction:column;align-items:flex-start;gap:8px}.ordenes-trabajo-page .table-header h3{font-size:16px}.ordenes-trabajo-page .modal-overlay{padding:8px}.ordenes-trabajo-page .modal{padding:16px;max-height:calc(100vh - 16px);border-radius:10px}.ordenes-trabajo-page .modal-header h3{font-size:16px}.ordenes-trabajo-page .modal-subtitle{font-size:13px}.ordenes-trabajo-page .modal-actions{flex-direction:column;gap:8px}.ordenes-trabajo-page .modal-actions .btn-primary,.ordenes-trabajo-page .modal-actions .btn-secondary,.ordenes-trabajo-page .modal-footer .btn-secondary{width:100%;justify-content:center}.ordenes-trabajo-page .form-grid,.ordenes-trabajo-page .form-edit-grid{grid-template-columns:1fr}.ordenes-trabajo-page .detalle-main-grid{grid-template-columns:1fr;gap:16px}.ordenes-trabajo-page .detalle-left-column{grid-column:auto;display:flex;flex-direction:column}.ordenes-trabajo-page .detalle-field-row{grid-template-columns:1fr 1fr;gap:12px}.ordenes-trabajo-page .date-picker-dropdown{min-width:0;width:calc(100vw - 32px);left:50%;transform:translate(-50%)}.ordenes-trabajo-page .date-input-group{flex-direction:column;gap:12px}.ordenes-trabajo-page .date-separator{align-self:center;padding:0}}@media(max-width:480px){.ordenes-trabajo-page{padding:10px}.ordenes-trabajo-page .page-title{font-size:18px}.ordenes-trabajo-page .cards-accordion-summary{gap:10px}.ordenes-trabajo-page .cards-accordion-grid{grid-template-columns:1fr 1fr;gap:8px}.ordenes-trabajo-page .badge{font-size:10px;padding:4px 8px}.ordenes-trabajo-page .actions-cell{gap:2px}.ordenes-trabajo-page .action-btn{font-size:15px;padding:4px}.ordenes-trabajo-page .pagination-btn{padding:6px 10px;font-size:13px}.ordenes-trabajo-page .pagination-info{font-size:12px}.ordenes-trabajo-page .detalle-field-row{grid-template-columns:1fr}.ordenes-trabajo-page .modal{padding:12px}.ordenes-trabajo-page .modal-header h3{font-size:15px}}._wrapper_9ocb1_1{position:relative;width:100%}._inputContainer_9ocb1_13{position:relative;display:flex;align-items:center;padding:10px 12px;border-radius:8px;border:1px solid #e9eef6;background:#fff;transition:border-color .2s}._inputContainer_9ocb1_13:focus-within{outline:none;border-color:#0b76d1}._inputContainer_9ocb1_13 input{flex:1;border:none;outline:none;font-size:14px;color:#0f1724;background:transparent;padding:0;margin:0 8px}._inputContainer_9ocb1_13 input::placeholder{color:#9ca3af}._inputContainer_9ocb1_13 input:disabled{background:transparent;cursor:not-allowed}._icon_9ocb1_85{color:#9ca3af;flex-shrink:0}._clearButton_9ocb1_95{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;cursor:pointer;color:#6b7280;border-radius:4px;transition:all .2s;flex-shrink:0}._clearButton_9ocb1_95:hover{background:#f3f4f6;color:#111827}._dropdown_9ocb1_133{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;max-height:300px;overflow-y:auto;animation:_slideDown_9ocb1_1 .2s ease}@keyframes _slideDown_9ocb1_1{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}._list_9ocb1_187{list-style:none;padding:4px;margin:0}._option_9ocb1_199{padding:10px 12px;cursor:pointer;border-radius:6px;transition:all .15s ease}._option_9ocb1_199:hover,._option_9ocb1_199._highlighted_9ocb1_215{background:#f3f4f6}._option_9ocb1_199._selected_9ocb1_223{background:#eff6ff;color:#3b82f6}._option_9ocb1_199._selected_9ocb1_223:hover{background:#dbeafe}._optionContent_9ocb1_241{display:flex;flex-direction:column;gap:2px}._optionLabel_9ocb1_253{font-size:14px;font-weight:500;color:#111827}._option_9ocb1_199._selected_9ocb1_223 ._optionLabel_9ocb1_253{color:#3b82f6}._optionSublabel_9ocb1_273{font-size:12px;color:#6b7280}._option_9ocb1_199._selected_9ocb1_223 ._optionSublabel_9ocb1_273{color:#60a5fa}._noResults_9ocb1_291{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}._noResults_9ocb1_291 svg{margin-bottom:12px}._noResults_9ocb1_291 p{margin:0;font-size:14px}._dropdown_9ocb1_133::-webkit-scrollbar{width:8px}._dropdown_9ocb1_133::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}._dropdown_9ocb1_133::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}._dropdown_9ocb1_133::-webkit-scrollbar-thumb:hover{background:#9ca3af}.mis-tickets-page{padding:24px;background-color:#f9fafb;min-height:100vh}.mis-tickets-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mis-tickets-header h1{font-size:28px;font-weight:700;color:#111827;margin:0}.btn-crear-ticket{display:flex;align-items:center;gap:8px;padding:10px 18px;background-color:#0b76d1;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-crear-ticket:hover{background-color:#0a5fa3}.mis-tickets-container{display:grid;grid-template-columns:1fr 450px;gap:24px}@media(max-width:1400px){.mis-tickets-container{grid-template-columns:1fr 420px}}@media(max-width:1200px){.mis-tickets-container{grid-template-columns:1fr 400px}}@media(max-width:992px){.mis-tickets-container{grid-template-columns:1fr}.mis-tickets-right{display:none}}.mis-tickets-left{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d;overflow-y:auto;max-height:calc(100vh - 120px)}.tickets-title h2{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.tickets-title p{font-size:14px;color:#6b7280;margin:0 0 24px}.tickets-table-container{display:block;width:100%;height:calc(100vh - 300px);overflow:hidden;border:1px solid #e5e7eb;border-radius:8px}.tickets-table{width:100%;display:table;border-collapse:collapse;font-size:13px;background-color:#fff;table-layout:fixed}.tickets-table thead{background-color:#f3f4f6;border-bottom:2px solid #e5e7eb;display:table;width:100%;position:sticky;top:0;z-index:10;table-layout:fixed}.tickets-table thead tr{display:table-row;width:100%}.tickets-table th{padding:14px 16px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px;box-sizing:border-box;white-space:nowrap;display:table-cell}.tickets-table tbody{display:block;width:100%;overflow-y:scroll;overflow-x:hidden;max-height:calc(100vh - 340px)}.tickets-table tbody tr{border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background-color .15s ease;display:table;width:100%;table-layout:fixed}.tickets-table tbody tr:hover{background-color:#f9fafb}.tickets-table tbody tr.active{background-color:#eff6ff;border-left:3px solid #0b76d1}.tickets-table td{padding:14px 16px;color:#374151;box-sizing:border-box;white-space:normal;word-break:break-word;line-height:1.4;display:table-cell;vertical-align:top}.col-id{font-weight:600;color:#0b76d1;width:100px}.tickets-table th:nth-child(1){width:100px}.col-asunto{font-weight:500;width:250px}.tickets-table th:nth-child(2){width:250px}.col-estado{text-align:center;width:150px}.tickets-table th:nth-child(3){text-align:center;width:150px}.col-fecha{font-size:12px;color:#6b7280;width:140px}.tickets-table th:nth-child(4){width:140px}.tickets-table th:nth-child(5){width:170px}.col-tecnico{font-size:12px;color:#374151;width:140px}.tickets-table th:nth-child(6){width:140px}.badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.badge-red{background-color:#fee2e2;color:#991b1b}.badge-yellow{background-color:#fef3c7;color:#92400e}.badge-blue{background-color:#dbeafe;color:#1e40af}.badge-green{background-color:#d1fae5;color:#065f46}.badge-orange{background-color:#fed7aa;color:#9a3412}.badge-purple{background-color:#ede9fe;color:#5b21b6}.badge-gray{background-color:#f3f4f6;color:#374151}.mis-tickets-right{background-color:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow-y:auto;padding:24px}.ticket-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:0;border-bottom:none}.ticket-detail-header h3{font-size:20px;font-weight:700;color:#111827;margin:0}.badge-detail{display:inline-block;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:600}.ticket-detail-section{margin-bottom:16px}.ticket-detail-title{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e5e7eb}.ticket-detail-title p{font-size:14px;color:#666;margin:0;line-height:1.5}.comments-section{flex-grow:1;overflow-y:auto;margin-bottom:24px}.comment-item{display:flex;gap:14px;margin-bottom:24px;padding-bottom:0;border-bottom:none}.comment-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.comment-item.system{opacity:1}.comment-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:50%;background-color:#0b76d1;color:#fff;font-size:16px;font-weight:700;flex-shrink:0}.comment-avatar.tech{background-color:#059669}.comment-avatar.system{background-color:#9333ea}.comment-content{flex-grow:1;min-width:0;overflow-wrap:break-word}.comment-content strong{display:block;font-size:15px;font-weight:700;color:#111827;margin-bottom:4px;line-height:1.2;word-break:break-word;overflow-wrap:break-word}.comment-date{display:block;font-size:12px;color:#999;margin-bottom:8px}.comment-content p{font-size:14px;color:#333;margin:0;line-height:1.5;word-break:break-word;white-space:normal;overflow-wrap:break-word}.add-comment-section{border-top:1px solid #e5e7eb;padding-top:20px;margin-top:auto}.add-comment-section h4{font-size:16px;font-weight:700;color:#111827;margin:0 0 16px}.comment-textarea{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;margin-bottom:12px;box-sizing:border-box}.comment-textarea:focus{outline:none;border-color:#0b76d1;box-shadow:0 0 0 2px #0b76d11a}.comment-textarea::placeholder{color:#999}.archivo-seleccionado{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background-color:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;color:#1e40af;margin-bottom:12px;box-sizing:border-box}.btn-remove-archivo{background:none;border:none;color:#1e40af;font-size:16px;cursor:pointer;padding:0;margin-left:8px;transition:opacity .2s}.btn-remove-archivo:hover{opacity:.7}.comment-actions{display:flex;gap:12px;justify-content:space-between}.btn-adjuntar{display:flex;align-items:center;gap:8px;padding:10px 14px;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.btn-adjuntar:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-enviar{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#0b76d1;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-enviar:hover{background-color:#0a5fa3}.no-ticket-selected{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}.no-ticket-selected p{font-size:14px;margin:0}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#6b7280;font-size:14px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:#fff;border-radius:8px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-header-create{padding:24px 24px 0;border-bottom:none}.modal-header-create h2{font-size:24px;font-weight:700;color:#111827;margin:0 0 24px}.modal-body-create{padding:0 24px 24px}.section-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:20px;text-transform:none}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#111827;margin-bottom:8px}.form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.form-input::placeholder{color:#9ca3af}.form-input:focus{outline:none;border-color:#0b76d1;box-shadow:0 0 0 3px #0b76d11a}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.btn-attach{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:background-color .2s}.btn-attach:hover{background-color:#e5e7eb}.file-info{display:block;font-size:12px;color:#6b7280;margin-top:8px}.modal-footer-create{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;justify-content:flex-end}.btn-cancelar-create,.btn-guardar-create{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancelar-create{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancelar-create:hover{background-color:#f9fafb}.btn-guardar-create{background-color:#0b76d1;color:#fff}.btn-guardar-create:hover{background-color:#0a5fa3}.error-text{display:block;color:#dc2626;font-size:12px;margin-top:4px}.btn-close{background:none;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.btn-close:hover{color:#111827}@media(max-width:768px){.mis-tickets-page,.mis-tickets-right,.mis-tickets-left{padding:16px}.tickets-table{font-size:12px}.tickets-table th,.tickets-table td{padding:8px 6px}.col-id,.col-asunto,.col-estado,.col-fecha,.col-tecnico{width:auto}}.btn-nav{padding:10px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#c7d2fe,#ddd6fe);color:#4338ca;box-shadow:0 2px 6px #6366f126;transition:all .25s ease;white-space:nowrap;letter-spacing:.3px}.btn-nav:hover{transform:translateY(-2px);box-shadow:0 6px 14px #6366f140;background:linear-gradient(135deg,#a5b4fc,#c4b5fd)}.btn-nav:active{transform:translateY(0)}.btn-nav-primary{background:linear-gradient(135deg,#bae6fd,#c7d2fe);color:#0369a1;box-shadow:0 2px 6px #0b76d126}.btn-nav-primary:hover{background:linear-gradient(135deg,#7dd3fc,#a5b4fc);box-shadow:0 6px 14px #0b76d140}@keyframes ticketShake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}@keyframes ticketFadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ticket-input-error{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:ticketShake .35s ease}.ticket-field-error-msg{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:ticketFadeInDown .2s ease}.dashboard-container{padding:32px;background-color:#fafafa;min-height:100vh}.dashboard-container *{box-sizing:border-box;min-width:0;min-height:0}@media(max-width:1600px){.dashboard-container{padding:24px}}@media(max-width:768px){.dashboard-container{padding:16px}}.dashboard-container .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.dashboard-container .dashboard-header>div{flex:1}.dashboard-container .dashboard-header h1{font-size:clamp(20px,3vw,26px);font-weight:700;color:#1f2937;margin:0 0 6px}.dashboard-container .dashboard-header h1 span{color:#111827}.dashboard-container .dashboard-header p{font-size:clamp(12px,2vw,14px);color:#6b7280;margin:0}.dashboard-container .quick-overview h2{font-size:18px;font-weight:600;color:#111827;margin:0 0 16px}.dashboard-container .vistazo-block{background:#f3f4f6;padding:20px 24px;border-radius:12px;margin-bottom:24px}@media(max-width:768px){.dashboard-container .vistazo-block{padding:16px}}.dashboard-container .vistazo-block h2{font-size:clamp(16px,2.5vw,18px);font-weight:600;color:#111827;margin:0 0 16px}.dashboard-container .alerts-inline{display:flex;flex-direction:column;gap:12px}.dashboard-container .alert-item{display:flex;align-items:flex-start;gap:10px;font-size:clamp(12px,1.8vw,13px);line-height:1.6;color:#374151}.dashboard-container .alert-item .alert-icon{font-size:18px;flex-shrink:0;margin-top:2px}.dashboard-container .alert-item p{margin:0}.dashboard-container .alert-item strong{font-weight:600;color:#111827}.dashboard-container .alert-icon{font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dashboard-container .stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}@media(max-width:1400px){.dashboard-container .stats-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-container .stats-cards{grid-template-columns:1fr;gap:16px}}.dashboard-container .stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;min-width:0}@media(max-width:768px){.dashboard-container .stat-card{padding:16px}}.dashboard-container .stat-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.dashboard-container .stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dashboard-container .stat-icon svg{stroke-width:2}.dashboard-container .stat-icon-blue{background:#dbeafe}.dashboard-container .stat-icon-green{background:#d1fae5}.dashboard-container .stat-icon-orange{background:#fed7aa}.dashboard-container .stat-icon-purple{background:#e9d5ff}.dashboard-container .stat-header small{font-size:clamp(11px,1.5vw,12px);color:#6b7280;font-weight:500;line-height:1.3}.dashboard-container .stat-card h3{font-size:clamp(22px,3.5vw,28px);font-weight:700;color:#111827;margin:0 0 12px}.dashboard-container .stat-footer{display:flex;align-items:center;gap:8px;font-size:clamp(11px,1.5vw,12px);flex-wrap:wrap}.dashboard-container .trend{font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.dashboard-container .trend-up{color:#059669;background:#d1fae5}.dashboard-container .trend-down{color:#dc2626;background:#fee2e2}.dashboard-container .stat-footer .label{color:#9ca3af}.dashboard-container .detailed-metrics{margin-bottom:32px}.dashboard-container .metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}@media(max-width:1400px){.dashboard-container .metric-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-container .metric-row{grid-template-columns:1fr;gap:16px}}.dashboard-container .metric-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid;border-radius:8px;padding:16px;min-width:0}@media(max-width:768px){.dashboard-container .metric-card{padding:14px}}.dashboard-container .metric-red{border-left-color:#ef4444}.dashboard-container .metric-yellow{border-left-color:#f59e0b}.dashboard-container .metric-blue{border-left-color:#3b82f6}.dashboard-container .metric-green{border-left-color:#10b981}.dashboard-container .metric-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dashboard-container .metric-icon{font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-container .metric-header small{font-size:clamp(11px,1.5vw,12px);color:#6b7280;font-weight:500;line-height:1.3}.dashboard-container .metric-card h3{font-size:clamp(20px,3vw,24px);font-weight:700;color:#111827;margin:0 0 10px}.dashboard-container .metric-footer{display:flex;align-items:center;gap:6px;font-size:clamp(10px,1.4vw,11px);flex-wrap:wrap}.dashboard-container .metric-footer .change{font-weight:600;color:#6b7280}.dashboard-container .metric-footer .label{color:#9ca3af}.dashboard-container .charts-section{margin-bottom:32px}.dashboard-container .chart-full-width{margin-bottom:24px}.dashboard-container .charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media(max-width:1024px){.dashboard-container .charts-grid{grid-template-columns:1fr;gap:20px}}@media(max-width:768px){.dashboard-container .charts-grid{gap:16px}}.dashboard-container .chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;min-width:0}@media(max-width:768px){.dashboard-container .chart-card{padding:16px}}.dashboard-container .chart-card h4{font-size:clamp(14px,2vw,15px);font-weight:600;color:#111827;margin:0 0 4px}.dashboard-container .chart-subtitle{font-size:clamp(11px,1.5vw,12px);color:#9ca3af;margin:0 0 20px}.dashboard-container .estado-equipos-barra{display:flex;flex-direction:column;gap:16px}.dashboard-container .barra-horizontal-container{display:flex;width:100%;height:40px;border-radius:8px;overflow:hidden}@media(max-width:768px){.dashboard-container .barra-horizontal-container{height:32px}}.dashboard-container .segmento-barra{height:100%;transition:width .3s ease}.dashboard-container .segmento-operativo{background:#22c55e}.dashboard-container .segmento-mantenimiento{background:#f97316}.dashboard-container .segmento-fuera{background:#ef4444}.dashboard-container .segmento-desconocido{background:#475569}.dashboard-container .leyenda-estados{display:flex;gap:24px;flex-wrap:wrap}@media(max-width:768px){.dashboard-container .leyenda-estados{gap:12px}}.dashboard-container .leyenda-item{display:flex;align-items:center;gap:8px;font-size:clamp(12px,1.8vw,13px);color:#374151}.dashboard-container .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dashboard-container .dot-operativo{background:#22c55e}.dashboard-container .dot-mantenimiento{background:#f97316}.dashboard-container .dot-fuera{background:#ef4444}.dashboard-container .dot-desconocido{background:#475569}.dashboard-container .chart-wrapper{height:200px;position:relative;min-height:180px}@media(max-width:768px){.dashboard-container .chart-wrapper{height:180px;min-height:160px}}.dashboard-container .donut-container{display:flex;align-items:center;gap:40px}@media(max-width:1200px){.dashboard-container .donut-container{gap:24px}}@media(max-width:768px){.dashboard-container .donut-container{flex-direction:column;gap:20px}}.dashboard-container .donut-chart{position:relative;width:180px;height:180px;flex-shrink:0}@media(max-width:768px){.dashboard-container .donut-chart{width:160px;height:160px}}.dashboard-container .donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.dashboard-container .donut-center h3{font-size:clamp(22px,3.5vw,28px);font-weight:700;color:#111827;margin:0}.dashboard-container .donut-center p{font-size:clamp(11px,1.5vw,12px);color:#9ca3af;margin:0}.dashboard-container .donut-legend{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.dashboard-container .legend-item{display:flex;align-items:center;gap:10px;font-size:clamp(12px,1.8vw,13px);color:#6b7280}.dashboard-container .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard-container .legend-dot-gray{background:#6b7280}.dashboard-container .legend-dot-red{background:#ef4444}.dashboard-container .legend-dot-blue{background:#3b82f6}.dashboard-container .legend-item strong{margin-left:auto;color:#111827;font-weight:600}.dashboard-container .btn-refresh{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 6px #3b82f633;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.dashboard-container .btn-refresh:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 12px #3b82f666}.dashboard-container .btn-refresh:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:1920px){.dashboard-container{max-width:1800px;margin:0 auto}}@media(max-width:480px){.dashboard-container,.dashboard-container .vistazo-block,.dashboard-container .chart-card,.dashboard-container .stat-card,.dashboard-container .metric-card{padding:12px}}.btn-refresh:disabled{opacity:.7;cursor:not-allowed}.btn-loading{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.reportes-page{padding:24px;background:#f6f8fb;min-height:100vh}.reportes-page .page-title{font-size:24px;font-weight:700;color:#0f1724;margin-bottom:24px}.reportes-page .reportes-container{display:grid;grid-template-columns:1fr 400px;gap:24px}.reportes-page .section-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0f1e320f}.reportes-page .section-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.reportes-page .section-header h3{font-size:18px;font-weight:700;color:#0f1724;margin:0}.reportes-page .section-subtitle{color:#6b7280;font-size:14px;margin-bottom:24px}.reportes-page .filtros-header{display:flex;align-items:center;gap:8px;margin:20px 0 16px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.reportes-page .filtros-header h4{font-size:15px;font-weight:600;color:#374151;margin:0}.reportes-page .form-group{margin-bottom:16px}.reportes-page .form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.reportes-page .form-select,.reportes-page .form-input{width:100%;padding:10px 14px;border:1px solid #e9eef6;border-radius:8px;font-size:14px;color:#0f1724;background:#fff;transition:border-color .2s;box-sizing:border-box}.reportes-page .form-select:focus,.reportes-page .form-input:focus{outline:none;border-color:#0b76d1}.reportes-page .help-text{font-size:12px;color:#6b7280;margin-top:6px}.reportes-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.reportes-page .form-row .form-group{min-width:0;width:100%}.reportes-page .radio-group{display:flex;gap:16px}.reportes-page .radio-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151}.reportes-page .radio-option input[type=radio]{width:18px;height:18px;cursor:pointer}.reportes-page .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #f3f4f6}.reportes-page .btn-primary,.reportes-page .btn-secondary{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.reportes-page .btn-primary{background:#0b76d1;color:#fff}.reportes-page .btn-primary:hover:not(:disabled){background:#095fa8}.reportes-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.reportes-page .btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.reportes-page .btn-secondary:hover{background:#f9fafb;border-color:#0b76d1}.reportes-page .historial-list{display:flex;flex-direction:column;gap:12px}.reportes-page .historial-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e9eef6;border-radius:8px;transition:all .2s}.reportes-page .historial-item:hover{border-color:#0b76d1;box-shadow:0 2px 8px #0b76d11a}.reportes-page .historial-info h4{font-size:14px;font-weight:600;color:#0f1724;margin:0 0 4px}.reportes-page .historial-fecha{font-size:12px;color:#6b7280;margin:0}.reportes-page .historial-actions{display:flex;align-items:center;gap:12px}.reportes-page .formato-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.reportes-page .formato-pdf{background:#fee2e2;color:#991b1b}.reportes-page .formato-excel{background:#d1fae5;color:#065f46}.reportes-page .formato-csv{background:#dbeafe;color:#1e40af}.reportes-page .btn-download{background:transparent;border:none;color:#0b76d1;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.reportes-page .btn-download:hover{background:#e3f2fd}.reportes-page .empty-state{text-align:center;padding:40px 20px;color:#9ca3af}.reportes-page .empty-state p{margin-top:12px;font-size:14px}@media(max-width:1024px){.reportes-page .reportes-container,.reportes-page .form-row{grid-template-columns:1fr}}.reportes-page .historial-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0 10px;margin-top:10px;border-top:1px solid #e5e7eb}.reportes-page .pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#374151}.reportes-page .pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#0f62fe;color:#0f62fe;transform:translateY(-1px)}.reportes-page .pagination-btn:active:not(:disabled){transform:translateY(0)}.reportes-page .pagination-btn:disabled{background:#f9fafb;border-color:#e5e7eb;color:#d1d5db;cursor:not-allowed;opacity:.5}.reportes-page .pagination-info{font-size:14px;font-weight:600;color:#374151;min-width:60px;text-align:center}.reportes-page .input-error-rep{border-color:#f87171!important;background-color:#fff5f5!important;box-shadow:0 0 0 3px #f8717126!important;animation:shakeRep .35s ease}@keyframes shakeRep{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.reportes-page .field-error-msg-rep{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#dc2626;margin-top:4px;padding:4px 8px;background-color:#fef2f2;border-left:3px solid #f87171;border-radius:0 4px 4px 0;animation:fadeInDownRep .2s ease}@keyframes fadeInDownRep{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calibraciones-page{padding:24px;background:#f6f8fb;min-height:100vh}.calibraciones-page .page-title{font-size:24px;font-weight:700;color:#0f1724;margin-bottom:8px}.calibraciones-page .page-subtitle{font-size:14px;color:#64748b;margin-bottom:24px}.calibraciones-page .calibracion-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.calibraciones-page .card-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:8px;display:flex;align-items:center;gap:8px}.calibraciones-page .card-subtitle{font-size:13px;color:#64748b;margin-bottom:20px}.calibraciones-page .card-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.calibraciones-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.calibraciones-page .form-group{display:flex;flex-direction:column;min-width:0}.calibraciones-page .form-group.full-width{grid-column:1 / -1}.calibraciones-page .form-group label{font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.calibraciones-page .form-input{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;transition:all .2s;box-sizing:border-box}.calibraciones-page .form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calibraciones-page .form-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.calibraciones-page .form-textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;font-family:inherit;resize:vertical;transition:all .2s}.calibraciones-page .form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calibraciones-page .search-group{position:relative;max-width:500px}.calibraciones-page .search-input-wrapper{position:relative;width:100%}.calibraciones-page .search-input-wrapper .form-input{width:100%;padding-right:40px}.calibraciones-page .search-icon-inside{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.calibraciones-page .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;box-shadow:0 4px 6px #0000001a;z-index:10}.calibraciones-page .autocomplete-item{padding:12px;cursor:pointer;transition:background .2s}.calibraciones-page .autocomplete-item:hover{background:#f8fafc}.calibraciones-page .autocomplete-name{font-size:14px;font-weight:500;color:#1e293b}.calibraciones-page .autocomplete-details{font-size:12px;color:#64748b;margin-top:2px}.calibraciones-page .selected-equipo{margin-top:8px;padding:8px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;display:flex;align-items:center;gap:8px}.calibraciones-page .selected-equipo strong{color:#1e40af;font-size:14px}.calibraciones-page .equipo-modelo{color:#64748b;font-size:13px}.calibraciones-page .file-upload-wrapper{display:flex;flex-direction:column}.calibraciones-page .file-input{display:none}.calibraciones-page .file-upload-label{padding:10px 16px;border:2px dashed #cbd5e1;border-radius:6px;text-align:center;cursor:pointer;transition:all .2s;font-size:14px;color:#64748b}.calibraciones-page .file-upload-label:hover{border-color:#3b82f6;background:#f8fafc}.calibraciones-page .btn-primary{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:background .2s}.calibraciones-page .btn-primary:hover{background:#2563eb}.calibraciones-page .btn-primary.btn-full{width:100%;margin-top:16px}.calibraciones-page .btn-secondary{padding:10px 20px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;justify-content:center}.calibraciones-page .btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.calibraciones-page .btn-success{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:background .2s}.calibraciones-page .btn-success:hover{background:#059669}.calibraciones-page .btn-action{padding:6px 12px;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s}.calibraciones-page .btn-action:hover{background:#f8fafc;color:#3b82f6}.calibraciones-page .btn-download{padding:8px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.calibraciones-page .btn-download:hover{background:#2563eb}.calibraciones-page .table-container{overflow-x:auto;margin-top:16px}.calibraciones-page .calibracion-table{width:100%;border-collapse:collapse;font-size:13px}.calibraciones-page .calibracion-table thead{background:#f8fafc}.calibraciones-page .calibracion-table th{padding:12px;text-align:left;font-weight:600;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.calibraciones-page .calibracion-table td{padding:14px 12px;color:#1e293b;border-bottom:1px solid #f1f5f9}.calibraciones-page .calibracion-table tbody tr:hover{background:#f8fafc}.calibraciones-page .text-center{text-align:center;color:#94a3b8;padding:24px!important}.calibraciones-page .table-footer{margin-top:16px;display:flex;justify-content:flex-end}.calibraciones-page .estado-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.calibraciones-page .estado-proximo{background:#fef3c7;color:#92400e}.calibraciones-page .estado-programado{background:#dbeafe;color:#1e40af}.calibraciones-page .estado-vencido{background:#fee2e2;color:#991b1b}.calibraciones-page .resultado-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.calibraciones-page .resultado-aprobado{background:#d1fae5;color:#065f46}.calibraciones-page .resultado-rechazado{background:#fee2e2;color:#991b1b}.calibraciones-page .resultado-fuera{background:#fed7aa;color:#92400e}.calibraciones-page .filtros-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.calibraciones-page .filtros-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1e293b;margin-bottom:16px}.calibraciones-page .filtros-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.calibraciones-page .filtros-actions{display:flex;gap:12px;justify-content:flex-end}.calibraciones-page .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.calibraciones-page .modal-content{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.calibraciones-page .modal-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.calibraciones-page .modal-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.calibraciones-page .modal-close{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.calibraciones-page .modal-close:hover{color:#1e293b}.calibraciones-page .modal-body{padding:24px}.calibraciones-page .modal-section{margin-bottom:24px}.calibraciones-page .modal-section:last-child{margin-bottom:0}.calibraciones-page .modal-section h4{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:12px}.calibraciones-page .modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.calibraciones-page .modal-field{display:flex;flex-direction:column;gap:4px}.calibraciones-page .modal-field label{font-size:12px;font-weight:500;color:#64748b}.calibraciones-page .modal-field span{font-size:14px;color:#1e293b}.calibraciones-page .modal-observaciones{font-size:14px;color:#475569;line-height:1.6;padding:12px;background:#f8fafc;border-radius:6px}.calibraciones-page .modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px}.calibraciones-page .no-documentos{font-size:14px;color:#94a3b8;text-align:center;padding:20px}.calibraciones-page .documentos-lista{display:flex;flex-direction:column;gap:12px}.calibraciones-page .documento-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.calibraciones-page .documento-item:hover{background:#f1f5f9;border-color:#cbd5e1}.calibraciones-page .documento-info{display:flex;align-items:flex-start;gap:12px;flex:1}.calibraciones-page .documento-info svg{color:#3b82f6;flex-shrink:0;margin-top:2px}.calibraciones-page .documento-nombre{font-size:14px;font-weight:500;color:#1e293b}.calibraciones-page .documento-descripcion{font-size:13px;color:#64748b;margin-top:2px}.calibraciones-page .documento-fecha{font-size:12px;color:#94a3b8;margin-top:4px}.calibraciones-page .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.calibraciones-page .kpi-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px}.calibraciones-page .kpi-icon{width:48px;height:48px;background:#eff6ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0}.calibraciones-page .kpi-icon.alert{background:#fef3c7;color:#f59e0b}.calibraciones-page .kpi-icon.warning{background:#fed7aa;color:#ea580c}.calibraciones-page .kpi-content{flex:1}.calibraciones-page .kpi-label{font-size:13px;color:#64748b;margin-bottom:4px}.calibraciones-page .kpi-value{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:4px}.calibraciones-page .kpi-subtitle{font-size:12px;color:#94a3b8}.calibraciones-page .cumplimiento-general{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.calibraciones-page .cumplimiento-circular{width:120px;height:120px;margin-top:12px}.calibraciones-page .circular-chart{transform:rotate(-90deg)}.calibraciones-page .percentage-text{font-size:24px;font-weight:700;fill:#1e293b;transform:rotate(90deg);transform-origin:center}.calibraciones-page .charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.calibraciones-page .chart-container{display:flex;gap:32px;align-items:center;margin-top:24px}.calibraciones-page .donut-chart{width:200px;height:200px;flex-shrink:0}.calibraciones-page .donut-svg{width:100%;height:100%}.calibraciones-page .chart-legend{flex:1;display:flex;flex-direction:column;gap:12px}.calibraciones-page .legend-item{display:flex;align-items:center;gap:12px}.calibraciones-page .legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.calibraciones-page .legend-label{display:flex;justify-content:space-between;flex:1}.calibraciones-page .legend-name{font-size:13px;color:#475569}.calibraciones-page .legend-value{font-size:13px;font-weight:600;color:#1e293b}.calibraciones-page .line-chart{margin-top:24px;display:flex;gap:16px}.calibraciones-page .chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:8px 0;font-size:12px;color:#94a3b8}.calibraciones-page .chart-area{flex:1}.calibraciones-page .line-svg{width:100%;height:300px}.calibraciones-page .chart-x-axis{display:flex;justify-content:space-around;margin-top:8px;font-size:12px;color:#94a3b8}.calibraciones-page .reportes-container{margin-top:20px}.calibraciones-page .reportes-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.calibraciones-page .reportes-buttons{display:flex;gap:12px;justify-content:flex-start}@media(max-width:1200px){.calibraciones-page .kpi-grid{grid-template-columns:repeat(2,1fr)}.calibraciones-page .charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.calibraciones-page .form-grid,.calibraciones-page .filtros-grid,.calibraciones-page .kpi-grid,.calibraciones-page .modal-grid,.calibraciones-page .reportes-inputs{grid-template-columns:1fr}.calibraciones-page .chart-container{flex-direction:column}}.usuarios-page{padding:24px;background-color:#f9fafb;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .usuarios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.usuarios-page .usuarios-header h1{font-size:28px;font-weight:700;color:#111827;margin:0}.usuarios-page .btn-crear{background-color:#0f62fe;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.usuarios-page .btn-crear:hover{background-color:#0353e9}.usuarios-page .stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.usuarios-page .stat-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;display:flex;gap:16px;align-items:flex-start;transition:all .2s}.usuarios-page .stat-box:hover{border-color:#d1d5db;box-shadow:0 4px 6px #0000000d}.usuarios-page .stat-icon{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.usuarios-page .stat-content h3{margin:0;font-size:13px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.02em}.usuarios-page .stat-content p{margin:6px 0 4px;font-size:28px;font-weight:700;color:#111827}.usuarios-page .stat-content small{color:#9ca3af;font-size:12px}.usuarios-page .chart-section-usuarios{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.usuarios-page .chart-section-usuarios h2{margin:0 0 6px;font-size:20px;font-weight:700;color:#111827}.usuarios-page .chart-section-usuarios>p{margin:0 0 32px;font-size:14px;color:#6b7280}.usuarios-page .chart-container-usuarios{display:flex;justify-content:center;align-items:center;max-width:400px;height:350px;margin:0 auto;padding:20px}.usuarios-page .table-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.usuarios-page .table-section h2{margin:0;font-size:20px;font-weight:700;color:#111827;padding:24px 24px 8px}.usuarios-page .table-section>p{margin:0;font-size:14px;color:#6b7280;padding:0 24px 20px}.usuarios-page .table-wrapper{overflow-x:auto}.usuarios-page .usuarios-table{width:100%;border-collapse:collapse}.usuarios-page .usuarios-table thead{background-color:#fafafa;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.usuarios-page .usuarios-table th{padding:12px 20px;text-align:left;font-size:13px;font-weight:600;color:#374151;text-transform:none;letter-spacing:0}.usuarios-page .usuarios-table td{padding:16px 20px;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:14px;color:#111827}.usuarios-page .usuarios-table tbody tr{transition:background-color .15s}.usuarios-page .usuarios-table tbody tr:hover{background-color:#fafafa}.usuarios-page .usuarios-table tbody tr:last-child td{border-bottom:none}.usuarios-page .user-name-simple{font-weight:500;color:#111827}.usuarios-page .email-cell{color:#6b7280}.usuarios-page .last-access-cell{color:#6b7280;font-size:13px}.usuarios-page .role-pill{display:inline-block;padding:4px 14px;border-radius:16px;font-size:13px;font-weight:500;border:1px solid}.usuarios-page .role-pill.role-admin{background-color:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.usuarios-page .role-pill.role-tecnico{background-color:#ecfdf5;color:#059669;border-color:#a7f3d0}.usuarios-page .role-pill.role-gestor{background-color:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.usuarios-page .role-pill.role-lectura{background-color:#f9fafb;color:#374151;border-color:#d1d5db}.usuarios-page .role-pill.role-default{background-color:#f3f4f6;color:#374151;border-color:#e5e7eb}.usuarios-page .status-badge{display:inline-block;padding:4px 0;font-size:14px;font-weight:500;text-align:left}.usuarios-page .status-badge.active{color:#111827}.usuarios-page .status-badge.inactive{background-color:#fee2e2;color:#991b1b;padding:4px 12px;border-radius:16px}.usuarios-page .status-badge.pending{color:#111827}.usuarios-page .action-buttons{display:flex;gap:16px;justify-content:flex-start}.usuarios-page .action-edit-btn,.usuarios-page .action-delete-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px;color:#374151;font-size:14px;font-weight:400;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .action-edit-btn:hover{color:#111827}.usuarios-page .action-delete-btn{color:#dc2626}.usuarios-page .action-delete-btn:hover{color:#991b1b}.usuarios-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;font-size:13px;color:#6b7280}.usuarios-page .pagination-info{margin:0}.usuarios-page .pagination-controls{display:flex;gap:8px}.usuarios-page .pagination-controls button{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .2s}.usuarios-page .pagination-controls button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.usuarios-page .pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.usuarios-page .modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.usuarios-page .modal-box{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #00000026;animation:modalSlideIn .3s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.usuarios-page .modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.usuarios-page .modal-header h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#111827}.usuarios-page .modal-description{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.usuarios-page .modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.usuarios-page .modal-close:hover{color:#111827}.usuarios-page .modal-form{padding:24px;display:flex;flex-direction:column;gap:20px}.usuarios-page .form-group{display:grid;grid-template-columns:130px 1fr;align-items:start;gap:16px}.usuarios-page .form-label{font-size:14px;font-weight:600;color:#111827;display:block;padding-top:12px;min-height:20px}.usuarios-page .form-input{padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none;transition:all .2s;background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#111827;width:100%}.usuarios-page .form-input-view{background-color:#fff;border:1px solid #d1d5db}.usuarios-page .form-input::placeholder{color:#9ca3af}.usuarios-page .form-input:focus{border-color:#0f62fe;background-color:#fff;box-shadow:0 0 0 3px #0f62fe1a}.usuarios-page .password-field{position:relative;display:flex;align-items:center;width:100%}.usuarios-page .password-field .form-input{width:100%;padding-right:40px}.usuarios-page .password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.usuarios-page .password-toggle:hover{color:#6b7280}.usuarios-page .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.usuarios-page .btn-cancel{padding:10px 18px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .btn-cancel:hover{background-color:#f3f4f6;border-color:#9ca3af}.usuarios-page .btn-save{padding:10px 18px;border:none;border-radius:6px;background-color:#0f62fe;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .btn-save:hover{background-color:#0353e9}.usuarios-page .btn-save svg{width:16px;height:16px}.usuarios-page .toggle-switch-container{display:flex;align-items:flex-start;gap:12px;width:auto;margin-top:0}.usuarios-page .toggle-switch{position:relative;display:inline-block;width:52px;height:28px;margin:0;padding:0;flex-shrink:0}.usuarios-page .toggle-switch input{opacity:0;width:100%;height:100%;position:absolute;cursor:pointer;margin:0;top:0;left:0;z-index:2}.usuarios-page .toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:background-color .3s ease;border-radius:22px;pointer-events:none}.usuarios-page .toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;top:3px;background-color:#fff;transition:transform .3s ease;border-radius:50%}.usuarios-page .toggle-switch input:checked+.toggle-slider{background-color:#0f62fe}.usuarios-page .toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.usuarios-page .toggle-switch:has(input:checked) .toggle-slider{background-color:#0f62fe}.usuarios-page .toggle-switch:has(input:checked) .toggle-slider:before{transform:translate(20px)}.usuarios-page .btn-reset-password{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%}.usuarios-page .btn-reset-password:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#111827}.usuarios-page .btn-reset-password svg{width:16px;height:16px}.usuarios-page .btn-permisos{background-color:#10b981;border:none;border-radius:6px;padding:10px 18px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .modal-permisos{max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.usuarios-page .permisos-view{display:flex;flex-direction:column;min-height:100vh;background-color:#f9fafb}.usuarios-page .permisos-header{padding:20px 24px;background-color:#fff;border-bottom:1px solid #e5e7eb}.usuarios-page .permisos-header h2{margin:0;font-size:18px;font-weight:700;color:#111827;display:flex;align-items:center}.usuarios-page .permisos-rol{background-color:#dbeafe;color:#1e40af;padding:4px 10px;border-radius:4px;font-weight:600;margin-left:10px;font-size:13px;display:inline-block}.usuarios-page .permisos-container{padding:20px 24px;flex:1;overflow-y:auto;background-color:#f9fafb}.usuarios-page .search-box{margin-bottom:20px}.usuarios-page .search-input{width:100%;max-width:300px;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#374151}.usuarios-page .search-input:focus{outline:none;border-color:#0f62fe;box-shadow:0 0 0 3px #0f62fe1a}.usuarios-page .permisos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px}.usuarios-page .permiso-module{background-color:#fff;border:1px solid #e8eef7;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000d}.usuarios-page .module-title{margin:0;font-size:16px;font-weight:700;color:#111827;padding:16px;background-color:#e8f0ff;border-bottom:1px solid #e0e7f1;text-align:center;flex-shrink:0}.usuarios-page .permiso-item{margin:0;padding:20px 16px;border-bottom:1px solid #f0f1f3;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.usuarios-page .permiso-item:last-child{border-bottom:none}.usuarios-page .permiso-info{flex:1;min-width:0}.usuarios-page .permiso-nombre{margin:0 0 6px;font-size:15px;font-weight:700;color:#111827;line-height:1.4}.usuarios-page .permiso-descripcion{margin:0 0 8px;font-size:13px;color:#6b7280;line-height:1.5}.usuarios-page .heredado-text{display:inline-block;font-size:11px;color:#3b82f6;font-weight:600;margin-top:4px}.usuarios-page .permisos-actions{padding:16px 24px;border-top:1px solid #e5e7eb;background-color:#fff;display:flex;justify-content:flex-end;gap:12px}@media(max-width:1400px){.usuarios-page .permisos-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.usuarios-page .permisos-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.usuarios-page .permisos-grid{grid-template-columns:1fr}}.usuarios-page .btn-permisos:hover{background-color:#059669}.usuarios-page .confirm-modal{background:#fff;border-radius:16px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .2s ease-out;text-align:center}.usuarios-page .confirm-icon-container{display:flex;justify-content:center;margin-bottom:20px}.usuarios-page .confirm-icon{width:80px;height:80px;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center}.usuarios-page .confirm-title{font-size:20px;font-weight:600;color:#111827;margin-bottom:12px}.usuarios-page .confirm-message{font-size:15px;color:#374151;margin-bottom:8px;line-height:1.5}.usuarios-page .confirm-message strong{color:#111827;font-weight:600}.usuarios-page .confirm-submessage{font-size:13px;color:#6b7280;margin-bottom:24px;line-height:1.5}.usuarios-page .confirm-actions{display:flex;gap:12px;justify-content:center}.usuarios-page .btn-cancel-confirm{padding:10px 24px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.usuarios-page .btn-cancel-confirm:hover{background:#e5e7eb}.usuarios-page .btn-confirm-danger{padding:10px 24px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.usuarios-page .btn-confirm-danger:hover{background:#dc2626}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.usuarios-page .action-activate-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px;color:#10b981;font-size:14px;font-weight:400;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-page .action-activate-btn:hover{color:#059669}.password-input{width:100%;padding-right:40px}.password-input:focus{outline:none}.usuarios-page .btn-secondary{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;border:1px solid #e5e7eb;background-color:#fff;color:#374151;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.usuarios-page .btn-secondary:hover{background-color:#f3f4f6}.usuarios-page .role-pill.role-color-1{background-color:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.usuarios-page .role-pill.role-color-2{background-color:#d1fae5;color:#065f46;border-color:#a7f3d0}.usuarios-page .role-pill.role-color-3{background-color:#fef3c7;color:#92400e;border-color:#fde68a}.usuarios-page .role-pill.role-color-4{background-color:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.usuarios-page .role-pill.role-color-5{background-color:#fee2e2;color:#991b1b;border-color:#fecaca}.usuarios-page .role-pill.role-color-6{background-color:#fce7f3;color:#9d174d;border-color:#fbcfe8}.login-container,.login-container *{box-sizing:border-box}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:#f3f4f6;font-family:system-ui,-apple-system,sans-serif;position:fixed;inset:0;z-index:9999;overflow-y:auto}.login-card{background:#fff;padding:clamp(24px,5vw,40px);border-radius:12px;box-shadow:0 4px 20px #00000014;width:calc(100% - 32px);max-width:400px;margin:16px auto}.login-header{text-align:center;margin-bottom:30px}.login-header .brand{font-size:26px;font-weight:800;color:#0f62fe;display:block;margin-bottom:10px}.login-header .login-title{font-size:20px;color:#111827;font-weight:700;margin:0}.login-header .login-subtitle{font-size:14px;color:#6b7280;margin-top:8px;line-height:1.5}.login-card .input-group{margin-bottom:20px}.login-card .input-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px;margin-left:2px}.login-card .input-wrapper{position:relative;width:100%}.login-card .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.login-card .login-input{width:100%;padding:12px 12px 12px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;transition:border-color .2s}.login-card .input-wrapper .login-input[type=password],.login-card .input-wrapper .login-input[type=text]{padding-right:45px}.login-card .login-input:focus{border-color:#0f62fe;box-shadow:0 0 0 3px #0f62fe1a}.login-card .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:color .2s}.login-card .password-toggle:hover{color:#374151}.login-card .login-btn{width:100%;background-color:#0f62fe;color:#fff;padding:12px;border:none;border-radius:8px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;transition:background-color .2s}.login-card .login-btn:hover{background-color:#0353e9}.login-card .login-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.login-card .error-msg{background-color:#fef2f2;color:#ef4444;padding:10px;border-radius:6px;font-size:13px;margin-bottom:20px;text-align:center;border:1px solid #fecaca}.login-card .success-box{background-color:#ecfdf5;color:#047857;padding:20px;border-radius:8px;margin-bottom:20px;text-align:center;border:1px solid #a7f3d0}.login-card .success-box .hint{font-size:12px;color:#059669;margin-top:5px}.login-card .link-btn{background:none;border:none;color:#0f62fe;font-size:13px;font-weight:500;cursor:pointer;margin-top:20px;width:100%;text-align:center;padding:0}.login-card .link-btn:hover{text-decoration:underline}.login-card .back-btn{display:block;background:none;border:none;cursor:pointer;padding:10px;text-align:center;font-size:13px;color:#9ca3af;font-weight:400;width:100%}.login-card .back-btn:hover{color:#0f62fe}@media(max-width:420px){.login-card{margin:12px;width:calc(100% - 24px)}.login-header .brand{font-size:22px}.login-title{font-size:17px}}.login-footer{position:fixed;bottom:40px;left:0;right:0;text-align:center;z-index:10000}.login-footer .footer-dot{width:22px;height:22px;margin:0 auto 6px;border-radius:50%;border:1px solid #d1d5db;display:flex;align-items:center;justify-content:center}.login-footer .footer-dot span{width:6px;height:6px;border-radius:50%;background-color:#d1d5db}.login-footer p{margin:0}.login-footer .footer-label{font-size:11px;color:#9ca3af;letter-spacing:1px;text-transform:uppercase}.login-footer .footer-company{font-size:13px;font-weight:600;color:#4b5563}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:#fff;box-shadow:none;border-bottom:1px solid #e8ecf0}.header-left{flex:1}.header-right{display:flex;align-items:center;gap:6px}.header-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:transparent;border-radius:10px;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.header-icon-btn:hover{background:#f1f5f9;color:#1e293b}.notif-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.header-avatar-wrapper{position:relative;margin-left:6px}.header-avatar-btn{width:38px;height:38px;border-radius:50%;border:2px solid #e2e8f0;overflow:hidden;cursor:pointer;padding:0;transition:border-color .15s,box-shadow .15s;background:#3b82f6;display:flex;align-items:center;justify-content:center}.header-avatar-btn:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.header-avatar-img{width:100%;height:100%;object-fit:cover}.header-avatar-initials{font-size:13px;font-weight:700;color:#fff;letter-spacing:.5px}.header-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:240px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0000001f;overflow:hidden;animation:dropdownFadeIn .15s ease;z-index:200}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8fafc}.dropdown-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#3b82f6;display:flex;align-items:center;justify-content:center}.dropdown-avatar img{width:100%;height:100%;object-fit:cover}.dropdown-initials{font-size:14px;font-weight:700;color:#fff}.dropdown-name{font-size:13px;font-weight:600;color:#1e293b;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-role{font-size:11px;color:#64748b;margin:2px 0 0}.dropdown-divider{height:1px;background:#e8ecf0;margin:0}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:none;background:transparent;color:#374151;font-size:13px;cursor:pointer;text-align:left;transition:background .12s}.dropdown-item:hover{background:#f1f5f9}.dropdown-item-danger{color:#ef4444}.dropdown-item-danger:hover{background:#fef2f2}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .2s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-perfil{background:#fff;border-radius:18px;width:460px;max-width:95vw;box-shadow:0 20px 60px #0003;animation:modalSlideIn .2s ease;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-perfil-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e8ecf0}.modal-perfil-header h2{font-size:17px;font-weight:700;color:#1e293b;margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:#64748b;transition:background .15s}.modal-close-btn:hover{background:#e2e8f0;color:#1e293b}.modal-perfil-body{padding:28px 24px;display:flex;flex-direction:column;gap:24px}.perfil-foto-section{display:flex;flex-direction:column;align-items:center;gap:12px}.perfil-foto-container{position:relative;width:110px;height:110px}.perfil-foto-grande{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}.perfil-initials-grande{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;letter-spacing:1px;border:3px solid #e2e8f0}.perfil-foto-overlay{position:absolute;inset:0;border-radius:50%;background:#00000073;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#fff;font-size:11px;font-weight:600;opacity:0;transition:opacity .2s;cursor:pointer;border:none}.perfil-foto-container:hover .perfil-foto-overlay{opacity:1}.perfil-foto-actions{display:flex;gap:8px}.btn-guardar-foto{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-guardar-foto:hover:not(:disabled){background:#2563eb}.btn-guardar-foto:disabled{opacity:.6;cursor:not-allowed}.btn-cancelar-foto{padding:8px 16px;background:#f1f5f9;color:#64748b;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-cancelar-foto:hover{background:#e2e8f0}.btn-eliminar-foto{display:flex;align-items:center;gap:5px;padding:6px 14px;background:transparent;color:#ef4444;border:1px solid #fca5a5;border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s}.btn-eliminar-foto:hover:not(:disabled){background:#fef2f2}.perfil-mensaje{font-size:13px;font-weight:500;margin:0}.perfil-mensaje.ok{color:#16a34a}.perfil-mensaje.error{color:#ef4444}.perfil-info-section{display:flex;flex-direction:column;gap:12px;background:#f8fafc;border-radius:12px;padding:16px}.perfil-info-row label{display:block;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.perfil-info-row p{font-size:14px;color:#1e293b;font-weight:500;margin:0}@media(max-width:640px){.app-header{padding:0 16px 0 56px}}.header-icon-btn svg{color:#64748b!important;stroke:#64748b!important}.header-logo{display:flex;align-items:center;gap:8px}.header-logo-img{width:130px;height:40px;object-fit:contain}.header-logo-text{font-size:16px;font-weight:700;color:#1e293b;letter-spacing:-.3px}.chat-layout{display:flex;height:calc(100vh - 60px);overflow:hidden;background:#f4f6f9}.chat-sidebar{width:320px;min-width:320px;background:#fff;border-right:1px solid #e8ecf0;display:flex;flex-direction:column;overflow:hidden}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 12px;border-bottom:1px solid #e8ecf0}.chat-sidebar-header h2{font-size:17px;font-weight:700;color:#1e293b;margin:0}.chat-new-btn{width:32px;height:32px;border-radius:8px;border:none;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.chat-new-btn:hover{background:#2563eb}.chat-tabs{display:flex;margin:12px 16px;background:#f1f5f9;border-radius:10px;padding:3px;gap:3px}.chat-tab{flex:1;padding:7px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.chat-tab.active{background:#3b82f6;color:#fff;font-weight:600}.chat-search{display:flex;align-items:center;gap:8px;margin:0 16px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;color:#94a3b8}.chat-search input{flex:1;border:none;background:transparent;font-size:13px;color:#1e293b;outline:none}.chat-search input::placeholder{color:#94a3b8}.chat-list{flex:1;overflow-y:auto;padding:4px 8px}.chat-item{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;transition:background .12s}.chat-item:hover{background:#f1f5f9}.chat-item.active{background:#eff6ff}.chat-item-avatar{width:42px;height:42px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:14px;font-weight:700;color:#fff}.chat-item-avatar img{width:100%;height:100%;object-fit:cover}.chat-item-avatar.grupo{background:#8b5cf6}.chat-item-info{flex:1;min-width:0}.chat-item-name{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-last{font-size:12px;color:#94a3b8;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:#94a3b8;text-align:center}.chat-empty p{font-size:13px;margin:0}.chat-empty button{padding:7px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;min-width:0}.chat-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#94a3b8}.chat-placeholder-icon{font-size:52px}.chat-placeholder h3{font-size:18px;font-weight:700;color:#1e293b;margin:0}.chat-placeholder p{font-size:14px;margin:0}.chat-conv-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid #e8ecf0;flex-shrink:0}.chat-back-btn{display:none;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;align-items:center;justify-content:center;cursor:pointer;color:#64748b}.chat-conv-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.chat-conv-avatar img{width:100%;height:100%;object-fit:cover}.conv-avatar-grupo{width:40px;height:40px;border-radius:50%;background:#8b5cf6;display:flex;align-items:center;justify-content:center;color:#fff}.conv-avatar-initials{width:40px;height:40px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700}.chat-conv-info h3{font-size:15px;font-weight:700;color:#1e293b;margin:0}.chat-conv-info span{font-size:12px;color:#94a3b8}.chat-messages{flex:1;overflow-y:auto;min-height:0;padding:20px 16px;display:flex;flex-direction:column;gap:12px}.chat-msg-wrapper{display:flex;align-items:flex-end;gap:8px}.chat-msg-wrapper.mio{flex-direction:row-reverse}.chat-msg-avatar{width:30px;height:30px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.chat-msg-avatar img{width:100%;height:100%;object-fit:cover}.chat-msg-bubble{max-width:65%;padding:10px 14px;border-radius:16px}.chat-msg-bubble.otro{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.chat-msg-bubble.mio{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.chat-msg-sender{font-size:11px;font-weight:700;color:#3b82f6;margin:0 0 4px}.chat-msg-bubble p{font-size:14px;margin:0;line-height:1.5;word-break:break-word}.chat-msg-bubble.mio p{color:#fff}.chat-msg-time{display:block;font-size:10px;margin-top:4px;opacity:.6;text-align:right}.chat-file-msg{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;padding:4px 0}.chat-file-msg span{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-top:1px solid #e8ecf0;flex-shrink:0}.chat-attach-btn{width:38px;height:38px;border:none;background:#f1f5f9;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;flex-shrink:0;transition:background .15s}.chat-attach-btn:hover{background:#e2e8f0}.chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:12px;font-size:14px;outline:none;color:#1e293b;background:#f8fafc;transition:border-color .15s}.chat-input:focus{border-color:#3b82f6;background:#fff}.chat-send-btn{width:38px;height:38px;border:none;background:#3b82f6;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:background .15s}.chat-send-btn:hover:not(:disabled){background:#2563eb}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.modal-grupo{background:#fff;border-radius:18px;width:440px;max-width:95vw;max-height:85vh;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .2s ease}.modal-grupo-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e8ecf0}.modal-grupo-header h2{font-size:16px;font-weight:700;color:#1e293b;margin:0}.modal-grupo-header button{width:30px;height:30px;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b}.modal-grupo-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-grupo-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;color:#1e293b;box-sizing:border-box;transition:border-color .15s}.modal-grupo-input:focus{border-color:#3b82f6}.modal-grupo-label{font-size:13px;font-weight:600;color:#64748b;margin:0}.modal-grupo-usuarios{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.modal-usuario-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer;transition:background .12s;border:1px solid transparent}.modal-usuario-item:hover{background:#f1f5f9}.modal-usuario-item.selected{background:#eff6ff;border-color:#bfdbfe}.modal-usuario-avatar{width:36px;height:36px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}.modal-usuario-avatar img{width:100%;height:100%;object-fit:cover}.modal-usuario-item p{font-size:13px;font-weight:600;color:#1e293b;margin:0}.modal-usuario-item small{font-size:11px;color:#94a3b8}.modal-usuario-check{margin-left:auto;width:22px;height:22px;border-radius:50%;background:#3b82f6;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}.modal-grupo-btn{padding:11px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;width:100%}.modal-grupo-btn:hover:not(:disabled){background:#2563eb}.modal-grupo-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.chat-sidebar.hidden-mobile{display:none}.chat-main{display:none;position:fixed;inset:60px 0 0;z-index:50}.chat-main.visible{display:flex}.chat-back-btn{display:flex!important}}.chat-activo{color:#16a34a;font-size:11px;font-weight:600}.config-page{padding:32px;background:#f9fafb;min-height:100vh}.config-title{font-size:28px;font-weight:700;color:#111827;margin-bottom:28px}.config-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1280px){.config-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.config-grid{grid-template-columns:1fr}}.config-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .2s}.config-card:hover{box-shadow:0 4px 16px #00000014}.config-card-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.config-icon{width:40px;height:40px;min-width:40px;background:#eff6ff;border-radius:8px;display:flex;align-items:center;justify-content:center}.config-card-header h3{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px;line-height:1.3}.config-card-header p{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.config-links{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.config-links li{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.config-links li svg{color:#9ca3af;flex-shrink:0}.config-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:13px;font-weight:500;color:#374151}.config-select{font-size:13px;padding:4px 8px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:#374151;cursor:pointer;outline:none}.config-select:focus{border-color:#3b82f6}.config-storage-text{font-size:12px;color:#9ca3af;margin:4px 0}.config-card-footer{margin-top:auto;padding-top:16px;border-top:1px solid #f3f4f6}.config-btn{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#374151;background:none;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;cursor:pointer;transition:all .15s}.config-btn:hover{background:#f3f4f6;border-color:#d1d5db}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;border-radius:24px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box{background:#fff;border-radius:12px;width:100%;max-width:580px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:16px;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;border-radius:6px;transition:background .15s}.modal-close:hover{background:#f3f4f6}.modal-body{padding:20px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:24px}.modal-section{display:flex;flex-direction:column;gap:12px}.modal-section-title{font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin:0}.modal-hint{font-size:12px;color:#9ca3af;margin:2px 0 0}.modal-warning{font-size:12px;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;margin:0}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.modal-btn-secondary{padding:8px 18px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:background .15s}.modal-btn-secondary:hover{background:#f9fafb}.modal-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.modal-table{width:100%;border-collapse:collapse;font-size:13px}.modal-table th{background:#f9fafb;padding:10px 14px;text-align:left;color:#6b7280;font-weight:600;border-bottom:1px solid #e5e7eb}.modal-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;color:#374151}.modal-table tr:last-child td{border-bottom:none}.modal-table code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:12px}.storage-bar-wrap{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.storage-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.storage-label{font-size:13px;color:#6b7280;margin:6px 0 0}.cat-page{padding:32px;background:#f9fafb;min-height:100vh}.cat-header{margin-bottom:24px}.cat-header h1{font-size:26px;font-weight:700;color:#111827;margin:0}.cat-tabs{display:flex;gap:4px;margin-bottom:20px;background:transparent}.cat-tab{padding:8px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;background:#e5e7eb;color:#374151;transition:all .15s}.cat-tab:hover{background:#d1d5db}.cat-tab.active{background:#3b82f6;color:#fff}.cat-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.cat-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cat-section-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.cat-search-box{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;margin-bottom:20px;background:#f9fafb;width:100%;max-width:400px}.cat-search-box svg{color:#9ca3af;flex-shrink:0}.cat-search-box input{border:none;background:transparent;outline:none;font-size:14px;color:#374151;width:100%}.cat-search-box input::placeholder{color:#9ca3af}.cat-table{width:100%;border-collapse:collapse;font-size:14px}.cat-table thead tr{border-bottom:1px solid #e5e7eb}.cat-table th{text-align:left;padding:10px 12px;font-size:13px;font-weight:600;color:#6b7280}.cat-table td{padding:14px 12px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}.cat-table tr:last-child td{border-bottom:none}.cat-table tr:hover td{background:#f9fafb}.cat-empty{text-align:center;color:#9ca3af;padding:40px!important;font-size:14px}.cat-actions{display:flex;gap:8px;align-items:center}.cat-btn-edit{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;border:1px solid #3b82f6;background:transparent;color:#3b82f6;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.cat-btn-edit:hover{background:#eff6ff}.cat-btn-delete{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.cat-btn-delete:hover{background:#fef2f2}.cat-btn-asociar{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;border:1px solid #10b981;background:transparent;color:#10b981;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.cat-btn-asociar:hover{background:#f0fdf4}.cat-btn-primary{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.cat-btn-primary:hover{background:#2563eb}.cat-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.cat-badge.activo{background:#d1fae5;color:#065f46}.cat-badge.inactivo{background:#fee2e2;color:#991b1b}.cat-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.cat-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.cat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f3f4f6}.cat-modal-header h3{font-size:17px;font-weight:600;color:#111827;margin:0}.cat-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.cat-modal-close:hover{background:#f3f4f6}.cat-modal-body{padding:20px 24px}.cat-modal-desc{font-size:13px;color:#6b7280;margin:0 0 16px}.cat-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.cat-form-group{margin-bottom:16px}.cat-form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.cat-form-group input,.cat-form-group select,.cat-form-group textarea{width:100%;padding:9px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151;background:#f9fafb;outline:none;transition:border-color .15s;box-sizing:border-box}.cat-form-group input:focus,.cat-form-group select:focus,.cat-form-group textarea:focus{border-color:#3b82f6;background:#fff}.cat-form-group textarea{resize:vertical}.cat-radio-group{display:flex;gap:20px;align-items:center}.cat-radio-group label{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer;margin:0;font-weight:400}.cat-checkbox-group label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;font-weight:400}.cat-checkbox-group input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin:0;cursor:pointer}.cat-btn-cancel{padding:8px 20px;border-radius:8px;border:1px solid #e5e7eb;background:transparent;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.cat-btn-cancel:hover{background:#f3f4f6}.cat-btn-save{padding:8px 24px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.cat-btn-save:hover{background:#2563eb}.cat-btn-back{background:none;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;padding:0;margin-bottom:8px;display:flex;align-items:center;gap:4px}.cat-btn-back:hover{color:#374151}.terceros-tabs{border-bottom:1px solid #e5e7eb;margin-bottom:0;background:transparent;gap:0}.cat-tab-line{padding:10px 20px;border:none;background:transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.cat-tab-line:hover{color:#374151}.cat-tab-line.active{color:#3b82f6;border-bottom-color:#3b82f6}.cat-icon-btn{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;border-radius:4px}.cat-icon-btn:hover{background:#f3f4f6;color:#374151}.cat-icon-btn.delete:hover{background:#fef2f2;color:#ef4444}.cat-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.cat-form-label-inline{display:grid;grid-template-columns:130px 1fr;align-items:start;gap:12px;margin-bottom:14px}.cat-form-label-inline label{font-size:13px;font-weight:500;color:#374151;padding-top:9px}.cat-form-label-inline input,.cat-form-label-inline select,.cat-form-label-inline textarea{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151;background:#f9fafb;outline:none;box-sizing:border-box}.cat-form-label-inline input:focus,.cat-form-label-inline select:focus,.cat-form-label-inline textarea:focus{border-color:#3b82f6;background:#fff}.terceros-modelos-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cat-btn-filter{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;cursor:pointer}.cat-btn-delete-sel{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;background:#ef4444;color:#fff;font-size:14px;cursor:pointer}.cat-btn-delete-sel:disabled{background:#fca5a5;cursor:not-allowed}.cat-modelo-id{font-size:12px;color:#6b7280;font-family:monospace}.cat-pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:20px}.cat-page-btn{padding:6px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#374151;font-size:13px;cursor:pointer}.cat-page-btn:disabled{opacity:.4;cursor:not-allowed}.cat-page-num{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#374151;font-size:13px;cursor:pointer}.cat-page-num.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.cat-btn-back{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0}.cat-btn-back:hover{text-decoration:underline}.param-table th{background:#dbeafe;color:#1e40af}.param-btn-edit{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:6px;border:1px solid #3b82f6;background:transparent;color:#3b82f6;font-size:13px;cursor:pointer}.param-btn-edit:hover{background:#eff6ff}.param-btn-delete{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:13px;cursor:pointer}.param-btn-delete:hover{background:#fef2f2}.checklist-items{display:flex;flex-direction:column;gap:8px}.checklist-item-row{display:flex;gap:8px;align-items:center}.checklist-item-row input{flex:1;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none}.checklist-item-row input:focus{border-color:#3b82f6}.checklist-item-delete{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px}.checklist-item-delete:hover{color:#ef4444;background:#fef2f2}.checklist-add-item{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px dashed #3b82f6;border-radius:8px;background:transparent;color:#3b82f6;font-size:14px;cursor:pointer;margin-top:4px}.checklist-add-item:hover{background:#eff6ff}.rp-permisos-titulo{font-size:15px;font-weight:600;color:#111827;margin:16px 0 8px}.rp-modulos{display:flex;flex-direction:column;gap:8px}.rp-modulo{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.rp-modulo-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none}.rp-modulo-header:hover{background:#f3f4f6}.rp-modulo-nombre{font-size:14px;font-weight:500;color:#374151}.rp-permisos-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;background:#fff}.rp-permiso-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;cursor:pointer}.rp-permiso-item input{cursor:pointer}.cat-multiselect-item:hover{background:#eff6ff}.cat-servicios-list::-webkit-scrollbar{width:4px}.cat-servicios-list::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.cat-servicio-item:hover{background:#eff6ff}.cat-servicio-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0;accent-color:#3b82f6;margin:0}@keyframes modalEntrada{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlayEntrada{0%{opacity:0}to{opacity:1}}.cat-overlay{animation:overlayEntrada .2s ease}.cat-modal{animation:modalEntrada .2s ease}.notificaciones-config-container{padding:24px;max-width:600px}.config-header{margin-bottom:24px}.config-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.config-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:24px}.config-section{display:flex;flex-direction:column;gap:20px}.config-item{padding:16px;background:#f9fafb;border-radius:6px;border-left:4px solid #3b82f6}.config-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#1f2937}.config-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.config-label input[type=number]{border:1px solid #d1d5db;border-radius:4px}.config-description{margin:8px 0 0 26px;font-size:13px;color:#6b7280}.btn-volver{background:none;border:none;color:#3b82f6;cursor:pointer;font-weight:500;padding:0}.btn-volver:hover{text-decoration:underline}.btn-guardar:hover:not(:disabled){background-color:#2563eb!important}.app-layout{display:flex;flex-direction:column;width:100vw;height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f0f4f8}.layout-body{display:flex;flex:1;overflow:hidden;position:relative}.sidebar{width:240px;min-width:240px;background:#fff;color:#374151;padding:0;box-shadow:2px 0 12px #00000012;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;border-right:1px solid #e2e8f0;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1);position:relative;z-index:100;flex-shrink:0}.sidebar.sidebar-collapsed{width:64px;min-width:64px}.sidebar-toggle{display:flex;align-items:center;justify-content:flex-end;padding:10px 12px 8px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.sidebar.sidebar-collapsed .sidebar-toggle{justify-content:center;padding:10px 0 8px}.sidebar-toggle-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;color:#64748b;transition:background .18s ease,color .18s ease,transform .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#dbeafe;color:#2563eb}.sidebar-menu{list-style:none;padding:8px;margin:0;flex:1}.sidebar-menu li{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:10px;color:#4b5563;font-size:13.5px;font-weight:500;transition:background .18s ease,color .18s ease;border-radius:8px;margin-bottom:3px;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.sidebar-menu li:hover{background-color:#eff6ff;color:#1d4ed8}.sidebar-menu li.active{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;box-shadow:0 4px 14px #2563eb73}.sidebar.sidebar-collapsed .sidebar-menu li.active{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 18px #2563eb8c}.sidebar-menu li.active:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.sidebar-menu li svg{min-width:20px;width:20px;height:20px;opacity:.7;flex-shrink:0;transition:opacity .18s ease}.sidebar-menu li:hover svg,.sidebar-menu li.active svg{opacity:1}.sidebar-menu li .menu-label{transition:opacity .2s ease;opacity:1;overflow:hidden;white-space:nowrap;flex:1}.sidebar.sidebar-collapsed .sidebar-menu{padding:8px 0}.sidebar.sidebar-collapsed .sidebar-menu li{width:44px;height:44px;padding:0;gap:0;margin:0 auto 4px;border-radius:12px;display:flex;align-items:center;justify-content:center}.sidebar.sidebar-collapsed .sidebar-menu li .menu-label{display:none}.sidebar.sidebar-collapsed .sidebar-menu li svg{opacity:.75;width:20px;height:20px;min-width:20px;flex-shrink:0}.sidebar.sidebar-collapsed .sidebar-menu li:hover svg{opacity:1}.sidebar.sidebar-collapsed .sidebar-menu li:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#1e293b;color:#fff;font-size:12px;font-weight:500;padding:5px 11px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:500;box-shadow:0 4px 14px #0000002e}.sidebar.sidebar-collapsed .sidebar-menu li:hover:after{opacity:1}.menu-item-header{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer}.menu-item-header svg{min-width:20px;width:20px;height:20px;opacity:.7;flex-shrink:0}.expand-icon{margin-left:auto;font-size:10px;color:#94a3b8;transition:transform .25s ease,opacity .2s ease;flex-shrink:0}.sidebar-menu li.expanded .expand-icon{transform:rotate(90deg);color:#60a5fa}.sidebar.sidebar-collapsed .menu-item-header{justify-content:center;align-items:center;gap:0}.sidebar.sidebar-collapsed .menu-item-header .menu-label,.sidebar.sidebar-collapsed .menu-item-header .expand-icon{opacity:0;width:0;overflow:hidden;pointer-events:none}.sidebar.sidebar-collapsed .submenu{display:none}.submenu{list-style:none;padding:4px 0 6px 36px;border-left:2px solid #e2e8f0;margin:0 0 4px 20px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.submenu li{padding:7px 10px!important;color:#64748b!important;font-size:12.5px!important;border-radius:6px!important;margin-bottom:2px!important;border-left:2px solid transparent!important;background:transparent!important;box-shadow:none!important;white-space:nowrap}.submenu li:hover{background-color:#f1f5f9!important;color:#1e40af!important;padding-left:14px!important}.submenu li.submenu-active{background:#3b82f61a!important;color:#2563eb!important;border-left-color:#3b82f6!important;font-weight:600!important;box-shadow:none!important}.sidebar-logout{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:12px!important;color:#ef4444!important;background:transparent!important;box-shadow:none!important}.sidebar-logout:hover{background-color:#fff5f5!important;color:#dc2626!important}.main-content{flex:1;background-color:#f0f4f8;padding:28px 32px;overflow-y:auto;min-width:0}.hamburger-btn{display:none;position:fixed;top:14px;left:14px;width:36px;height:36px;align-items:center;justify-content:center;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 8px #2563eb66;z-index:1100;padding:0;transition:background .2s ease}.hamburger-btn:hover{background:#1d4ed8}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000073;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .25s ease}.sidebar-overlay.visible{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar::-webkit-scrollbar,.main-content::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track,.main-content::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.main-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover,.main-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:768px){.sidebar-toggle{display:none}.hamburger-btn{display:flex}.sidebar{position:fixed;top:0;left:0;width:260px!important;min-width:260px!important;height:100vh;z-index:1000;border-right:1px solid #e2e8f0;box-shadow:4px 0 20px #0000001f;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.sidebar-collapsed{width:260px!important;min-width:260px!important}.sidebar.sidebar-mobile-open{transform:translate(0)}.sidebar.sidebar-mobile-closed{transform:translate(-100%)}.main-content{padding:72px 16px 20px;width:100%}}@media(max-width:480px){.sidebar{width:240px!important;min-width:240px!important}.main-content{padding:64px 12px 16px}}
