/* ===== Mesa: lo propio de la app, encima del tema compartido vidrio-nuezbit.css =====
   La semana de visitas, los grupos de clientes, la ficha, la carta con sus platos, la grilla de QR y los campos de foto.
   Teléfono primero (440×956). */

.ic.chica.estrella{fill:currentColor;stroke:none;color:#E0A21B;width:14px;height:14px;vertical-align:-1px}
.der{margin-left:auto}

/* ---- Hoy ---- */
.semana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:150px;margin-top:4px}
.semana-dia{display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;justify-content:flex-end}
.semana-col{width:100%;max-width:34px;flex:1;display:flex;flex-direction:column-reverse;border-radius:9px;overflow:hidden;border-bottom:3px solid var(--gris-claro)}
.semana-col span{display:block;width:100%;transition:height .5s cubic-bezier(.2,.7,.35,1)}
.semana-col .sv{background:var(--marca)}
.semana-col .sn{background:var(--acento)}
.semana-dia b{font-size:12.5px;font-variant-numeric:tabular-nums;min-height:16px}
.semana-dia small{font-size:11.5px;color:var(--gris)}
.leyenda{display:flex;gap:14px;margin-top:10px;font-size:12.5px;color:var(--gris)}
.leyenda span{display:inline-flex;align-items:center;gap:6px}
.avatar.nuevo{background:var(--acento)}
.demo-cuerpo{display:flex;gap:16px;align-items:center}
.demo-qr{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:16px;padding:8px}
.demo-qr small{font-size:12px;color:#5B6866;font-weight:600}
@media(max-width:520px){.demo-cuerpo{flex-direction:column;align-items:stretch;text-align:left}.demo-qr{align-self:center}}

/* ---- Clientes ---- */
.filtro span{font-variant-numeric:tabular-nums;opacity:.75;font-weight:700}
.avatar.g-nuevo{background:#4F8FB8}.avatar.g-vuelve{background:#2F8A5C}.avatar.g-frecuente{background:var(--marca)}
.avatar.g-en_riesgo{background:#C28A1E}.avatar.g-perdido{background:#9AA3A1}
.avatar.grande{width:56px;height:56px;font-size:19px}
.ficha-cab{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.ficha-cab .tel{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;text-decoration:none;min-height:36px}
.cifras.mini{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.cifras.mini .cifra{padding:10px 12px}
.cifras.mini .val{font-size:22px}
.cifras.mini .val.chico{font-size:15px}
.desplegable{margin-top:14px;border-top:1px solid var(--borde);padding-top:4px}
.desplegable summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.desplegable summary::-webkit-details-marker{display:none}
.desplegable summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--gris);border-bottom:2px solid var(--gris);transform:rotate(45deg);margin-left:auto;transition:transform var(--e)}
.desplegable[open] summary::after{transform:rotate(-135deg)}
.linea-tiempo{list-style:none;display:grid;gap:8px;padding:4px 0 6px 14px;border-left:2px solid var(--marca-suave)}
.linea-tiempo li b{display:block;font-size:14px}
.linea-tiempo li small{color:var(--gris);font-size:12.5px}
.chat-mini{display:flex;flex-direction:column;gap:6px;padding:6px 0;background:var(--gris-claro);border-radius:14px;padding:10px}
.burbuja{max-width:85%;padding:7px 10px;border-radius:12px;font-size:14px}
.burbuja small{display:block;font-size:11px;color:var(--gris);margin-top:2px}
.burbuja.entra{align-self:flex-end;background:#DDF6D2;color:#16201F}
.burbuja.sale{align-self:flex-start;background:var(--blanco)}

/* ---- Carta ---- */
.categoria h2 small{font-family:"Archivo";font-weight:600}
.acciones-cat{display:flex;align-items:center;gap:2px}
.acciones-cat .icono-btn{width:38px;height:38px}
.acciones-cat .icono-btn:disabled{opacity:.3}
.plato-fila{padding:6px 10px 6px 6px;gap:6px}
.plato-abrir{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;padding:2px;color:inherit;font:inherit;background:none;border:0;cursor:pointer;min-height:56px}
.plato-abrir img,.plato-sinfoto{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none;background:var(--gris-claro);display:grid;place-items:center;color:var(--gris-suave)}
.plato-fila .precio{font-weight:700;color:var(--tinta);font-variant-numeric:tabular-nums}
.plato-fila.agotado .plato-abrir{opacity:.55}
.plato-fila.agotado .precio{text-decoration:line-through}
.agotado-txt{color:var(--mal)}
.disponible{flex:none;display:flex;align-items:center;min-height:44px;cursor:pointer}
.disponible input[type=checkbox]{appearance:none;-webkit-appearance:none;width:46px;min-width:46px;height:28px;min-height:0;padding:0;border:0;border-radius:99px;background:var(--gris-suave);position:relative;cursor:pointer;margin:0;flex:none;transition:background var(--e)}
.disponible input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:99px;background:#fff;transition:transform var(--e);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.disponible input[type=checkbox]:checked{background:var(--ok)}
.disponible input[type=checkbox]:checked::after{transform:translateX(18px)}
.btn-nuevo{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:10px;border:1.5px dashed var(--gris-suave);border-radius:14px;background:none;font-weight:700;color:var(--tinta);cursor:pointer}
.btn-nuevo:hover{background:rgba(255,255,255,.5)}
.etiquetas-sel,.colores{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.etiquetas-sel label{position:relative;cursor:pointer}
.etiquetas-sel input,.colores input{position:absolute;opacity:0;width:1px;height:1px}
.etiquetas-sel span{display:inline-flex;align-items:center;min-height:38px;padding:6px 13px;border-radius:99px;border:1.5px solid var(--borde);background:var(--blanco);font-weight:600;font-size:14px}
.etiquetas-sel input:checked+span{background:var(--marca-suave);border-color:var(--marca);color:var(--marca-texto)}
.etiquetas-sel input:focus-visible+span,.colores input:focus-visible+span{outline:2px solid var(--acento);outline-offset:2px}
.colores label{cursor:pointer}
.colores span{display:block;width:40px;height:40px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--borde)}
.colores input:checked+span{box-shadow:0 0 0 3px var(--tinta)}
fieldset.campo{border:0;padding:0}
fieldset.campo legend{font-weight:600;font-size:13.5px;color:var(--gris);margin-bottom:2px}

/* campo de foto (platos, logo, portada) */
.campo-foto>span{display:block;font-weight:600;font-size:13.5px;color:var(--gris);margin-bottom:6px}
.foto-caja{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:1.5px dashed var(--gris-suave);background:var(--blanco);cursor:pointer}
.campo-foto.ancho .foto-caja{aspect-ratio:16/9}
.campo-foto.chico .foto-caja{width:112px;aspect-ratio:1}
.campo-foto+.campo-foto,.campo-foto+.campo,.campo+.campo-foto{margin-top:12px}
.foto-caja img{width:100%;height:100%;object-fit:cover;display:block}
.foto-caja input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.foto-vacia{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--gris)}
.foto-vacia .ic{width:28px;height:28px}
.foto-caja.subiendo::after{content:"Subiendo…";position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.75);font-weight:700}
.campo-foto [data-foto-quitar]{margin-top:4px}

/* ---- Mesas ---- */
.mesas-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.mesa-tarjeta{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:20px;background:var(--v-panel,var(--blanco));border:1px solid var(--v-linea,var(--borde));box-shadow:var(--v-sombra,var(--sombra));color:inherit;font:inherit;cursor:pointer;text-align:center}
.mesa-tarjeta:hover{border-color:var(--acento)}
.mesa-tarjeta .qr{border-radius:10px;background:#fff;padding:4px}
.mesa-tarjeta b{font-size:15px;margin-top:2px}
.mesa-tarjeta small{font-size:11.5px;color:var(--gris)}
.qr-grande{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.qr-grande .qr{background:#fff;border-radius:18px;padding:10px;max-width:100%;height:auto}
.qr-grande b{font-size:20px;font-family:"Gabarito"}
.mensaje-qr{margin-top:6px;background:#DDF6D2;color:#16201F;padding:10px 12px;border-radius:12px 12px 4px 12px;font-size:14.5px}

/* ---- la puerta: pedir acceso, espera, rechazada ---- */
.puerta{max-width:520px;margin:12vh auto 0;text-align:left}
.puerta-logo{width:64px;height:64px;border-radius:18px;margin-bottom:14px}
.puerta-tit{font-size:24px;margin-bottom:10px}
.puerta p{margin-bottom:10px;line-height:1.5}
.puerta .hoja-error[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.anillo-avance{transition:none}}

/* modo oscuro: las piezas propias de Mesa también van translúcidas sobre el fondo oscuro */
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body.vidrio :is(.btn-redondo,.iconos-sel span,.dias-sel span,.semana-nav .icono-btn){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
  :root:not([data-tema="claro"]) body.vidrio .btn-redondo-lleno{background:var(--marca);border-color:var(--marca);color:#15110F}
  :root:not([data-tema="claro"]) .tilde::before{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
  :root:not([data-tema="claro"]) .tilde[aria-pressed="true"]{color:#15110F}
  :root:not([data-tema="claro"]) .tilde[aria-pressed="true"]::before{background:var(--marca);border-color:var(--marca)}
  :root:not([data-tema="claro"]) .habito-hecho .h-ico{background:rgba(255,255,255,.1)}
  :root:not([data-tema="claro"]) .dias-sel input:checked+span,:root:not([data-tema="claro"]) body.vidrio .dias-sel input:checked+span{color:#15110F}
  :root:not([data-tema="claro"]) .flotante{color:#15110F}
  :root:not([data-tema="claro"]) .celda{border-color:rgba(255,255,255,.12)}
  :root:not([data-tema="claro"]) .btn-nuevo{border-color:rgba(255,255,255,.3)}
  :root:not([data-tema="claro"]) .btn-nuevo:hover{background:rgba(255,255,255,.06)}
}

.buscador{display:block}
