
/* NS POS - Configuración V4: 4 submódulos, layout compacto y sin espacios muertos */
#tab-config .config-v4{
  display:grid;
  gap:12px;
  width:100%;
}

#tab-config .config-module-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  border-radius:20px;
  background:linear-gradient(135deg,#0f172a,#1f4f8a);
  color:#fff;
}
#tab-config .config-module-header h1{
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.08;
}
#tab-config .config-module-header p{
  margin:6px 0 0;
  color:#dbeafe;
  font-size:13px;
  max-width:850px;
}
#tab-config .config-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#93c5fd;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#tab-config .config-subnav{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 4px;
  scrollbar-width:thin;
}
#tab-config .config-subnav button{
  flex:0 0 auto;
  border:1px solid #dbe3ed;
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:9px 14px;
  white-space:nowrap;
  font-weight:800;
  cursor:pointer;
}
#tab-config .config-subnav button.active{
  background:#1f4f8a;
  color:#fff;
  border-color:#1f4f8a;
}

#tab-config .config-view{
  display:grid;
  gap:10px;
  width:100%;
}
#tab-config .config-view.hidden{
  display:none!important;
}
#tab-config .config-view-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:2px;
}
#tab-config .config-view-head h2{
  margin:0;
  color:#0f172a;
  font-size:20px;
}
#tab-config .config-view-head p{
  margin:3px 0 0;
  color:#64748b;
  font-size:12px;
}
#tab-config .config-view-head button{
  width:auto;
  flex:0 0 auto;
}

#tab-config .config-section-stack{
  display:grid;
  gap:10px;
  width:100%;
}
#tab-config .config-flat-card{
  margin:0!important;
  width:100%;
  overflow:hidden;
}
#tab-config .compact-header{
  padding-bottom:8px!important;
}
#tab-config .compact-header h3,
#tab-config .compact-header h2{
  margin:0;
  color:#0f172a;
  font-size:16px;
}
#tab-config .compact-header p{
  margin:3px 0 0;
  color:#64748b;
  font-size:12px;
}
#tab-config .config-flat-card .card-body{
  padding-top:10px!important;
}

#tab-config .config-form-grid{
  align-items:end;
}
#tab-config .config-field-block{
  margin-top:10px;
}
#tab-config .config-inline-notice{
  margin-top:10px;
}
#tab-config .config-actions-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
#tab-config .config-actions-row button{
  width:auto;
}
#tab-config .config-actions-row small{
  color:#64748b;
  font-size:11px;
}

#tab-config .config-logo-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 180px;
  gap:16px;
  align-items:center;
}
#tab-config .config-logo-controls{
  min-width:0;
}
#tab-config .logo-preview-shell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}
#tab-config .logo-preview{
  max-width:150px;
  max-height:90px;
  object-fit:contain;
}

#tab-config .config-save-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  border:1px solid #dbe3ed;
  border-radius:13px;
  background:#f8fafc;
}
#tab-config .config-save-bar strong{
  display:block;
  color:#0f172a;
}
#tab-config .config-save-bar span{
  display:block;
  color:#64748b;
  font-size:11px;
  margin-top:2px;
}
#tab-config .config-save-bar button{
  width:auto;
  flex:0 0 auto;
}

#tab-config .backup-architecture-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
#tab-config .backup-arch-card{
  display:grid;
  gap:3px;
  min-width:0;
  padding:10px 11px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#f8fafc;
}
#tab-config .backup-arch-card strong{
  color:#0f172a;
  font-size:13px;
}
#tab-config .backup-arch-card span{
  color:#64748b;
  font-size:11px;
}
#tab-config .backup-arch-card code{
  color:#1e3a8a;
  font-size:10px;
  overflow-wrap:anywhere;
}
#tab-config .config-toggle-line{
  margin-top:9px;
}

#tab-config .config-license-file{
  max-width:320px;
}
#tab-config .config-license-status{
  margin:0;
}
#tab-config .support-compact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
#tab-config .support-compact-grid > div{
  display:grid;
  gap:2px;
  padding:10px 11px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#f8fafc;
}
#tab-config .support-compact-grid span{
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:800;
}
#tab-config .support-compact-grid strong{
  color:#0f172a;
  font-size:13px;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  #tab-config .backup-architecture-grid,
  #tab-config .support-compact-grid{
    grid-template-columns:1fr;
  }
  #tab-config .config-logo-row{
    grid-template-columns:1fr;
  }
  #tab-config .logo-preview-shell{
    justify-content:flex-start;
  }
}

@media(max-width:720px){
  #tab-config .config-module-header,
  #tab-config .config-view-head,
  #tab-config .config-save-bar{
    display:block;
  }
  #tab-config .config-view-head button,
  #tab-config .config-save-bar button{
    width:100%;
    margin-top:8px;
  }
  #tab-config .config-actions-row{
    display:grid;
    grid-template-columns:1fr;
  }
  #tab-config .config-actions-row button,
  #tab-config .config-actions-row input{
    width:100%;
    max-width:none;
  }
}

/* NS POS · Configuración responsive header */
@media(max-width:768px){
  #tab-config .config-module-header{display:block;padding:15px;border-radius:15px}
  #tab-config .config-module-header h1{font-size:20px}
}


/* NS POS · Operación del POS compacta */
#config-view-operacion .config-operation-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
#config-view-operacion .config-operation-layout > .config-operation-identity,
#config-view-operacion .config-operation-layout > .config-operation-logo{
  min-height:0;
}
#config-view-operacion .config-operation-print{
  grid-column:1 / -1;
}
#config-view-operacion .config-operation-save-actions{
  margin-top:14px;
  align-items:center;
  justify-content:flex-start;
}
#config-view-operacion .config-operation-save-actions small{
  color:#64748b;
  line-height:1.35;
}
#config-view-operacion .config-operation-logo .card-body{
  min-height:190px;
}
@media(max-width:980px){
  #config-view-operacion .config-operation-layout{
    grid-template-columns:1fr;
  }
  #config-view-operacion .config-operation-print{
    grid-column:auto;
  }
}


/* NS POS · Envío por correo · toggle compacto */
#config-view-correo .config-email-toggle{
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  width:auto;
  max-width:420px;
  padding:9px 12px;
  border:1px solid #d8e2ef;
  border-radius:10px;
  background:#f8fbff;
}
#config-view-correo .config-email-toggle input[type="checkbox"]{
  width:14px;
  height:14px;
  min-width:14px;
  margin:2px 0 0;
}
#config-view-correo .config-email-toggle span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
#config-view-correo .config-email-toggle strong{
  font-size:12px;
  line-height:1.2;
}
#config-view-correo .config-email-toggle small{
  font-size:10px;
  line-height:1.3;
  color:#64748b;
}
