/* Delysium ERP 1.0.133 - Formularios publicos centrados y responsive
   Aplica solo a paginas publicas sin header interno.
*/

:root{
  --public-bg:#0b1220;
  --public-surface:#111827;
  --public-surface-2:#172033;
  --public-input:#0d1424;
  --public-text:#f8fafc;
  --public-muted:#b7c4d8;
  --public-primary:#15803d;
  --public-primary-2:#0f766e;
  --public-border:rgba(148,163,184,.22);
  --public-shadow:0 24px 70px rgba(0,0,0,.32);
  --public-radius:22px;
}

body.erp-public-form-page,
body.registro-clientes-pro-1-0-17.erp-public-form-page{
  min-height:100vh !important;
  margin:0 !important;
  color:var(--public-text) !important;
  background:
    radial-gradient(circle at top left, rgba(21,128,61,.16), transparent 32%),
    radial-gradient(circle at bottom right, rgba(15,118,110,.14), transparent 34%),
    linear-gradient(180deg,#0b1220,#111827) !important;
  font-family:Inter, Arial, sans-serif !important;
  overflow-x:hidden;
}

body.erp-public-form-page .layout{
  width:100%;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(14px,3vw,36px);
}

body.erp-public-form-page .main-content{
  width:100% !important;
  max-width:1080px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  flex:none !important;
}

body.erp-public-form-page .container-fluid{
  width:100% !important;
  padding:0 !important;
  margin:0 auto !important;
}

body.erp-public-form-page .container-form{
  width:100% !important;
  max-width:1000px !important;
  margin:0 auto !important;
  background:rgba(17,24,39,.88) !important;
  border:1px solid rgba(148,163,184,.20) !important;
  border-radius:var(--public-radius) !important;
  padding:clamp(16px,2.6vw,28px) !important;
  box-shadow:var(--public-shadow) !important;
  backdrop-filter:blur(14px);
}

body.erp-public-form-page .container-form > h1,
body.erp-public-form-page h1{
  background:linear-gradient(135deg, rgba(21,128,61,.22), rgba(15,118,110,.15));
  border:1px solid rgba(45,212,191,.18);
  color:#fff !important;
  border-radius:18px;
  padding:18px 20px;
  text-align:left !important;
  font-size:clamp(1.25rem,2.8vw,1.7rem) !important;
  line-height:1.2;
  margin:0 0 16px !important;
}

body.erp-public-form-page h2{
  color:#fff !important;
  font-size:1.12rem !important;
  text-align:left !important;
  padding-bottom:12px;
  border-bottom:1px solid var(--public-border);
  margin:6px 0 16px !important;
}

body.erp-public-form-page .row{
  --bs-gutter-x:1rem;
  --bs-gutter-y:1rem;
  justify-content:center;
}

body.erp-public-form-page #registro-cliente-section,
body.erp-public-form-page #registro-equipo-section,
body.erp-public-form-page .erp-card,
body.erp-public-form-page .card-erp{
  background:rgba(31,41,55,.66) !important;
  border:1px solid var(--public-border) !important;
  border-radius:18px !important;
  box-shadow:0 14px 38px rgba(0,0,0,.18) !important;
  color:var(--public-text) !important;
}

body.erp-public-form-page #registro-cliente-section,
body.erp-public-form-page #registro-equipo-section{
  padding:16px;
}

body.erp-public-form-page #registro-cliente-section.registro-cliente-amplio{
  max-width:560px !important;
  flex:0 0 min(560px,100%) !important;
}

body.erp-public-form-page label,
body.erp-public-form-page .form-label{
  color:#f8fafc !important;
  font-weight:800 !important;
  font-size:.92rem !important;
  margin-bottom:.35rem !important;
}

body.erp-public-form-page .form-control,
body.erp-public-form-page .form-select,
body.erp-public-form-page input,
body.erp-public-form-page select,
body.erp-public-form-page textarea{
  background:var(--public-input) !important;
  border:1px solid rgba(148,163,184,.30) !important;
  color:#fff !important;
  border-radius:12px !important;
  min-height:42px;
  box-shadow:none !important;
}

body.erp-public-form-page .form-control:focus,
body.erp-public-form-page .form-select:focus,
body.erp-public-form-page input:focus,
body.erp-public-form-page select:focus,
body.erp-public-form-page textarea:focus{
  border-color:#22c55e !important;
  box-shadow:0 0 0 .2rem rgba(34,197,94,.16) !important;
}

body.erp-public-form-page option{
  background:#111827 !important;
  color:#fff !important;
}

body.erp-public-form-page .form-text,
body.erp-public-form-page small,
body.erp-public-form-page .text-muted{
  color:var(--public-muted) !important;
}

body.erp-public-form-page .registro-paso-badge{
  background:rgba(34,197,94,.13) !important;
  border:1px solid rgba(34,197,94,.22);
  color:#86efac !important;
}

body.erp-public-form-page .registro-equipo-cta{
  border:1px dashed rgba(34,197,94,.42) !important;
  background:rgba(21,128,61,.13) !important;
  border-radius:16px !important;
}

body.erp-public-form-page .registro-equipo-cta.registro-equipo-ready{
  background:rgba(21,128,61,.22) !important;
  border-style:solid !important;
}

body.erp-public-form-page #btn-mostrar-equipo{
  background:linear-gradient(135deg,#15803d,#0f766e) !important;
  border:0 !important;
  border-radius:14px !important;
  min-height:46px;
  font-weight:900 !important;
}

body.erp-public-form-page #btn-mostrar-equipo:disabled{
  opacity:.58;
  cursor:not-allowed;
}

body.erp-public-form-page #btn-registrar{
  display:block;
  width:min(520px,100%) !important;
  margin:18px auto 0 !important;
  min-height:46px;
  border-radius:14px !important;
  font-weight:900 !important;
  background:linear-gradient(135deg,#15803d,#0f766e) !important;
  border:0 !important;
}

body.erp-public-form-page #registro-equipo-section.registro-equipo-oculto + #btn-registrar,
body.erp-public-form-page #btn-registrar:disabled{
  opacity:.62;
}

body.erp-public-form-page .numero-orden{
  width:min(520px,100%);
  margin:14px auto 0 !important;
  background:rgba(15,23,42,.62);
  border:1px solid var(--public-border);
  border-radius:14px;
  padding:10px;
}

body.erp-public-form-page .numero-orden h3{
  color:#fff !important;
  font-size:1rem !important;
  margin:0 !important;
}

body.erp-public-form-page .numero-orden span{
  color:#86efac !important;
}

body.erp-public-form-page .alert{
  border-radius:14px !important;
  border:1px solid rgba(148,163,184,.20) !important;
}

body.erp-public-form-page .modal-content{
  background:#111827 !important;
  color:#fff !important;
  border:1px solid rgba(148,163,184,.20) !important;
}

body.erp-public-form-page .modal-body{
  color:#e5e7eb !important;
}

/* Nueva cita */
body.erp-public-form-page .erp-card{
  width:min(1000px,100%) !important;
  margin:0 auto !important;
  overflow:hidden;
}
body.erp-public-form-page .erp-header,
body.erp-public-form-page .card-header-erp{
  background:linear-gradient(135deg,#15803d,#0f766e) !important;
  color:#fff !important;
  padding:clamp(26px,4vw,42px) !important;
  text-align:center !important;
}
body.erp-public-form-page .erp-header h1,
body.erp-public-form-page .card-header-erp h1{
  background:none !important;
  border:0 !important;
  padding:0 !important;
  text-align:center !important;
  margin:0 !important;
  font-size:clamp(1.6rem,4vw,2.5rem) !important;
}
body.erp-public-form-page .erp-header p,
body.erp-public-form-page .card-header-erp p{
  color:rgba(255,255,255,.88) !important;
}
body.erp-public-form-page .erp-body,
body.erp-public-form-page .card-body{
  padding:clamp(18px,4vw,40px) !important;
}

/* Domicilio */
body.erp-public-form-page .card-erp{
  width:min(920px,100%) !important;
  margin:0 auto !important;
  overflow:hidden;
}

/* Mobile */
@media(max-width:768px){
  body.erp-public-form-page .layout{
    padding:12px;
    align-items:flex-start;
  }
  body.erp-public-form-page .container-form{
    padding:14px !important;
    border-radius:18px !important;
  }
  body.erp-public-form-page #registro-cliente-section,
  body.erp-public-form-page #registro-equipo-section{
    padding:14px;
  }
  body.erp-public-form-page #registro-cliente-section.registro-cliente-amplio{
    max-width:100% !important;
    flex:0 0 100% !important;
  }
  body.erp-public-form-page .main-content{
    max-width:100% !important;
  }
  body.erp-public-form-page h1{
    text-align:center !important;
  }
  body.erp-public-form-page .btn,
  body.erp-public-form-page button{
    min-height:44px;
  }
}
