/* Piezas interactivas del portal y de la app del técnico (formularios, fotos, firma, chat). */
.cinta-demo select { font: inherit; font-weight: 600; color: #fff; background: rgba(255, 255, 255, .14); border: 0; border-radius: 999px; padding: 2px 8px; margin-left: 4px; }
.cinta-demo select option { color: var(--tinta); }
.cinta-demo a { color: #bfe9f6; margin-left: 8px; }
.movil-app a.tipo, .movil-app button.tipo, .movil-app label.tipo { color: var(--tinta); text-decoration: none; cursor: pointer; text-align: left; }
.tipo input, .dia input, .franja input { position: absolute; opacity: 0; pointer-events: none; }
.tipo:has(input:checked), .franja:has(input:checked) { border-color: var(--marca); background: var(--marca-claro); box-shadow: 0 0 0 1px var(--marca) inset; }
.tipo.urgente:has(input:checked) { border-color: var(--rojo); background: var(--rojo-f); box-shadow: 0 0 0 1px var(--rojo) inset; }
.dia:has(input:checked) { background: var(--petroleo); border-color: var(--petroleo); color: rgba(255, 255, 255, .8); }
.dia:has(input:checked) b { color: #fff; }
.dia, .franja { position: relative; cursor: pointer; }
textarea.texto-caja { width: 100%; font: inherit; resize: vertical; outline: none; }
textarea.texto-caja:focus { border-color: var(--marca-2); box-shadow: 0 0 0 3px var(--marca-claro); }
.campo-movil { width: 100%; height: 44px; border: 1px solid var(--linea); border-radius: 12px; padding: 0 12px; font: inherit; background: #fff; color: var(--tinta); }
button.mini-btn, label.mini-btn { cursor: pointer; }
.mini-btn.grabando { background: var(--rojo); color: #fff; border-color: var(--rojo); }
.mini-btn.grabando .ic { animation: latido 1.2s ease-in-out infinite; }
.fotos { flex-wrap: wrap; }
.fotos img, .galeria img { width: 74px; height: 74px; object-fit: cover; border-radius: 12px; border: 1px solid var(--linea); display: block; }
.galeria { display: flex; flex-wrap: wrap; gap: 8px; }
.galeria button { padding: 0; border: 0; background: none; cursor: zoom-in; }
.galeria img { width: 96px; height: 96px; }
.foto-grande { width: 100%; border-radius: 12px; display: block; }
.firma-caja { width: 100%; height: 190px; border: 1px dashed #9db8c4; border-radius: 14px; background: #fbfdfe; touch-action: none; display: block; }
.firma-img { max-width: 260px; max-height: 120px; display: block; border: 1px solid var(--linea); border-radius: 10px; background: #fff; margin-top: 6px; }
button.mic { border: 0; cursor: pointer; }
.mic.grabando { background: radial-gradient(circle at 35% 30%, #d4454c, var(--rojo)); box-shadow: 0 0 0 10px rgba(160, 29, 36, .14), 0 10px 22px rgba(160, 29, 36, .35); animation: latido 1.4s ease-in-out infinite; }
.idiomas { display: inline-flex; background: var(--linea-2); border-radius: 999px; padding: 2px; }
.idiomas button { border: 0; background: none; font: 600 12px Poppins, sans-serif; padding: 4px 10px; border-radius: 999px; color: var(--suave); cursor: pointer; }
.idiomas button.activo { background: #fff; color: var(--tinta); box-shadow: 0 1px 2px rgba(0, 0, 0, .1); }
.entendido input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--marca); flex: none; }
.entendido input.mini { width: 64px; height: 32px; }
.chat .vacio { margin: 0; }
.escribir input { flex: 1; height: 40px; border-radius: 999px; border: 1px solid var(--linea); padding: 0 14px; font: inherit; min-width: 0; }
.escribir .btn { flex: none; }
.burbuja.cliente { background: var(--ambar-f); }
.acciones-t button.acc, .acciones-t label.acc { cursor: pointer; color: var(--tinta); }
.acc.activo { background: var(--rojo-f); border-color: #f1c6c9; }
.acc.activo .ic { color: var(--rojo); }
.lista-mov { list-style: none; margin: 0; padding: 0; }
.lista-mov li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--linea-2); font-size: 13.5px; }
.lista-mov li:first-child { border-top: 0; }
.aviso-tarjeta { border-color: #f3dfb8; background: linear-gradient(120deg, #fff, var(--ambar-f)); }
.aviso-tarjeta h2 { color: #6b4300; }
.lo-mio a { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--linea-2); color: var(--tinta); text-decoration: none; }
.lo-mio a:first-of-type { border-top: 0; }
.lo-mio a > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lo-mio .ic { color: var(--marca); }
.estado-c { font-size: 12px; font-weight: 600; color: var(--marca-2); background: var(--marca-claro); padding: 2px 9px; border-radius: 999px; white-space: nowrap; }
.estado-c.ambar { color: var(--ambar); background: var(--ambar-f); }
.estado-c.verde { color: var(--verde); background: var(--verde-f); }
.volver-m { display: inline-flex; align-items: center; gap: 4px; color: rgba(255, 255, 255, .85); font-weight: 500; position: relative; z-index: 1; margin-bottom: 8px; }
.volver-m .ic { width: 16px; height: 16px; }
.banda .tot-alerta { color: #ffd2d4; }
.mapa-link { color: var(--marca-2); }
.menu-abajo a { display: flex; flex-direction: column; align-items: center; gap: 3px; font: 500 11px Poppins, sans-serif; color: var(--suave); position: relative; text-decoration: none; }
.menu-abajo a.activo { color: var(--marca); }
body.latido-datos .cinta-demo::before { animation: latido .9s ease-in-out 1; background: #7ff0b1; }
.oficina-enlaces { display: flex; flex-direction: column; gap: 4px; margin: auto 0 0; position: relative; z-index: 1; }
.oficina-enlaces a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; color: #cfe7ef; font-size: 12.5px; background: rgba(255, 255, 255, .06); }
.oficina-enlaces a:hover { background: rgba(255, 255, 255, .12); text-decoration: none; }
.oficina-enlaces .ic { width: 16px; height: 16px; }
.lateral-pie { margin-top: 8px; }
@media (min-width: 700px) { .movil-app { max-width: 480px; margin: 0 auto; box-shadow: 0 0 0 1px var(--linea); background: var(--fondo); } .pie-fijo, .menu-abajo { max-width: 480px; margin: 0 auto; } }

.lista-mov li > span { min-width: 0; }
.lista-mov li small { display: block; }
.lista-mov .total-m { font: 600 17px Poppins, sans-serif; border-top: 1px solid var(--linea); }
.entendido input.mini { width: 52px; height: 30px; padding: 0 6px; }
