/* Super Swish v1660 · soporte interno, accesible en PC y móvil */
#supportChat.ssw1660-fab{background:linear-gradient(135deg,#ffd21a,#efad00)!important;color:#151515!important;border:2px solid #111!important;box-shadow:0 7px 22px #0004!important;cursor:pointer}
.ssw1660-lock{overflow:hidden!important}
#ssw1660-backdrop{position:fixed;inset:0;background:rgba(12,15,19,.58);z-index:2147483200;display:flex;justify-content:flex-end;align-items:stretch;padding:18px;box-sizing:border-box}
#ssw1660-backdrop[hidden]{display:none!important}
#ssw1660-pane{width:min(100%,485px);max-height:780px;margin:auto 0;background:#fff;color:#101820;border-radius:20px;box-shadow:0 16px 65px #0007;display:flex;flex-direction:column;overflow:hidden;font:400 14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
#ssw1660-pane *{box-sizing:border-box}
#ssw1660-pane button,#ssw1660-pane input,#ssw1660-pane select,#ssw1660-pane textarea{font:inherit}
#ssw1660-pane button{cursor:pointer}
.ssw1660-header{display:flex;align-items:center;gap:10px;background:#15191d;color:#fff;padding:15px 18px;flex-shrink:0}
.ssw1660-brand{width:43px;height:43px;background:#ffce00;color:#101820;display:grid;place-items:center;border-radius:14px;font-size:23px}
.ssw1660-title{font-size:17px;font-weight:850;letter-spacing:-.3px}
.ssw1660-subtitle{font-size:11px;color:#d1d6d9}
.ssw1660-header button{margin-left:auto;border:0;border-radius:50%;background:#333943;color:white;width:36px;height:36px;font-size:25px;line-height:1}
.ssw1660-body{min-height:210px;flex:1;overflow:auto;background:#f6f7f9;padding:16px;display:flex;flex-direction:column;gap:12px}
.ssw1660-intro{background:#fff9dc;border:1px solid #e9d36d;padding:12px;border-radius:12px;font-size:13px;color:#473b16}
.ssw1660-info{font-size:12px;color:#626f7b}
.ssw1660-msg{max-width:86%;padding:10px 12px;border-radius:13px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 3px #0001}
.ssw1660-msg.mine{background:#ffe169;align-self:flex-end;border-bottom-right-radius:3px}
.ssw1660-msg.theirs{background:#fff;align-self:flex-start;border:1px solid #e4e6ea;border-bottom-left-radius:3px}
.ssw1660-msg time{display:block;font-size:10px;color:#4f5760;margin-top:6px;text-align:right}
.ssw1660-footer{display:grid;gap:9px;padding:12px 14px 16px;background:#fff;border-top:1px solid #e5e8ec;flex-shrink:0}
.ssw1660-row{display:flex;align-items:center;gap:8px}
.ssw1660-footer select,.ssw1660-footer input,.ssw1660-footer textarea{min-width:0;width:100%;border:1px solid #d2d7df;background:#fff;border-radius:10px;padding:10px 12px;color:#171c21;outline:none}
.ssw1660-footer textarea{height:65px;resize:vertical;max-height:130px}
.ssw1660-footer input:focus,.ssw1660-footer textarea:focus,.ssw1660-footer select:focus{border-color:#e0ae00;box-shadow:0 0 0 2px #ffdb55a8}
.ssw1660-action{background:#ffce00;border:0;border-radius:10px;color:#101820;font-weight:850;padding:11px 16px;white-space:nowrap}
.ssw1660-action:disabled{opacity:.55;cursor:wait}
.ssw1660-ghost{border:1px solid #d7dbe0;background:#fff;border-radius:10px;color:#171c21;padding:8px 12px;font-weight:650}
.ssw1660-error{color:#a32925;font-size:12px;font-weight:700}
.ssw1660-tickets{display:grid;gap:9px}
.ssw1660-ticket{display:grid;grid-template-columns:1fr auto;gap:2px 9px;min-width:0;text-align:left;background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:11px 12px}
.ssw1660-ticket strong{font-size:13px}
.ssw1660-ticket small{color:#687481;font-size:11px;grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ssw1660-ticket b{font-size:10px;border-radius:30px;padding:3px 7px;background:#ffe3a1;color:#433100}
.ssw1660-ticket b.resuelto{background:#e4f2e5;color:#12631d}
.ssw1660-toolbar{display:flex;gap:7px;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid #eee;flex-wrap:wrap}
.ssw1660-admin-card{background:linear-gradient(120deg,#161b1d,#272727);border:1px solid #ffd21a;border-radius:16px;color:#fff;padding:20px;margin:15px 0}
.ssw1660-admin-card h3{margin:0 0 7px;color:#ffd21a;font-size:18px}
.ssw1660-admin-card p{margin:0 0 14px;color:#d9d9d9;font-size:13px}
.ssw1660-admin-card button{background:#ffd21a;color:#121212;font-weight:850;padding:11px 18px;border:0;border-radius:10px}
@media (max-width:560px){#ssw1660-backdrop{padding:0;align-items:stretch}#ssw1660-pane{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.ssw1660-body{min-height:160px}.ssw1660-header{padding-top:max(15px,env(safe-area-inset-top))}.ssw1660-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
/* Ocho secciones en escritorio tras incluir Soporte */
@media(min-width:901px){.ss1588-admin-nav{grid-template-columns:repeat(8,minmax(0,1fr))}}

/* v1672: responder siempre visible en Android / WebView y navegadores móviles. */
#ssw1660-pane{min-height:0;}
#ssw1660-body{min-height:0!important;min-width:0;flex:1 1 0%;overflow-y:auto;overscroll-behavior:contain;}
#ssw1660-footer[hidden],#ssw1660-toolbar[hidden]{display:none!important;}
#ssw1660-footer{position:relative;z-index:2;flex:0 0 auto;max-height:min(45vh,350px);overflow-y:auto;overscroll-behavior:contain;background:#fff;}
#ssw1660-footer form{display:block;margin:0;}
#ssw1660-footer .ssw1660-row{display:flex;gap:8px;align-items:stretch;}
#ssw1660-footer textarea{min-height:54px;max-height:125px;resize:vertical;flex:1 1 auto;}
#ssw1660-footer .ssw1660-action{align-self:stretch;flex:0 0 auto;}
@media(max-width:560px){
 #ssw1660-backdrop{top:var(--ssw1672-top,0px);bottom:auto;height:var(--ssw1672-vh,100dvh);padding:0;overflow:hidden;}
 #ssw1660-pane{height:100%;max-height:100%;min-height:0;}
 #ssw1660-body{min-height:0!important;}
 #ssw1660-footer{padding:10px 12px max(12px,env(safe-area-inset-bottom));max-height:48%;}
 #ssw1660-footer textarea{height:54px;min-height:54px;max-height:110px;}
 #ssw1660-footer .ssw1660-action{padding:9px 12px;}
}
@media(max-width:360px){#ssw1660-footer .ssw1660-action{padding-inline:9px;}}

/* v1673: casos cerrados son de solo lectura; CTA visible para nueva solicitud. */
.ssw1673-case-closed{border:1px solid #a9dcc0;background:#f1fff7;border-radius:13px;padding:12px 14px;color:#17432f;font-size:13px;line-height:1.5}
.ssw1673-case-closed strong{font-size:15px;display:block;color:#126a3c}
.ssw1673-case-closed p{margin:6px 0 12px}
.ssw1673-case-closed button{width:100%;min-height:42px;white-space:normal}
#ssw1660-footer:has(.ssw1673-case-closed){max-height:50%;overflow-y:auto}


/* v1674: corrección real del chat desbordado en escritorios de altura reducida.
   El alto disponible depende de la ventana visible, nunca del número de mensajes.
   Solo el historial puede desplazarse. El cuadro Responder permanece en pantalla. */
#ssw1660-backdrop:not([hidden]){
  top:var(--ssw1674-top,0px)!important;
  bottom:auto!important;
  height:var(--ssw1674-vh,100dvh)!important;
  min-height:0!important;
  overflow:hidden!important;
}
#ssw1660-backdrop #ssw1660-pane{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  height:min(780px,calc(var(--ssw1674-vh,100dvh) - 36px))!important;
  max-height:calc(var(--ssw1674-vh,100dvh) - 36px)!important;
  min-height:0!important;
  margin:auto 0!important;
  overflow:hidden!important;
}
#ssw1660-backdrop #ssw1660-pane > .ssw1660-header,
#ssw1660-backdrop #ssw1660-pane > .ssw1660-toolbar{
  min-height:0;
  flex-shrink:0;
}
#ssw1660-backdrop #ssw1660-body{
  grid-row:auto;
  min-height:0!important;
  min-width:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  align-content:start;
  justify-content:flex-start;
}
#ssw1660-body .ssw1660-msg,
#ssw1660-body .ssw1660-intro,
#ssw1660-body .ssw1660-tickets{
  flex-shrink:0!important;
}
#ssw1660-backdrop #ssw1660-footer{
  grid-row:auto;
  min-height:0!important;
  max-height:min(42dvh,270px)!important;
  overflow-y:auto!important;
  position:relative!important;
  z-index:2!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:0 -2px 8px rgba(0,0,0,.06);
}
#ssw1660-backdrop #ssw1660-footer:has(.ssw1673-case-closed){max-height:min(45dvh,290px)!important}
@media(max-width:560px){
  #ssw1660-backdrop:not([hidden]){padding:0!important;}
  #ssw1660-backdrop #ssw1660-pane{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    border-radius:0!important;
  }
  #ssw1660-backdrop #ssw1660-footer{
    max-height:48%!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  #ssw1660-backdrop #ssw1660-footer:has(.ssw1673-case-closed){max-height:50%!important}
}

/* v1675: FIX DEFINITIVO: la barra admin está [hidden] en cliente.
   Antes la colocación automática de CSS Grid asignaba la fila 3 (flexible)
   al FOOTER y dejaba el historial en una fila auto que crecía indefinidamente.
   Reservar explícitamente las cuatro filas para ambos roles. */
#ssw1660-backdrop #ssw1660-pane{
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  grid-auto-rows:0!important;
}
#ssw1660-backdrop #ssw1660-pane > .ssw1660-header{grid-row:1!important;}
#ssw1660-backdrop #ssw1660-pane > #ssw1660-toolbar{grid-row:2!important;}
#ssw1660-backdrop #ssw1660-pane > #ssw1660-body{
  grid-row:3!important;
  min-height:0!important;
  overflow-y:auto!important;
}
#ssw1660-backdrop #ssw1660-pane > #ssw1660-footer{
  grid-row:4!important;
  min-height:0!important;
  flex-shrink:0!important;
  align-self:stretch!important;
}
/* Mantener ocultas las barras no usadas: la fila reservada ocupa 0px. */
#ssw1660-backdrop #ssw1660-toolbar[hidden],
#ssw1660-backdrop #ssw1660-footer[hidden]{display:none!important;}
