:root{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f3f3f5;--text-primary: #1a1a1d;--text-secondary: #4a4a50;--text-tertiary: #7c7c85;--border-color: #d8d8df;--border-light: #e8e8ef;--shadow-sm: rgba(0, 0, 0, .06);--shadow-md: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .14);--card-bg: #ffffff;--card-hover: #f6f6f8;--input-bg: #ffffff;--input-border: #d5d5dc;--surface-primary: var(--card-bg);--surface-secondary: var(--bg-tertiary);--surface-hover: var(--card-hover);--brand-primary: #2e3192;--brand-secondary: #764ba2;--color-success: #4caf50;--color-warning: #ff9800;--color-error: #f44336;--color-info: #2196f3}body.dark-mode{--bg-primary: #0e0e11;--bg-secondary: #1a1a1f;--bg-tertiary: #24242b;--text-primary: #ffffff;--text-secondary: #c9c9d1;--text-tertiary: #858592;--border-color: #2e2e35;--border-light: #3a3a42;--shadow-sm: rgba(0, 0, 0, .35);--shadow-md: rgba(0, 0, 0, .45);--shadow-lg: rgba(0, 0, 0, .6);--card-bg: #17171c;--card-hover: #212127;--input-bg: #1a1a1f;--input-border: #35353d}[hidden]{display:none!important}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}html,body{width:100%;overflow-x:hidden}select,select option{background-color:#fff;color:#1a1a1d}body.dark-mode select,body.dark-mode select option{background-color:var(--bg-secondary);color:var(--text-primary)}body.dark-mode .estado-card.estado-pendiente{background-color:#e6a817;color:#fff}body.dark-mode .estado-card.estado-programado{background-color:#17a2b8;color:#fff}body.dark-mode .estado-card.estado-proceso{background-color:#0d6efd;color:#fff}body.dark-mode .estado-card.estado-terminado{background-color:#28a745;color:#fff}body.dark-mode .estado-card.estado-taller-externo{background-color:#6f42c1;color:#fff}body.dark-mode .estado-card.estado-anulado{background-color:#dc3545;color:#fff}body.dark-mode .estado-card.estado-reprogramado{background-color:#e65100;color:#fff}body.dark-mode .estado-pendiente{background-color:#eab30826;color:#fbbf24}body.dark-mode .estado-programado{background-color:#06b6d426;color:#22d3ee}body.dark-mode .estado-proceso,body.dark-mode .estado-en-proceso{background-color:#3b82f626;color:#60a5fa}body.dark-mode .estado-terminado,body.dark-mode .estado-completado{background-color:#22c55e26;color:#4ade80}body.dark-mode .estado-taller-externo{background-color:#a78bfa26;color:#a78bfa}body.dark-mode .estado-anulado,body.dark-mode .estado-cancelado{background-color:#f8717126;color:#f87171}body.dark-mode .estado-reprogramado{background-color:#fb923c26;color:#fb923c}body.dark-mode .timeline-marker.programado{background:#22d3ee}body.dark-mode .timeline-marker.proceso{background:#60a5fa}body.dark-mode .timeline-marker.terminado{background:#4ade80}body.dark-mode .timeline-marker.taller-externo{background:#fbbf24}body.dark-mode .timeline-marker.anulado{background:#f87171}body.dark-mode .timeline-marker.reprogramado{background:#fb923c}body.dark-mode .contrato-vigente{background-color:#22c55e1f;color:#4ade80;border-left-color:#4ade80}body.dark-mode .contrato-vigente:hover{background-color:#22c55e33}body.dark-mode .contrato-advertencia{background-color:#eab3081f;color:#fbbf24;border-left-color:#fbbf24}body.dark-mode .contrato-advertencia:hover{background-color:#eab30833}body.dark-mode .contrato-critico{background-color:#f871711f;color:#f87171;border-left-color:#f87171}body.dark-mode .contrato-critico:hover{background-color:#f8717133}body.dark-mode .contrato-vencido{background-color:#7f1d1d;border-left-color:#ef4444}body.dark-mode .contrato-vencido:hover{background-color:#991b1b}body.dark-mode .ot-rojo{background-color:#f871711f}body.dark-mode .ot-amarillo{background-color:#eab3081f}body.dark-mode .ot-verde{background-color:#22c55e1f}body.dark-mode .ppu-bloqueada{background-color:#f871711f!important;color:#f87171!important;border-color:#ef444466!important}body.dark-mode .badge-km{background:#fb923c26;color:#fb923c;border-color:#fb923c66}body.dark-mode .btn-view{background-color:#22c55e1f;color:#4ade80}body.dark-mode .btn-view:hover{background-color:#166534;color:#fff}body.dark-mode .btn-edit{background-color:#3b82f61f;color:#60a5fa}body.dark-mode .btn-edit:hover{background-color:#1d4ed8;color:#fff}body.dark-mode .btn-reprogramar{background-color:#fb923c1f;color:#fb923c}body.dark-mode .btn-reprogramar:hover{background-color:#c2410c;color:#fff}body.dark-mode .btn-delete{background-color:#f871711f;color:#f87171}body.dark-mode .btn-delete:hover{background-color:#991b1b;color:#fff}body.dark-mode .btn-info{background-color:#34d3991f;color:#34d399}body.dark-mode .btn-info:hover{background-color:#065f46;color:#fff}body.dark-mode .btn-icon.btn-password{background-color:#eab3081f;color:#fbbf24}body.dark-mode .btn-icon.btn-password:hover{background-color:#92400e;color:#fff}body.dark-mode .multi-select-button{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}body.dark-mode .multi-select-button:hover{background-color:var(--bg-tertiary)}body.dark-mode .multi-select-dropdown{background-color:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 4px 16px #0000008c}body.dark-mode .multi-select-item span{color:var(--text-primary)}body.dark-mode .multi-select-item.select-all{background-color:var(--bg-tertiary);border-bottom-color:var(--border-color)}body.dark-mode .dropdown-divider{background-color:var(--border-color)}body.dark-mode .multi-select-dropdown::-webkit-scrollbar-track{background:var(--bg-primary)}body.dark-mode .multi-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-light)}body.dark-mode .multi-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}body.dark-mode .mecanico-dropdown{background-color:var(--bg-secondary);box-shadow:0 4px 16px #0000008c}body.dark-mode .mecanico-taller-externo{background-color:#3b82f61f;color:#60a5fa}body.dark-mode .mecanico-item{border-bottom-color:var(--border-color)}body.dark-mode .mecanico-item-remove{background-color:#f871711a;border-bottom-color:#f8717140}body.dark-mode .mecanico-item-remove:hover{background-color:#f871712e}body.dark-mode .mecanico-item-remove .mecanico-name{color:#f87171}body.dark-mode .mecanico-name{color:var(--text-primary)}body.dark-mode .mecanico-sucursal{color:var(--text-secondary)}body.dark-mode .mecanico-item-empty{color:var(--text-tertiary)}body.dark-mode .mecanico-divider{background-color:var(--border-color)}body.dark-mode .mecanico-dropdown::-webkit-scrollbar-track{background:var(--bg-primary)}body.dark-mode .mecanico-dropdown::-webkit-scrollbar-thumb{background:var(--border-light)}body.dark-mode .mecanico-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}body.dark-mode .estado-dropdown{background:var(--bg-secondary);box-shadow:0 8px 24px #0000008c}body.dark-mode .estado-item{border-bottom-color:var(--border-color)}body.dark-mode .estado-item:hover{background-color:var(--bg-tertiary)}body.dark-mode .estado-item-empty{color:var(--text-tertiary)}body.dark-mode .estado-dropdown::-webkit-scrollbar-track{background:var(--bg-primary)}body.dark-mode .estado-dropdown::-webkit-scrollbar-thumb{background:var(--border-light)}body.dark-mode .estado-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}body.dark-mode .alert-warning{background:#eab3081f;color:#fbbf24;border-color:#eab30866}body.dark-mode .badge-urgente{background:#eab30826;color:#fbbf24}body.dark-mode .badge-proximo{background:#eab3081a;color:#fbbf24}body.dark-mode .badge-ok{background:#22c55e26;color:#4ade80}body.dark-mode .fila-urgente td{background:#d977061a!important}body.dark-mode .badge-tipo{background-color:#3b82f626;color:#60a5fa;border-color:#3b82f659}body.dark-mode .badge-propio{background-color:#22c55e26;color:#4ade80;border-color:#22c55e59}body.dark-mode .badge-tercero{background-color:#fb923c26;color:#fb923c;border-color:#fb923c59}body.dark-mode .badge-activo{background-color:#34d39926;color:#34d399;border-color:#34d39959}body.dark-mode .badge-inactivo{background-color:#9ca3af26;color:#9ca3af;border-color:#9ca3af59}body.dark-mode .badge-odometro-activo{background-color:#22c55e26;color:#4ade80;border-color:#22c55e59}body.dark-mode .badge-odometro-inactivo{background-color:#9ca3af26;color:#9ca3af;border-color:#9ca3af59}body.dark-mode .btn-toggle-odometro{background-color:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}body.dark-mode .btn-toggle-odometro.activo{background-color:#22c55e26;color:#4ade80;border-color:#22c55e59}body.dark-mode .badge-admin{background-color:#3b82f626;color:#60a5fa}body.dark-mode .badge-supervisor{background-color:#eab30826;color:#fbbf24}body.dark-mode .badge-mecanico{background-color:#34d39926;color:#34d399}body.dark-mode .badge-visualizador{background-color:#9ca3af26;color:#9ca3af}body.dark-mode .badge-guest{background-color:#9ca3af1a;color:var(--text-tertiary)}body.dark-mode .badge-user{background-color:#818cf826;color:#818cf8}body.dark-mode .badge-rit-role{background-color:#22c55e1f;color:#4ade80;border-color:#22c55e4d}body.dark-mode .status-badge.active{background-color:#22c55e26;color:#4ade80}body.dark-mode .status-badge.inactive{background-color:#f8717126;color:#f87171}body.dark-mode .taller-externo-value{color:#fbbf24}body.dark-mode .reprogramacion-section{border-left-color:#fb923c}body.dark-mode .reprogramacion-item.reprogramacion-activa{border-color:#fb923c}body.dark-mode .reprog-index{color:#fb923c;background:#fb923c26}body.dark-mode .reprog-badge-bloqueado.bloqueado{background:#f8717126;color:#f87171}body.dark-mode .reprog-badge-bloqueado.disponible{background:#22c55e26;color:#4ade80}body.dark-mode .reprog-alerta-bloqueado{background:#f871711f;border-color:#ef444459;color:#f87171}body.dark-mode .warning-message{background:#fb923c1f;border-left-color:#fb923c}body.dark-mode .warning-message svg{color:#fb923c}body.dark-mode .warning-message p{color:#fb923c}body.dark-mode .badge-ok,body.dark-mode .badge-al_dia{background:#22c55e26;color:#4ade80}body.dark-mode .badge-proximo{background:#eab30826;color:#fbbf24}body.dark-mode .badge-vencido{background:#f8717126;color:#f87171}body.dark-mode .badge-sin_datos{background:var(--bg-tertiary);color:var(--text-secondary)}body.dark-mode .text-vencido{color:#f87171}body.dark-mode .fila-vencido td{background:#dc26261a!important}body.dark-mode .fila-proximo td{background:#eab3080f!important}body.dark-mode .alert-error{background:#f871711f;color:#f87171;border-color:#f8717166}body.dark-mode .readonly-field,body.dark-mode .readonly-field:focus{background-color:var(--bg-tertiary)!important;color:var(--text-tertiary)!important;border-color:var(--border-color)!important}body.dark-mode .error-message{background:#f871711f;color:#f87171;border-color:#ef444466}body.dark-mode .error-message svg{fill:#f87171}@media(max-width:640px){.modal-overlay{align-items:stretch!important;justify-content:stretch!important}.modal-container{width:100%!important;max-width:100%!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;display:flex;flex-direction:column}.modal-header{position:sticky;top:0;flex-shrink:0;border-radius:0!important;z-index:2}.modal-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-footer{position:sticky;bottom:0;flex-shrink:0;flex-direction:column-reverse;background:var(--card-bg);padding-bottom:calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -2px 10px var(--shadow-md);z-index:2}.modal-body input,.modal-body select,.modal-body textarea{font-size:16px}}
