/* ============================================================
   DANGOFE OS · Portal Técnico · «Mi taller» como «Mi mesa» (hoja 2 de la entrega visual)
   Elegido por Karla el 2026-10-13 (técnico = «1 · Mi mesa»): su equipo de ahora en
   grande con el anillo de avance y un solo botón para el siguiente paso; debajo, el
   resto de su mesa, lo que puede tomar y sus números. Va DESPUÉS de portal_tecnico.css.
   Solo aspecto: no cambia ids, clases, data-tal-* ni acciones. Se activa cuando
   portal-mesa.js pone la clase .pm en .pt-wrap.ptx. La ruta y Waze no se tocan.
   ============================================================ */
.pt-wrap.pm {
  --pm-az: 3, 38, 155; --pm-azul: #03269b; --pm-azul-txt: #03269b;
  --pm-verde: 22, 163, 74; --pm-ambar: 217, 119, 6; --pm-morado: 124, 58, 237;
  --pm-suave: rgba(255, 255, 255, .50); --pm-suave2: rgba(255, 255, 255, .72); --pm-borde: rgba(255, 255, 255, .55); --pm-luz: rgba(255, 255, 255, .65); --pm-linea: rgba(10, 22, 51, .08);
  gap: 14px; font-family: var(--font-family-ui, inherit);
}
[data-theme='dark'] .pt-wrap.pm {
  --pm-az: 96, 165, 250; --pm-azul: #2f6df6; --pm-azul-txt: #93c5fd;
  --pm-verde: 74, 222, 128; --pm-ambar: 251, 191, 36; --pm-morado: 167, 139, 250;
  --pm-suave: rgba(255, 255, 255, .07); --pm-suave2: rgba(255, 255, 255, .10); --pm-borde: rgba(255, 255, 255, .10); --pm-luz: rgba(255, 255, 255, .16); --pm-linea: rgba(255, 255, 255, .10);
}

/* ---------- pestañas: cápsulas ---------- */
.pt-wrap.pm .pt-tabs { gap: 4px; padding: 4px; border-radius: 999px; background: var(--pm-suave2); border: 1px solid var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); }
.pt-wrap.pm .pt-tab { min-height: 40px; padding: 6px 10px; border-radius: 999px; background: transparent; border: 0; font-weight: 700; font-size: 13.5px; color: var(--text-secondary); }
.pt-wrap.pm .pt-tab:hover { background: transparent; color: var(--text-primary); }
.pt-wrap.pm .pt-tab.is-on { background: #fff; color: var(--pm-azul-txt); }
[data-theme='dark'] .pt-wrap.pm .pt-tab.is-on { background: rgba(var(--pm-az), .24); color: #fff; box-shadow: inset 0 0 0 1.5px rgba(var(--pm-az), .6); }

/* ---------- saludo y comisión: cristal con la marca ---------- */
.pt-wrap.pm .ptx-hero {
  color: var(--text-primary); padding: 16px; gap: 12px; border-radius: 26px;
  background: rgba(var(--glass-rgb, 255, 255, 255), .55); border: 1px solid var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz);
  -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5);
}
.pt-wrap.pm .ptx-hero::after { display: none; }
.pt-wrap.pm .ptx-avatar { width: 48px; height: 48px; border-radius: 50%; color: #fff; background: var(--pm-azul); box-shadow: none; font-size: 16px; }
.pt-wrap.pm .ptx-hola { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.pt-wrap.pm .ptx-hola__sub { opacity: 1; color: var(--text-secondary); font-size: 14px; }
.pt-wrap.pm .ptx-money__main { border-radius: 18px; padding: 14px 16px; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(135deg, rgba(var(--pm-az), .16), rgba(255, 255, 255, .5)); box-shadow: inset 0 0 0 1px rgba(var(--pm-az), .18); }
[data-theme='dark'] .pt-wrap.pm .ptx-money__main { background: linear-gradient(135deg, rgba(var(--pm-az), .3), rgba(10, 20, 50, .5)); box-shadow: inset 0 0 0 1px rgba(var(--pm-az), .5); }
.pt-wrap.pm .ptx-money__lbl { color: var(--pm-azul-txt); font-size: 11px; letter-spacing: .1em; font-weight: 800; opacity: 1; }
.pt-wrap.pm .ptx-money__val { font-size: 30px; font-weight: 800; text-shadow: none; }
.pt-wrap.pm .ptx-money__sub { opacity: 1; color: var(--text-secondary); font-size: 12.5px; }
.pt-wrap.pm .ptx-money__mini { border-radius: 16px; border: 0; background: var(--pm-suave); }
.pt-wrap.pm .ptx-money__mini.is-debe { background: linear-gradient(135deg, rgba(var(--pm-ambar), .16), rgba(255, 255, 255, .4)); box-shadow: inset 0 0 0 1px rgba(var(--pm-ambar), .2); }
[data-theme='dark'] .pt-wrap.pm .ptx-money__mini.is-debe { background: linear-gradient(135deg, rgba(var(--pm-ambar), .28), rgba(10, 20, 50, .5)); }
.pt-wrap.pm .ptx-money__mini span { opacity: 1; color: var(--text-secondary); font-size: 11.5px; font-weight: 700; }
.pt-wrap.pm .ptx-money__mini b { font-size: 17px; }
.pt-wrap.pm .ptx-money__mini small { opacity: 1; color: var(--text-secondary); }

/* ---------- accesos rápidos: losetas con su color ---------- */
.pt-wrap.pm .ptx-accs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pt-wrap.pm .ptx-acc { flex-direction: column; justify-content: center; text-align: center; gap: 6px; min-height: 0; padding: 10px 6px 9px; border-radius: 18px; font-size: 12.5px; background: var(--pm-suave2); border: 1px solid var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); -webkit-backdrop-filter: none; backdrop-filter: none; transition: transform .5s cubic-bezier(.34, 1.45, .64, 1); }
.pt-wrap.pm .ptx-acc:hover { transform: none; box-shadow: inset 0 1px 0 var(--pm-luz); }
.pt-wrap.pm .ptx-acc:active { transform: scale(.94); transition-duration: .12s; }
.pt-wrap.pm .ptx-acc__ic { width: 40px; height: 40px; border-radius: 13px; background: rgba(var(--pm-az), .12); color: var(--pm-azul-txt); }
.pt-wrap.pm .ptx-acc:nth-child(2) .ptx-acc__ic { background: rgba(var(--pm-morado), .14); color: rgb(var(--pm-morado)); }
.pt-wrap.pm .ptx-acc:nth-child(3) .ptx-acc__ic { background: rgba(var(--pm-verde), .14); color: rgb(var(--pm-verde)); }
.pt-wrap.pm .ptx-acc:nth-child(4) .ptx-acc__ic { background: rgba(var(--pm-ambar), .14); color: rgb(var(--pm-ambar)); }
.pt-wrap.pm .ptx-acc--pri { color: var(--text-primary); background: var(--pm-suave2); border-color: var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); }
.pt-wrap.pm .ptx-acc--pri .ptx-acc__ic { background: var(--pm-azul); color: #fff; }
.pt-wrap.pm .ptx-acc.is-on, .pt-wrap.pm .ptx-acc--pri.is-on { box-shadow: inset 0 0 0 2px rgba(var(--pm-az), .5); }
.pt-wrap.pm .ptx-acc__t { line-height: 1.15; }

/* ---------- rótulos de sección ---------- */
.pt-wrap.pm .ptx-sec__tit { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--text-primary); opacity: .74; margin: 4px 4px 8px; }
.pt-wrap.pm .ptx-sec__tit svg { width: 14px; height: 14px; }
.pt-wrap.pm .ptx-sec__tit small { font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--pm-azul-txt); opacity: 1; font-weight: 700; }

/* ---------- mi mesa: los equipos ---------- */
.pt-wrap.pm .ptx-cola__lista { display: flex; flex-direction: column; gap: 8px; }
.pt-wrap.pm .ptx-eq {
  position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr);
  grid-template-areas: "ojal ojal" "aro top" "aro equipo" "aro cli" "diag diag" "din din" "pie pie" "acc acc";
  gap: 2px 12px; align-items: center; padding: 12px 14px; border-radius: 20px;
  background: var(--pm-suave); border: 1px solid transparent; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.pt-wrap.pm .ptx-eq--pend, .pt-wrap.pm .ptx-eq--porfac, .pt-wrap.pm .ptx-eq--fact { border-top-color: transparent; }
.pt-wrap.pm .ptx-eq > .pm-ojal { grid-area: ojal; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--pm-azul-txt); margin-bottom: 4px; }
.pt-wrap.pm .ptx-eq > .pm-aro { grid-area: aro; align-self: start; margin-top: 2px; }
.pt-wrap.pm .ptx-eq__top { grid-area: top; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }
.pt-wrap.pm .ptx-eq__equipo { grid-area: equipo; font-size: 15px; font-weight: 800; }
.pt-wrap.pm .ptx-eq__equipo svg { color: var(--pm-azul-txt); }
.pt-wrap.pm .ptx-eq__cli { grid-area: cli; opacity: 1; color: var(--text-secondary); font-size: 13px; }
.pt-wrap.pm .ptx-eq__diag { grid-area: diag; margin-top: 6px; }
.pt-wrap.pm .ptx-prog { display: none; }
.pt-wrap.pm .ptx-din { grid-area: din; margin-top: 6px; border-radius: 14px; font-size: 13px; }
.pt-wrap.pm .ptx-eq__pie { grid-area: pie; margin-top: 4px; }
.pt-wrap.pm .ptx-eq__acc { grid-area: acc; margin-top: 6px; }
.pt-wrap.pm .ptx-eq__num { font-family: inherit; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; color: var(--pm-azul-txt); opacity: 1; }
.pt-wrap.pm .ptx-vip { border-radius: 999px; }
.pt-wrap.pm .pt-estado { border-radius: 999px; font-weight: 700; font-size: 11.5px; }
.pt-wrap.pm .ptx-espera { font-weight: 700; color: rgb(var(--pm-ambar)); opacity: 1; }
.pt-wrap.pm .ptx-link { border-radius: 999px; padding: 6px 12px; background: rgba(var(--pm-az), .1); color: var(--pm-azul-txt); }
.pt-wrap.pm .ptx-dias { font-weight: 600; }
/* el primero de la mesa: tu equipo ahora, en grande */
.pt-wrap.pm .ptx-eq.pm-ahora {
  grid-template-columns: 112px minmax(0, 1fr); gap: 4px 16px; padding: 16px; border-radius: 26px;
  background: rgba(var(--glass-rgb, 255, 255, 255), .6); border: 1px solid var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz);
  -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5);
}
.pt-wrap.pm .ptx-eq.pm-ahora .ptx-eq__equipo { font-size: 20px; letter-spacing: -.02em; line-height: 1.15; }
.pt-wrap.pm .ptx-eq.pm-ahora .ptx-eq__cli { font-size: 13.5px; }
.pt-wrap.pm .ptx-eq.pm-ahora .ptx-eq__acc .ptx-btn { min-height: 52px; font-size: 16px; }
.pt-wrap.pm .ptx-eq.pm-ahora .ptx-espera { padding: 12px 14px; border-radius: 16px; background: rgba(var(--pm-ambar), .12); width: 100%; justify-content: center; }
/* el anillo (lo pone portal-mesa.js a partir de la barra de avance) */
.pm-aro { position: relative; width: 44px; height: 44px; flex: none; }
.pm-aro svg { width: 100%; height: 100%; transform: rotate(-90deg); display: block; }
.pm-aro circle { fill: none; stroke-width: 3.6; stroke-linecap: round; }
.pm-aro .f { stroke: var(--pm-linea); }
.pm-aro .v { stroke: var(--pm-azul); stroke-dasharray: 132; transition: stroke-dashoffset 1s cubic-bezier(.2, .9, .25, 1); }
[data-theme='dark'] .pm-aro .v { stroke: rgb(var(--pm-az)); }
.pm-aro.is-ok .v { stroke: rgb(var(--pm-verde)); }
.pm-aro.is-amb .v { stroke: rgb(var(--pm-ambar)); }
.pm-aro b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ptx-eq.pm-ahora .pm-aro { width: 112px; height: 112px; }
.ptx-eq.pm-ahora .pm-aro circle { stroke-width: 6; }
.ptx-eq.pm-ahora .pm-aro b { font-size: 26px; letter-spacing: -.02em; }

/* ---------- botones: cápsulas ---------- */
.pt-wrap.pm .ptx-btn { border-radius: 999px; min-height: 42px; padding: 8px 16px; font-size: 14px; background: var(--pm-suave2); border: 1px solid var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); transition: transform .5s cubic-bezier(.34, 1.45, .64, 1); }
.pt-wrap.pm .ptx-btn:active { transform: scale(.96); transition-duration: .12s; }
.pt-wrap.pm .ptx-btn--pri { color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 55%), var(--pm-azul); border-color: transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .12); }
.pt-wrap.pm .ptx-btn--lg { min-height: 50px; font-size: 15.5px; }
.pt-wrap.pm .ptx-chip { font-weight: 700; background: var(--pm-suave2); border-color: var(--pm-borde); }
.pt-wrap.pm .ptx-chip.is-on { background: var(--pm-azul); border-color: var(--pm-azul); }
.pt-wrap.pm .ptx-x { border-radius: 50%; background: var(--pm-suave2); border-color: var(--pm-borde); }

/* ---------- indicadores: mini tarjetas de color ---------- */
.pt-wrap.pm .ptx-kpis { gap: 8px; }
.pt-wrap.pm .ptx-kpi { --k: var(--pm-az); align-items: flex-start; text-align: left; gap: 3px; padding: 12px 14px; border-radius: 18px; border: 0; background: linear-gradient(135deg, rgba(var(--k), .18), rgba(255, 255, 255, .55)); box-shadow: inset 0 0 0 1px rgba(var(--k), .2); }
[data-theme='dark'] .pt-wrap.pm .ptx-kpi { background: linear-gradient(135deg, rgba(var(--k), .32), rgba(10, 20, 50, .55)); box-shadow: inset 0 0 0 1.5px rgba(var(--k), .5); }
.pt-wrap.pm .ptx-kpi--listo { --k: var(--pm-verde); }
.pt-wrap.pm .ptx-kpi--mes { --k: var(--pm-morado); }
.pt-wrap.pm .ptx-kpi b, [data-theme='dark'] .pt-wrap.pm .ptx-kpi--cola b { font-size: 28px; font-weight: 800; color: var(--text-primary); letter-spacing: -.03em; }
.pt-wrap.pm .ptx-kpi span { opacity: 1; color: var(--text-secondary); font-size: 12px; font-weight: 600; }

/* ---------- equipos sin técnico: para tomar ---------- */
.pt-wrap.pm .ptx-libres { padding: 14px; border-radius: 24px; background: rgba(var(--pm-ambar), .08); border: 1px solid rgba(var(--pm-ambar), .25); }
.pt-wrap.pm .ptx-libres .ptx-sec__tit { color: rgb(var(--pm-ambar)); opacity: 1; }
.pt-wrap.pm .ptx-libres .ptx-nota { opacity: 1; color: var(--text-secondary); font-size: 13px; }
.pt-wrap.pm .ptx-libres__lista { display: flex; flex-direction: column; gap: 8px; }
.pt-wrap.pm .ptx-libre { border-radius: 18px; background: var(--pm-suave2); border: 1px solid var(--pm-borde); }

/* ---------- tarjetas de formulario, vehículo, calendario, tarifas ---------- */
.pt-wrap.pm .ptx-card { border-radius: 24px; border-color: var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); }
.pt-wrap.pm .ptx-card__head h3 { font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.pt-wrap.pm .ptx-tarifas, .pt-wrap.pm .ptx-vehhoy, .pt-wrap.pm #ptx-cal { border-radius: 24px; border-color: var(--pm-borde); box-shadow: inset 0 1px 0 var(--pm-luz); }
.pt-wrap.pm .ptx-tarifa { border-radius: 16px; border: 0; box-shadow: inset 0 0 0 1px rgba(var(--pm-verde), .25); }
.pt-wrap.pm .ptx-field span { opacity: 1; color: var(--text-secondary); font-size: 12.5px; font-weight: 700; padding-left: 4px; }
.pt-wrap.pm .ptx-field input, .pt-wrap.pm .ptx-field textarea, .pt-wrap.pm .ptx-field select { border-radius: 14px; background: var(--pm-suave2); border-color: var(--pm-borde); }
.pt-wrap.pm .ptx-paso__n { background: var(--pm-azul); }
.pt-wrap.pm .ptx-res { border-radius: 16px; }
.pt-wrap.pm .ptx-fotos { border-radius: 18px; }
.pt-wrap.pm .ptx-nota { opacity: 1; color: var(--text-secondary); }
.pt-wrap.pm .ptx-vacio { border-radius: 20px; }

/* ---------- teléfono ---------- */
@media (max-width: 560px) {
  .pt-wrap.pm .ptx-hero { padding: 14px; border-radius: 24px; }
  .pt-wrap.pm .ptx-hola { font-size: 23px; }
  .pt-wrap.pm .ptx-money__val { font-size: 26px; }
  .pt-wrap.pm .ptx-accs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pt-wrap.pm .ptx-acc--pri { grid-column: auto; }
  .pt-wrap.pm .ptx-acc { font-size: 11.5px; padding: 9px 4px 8px; }
  .pt-wrap.pm .ptx-eq.pm-ahora { grid-template-columns: 96px minmax(0, 1fr); }
  .ptx-eq.pm-ahora .pm-aro { width: 96px; height: 96px; }
  .ptx-eq.pm-ahora .pm-aro b { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-wrap.pm .ptx-btn, .pt-wrap.pm .ptx-acc, .pm-aro .v { transition: none; }
}

/* ---------- lo que portal_tecnico.js meta dentro de la tarjeta (p. ej. «¿Qué usaste en este equipo?» #ptx-usado)
   ocupa las dos columnas y va al final (fila 9: después de los botones), no en la fila libre del ojal ---------- */
/* DANGOFE-mesa-497 (T128): el contador de días y la fila «Sigue» de portal-mesa-tarjetas.css tienen su propia celda; no van a todo el ancho. */
.pt-wrap.pm .ptx-eq > :not(.pm-aro):not(.pm-ojal):not(.ptx-prog):not(.ptx-eq__top):not(.ptx-eq__equipo):not(.ptx-eq__cli):not(.ptx-eq__diag):not(.ptx-din):not(.ptx-eq__pie):not(.ptx-eq__acc):not(.ptx-eq__cuenta):not(.ptx-eq__sigue) { grid-column: 1 / -1; grid-row: 9; min-width: 0; }
.pt-wrap.pm .ptx-eq > .ptx-usado { margin-top: 8px; }
.pt-wrap.pm .ptx-usado { border-radius: 18px; }

/* ============================================================
   DANGOFE-taller-T47 · «SIGUE PARA REPARAR» como aviso interactivo y llamativo, con 3D (.pm-faro)
   Karla: «grande no, un aviso interactivo y llamativo con algo 3D bonito y futurista que motive al técnico».
   Lo arma portal-mesa.js a partir de la tarjeta data-sigue="1". Tres versiones por data-pm-faro en .pt-wrap.ptx:
   A · Holograma (cubo de cristal que gira) · B · Moneda (se voltea sola y se inclina con el dedo) · C · Cinta (el texto se voltea).
   Compacto (una franja de ~66 px), borde de luz que recorre, sin sombras; «Noche azul» por [data-theme='dark'].
   ============================================================ */
.pm .pm-faro { --pm-faro-bg: rgba(255, 255, 255, .74); --pm-faro-txt: #0b1540; --pm-faro-txt2: #4a5680; --pm-faro-rot: #0b3dd6; --pm-faro-animo: #15803d;
  position: relative; margin: 0 0 12px; border-radius: 20px; perspective: 900px; animation: pm-faro-entra .7s cubic-bezier(.2, .9, .25, 1) both; }
.pm .pm-faro + .ptx-sigue { display: none; }
.pm .pm-faro__cuerpo {
  position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr) 28px; gap: 10px; align-items: center; width: 100%; min-height: 66px;
  padding: 8px 10px; border: 1.5px solid transparent; border-radius: 20px; color: var(--pm-faro-txt); font: inherit; text-align: left; cursor: pointer;
  background: linear-gradient(var(--pm-faro-bg), var(--pm-faro-bg)) padding-box, linear-gradient(120deg, #03269b, #22d3ee, #a78bfa, #3b82f6, #03269b) border-box;
  background-size: 100% 100%, 300% 100%; animation: pm-faro-borde 7s linear infinite;
  -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5);
  transform-style: preserve-3d; transition: transform .22s ease; -webkit-tap-highlight-color: transparent; overflow: hidden;
}
.pm .pm-faro__cuerpo:active { transform: scale(.985); }
.pm .pm-faro__luz { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .42) 50%, transparent 62%); background-size: 260% 100%; animation: pm-faro-barrido 4.5s linear infinite; }
.pm .pm-faro__txt { position: relative; z-index: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.pm .pm-faro__rot { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pm-faro-rot); white-space: nowrap; overflow: hidden; }
.pm .pm-faro__rot i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #22d3ee; box-shadow: 0 0 0 0 rgba(34, 211, 238, .8); animation: pm-faro-late 1.6s ease-out infinite; }
.pm .pm-faro__rot em, .pm .pm-faro__sub em { font-style: normal; font-weight: 800; color: var(--pm-faro-animo); letter-spacing: 0; text-transform: none; }
.pm .pm-faro__eq { display: block; font-size: 15.5px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm .pm-faro__sub { display: block; font-size: 12px; line-height: 1.3; color: var(--pm-faro-txt2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm .pm-faro__chev { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #03269b, #3b82f6); animation: pm-faro-rebota 1.4s ease-in-out infinite; }
.pm .pm-faro__chev svg { width: 15px; height: 15px; }
.pm .pm-faro__3d { position: relative; z-index: 1; width: 52px; height: 52px; display: grid; place-items: center; }
/* el equipo se ilumina al llegar desde el aviso */
.pm .ptx-cola .ptx-eq { scroll-margin-top: 96px; }
.pm .ptx-cola .ptx-eq.pm-brilla { animation: pm-brilla 1.9s ease-out both; }
/* cuando no hay nada que reparar: sereno, sin 3D */
.pm .pm-faro--nada .pm-faro__cuerpo { grid-template-columns: 24px minmax(0, 1fr); cursor: default; animation: none; background: var(--pm-faro-bg); border-color: rgba(3, 38, 155, .12); }
.pm .pm-faro--nada .pm-faro__cuerpo > svg { width: 22px; height: 22px; color: var(--pm-faro-txt2); }
.pm .pm-faro--nada .pm-faro__eq { font-size: 14.5px; white-space: normal; }
.pm .pm-faro--nada .pm-faro__sub { white-space: normal; }

/* ---------- A · Holograma: cubo de cristal que gira ---------- */
.pm .pm-cubo { transform-style: preserve-3d; animation: pm-cubo 9s linear infinite; }
.pm .pm-faro__cuerpo:active .pm-cubo, .pm .pm-faro__cuerpo:hover .pm-cubo { animation-duration: 2.5s; }
.pm .pm-cubo i { position: absolute; left: 11px; top: 11px; width: 30px; height: 30px; border-radius: 6px; border: 1.5px solid rgba(255, 255, 255, .95); background: linear-gradient(135deg, rgba(59, 130, 246, .62), rgba(34, 211, 238, .34)); }
.pm .pm-cubo i:nth-child(1) { transform: translateZ(15px); }
.pm .pm-cubo i:nth-child(2) { transform: rotateY(90deg) translateZ(15px); }
.pm .pm-cubo i:nth-child(3) { transform: rotateY(180deg) translateZ(15px); }
.pm .pm-cubo i:nth-child(4) { transform: rotateY(-90deg) translateZ(15px); }
.pm .pm-cubo i:nth-child(5) { transform: rotateX(90deg) translateZ(15px); background: linear-gradient(135deg, rgba(167, 139, 250, .6), rgba(59, 130, 246, .4)); }
.pm .pm-cubo i:nth-child(6) { transform: rotateX(-90deg) translateZ(15px); background: linear-gradient(135deg, rgba(3, 38, 155, .7), rgba(34, 211, 238, .4)); }

/* ---------- B · Moneda: se voltea sola y se inclina con el dedo ---------- */
.pm .pm-faro--B .pm-faro__cuerpo { --pm-faro-bg: rgba(255, 255, 255, .8); transition: transform .15s ease; }
.pm .pm-moneda { width: 48px; height: 48px; transform-style: preserve-3d; animation: pm-moneda 7s ease-in-out infinite; }
.pm .pm-moneda__cara { position: absolute; inset: 0; border-radius: 50%; display: grid; place-items: center; -webkit-backface-visibility: hidden; backface-visibility: hidden; border: 1.5px solid rgba(59, 130, 246, .5); background: radial-gradient(circle at 35% 30%, #ffffff, #dbeafe 70%, #bfdbfe); }
.pm .pm-moneda__cara--a svg { position: absolute; inset: 3px; width: auto; height: auto; transform: rotate(-90deg); }
.pm .pm-moneda__cara--a .f { fill: none; stroke: rgba(3, 38, 155, .14); stroke-width: 3; }
.pm .pm-moneda__cara--a .v { fill: none; stroke: #03269b; stroke-width: 3; stroke-linecap: round; }
.pm .pm-moneda__cara--a b { position: relative; font-size: 11.5px; font-weight: 800; color: #03269b; }
.pm .pm-moneda__cara--b { transform: rotateY(180deg); color: #fff; background: linear-gradient(135deg, #03269b, #3b82f6 60%, #22d3ee); }
.pm .pm-moneda__cara--b svg { width: 22px; height: 22px; }

/* ---------- C · Cinta: franja oscura futurista, el texto se voltea ---------- */
.pm .pm-faro--C .pm-faro__cuerpo { --pm-faro-bg: rgba(11, 21, 64, .88); --pm-faro-txt: #fff; --pm-faro-txt2: #c7d7ff; --pm-faro-rot: #7dd3fc; --pm-faro-animo: #86efac; grid-template-columns: 40px minmax(0, 1fr) 28px; min-height: 62px; }
.pm .pm-faro--C .pm-faro__cuerpo::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, #22d3ee, #a78bfa, #22d3ee, transparent); background-size: 200% 100%; animation: pm-faro-barrido 3s linear infinite; }
.pm .pm-faro--C .pm-faro__luz { opacity: .5; }
.pm .pm-anillo { width: 40px; height: 40px; }
.pm .pm-anillo svg { position: absolute; inset: 0; width: 40px; height: 40px; transform: rotate(-90deg); }
.pm .pm-anillo .f { fill: none; stroke: rgba(255, 255, 255, .2); stroke-width: 3; }
.pm .pm-anillo .v { fill: none; stroke: #22d3ee; stroke-width: 3; stroke-linecap: round; }
.pm .pm-anillo b { position: relative; font-size: 10.5px; font-weight: 800; }
.pm .pm-flip { display: block; position: relative; height: 40px; transform-style: preserve-3d; animation: pm-flip 8s cubic-bezier(.45, 0, .2, 1) infinite; }
.pm .pm-flip__a, .pm .pm-flip__b { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 1px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.pm .pm-flip__b { transform: rotateX(180deg); }
.pm .pm-faro--C .pm-faro__chev { background: linear-gradient(135deg, #22d3ee, #3b82f6); color: #061030; }

/* ---------- Noche azul ---------- */
[data-theme='dark'] .pm .pm-faro { --pm-faro-bg: rgba(14, 24, 66, .74); --pm-faro-txt: #f2f5fb; --pm-faro-txt2: #a9b4c9; --pm-faro-rot: #7dd3fc; --pm-faro-animo: #86efac; }
[data-theme='dark'] .pm .pm-faro--B .pm-faro__cuerpo { --pm-faro-bg: rgba(18, 30, 78, .8); }
[data-theme='dark'] .pm .pm-cubo i { border-color: rgba(147, 197, 253, .9); background: linear-gradient(135deg, rgba(59, 130, 246, .7), rgba(34, 211, 238, .4)); }
[data-theme='dark'] .pm .pm-moneda__cara { border-color: rgba(147, 197, 253, .6); background: radial-gradient(circle at 35% 30%, #1e3a8a, #0b1540 75%); }
[data-theme='dark'] .pm .pm-moneda__cara--a .f { stroke: rgba(147, 197, 253, .2); }
[data-theme='dark'] .pm .pm-moneda__cara--a .v { stroke: #7dd3fc; }
[data-theme='dark'] .pm .pm-moneda__cara--a b { color: #e0f2fe; }
[data-theme='dark'] .pm .pm-faro--nada .pm-faro__cuerpo { border-color: rgba(120, 150, 255, .22); }

/* ---------- movimiento ---------- */
@keyframes pm-faro-entra { from { opacity: 0; transform: translateY(-8px) rotateX(18deg); } }
@keyframes pm-faro-borde { to { background-position: 0 0, 300% 0; } }
@keyframes pm-faro-barrido { from { background-position: 130% 0; } to { background-position: -130% 0; } }
@keyframes pm-faro-late { 70% { box-shadow: 0 0 0 6px rgba(34, 211, 238, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 211, 238, 0); } }
@keyframes pm-faro-rebota { 50% { transform: translateX(3px); } }
@keyframes pm-cubo { from { transform: rotateX(-22deg) rotateY(0); } to { transform: rotateX(-22deg) rotateY(360deg); } }
@keyframes pm-moneda { 0%, 38% { transform: rotateY(0); } 50%, 88% { transform: rotateY(180deg); } 100% { transform: rotateY(360deg); } }
@keyframes pm-flip { 0%, 42% { transform: rotateX(0); } 50%, 92% { transform: rotateX(180deg); } 100% { transform: rotateX(360deg); } }
@keyframes pm-brilla { 0% { outline: 3px solid rgba(59, 130, 246, 0); outline-offset: 3px; } 15% { outline-color: rgba(59, 130, 246, .95); } 100% { outline: 3px solid rgba(59, 130, 246, 0); outline-offset: 3px; } }
@media (prefers-reduced-motion: reduce) { .pm .pm-faro, .pm .pm-faro__cuerpo, .pm .pm-faro__luz, .pm .pm-faro__rot i, .pm .pm-faro__chev, .pm .pm-cubo, .pm .pm-moneda, .pm .pm-flip, .pm .pm-faro--C .pm-faro__cuerpo::after { animation: none; } }
@media (max-width: 420px) { .pm .pm-faro__eq { font-size: 14.5px; } }
