/* Islagenda · app «Mi local» (toques; repaso 375 px; avisos al móvil; fotos; fase 9: informes y Mi plan; fase 8: equipo; fase 7: IslaCoins; fase 6: caja; fase 5: recordatorios; fase 4: mudanza; fase 3: ficha del cliente; agenda por profesional y semana, barra inferior, Hoy, Clientes, Más y sin conexión) sobre el estilo v3.8 del panel del dueño (se carga después de app.v32.css y crear.v38.css) */
.panel{--ml-borde:rgba(11,60,93,.08)}
.panel .barra{background:linear-gradient(180deg,#0B3C5D 0%,#08314D 100%);box-shadow:0 6px 24px -14px rgba(8,49,77,.7)}
.panel .barra .dentro{padding:12px 16px;gap:12px}
.panel .nom-local{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:0}
.panel .nom-local span{font:600 17px/1.2 Poppins,Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.panel .nom-local small{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#B9D3E2;font-weight:500}
.ml-punto{width:7px;height:7px;border-radius:50%;background:#9AB3C3;display:inline-block}
.ml-punto.on{background:#3FCBBE;box-shadow:0 0 0 3px rgba(63,203,190,.25)}
.ml-verweb{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);min-height:40px;padding:8px 14px;border-radius:999px;font-size:14px;gap:6px}
.ml-verweb:hover{background:rgba(255,255,255,.2)}
.ml-verweb svg{width:16px;height:16px}
.panel .pestanas{padding:0 12px 10px;gap:6px}
.panel .pestanas button{min-height:40px;padding:9px 16px;border-radius:999px;border-bottom:0;color:#CFE0EA;transition:background .2s ease,color .2s ease}
.panel .pestanas button:hover{background:rgba(255,255,255,.08);color:#fff}
.panel .pestanas button[aria-selected=true]{background:#fff;color:var(--navy);font-weight:600}
.panel .franja-prueba{background:linear-gradient(90deg,#FFF4D6,#FDEBD0);border-bottom:1px solid #F3DDAE;font-size:14px}
.panel .contenido{padding:24px 16px 96px}
.panel .cab-seccion{margin-bottom:18px}
.panel .cab-seccion h2{font:700 clamp(22px,4vw,28px)/1.15 Poppins,Inter,sans-serif;color:var(--navy);letter-spacing:-.01em}
.panel .cab-seccion .btn{width:auto;min-height:44px;border-radius:999px}
.panel .caja{border:1px solid var(--ml-borde);border-radius:20px;box-shadow:0 1px 2px rgba(8,49,77,.05),0 14px 34px -24px rgba(8,49,77,.35)}
.panel .caja h3{font:600 18px/1.25 Poppins,Inter,sans-serif;color:var(--navy)}
.panel .cita{border:1px solid var(--ml-borde);border-radius:16px;padding:14px 16px;transition:transform .18s ease,box-shadow .18s ease}
.panel .cita:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(8,49,77,.05),0 16px 30px -22px rgba(8,49,77,.4)}
.panel .cita .h{font-size:19px;background:var(--sand-3);border-radius:12px;padding:10px 0;text-align:center}
.panel .selector-dia button{transition:background .2s ease}
.panel .selector-dia button:hover{background:var(--sand-3)}
/* Resumen del día */
.ml-resumen{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.ml-kpi{background:#fff;border:1px solid var(--ml-borde);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 2px rgba(8,49,77,.04)}
.ml-kpi b{font:700 26px/1 Poppins,Inter,sans-serif;color:var(--navy);font-variant-numeric:tabular-nums}
.ml-kpi span{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-kpi-prox{background:linear-gradient(135deg,#0B3C5D,#0F4568);border-color:transparent}
.ml-kpi-prox b{color:#fff}.ml-kpi-prox span{color:#CFE0EA}
@media (max-width:700px){.ml-resumen{grid-template-columns:1fr 1fr}.ml-kpi b{font-size:22px}.panel .nom-local span{max-width:38vw}.ml-verweb{padding:8px 10px}}
/* Día vacío */
.ml-vacio{background:#fff;border:1px dashed #D9CBB3;border-radius:20px;padding:28px 20px;text-align:center;display:grid;justify-items:center;gap:6px}
.ml-vacio-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--sand-3);color:var(--teal-ink)}
.ml-vacio-ic svg{width:24px;height:24px}
.ml-vacio b{font:600 17px/1.3 Poppins,Inter,sans-serif;color:var(--navy)}
.ml-vacio-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.ml-vacio-acc .btn{width:auto;min-height:44px}
/* Diseño de la web */
.ml-diseno{margin-bottom:14px}
.ml-dis-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ml-dis-cab .vacio{margin:0}
@media (prefers-reduced-motion:reduce){.panel .cita,.panel .pestanas button{transition:none}.panel .cita:hover{transform:none}}
@media print{.ml-resumen,.ml-diseno,.ml-verweb{display:none!important}}
.panel .barra .dentro{flex-wrap:nowrap}
.panel .barra .btn-texto{flex:0 0 auto;padding:8px 4px;min-height:40px}
@media (max-width:480px){.panel .barra .dentro{gap:8px;padding:10px 12px}.ml-verweb{font-size:13px;padding:7px 10px}.ml-verweb svg{display:none}.panel .nom-local span{font-size:15px;max-width:34vw}}

/* ═══════ v5.8 · App «Mi local» ═══════ */
body.ml-app{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
.ml-app .barra{padding-top:env(safe-area-inset-top)}
.ml-app .barra .dentro{min-height:56px}
.ml-app .contenido{max-width:760px;margin:0 auto;padding:18px 16px calc(112px + env(safe-area-inset-bottom))}
.ml-app .toast{bottom:calc(92px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);text-align:center}
.ml-app .cab-seccion h2{min-width:0;overflow-wrap:anywhere}
/* Sin conexión */
.ml-sinred{display:flex;align-items:center;justify-content:center;gap:8px;background:#FFF4D6;color:#6B4A00;border-bottom:1px solid #F3DDAE;padding:8px 16px;font:600 14px/1.3 Inter,Arial,sans-serif}
.ml-sinred[hidden]{display:none}
.ml-sinred svg{width:18px;height:18px;flex:0 0 auto}
/* Barra inferior */
.ml-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid rgba(11,60,93,.1);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -22px rgba(8,49,77,.45)}
.ml-nav-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border:0;background:none;color:#5D6B78;font:600 12px/1 Inter,Arial,sans-serif;cursor:pointer;border-radius:14px;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.ml-nav-b svg{width:24px;height:24px;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.ml-nav-b[aria-current=page]{color:var(--navy)}
.ml-nav-b[aria-current=page] svg{stroke-width:2.4}
.ml-nav-b[aria-current=page] span{position:relative}
.ml-nav-b[aria-current=page] span::after{content:'';position:absolute;left:50%;bottom:-7px;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--coral-ink)}
.ml-nav-b:active svg{transform:scale(.9)}
.ml-nav-mas{justify-self:center;width:58px;height:58px;margin-bottom:4px;transform:translateY(-14px);border:0;border-radius:50%;display:grid;place-items:center;background:var(--coral-ink);color:#fff;box-shadow:0 0 0 5px var(--sand-3),0 12px 24px -8px rgba(201,58,28,.7);cursor:pointer;touch-action:manipulation;transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.ml-nav-mas svg{width:28px;height:28px;stroke-width:2.4}
.ml-nav-mas:active{transform:translateY(-14px) scale(.93)}
@media (min-width:900px){
  .ml-nav{left:50%;right:auto;bottom:16px;width:520px;margin-left:-260px;border:1px solid rgba(11,60,93,.1);border-radius:24px;padding:6px 8px}
  .ml-app .contenido{padding-bottom:130px}
}
/* Hoja «+» */
dialog.ml-hoja{margin:auto auto 0;max-width:560px;width:100%;border-radius:24px 24px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom))}
dialog.ml-hoja[open]{animation:ml-sube .26s cubic-bezier(.2,.8,.2,1)}
@keyframes ml-sube{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (min-width:900px){dialog.ml-hoja{margin:auto;border-radius:24px}}
.ml-hoja-asa{width:40px;height:5px;border-radius:3px;background:#D9D2C5;margin:0 auto 12px}
.ml-hoja h2{font-size:20px;margin:0 0 10px 4px}
.ml-hoja-lista{display:grid;gap:8px}
.ml-hoja-op{display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:64px;padding:10px 12px;border:1px solid var(--ml-borde,rgba(11,60,93,.08));border-radius:16px;background:#fff;color:var(--ink);cursor:pointer;font:inherit}
.ml-hoja-op:hover:not(:disabled){border-color:var(--navy)}
.ml-hoja-op:disabled{cursor:not-allowed;opacity:.6}
.ml-hoja-op b{display:block;font:600 16px/1.3 Inter,Arial,sans-serif;color:var(--navy)}
.ml-hoja-op small{display:block;font-size:13px;color:var(--muted);line-height:1.35}
.ml-hoja-ic{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sand-3);color:var(--navy)}
.ml-hoja-ic svg{width:22px;height:22px}
.ml-hoja .etiqueta{margin-left:4px}
/* Filas de lista (Más, Tareas) */
.ml-grupo{display:grid;gap:0;background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:18px;overflow:hidden;margin-bottom:16px}
.ml-grupo>h3{font:700 12px/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 16px 6px}
.ml-fila{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;border:0;border-top:1px solid rgba(11,60,93,.06);background:#fff;color:var(--ink);text-align:left;font:inherit;text-decoration:none;cursor:pointer}
.ml-grupo>h3+.ml-fila,.ml-grupo>.ml-fila:first-child{border-top:0}
.ml-fila:hover{background:var(--sand-3)}
.ml-fila>svg{width:18px;height:18px;color:#9AA6B1;flex:0 0 auto}
.ml-fila-ic{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sand-3);color:var(--navy)}
.ml-fila-ic svg{width:20px;height:20px}
.ml-fila-t{flex:1 1 auto;min-width:0}
.ml-fila-t b{display:block;font:600 16px/1.3 Inter,Arial,sans-serif;color:var(--navy)}
.ml-fila-t small{display:block;font-size:13px;line-height:1.35;color:var(--muted)}
.ml-fila-salir .ml-fila-ic{background:#FDE5DF;color:var(--coral-ink)}
.ml-fila-pend .ml-fila-ic{background:#FDE5DF;color:var(--coral-ink)}
.ml-cuenta{flex:0 0 auto;min-width:26px;height:26px;padding:0 8px;border-radius:13px;background:var(--coral-ink);color:#fff;font:700 13px/26px Inter,Arial,sans-serif;text-align:center;font-variant-numeric:tabular-nums}
.ml-volver{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:-6px 0 6px -8px;padding:6px 10px 6px 4px;border:0;background:none;color:var(--navy);font:600 15px/1 Inter,Arial,sans-serif;cursor:pointer;border-radius:12px}
.ml-volver svg{width:20px;height:20px}
/* Hoy */
.ml-hoy-cab{margin-bottom:18px}
.ml-hoy-fecha{font:600 13px/1.3 Inter,Arial,sans-serif;color:var(--teal-ink);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px}
.ml-hoy-cab h2{font:700 clamp(24px,6.4vw,32px)/1.12 Poppins,Inter,sans-serif;color:var(--navy);letter-spacing:-.015em;margin:0 0 14px;overflow-wrap:anywhere}
.ml-resumen.ml-resumen-3{grid-template-columns:repeat(3,1fr);margin:0}
.ml-resumen-3 .ml-kpi{padding:12px;min-width:0}
.ml-resumen-3 .ml-kpi b{font-size:clamp(20px,6vw,26px);white-space:nowrap}
.ml-resumen-3 .ml-kpi span{white-space:normal;line-height:1.25}
.ml-bloque{margin:0 0 18px}
.ml-bloque-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}
.ml-bloque-cab h3{font:700 18px/1.25 Poppins,Inter,sans-serif;color:var(--navy)}
.ml-bloque-cab .btn-texto{min-height:40px;padding:6px 2px}
.ml-nota{font-size:13px;color:var(--muted);text-align:right}
.ml-ahora{background:linear-gradient(135deg,#0B3C5D,#0F4568);border-radius:22px;padding:14px;margin:0 0 18px;box-shadow:0 18px 36px -24px rgba(8,49,77,.8)}
.ml-ahora-et{display:flex;align-items:center;gap:8px;color:#CFE0EA;font:600 13px/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;margin:2px 4px 12px}
.ml-ahora .cita{box-shadow:none;border:0}
.ml-huecos{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.ml-huecos .hora{min-height:46px;font-size:15px}
.ml-huecos .hora:hover{border-color:var(--navy)}
/* Local listo */
.ml-listo{background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:20px;padding:16px;margin:0 0 18px;box-shadow:0 14px 34px -26px rgba(8,49,77,.35)}
.ml-listo-barra{height:6px;border-radius:3px;background:var(--sand);overflow:hidden;margin:-2px 0 10px}
.ml-listo-barra i{display:block;height:100%;border-radius:3px;background:var(--teal)}
.ml-listo-lista{list-style:none;margin:0;padding:0;display:grid}
.ml-listo-lista li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(11,60,93,.06)}
.ml-listo-lista li:first-child{border-top:0}
.ml-listo-lista .btn{width:auto;min-height:40px;padding:8px 14px;font-size:14px;flex:0 0 auto}
.ml-listo-ok{flex:0 0 26px;height:26px;border-radius:50%;border:2px solid #CFC5B4;display:grid;place-items:center}
.ml-listo-lista li.hecho .ml-listo-ok{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}
.ml-listo-ok svg{width:14px;height:14px;stroke-width:3}
.ml-listo-lista li.hecho .ml-fila-t b{color:var(--muted);font-weight:500;text-decoration:line-through;text-decoration-color:#B9B0A2}
/* Clientes */
.ml-busca{width:100%;min-height:50px;border-radius:14px;padding:12px 16px;font-size:16px}
.ml-clientes{display:grid;gap:8px}
.ml-cliente{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:16px;padding:12px 14px}
.ml-avatar{flex:0 0 42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--navy);font:700 17px/1 Poppins,Inter,sans-serif}
.ml-cliente-t{flex:1 1 auto;min-width:0}
.ml-cliente-t .q{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.ml-cliente-t .d{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.ml-cliente-wa{flex:0 0 auto;width:44px;min-height:44px;padding:0;border-radius:50%}
.ml-cliente-wa svg{width:20px;height:20px;margin:0}
/* Bloqueos en la agenda */
.cita.ml-bloq{background:repeating-linear-gradient(135deg,#fff 0 10px,#F6F1E8 10px 20px);border-style:dashed;box-shadow:none}
.cita.ml-bloq .q{display:flex;align-items:center;gap:6px;color:var(--navy)}
.cita.ml-bloq .q svg{width:16px;height:16px}
.ml-dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ml-pasos{margin:0;padding-left:22px;display:grid;gap:8px}
@media (prefers-reduced-motion:reduce){dialog.ml-hoja[open]{animation:none}.ml-nav-b svg,.ml-nav-mas{transition:none}}
@media print{.ml-nav,.ml-sinred,.ml-volver{display:none!important}}
@media (max-width:600px){.ml-app .franja-prueba{font-size:13px;line-height:1.4;padding:8px 16px}}

/* ═══════ v5.9 · Agenda ═══════ */
.ag-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ag-cab h2{font:700 clamp(20px,5.6vw,26px)/1.15 Poppins,Inter,sans-serif;color:var(--navy);min-width:0}
.ag-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ag-nav .btn-texto{min-height:44px;padding:8px 6px}
.ag-flecha{width:44px;height:44px;border-radius:50%;border:1px solid rgba(11,60,93,.12);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer}
.ag-flecha svg{width:20px;height:20px}
.ag-vistas{display:inline-flex;background:var(--sand);border-radius:999px;padding:3px;margin-left:4px}
.ag-vistas button{min-height:38px;padding:6px 14px;border:0;border-radius:999px;background:none;color:var(--navy);font:600 14px/1 Inter,Arial,sans-serif;cursor:pointer}
.ag-vistas button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgba(8,49,77,.15)}
.ag-resumen{color:var(--muted);font-size:14px;margin:0 0 10px}
.ag-pros{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}
.ag-pros::-webkit-scrollbar{display:none}
.ag-pros .chip{flex:0 0 auto;min-height:44px;padding:8px 16px;display:inline-flex;align-items:center;gap:8px}
.ag-pros .chip[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.ag-n{min-width:22px;height:22px;border-radius:11px;background:var(--coral-ink);color:#fff;font:700 12px/22px Inter,Arial,sans-serif;text-align:center;padding:0 6px}
.ag-nombres{display:grid;gap:8px;margin:0 0 6px 52px;position:sticky;top:48px;z-index:5;background:var(--sand-3);padding:6px 0}
.ag-nombres div{font:600 15px/1.2 Inter,Arial,sans-serif;color:var(--navy);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-rejilla{display:grid;grid-template-columns:44px 1fr;gap:8px;position:relative}
.ag-horas{position:relative}
.ag-horas span{position:absolute;right:0;transform:translateY(-50%);font:600 12px/1 Inter,Arial,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums}
.ag-horas span:first-child{transform:none}
.ag-cols{display:grid;gap:8px;position:relative}
.ag-col{position:relative;background-color:#fff;background-image:repeating-linear-gradient(to bottom,rgba(11,60,93,.09) 0 1px,transparent 1px 48px);border:1px solid rgba(11,60,93,.08);border-radius:14px;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ag-col:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.ag-cerrado{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#F3EEE5 0 8px,#EDE6DA 8px 16px);display:grid;place-items:center;border-radius:12px}
.ag-cerrado span{font:600 12px/1 Inter,Arial,sans-serif;color:#8A8274;text-transform:uppercase;letter-spacing:.06em}
.ag-cita{position:absolute;left:4px;right:4px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border:0;border-left:4px solid var(--teal-ink);border-radius:10px;background:#E4F5F2;color:var(--navy);text-align:left;font:inherit;overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .15s ease,transform .15s ease}
.ag-cita:hover{box-shadow:0 6px 16px -10px rgba(8,49,77,.6)}
.ag-cita.corta{flex-direction:row;align-items:center;gap:6px;padding:2px 8px}
.ag-c-l{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.ag-c-h{font:700 13px/1.1 Inter,Arial,sans-serif;font-variant-numeric:tabular-nums}
.ag-c-n{font:600 14px/1.2 Inter,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ag-c-s{font-size:12px;line-height:1.25;color:#3E5566;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ag-cita.estado-completada{background:#EEF1F3;border-left-color:#8796A3;color:#4A5965}
.ag-cita.estado-no_show{background:#FDE5DF;border-left-color:var(--coral-ink);color:#7A2A17}
.ag-cita.arrastra{opacity:.45;transform:scale(.98);cursor:grabbing}
.ag-fantasma{position:absolute;left:4px;right:4px;z-index:4;border:2px dashed var(--navy);border-radius:10px;background:rgba(11,60,93,.08);pointer-events:none;padding:4px 8px}
.ag-fantasma span{font:700 13px/1.2 Inter,Arial,sans-serif;color:var(--navy);background:#fff;border-radius:6px;padding:2px 6px}
.ag-fantasma.mal{border-color:var(--coral-ink);background:rgba(201,58,28,.1)}
.ag-fantasma.mal span{color:var(--coral-ink)}
.ag-bloq{position:absolute;left:4px;right:4px;z-index:1;display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border:1px dashed #B9AE9C;border-radius:10px;background:repeating-linear-gradient(135deg,#FBF7F0 0 8px,#F0E9DD 8px 16px);color:#5E5648;font:600 12px/1.25 Inter,Arial,sans-serif;text-align:left;overflow:hidden;cursor:pointer}
.ag-bloq svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.ag-ahora{position:absolute;left:-8px;right:0;height:2px;background:var(--coral-ink);z-index:3;pointer-events:none}
.ag-ahora::before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--coral-ink)}
.ag-ahora span{position:absolute;left:-54px;top:-9px;font:700 12px/1 Inter,Arial,sans-serif;color:#fff;background:var(--coral-ink);border-radius:6px;padding:3px 5px;font-variant-numeric:tabular-nums}
.ag-ayuda{font-size:13px;color:var(--muted);margin:12px 0 0}
/* Hojas de la agenda */
.ag-sub{margin:-4px 0 12px 4px;color:var(--muted)}
.ag-paso[hidden]{display:none}
.ag-etq{font:700 13px/1.3 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px 4px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ag-etq span{color:var(--navy);text-transform:none;letter-spacing:0}
.ag-cambiar{min-height:32px;padding:2px 4px;font-size:13px;text-transform:none;letter-spacing:0}
.ag-servs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:46vh;overflow:auto}
.ag-serv{min-height:64px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.ag-serv b{font:600 15px/1.25 Inter,Arial,sans-serif}
.ag-serv small{font-size:13px;color:var(--muted)}
.ag-serv:hover:not(:disabled){border-color:var(--navy)}
.ag-serv:disabled{opacity:.5;cursor:not-allowed}
.ag-nocabe{color:var(--coral-ink)!important}
.ag-clis{display:grid;gap:6px;margin:10px 0;max-height:38vh;overflow:auto}
.ag-cli{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border:1px solid rgba(11,60,93,.1);border-radius:14px;background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.ag-cli:hover{border-color:var(--navy)}
.ag-cli b{display:block;font:600 15px/1.25 Inter,Arial,sans-serif;color:var(--navy)}
.ag-cli small{display:block;font-size:13px;color:var(--muted)}
.ag-cli .ml-avatar{flex-basis:36px;height:36px;font-size:15px}
.ag-nuevo{margin-top:10px}
.ag-nuevo[hidden],.ag-btn-nuevo[hidden]{display:none}
.ag-acciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ag-acciones .btn{width:auto;min-height:44px}
/* Barra «Deshacer» */
.ag-barra{position:fixed;left:12px;right:12px;margin:0 auto;bottom:calc(92px + env(safe-area-inset-bottom));z-index:61;display:flex;align-items:center;gap:6px;max-width:560px;background:var(--navy-deep);color:#fff;border-radius:16px;padding:8px 8px 8px 16px;box-shadow:0 16px 36px -14px rgba(8,49,77,.7);font:500 14px/1.35 Inter,Arial,sans-serif;animation:ml-sube .22s cubic-bezier(.2,.8,.2,1)}
.ag-barra span{flex:1 1 auto;min-width:0}
.ag-barra-b{flex:0 0 auto;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font:700 14px/1 Inter,Arial,sans-serif;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}
.ag-barra-b:hover{background:rgba(255,255,255,.22)}
/* Semana */
.ag-semana{display:grid;gap:8px}
.ag-sdia{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:10px 14px;border:1px solid rgba(11,60,93,.08);border-radius:16px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.ag-sdia:hover{border-color:var(--navy)}
.ag-sdia>svg{width:18px;height:18px;color:#9AA6B1;flex:0 0 auto}
.ag-sdia.hoy{border:2px solid var(--coral-ink)}
.ag-sdia.cerrado{background:#F7F3EC}
.ag-sdia-d{flex:0 0 48px;display:grid;justify-items:center;line-height:1.1}
.ag-sdia-d small{font:600 12px/1 Inter,Arial,sans-serif;text-transform:uppercase;color:var(--muted)}
.ag-sdia-d b{font:700 24px/1.1 Poppins,Inter,sans-serif;color:var(--navy)}
.ag-sdia-t{flex:1 1 auto;min-width:0;display:grid;gap:3px}
.ag-sdia-t b{font:600 16px/1.2 Inter,Arial,sans-serif;color:var(--navy)}
.ag-sdia-t small{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-ocup{display:block;height:5px;border-radius:3px;background:var(--sand);overflow:hidden}
.ag-ocup i{display:block;height:100%;background:var(--teal)}
@media (min-width:900px){
  .ag-semana{grid-template-columns:repeat(7,minmax(0,1fr))}
  .ag-sdia{flex-direction:column;align-items:stretch;min-height:150px}
  .ag-sdia>svg{display:none}
  .ag-sdia-d{justify-items:start}
  .ag-sdia-t small{white-space:normal}
}
/* Aviso de reservas nuevas */
.ml-badge{position:absolute;top:4px;left:50%;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--coral-ink);color:#fff;font:700 11px/18px Inter,Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px #fff}
.ml-nav-b{position:relative}
.ml-nuevas{background:#E7F6F4;border:1.5px solid #A8E0D9;border-radius:20px;padding:14px 16px;margin:0 0 18px}
.ml-nuevas ul{margin:0 0 6px;padding-left:18px;display:grid;gap:4px;font-size:15px}
.ml-nuevas .ml-vacio-acc .btn{min-height:44px}
@media (prefers-reduced-motion:reduce){.ag-cita,.ag-barra{transition:none;animation:none}}

/* ═══════ Fase 3 · Ficha del cliente ═══════ */
.ml-cliente-abrir{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:44px}
.ml-cliente-abrir .q,.ml-cliente-abrir .d{display:block}
.ml-cliente:has(.ml-cliente-abrir:hover){border-color:var(--navy)}
.fc-cab{display:flex;align-items:center;gap:14px;margin:4px 0 14px}
.fc-avatar{flex:0 0 60px;height:60px;font-size:24px}
.fc-cab-t{flex:1 1 auto;min-width:0}
.fc-cab-t h2{font:700 clamp(22px,6vw,28px)/1.15 Poppins,Inter,sans-serif;color:var(--navy);overflow-wrap:anywhere}
.fc-cab-t .d{color:var(--muted);font-size:15px;overflow-wrap:anywhere;margin-top:2px}
.fc-editar{flex:0 0 auto}
.fc-acc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.fc-acc .btn{min-height:48px;padding:8px 10px;font-size:14px;gap:6px}
.fc-acc .btn svg{width:18px;height:18px}
.fc-cifras{margin-bottom:12px}
.fc-cifras .ml-kpi span{white-space:normal;line-height:1.25}
.fc-proxima{display:flex;align-items:center;gap:8px;background:#E7F6F4;border:1.5px solid #A8E0D9;border-radius:14px;padding:10px 14px;font-weight:600;color:var(--teal-ink);margin:0 0 16px}
.fc-proxima svg{width:18px;height:18px;flex:0 0 auto}
.fc-nota-f{display:grid;gap:8px;margin-bottom:12px}
.fc-nota-f textarea{width:100%;min-height:72px;border-radius:14px;padding:12px 14px;font:inherit;font-size:16px;border:1.5px solid var(--line);resize:vertical}
.fc-nota-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.fc-nota-pie .btn{width:auto;min-height:44px}
.fc-notas,.fc-hist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fc-notas li{background:#FFF9EC;border:1px solid #F1E2BF;border-radius:14px;padding:10px 14px}
.fc-notas li p{margin:0 0 2px;white-space:pre-wrap;overflow-wrap:anywhere}
.fc-hist li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:14px;padding:10px 14px}
.fc-hist li b{display:block;font-weight:600;color:var(--navy)}
.fc-hist li span{font-size:14px;color:var(--muted)}
.fc-hist li .etiqueta{margin:0}
.fc-hist li.futura{border-color:#A8E0D9;background:#F3FBFA}
.fc-hist li.estado-cancelada{opacity:.65}
.fc-hist-nota{grid-column:1/-1;margin:2px 0 0;font-size:14px;color:#6B5418;background:#FFF9EC;border-radius:8px;padding:4px 8px}
.fc-avisos{margin:4px 0 8px}
@media (max-width:380px){.fc-acc .btn svg{display:none}}

/* ═══════ Fase 4 · Mudanza ═══════ */
.cl-acc{display:flex;gap:8px}
.cl-acc .btn{min-height:44px;padding:8px 14px}
.im-intro{margin:-6px 0 14px;max-width:70ch}
.im-fuentes{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:16px}
.im-fuente{min-height:72px}
.im-pegar{width:100%;border-radius:14px;padding:12px 14px;font:inherit;font-size:16px;border:1.5px solid var(--line);resize:vertical;min-height:150px}
.im-leyendo{display:grid;justify-items:center;gap:6px;padding:20px 0}
.im-revisar{background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:20px;padding:16px;margin-top:6px}
.im-aviso{background:#FFF4D6;border:1px solid #F3DDAE;border-radius:12px;padding:8px 12px;color:#6B4A00;font-weight:600;margin:0 0 10px}
.im-resumen{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.im-resumen .etiqueta{margin:0;font-size:13px;padding:5px 10px}
.im-filas{list-style:none;margin:0;padding:0;display:grid;max-height:52vh;overflow:auto;border-top:1px solid rgba(11,60,93,.06)}
.im-filas li{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(11,60,93,.06)}
.im-filas li .etiqueta{margin:0}
.im-chk{display:grid;place-items:center;min-height:44px}
.im-chk input{width:22px;height:22px;accent-color:var(--navy)}
.im-t{min-width:0}
.im-t b{display:block;font-weight:600;overflow-wrap:anywhere}
.im-t small{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.im-filas li.im-sin_movil,.im-filas li.im-sin_nombre,.im-filas li.im-repetido{opacity:.7}
.im-pie{margin-top:14px;display:grid;gap:6px}

/* ═══════ Fase 5 · Recordatorios ═══════ */
.rc-cadena{display:grid;gap:6px;margin:0 0 14px}
.rc-sig{min-height:56px;font-size:16px;justify-content:center}
.rc-cuenta{color:var(--muted);font-size:14px;margin:0}
.confirmada-ok,.ag-conf-txt{display:flex;align-items:center;gap:8px;background:#E7F6F4;border:1.5px solid #A8E0D9;border-radius:14px;padding:10px 14px;color:var(--teal-ink);font-weight:600;margin:0 0 10px}
.confirmada-ok svg,.ag-conf-txt svg{width:18px;height:18px;flex:0 0 auto}
.ag-conf{color:var(--teal-ink);font-weight:800}

/* ═══════ Fase 6 · Caja ═══════ */
.cj-importe{font:700 24px/1.2 Poppins,Inter,sans-serif;font-variant-numeric:tabular-nums;color:var(--navy);max-width:220px}
.cj-info{font-size:14px;color:var(--teal-ink);background:#E7F6F4;border-radius:12px;padding:8px 12px;margin:0 0 12px}
.cj-info:empty{display:none}
.cj-metodos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cj-metodo{min-height:76px;display:grid;justify-items:center;align-content:center;gap:6px;border:1.5px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);font:700 15px/1 Inter,Arial,sans-serif;cursor:pointer}
.cj-metodo svg{width:26px;height:26px}
.cj-metodo:hover:not(:disabled){border-color:var(--navy);background:var(--sand-3)}
.cj-metodo:disabled{opacity:.6}
.cj-totales{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
@media (max-width:560px){.cj-totales{grid-template-columns:1fr 1fr}}
.cj-totales .ml-kpi b{font-size:clamp(18px,5vw,24px);white-space:nowrap}
.cj-comision{font-size:14px;color:var(--muted);background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:14px;padding:10px 14px;margin:0 0 18px}
.cj-fila{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid rgba(11,60,93,.06);min-height:60px}
.ml-grupo>.cj-fila:first-child{border-top:0}
.cj-fila .ml-fila-t small{white-space:normal}
.cj-fila.anulado{opacity:.55}
.cj-fila.anulado .cj-imp{text-decoration:line-through}
.cj-hora{flex:0 0 auto;font:700 14px/1 Inter,Arial,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums;min-width:42px}
.cj-imp{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--navy)}
.cj-cobrar{width:auto;min-height:44px;padding:8px 14px;flex:0 0 auto}
.cj-cierre .btn{width:auto;min-height:44px}
.ml-hoja-ic .cj-hora{min-width:0;font-size:13px;color:var(--navy)}
.ag-cita.cobrada::after{content:'€';position:absolute;top:4px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--teal-ink);color:#fff;font:700 11px/18px Inter,Arial,sans-serif;text-align:center}
@media (max-width:400px){.cj-fila{flex-wrap:wrap}.cj-fila .ml-fila-t{flex-basis:calc(100% - 60px)}.cj-imp{margin-left:52px}}

/* ═══════ Fase 7 · IslaCoins ═══════ */
.ic-fila{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.ic-fila .btn{width:auto;min-height:52px}
.ic-codigo{letter-spacing:.2em;max-width:200px;text-align:center}
.ic-quien{margin:6px 0 8px;overflow-wrap:anywhere}
.ic-reglas{background:#FFF9EC;border:1px solid #F1E2BF;border-radius:16px;padding:12px 16px;margin:0 0 16px;display:grid;gap:6px}
.ic-reglas p{margin:0}

/* ═══════ Fase 8 · Equipo ═══════ */
.ml-resumen.ml-resumen-2{grid-template-columns:1fr 1fr}
.eq-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid rgba(11,60,93,.06)}
.eq-acc{display:flex;gap:8px;flex-wrap:wrap}
.eq-acc .btn{width:auto;min-height:44px;padding:6px 12px;font-size:13px}
.ag-bloq.entero{align-items:center;justify-content:center}

/* ═══════ Fase 9 · Informes y Mi plan ═══════ */
.inf-frase{font:600 17px/1.45 Inter,Arial,sans-serif;color:var(--navy);background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:16px;padding:14px 16px;margin:0 0 12px}
.inf-kpis{grid-template-columns:1fr 1fr;margin-bottom:18px}
.inf-kpi span{white-space:normal;line-height:1.25}
.inf-d{display:block;font:600 12px/1.3 Inter,Arial,sans-serif;margin-top:4px}
.inf-d.bien{color:var(--ok)}
.inf-d.mal{color:var(--coral-ink)}
.inf-d.igual{color:var(--muted)}
@media (min-width:900px){.inf-kpis{grid-template-columns:repeat(4,1fr)}}
.plan-hero{background:linear-gradient(135deg,#0B3C5D,#0F4568);color:#fff;border-radius:22px;padding:20px;margin:0 0 14px;text-align:center}
.plan-hero p{margin:0;color:#CFE0EA}
.plan-et{font:600 13px/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.plan-gratis{font:800 44px/1.1 Poppins,Inter,sans-serif;color:#fff!important;letter-spacing:.02em;margin:6px 0!important}
.plan-pasos .cj-imp{white-space:nowrap}
.plan-pasos .cj-imp{margin-left:0!important}

/* ═══════ Fotos del antes y el después ═══════ */
.ft-botones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ft-boton{min-height:56px;gap:8px}
.ft-boton svg{width:22px;height:22px}
.ft-est{font-size:14px;color:var(--teal-ink);margin:6px 0 0}
.ft-est:empty{display:none}
.ft-visita{margin-top:12px}
.ft-tit{font:600 14px/1.3 Inter,Arial,sans-serif;color:var(--navy);margin:0 0 6px}
.ft-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.ft-hist{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(64px,80px));margin-top:4px}
.ft-mini{position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--sand);cursor:pointer}
.ft-mini img{width:100%;height:100%;object-fit:cover;display:block}
.ft-et{position:absolute;left:6px;bottom:6px;background:rgba(8,49,77,.85);color:#fff;font:600 12px/1 Inter,Arial,sans-serif;padding:4px 6px;border-radius:6px}
dialog.ft-ver{padding:10px;max-width:min(720px,calc(100vw - 16px))}
dialog.ft-ver img{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:12px;background:#000}

/* ═══════ Avisos al móvil ═══════ */
.av-caja{margin:0 0 14px;max-width:720px}
.av-estado{margin:6px 0 10px;font-weight:600;color:var(--navy)}
.av-estado.av-on{color:var(--teal-ink)}
.av-botones{display:flex;gap:8px;flex-wrap:wrap}
.av-botones .btn{width:auto;min-height:44px}

/* ═══════ Repaso a 375 px: todo lo que se toca, de 44 px como mínimo ═══════ */
.ml-app .barra .logo{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
.ml-app .ml-verweb{min-height:44px}
.ml-listo-lista .btn{min-height:44px}
.ag-vistas{padding:2px}
.ag-vistas button{min-height:44px}
.ml-app label.marca{min-height:44px;align-items:center}
.ml-app .tramo input[type=time]{min-height:44px}
.ml-app .cr-pl-ver{min-height:44px;display:inline-flex;align-items:center}
.fc-cab-t .d a{display:inline-block;padding:12px 0}
.ic-reglas a{display:inline-block;padding:12px 0}
/* Crecimiento A2 · Depósito al reservar */
.dp-tipos .cj-metodo{min-height:64px;padding:8px;text-align:center;line-height:1.25;font-size:14px}
.dp-tipos .cj-metodo[aria-checked=true]{border-color:var(--navy);background:#E7F6F4;box-shadow:inset 0 0 0 1.5px var(--navy)}
.ayuda+.ayuda{margin-top:10px}
/* Crecimiento B · Reseñas */
.rs-cambiar summary{min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--navy);cursor:pointer}
.rs-cambiar[open] summary{margin-bottom:6px}
.dp-dos{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Crecimiento C · Comisiones */
.cm-mes{flex:1;text-align:center;font:700 17px/1.2 Poppins,Inter,sans-serif;color:var(--navy)}
.cm-hueco{width:44px}
.cm-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.cm-cab h3{margin:0}
.cm-total{font:700 22px/1 Poppins,Inter,sans-serif;color:var(--teal-ink)}
.cm-pcts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.cm-pcts .campo{margin:0}
.cm-pro .cj-fila,.cm-ult .cj-fila{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cm-pro .cj-fila .ml-fila-t,.cm-ult .cj-fila .ml-fila-t{min-width:0}
.cm-pro .av-botones{margin-top:12px}
.ag-nav .cm-mes{min-width:0}
@media (max-width:400px){.cm-pro .cj-fila,.cm-ult .cj-fila{flex-wrap:nowrap}.cm-pro .cj-fila .ml-fila-t,.cm-ult .cj-fila .ml-fila-t{flex:1 1 auto;flex-basis:auto}.cm-pro .cj-imp,.cm-ult .cj-imp{margin-left:0}}
.cm-pro .cj-fila{padding-left:0;padding-right:0}
/* Crecimiento D · Fichaje */
.fc-botones{display:grid;gap:8px;margin:4px 0 8px}
.fc-lista{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}
.fc-lista li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(11,60,93,.06)}
.fc-fila{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fc-fila .ml-fila-t{min-width:0;flex:1 1 auto}
@media (max-width:400px){.fc-fila{flex-wrap:nowrap}.fc-fila .cj-imp{margin-left:0}}
/* Depósito por Bizum */
.dp-fila{align-items:center}
.dp-acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.dp-acc .btn{width:auto;min-height:44px}
.ml-recomendar{background:linear-gradient(180deg,#E7F6F4,#fff);border-radius:18px;padding:14px;margin-top:14px}
.ml-recomendar p{margin:0 0 10px}
/* Crecimiento F · Ranking */
.rk-caja{background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:18px;padding:14px;margin-top:14px}
.rk-frase{margin:4px 0 8px;font-size:16px}
.rk-num{font:700 30px/1 Poppins,Inter,sans-serif;color:var(--navy);margin-right:4px}
.rk-sello{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font:700 13px/1 Inter,Arial,sans-serif}
.rk-oro{background:#FFF1C9;color:#7A5200}
.rk-plata{background:#EEF1F4;color:#3B4A5A}
.rk-verificado{background:#E7F6F4;color:#107D74}
/* Crecimiento H · Stock y Central de compras */
.st-prod,.st-pedido{padding:12px 14px;border-top:1px solid rgba(11,60,93,.06);display:grid;gap:6px}
.ml-grupo>.st-pedido:first-child{border-top:0}
.st-prod{background:#fff;border:1px solid rgba(11,60,93,.08);border-radius:16px;margin:0 0 10px}
.st-critico{border-color:#F3B4A6;background:#FFF7F4}
.st-ped-cab{display:flex;justify-content:space-between;align-items:center;gap:10px}
.st-prod .d,.st-pedido .d{margin:0;color:var(--muted);font-size:14px}
.st-oferta{background:#FFF4E5;border:1.5px solid #FFD9A8;border-radius:14px;padding:10px 12px;color:#5C3A00}
.st-oferta p{margin:0 0 8px}
.st-oferta .btn{width:auto}
.dt-barra{height:10px;border-radius:999px;background:#E9EEF2;overflow:hidden}
.dt-barra i{display:block;height:100%;background:#17B3A6;border-radius:999px}

/* v6.9 · Fase 1 de pulido: etiquetas, cristal, chips y franja plegable */
.etq{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font:700 11.5px/1 Inter,Arial,sans-serif;letter-spacing:.02em;white-space:nowrap}
.etq-ok{background:rgba(23,179,166,.16);color:var(--teal-ink,#0E7C73)}
.etq-n{background:rgba(11,60,93,.08);color:var(--muted,#5E6873);margin-left:8px;letter-spacing:0;text-transform:none}
.panel .franja-prueba.fp{padding:0;background:rgba(255,244,214,.82);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(243,221,174,.8)}
.fp-btn{all:unset;box-sizing:border-box;width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;font:600 13.5px/1.2 Inter,Arial,sans-serif;color:#5A4410}
.fp-btn:focus-visible{outline:2px solid var(--navy);outline-offset:-3px}
.fp-t{flex:1 1 auto;min-width:0}
.fp-mas{font-weight:500;opacity:.75;font-size:12.5px}
.fp-btn>svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.23,1,.32,1)}
.fp-btn.abierta>svg{transform:rotate(90deg)}
.fp-det{margin:0;padding:0 16px 12px;font-size:13px;line-height:1.45;color:#5A4410}
.ml-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 14px;padding:2px 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ml-chips::-webkit-scrollbar{display:none}
.chip{all:unset;box-sizing:border-box;flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;padding:0 15px;border-radius:999px;font:600 14px/1 Inter,Arial,sans-serif;color:var(--navy);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(11,60,93,.1);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.chip.on{background:var(--navy);color:#fff;box-shadow:0 6px 16px -8px rgba(11,60,93,.7)}
.chip:focus-visible{outline:2px solid var(--coral-ink);outline-offset:2px}
.chip-det{margin-left:auto;background:transparent;box-shadow:inset 0 0 0 1px rgba(11,60,93,.18)}
.ml-cristal{background:rgba(255,255,255,.74);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 14px 30px -22px rgba(11,60,93,.35)}
.ml-cristal>h3{display:flex;align-items:center}
.ml-cristal .ml-fila{background:transparent;min-height:60px}
.ml-cristal .ml-fila:active{background:rgba(11,60,93,.05)}
.ml-cristal .ml-fila-t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-det .ml-cristal .ml-fila-t small{white-space:normal}
.tono-teal .ml-fila-ic{background:rgba(23,179,166,.14);color:#0E7C73}
.tono-navy .ml-fila-ic{background:rgba(11,60,93,.09);color:var(--navy)}
.tono-coral .ml-fila-ic{background:rgba(232,87,58,.12);color:var(--coral-ink)}
.ml-cristal .ml-fila-salir .ml-fila-ic{background:#FDE5DF;color:var(--coral-ink)}
@media (prefers-reduced-motion:reduce){.fp-btn>svg,.chip{transition:none}}
.ml-cristal{grid-template-columns:minmax(0,1fr);min-width:0}
.ml-cristal .ml-fila{min-width:0}
.ml-grupo[hidden]{display:none}

/* v6.9 · Fase 1b: degradados oscuros arriba y abajo, marca que se desvanece, barra inferior de cristal oscuro */
.ml-app{--ml-n0:#0E4A70;--ml-n1:#0B3C5D;--ml-n2:#08273D}
.ml-app .barra{background:linear-gradient(180deg,var(--ml-n0) 0%,var(--ml-n1) 100%);box-shadow:none}
.ml-hero{--p:0;position:relative;display:grid;place-items:center;height:104px;overflow:hidden;background:linear-gradient(180deg,var(--ml-n1) 0%,#0A3450 55%,rgba(10,52,80,0) 100%);margin-bottom:-26px;pointer-events:none}
.ml-hero-in{display:grid;place-items:center;padding-bottom:22px;opacity:calc(1 - var(--p) * 1.15);transform:translateY(calc(var(--p) * -18px)) scale(calc(1 - var(--p) * .08));filter:blur(calc(var(--p) * 7px));}
.ml-hero-entra .ml-hero-in{animation:ml-hero-in .8s cubic-bezier(.23,1,.32,1) both}
.ml-hero img{display:block;height:44px;width:auto}
@keyframes ml-hero-in{from{opacity:0;transform:translateY(8px) scale(.96);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
.ml-app .contenido{position:relative}
.ml-nav{background:linear-gradient(180deg,rgba(14,58,88,.88) 0%,rgba(8,34,53,.97) 100%);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -18px 32px -18px rgba(8,39,61,.55)}
.ml-nav-b{color:#A9BFCD}
.ml-nav-b[aria-current=page]{color:#fff}
.ml-nav-b[aria-current=page]::before{content:'';position:absolute;inset:4px 10px;border-radius:14px;background:rgba(255,255,255,.1);z-index:-1}
.ml-nav-b{position:relative;isolation:isolate}
.ml-nav-b[aria-current=page] span::after{background:#FF8A6E}
.ml-nav-mas{box-shadow:0 0 0 5px #0A2F48,0 12px 24px -8px rgba(201,58,28,.75)}
@media (min-width:900px){.ml-nav{border:1px solid rgba(255,255,255,.1)}}
@media (prefers-reduced-motion:reduce){.ml-hero-in{animation:none;filter:none;transform:none}}

/* v6.9 · Fase 1b: el pin pequeño de la cabecera aparece cuando la marca grande se apaga; citas con etiquetas */
.ml-app .barra .logo{opacity:var(--hp,0);transform:scale(calc(.78 + var(--hp,0) * .22));transform-origin:left center}
.cita-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.mini{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:0 10px;border-radius:999px;font:600 12.5px/1 Inter,Arial,sans-serif;color:var(--navy);background:rgba(11,60,93,.07);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.mini-s{background:rgba(232,87,58,.12);color:var(--coral-ink)}
.mini-p,.mini-ok{background:rgba(23,179,166,.15);color:#0E6F68}
a.mini-a{background:transparent;box-shadow:inset 0 0 0 1px rgba(11,60,93,.14);font-weight:500;min-height:32px}

/* v6.9 · Fase 1c: criterios de Emil Kowalski (pulsación, curvas, solo lo necesario) y de taste (jerarquía, espacio, contraste) */
.ml-app{--ml-ease:cubic-bezier(.23,1,.32,1)}
.ml-hero{height:92px;margin-bottom:-22px}
.ml-hero-in{padding-bottom:18px}
.ml-nav-b,.chip,.ml-fila,.btn,.ml-kpi,.cita{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ml-nav-b{transition:color .2s ease,transform .16s var(--ml-ease)}
.ml-nav-b:active{transform:scale(.95)}
.chip{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .16s var(--ml-ease)}
.chip:active{transform:scale(.97)}
.ml-fila{transition:background-color .18s ease,transform .16s var(--ml-ease)}
.ml-fila:active{transform:scale(.985)}
.panel .cita{transition:transform .16s var(--ml-ease),box-shadow .2s ease}
.panel .cita:hover{transform:none;box-shadow:none}
@media (hover:hover) and (pointer:fine){.panel .cita:hover{transform:translateY(-1px);box-shadow:0 16px 30px -22px rgba(8,49,77,.4)}.ml-fila:hover{background:rgba(11,60,93,.04)}}
/* Resumen de Hoy: una sola tarjeta azul con tres cifras (la jerarquía la da el tamaño, sin líneas) */
.ml-resumen-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:linear-gradient(160deg,#0F4C74 0%,#0B3C5D 55%,#08304B 100%);border-radius:22px;padding:6px 4px;box-shadow:0 18px 32px -22px rgba(8,39,61,.7)}
.ml-resumen-3.ml-resumen-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ml-resumen-3 .ml-kpi{background:transparent;border:0;box-shadow:none;padding:14px 8px 14px 16px;gap:6px;align-items:flex-start}
.ml-resumen-3 .ml-kpi b{color:#fff;font-size:clamp(24px,7.4vw,30px);letter-spacing:-.02em}
.ml-resumen-3 .ml-kpi span{color:#BFD6E4;font:500 13px/1.25 Inter,Arial,sans-serif;white-space:normal}
/* Citas: acciones en una fila baja y ligera */
.panel .cita .menu-cita{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}
.panel .cita .menu-cita .btn{min-height:36px;padding:0 14px;font-size:14px;border-radius:999px}
.panel .cita .btn-texto{color:var(--coral-ink)}
.cita-chips{margin-top:8px}

/* ═══ v6.9 · Capa de pulido (UI/UX Pro Max: Soft UI Evolution + vidrio solo en navegación · Emil Kowalski: pulsación y curvas · taste: jerarquía y espacio) ═══ */
.ml-app{--sombra-1:0 1px 2px rgba(8,39,61,.05),0 10px 24px -16px rgba(8,39,61,.28);--sombra-2:0 1px 2px rgba(8,39,61,.06),0 22px 40px -24px rgba(8,39,61,.4);--r-card:20px;--g-coral:linear-gradient(180deg,#DB4A2B 0%,#C93A1C 100%);--g-navy:linear-gradient(180deg,#14507A 0%,#0B3C5D 100%)}
body.ml-app{background:linear-gradient(180deg,#F7F1E6 0%,#FBF7F0 220px,#FBF7F0 100%) fixed}
/* Tarjetas: superficie blanca, brillo superior y sombra suave en dos capas (sin líneas) */
.panel .cita,.ml-bloque>section,.ml-nuevas,.ml-grupo:not(.ml-cristal),.plan-hero,.ml-vacio,.ml-listo{border:0;border-radius:var(--r-card);background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--sombra-1)}
.ml-cristal{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--sombra-1)}
/* Botones: relieve sutil y pulsación a 0 ms */
.btn{transition:transform .16s var(--ml-ease),box-shadow .2s ease,background-color .2s ease,filter .2s ease}
.btn:active{transform:scale(.97);filter:brightness(.96)}
.panel .btn-coral{background:var(--g-coral);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 22px -12px rgba(201,58,28,.85)}
.panel .btn-navy{background:var(--g-navy);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 22px -14px rgba(8,39,61,.8)}
.panel .btn-suave{box-shadow:inset 0 0 0 1.5px rgba(11,60,93,.14)}
/* Campos: radio mayor y aro suave al enfocar */
.panel input[type=text],.panel input[type=tel],.panel input[type=email],.panel input[type=password],.panel input[type=number],.panel input[type=url],.panel input[type=date],.panel input[type=time],.panel select,.panel textarea{border-radius:14px;background:#fff;transition:box-shadow .2s ease,border-color .2s ease}
.panel input:focus-visible,.panel select:focus-visible,.panel textarea:focus-visible{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(23,179,166,.22)}
/* Etiquetas (chips pequeños) */
.etiqueta{display:inline-flex;align-items:center;height:22px;padding:0 9px;font:700 11.5px/1 Inter,Arial,sans-serif;letter-spacing:.01em;vertical-align:middle;margin-left:8px;background:rgba(11,60,93,.08);color:var(--navy)}
.etiqueta.coral{background:rgba(232,87,58,.14);color:var(--coral-ink)}
.etiqueta.verde{background:rgba(23,179,166,.16);color:#0E6F68}
/* Títulos: más aire arriba que abajo */
.ml-app .cab-seccion{margin:6px 0 16px}
.ml-app .cab-seccion h2{letter-spacing:-.02em}
.ml-bloque-cab h3{letter-spacing:-.01em}
.ml-bloque{margin:0 0 24px}
/* Hojas inferiores: cristal claro con asa */
dialog.ml-hoja{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);box-shadow:0 -24px 60px -24px rgba(8,39,61,.55)}
dialog::backdrop{background:rgba(6,24,38,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
/* Texto largo plegable: dos líneas y «Ver más» (la información completa sigue ahí) */
.pl-texto{position:relative}
.pl-texto:not(.abierto){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-mas{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 4px;margin:-2px 0 8px;font:600 14px/1 Inter,Arial,sans-serif;color:var(--coral-ink)}
.pl-mas svg{width:14px;height:14px;transition:transform .25s var(--ml-ease)}
.pl-mas[aria-expanded=true] svg{transform:rotate(90deg)}
.pl-mas:focus-visible{outline:2px solid var(--coral-ink);outline-offset:2px;border-radius:8px}
/* Aviso de selección y barras con color de marca */
.ml-app ::selection{background:rgba(23,179,166,.28)}
.ml-app{scrollbar-color:#0B3C5D #FBF7F0}
@media (prefers-reduced-motion:reduce){.btn,.pl-mas svg{transition:none}}

.ml-cliente-t .cita-chips{display:flex;margin:6px 0 4px}
.ml-cliente-tel{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.mini{max-width:100%}
.ml-cliente{min-width:0}
.ml-cliente-abrir{min-width:0;flex:1 1 0}
.ml-cliente-t{min-width:0;flex:1 1 0;display:block}
.ml-cliente-wa{flex:0 0 auto}
.pl-texto:not(.abierto){max-height:3em;padding-bottom:0!important;margin-bottom:0}

.nov-lista{list-style:none;margin:12px 0 14px;padding:0;display:grid;gap:12px}
.nov-lista li{display:grid;gap:2px;font-size:15px;color:var(--ink)}
.nov-lista .cita-chips{margin-top:4px}
.ml-nuevas .ml-bloque-cab small{white-space:nowrap}
.ml-nuevas ul.nov-lista{padding:0;margin:12px 0 14px}.ml-nuevas ul.nov-lista li{margin:0}
.aviso-fila{flex-wrap:nowrap;align-items:center}.aviso-fila>div:first-child{flex:1 1 0;min-width:0}.aviso-fila>.btn{flex:0 0 auto}

/* ═══ v6.9 · Cabecera fina, azul más vivo con degradado suave, cuota en píldora de cristal ═══ */
.ml-app{--ml-n0:#2584C9;--ml-n1:#1B6FAE;--ml-n2:#14609A;--g-vivo:linear-gradient(165deg,#2A8AD0 0%,#1B6FAE 55%,#15609A 100%)}
.ml-app .barra.ml-top{background:linear-gradient(180deg,var(--ml-n0) 0%,var(--ml-n1) 100%);box-shadow:none;padding-top:env(safe-area-inset-top)}
.ml-top .dentro{min-height:48px;padding:8px 16px;justify-content:center}
.ml-app .barra .logo.ml-top-logo{opacity:1;transform:none;display:inline-flex;min-height:44px;align-items:center}
.ml-top-logo img{display:block;height:31px;width:auto}
.ml-hero{display:none}
/* Cuota: píldora de cristal sobre el degradado, sin amarillo */
.panel .franja-prueba.fp,.ml-app .franja-prueba.fp{background:linear-gradient(180deg,var(--ml-n1) 0%,rgba(27,111,174,0) 100%);border:0;padding:0 16px 22px;-webkit-backdrop-filter:none;backdrop-filter:none}
.fp-btn{display:inline-flex;width:auto;min-height:38px;padding:0 12px 0 5px;gap:8px;border-radius:999px;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;transition:transform .16s var(--ml-ease),background-color .2s ease}
.fp-btn:active{transform:scale(.97)}
.fp-btn .etq-ok{background:rgba(255,255,255,.92);color:#0B5F58}
.fp-t{flex:0 1 auto;font-weight:600}
.fp-mas{color:rgba(255,255,255,.88);font-weight:500}
.fp-btn>svg{color:#fff}
.fp-det{margin:10px 0 0;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.95);color:var(--ink);box-shadow:var(--sombra-1)}
.ml-app .franja-prueba:not(.fp){margin:0 16px 16px;border-radius:14px}
/* Contenido más arriba */
.ml-app .contenido{padding-top:4px}
.ml-hoy-cab{margin-top:-6px}
/* Estado y enlace a la web, como etiquetas */
.ml-estado{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.ml-et{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border-radius:999px;font:600 13px/1 Inter,Arial,sans-serif;color:var(--navy);text-decoration:none;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(11,60,93,.1);transition:transform .16s var(--ml-ease),background-color .2s ease}
.ml-et.on{color:#0B6A62}
.ml-et-web{margin-left:auto}
.ml-et-web svg{width:14px;height:14px}
.ml-et:active{transform:scale(.97)}
.ml-estado .ml-punto{margin:0}
/* Azul vivo en tarjeta, barra inferior y botones */
.ml-resumen-3{background:var(--g-vivo);box-shadow:0 18px 32px -22px rgba(21,96,154,.8)}
.ml-resumen-3 .ml-kpi span{color:#E8F3FB}
.ml-nav{background:linear-gradient(180deg,rgba(30,118,181,.92) 0%,rgba(17,88,142,.97) 100%);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -18px 32px -18px rgba(21,96,154,.5)}
.ml-nav-b{color:#E1EEF8}
.ml-nav-b[aria-current=page]::before{background:rgba(255,255,255,.16)}
.ml-nav-mas{box-shadow:0 0 0 5px #115A92,0 12px 24px -8px rgba(201,58,28,.75)}
.panel .btn-navy{background:linear-gradient(180deg,#2584C9 0%,#1B6FAE 100%)}
.chip.on{background:#1B6FAE}
/* degradado continuo y suave: la cabecera y la píldora comparten el mismo azul y se disuelve hacia el fondo */
.ml-app .barra.ml-top{background:var(--ml-n0)}
.panel .franja-prueba.fp,.ml-app .franja-prueba.fp{background:linear-gradient(180deg,var(--ml-n0) 0%,rgba(37,132,201,.55) 45%,rgba(37,132,201,0) 100%);padding:0 16px 26px}

/* ═══ v6.9 · Ronda 3: azul más hondo con reflejo y textura (relieve), y etiquetas desplegables en todas las pantallas ═══ */
.ml-app{--ml-n0:#1C6FB4;--ml-n1:#155C99;--ml-n2:#0F4A7E;--ml-grano:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--g-vivo:linear-gradient(165deg,#2380C6 0%,#165F9D 55%,#10508A 100%)}
/* Cabecera: luz arriba a la izquierda, destello diagonal y grano fino */
.ml-app .barra.ml-top{background:radial-gradient(120% 140% at 12% -40%,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 55%),linear-gradient(112deg,rgba(255,255,255,0) 34%,rgba(255,255,255,.13) 47%,rgba(255,255,255,0) 60%),var(--ml-grano),linear-gradient(180deg,var(--ml-n0) 0%,#1867A9 100%);box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)}
/* Zona de la píldora: mismo material, que se disuelve hacia el fondo; dos reflejos suaves dan profundidad */
.panel .franja-prueba.fp,.ml-app .franja-prueba.fp{background:radial-gradient(90px 70px at 88% 18%,rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 100%),radial-gradient(140px 90px at 6% 40%,rgba(120,190,255,.2) 0%,rgba(120,190,255,0) 100%),var(--ml-grano),linear-gradient(180deg,#1867A9 0%,rgba(24,103,169,.6) 45%,rgba(24,103,169,0) 100%);padding:0 16px 26px}
/* Tarjeta de resumen y barra inferior: relieve con brillo superior */
.ml-resumen-3{background:radial-gradient(130% 120% at 0% -30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 55%),linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.1) 52%,rgba(255,255,255,0) 64%),var(--ml-grano),var(--g-vivo);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(8,39,61,.25),0 18px 32px -22px rgba(15,74,126,.85)}
.ml-nav{background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 40%),var(--ml-grano),linear-gradient(180deg,rgba(26,108,174,.93) 0%,rgba(14,76,128,.98) 100%)}
.ml-nav-mas{box-shadow:0 0 0 5px #0F4F86,0 12px 24px -8px rgba(201,58,28,.75)}
.panel .btn-navy{background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 50%),linear-gradient(180deg,#1E73B8 0%,#155C99 100%)}
.chip.on{background:linear-gradient(180deg,#1E73B8,#155C99)}
/* Etiqueta desplegable para cualquier texto largo (misma idea que «Condiciones») */
.etq-desp{margin:2px 0 14px}
.etq-info{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 10px;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(11,60,93,.1),0 6px 14px -10px rgba(8,39,61,.4);color:var(--navy);font:600 13.5px/1 Inter,Arial,sans-serif;transition:transform .16s var(--ml-ease),background-color .2s ease}
.etq-info:active{transform:scale(.97)}
.etq-info:focus-visible{outline:2px solid var(--coral-ink);outline-offset:2px}
.etq-info svg{width:16px;height:16px;flex:0 0 auto}
.etq-info svg:first-child{color:#0E8077}
.etq-info svg:last-child{color:#7C8B97;transition:transform .25s var(--ml-ease)}
.etq-info.abierta svg:last-child{transform:rotate(90deg)}
.etq-cuerpo{margin:8px 0 0;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:var(--sombra-1);font-size:14.5px;line-height:1.5;color:var(--ink);max-width:none}
.etq-cuerpo[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.etq-info,.etq-info svg{transition:none}}
/* Ronda 3 · sin amarillo en ninguna parte; la tarjeta del plan recupera su azul con relieve */
.plan-hero{background:radial-gradient(130% 120% at 0% -30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 55%),linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.1) 52%,rgba(255,255,255,0) 64%),var(--ml-grano),var(--g-vivo);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 32px -22px rgba(15,74,126,.85)}
.plan-hero p{color:#E8F3FB}
.ic-reglas{background:rgba(23,179,166,.09);border:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 1px rgba(23,179,166,.22)}
.ml-sinred,.im-aviso{background:rgba(232,87,58,.1);color:#8A2A12;border:0;border-radius:0;box-shadow:inset 0 -1px 0 rgba(232,87,58,.25)}
.im-aviso{border-radius:14px}
.inf-frase{font:500 15px/1.5 Inter,Arial,sans-serif;background:rgba(23,179,166,.08);box-shadow:inset 0 0 0 1px rgba(23,179,166,.2);border:0}
.ml-app .contenido>.ml-resumen{margin-top:14px}
.ml-app .contenido>.ml-resumen:first-child{margin-top:0}
/* Números: cifras en dos columnas (menos recorrido, misma información) */
.ml-app .rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ml-app .rejilla>.caja{padding:14px 14px 16px;margin:0;min-width:0}
.ml-app .rejilla>.caja:last-child:nth-child(odd){grid-column:1/-1}
.ml-app .rejilla .caja p.cifra{font-size:clamp(28px,8.4vw,36px);line-height:1.05;letter-spacing:-.02em;margin:0 0 4px}
.ml-app .rejilla .caja p.cifra-txt{font-size:13.5px;line-height:1.35;margin:0}
.ml-app .ml-pt-et,.ml-app .ft-et{margin-top:10px}

/* ═══ v6.9 · Ronda 4: palabra sin pin, entrada con desvanecido, resumen alineado, fichaje rediseñado ═══ */
.ml-top-logo .ml-palabra{display:block;height:34px;width:auto}
.ml-entrada{position:fixed;inset:0;z-index:200;display:grid;place-items:center;pointer-events:none;background:radial-gradient(120% 90% at 15% -10%,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 55%),linear-gradient(115deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.12) 48%,rgba(255,255,255,0) 60%),var(--ml-grano),linear-gradient(180deg,#1E78BD 0%,#155C99 55%,#0F4A7E 100%);animation:ml-entrada-fuera .7s cubic-bezier(.23,1,.32,1) 1.7s forwards}
.ml-entrada img{display:block;width:min(240px,64vw);height:auto;animation:ml-entrada-dentro .9s cubic-bezier(.23,1,.32,1) both,ml-entrada-sale .6s cubic-bezier(.23,1,.32,1) 1.7s forwards}
@keyframes ml-entrada-dentro{from{opacity:0;transform:scale(.96);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes ml-entrada-sale{to{opacity:0;transform:scale(1.05);filter:blur(10px)}}
@keyframes ml-entrada-fuera{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.ml-entrada{display:none}}
/* Resumen de Hoy: izquierda · centro · derecha, cada etiqueta justo debajo de su cifra */
.ml-resumen-3 .ml-kpi{padding:16px 6px 16px;align-items:center;text-align:center}
.ml-resumen-3 .ml-kpi:first-child{align-items:flex-start;text-align:left;padding-left:20px}
.ml-resumen-3 .ml-kpi:last-child{align-items:flex-end;text-align:right;padding-right:20px}
.ml-resumen-3.ml-resumen-2 .ml-kpi:first-child{align-items:flex-start;text-align:left}
.ml-resumen-3 .ml-kpi span{white-space:nowrap;overflow:visible}
/* Fichaje: cabecera con icono y estado, distancia como control segmentado, acción principal en azul */
.fc-punto{padding:18px 16px 16px}
.fc-cab{display:flex;align-items:flex-start;gap:12px}
.fc-ic{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:radial-gradient(120% 120% at 0% -20%,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#1E73B8,#155C99);box-shadow:0 10px 18px -10px rgba(21,92,153,.8)}
.fc-ic svg{width:22px;height:22px}
.fc-cab-t{flex:1 1 0;min-width:0}
.fc-cab-t h3{margin:0 0 4px;font:700 18px/1.2 Poppins,Inter,sans-serif;color:var(--navy)}
.fc-sub{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}
.fc-cab .etq{margin-left:0;flex:0 0 auto}
.etq-aviso{background:rgba(232,87,58,.14);color:var(--coral-ink)}
.fc-campo{margin:18px 0 14px}
.fc-campo .ag-etq{margin:0 0 8px 2px}
.fc-campo .chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;background:rgba(11,60,93,.07)}
.fc-campo .chip{justify-content:center;background:transparent;box-shadow:none;min-height:40px;border-radius:12px;-webkit-backdrop-filter:none;backdrop-filter:none}
.fc-campo .chip[aria-checked=true]{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(8,39,61,.12),0 8px 16px -10px rgba(8,39,61,.4)}
.fc-marcar{min-height:60px;justify-content:flex-start;gap:14px;padding:0 18px;text-align:left}
.fc-marcar svg{width:22px;height:22px;flex:0 0 auto}
.fc-marcar-t{display:grid;gap:3px}
.fc-marcar-t b{font:700 16px/1.2 Poppins,Inter,sans-serif}
.fc-marcar-t small{font:500 12.5px/1.2 Inter,Arial,sans-serif;opacity:.88}
.fc-punto .etq-desp{margin:14px 0 0}
/* Cabecera más baja y degradado largo y escalonado: el azul se mantiene hasta casi el contenido, sin raya clara */
.ml-top .dentro{min-height:0;padding:6px 16px}
.ml-app .barra .logo.ml-top-logo{min-height:40px}
.panel .franja-prueba.fp,.ml-app .franja-prueba.fp{padding:0 16px 44px;background:radial-gradient(90px 70px at 88% 12%,rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 100%),radial-gradient(140px 90px at 6% 30%,rgba(120,190,255,.2) 0%,rgba(120,190,255,0) 100%),var(--ml-grano),linear-gradient(180deg,#1867A9 0%,rgba(24,103,169,.92) 30%,rgba(24,103,169,.62) 52%,rgba(24,103,169,.28) 74%,rgba(24,103,169,.08) 90%,rgba(24,103,169,0) 100%)}
.ml-hoy-cab{margin-top:-18px}
.ml-app .contenido>:first-child:not(.ml-hoy-cab){margin-top:-10px}
/* El contenido se desvanece bajo la cabecera al bajar (sin corte duro) */
.ml-app .barra.ml-top::after{content:'';position:absolute;left:0;right:0;top:100%;height:26px;background:linear-gradient(180deg,rgba(24,103,169,.6) 0%,rgba(24,103,169,.22) 55%,rgba(24,103,169,0) 100%);pointer-events:none}
.ml-app .barra.ml-top{box-shadow:none}
.fc-tit{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 4px}.fc-tit h3{margin:0!important}
.fc-punto{margin-bottom:22px}

/* ═══ v6.9 · Entrada cinematográfica: islas desenfocadas, pin que cae, palabra que se arma y se desvanece ═══ */
.ml-ent{--e:cubic-bezier(.23,1,.32,1);position:fixed;inset:0;z-index:200;overflow:hidden;display:grid;place-items:center;cursor:pointer;background:radial-gradient(120% 90% at 15% -10%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 55%),linear-gradient(115deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.12) 48%,rgba(255,255,255,0) 60%),var(--ml-grano),linear-gradient(180deg,#1E78BD 0%,#155C99 55%,#0E4676 100%);animation:ml-ent-dentro 1s var(--e) both,ml-ent-fuera .75s var(--e) 3.15s forwards}
.ml-ent-mapa{position:absolute;inset:0;display:grid;place-items:center;animation:ml-ent-mapa 4s linear both}
.ml-ent-mapa img{display:block;height:64vh;width:auto;max-width:none;filter:blur(5px) saturate(1.25) brightness(1.05);opacity:.62;mix-blend-mode:soft-light}
.ml-ent-vineta{position:absolute;inset:0;background:radial-gradient(75% 55% at 50% 48%,rgba(8,44,76,0) 0%,rgba(8,44,76,.55) 100%)}
.ml-ent-pila{position:relative;display:grid;justify-items:center;gap:20px;transform:translateY(-2vh);animation:ml-ent-pila-sale .7s var(--e) 2.95s forwards}
.ml-ent-pin{display:block;width:104px;height:104px;animation:ml-ent-pin 1.1s var(--e) .35s both}
.ml-ent-pin svg{display:block;width:100%;height:100%;overflow:visible}
.ml-ent-pal{width:min(236px,62vw);animation:ml-ent-enfoca 1.5s var(--e) .7s both}
.ml-ent-pal svg{display:block;width:100%;height:auto;overflow:visible}
.ml-ent-pal [id^=letra-]{transform-box:fill-box;transform-origin:50% 70%;animation:ml-ent-letra .8s var(--e) calc(.8s + var(--i) * .08s) both}
@keyframes ml-ent-dentro{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
@keyframes ml-ent-mapa{from{transform:translateX(9%) scale(1.12)}to{transform:translateX(-9%) scale(1.02)}}
@keyframes ml-ent-pin{from{opacity:0;transform:translateY(-34px) scale(.9);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes ml-ent-enfoca{from{filter:blur(16px)}to{filter:blur(0)}}
@keyframes ml-ent-letra{from{opacity:0;transform:translateY(14px) scale(.86)}to{opacity:1;transform:none}}
@keyframes ml-ent-pila-sale{to{opacity:0;transform:translateY(-2vh) scale(1.06);filter:blur(12px)}}
@keyframes ml-ent-fuera{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.ml-ent{display:none}}

/* Islas en vertical: cada una es un recorte del mapa; desenfocadas, con una deriva lenta (como si la cámara se moviera) */
.ml-ent-mapa{display:block;animation:ml-ent-zoom 4.2s linear both;filter:blur(4px) saturate(1.3) brightness(1.08)}
.ml-isla{position:absolute;display:block;background-image:url('/assets/islas-canarias-mini.v34.webp');background-repeat:no-repeat;opacity:.7;mix-blend-mode:soft-light;animation:ml-isla-deriva ease-in-out infinite alternate}
@keyframes ml-ent-zoom{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes ml-isla-deriva{from{transform:translate(0,0)}to{transform:translate(var(--dx),var(--dy))}}

/* Zona táctil de 44 px sin cambiar el tamaño visible (UX Pro Max: objetivos ≥44 px) */
.fp-btn,.ml-et,.etq-info,.chip,a.mini-a,.pl-mas{position:relative}
.fp-btn::after,.ml-et::after,.etq-info::after,.chip::after,a.mini-a::after,.pl-mas::after{content:'';position:absolute;left:0;right:0;top:50%;height:max(100%,44px);transform:translateY(-50%)}
.etiqueta,.etq{font-size:12px}
.ag-hora,.ag-horas span,.ml-hora-eje{font-size:12px}
.fp-btn{min-height:44px}
.ml-chips .chip,.chips .chip{min-height:44px}
.etq-info{min-height:40px}
/* todas las capas de la zona de la píldora (también el grano) se disuelven juntas: sin borde al final */
.panel .franja-prueba.fp,.ml-app .franja-prueba.fp{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,rgba(0,0,0,.18) 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,rgba(0,0,0,.18) 90%,transparent 100%)}
/* La pantalla de entrada (antes de abrir sesión) usa las mismas variables: sin ellas el botón «Entrar» quedaba sin fondo */
:root{--sombra-1:0 1px 2px rgba(8,39,61,.05),0 10px 24px -16px rgba(8,39,61,.28);--sombra-2:0 1px 2px rgba(8,39,61,.06),0 22px 40px -24px rgba(8,39,61,.4);--r-card:20px;--g-coral:linear-gradient(180deg,#DB4A2B 0%,#C93A1C 100%);--g-navy:linear-gradient(180deg,#1E73B8 0%,#155C99 100%);--ml-ease:cubic-bezier(.23,1,.32,1)}

/* ═══ v6.9 · Entrada a Mi local: azul con relieve + islas desenfocadas (mismo material que la app) ═══ */
body.ml-login{background:#155C99;min-height:100dvh}
.ml-login-fondo{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(120% 90% at 15% -10%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 55%),linear-gradient(115deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.12) 48%,rgba(255,255,255,0) 60%),var(--ml-grano),linear-gradient(180deg,#1E78BD 0%,#155C99 55%,#0E4676 100%)}
.ml-login-fondo .ml-ent-mapa{position:absolute;inset:0;animation:ml-ent-zoom 14s ease-out both}
.ml-login-caja{position:relative;z-index:1;display:grid;gap:0;max-width:420px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 16px 36px}
.ml-login-logo{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 22px 4px}
.ml-login-logo .ml-palabra{display:block;height:34px;width:auto}
.ml-login-caja .tarjeta{background:rgba(255,255,255,.95);border:0;border-radius:26px;padding:26px 22px 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 28px 50px -26px rgba(6,30,52,.7)}
.ml-login-caja .tarjeta h1{margin:0 0 4px;letter-spacing:-.02em}
.ml-login-caja .tarjeta .sub{margin:0 0 18px}
.ml-login-olvido{margin:14px 0 0}
.ml-login-olvido .etq-cuerpo{margin-top:8px}
.ml-login-alta{display:flex;flex-direction:column;align-items:center;gap:10px;margin:22px 0 0;color:#EAF4FB;font-size:14.5px;text-align:center}
.ml-login-alta .ml-et{margin-left:0}
@media (prefers-reduced-motion:reduce){.ml-login-fondo .ml-ent-mapa{animation:none}}
/* variables del material azul también antes de abrir sesión */
:root{--ml-n0:#1C6FB4;--ml-n1:#155C99;--ml-n2:#0F4A7E;--g-vivo:linear-gradient(165deg,#2380C6 0%,#165F9D 55%,#10508A 100%);--ml-grano:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.ml-et svg{width:14px;height:14px;flex:0 0 auto}
.ml-login-alta .ml-et{white-space:normal;text-align:left;padding:8px 16px;gap:10px;line-height:1.25}
/* v7.5 · Hoy como inicio: accesos rápidos y «Siguiente cliente» (efectos en inicio-luz.v1.css) */
.ml-accesos{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:14px -16px 0;padding:2px 16px}
.ml-accesos::-webkit-scrollbar{display:none}
.ml-acc{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:44px;padding:0 14px 0 6px;border:1px solid var(--ml-borde);border-radius:999px;background:#fff;color:var(--navy);font:600 14px Inter,sans-serif;cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.ml-acc:active{transform:scale(.96)}
.ml-acc:focus-visible{outline:2px solid var(--teal-ink,#0E7A6F);outline-offset:2px}
.ml-acc-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#E7F6F4;color:var(--navy)}
.ml-acc-ic svg{width:17px;height:17px}
.ml-sigcli{background:linear-gradient(150deg,#fff 50%,#E7F6F4);border:1px solid transparent;border-radius:20px;padding:16px;margin:0 0 16px;box-shadow:0 1px 2px rgba(8,49,77,.04),0 12px 26px -18px rgba(8,49,77,.35)}
.ml-sigcli-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ml-sigcli-cab .ig-estado{background:#fff}
.ml-sigcli-hora{font:700 30px/1 Poppins,Inter,sans-serif;color:var(--navy);font-variant-numeric:tabular-nums}
.ml-sigcli-nombre{margin:10px 0 2px;font:700 20px/1.2 Poppins,Inter,sans-serif;color:var(--navy);overflow-wrap:anywhere}
.ml-sigcli-det{margin:0;color:var(--muted);font-size:14.5px;overflow-wrap:anywhere}
.ml-sigcli-ojo{margin:8px 0 0;display:inline-block;padding:4px 10px;border-radius:999px;background:#FDE7E1;color:#9A2E14;font-weight:600;font-size:13px}
.ml-sigcli-acc{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ml-sigcli-acc .btn{width:auto;min-height:44px}
