/* NS POS Control Interno · estilos base compartidos (ventanas modales, tarjetas de selección,
   interruptores de configuración). Recuperados de hojas de la edición comercial que se retiraron. */
.ns-modal-overlay{
  position:fixed; inset:0; background:rgba(15,23,42,.55);
  display:flex; align-items:center; justify-content:center;
  z-index:9999; padding:16px;
}
.ns-modal-overlay.hidden{ display:none; }

.ns-modal{
  background:var(--ns-card,#fff); border-radius:16px; width:100%; max-width:480px;
  max-height:90vh; overflow:auto; box-shadow:0 20px 50px rgba(15,23,42,.35);
}
.ns-modal-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid var(--ns-line,#dbe4ee);
}
.ns-modal-header h3{ margin:0; font-size:16px; }
.ns-modal-close{
  background:none; border:none; font-size:22px; line-height:1; cursor:pointer;
  color:var(--muted,#64748b); padding:2px 6px; border-radius:8px;
}
.ns-modal-close:hover{ background:#f1f5f9; }
.ns-modal-body{ padding:16px 20px; }
.ns-modal-footer{
  display:flex; justify-content:flex-end; gap:8px;
  padding:14px 20px; border-top:1px solid var(--ns-line,#dbe4ee);
}


.payment-method-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:8px 0 10px;
  width:100%;
}
.payment-method-card{
  min-width:0;
  min-height:90px;
  border:1px solid #d6e0ec;
  border-radius:14px;
  background:#fff;
  padding:10px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  cursor:pointer;
  color:#10213b;
  overflow:hidden;
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;
}
.payment-method-card:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:#6e9fe3;
  box-shadow:0 5px 15px rgba(27,65,119,.10);
}
.payment-method-card.selected{
  border-color:#2477e8;
  background:#edf5ff;
  box-shadow:0 0 0 2px rgba(36,119,232,.10);
}
.payment-method-card:disabled{
  opacity:.42;
  cursor:not-allowed;
  background:#f5f7fa;
}
.payment-method-icon{
  font-size:26px;
  line-height:1;
  flex:0 0 auto;
}
.payment-method-card strong{
  width:100%;
  font-size:11px;
  line-height:1.15;
  text-align:center;
  overflow-wrap:anywhere;
}
.payment-method-card small{
  width:100%;
  font-size:8.5px;
  color:#687a92;
  text-align:center;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.payment-subchoices{

.config-toggle-line{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #dce6f1;
  border-radius:11px;
  background:#f8fbff;
  display:flex;
  align-items:center;
  gap:10px;
}
.config-toggle-line span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.config-toggle-line small{
  color:#6c7c91;
  font-size:10px;
}
