.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg);box-sizing:border-box}.login-card{width:100%;max-width:380px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;padding:28px 22px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--accent)}.login-logo-text{font-size:1.15rem;font-weight:700;letter-spacing:.08em;color:var(--text)}.login-title{margin:0 0 4px;text-align:center;font-size:.95rem;font-weight:500;color:var(--muted)}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.85rem;font-weight:600;color:var(--text)}.login-password{display:flex;gap:8px}.login-input{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 12px;font-size:16px;font-family:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px}.login-input:focus{outline:2px solid var(--border-focus);outline-offset:1px}.login-ver{flex:none;min-width:72px;min-height:44px;padding:0 12px;font:inherit;font-size:.85rem;font-weight:600;color:var(--text);background:var(--card-hover);border:1px solid var(--border-strong);border-radius:8px;cursor:pointer}.login-error{margin:0;padding:10px 12px;font-size:.9rem;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px}.login-submit{min-height:48px;margin-top:4px;font:inherit;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}.login-submit:hover:not(:disabled){background:var(--accent-hover)}.login-submit:disabled{opacity:.55;cursor:not-allowed}.rt-inicio{display:flex;flex-direction:column;gap:12px}.sesion-aviso{margin:0 0 12px;padding:8px 12px;font-size:.85rem;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px}.consentimiento{max-width:440px}.consentimiento-titulo{margin:0;font-size:1.2rem;color:var(--text)}.consentimiento-texto{max-height:55vh;overflow-y:auto;font-size:.95rem;line-height:1.5;color:var(--text)}.consentimiento-texto p{margin:0 0 10px}.consentimiento-version{font-size:.8rem;color:var(--muted)}.consentimiento-salir{width:100%}.login-aviso{margin:0;padding:10px 12px;font-size:.9rem;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px}.login-enlace{margin:0;padding:6px;font:inherit;font-size:.9rem;color:var(--muted);background:none;border:0;border-radius:8px;cursor:pointer;text-decoration:underline}.login-enlace:hover,.login-enlace:focus-visible{color:var(--text)}.semaforo-view{display:flex;flex-direction:column;gap:16px}.semaforo-cabecera{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.semaforo-cabecera h2{margin:0 0 4px}.semaforo-sub{margin:0;color:var(--muted);max-width:62ch}.semaforo-campo{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.semaforo-campo select,.semaforo-campo input{padding:8px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--card-subtle);color:var(--text);font:inherit}.semaforo-fecha-fila{display:flex;gap:8px;align-items:center}.semaforo-resumen{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.semaforo-total{display:inline-flex;align-items:center;gap:6px}.semaforo-punto{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border-strong);flex:none}.semaforo-leyenda{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card-subtle)}.semaforo-leyenda-item{display:inline-flex;align-items:center;gap:8px;font-size:13px}.semaforo-leyenda-nota{margin:0;flex-basis:100%;font-size:12px;color:var(--muted)}.semaforo-mapa{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--card)}.semaforo-tabla-wrap{overflow-x:auto}.semaforo-tabla{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.semaforo-tabla th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border-strong)}.semaforo-tabla td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top}.semaforo-tabla small{color:var(--muted)}.semaforo-panel .semaforo-tabla{min-width:0}.semaforo-fila-activa{background:var(--accent-soft)}.semaforo-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:2px solid var(--border-strong);border-radius:999px;font-weight:600;font-size:13px}.semaforo-link{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-align:left}.semaforo-link:hover{text-decoration:underline}.semaforo-btn-pri,.semaforo-btn-sec{font:inherit;font-weight:600;padding:7px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--border-strong)}.semaforo-btn-pri{background:var(--accent);border-color:var(--accent);color:#fff}.semaforo-btn-pri:hover:not(:disabled){background:var(--accent-hover)}.semaforo-btn-sec{background:var(--card-subtle);color:var(--text)}.semaforo-btn-pri:disabled,.semaforo-btn-sec:disabled{opacity:.55;cursor:not-allowed}.semaforo-panel{border:2px solid var(--danger-border);border-radius:12px;padding:16px 18px;background:var(--card);display:flex;flex-direction:column;gap:10px}.semaforo-panel-cabecera{display:flex;justify-content:space-between;align-items:center;gap:12px}.semaforo-panel-cabecera h3{margin:0}.semaforo-panel h4{margin:8px 0 4px}.semaforo-panel p{margin:0}.semaforo-acciones{display:flex;gap:10px}.semaforo-aviso{margin:0;padding:8px 12px;border-radius:8px;background:var(--info-bg);border:1px solid var(--info-border);font-size:13px}.semaforo-error{margin:0;padding:8px 12px;border-radius:8px;background:var(--danger-bg);border:1px solid var(--danger-border);font-size:13px}.semaforo-exito{margin:0;padding:8px 12px;border-radius:8px;background:var(--success-bg);border:1px solid var(--success-border);font-size:13px}.semaforo-vacio{color:var(--muted)}:root{--bg: #f8fafc;--card: #ffffff;--text: #0f172a;--muted: #475569;--accent: #1d4ed8;--accent-hover: #1e40af;--border: #e2e8f0;--border-focus: #94a3b8;--success: #15803d;--success-bg: #dcfce7;--warning: #b45309;--warning-bg: #fef3c7;--danger: #b91c1c;--danger-bg: #fee2e2;--info: #0369a1;--info-bg: #e0f2fe;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;line-height:1.5}.page{max-width:900px;margin:0 auto;padding:24px 16px 48px}.app-header{margin-bottom:24px}h1{margin:0;color:var(--accent);font-size:1.8rem;letter-spacing:-.02em}.subtitle{margin:4px 0 16px;color:var(--muted);font-size:.95rem}.nav-tabs{display:flex;gap:8px;border-bottom:2px solid var(--border);padding-bottom:2px}.tab-btn{background:none;border:none;padding:8px 16px;font-size:.95rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;transition:all .15s ease;border-radius:4px 4px 0 0}.tab-btn:hover{color:var(--accent);background:#f1f5f9}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:#eff6ff}.portal-firmante{display:flex;flex-direction:column;gap:16px}.portal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--card);padding:16px 20px;border-radius:12px;border:1px solid var(--border)}.portal-title{margin:0;font-size:1.3rem;color:var(--text)}.portal-desc{margin:4px 0 0;color:var(--muted);font-size:.9rem}.firmante-badge{background:#eff6ff;border:1px solid #bfdbfe;color:var(--accent);padding:6px 12px;border-radius:9999px;font-size:.85rem;white-space:nowrap}.stats-row{display:flex;flex-wrap:wrap;gap:8px}.stat-chip{background:var(--card);border:1px solid var(--border);padding:6px 12px;border-radius:8px;font-size:.85rem;color:var(--muted)}.stat-chip strong{color:var(--text)}.stat-chip-success{border-color:#86efac;background:var(--success-bg);color:var(--success)}.stat-chip-success strong{color:var(--success)}.stat-chip-warning{border-color:#fde68a;background:var(--warning-bg);color:var(--warning)}.stat-chip-warning strong{color:var(--warning)}.stat-chip-danger{border-color:#fca5a5;background:var(--danger-bg);color:var(--danger)}.stat-chip-danger strong{color:var(--danger)}.stat-chip-authorized{border-color:#bfdbfe;background:var(--info-bg);color:var(--info)}.stat-chip-authorized strong{color:var(--info)}.alert{padding:12px 16px;border-radius:8px;font-size:.9rem;display:flex;align-items:center;justify-content:space-between}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #86efac}.alert-warning{background:var(--warning-bg);color:var(--warning);border:1px solid #fde68a}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #fca5a5}.btn-link{background:none;border:none;text-decoration:underline;cursor:pointer;font-weight:600;color:inherit;padding:0}.loading-box,.empty-box{background:var(--card);border:1px dashed var(--border);padding:32px;text-align:center;color:var(--muted);border-radius:12px}.maquinas-list{display:flex;flex-direction:column;gap:12px}.maquina-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;box-shadow:0 1px 2px #0000000a;transition:transform .1s ease,border-color .1s ease}.maquina-card:hover{border-color:var(--border-focus)}.maquina-main{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.agc-code{background:#1e293b;color:#f8fafc;padding:6px 10px;border-radius:6px;font-size:.85rem;font-family:monospace;font-weight:700;letter-spacing:.05em;display:inline-block}.maquina-info{display:flex;flex-direction:column;gap:4px}.maquina-name{margin:0;font-size:1.05rem;font-weight:600}.maquina-address{margin:0;font-size:.9rem;color:var(--muted)}.maquina-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:#64748b}.maquina-status-col{display:flex;flex-direction:column;align-items:flex-end}.badge{display:inline-block;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-recorrida{background:var(--success-bg);color:var(--success);border:1px solid #86efac}.badge-pendiente-de-visita{background:var(--warning-bg);color:var(--warning);border:1px solid #fde68a}.badge-advertencia{background:var(--danger-bg);color:var(--danger);border:1px solid #fca5a5}.badge-autorizada{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.maquina-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-sm{padding:6px 12px;font-size:.825rem}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed;opacity:.6}.btn-secondary{background:#e2e8f0;color:#334155}.btn-secondary:hover:not(:disabled){background:#cbd5e1}.btn-close{background:none;border:none;font-size:1.25rem;color:var(--muted);cursor:pointer;padding:4px;line-height:1}.bloqueo-hint{margin-top:6px;color:#64748b;text-align:right}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-container{background:var(--card);border-radius:14px;max-width:680px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0003;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:1.25rem}.modal-subtitle{margin:4px 0 0;color:var(--muted);font-size:.875rem}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#f8fafc}.audit-section{display:flex;flex-direction:column;gap:8px}.section-title{margin:0;font-size:.95rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f8fafc;padding:12px;border-radius:8px;font-size:.875rem}.photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-card,.signature-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#f8fafc}.photo-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;font-weight:600;background:#fff;border-bottom:1px solid var(--border)}.photo-preview,.signature-preview{height:140px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;overflow:hidden}.photo-img,.signature-img{max-width:100%;max-height:100%;object-fit:cover}.photo-placeholder{color:#94a3b8;font-size:.8rem;text-align:center;padding:12px}.signature-author{margin:0;padding:6px 12px;font-size:.8rem;color:var(--muted);background:#fff;border-top:1px solid var(--border)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.card h2{margin:0 0 12px;font-size:1.1rem}dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}dt{font-weight:600}dd{margin:0}.portal-eca{display:flex;flex-direction:column;gap:16px}.read-only-badge{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;padding:6px 14px;border-radius:9999px;font-size:.85rem;font-weight:600;white-space:nowrap}.filter-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;flex-wrap:wrap;gap:20px;align-items:center}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:220px}.filter-label{font-size:.85rem;font-weight:600;color:var(--muted)}.filter-select{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.95rem;font-family:inherit;color:var(--text);outline:none;cursor:pointer}.filter-select:focus{border-color:var(--accent)}.medidor-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 3px #0000000d}.medidor-header{display:flex;justify-content:space-between;align-items:center}.medidor-title{margin:0;font-size:1.15rem;font-weight:700;color:#1e293b}.badge-modo-consulta{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600}.medidor-content{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}@media(max-width:640px){.medidor-content{grid-template-columns:1fr;justify-items:center}}.gauge-container{position:relative;width:140px;height:140px}.gauge-svg{width:100%;height:100%}.gauge-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.gauge-percent{font-size:1.65rem;font-weight:800;color:#0f172a;line-height:1}.gauge-sub{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;margin-top:4px}.medidor-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.metric-chip{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}.metric-title{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase}.metric-value{font-size:1.4rem;font-weight:800;color:#0f172a;line-height:1.2}.metric-chip small{font-size:.75rem;color:#64748b}.metric-chip-inspeccionadas{background:#f0fdf4;border-color:#bbf7d0}.metric-chip-inspeccionadas .metric-value{color:#166534}.metric-chip-firmadas{background:#eff6ff;border-color:#bfdbfe}.metric-chip-firmadas .metric-value{color:#1d4ed8}.metric-chip-pendientes{background:#fefce8;border-color:#fef08a}.metric-chip-pendientes .metric-value{color:#854d0e}.metric-chip-advertencias{background:#fef2f2;border-color:#fecaca}.metric-chip-advertencias .metric-value{color:#991b1b}.progress-container{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #f1f5f9}.progress-label-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}.progress-label-row strong{color:var(--text)}.progress-track{width:100%;height:8px;background:#e2e8f0;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;border-radius:9999px;transition:width .3s ease}.catalogo-flota-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}.section-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.solo-lectura-pill{font-size:.8rem;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;padding:4px 10px;border-radius:6px;font-weight:500}.table-responsive{width:100%;overflow-x:auto}.flota-table{width:100%;border-collapse:collapse;font-size:.9rem}.flota-table th{text-align:left;padding:10px 14px;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:700;text-transform:uppercase;border-bottom:2px solid var(--border)}.flota-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.flota-table tr:hover{background:#fafafa}.text-muted{color:var(--muted)}.autorizada-cell{display:flex;flex-direction:column;gap:2px}.protocolo-code{font-family:monospace;font-size:.75rem;color:#4338ca}.secretaria-view{display:flex;flex-direction:column;gap:16px}.formulario-wrapper{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.consorcio-form-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 6px -1px #0000000d}.form-header{border-bottom:1px solid var(--border);padding-bottom:12px}.form-title{margin:0;font-size:1.25rem;color:#1e293b}.form-subtitle{margin:4px 0 0;color:var(--muted);font-size:.875rem}.fieldset-section{border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin:0;background:#f8fafc;display:flex;flex-direction:column;gap:12px}.fieldset-legend{font-weight:700;font-size:.9rem;color:#334155;padding:0 8px;text-transform:uppercase;letter-spacing:.03em}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media(max-width:640px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.85rem;font-weight:600;color:var(--text)}.field-label-sm{font-size:.75rem;font-weight:600;color:var(--muted)}.field-input{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.9rem;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s ease}.field-input:focus{border-color:var(--accent)}.field-input-sm{padding:6px 10px;font-size:.85rem}.field-help{margin:0;font-size:.8rem;color:var(--muted)}.maquinas-grid-list{display:flex;flex-direction:column;gap:8px}.maquina-grid-row{display:flex;gap:12px;align-items:flex-end;background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:8px}.field-compact{width:110px;display:flex;flex-direction:column;gap:4px}.field-input-agc{font-weight:700;text-transform:uppercase;font-family:monospace}.field-wide{flex:1;display:flex;flex-direction:column;gap:4px}.action-col{padding-bottom:2px}.btn-remove-row{background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .15s ease}.btn-remove-row:hover{background:#fca5a5;color:#b91c1c}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.secretaria-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}@media(max-width:800px){.secretaria-layout{grid-template-columns:1fr}}.consorcios-list-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;max-height:700px}.list-header{display:flex;flex-direction:column;gap:10px}.consorcios-scroll-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:560px;padding-right:4px}.consorcio-item-row{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;transition:all .15s ease}.consorcio-item-row:hover{border-color:var(--accent);background:#eff6ff}.consorcio-item-row.selected{border-color:var(--accent);background:#eff6ff;box-shadow:0 0 0 1px var(--accent)}.consorcio-item-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.consorcio-item-nombre{font-size:.9rem;color:#0f172a;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consorcio-item-dir{font-size:.8rem;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ficha-tecnica-wrapper{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000d}.ficha-tecnica-card{display:flex;flex-direction:column;gap:20px}.ficha-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:16px}.ficha-title{margin:0;font-size:1.4rem;color:#0f172a}.ficha-address{margin:6px 0 0;color:var(--muted);font-size:.95rem}.ficha-body{display:flex;flex-direction:column;gap:20px}.ficha-section{display:flex;flex-direction:column;gap:10px}.admin-info-box{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;font-size:.875rem}.ficha-table{width:100%;border-collapse:collapse;font-size:.9rem}.ficha-table th{text-align:left;padding:10px 14px;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:700;text-transform:uppercase;border-bottom:2px solid var(--border)}.ficha-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.font-mono{font-family:monospace}.ficha-meta{padding-top:10px;border-top:1px solid #f1f5f9;color:#94a3b8;font-size:.8rem}.alertas-criticas-wrapper{display:flex;flex-direction:column;gap:18px;margin-bottom:8px}.alertas-summary-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fef2f2;border-left:4px solid #ef4444;border-radius:4px}.alertas-pulse-dot{width:12px;height:12px;border-radius:50%;background-color:#ef4444;box-shadow:0 0 #ef4444b3;animation:pulse-red-dot 1.5s infinite}@keyframes pulse-red-dot{0%{transform:scale(.95);box-shadow:0 0 #ef4444b3}70%{transform:scale(1);box-shadow:0 0 0 10px #ef444400}to{transform:scale(.95);box-shadow:0 0 #ef444400}}.alertas-summary-title{margin:0;font-size:1.05rem;font-weight:700;color:#991b1b}.alerta-fuera-de-servicio{background:#fff1f2;border:3px solid #e11d48;border-radius:12px;padding:20px;box-shadow:0 4px 16px #e11d4833}.alerta-titilante-roja{animation:titilar-rojo 1.6s infinite ease-in-out}@keyframes titilar-rojo{0%,to{border-color:#e11d48;background-color:#fff1f2;box-shadow:0 0 14px #e11d4859}50%{border-color:#9f1239;background-color:#ffe4e6;box-shadow:0 0 26px #e11d48a6}}.badge-rojo-titilante{display:inline-flex;align-items:center;gap:8px;background:#be123c;color:#fff;padding:6px 14px;border-radius:6px;font-weight:800;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px}.alerta-siren{font-size:1.2rem;animation:swing-siren .8s infinite alternate ease-in-out}@keyframes swing-siren{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.alerta-card-body{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.alerta-card-info{flex:1 1 360px;display:flex;flex-direction:column;gap:10px}.alerta-equipo-titulo{margin:0;font-size:1.25rem;color:#881337;font-weight:800}.alerta-ubicacion{color:#4c0519;font-size:.95rem}.alerta-motivo-box{background:#fff;border-left:4px solid #be123c;padding:12px 14px;border-radius:4px;border-top:1px solid #fecdd3;border-right:1px solid #fecdd3;border-bottom:1px solid #fecdd3}.alerta-motivo-label{display:block;font-weight:700;color:#9f1239;font-size:.85rem;text-transform:uppercase;margin-bottom:4px}.alerta-motivo-texto{margin:0;color:#1e293b;font-size:.95rem;line-height:1.5;font-weight:500}.alerta-fecha{font-size:.85rem;color:#9f1239;font-weight:600}.alerta-foto-container{flex:0 0 280px;display:flex;justify-content:center}.foto-frame{position:relative;border-radius:8px;overflow:hidden;border:3px solid #be123c;box-shadow:0 4px 12px #00000026;background:#000;width:100%;max-width:280px}.foto-cabina-trabada{display:block;width:100%;height:180px;object-fit:cover;transition:transform .2s ease}.foto-cabina-trabada:hover{transform:scale(1.03)}.foto-badge{position:absolute;bottom:0;left:0;right:0;background:#000000bf;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;text-align:center}.cartel-reparacion-urgente-gigante{background:#fff7ed;border:4px solid #ea580c;border-radius:14px;padding:24px;box-shadow:0 6px 20px #ea580c40;display:flex;flex-direction:column;gap:16px}.cartel-header{display:flex;align-items:flex-start;gap:16px;border-bottom:2px solid #fed7aa;padding-bottom:14px}.cartel-icon{font-size:2.5rem;line-height:1}.cartel-title-group{display:flex;flex-direction:column;gap:4px}.cartel-super-badge{display:inline-block;background:#c2410c;color:#fff;padding:3px 10px;border-radius:4px;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;width:fit-content}.cartel-main-title{margin:0;font-size:1.35rem;font-weight:800;color:#9a3412;letter-spacing:-.01em}.cartel-subtitle{color:#7c2d12;font-size:.95rem;font-weight:600}.cartel-motivo-box{background:#fff;border-left:4px solid #ea580c;border-radius:6px;padding:14px 16px;border-top:1px solid #fed7aa;border-right:1px solid #fed7aa;border-bottom:1px solid #fed7aa}.cartel-motivo-box strong{display:block;font-size:.85rem;color:#c2410c;text-transform:uppercase;margin-bottom:4px}.cartel-motivo-texto{margin:0;color:#1e293b;font-size:1rem;line-height:1.5;font-weight:500}.checklist-urgente-wrapper{background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:16px}.checklist-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.checklist-title{margin:0;font-size:1rem;font-weight:700;color:#9a3412}.checklist-count-tag{background:#ffedd5;color:#c2410c;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:12px;border:1px solid #fdba74}.checklist-table-responsive{overflow-x:auto}.checklist-table{width:100%;border-collapse:collapse;font-size:.9rem}.checklist-table th{text-align:left;padding:10px 12px;background:#fff7ed;color:#9a3412;font-size:.8rem;font-weight:700;text-transform:uppercase;border-bottom:2px solid #fdba74}.checklist-table td{padding:10px 12px;border-bottom:1px solid #fed7aa;vertical-align:middle}.checklist-obs-cell{color:#334155;font-size:.88rem}.badge-severidad{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-weight:700;font-size:.78rem}.badge-severidad-critico{background:#fee2e2;color:#991b1b;border:1px solid #f87171}.badge-severidad-falla{background:#ffedd5;color:#9a3412;border:1px solid #fb923c}.badge-alerta-roja{background:#fee2e2;color:#991b1b;border:1px solid #f87171;font-size:.75rem;padding:2px 6px;border-radius:4px;font-weight:700}.badge-alerta-naranja{background:#ffedd5;color:#9a3412;border:1px solid #fb923c;font-size:.75rem;padding:2px 6px;border-radius:4px;font-weight:700}.alerta-acciones-container{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}.btn-descargar-remito{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:700;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none}.btn-remito-rojo{background:#be123c;color:#fff;box-shadow:0 2px 6px #be123c4d}.btn-remito-rojo:hover:not(:disabled){background:#9f1239;transform:translateY(-1px)}.btn-remito-naranja{background:#ea580c;color:#fff;box-shadow:0 2px 6px #ea580c4d}.btn-remito-naranja:hover:not(:disabled){background:#c2410c;transform:translateY(-1px)}.btn-descargar-remito:disabled{opacity:.6;cursor:not-allowed}.acuse-recibo-legal-box{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #86efac;color:#166534;padding:8px 14px;border-radius:6px;font-size:.88rem}.acuse-recibo-icono{font-size:1.2rem}.acuse-meta-texto{font-size:.8rem;color:#15803d}.alerta-notificacion-descarga{background:#ecfdf5;border-left:4px solid #10b981;color:#065f46;padding:10px 14px;border-radius:4px;font-weight:600;font-size:.9rem}.btn-whatsapp-alerta{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:10px 18px;font-size:.92rem;font-weight:700;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none;box-shadow:0 2px 6px #25d3664d}.btn-whatsapp-alerta:hover:not(:disabled){background:#1eb857;transform:translateY(-1px)}.btn-whatsapp-alerta:disabled{opacity:.6;cursor:not-allowed}.whatsapp-status-badge{display:flex;align-items:center;gap:6px;background:#dcfce7;border:1px solid #86efac;color:#15803d;padding:8px 12px;border-radius:6px;font-weight:600;font-size:.85rem}.whatsapp-error-badge{display:flex;align-items:center;gap:6px;background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;padding:8px 12px;border-radius:6px;font-weight:600;font-size:.85rem}.alerta-notificacion-error{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b;padding:10px 14px;border-radius:4px;font-weight:600;font-size:.9rem}.wa-icon{font-weight:700;color:#16a34a}.roles-item-row{flex-direction:column;align-items:flex-start;width:100%;font:inherit;text-align:left}.roles-item-row .consorcio-item-info{width:100%}.roles-item-row .badge{white-space:nowrap}.roles-layout{grid-template-columns:280px minmax(0,1fr)}.roles-layout .fieldset-section,.roles-layout .form-field{min-width:0}.roles-layout .form-grid-3{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media(max-width:800px){.roles-layout{grid-template-columns:minmax(0,1fr)}}.roles-item-row:disabled{cursor:wait;opacity:.7}.roles-item-terna{font-size:.8rem;color:var(--text)}.roles-campos{border:0;margin:0;min-width:0;padding:0}.falla-toast{position:fixed;top:16px;right:16px;z-index:1000;width:min(420px,calc(100vw - 32px));background:var(--card);border:2px solid var(--danger);border-left-width:8px;border-radius:10px;box-shadow:0 12px 32px #0f172a40;padding:16px;animation:falla-toast-entrada .25s ease-out}.falla-toast-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.falla-toast-header h3{margin:0;color:var(--danger);font-size:1.05rem}.falla-toast-contador{font-size:.8rem;color:var(--muted)}.falla-toast-maquina{margin:10px 0 6px;font-weight:600}.falla-toast-fallas{margin:0 0 8px;padding-left:20px;color:var(--danger);font-weight:600}.falla-toast-meta{margin:0 0 12px;font-size:.85rem;color:var(--muted)}.falla-toast-acciones{display:flex;gap:8px;flex-wrap:wrap}.btn-danger{background:var(--danger);color:#fff;text-decoration:none}.btn-danger:hover{background:#991b1b}@keyframes falla-toast-entrada{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.falla-toast{animation:none}}:root,[data-theme=dark]{--surface-sunken: #101217}[data-theme=light]{--surface-sunken: #f8fafc}[data-theme=dark] .audit-grid{background:var(--card-subtle, #101217);border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--text, #f4f5f6)}[data-theme=dark] .audit-grid strong{color:var(--muted, #8a8f98)}[data-theme=dark] .cartel-bloqueo-tercera-visita{background:var(--danger-bg, rgba(239, 68, 68, .13))!important;border-color:var(--danger-border, rgba(248, 113, 113, .35))!important;color:var(--text, #f4f5f6)!important}[data-theme=dark] [data-testid=badge-recargo-45-habilitado]{background:var(--danger-bg, rgba(239, 68, 68, .16))!important;color:var(--danger, #f87171)!important;border-color:var(--danger-border, rgba(248, 113, 113, .4))!important}[data-theme=dark] .ficha-table [style*="220, 38, 38"],[data-theme=dark] .ficha-table [style*="185, 28, 28"]{color:#fca5a5!important}[data-theme=dark] [data-testid=total-liquidacion-consorcio]{color:var(--text, #f4f5f6)!important}[data-theme=dark] [data-testid=total-liquidacion-consorcio][style*="185, 28, 28"]{color:#fca5a5!important}[data-theme=dark] .solo-lectura-pill,[data-theme=dark] .badge-modo-consulta{background:var(--card-subtle, #101217);border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--muted, #8a8f98)}[data-theme=dark] .consorcio-item-dir,[data-theme=dark] .bloqueo-hint,[data-theme=dark] .maquina-meta,[data-theme=dark] .modal-subtitle,[data-theme=dark] .photo-placeholder{color:var(--muted, #8a8f98)}.portal-inspeccion{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.inspeccion-context-bar{padding:12px}.inspeccion-context-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.inspeccion-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.82rem;color:var(--muted)}.inspeccion-field select{width:100%;min-height:44px;font-size:16px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text)}.checklist-shell{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.checklist-tablist{display:flex;flex-wrap:wrap;gap:6px}.checklist-tab{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation;max-width:100%}.checklist-tab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--card))}.checklist-tab.completa{border-color:var(--success)}.solapa-tilde{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--success);color:#fff;font-size:12px;font-weight:700}.checklist-tab-conteo{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.checklist-panel{display:flex;flex-direction:column;gap:14px;padding:14px;min-width:0}.checklist-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.checklist-panel-title{margin:0;font-size:1.05rem}.checklist-version{font-size:.78rem;color:var(--muted)}.checklist-badge-completa{padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--success-bg);color:var(--success)}.checklist-subgrupos{display:flex;flex-direction:column;gap:14px}.checklist-subgrupo{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.checklist-subgrupo-title{margin:0;font-size:.92rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checklist-shared-pill{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--info-bg);color:var(--info)}.checklist-items{display:flex;flex-direction:column;gap:12px}.checklist-item{display:flex;flex-direction:column;gap:8px;min-width:0}.checklist-item-label{font-weight:600;font-size:.95rem;line-height:1.35}.checklist-opciones{display:flex;flex-wrap:wrap;gap:8px}.checklist-opcion{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;flex:1 1 140px;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-sunken, var(--card));color:var(--text);font-size:16px;line-height:1.25;text-align:left;white-space:normal;word-break:break-word;cursor:pointer;touch-action:manipulation}.checklist-opcion.selected.tono-ok{border-color:var(--success);background:var(--success-bg);color:var(--success);font-weight:600}.checklist-opcion.selected.tono-falla{border-color:var(--warning);background:var(--warning-bg);color:var(--warning);font-weight:600}.checklist-opcion.selected.tono-critica{border-color:var(--danger);background:var(--danger-bg);color:var(--danger);font-weight:700}.checklist-opcion-flag{font-size:11px;padding:2px 6px;border-radius:6px;background:#b91c1c24;color:var(--danger);flex-shrink:0}.checklist-observaciones-wrap{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.checklist-obs-label{font-size:.9rem;font-weight:600}.checklist-obs-textarea{width:100%;min-height:84px;padding:10px 12px;font-size:16px;border-radius:10px;border:1px solid var(--border);background:var(--surface-sunken, var(--card));color:var(--text);resize:vertical}@media(max-width:480px){.page.neo-main{padding:12px 10px 80px}.inspeccion-context-row{grid-template-columns:minmax(0,1fr)}.checklist-tab{flex:1 1 calc(50% - 6px);justify-content:space-between;font-size:13px;padding:8px 10px}.checklist-opcion{flex:1 1 100%}}.checklist-badge-falta-foto{padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--danger-bg);color:var(--danger)}.checklist-foto-box{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px dashed var(--border-focus);background:var(--card)}.checklist-foto-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;text-align:center;cursor:pointer;touch-action:manipulation}.sr-only-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.checklist-foto-aviso{margin:0;font-size:.84rem;font-weight:600;color:var(--danger)}.checklist-foto-opcional{margin:0;font-size:.82rem;color:var(--muted)}.checklist-foto-preview{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.checklist-foto-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.checklist-foto-meta{display:flex;flex-direction:column;gap:2px;font-size:.8rem}.checklist-fallas-piso-box{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.checklist-fallas-piso-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.checklist-fallas-piso-title{margin:0;font-size:.92rem;font-weight:700}.checklist-fallas-piso-sub{margin:2px 0 0;font-size:.78rem;color:var(--muted)}.checklist-fallas-piso-form{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:8px;border:1px dashed var(--border-focus);background:var(--card)}.checklist-fallas-piso-grid{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:10px}.checklist-fallas-piso-actions{display:flex;gap:8px;flex-wrap:wrap}.checklist-fallas-piso-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.checklist-falla-piso-item{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--card)}.checklist-falla-piso-item.es-critica{border-color:var(--danger);background:var(--danger-bg)}.checklist-falla-piso-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 200px}.checklist-falla-piso-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.falla-piso-badge{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--accent)}.falla-grupo-badge{padding:2px 8px;border-radius:999px;font-size:.74rem;background:var(--bg);border:1px solid var(--border)}.checklist-falla-piso-comp{font-size:.88rem}.checklist-falla-piso-det{font-size:.8rem;color:var(--muted)}.checklist-falla-piso-btns{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:640px){.checklist-fallas-piso-grid{grid-template-columns:minmax(0,1fr)}}.checklist-equipos-estacion{display:flex;flex-direction:column;gap:8px}.checklist-equipos-bar{display:flex;gap:8px;flex-wrap:wrap}.checklist-equipo-pill{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:44px;padding:6px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font-size:13px;cursor:pointer}.checklist-equipo-pill.active{border-color:var(--accent);background:var(--accent-soft)}.checklist-sala-tag{font-style:normal;font-size:11px;padding:1px 6px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--muted)}.checklist-sala-aviso{margin:0;padding:6px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:.82rem;font-weight:600}.checklist-estacion-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}@media(max-width:640px){.checklist-equipo-pill{flex:1 1 calc(50% - 4px);justify-content:flex-start}.checklist-estacion-nav .btn{flex:1 1 100%}}.inspeccion-offline-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checklist-idb-pill,.checklist-restored-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.checklist-idb-pill.online{background:var(--success-bg);color:var(--success)}.checklist-idb-pill.offline{background:var(--danger-bg);color:var(--danger)}.checklist-restored-pill{background:var(--accent-soft);color:var(--accent)}.checklist-cola-pill{background:#fff3e0;color:#b45309;border:1px solid #f59e0b}.checklist-critico-banner{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid #dc2626;background:#fef2f2;color:#991b1b;font-size:.9rem;font-weight:500}:root,[data-theme=dark]{color-scheme:dark;--bg: #08090a;--bg-elevated: #0e1013;--card: #13151a;--card-subtle: #101217;--card-hover: #191c23;--text: #f4f5f6;--muted: #8a8f98;--subtle: #5c616b;--accent: #5e6ad2;--accent-hover: #6e7ae2;--accent-soft: rgba(94, 106, 210, .16);--accent-border: rgba(94, 106, 210, .42);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--border-focus: rgba(124, 134, 232, .65);--success: #4ade80;--success-bg: rgba(34, 197, 94, .12);--success-border: rgba(74, 222, 128, .28);--warning: #fbbf24;--warning-bg: rgba(245, 158, 11, .13);--warning-border: rgba(251, 191, 36, .3);--danger: #f87171;--danger-bg: rgba(239, 68, 68, .13);--danger-border: rgba(248, 113, 113, .35);--orange: #fb923c;--orange-bg: rgba(234, 88, 12, .14);--orange-border: rgba(251, 146, 60, .36);--info: #60a5fa;--info-bg: rgba(59, 130, 246, .13);--info-border: rgba(96, 165, 250, .3);--shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .35);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-sans);color:var(--text);background:var(--bg)}[data-theme=light]{color-scheme:light;--bg: #f6f7f9;--bg-elevated: #ffffff;--card: #ffffff;--card-subtle: #f8fafc;--card-hover: #f1f5f9;--text: #0f172a;--muted: #475569;--subtle: #64748b;--accent: #505bc7;--accent-hover: #424db8;--accent-soft: rgba(80, 91, 199, .1);--accent-border: rgba(80, 91, 199, .35);--border: #e2e8f0;--border-strong: #cbd5e1;--border-focus: #505bc7;--success: #15803d;--success-bg: #dcfce7;--success-border: #86efac;--warning: #b45309;--warning-bg: #fef3c7;--warning-border: #fcd34d;--danger: #b91c1c;--danger-bg: #fee2e2;--danger-border: #fca5a5;--orange: #c2410c;--orange-bg: #ffedd5;--orange-border: #fdba74;--info: #0369a1;--info-bg: #e0f2fe;--info-border: #93c5fd;--shadow-card: 0 1px 2px rgba(15, 23, 42, .05)}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.neo-shell{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr);background:var(--bg);transition:grid-template-columns .18s ease}.neo-shell.sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}.neo-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:14px 12px;background:var(--bg-elevated);border-right:1px solid var(--border);z-index:30}.neo-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.sidebar-collapsed .neo-sidebar{padding:14px 8px}.sidebar-collapsed .neo-sidebar-top{flex-direction:row;align-items:center;justify-content:center;gap:6px}.sidebar-collapsed .neo-brand-mark,.sidebar-collapsed .neo-sidebar-top .neo-icon-btn{width:26px;height:26px}.neo-brand{display:flex;align-items:center;gap:10px;min-width:0}.neo-brand-mark{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);color:#fff;flex-shrink:0;box-shadow:0 2px 10px #5e6ad259}.neo-brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.neo-brand-name{font-size:.9rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.neo-brand-env{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);letter-spacing:.04em}.neo-icon-btn{width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .14s ease;flex-shrink:0}.neo-icon-btn:hover{background:var(--card-hover);border-color:var(--border);color:var(--text)}.neo-search-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:7px;border:1px solid var(--border);background:var(--card-subtle);color:var(--muted);font-family:inherit;font-size:.82rem;cursor:pointer;transition:all .14s ease}.neo-search-trigger:hover{border-color:var(--border-strong);background:var(--card-hover);color:var(--text)}.neo-search-placeholder{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-kbd{font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--muted);background:var(--card);border:1px solid var(--border-strong);border-radius:4px;padding:1px 5px;line-height:1.35;white-space:nowrap}.neo-nav-group{display:flex;flex-direction:column;gap:3px;flex:1}.neo-nav-label{font-size:.68rem;font-weight:600;letter-spacing:.08em;color:var(--subtle);padding:4px 8px 6px}.neo-nav-item.tab-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:7px;border:1px solid transparent;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font-family:inherit;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:all .14s ease}.neo-nav-item.tab-btn:hover{background:var(--card-hover);color:var(--text)}.neo-nav-item.tab-btn.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text)}.neo-nav-item.tab-btn.active svg{color:var(--accent)}.neo-nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .neo-nav-item.tab-btn,.sidebar-collapsed .neo-search-trigger,.sidebar-collapsed .neo-status-pill{justify-content:center;padding-left:0;padding-right:0}.neo-sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.sidebar-collapsed .neo-sidebar-footer{flex-direction:column}.neo-status-pill{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;border:1px solid var(--border);background:var(--card-subtle);color:var(--muted);font-family:inherit;font-size:.76rem;cursor:pointer}.neo-status-pill:hover{border-color:var(--border-strong);color:var(--text)}.neo-status-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-ok{background:var(--success);box-shadow:0 0 8px #4ade808c}.dot-pending{background:var(--warning)}.dot-error{background:var(--danger);box-shadow:0 0 8px #f871718c}.neo-workspace{display:flex;flex-direction:column;min-width:0}.neo-topbar{position:sticky;top:0;z-index:20;height:52px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.neo-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0}.neo-breadcrumb-root{font-size:.82rem;color:var(--muted);white-space:nowrap}.neo-breadcrumb-sep{color:var(--subtle);font-size:.82rem}.neo-topbar-title{margin:0;font-size:.92rem;font-weight:600;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-topbar-actions{display:flex;align-items:center;gap:8px}.neo-topbar-search-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-family:inherit;font-size:.8rem;cursor:pointer;transition:all .14s ease}.neo-topbar-search-btn:hover{border-color:var(--border-strong);color:var(--text)}.neo-mobile-theme-btn{display:none}.neo-main.page{width:100%;max-width:1240px;margin:0 auto;padding:24px 28px 64px}.neo-mobile-nav{display:none}@media(max-width:840px){.neo-shell,.neo-shell.sidebar-collapsed{grid-template-columns:1fr}.neo-sidebar{display:none}.neo-topbar{padding:0 16px}.neo-breadcrumb-root,.neo-breadcrumb-sep{display:none}.neo-mobile-theme-btn{display:inline-flex}.neo-main.page{padding:16px 14px 88px}.neo-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.neo-mobile-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-family:inherit;font-size:.7rem;font-weight:500;cursor:pointer}.neo-mobile-btn.active{color:var(--text);background:var(--accent-soft)}}.neo-bento-section{display:flex;flex-direction:column;gap:16px}.neo-bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.neo-bento-card{display:flex;flex-direction:column;gap:8px;padding:18px 20px}.neo-bento-kicker{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;color:var(--muted)}.neo-bento-row{display:flex;align-items:center;gap:8px}.neo-bento-value{font-size:1.02rem;font-weight:600;color:var(--text)}.neo-bento-sub{margin:0;font-size:.8rem;color:var(--muted)}.neo-search-box{position:relative;width:min(360px,52vw)}.neo-search-input-wrap{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--card-subtle);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.neo-search-input-wrap.focused{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.neo-search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:.83rem}.neo-search-input::placeholder{color:var(--subtle)}.neo-search-clear{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.78rem;padding:2px 4px;border-radius:4px}.neo-search-clear:hover{color:var(--text);background:var(--card-hover)}.neo-search-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:min(460px,calc(100vw - 28px));background:var(--card);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 20px 50px #00000080;z-index:1200;overflow:hidden}.neo-cmd-icon{color:var(--muted);flex-shrink:0}.neo-cmd-list{max-height:360px;overflow-y:auto;padding:8px}.neo-cmd-empty{padding:24px 12px;text-align:center;font-size:.88rem;color:var(--muted)}.neo-cmd-group{margin-bottom:8px}.neo-cmd-group-title{padding:6px 10px 4px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.neo-cmd-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.neo-cmd-item.active,.neo-cmd-item:hover{background:var(--accent-soft)}.neo-cmd-item-text{display:flex;flex-direction:column;min-width:0}.neo-cmd-item-title{font-size:.86rem;font-weight:500;color:var(--text)}.neo-cmd-item-sub{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-cmd-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.neo-cmd-badge{font-family:var(--font-mono);font-size:.7rem;padding:2px 6px;border-radius:5px;background:var(--card-subtle);border:1px solid var(--border);color:var(--muted)}.neo-cmd-arrow{color:var(--muted);opacity:0}.neo-cmd-item.active .neo-cmd-arrow{opacity:1;color:var(--accent)}.neo-cmd-footer{display:flex;align-items:center;gap:16px;padding:8px 14px;border-top:1px solid var(--border);background:var(--card-subtle);font-size:.74rem;color:var(--muted)}.card,.portal-header,.filter-card,.medidor-card,.catalogo-flota-section,.consorcio-form-card,.consorcios-list-card,.ficha-tecnica-wrapper,.maquina-card{background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-card)}.maquina-card:hover{background:var(--card-hover);border-color:var(--border-strong);box-shadow:var(--shadow-card)}.portal-title,.ficha-title,.form-title,.medidor-title,.maquina-name,.modal-title,.consorcio-item-nombre,.metric-value,.gauge-percent{color:var(--text);letter-spacing:-.015em}.section-title,.fieldset-legend{color:var(--muted);font-size:.78rem;letter-spacing:.06em}.agc-code,.protocolo-code,.font-mono,.field-input-agc{font-family:var(--font-mono)}.agc-code{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:6px}[data-theme=dark] .agc-code,[data-theme=dark] .protocolo-code{color:#a5b4fc}.firmante-badge,.read-only-badge,.solo-lectura-pill,.badge-modo-consulta{background:var(--card-subtle);border:1px solid var(--border-strong);color:var(--muted)}.stat-chip,.metric-chip{background:var(--card-subtle);border:1px solid var(--border);color:var(--muted)}.stat-chip strong,.metric-chip strong{color:var(--text);font-family:var(--font-mono)}.stat-chip-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.stat-chip-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.stat-chip-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.stat-chip-authorized{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}[data-theme=dark] .medidor-stats-grid .metric-chip{background:#818cf814;border:1px solid rgba(129,140,248,.55);box-shadow:0 0 16px #818cf829,inset 0 0 12px #818cf80f}[data-theme=dark] .medidor-stats-grid .metric-chip .metric-title{color:#c7d2fe}[data-theme=dark] .medidor-stats-grid .metric-chip .metric-value{color:#fff;text-shadow:0 0 12px rgba(129,140,248,.55)}[data-theme=dark] .medidor-stats-grid .metric-chip small{color:#f4f5f6c7}[data-theme=dark] .medidor-stats-grid .metric-chip-inspeccionadas{background:#22d3ee1c;border-color:#22d3ee;box-shadow:0 0 18px #22d3ee3d,inset 0 0 14px #22d3ee14}[data-theme=dark] .medidor-stats-grid .metric-chip-inspeccionadas .metric-title,[data-theme=dark] .medidor-stats-grid .metric-chip-inspeccionadas .metric-value{color:#22d3ee;text-shadow:0 0 14px rgba(34,211,238,.55)}[data-theme=dark] .medidor-stats-grid .metric-chip-firmadas{background:#00ff881c;border-color:#0f8;box-shadow:0 0 18px #00ff883d,inset 0 0 14px #00ff8814}[data-theme=dark] .medidor-stats-grid .metric-chip-firmadas .metric-title,[data-theme=dark] .medidor-stats-grid .metric-chip-firmadas .metric-value{color:#0f8;text-shadow:0 0 14px rgba(0,255,136,.5)}[data-theme=dark] .medidor-stats-grid .metric-chip-pendientes{background:#facc151c;border-color:#facc15;box-shadow:0 0 18px #facc1538,inset 0 0 14px #facc1514}[data-theme=dark] .medidor-stats-grid .metric-chip-pendientes .metric-title,[data-theme=dark] .medidor-stats-grid .metric-chip-pendientes .metric-value{color:#fde047;text-shadow:0 0 14px rgba(250,204,21,.45)}[data-theme=dark] .medidor-stats-grid .metric-chip-advertencias{background:#ff3b5c21;border-color:#ff3b5c;box-shadow:0 0 18px #ff3b5c42,inset 0 0 14px #ff3b5c17}[data-theme=dark] .medidor-stats-grid .metric-chip-advertencias .metric-title,[data-theme=dark] .medidor-stats-grid .metric-chip-advertencias .metric-value{color:#ff5c77;text-shadow:0 0 14px rgba(255,59,92,.5)}[data-theme=light] .medidor-stats-grid .metric-chip-inspeccionadas{background:#ecfeff;border-color:#06b6d4}[data-theme=light] .medidor-stats-grid .metric-chip-inspeccionadas .metric-title,[data-theme=light] .medidor-stats-grid .metric-chip-inspeccionadas .metric-value{color:#0e7490}[data-theme=light] .medidor-stats-grid .metric-chip-firmadas{background:#dcfce7;border-color:#16a34a}[data-theme=light] .medidor-stats-grid .metric-chip-firmadas .metric-title,[data-theme=light] .medidor-stats-grid .metric-chip-firmadas .metric-value{color:#15803d}[data-theme=light] .medidor-stats-grid .metric-chip-pendientes{background:#fef9c3;border-color:#eab308}[data-theme=light] .medidor-stats-grid .metric-chip-pendientes .metric-title,[data-theme=light] .medidor-stats-grid .metric-chip-pendientes .metric-value{color:#a16207}[data-theme=light] .medidor-stats-grid .metric-chip-advertencias{background:#fee2e2;border-color:#ef4444}[data-theme=light] .medidor-stats-grid .metric-chip-advertencias .metric-title,[data-theme=light] .medidor-stats-grid .metric-chip-advertencias .metric-value{color:#b91c1c}.btn{border-radius:7px;font-weight:500;font-size:.85rem;transition:all .14s ease}.btn-primary{background:var(--accent);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 1px 2px #00000040,inset 0 1px #ffffff24}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--card-subtle);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--card-hover);border-color:var(--muted)}.btn-link{color:var(--accent)}.badge-recorrida,.badge-autorizada{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-pendiente-de-visita{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-advertencia,.badge-danger,.badge-error,.badge-alerta-roja{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-alerta-naranja{background:var(--orange-bg);color:var(--orange);border:1px solid var(--orange-border)}.fieldset-section,.admin-info-box,.audit-section,.photo-card,.signature-card,.loading-box,.empty-box{background:var(--card-subtle);border:1px solid var(--border);color:var(--text)}.loading-box,.empty-box{color:var(--muted)}.field-input,.filter-select,.maquina-grid-row{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:7px}.field-input:focus,.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.consorcio-item-row{background:var(--card-subtle);border:1px solid var(--border);border-radius:8px}.consorcio-item-row:hover{background:var(--card-hover);border-color:var(--border-strong)}.consorcio-item-row.selected{background:var(--accent-soft);border-color:var(--accent-border);box-shadow:none}.flota-table th,.ficha-table th{background:var(--card-subtle);color:var(--muted);border-bottom:1px solid var(--border-strong);font-size:.72rem;letter-spacing:.06em}.flota-table td,.ficha-table td{border-bottom:1px solid var(--border);color:var(--text)}.flota-table tr:hover td,.ficha-table tr:hover td{background:var(--card-hover)}.ficha-meta{border-top:1px solid var(--border);color:var(--subtle)}.secretaria-view~.nav-tabs,.nav-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px}.nav-tabs .tab-btn{border-radius:7px 7px 0 0;color:var(--muted);font-size:.86rem;padding:8px 14px}.nav-tabs .tab-btn:hover{background:var(--card-hover);color:var(--text)}.nav-tabs .tab-btn.active{background:var(--accent-soft);color:var(--text);border-bottom-color:var(--accent)}.gauge-bg{stroke:var(--border-strong)}.progress-track{background:var(--border-strong)}.modal-overlay{background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-container{background:var(--card);border:1px solid var(--border-strong);color:var(--text)}.modal-footer,.photo-header{background:var(--card-subtle);border-color:var(--border)}.photo-preview,.signature-preview{background:var(--bg)}.signature-author{background:var(--card-subtle);border-top:1px solid var(--border);color:var(--muted)}.alert-success,.alerta-notificacion-descarga,.whatsapp-status-badge,.acuse-recibo-legal-box{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.acuse-meta-texto{color:var(--success)}.alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.alert-error,.alerta-notificacion-error,.whatsapp-error-badge,.btn-remove-row{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.alertas-summary-header{background:var(--danger-bg);border:1px solid var(--danger-border);border-left:4px solid var(--danger);border-radius:8px}.alertas-summary-title{color:var(--danger)}.alerta-fuera-de-servicio{background:var(--danger-bg);border:1px solid var(--danger-border);box-shadow:0 0 0 1px var(--danger-border),0 8px 28px #ef444424}@keyframes titilar-rojo-neo{0%,to{border-color:var(--danger-border);box-shadow:0 0 0 1px var(--danger-border),0 4px 18px #ef44441f}50%{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger),0 8px 30px #ef444447}}.alerta-titilante-roja{animation:titilar-rojo-neo 1.8s infinite ease-in-out}.alerta-equipo-titulo,.alerta-ubicacion,.alerta-fecha,.alerta-motivo-label{color:var(--text)}.alerta-motivo-label,.alerta-fecha{color:var(--danger)}.alerta-motivo-box,.cartel-motivo-box,.checklist-urgente-wrapper{background:var(--card);border:1px solid var(--border-strong);border-left:3px solid var(--danger)}.alerta-motivo-texto,.cartel-motivo-texto,.checklist-obs-cell{color:var(--text)}.cartel-reparacion-urgente-gigante{background:var(--orange-bg);border:1px solid var(--orange-border);box-shadow:0 8px 28px #ea580c1f}.cartel-header{border-bottom-color:var(--orange-border)}.cartel-main-title,.cartel-subtitle,.checklist-title,.cartel-motivo-box strong{color:var(--orange)}.cartel-motivo-box{border-left-color:var(--orange)}.checklist-count-tag,.badge-severidad-falla{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange)}.badge-severidad-critico{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.checklist-table th{background:var(--card-subtle);color:var(--orange);border-bottom:1px solid var(--orange-border)}.checklist-table td{border-bottom:1px solid var(--border);color:var(--text)}.falla-toast{background:var(--card);border:1px solid var(--danger-border);border-left:5px solid var(--danger);box-shadow:0 20px 44px #00000073}
