/* CRM de Misión 50mm: variables, base y piezas compartidas (design-system/pages/crm.md, docs/crm/interfaz.md).
   Los estilos propios de cada pantalla van en css/v-<vista>.css. Todo lleva el prefijo crm-. Celular primero:
   lo de computadora vive en @media (min-width:1000px) al final. */

/* ============ Tipografía (local: la app abre sin red) ============ */
@font-face{font-family:"Geist";src:url("../fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("../fonts/GeistMono-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ============ Variables (identidad de Mis Pedidos) ============ */
:root{
  --fondo:#f4f4f5;--hoja:#ffffff;--campo:#f4f4f5;--campo-hover:#ececee;--texto:#0a0a0a;--suave:#6b6b73;--tenue:#a1a1aa;--linea:#e7e7ea;
  --negro:#0a0a0a;--sobre-negro:#ffffff;
  --acento:#14284b;--acento-texto:#14284b;--acento-relleno:#14284b;
  --tinte:color-mix(in srgb,#14284b 7%,transparent);--tinte-2:color-mix(in srgb,#14284b 14%,transparent);
  /* --ok para barras y puntos; --ok-texto para letras (6:1 sobre --ok-fondo, AA en 12.5 px). --suave-fuerte: el texto
     secundario dentro de cajas teñidas (--ok-fondo, --error-fondo, --tinte), donde --suave no llega a AA. */
  --ok:#15803d;--ok-texto:#166534;--ok-fondo:color-mix(in srgb,#15803d 10%,transparent);--suave-fuerte:#5a5a62;
  --error:#c62828;--error-fondo:color-mix(in srgb,#c62828 8%,transparent);--error-borde:color-mix(in srgb,#c62828 22%,transparent);
  --burbuja-cliente:#f0f0f2;--burbuja-bot:color-mix(in srgb,#14284b 6%,#ffffff);--burbuja-equipo:#14284b;
  --nota:color-mix(in srgb,#14284b 5%,transparent);--nota-borde:color-mix(in srgb,#14284b 25%,transparent);
  --col:#ececee;
  --sw-apagado:#e4e4e7;--verde-fijo:#15803d;--gris-fijo:#52525b;
  --wa:#25D366;--ms:#0A7CFF;--ig:#FF0069;--fb:#0866FF;--prueba:#52525b;
  --r1:12px;--r2:18px;--r3:28px;
  --sombra:0 1px 2px rgba(10,10,20,.04),0 2px 8px rgba(10,10,20,.05);
  --sombra-alta:0 2px 6px rgba(10,10,20,.06),0 16px 40px rgba(10,10,20,.14);
  --vidrio:color-mix(in srgb,#ffffff 80%,transparent);
  --vidrio-fondo:color-mix(in srgb,#f4f4f5 82%,transparent);
  --velo:rgba(10,10,20,.34);
  --curva:cubic-bezier(.32,.72,0,1);
  --fuente:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --tab-alto:62px;--lateral:248px;--teclado:0px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --fondo:#09090b;--hoja:#131316;--campo:#1c1c21;--campo-hover:#25252b;--texto:#fafafa;--suave:#a1a1aa;--tenue:#71717a;--linea:#27272a;
    --suave-fuerte:#b4b4bc;--negro:#fafafa;--sobre-negro:#0a0a0a;
    --acento-texto:color-mix(in srgb,#14284b 45%,#fff);--acento-relleno:#2c4678;
    --tinte:color-mix(in srgb,#7b97d6 12%,transparent);--tinte-2:color-mix(in srgb,#7b97d6 22%,transparent);
    --ok:#4ade80;--ok-texto:#4ade80;--ok-fondo:color-mix(in srgb,#4ade80 12%,transparent);
    --error:#f87171;--error-fondo:color-mix(in srgb,#f87171 11%,transparent);--error-borde:color-mix(in srgb,#f87171 28%,transparent);
    --burbuja-cliente:#202026;--burbuja-bot:#182036;--burbuja-equipo:#2c4678;
    --nota:color-mix(in srgb,#7b97d6 8%,transparent);--nota-borde:color-mix(in srgb,#7b97d6 30%,transparent);
    --col:#101013;
    --sombra:0 0 0 1px rgba(255,255,255,.05),0 2px 8px rgba(0,0,0,.35);
    --sombra-alta:0 0 0 1px rgba(255,255,255,.06),0 16px 40px rgba(0,0,0,.6);
    --vidrio:color-mix(in srgb,#131316 78%,transparent);
    --vidrio-fondo:color-mix(in srgb,#09090b 80%,transparent);
    --velo:rgba(0,0,0,.6);--sw-apagado:#3f3f46;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --fondo:#09090b;--hoja:#131316;--campo:#1c1c21;--campo-hover:#25252b;--texto:#fafafa;--suave:#a1a1aa;--tenue:#71717a;--linea:#27272a;
  --suave-fuerte:#b4b4bc;--negro:#fafafa;--sobre-negro:#0a0a0a;
  --acento-texto:color-mix(in srgb,#14284b 45%,#fff);--acento-relleno:#2c4678;
  --tinte:color-mix(in srgb,#7b97d6 12%,transparent);--tinte-2:color-mix(in srgb,#7b97d6 22%,transparent);
  --ok:#4ade80;--ok-texto:#4ade80;--ok-fondo:color-mix(in srgb,#4ade80 12%,transparent);
  --error:#f87171;--error-fondo:color-mix(in srgb,#f87171 11%,transparent);--error-borde:color-mix(in srgb,#f87171 28%,transparent);
  --burbuja-cliente:#202026;--burbuja-bot:#182036;--burbuja-equipo:#2c4678;
  --nota:color-mix(in srgb,#7b97d6 8%,transparent);--nota-borde:color-mix(in srgb,#7b97d6 30%,transparent);
  --col:#101013;
  --sombra:0 0 0 1px rgba(255,255,255,.05),0 2px 8px rgba(0,0,0,.35);
  --sombra-alta:0 0 0 1px rgba(255,255,255,.06),0 16px 40px rgba(0,0,0,.6);
  --vidrio:color-mix(in srgb,#131316 78%,transparent);
  --vidrio-fondo:color-mix(in srgb,#09090b 80%,transparent);
  --velo:rgba(0,0,0,.6);--sw-apagado:#3f3f46;
  color-scheme:dark;
}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html,body{height:100%}
html{background:var(--fondo);overscroll-behavior:none}
body{font-family:var(--fuente);font-size:16px;line-height:1.45;color:var(--texto);background:var(--fondo);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow:hidden;overscroll-behavior:none}
button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:0;cursor:pointer;text-align:inherit}
button:disabled,[aria-disabled="true"]{cursor:default}
button,a,label,summary,[role="button"],[role="tab"],[role="switch"]{touch-action:manipulation}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.015em}
:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}
[hidden]{display:none!important}
.crm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crm-num{font-variant-numeric:tabular-nums}
.crm-suave{color:var(--suave)}
.crm-err{color:var(--error)!important}
.crm-ok-t{color:var(--ok-texto)}
.crm-acento-t{color:var(--acento-texto)}
.crm-mono{font-family:var(--mono);font-size:13px}
/* Un folio (FP-1057, OV27-006) no se parte en el guion. */
.crm-folio{white-space:nowrap}
/* Dentro de una caja teñida, el texto secundario usa el tono más fuerte (AA). */
.crm-error-caja,.crm-estado-bot,.crm-entrar-msg,.crm-falla-bot,.crm-hoja-error,.crm-hb-error,.crm-alerta,.crm-ag-aviso,.crm-ag-falla,
.crm-aj-nota-ok,.crm-aj-nota-err,.crm-ct-error,.crm-ej-res-falla,.crm-ej-res-bien,.crm-ej-error,.crm-fl-falla,.crm-fl-aviso,
.crm-tira-card,.crm-pedido.crm-aprobada,.crm-guia-err,.crm-tira{--suave:var(--suave-fuerte)}
.crm-solo-pc{display:none!important}
.crm-sep-punto::before{content:"·";margin:0 6px;color:var(--suave)}
kbd,.crm-kbd{font:600 11px/1 var(--mono);padding:3px 6px;border-radius:6px;background:var(--hoja);box-shadow:inset 0 0 0 1px var(--linea);color:var(--suave)}

/* ============ Íconos (Lucide en js/iconos.js) ============ */
.crm-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.crm-i-sm{width:16px;height:16px}.crm-i-xs{width:14px;height:14px}.crm-i-lg{width:24px;height:24px}
.crm-lg{fill:currentColor;stroke:none;flex:none}

/* ============ Botones ============ */
.crm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:600;white-space:nowrap;transition:background-color .15s,color .15s,transform .1s,box-shadow .15s,opacity .15s;cursor:pointer;user-select:none;-webkit-user-select:none}
.crm-btn:active:not(:disabled){transform:scale(.97)}
.crm-btn:disabled,.crm-btn[aria-disabled="true"]{opacity:.5}
.crm-btn-sm{min-height:36px;padding:0 14px;font-size:14px}
.crm-btn-sm::after{content:"";position:absolute;inset:-4px 0}
.crm-btn-negro{background:var(--negro);color:var(--sobre-negro);box-shadow:0 1px 2px rgba(10,10,20,.12)}
.crm-btn-borde{background:var(--hoja);box-shadow:inset 0 0 0 1px var(--linea)}
.crm-btn-gris{background:var(--campo)}
.crm-btn-ok{background:var(--ok-fondo);color:var(--ok-texto)}
.crm-btn-error{background:var(--error-fondo);color:var(--error)}
.crm-btn-ancho{width:100%}
.crm-btn-texto{position:relative;min-height:44px;padding:0 6px;font-weight:600;font-size:14.5px;color:var(--acento-texto);display:inline-flex;align-items:center;gap:6px;border-radius:10px}
.crm-btn-texto.crm-peligro,.crm-btn.crm-peligro{color:var(--error)}
.crm-btn-icono{position:relative;width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--texto);transition:background-color .15s}
.crm-btn-icono.crm-gris{background:var(--campo)}
.crm-btn-icono.crm-chico{width:36px;height:36px}
.crm-btn-icono.crm-chico::after{content:"";position:absolute;inset:-4px}
@media (hover:hover){
  .crm-btn-negro:hover:not(:disabled){background:var(--acento-relleno);color:#fff}
  .crm-btn-borde:hover:not(:disabled),.crm-btn-gris:hover:not(:disabled){background:var(--campo-hover)}
  .crm-btn-ok:hover:not(:disabled){background:color-mix(in srgb,var(--ok) 16%,transparent)}
  .crm-btn-icono:hover:not(:disabled){background:var(--campo-hover)}
  .crm-btn-texto:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
}
/* Ocupado: el botón conserva su ancho y muestra un giro en lugar del contenido. */
.crm-ocupado{pointer-events:none}
.crm-ocupado>*:not(.crm-gira){visibility:hidden}
.crm-ocupado>.crm-gira{position:absolute;left:50%;top:50%;margin:-8px 0 0 -8px}
.crm-gira{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:crm-gira .9s linear infinite;flex:none}
@keyframes crm-gira{to{transform:rotate(360deg)}}
/* Confirmar en dos toques */
.crm-confirmando{background:var(--error)!important;color:#fff!important;box-shadow:none!important}

/* ============ Etiquetas, insignias y barras ============ */
.crm-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--campo);color:var(--suave);flex:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.crm-chip .crm-i{width:13px;height:13px}
.crm-chip-acento{background:var(--tinte);color:var(--acento-texto)}
.crm-chip-ok{background:var(--ok-fondo);color:var(--ok-texto)}
.crm-chip-error{background:var(--error-fondo);color:var(--error)}
.crm-chip-borde{background:none;box-shadow:inset 0 0 0 1px var(--linea);color:var(--suave)}
.crm-chip-negro{background:var(--negro);color:var(--sobre-negro)}
.crm-chip-grande{height:32px;padding:0 12px;font-size:13.5px}
.crm-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--acento-relleno);color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums;line-height:1}
.crm-punto{width:8px;height:8px;border-radius:50%;background:var(--acento-relleno);flex:none;display:inline-block}
.crm-punto.crm-rojo{background:var(--error)}
.crm-barra{display:block;height:6px;border-radius:3px;background:var(--campo-hover);overflow:hidden}
.crm-barra>i{display:block;height:100%;border-radius:3px;background:var(--acento-relleno)}
.crm-barra.crm-ok>i{background:var(--ok)}
.crm-barra.crm-error>i{background:var(--error)}

/* ============ Tarjetas ============ */
.crm-tarjeta{background:var(--hoja);border-radius:var(--r2);box-shadow:var(--sombra)}
.crm-tarjeta-pad{padding:14px 16px}

/* ============ Monograma con logo de canal ============ */
.crm-av{position:relative;width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--campo-hover);color:var(--suave);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1;user-select:none;-webkit-user-select:none}
.crm-av.crm-lleno{background:var(--acento-relleno);color:#fff}
.crm-av.crm-av-md{width:44px;height:44px;font-size:15px}
.crm-av.crm-av-sm{width:32px;height:32px;font-size:12px}
.crm-av.crm-av-xs{width:24px;height:24px;font-size:11px;box-shadow:0 0 0 2px var(--hoja)}
.crm-av.crm-av-xl{width:64px;height:64px;font-size:22px}
.crm-av>.crm-i{width:55%;height:55%}
.crm-av-canal{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 2px var(--hoja)}
.crm-av-canal .crm-lg,.crm-av-canal .crm-i{width:11px;height:11px}
.crm-av.crm-av-sm .crm-av-canal{width:16px;height:16px;right:-4px;bottom:-4px}
.crm-av.crm-av-sm .crm-av-canal .crm-lg{width:10px;height:10px}
.crm-av.crm-av-xl .crm-av-canal{width:22px;height:22px}
.crm-av.crm-av-xl .crm-av-canal .crm-lg{width:13px;height:13px}
.crm-presencia{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--fondo)}
.crm-presencia.crm-fuera{background:var(--tenue)}
.crm-tarjeta .crm-presencia,.crm-hoja .crm-presencia,.crm-lateral .crm-presencia{box-shadow:0 0 0 2px var(--hoja)}
.crm-logo-canal{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;color:#fff;flex:none;vertical-align:middle}
.crm-logo-canal .crm-lg,.crm-logo-canal .crm-i{width:12px;height:12px}
.crm-logo-canal.crm-grande{width:20px;height:20px;border-radius:6px}
.crm-logo-canal.crm-grande .crm-lg{width:13px;height:13px}
.crm-c-whatsapp{background:var(--wa)}.crm-c-messenger{background:var(--ms)}.crm-c-instagram{background:var(--ig)}.crm-c-facebook{background:var(--fb)}.crm-c-prueba{background:var(--prueba)}
.crm-logo-sticker{height:34px;width:auto}

/* ============ Interruptor y segmentado ============ */
.crm-sw{appearance:none;-webkit-appearance:none;position:relative;width:51px;height:31px;flex:none;border-radius:999px;background:var(--sw-apagado);cursor:pointer;transition:background-color .2s;margin:0}
.crm-sw::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .25s var(--curva)}
.crm-sw:checked{background:var(--acento-relleno)}
.crm-sw:checked::after{transform:translateX(20px)}
.crm-sw:disabled{opacity:.5;cursor:default}
.crm-sw.crm-chico{width:42px;height:26px}.crm-sw.crm-chico::after{width:22px;height:22px}.crm-sw.crm-chico:checked::after{transform:translateX(16px)}
/* Zona de toque de 44 px alrededor del interruptor chico (borde transparente que no se ve ni ocupa lugar). */
.crm-sw.crm-chico{box-sizing:content-box;border:9px solid transparent;background-clip:padding-box;margin:-9px}
.crm-seg{display:flex;background:var(--campo-hover);border-radius:12px;padding:3px;gap:2px;min-width:0}
.crm-seg>button{position:relative;flex:1;min-width:0;min-height:40px;padding:0 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;transition:background-color .15s,color .15s}
.crm-seg>button::after{content:"";position:absolute;inset:-2px 0}
.crm-seg>button[aria-selected="true"],.crm-seg>button[aria-checked="true"]{background:var(--hoja);color:var(--texto);box-shadow:var(--sombra)}

/* ============ Estructura ============ */
.crm-app{position:fixed;inset:0;overflow:hidden}
.crm-lateral{display:none}
.crm-escena{position:absolute;inset:0;background:var(--fondo);transition:transform .3s var(--curva);overflow:hidden}
.crm-vistas{position:absolute;inset:0;transition:top .2s var(--curva)}
/* Sin conexión o reconectando: la píldora va arriba y la pantalla baja lo que ella ocupa, sin tapar la cabecera. */
.crm-app.crm-con-red .crm-vistas{top:40px}
.crm-vista{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;container-type:inline-size;padding-bottom:calc(env(safe-area-inset-bottom) + var(--tab-alto) + 28px);animation:crm-aparece .2s ease-out}
.crm-vista.crm-flex{display:flex;flex-direction:column;overflow:hidden}
@keyframes crm-aparece{from{opacity:0}}
.crm-app.crm-sin-barras{--tab-alto:0px}
.crm-contenido{padding:0 16px}
.crm-titulo-sec{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 10px}
.crm-titulo-sec h2{font-size:19px;font-weight:750;letter-spacing:-.02em}

/* Barra inferior (celular) */
.crm-tabbar{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;padding:5px 6px calc(env(safe-area-inset-bottom) + 3px);background:var(--vidrio);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 .5px 0 var(--linea)}
.crm-tab{position:relative;flex:1;max-width:100px;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--suave);transition:color .15s;text-align:center}
.crm-tab-ic{width:56px;height:30px;border-radius:999px;display:grid;place-items:center;transition:background-color .2s}
.crm-tab .crm-i{width:23px;height:23px;stroke-width:1.8}
.crm-tab[aria-current="page"]{color:var(--texto)}
.crm-tab[aria-current="page"] .crm-tab-ic{background:var(--tinte-2);color:var(--acento-texto)}
.crm-tab .crm-badge{position:absolute;top:1px;left:calc(50% + 8px);height:18px;min-width:18px;font-size:11px;padding:0 5px;box-shadow:0 0 0 2px var(--hoja)}
.crm-tab .crm-punto-err{position:absolute;top:4px;left:calc(50% + 12px);width:9px;height:9px;border-radius:50%;background:var(--error);box-shadow:0 0 0 2px var(--hoja)}

/* Cabeceras de pantalla */
.crm-cab{padding:calc(env(safe-area-inset-top) + 10px) 16px 10px}
.crm-cab h1{font-size:32px;line-height:1.08;font-weight:800;letter-spacing:-.035em;overflow-wrap:anywhere}
.crm-cab-sub{font-size:15px;color:var(--suave);margin-top:3px}
.crm-cab-sub b{color:var(--texto);font-weight:650}
.crm-cab-fila{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
.crm-cab-fila.crm-centro{align-items:center}
.crm-cab-acc{display:flex;align-items:center;gap:6px;flex:none}
.crm-cab-sup{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;min-height:44px}
.crm-cab-pegada{position:sticky;top:0;z-index:6;background:var(--vidrio-fondo);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}
.crm-atras{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin-left:-8px;padding-right:8px;font-size:16px;font-weight:550;color:var(--acento-texto);max-width:100%;white-space:nowrap}
.crm-atras .crm-i{width:24px;height:24px}
/* Cabecera de las pantallas que entran desde la derecha (ficha y las que no tienen cabecera propia) */
.crm-panel-cab{flex:none;display:flex;align-items:center;gap:4px;min-height:52px;padding:calc(env(safe-area-inset-top) + 4px) 8px 4px 2px;border-bottom:1px solid var(--linea);background:var(--hoja)}
.crm-panel-cab h2{flex:1;min-width:0;font-size:17px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-panel-cuerpo{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;container-type:inline-size;padding:4px 16px calc(env(safe-area-inset-bottom) + 28px)}
.crm-cerrar-pc{display:none!important}

/* ============ Pantallas que entran desde la derecha (celular) y panel acoplado (computadora) ============ */
.crm-panel-zona{position:static}
.crm-panel{position:fixed;z-index:40;inset:0;display:flex;flex-direction:column;background:var(--hoja);transform:translateX(102%);visibility:hidden;transition:transform .3s var(--curva),visibility 0s .3s;overflow:hidden;box-shadow:-10px 0 30px rgba(10,10,20,.10);touch-action:pan-y}
.crm-panel.crm-abierto{transform:none;visibility:visible;transition:transform .3s var(--curva),visibility 0s}
.crm-panel.crm-atras-de{transform:translateX(-26%)}
.crm-panel.crm-arrastrando{transition:none}
.crm-app.crm-con-panel .crm-escena{transform:translateX(-26%)}
.crm-escena.crm-arrastrando{transition:none}
#crm-panel-conv{flex-direction:row}
#crm-panel-conv>.crm-panel-int{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
#crm-panel-contacto>.crm-panel-int{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}

/* ============ Listas y filas ============ */
.crm-lista{background:var(--hoja);border-radius:14px;box-shadow:inset 0 0 0 1px var(--linea);overflow:hidden}
.crm-fila{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;font-size:15px;width:100%;text-align:left;min-width:0}
.crm-fila+.crm-fila{box-shadow:inset 0 1px 0 var(--linea)}
.crm-fila .crm-fila-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.crm-fila .crm-fila-txt>b,.crm-fila .crm-fila-txt>span:first-child{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-fila small{display:block;font-size:13px;color:var(--suave);line-height:1.3}
.crm-fila .crm-der{margin-left:auto;font-size:13px;color:var(--suave);text-align:right;white-space:nowrap;flex:none}
.crm-fila .crm-ic-caja{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--campo);flex:none}
.crm-fila .crm-ic-caja .crm-i{width:17px;height:17px}
button.crm-fila,a.crm-fila{cursor:pointer}
@media (hover:hover){button.crm-fila:hover,a.crm-fila:hover{background:var(--campo)}}
.crm-fila.crm-alta{min-height:56px}
.crm-lista-grupo{display:flex;align-items:baseline;justify-content:space-between;padding:12px 4px 6px;font-size:13.5px;font-weight:650;color:var(--suave)}
/* Fila que se desliza (deslizarFila en ui.js) */
.crm-fila-wrap{position:relative;border-radius:var(--r2);touch-action:pan-y}
.crm-fila-wrap.crm-deslizando{overflow:hidden}
.crm-fila-wrap>.crm-fila-frente{position:relative;z-index:1;transition:transform .25s var(--curva)}
.crm-fila-wrap.crm-arrastrando>.crm-fila-frente{transition:none}
.crm-fila-acc{position:absolute;inset:0;display:flex;border-radius:inherit;overflow:hidden;background:var(--campo)}
.crm-fila-acc button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:84px;color:#fff;font-size:12.5px;font-weight:650;flex:none;text-align:center;padding:0 4px;line-height:1.15}
.crm-fila-acc .crm-acc-fin{display:flex;margin-left:auto;height:100%}
.crm-acc-acento{background:var(--acento-relleno)}
.crm-acc-gris{background:var(--gris-fijo)}
.crm-acc-verde{background:var(--verde-fijo)}
.crm-acc-rojo{background:#c62828}
@media (max-width:999px){.crm-fila-wrap>.crm-fila-frente{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}
/* Casilla para elegir */
.crm-check{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:none;border-radius:7px;box-shadow:inset 0 0 0 2px var(--suave);background:transparent center/14px no-repeat;cursor:pointer;margin:0;transition:background-color .15s,box-shadow .15s}
.crm-check:checked,.crm-check:indeterminate{background-color:var(--acento-relleno);box-shadow:none}
.crm-check:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.crm-check:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E")}
.crm-check-zona{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:none;cursor:pointer}
.crm-elegida{background:var(--tinte)!important}
.crm-mas-fila{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:8px;font-size:14px;font-weight:600;color:var(--acento-texto);border-radius:12px;box-shadow:inset 0 0 0 1px var(--linea)}

/* ============ Campos de formulario y buscador ============ */
.crm-campo-g{margin-top:16px;min-width:0}
.crm-campo-lbl{display:block;font-size:13.5px;font-weight:650;color:var(--suave);margin-bottom:6px}
.crm-campo-in,.crm-campo-ta,.crm-campo-sel select{width:100%;appearance:none;-webkit-appearance:none;border:0;border-radius:12px;background:var(--campo);min-height:44px;padding:0 14px;font-size:16px;outline:none;color:var(--texto)}
.crm-campo-ta{padding:12px 14px;min-height:120px;line-height:1.5;resize:vertical;font-size:16px;display:block}
.crm-campo-in:focus,.crm-campo-ta:focus,.crm-campo-sel select:focus{box-shadow:0 0 0 2px var(--acento-texto)}
.crm-campo-in[aria-invalid="true"],.crm-campo-ta[aria-invalid="true"]{box-shadow:0 0 0 2px var(--error)}
.crm-campo-in::placeholder,.crm-campo-ta::placeholder{color:var(--suave);opacity:1}
.crm-campo-sel{position:relative;display:flex;align-items:center}
.crm-campo-sel select{padding-right:40px}
.crm-campo-sel .crm-i{position:absolute;right:14px;pointer-events:none;color:var(--suave)}
.crm-campo-clave{position:relative;display:flex;align-items:center}
.crm-campo-clave .crm-campo-in{padding-right:52px}
.crm-campo-clave .crm-btn-icono{position:absolute;right:0;color:var(--suave)}
.crm-ayuda{font-size:13px;color:var(--suave);margin-top:6px;line-height:1.4}
.crm-campo-error{font-size:13.5px;color:var(--error);font-weight:600;margin-top:6px}
.crm-buscador{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:999px;background:var(--hoja);box-shadow:var(--sombra);color:var(--suave);min-width:0}
.crm-buscador input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font-size:16px;color:var(--texto)}
.crm-buscador input::placeholder{color:var(--suave);opacity:1}
.crm-buscador input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.crm-buscador:focus-within{box-shadow:0 0 0 2px var(--acento-texto)}
.crm-buscador.crm-gris{background:var(--campo);box-shadow:none}
.crm-buscador.crm-gris:focus-within{box-shadow:0 0 0 2px var(--acento-texto)}
.crm-limpiar-q{width:32px;height:32px;margin-right:-6px;border-radius:50%;display:grid;place-items:center;background:var(--campo-hover);color:var(--texto);position:relative;flex:none}
.crm-limpiar-q::after{content:"";position:absolute;inset:-6px}
.crm-sw-lista{border-radius:14px;box-shadow:inset 0 0 0 1px var(--linea);overflow:hidden;background:var(--hoja)}
.crm-sw-fila{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;font-size:15px;cursor:pointer}
.crm-sw-fila+.crm-sw-fila{box-shadow:inset 0 1px 0 var(--linea)}
.crm-sw-fila .crm-fila-txt{flex:1;min-width:0}
.crm-sw-fila small{display:block;font-size:13px;color:var(--suave);line-height:1.3}
.crm-stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crm-stepper button{width:44px;height:44px;border-radius:12px;background:var(--campo);font-size:22px;font-weight:500;line-height:1;display:grid;place-items:center}
.crm-stepper output{min-width:88px;text-align:center;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}

/* Vistas como pestañas en píldora (Bandeja, Embudo) y como texto (tablas) */
.crm-vtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -16px 0;padding:0 16px 2px;overscroll-behavior-x:contain}
.crm-vtabs::-webkit-scrollbar{display:none}
.crm-vtab{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--suave);background:var(--hoja);box-shadow:var(--sombra);white-space:nowrap;transition:background-color .15s,color .15s;position:relative}
.crm-vtab::after{content:"";position:absolute;inset:-2px 0}
.crm-vtab .crm-n{font-size:13px;font-weight:700;color:var(--suave);font-variant-numeric:tabular-nums}
.crm-vtab[aria-selected="true"]{background:var(--negro);color:var(--sobre-negro)}
.crm-vtab[aria-selected="true"] .crm-n{color:inherit;opacity:.7}
.crm-puestos{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.crm-puestos:empty{display:none}
.crm-puesto{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 4px 0 12px;border-radius:999px;background:var(--campo-hover);font-size:13.5px;font-weight:600;max-width:100%}
.crm-puesto>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-puesto button{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none}
.crm-puesto button::after{content:"";position:absolute;inset:-8px -4px}

/* ============ Hoja inferior (ventana centrada en computadora) ============ */
.crm-velo-hoja{position:fixed;inset:0;z-index:60;background:var(--velo);opacity:0;pointer-events:none;transition:opacity .28s}
.crm-velo-hoja.crm-visible{opacity:1;pointer-events:auto}
.crm-hoja{position:fixed;z-index:70;left:0;right:0;bottom:0;max-height:min(88dvh,calc(100dvh - env(safe-area-inset-top) - 24px));display:flex;flex-direction:column;background:var(--hoja);border-radius:var(--r3) var(--r3) 0 0;box-shadow:var(--sombra-alta);transform:translateY(105%);visibility:hidden;transition:transform .3s var(--curva),visibility 0s .3s;outline:none;padding-bottom:var(--teclado)}
.crm-hoja.crm-abierta{transform:none;visibility:visible;transition:transform .3s var(--curva),visibility 0s}
.crm-hoja.crm-arrastrando{transition:none}
.crm-arrastre{flex:none;touch-action:none;cursor:grab}
.crm-asa{display:block;width:38px;height:5px;border-radius:3px;background:var(--campo-hover);margin:8px auto 4px}
.crm-hoja-cab{display:flex;align-items:center;gap:8px;padding:0 8px 6px 20px}
.crm-hoja-cab h2{flex:1;min-width:0;font-size:19px;font-weight:750;letter-spacing:-.02em;overflow-wrap:anywhere}
.crm-hoja-cuerpo{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px calc(env(safe-area-inset-bottom) + 20px);container-type:inline-size}
.crm-hoja-cuerpo.crm-con-pie{padding-bottom:12px}
.crm-hoja-pie{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px calc(env(safe-area-inset-bottom) + 14px);box-shadow:inset 0 1px 0 var(--linea)}
.crm-hoja-pie .crm-btn{flex:1 1 auto}
.crm-hoja-intro{font-size:15px;margin-bottom:12px}
.crm-hoja-intro.crm-suave{font-size:14px}

/* Opciones (renglones de 56 px dentro de una hoja o una lista) */
.crm-opciones{border-radius:14px;box-shadow:inset 0 0 0 1px var(--linea);overflow:hidden;background:var(--hoja)}
.crm-opcion{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;text-align:left;font-size:16px;color:var(--texto)}
.crm-opcion+.crm-opcion{box-shadow:inset 0 1px 0 var(--linea)}
.crm-opcion>.crm-i{color:var(--suave)}
.crm-opcion .crm-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.crm-opcion .crm-txt>span{overflow-wrap:anywhere}
.crm-opcion small{display:block;font-size:13px;color:var(--suave);line-height:1.3}
.crm-opcion .crm-marca{color:var(--acento-texto);flex:none}
.crm-opcion[aria-disabled="true"]{opacity:.55}
.crm-opcion.crm-peligro,.crm-opcion.crm-peligro>.crm-i{color:var(--error)}
.crm-opcion[aria-selected="true"]{background:var(--tinte)}
.crm-opcion kbd{margin-left:auto}
.crm-opcion .crm-der{margin-left:auto;font-size:13px;color:var(--suave);white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
@media (hover:hover){.crm-opcion:hover:not([aria-disabled="true"]){background:var(--campo)}}
.crm-opciones-g{font-size:13px;font-weight:650;color:var(--suave);margin:14px 2px 6px}
.crm-opciones-g:first-child{margin-top:0}

/* Menú de ⋯ (en computadora; en el celular es una hoja) */
.crm-menu{position:fixed;z-index:80;min-width:220px;max-width:min(320px,calc(100vw - 24px));max-height:min(420px,calc(100dvh - 24px));overflow-y:auto;padding:6px;border-radius:14px;background:var(--hoja);box-shadow:var(--sombra-alta);animation:crm-menu .15s var(--curva)}
.crm-menu .crm-opcion{min-height:40px;padding:6px 10px;border-radius:9px;font-size:15px;box-shadow:none}
.crm-menu .crm-opcion+.crm-opcion{box-shadow:none}
.crm-menu .crm-sep{height:1px;background:var(--linea);margin:4px 6px}
@keyframes crm-menu{from{opacity:0;transform:translateY(-4px)}}

/* Paleta «Buscar o hacer» */
.crm-pal-in{display:flex;align-items:center;gap:8px;height:48px;padding:0 14px;border-radius:14px;background:var(--campo);color:var(--suave);margin-bottom:12px}
.crm-pal-in input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font-size:16px;color:var(--texto)}
.crm-pal-in input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.crm-pal-in:focus-within{box-shadow:0 0 0 2px var(--acento-texto)}
.crm-pal-g{font-size:13px;font-weight:650;color:var(--suave);margin:12px 2px 6px}
.crm-paleta .crm-opcion{border-radius:12px;box-shadow:none}
.crm-paleta .crm-opcion+.crm-opcion{box-shadow:none}

/* ============ Aviso breve ============ */
.crm-toast{position:fixed;z-index:90;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(env(safe-area-inset-bottom) + var(--tab-alto) + 16px);transform:translateY(16px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:12px;max-width:min(calc(100vw - 32px),480px);min-width:min(calc(100vw - 32px),280px);padding:12px 8px 12px 16px;border-radius:16px;background:var(--negro);color:var(--sobre-negro);box-shadow:var(--sombra-alta);font-size:14.5px;line-height:1.35;transition:transform .25s var(--curva),opacity .2s}
.crm-toast.crm-visible{transform:none;opacity:1;pointer-events:auto}
.crm-toast>span{flex:1;min-width:0;overflow-wrap:anywhere}
.crm-toast>span.crm-solo{padding-right:8px}
.crm-toast button{flex:none;font-weight:700;min-height:36px;padding:0 10px;border-radius:10px;color:inherit;text-decoration:underline;text-underline-offset:3px;position:relative}
.crm-toast button::after{content:"";position:absolute;inset:-4px 0}

/* ============ Barra de elegidas ============ */
.crm-lote{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--tab-alto) + 14px);z-index:9;display:flex;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:4px 4px 4px 16px;border-radius:999px;background:var(--negro);color:var(--sobre-negro);box-shadow:var(--sombra-alta);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:transform .25s var(--curva),opacity .2s;white-space:nowrap;font-size:14px;font-weight:600}
.crm-lote.crm-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.crm-lote>span{margin-right:4px;font-variant-numeric:tabular-nums}
.crm-lote button{position:relative;min-height:44px;padding:0 10px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:inherit}
.crm-lote .crm-btn-icono{color:inherit;width:40px;height:40px;min-height:40px;padding:0;justify-content:center}
.crm-lote .crm-lote-sep{width:1px;height:22px;background:currentColor;opacity:.25;margin:0 4px}
.crm-lote .crm-peligro{color:#f87171}
.crm-lote .crm-confirmando{border-radius:999px}
.crm-elegir-todas{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 0 8px;font-size:14px}

/* ============ Estados: esqueleto, vacío, error, sin conexión ============ */
.crm-esq{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 12px;padding:14px;background:var(--hoja);border-radius:var(--r2);box-shadow:var(--sombra);list-style:none}
.crm-esq+.crm-esq{margin-top:8px}
.crm-esq i{display:block;height:12px;border-radius:6px;background:var(--campo-hover);animation:crm-brillo 1.2s ease-in-out infinite}
.crm-esq i.crm-c{width:44px;height:44px;border-radius:50%;grid-row:span 3}
.crm-esq.crm-esq-linea{grid-template-columns:minmax(0,1fr);padding:12px 14px}
.crm-esq.crm-esq-tarjeta{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px}
.crm-esq.crm-esq-tarjeta i:first-child{height:18px}
@keyframes crm-brillo{50%{opacity:.45}}
.crm-vacio{padding:40px 24px;text-align:center;color:var(--suave);display:flex;flex-direction:column;align-items:center;gap:4px}
.crm-vacio>.crm-i{width:28px;height:28px;margin-bottom:6px;color:var(--suave)}
.crm-vacio h3{color:var(--texto);font-size:17px}
.crm-vacio p{font-size:15px;max-width:420px}
.crm-vacio .crm-btn{margin-top:12px}
.crm-error-caja{margin:12px 0;padding:14px 16px;border-radius:var(--r2);background:var(--error-fondo);box-shadow:inset 0 0 0 1px var(--error-borde)}
.crm-error-caja h3{display:flex;align-items:center;gap:8px;font-size:17px;color:var(--error);letter-spacing:-.015em}
.crm-error-caja p{font-size:15px;margin-top:4px;color:var(--texto);overflow-wrap:anywhere}
.crm-error-caja .crm-hacer{font-size:14px;color:var(--suave);margin-top:4px}
.crm-error-caja .crm-acc{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.crm-contenido>.crm-error-caja:first-child,.crm-vista>.crm-error-caja{margin:12px 16px}
.crm-tecnico{margin-top:8px}
.crm-tecnico summary{display:inline-flex;align-items:center;gap:4px;min-height:36px;font-size:13.5px;font-weight:600;color:var(--suave);cursor:pointer;list-style:none}
.crm-tecnico summary::-webkit-details-marker{display:none}
.crm-tecnico summary .crm-i{transition:transform .2s}
.crm-tecnico[open] summary .crm-i{transform:rotate(180deg)}
.crm-tecnico code{display:block;margin-top:2px;padding:8px 10px;border-radius:8px;background:var(--hoja);font:12.5px/1.45 var(--mono);color:var(--suave);overflow-wrap:anywhere;white-space:pre-wrap}
.crm-red{position:fixed;z-index:95;left:0;right:0;margin:0 auto;width:max-content;max-width:calc(100vw - 32px);top:calc(env(safe-area-inset-top) + 6px);display:flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:999px;background:var(--negro);color:var(--sobre-negro);font-size:13.5px;font-weight:600;box-shadow:var(--sombra-alta);pointer-events:none}
.crm-red .crm-i{width:16px;height:16px}
.crm-red .crm-gira{width:14px;height:14px}
/* En el celular, con la conversación o la ficha encima, el aviso de red va dentro de la pantalla (franja sobre el compositor). */
@media (max-width:999px){.crm-app.crm-con-panel~.crm-red,.crm-app.crm-con-panel~.crm-push-aviso{display:none!important}}

/* ============ Tabla de la regla del admin (design-system/pages/admin-tablas.md) ============ */
.crm-tabla-zona{container-type:inline-size;container-name:tabla;min-width:0}
.crm-tabla-barra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px}
.crm-tabla-barra .crm-buscador{flex:1 1 220px}
.crm-tabla-herr{display:flex;align-items:center;gap:2px;flex:none;margin-left:auto}
.crm-tabla-herr .crm-btn-texto{color:var(--texto);font-size:14px}
.crm-tabla-vistas{display:flex;gap:2px 18px;overflow-x:auto;scrollbar-width:none;margin:8px 0 0;padding:0 2px;border-bottom:1px solid var(--linea)}
.crm-tabla-vistas::-webkit-scrollbar{display:none}
.crm-tabla-vistas button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14.5px;font-weight:600;color:var(--suave);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.crm-tabla-vistas button .crm-n{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.crm-tabla-vistas button[aria-selected="true"]{color:var(--texto);border-bottom-color:var(--acento-texto)}
.crm-tabla-zona .crm-puestos{margin-top:8px}
.crm-tabla-resumen{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 2px 8px;font-size:13.5px;color:var(--suave);min-height:40px}
.crm-tabla-resumen b{color:var(--texto);font-weight:650}
.crm-tabla{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--hoja);border-radius:var(--r2);box-shadow:var(--sombra)}
.crm-tabla th,.crm-tabla td{padding:0 10px;text-align:left;vertical-align:middle;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-tabla thead th{position:sticky;top:0;z-index:2;height:40px;background:var(--hoja);box-shadow:inset 0 -1px 0 var(--linea);font-size:13px;font-weight:650;color:var(--suave)}
.crm-tabla thead th:first-child{border-top-left-radius:var(--r2)}
.crm-tabla thead th:last-child{border-top-right-radius:var(--r2)}
.crm-tabla thead th button{display:inline-flex;align-items:center;gap:4px;min-height:40px;max-width:100%;font:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis}
.crm-tabla thead th[aria-sort="ascending"],.crm-tabla thead th[aria-sort="descending"]{color:var(--texto)}
.crm-tabla thead th .crm-i{width:14px;height:14px}
.crm-tabla tbody tr{cursor:pointer}
.crm-tabla tbody td{height:52px;box-shadow:inset 0 1px 0 var(--linea)}
.crm-tabla tbody tr:first-child td{box-shadow:none}
.crm-tabla.crm-compacta tbody td{height:40px;font-size:14px}
.crm-tabla tbody tr.crm-abierta td{background:var(--tinte)}
.crm-tabla tbody tr.crm-elegida td{background:var(--tinte)}
.crm-tabla tbody tr:focus-visible{outline:2px solid var(--acento-texto);outline-offset:-2px}
.crm-tabla tbody tr.crm-foco td{background:var(--campo)}
@media (hover:hover){.crm-tabla tbody tr:hover td{background:var(--campo)}.crm-tabla tbody tr.crm-elegida:hover td,.crm-tabla tbody tr.crm-abierta:hover td{background:var(--tinte)}}
.crm-tabla .crm-td-sel,.crm-tabla .crm-th-sel{width:52px;padding:0 4px 0 12px}
.crm-tabla .crm-td-menu,.crm-tabla .crm-th-menu{width:52px;padding:0 8px 0 0;text-align:right}
.crm-tabla .crm-der{text-align:right}
.crm-tabla .crm-der button{flex-direction:row-reverse}
.crm-tabla .crm-td-prin b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.crm-tabla .crm-td-prin small{display:block;font-size:13px;color:var(--suave);overflow:hidden;text-overflow:ellipsis}
.crm-tabla .crm-td-menu .crm-btn-icono{width:40px;height:40px;opacity:.7}
.crm-tabla .crm-td-prin small.crm-ver{display:none}
.crm-tabla-mas{display:flex;justify-content:center;padding:12px 0}
@container tabla (min-width:920px) and (max-width:1099px){.crm-tabla .crm-col-b1100{display:none}.crm-tabla .crm-td-prin small.crm-ver-b1100{display:block}}
@container tabla (min-width:920px) and (max-width:1199px){.crm-tabla .crm-col-b1200{display:none}.crm-tabla .crm-td-prin small.crm-ver-b1200{display:block}}
@container tabla (min-width:920px) and (max-width:1299px){.crm-tabla .crm-col-b1300{display:none}.crm-tabla .crm-td-prin small.crm-ver-b1300{display:block}}
/* Abajo de 920 px de ancho de la lista: tarjetas */
@container tabla (max-width:919px){
  .crm-tabla,.crm-tabla tbody{display:block;background:none;box-shadow:none;border-radius:0}
  .crm-tabla thead{display:none}
  .crm-tabla tbody{display:flex;flex-direction:column;gap:8px}
  .crm-tabla tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;row-gap:2px;padding:10px 4px 12px 14px;background:var(--hoja);border-radius:var(--r2);box-shadow:var(--sombra)}
  .crm-tabla tbody tr.crm-con-sel{padding-left:4px}
  .crm-tabla tbody td{display:block;height:auto;padding:0;box-shadow:none!important;white-space:normal;background:none!important}
  .crm-tabla tbody tr.crm-elegida,.crm-tabla tbody tr.crm-abierta{background:var(--tinte)}
  .crm-tabla .crm-td-sel{grid-column:1;grid-row:1/span 3;width:auto;padding:0;align-self:start;margin-top:-6px}
  .crm-tabla .crm-td-prin{grid-column:2;grid-row:1;align-self:center;min-height:32px;display:flex!important;flex-direction:column;justify-content:center}
  .crm-tabla .crm-td-prin b{font-size:16px;white-space:nowrap}
  .crm-tabla .crm-td-menu{grid-column:3;grid-row:1;width:auto;padding:0;margin-top:-6px}
  .crm-tabla .crm-td-detalle{grid-column:2/4;font-size:14px;color:var(--suave);padding-right:10px!important;overflow-wrap:anywhere}
  .crm-tabla .crm-td-dato{grid-column:2/4;display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;min-height:26px;padding-right:10px!important;font-size:14px;text-align:right}
  .crm-tabla .crm-td-dato::before{content:attr(data-etiqueta);color:var(--suave);font-size:13px;text-align:left;flex:none}
  .crm-tabla .crm-td-dato>*{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .crm-tabla .crm-td-oculta{display:none!important}
  .crm-tabla .crm-col-b1100,.crm-tabla .crm-col-b1200,.crm-tabla .crm-col-b1300{display:flex}
}

/* ============ Arranque, entrar, bloqueo y aviso de notificaciones ============ */
.crm-arranque{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--fondo);transition:opacity .2s}
.crm-arranque img{height:56px;width:auto;opacity:.9}
.crm-arranque.crm-fuera{opacity:0;pointer-events:none}
.crm-pantalla{position:fixed;inset:0;z-index:50;overflow-y:auto;background:var(--hoja);padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);display:flex;flex-direction:column;align-items:center}
.crm-entrar{width:100%;max-width:400px;margin:auto 0;display:flex;flex-direction:column}
.crm-entrar-marca{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.crm-entrar-marca img{height:44px;width:auto}
.crm-entrar-marca span{font-size:13px;font-weight:700;color:var(--suave);padding:3px 8px;border-radius:7px;background:var(--campo-hover)}
.crm-entrar h1{font-size:32px;font-weight:800;letter-spacing:-.035em;line-height:1.08}
.crm-entrar>p{font-size:15px;color:var(--suave);margin-top:6px}
.crm-entrar form{margin-top:8px}
.crm-entrar .crm-btn-negro{margin-top:20px}
.crm-entrar-o{display:flex;align-items:center;gap:12px;margin:18px 0 6px;font-size:13px;color:var(--suave)}
.crm-entrar-o::before,.crm-entrar-o::after{content:"";flex:1;height:1px;background:var(--linea)}
.crm-entrar-msg{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:14.5px;line-height:1.4;background:var(--campo)}
.crm-entrar-msg.crm-mal{background:var(--error-fondo);color:var(--texto);box-shadow:inset 0 0 0 1px var(--error-borde)}
.crm-entrar-msg.crm-bien{background:var(--ok-fondo)}
.crm-entrar-pie{margin-top:28px;font-size:13.5px;color:var(--suave);text-align:center}
.crm-entrar-pie a{color:var(--acento-texto);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.crm-bloqueo{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:var(--fondo);text-align:center}
.crm-bloqueo img{height:56px;width:auto}
.crm-bloqueo h2{font-size:22px;font-weight:800;letter-spacing:-.03em}
.crm-bloqueo p{font-size:15px;color:var(--suave);max-width:320px}
.crm-push-aviso{position:fixed;z-index:30;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + var(--tab-alto) + 12px);margin:0 auto;max-width:480px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:14px 14px 12px 16px;border-radius:var(--r2);background:var(--hoja);box-shadow:var(--sombra-alta);animation:crm-sube .3s var(--curva)}
.crm-push-aviso .crm-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--tinte-2);color:var(--acento-texto)}
.crm-push-aviso b{font-size:16px;font-weight:700;display:block}
.crm-push-aviso p{font-size:14px;color:var(--suave);line-height:1.35}
.crm-push-aviso .crm-acc{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
@keyframes crm-sube{from{transform:translateY(16px);opacity:0}}

/* ============ Página de componentes (#/componentes, solo para pruebas) ============ */
.crm-demo{padding:0 16px 40px}
.crm-demo-sec{margin-top:22px}
.crm-demo-sec>h2{font-size:17px;font-weight:750;letter-spacing:-.02em;margin-bottom:10px}
.crm-demo-fila{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crm-demo-fila+.crm-demo-fila{margin-top:10px}
.crm-demo-caja{padding:14px 16px}
.crm-demo-temas{display:grid;gap:14px}
.crm-demo-tema{padding:14px;border-radius:var(--r2);background:var(--fondo);color:var(--texto);box-shadow:inset 0 0 0 1px var(--linea)}
.crm-demo-tema>h3{font-size:13px;font-weight:650;color:var(--suave);margin-bottom:10px}

/* ============ Computadora (1,000 px o más) ============ */
@media (min-width:1000px){
  .crm-solo-pc{display:revert!important}
  .crm-solo-cel{display:none!important}
  .crm-cerrar-pc{display:grid!important}
  .crm-cerrar-cel{display:none!important}
  :root{--tab-alto:0px}
  .crm-app{display:grid;grid-template-columns:var(--lateral) minmax(0,1fr) auto}
  .crm-app.crm-sin-barras{grid-template-columns:minmax(0,1fr)}
  .crm-lateral{display:flex;flex-direction:column;gap:2px;padding:16px 12px 12px;background:var(--hoja);box-shadow:inset -1px 0 0 var(--linea);overflow-y:auto;z-index:2;min-height:0}
  .crm-marca{display:flex;align-items:center;gap:10px;padding:0 8px 14px}
  .crm-marca img{height:38px;width:auto}
  .crm-marca span{font-size:13px;font-weight:700;color:var(--suave);padding:3px 8px;border-radius:7px;background:var(--campo)}
  .crm-nav-g{font-size:12.5px;font-weight:650;color:var(--suave);padding:14px 12px 4px}
  .crm-nav-item{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 12px;border-radius:10px;font-size:15px;font-weight:550;color:var(--suave);width:100%;transition:background-color .15s,color .15s;text-align:left}
  .crm-nav-item .crm-i{width:19px;height:19px}
  .crm-nav-item>span:not(.crm-badge):not(.crm-cnt){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .crm-nav-item .crm-badge,.crm-nav-item .crm-cnt{margin-left:auto}
  .crm-nav-item .crm-cnt{font-size:13px;color:var(--suave);font-variant-numeric:tabular-nums;white-space:nowrap}
  .crm-nav-item .crm-cnt.crm-err{font-weight:650}
  .crm-nav-item:hover{background:var(--campo);color:var(--texto)}
  .crm-nav-item[aria-current="page"]{background:var(--tinte);color:var(--acento-texto);font-weight:650}
  .crm-nav-sub{padding-left:43px;min-height:36px;font-size:14.5px}
  .crm-lateral-pie{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}
  .crm-lat-buscar{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 8px 0 12px;margin:0 0 8px;border-radius:10px;background:var(--campo);color:var(--suave);font-size:14.5px;width:100%;text-align:left}
  .crm-lat-buscar kbd{margin-left:auto}
  .crm-lat-buscar:hover{background:var(--campo-hover)}
  .crm-canales-modo{display:block;padding:10px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--linea);font-size:13.5px;width:100%;text-align:left}
  .crm-canales-modo h4{font-size:12.5px;font-weight:650;color:var(--suave);margin-bottom:4px}
  .crm-cm-fila{display:flex;align-items:center;gap:8px;min-height:28px;min-width:0}
  .crm-cm-fila>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .crm-cm-fila>span:last-child{margin-left:auto;color:var(--suave);flex:none}
  .crm-cm-fila .crm-ensayo{color:var(--acento-texto)!important;font-weight:650}
  .crm-canales-modo:hover{background:var(--campo)}
  .crm-estado-bot{display:block;padding:12px;border-radius:14px;background:var(--error-fondo);font-size:13.5px;line-height:1.35;text-align:left;width:100%}
  .crm-estado-bot b{display:flex;align-items:center;gap:6px;color:var(--error);font-size:14px}
  .crm-estado-bot.crm-ok{background:var(--ok-fondo)}
  .crm-estado-bot.crm-ok b{color:var(--ok-texto)}
  .crm-estado-bot .crm-btn-texto{min-height:32px;padding:0;color:var(--texto);text-decoration:underline;text-underline-offset:3px;font-size:13.5px}
  .crm-estado-bot p{margin-top:2px;overflow-wrap:anywhere}
  .crm-estado-bot .crm-acc{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:8px}
  .crm-estado-bot .crm-acc .crm-btn{min-height:36px;padding:0 12px;font-size:13.5px}
  .crm-estado-bot .crm-acc .crm-btn[aria-disabled="true"]{opacity:.5}
  .crm-app.crm-con-red .crm-panel-zona{padding-top:40px}
  .crm-yo{display:flex;align-items:center;gap:10px;padding:6px 8px;font-size:14.5px;border-radius:12px;width:100%;text-align:left;min-width:0}
  .crm-yo>div{min-width:0}
  .crm-yo b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .crm-yo small{display:block;font-size:12.5px;color:var(--suave)}
  .crm-yo .crm-av{width:36px;height:36px;font-size:13px;color:var(--texto)}
  .crm-yo:hover{background:var(--campo)}
  .crm-escena{position:relative;grid-column:2;inset:auto;transform:none!important}
  .crm-app.crm-sin-barras .crm-escena{grid-column:1}
  .crm-tabbar{display:none}
  .crm-vista{padding-bottom:40px}
  .crm-cab{padding:22px 28px 12px}
  .crm-cab h1{font-size:28px}
  .crm-cab-sup{display:none}
  .crm-contenido{padding:0 28px}
  .crm-vtabs{margin:12px -28px 0;padding:0 28px 2px}
  .crm-panel-zona{grid-column:3;position:relative;display:flex;min-height:0;height:100%}
  .crm-panel{position:relative;inset:auto;transform:none;visibility:visible;display:none;width:560px;height:100%;border-radius:0;box-shadow:inset 1px 0 0 var(--linea);transition:none;animation:crm-entra .26s var(--curva);touch-action:auto}
  .crm-panel.crm-abierto:not(.crm-atras-de){display:flex}
  .crm-panel.crm-atras-de{display:none}
  #crm-panel-contacto{width:600px}
  .crm-panel-cab{padding:8px 10px 6px 6px}
  .crm-panel-cuerpo{padding:4px 24px 32px}
  @keyframes crm-entra{from{opacity:0;transform:translateX(18px)}}
  .crm-hoja{left:50%;top:50%;bottom:auto;right:auto;width:min(560px,92vw);max-height:min(80vh,760px);border-radius:var(--r2);transform:translate(-50%,-48%) scale(.98);opacity:0;transition:transform .22s var(--curva),opacity .18s,visibility 0s .22s;padding-bottom:0}
  .crm-hoja.crm-abierta{transform:translate(-50%,-50%);opacity:1;transition:transform .22s var(--curva),opacity .18s,visibility 0s}
  .crm-hoja .crm-asa{display:none}
  .crm-arrastre{cursor:default}
  .crm-hoja-cab{padding:14px 10px 6px 22px}
  .crm-hoja-cuerpo{padding:4px 22px 22px}
  .crm-hoja-pie{padding:12px 22px 16px;justify-content:flex-end}
  .crm-hoja-pie .crm-btn{flex:0 0 auto}
  .crm-toast{left:calc(var(--lateral) + 24px);right:auto;margin:0;bottom:24px!important}
  .crm-app.crm-sin-barras~.crm-toast{left:24px}
  .crm-lote{bottom:24px}
  .crm-push-aviso{left:calc(var(--lateral) + 24px);right:auto;bottom:24px;width:420px}
  .crm-demo{padding:0 28px 40px}
  .crm-demo-temas{grid-template-columns:1fr 1fr}
}
@media (min-width:1360px){
  #crm-panel-conv{width:840px}
}

/* ============ Movimiento y transparencia ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .crm-app.crm-con-panel .crm-escena{transform:none}
  .crm-panel.crm-atras-de{transform:none}
  .crm-esq i,.crm-gira{animation:none!important}
}
@media (prefers-reduced-transparency:reduce){
  .crm-tabbar,.crm-cab-pegada{background:var(--hoja);backdrop-filter:none;-webkit-backdrop-filter:none}
}
