/* mipc-brand.css — Capa de marca Mi PC y su Mundo (carga DESPUÉS de styles.css) */
/* Sin emojis: iconos SVG. Enfoque móvil 9:16. */

:root{
  --wa: #25D366;
  --wa-dark: #1DA851;
}

/* ── Iconos: tamaño consistente dentro de botones/acciones ──────────── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn svg{ width:18px; height:18px; flex:0 0 auto; }
.btn-big svg{ width:20px; height:20px; }

/* ── Botón WhatsApp ─────────────────────────────────────────────────── */
.btn-wa{
  background: var(--wa); color:#063; color:#083d1f;
  border:0; font-weight:700;
}
.btn-wa:hover{ background: var(--wa-dark); color:#042; }
.btn-wa svg{ color:#083d1f; }

/* ── Topbar con iconos ──────────────────────────────────────────────── */
.topbar .tb-item{ display:inline-flex; align-items:center; gap:6px; color:#fff; }
.topbar .tb-item svg{ width:15px; height:15px; }
.topbar a.tb-item:hover{ text-decoration:underline; }

/* ── Header: acción Soporte (ahora <a>) ─────────────────────────────── */
.header-action.soporte{ text-decoration:none; }
.header-action.soporte .wrench, .header-action.soporte svg{ color: var(--brand-primary); }

/* ── Nav: iconos de categoría SVG ───────────────────────────────────── */
.header-nav a svg.nav-ic, .header-nav a > svg{ width:16px; height:16px; flex:0 0 auto; }
.nav-ic{ width:16px; height:16px; }
.header-nav .nav-cta svg{ width:15px; height:15px; }

/* ── Tarjeta de producto: stock + agotado ───────────────────────────── */
.card-stock{ margin:4px 0 2px; font-size:12.5px; min-height:18px; }
.card-stock .st-ok{ display:inline-flex; align-items:center; gap:4px; color:#16a34a; font-weight:600; }
.card-stock .st-ok svg{ width:14px; height:14px; }
.card-stock .st-out{ color: var(--text-mute); font-weight:600; }
.card-agotado{
  position:absolute; top:10px; left:10px; z-index:2;
  background: rgba(17,24,39,.82); color:#fff; font-size:11px; font-weight:700;
  padding:3px 8px; border-radius:999px;
}
.card-cta:disabled{ opacity:.5; cursor:not-allowed; }

/* ── Hero: glifo SVG en vez de emoji ────────────────────────────────── */
.hero-glyph{ font-size:0; display:flex; align-items:center; justify-content:center; }
.hero-glyph svg{
  width: clamp(130px, 20vw, 240px); height:auto;
  stroke: rgba(255,255,255,.92); color: rgba(255,255,255,.92);
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.25));
}

/* ── Categorías (círculos): icono SVG ───────────────────────────────── */
.circle-ic svg, .tile-ic svg{ width:30px; height:30px; }
.benefit-ic svg{ width:24px; height:24px; }

/* ── Banda de soporte ───────────────────────────────────────────────── */
.support-band{
  max-width: var(--container); margin:28px auto; padding:22px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  border-radius: var(--r-lg);
  background: linear-gradient(120deg, #0F172A, var(--brand-accent));
  color:#fff;
}
/* Centrada y alineada con los estantes (mismo ancho útil que .container) */
@media (min-width:901px){ .support-band{ margin:28px auto; max-width: calc(var(--container) - 40px); } }
@media (max-width:900px){ .support-band{ margin:28px 16px; } }
.support-band-txt{ display:flex; align-items:center; gap:16px; }
.support-band h2{ color:#fff; font-size:20px; }
.support-band p{ margin:4px 0 0; opacity:.9; font-size:14px; max-width:48ch; }
.support-ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; flex:0 0 auto; border-radius:14px;
  background: rgba(255,255,255,.14);
}
.support-ic svg{ width:26px; height:26px; color:#fff; }
.support-ic.big{ width:76px; height:76px; border-radius:20px; background: rgba(227,6,19,.12); }
.support-ic.big svg{ width:40px; height:40px; color: var(--brand-primary); }
.support-band-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* ── Página de Soporte ──────────────────────────────────────────────── */
.soporte-page{ padding: 10px 0 40px; }
.soporte-hero{ text-align:center; padding:18px 0 8px; }
.soporte-hero .support-ic{ margin:0 auto 12px; }
.soporte-hero h1{ font-size: clamp(26px,4vw,38px); }
.soporte-hero p{ color: var(--text-soft); max-width:60ch; margin:8px auto 0; }
.soporte-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap:14px; margin:22px 0;
}
.soporte-card{
  background: var(--bg-elev); border:1px solid var(--line);
  border-radius: var(--r-lg); padding:18px;
}
.soporte-card-ic{
  display:inline-flex; width:42px; height:42px; border-radius:12px;
  align-items:center; justify-content:center; margin-bottom:10px;
  background: rgba(227,6,19,.08); color: var(--brand-primary);
}
.soporte-card-ic svg{ width:22px; height:22px; }
.soporte-card h3{ font-size:16px; margin-bottom:4px; }
.soporte-card p{ color: var(--text-soft); font-size:13.5px; margin:0; }
.soporte-form{ max-width:620px; margin:0 auto; }
.soporte-contact{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:16px; padding-top:14px;
  border-top:1px solid var(--line); font-size:13.5px; color: var(--text-soft);
}
.soporte-contact a, .soporte-contact span{ display:inline-flex; align-items:center; gap:6px; }
.soporte-contact svg{ width:16px; height:16px; color: var(--brand-primary); }

/* ── Checkout: badges de pago sin emoji ─────────────────────────────── */
.pay-ic-txt{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:52px; height:26px; padding:0 8px; border-radius:7px;
  background: var(--bg-soft); color: var(--text-soft);
  font-size:11px; font-weight:800; letter-spacing:.04em;
}
.pay-option.on .pay-ic-txt{ background: var(--brand-primary); color:#fff; }
.ch-note{ color: var(--text-soft); font-size:13.5px; margin:-4px 0 10px; }
.sum-note{ color: var(--text-mute); font-size:12.5px; margin:2px 0 8px; }

/* ── Footer con datos reales ────────────────────────────────────────── */
.footer-about{ max-width:360px; }
.footer-logo{ height:46px; width:auto; background:#fff; padding:6px 10px; border-radius:10px; margin-bottom:10px; }
.footer-about p{ color: var(--text-soft); font-size:13.5px; line-height:1.5; }
.footer-contact{ list-style:none; padding:0; margin:12px 0 0; display:flex; flex-direction:column; gap:8px; }
.footer-contact li, .footer-contact li a{ display:flex; align-items:center; gap:9px; color: var(--text-soft); font-size:13.5px; }
.footer-contact svg{ width:17px; height:17px; flex:0 0 auto; color: var(--brand-primary); }
.footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.footer-links a{ color: var(--text-soft); font-size:13.5px; cursor:pointer; }
.footer-links a:hover{ color: var(--text); }
.socials{ display:flex; gap:10px; margin-top:14px; }
.socials a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:9px; background: var(--bg-soft); color: var(--text-soft);
}
.socials a:hover{ background: var(--brand-primary); color:#fff; }
.socials svg{ width:18px; height:18px; }
.footer-admin{ display:inline-flex; align-items:center; gap:5px; }
.footer-admin svg{ width:14px; height:14px; }

/* ── Botón flotante de WhatsApp ─────────────────────────────────────── */
.wa-fab{
  position:fixed; right:16px; bottom:16px; z-index:60;
  display:inline-flex; align-items:center; gap:9px;
  background: var(--wa); color:#083d1f; font-weight:700;
  padding:12px 16px; border-radius:999px;
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
}
.wa-fab svg{ width:24px; height:24px; }
.wa-fab:hover{ background: var(--wa-dark); }

/* ── Foto real de producto ──────────────────────────────────────────── */
.prod-img-real{
  background:#fff; display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; overflow:hidden;
}
.prod-img-real img{
  width:100%; height:100%; object-fit:contain; display:block;
}

/* ── Admin: iconos de categoría SVG ─────────────────────────────────── */
.adm-prod-ic svg, .adm-navic svg{ width:18px; height:18px; }
.adm-navic{ display:inline-flex; align-items:center; }

/* ── Sin stock en el sistema → "Consultar" por WhatsApp (no callejón sin salida) ── */
.card-stock .st-out{ color:#a16207; }
.card-cta-wa{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  border-color: var(--wa-dark); color:#0b6b34; text-decoration:none;
}
.card-cta-wa svg{ width:16px; height:16px; }
.card-cta-wa:hover{ background: var(--wa); color:#083d1f; border-color: var(--wa); }

/* ── Ficha: barra de acciones (WhatsApp primero) ───────────────────── */
.pa-price{ display:none; }                 /* solo en la barra fija del celular */
.prod-actions .pa-cart svg{ width:20px; height:20px; }

/* ── Menú: acceso a WhatsApp (solo dentro del menú del celular) ────── */
.header-nav .nav-wa{ display:none; }

/* ── Carrito / pedido por WhatsApp ─────────────────────────────────── */
.sum-direct{ text-align:center; font-size:13px; color: var(--text-mute); text-decoration:underline; padding:4px 0; }
.sum-direct:hover{ color: var(--text); }
.ch-lead{ color: var(--text-soft); margin:-6px 0 16px; font-size:14.5px; }
.ch-lead strong{ color: var(--text); }
.ch-group{ margin:0 0 18px; display:flex; flex-direction:column; gap:8px; }
.ch-group-t{ font-size:13px; font-weight:600; color: var(--text-soft); }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  min-height:44px; padding:8px 14px; border-radius:999px;
  border:1.5px solid var(--line-strong); background: var(--bg-elev); color: var(--text);
  font: inherit; font-size:14px; font-weight:600; cursor:pointer;
}
.chip.on{ border-color: var(--brand-primary); background: color-mix(in oklab, var(--brand-primary) 9%, transparent); color: var(--brand-primary); }
.ch-hint{ display:flex; align-items:center; gap:6px; color: var(--text-mute); font-size:12.5px; }
.ch-hint svg{ width:14px; height:14px; flex:0 0 auto; }
.ch-dir{ display:flex; flex-direction:column; gap:6px; }
.ch-dir input{
  height:46px; padding:0 12px; border:1px solid var(--line); border-radius: var(--r-sm);
  font: inherit; background: var(--bg-elev); color: var(--text);
}
.ch-dir input:focus{ outline:none; border-color: var(--brand-primary); }
.f-err{ color: var(--brand-primary); font-size:12.5px; font-weight:600; }
.has-err input{ border-color: var(--brand-primary) !important; }
.ch-send{ margin-top:6px; }
.ch-privacy{ justify-content:center; margin-top:10px; }
.check-success .btn{ margin:6px 4px; }

/* ══════════════════════════════════════════════════════════════════════
   CABECERA ≤900px: logo visible, carrito con contador, búsqueda a lo ancho
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px){
  .header-main{
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "burger brand actions" "search search search";
    gap: 6px 8px; padding: 6px 12px 10px;
  }
  .header-burger{ grid-area: burger; width:44px; height:44px; margin-left:-4px; align-items:center; justify-content:center; }
  .brand{ display:flex; grid-area: brand; align-items:center; min-width:0; }
  .brand img{ height:34px; max-width:100%; }
  .search{ grid-area: search; }
  .header-actions{ grid-area: actions; gap:0; }
  .header-action{ width:44px; height:44px; padding:0; justify-content:center; }
  .header-action svg{ width:24px; height:24px; }
  /* styles.css oculta todo <span> de .header-action a ≤900px: eso escondía el carrito y su contador */
  .header-action .cart-icon{ display:inline-flex; }
  .header-action .cart-pill{ display:flex; top:-7px; right:-9px; }

  /* Menú abierto: lista cómoda para el dedo */
  .header-nav.open{ padding:8px 12px 14px; gap:2px; }
  .header-nav.open a{ min-height:46px; font-size:15px; padding:10px 12px; }
  .header-nav.open .nav-cta{ margin-left:0; }
  .header-nav.open .nav-wa{ display:inline-flex; background: var(--wa); color:#083d1f; font-weight:700; margin-top:6px; justify-content:center; }
}

/* ══════════════════════════════════════════════════════════════════════
   MÓVIL — enfoque 9:16 (teléfono vertical)
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  h1{ font-size:24px; }
  /* 16px en campos: iOS no hace zoom al tocarlos */
  input, select, textarea{ font-size:16px !important; }

  /* La barra de arriba se oculta: el WhatsApp está en el botón flotante y en el menú */
  .topbar{ display:none; }
  .search input{ height:42px; }

  /* Banner: más bajo para que se vean productos sin bajar tanto */
  .hero{ margin:10px 12px 0; min-height:236px; border-radius:14px; }
  .hero-inner{ padding:18px 18px 30px; }
  .hero-text{ gap:8px; }
  .hero h1{ font-size:26px; line-height:1.1; }
  .hero p{ font-size:14px; line-height:1.4; }
  .hero .btn{ height:44px; padding:0 18px; }
  .hero-dots{ bottom:12px; }

  /* Beneficios: 2×2 compactos (solo el título) */
  .benefits{ grid-template-columns: 1fr 1fr; gap:8px; margin:14px auto; padding:0 12px; }
  .benefit{ padding:10px; gap:8px; }
  .benefit-ic{ width:32px; height:32px; }
  .benefit-ic svg{ width:18px; height:18px; }
  .benefit strong{ font-size:12.5px; line-height:1.25; }
  .benefit small{ display:none; }

  /* Categorías: scroll horizontal cómodo, nombres completos */
  .cat-circles{ margin:16px auto; padding:0 12px; }
  .circles{ display:flex; overflow-x:auto; gap:10px; scrollbar-width:none; }
  .circles::-webkit-scrollbar{ display:none; }
  .circle{ flex:0 0 auto; width:96px; padding:12px 4px; gap:6px; }
  .circle > span:not(.circle-ic){ font-size:12px; line-height:1.2; }
  .circle-ic{ width:46px; height:46px; }

  /* Estantes: se deslizan con el dedo (sin flechas), se asoma la siguiente tarjeta */
  .section-head h2{ font-size:20px; }
  .section-head p{ font-size:13px; }
  .shelf{ margin:24px auto; padding:0 12px; }
  .shelf-nav{ display:none; }
  .shelf-item{ flex:0 0 46%; min-width:0; }

  /* Tarjetas más compactas */
  .card-body{ padding:10px; gap:4px; }
  .card-title{ font-size:13px; min-height:35px; }
  .price-now{ font-size:16px; }
  .card-cta{ height:40px; }

  /* Botón flotante: solo el ícono */
  .wa-fab{ bottom: calc(16px + env(safe-area-inset-bottom)); right:14px; padding:14px; }
  .wa-fab-txt{ display:none; }
  .wa-fab-hide-m{ display:none; }

  /* Grids de producto: 2 columnas en teléfono */
  .grid.grid-3, .grid.grid-4, .grid.grid-5, .grid.grid-6{ grid-template-columns: repeat(2, 1fr) !important; gap:10px; }

  /* Banda soporte: vertical */
  .support-band{ flex-direction:column; align-items:flex-start; text-align:left; padding:18px; }
  .support-band-actions{ width:100%; }
  .support-band-actions .btn{ flex:1; }

  /* Ficha: barra FIJA abajo con precio + WhatsApp + carrito, botones de 48px */
  .product-layout{ gap:16px; }
  .prod-title{ font-size:19px; line-height:1.25; }
  /* La miga final repetía el nombre completo (ya está en el título) */
  .product-page .breadcrumbs > span:last-child,
  .product-page .breadcrumbs > .bc-sep:nth-last-child(2){ display:none; }
  .prod-actions{
    position:fixed; left:0; right:0; bottom:0; z-index:55;
    display:flex; flex-direction:row; align-items:center; gap:8px;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    background: var(--bg-elev); border-top:1px solid var(--line);
    box-shadow: 0 -6px 18px rgba(0,0,0,.08);
  }
  .prod-actions .btn{ height:48px; flex:1 1 auto; margin:0; padding:0 12px; font-size:15px; }
  .pa-price{ display:flex; flex-direction:column; flex:0 0 auto; line-height:1.15; }
  .pa-price small{ font-size:11px; color: var(--text-mute); }
  .pa-price strong{ font-size:17px; font-weight:800; color: var(--brand-primary); white-space:nowrap; }
  .prod-actions .pa-cart{ flex:0 0 48px; width:48px; padding:0; }
  .pa-cart-txt{ display:none; }
  .product-page{ padding-bottom: calc(84px + env(safe-area-inset-bottom)); }

  /* Carrito / pedido */
  .cart-summary, .checkout-summary{ position:static; }
  .ch-card{ padding:16px; }
  .form-grid{ gap:12px; margin-bottom:16px; }
  .form-grid input{ height:48px; }
  .checkout-done{ padding:30px 12px; }
  .check-success h1{ font-size:22px; }
  .check-success .btn{ width:100%; margin:6px 0; }

  /* Toast por encima de la barra fija */
  .toast{ bottom: calc(84px + env(safe-area-inset-bottom)); }

  /* Footer apilado */
  .footer-grid{ grid-template-columns: 1fr; gap:22px; }
  .footer-about{ max-width:none; }
  .footer-bottom{ flex-direction:column; gap:8px; text-align:center; }
}

/* Teléfonos muy angostos (360 px sigue en 2 columnas; solo <340 pasa a 1) */
@media (max-width: 339px){
  .grid.grid-3, .grid.grid-4, .grid.grid-5, .grid.grid-6{ grid-template-columns: 1fr !important; }
}
@media (max-width: 380px){
  .prod-actions .btn{ font-size:14px; padding:0 8px; }
  .pa-price strong{ font-size:15px; }
}

/* ── Categorías (14, las de WhatsApp): filas parejas en escritorio ──── */
@media (min-width: 1101px){ .circles{ grid-template-columns: repeat(7, 1fr); } }
@media (min-width: 761px) and (max-width: 1100px){ .circles{ grid-template-columns: repeat(5, 1fr); } }

/* ── Ficha: galería de fotos (cuando el panel publica más de una) ───── */
.gallery-thumbs{ overflow-x:auto; scrollbar-width:none; }
.gallery-thumbs::-webkit-scrollbar{ display:none; }
.thumb{ padding:0; flex:0 0 auto; }
.thumb img{ width:100%; height:100%; object-fit:contain; background:#fff; display:block; }
@media (max-width: 760px){ .thumb{ width:62px; height:62px; } .gallery-thumbs{ gap:8px; margin-top:8px; } }

/* ── Panel: fotos del producto ─────────────────────────────────────── */
.adm-prod-thumb{ width:34px; height:34px; border-radius:8px; object-fit:contain; background:#fff; border:1px solid var(--line); flex-shrink:0; }
.adm-ibtn svg{ width:16px; height:16px; }
.adm-chip svg{ width:14px; height:14px; vertical-align:-2px; margin-right:4px; }
.adm-fotos{ border:1px solid var(--line); border-radius: var(--r); padding:12px; margin-bottom:14px; background: var(--bg); }
.adm-fotos-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.adm-fotos-head > label:first-child{ margin:0; font-weight:700; }
.adm-fotos-head small{ font-weight:500; color: var(--text-mute); }
.adm-fotos-add{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; margin:0; height:38px; padding:0 14px; }
.adm-fotos-add svg{ width:18px; height:18px; }
.adm-fotos-add.is-off{ opacity:.5; pointer-events:none; }
.adm-fotos-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap:10px; }
.adm-foto{ margin:0; border:1.5px solid var(--line); border-radius: var(--r-sm); overflow:hidden; background:#fff; }
.adm-foto.is-main{ border-color: var(--brand-primary); }
.adm-foto img{ display:block; width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; }
.adm-foto figcaption{ display:flex; justify-content:space-between; align-items:center; gap:4px; padding:5px 7px; font-size:12px; background: var(--bg-elev); border-top:1px solid var(--line); }
.adm-foto .adm-link{ font-size:12px; padding:0; }
.adm-foto-tag{ color: var(--brand-primary); font-weight:700; }
.adm-foto-del{ color:#b91c1c !important; }
.adm-fotos-empty{ display:flex; align-items:center; gap:8px; color: var(--text-mute); font-size:13px; padding:14px; border:1.5px dashed var(--line-strong); border-radius: var(--r-sm); }
.adm-fotos-empty svg{ width:20px; height:20px; }
.adm-fotos-new{ display:flex; gap:12px; align-items:flex-start; margin-top:12px; padding:10px; border:1.5px dashed var(--brand-primary); border-radius: var(--r-sm); }
.adm-fotos-new > img{ width:120px; height:120px; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:6px; flex-shrink:0; }
.adm-fotos-new b{ display:block; }
.adm-fotos-new small{ display:block; color: var(--text-mute); font-size:12px; margin:2px 0 8px; }
.adm-fotos-como{ display:flex; gap:14px; flex-wrap:wrap; font-size:13px; margin-bottom:8px; }
.adm-fotos-como label{ display:inline-flex; align-items:center; gap:5px; margin:0; font-weight:500; }
.adm-fotos-acts{ display:flex; gap:8px; flex-wrap:wrap; }
.adm-fotos-clave{ display:flex; gap:8px; margin-top:12px; }
.adm-fotos-clave input{ flex:1; }
.adm-fotos-msg{ margin-top:10px; font-size:13px; font-weight:600; color: var(--text-soft); }
.adm-fotos-msg.is-ok{ color:#15803d; }
.adm-fotos-msg.is-warn{ color:#a16207; }
.adm-fotos-msg.is-bad{ color:#b91c1c; }
@media (max-width: 520px){ .adm-fotos-new{ flex-direction:column; } .adm-fotos-new > img{ width:100%; height:auto; aspect-ratio:1/1; } }

/* ── Catálogo desde la hoja (2026-10-27): estados, unidades, precio a consultar ── */
.cat-estado{ margin: 24px 0; }
.cat-cargando{ text-align:center; color: var(--text-mute); font-weight:600; padding: 40px 12px; }
.price-ask{ font-size: .95em; color: var(--text-soft); }
.price-now.big.price-ask{ font-size: 22px; }
.card-stock .st-low{ color:#c2410c; font-weight:700; }
.cart-item-warn{ font-size:12.5px; color:#a16207; font-weight:600; margin-top:4px; }
.qty-stepper button:disabled{ opacity:.35; cursor:not-allowed; }
.adm-sync{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:12px 14px; margin-bottom:16px;
  border:1px solid var(--line); border-radius: var(--r-sm); background: var(--bg-elev); }
.adm-sync > div:first-child{ flex:1; min-width: 220px; }
.adm-sync b{ display:block; }
.adm-sync small{ color: var(--text-mute); font-size:12.5px; }
.adm-sync .adm-fotos-clave, .adm-sync .adm-fotos-msg{ flex-basis:100%; margin-top:0; }
.adm-ficha{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px 16px; margin:0 0 4px; }
.adm-ficha dt{ font-size:12px; color: var(--text-mute); }
.adm-ficha dd{ margin:0; font-weight:700; }
.adm-table tbody tr{ cursor:pointer; }
.stock-ok{ display:inline-flex; align-items:center; gap:6px; }
.stock-ok svg{ width:16px; height:16px; flex-shrink:0; }
.desc-txt{ white-space: pre-line; }

/* ── Panel con login del servidor (2026-10-27): roles, contenido web, actividad ── */
.adm-role-supervision{ background:#e3eafc; color:#1e3a8a; }
.adm-tag-off{ background:#6b7280; }
.adm-web{ margin:14px 0 18px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.adm-web textarea{ min-height:84px; }
.adm-web-checks{ display:flex; flex-direction:column; gap:6px; justify-content:flex-end; padding-top:6px; }
.adm-web-checks label{ display:flex; align-items:center; gap:8px; margin:0; font-weight:500; }
.adm-web-checks input{ width:auto; }
.adm-fotos.is-ro .adm-fotos-add, .adm-fotos.is-ro .adm-foto figcaption button{ display:none; }
.adm-table-ro tbody tr{ cursor:default; }
.adm-modal-body > small.adm-muted{ display:block; margin-top:4px; }
