
/* V116 - Formulário limpo, profissional e sem excesso visual */
.user-est-page-v115{
  --clean-primary:var(--primary,#006bb6);
  --clean-primary-rgb:var(--primary-rgb,0,107,182);
  --clean-line:#d9e5ef;
  --clean-bg:#f7fafc;
  --clean-text:#0f172a;
  --clean-muted:#64748b;
}

/* Cabeçalho da página */
.user-est-page-v115 .user-est-page-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:22px 24px!important;
  border:1px solid var(--clean-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
}
.user-est-page-v115 .user-est-page-head .kicker{
  background:#e8f3fb!important;
  color:var(--clean-primary)!important;
}
.user-est-page-v115 .user-est-page-head h2{
  margin:8px 0 4px!important;
  font-size:28px!important;
  line-height:1.1!important;
  color:var(--clean-text)!important;
}
.user-est-page-v115 .user-est-page-head p{
  margin:0!important;
  color:var(--clean-muted)!important;
}
.user-est-page-v115 .user-est-add-btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}

/* Card geral do formulário */
.user-est-form-v115{
  padding:0!important;
  border:1px solid var(--clean-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}

/* Cabeçalho do formulário limpo */
.user-est-form-hero-v115{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:22px 24px!important;
  background:#fff!important;
  border-bottom:1px solid var(--clean-line)!important;
  color:var(--clean-text)!important;
}
.user-est-form-hero-v115 span{
  display:inline-flex!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#e8f3fb!important;
  color:var(--clean-primary)!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.user-est-form-hero-v115 h2{
  margin:9px 0 4px!important;
  color:var(--clean-text)!important;
  font-size:26px!important;
  line-height:1.12!important;
  font-weight:950!important;
}
.user-est-form-hero-v115 p{
  margin:0!important;
  color:var(--clean-muted)!important;
  line-height:1.5!important;
}
.user-est-form-status-v115{
  flex:0 0 auto!important;
  padding:9px 12px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  font-size:12px!important;
  font-weight:950!important;
}

/* Miolo */
.user-est-form-v115 .user-est-pro-form{
  padding:22px!important;
  display:grid!important;
  gap:18px!important;
  background:var(--clean-bg)!important;
}

/* Seções simples e elegantes */
.user-est-form-v115 .user-est-form-section{
  padding:20px!important;
  border:1px solid var(--clean-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.user-est-form-v115 .user-est-form-section::before{
  display:none!important;
}

/* Título da seção */
.user-est-form-v115 .user-est-section-title{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin:0 0 16px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid #edf2f7!important;
}
.user-est-form-v115 .user-est-section-title span{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#e8f3fb!important;
  color:var(--clean-primary)!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:none!important;
}
.user-est-form-v115 .user-est-section-title h3{
  margin:0 0 3px!important;
  color:var(--clean-text)!important;
  font-size:19px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.user-est-form-v115 .user-est-section-title p{
  margin:0!important;
  color:var(--clean-muted)!important;
  font-size:13px!important;
  line-height:1.45!important;
}

/* Campos */
.user-est-form-v115 .user-est-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.user-est-form-v115 label,
.user-est-form-v115 .user-est-full-label{
  display:grid!important;
  gap:7px!important;
  color:#26364a!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.user-est-form-v115 .full,
.user-est-form-v115 .user-est-full-label{
  grid-column:1/-1!important;
}
.user-est-form-v115 input,
.user-est-form-v115 select,
.user-est-form-v115 textarea{
  width:100%!important;
  min-height:46px!important;
  border:1px solid #cfdcea!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--clean-text)!important;
  padding:0 13px!important;
  font-size:14px!important;
  font-weight:650!important;
  outline:none!important;
  box-shadow:none!important;
  transition:border-color .18s ease, box-shadow .18s ease!important;
}
.user-est-form-v115 textarea{
  padding:12px 13px!important;
  line-height:1.55!important;
  resize:vertical!important;
  min-height:110px!important;
}
.user-est-form-v115 .user-est-summary{
  min-height:100px!important;
}
.user-est-form-v115 .user-est-description{
  min-height:190px!important;
}
.user-est-form-v115 input:focus,
.user-est-form-v115 select:focus,
.user-est-form-v115 textarea:focus{
  border-color:var(--clean-primary)!important;
  box-shadow:0 0 0 3px rgba(var(--clean-primary-rgb),.12)!important;
}

/* Upload */
.user-est-form-v115 input[type="file"]{
  padding:10px!important;
  border-style:dashed!important;
  background:#f8fbff!important;
}
.user-est-form-v115 small{
  color:var(--clean-muted)!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Validação */
.user-est-form-v115 .required-field::after,
.user-est-form-v115 .user-est-full-label.required-field::after{
  content:" *"!important;
  color:#dc2626!important;
  font-weight:950!important;
}
.user-est-form-v115 .field-error-message{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 6px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#fee2e2!important;
  color:#991b1b!important;
  border:1px solid #fecaca!important;
  font-size:11px!important;
  font-weight:950!important;
}
.user-est-form-v115 input.is-invalid,
.user-est-form-v115 select.is-invalid,
.user-est-form-v115 textarea.is-invalid{
  border:2px solid #dc2626!important;
  background:#fff1f2!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13)!important;
}
.user-est-form-v115 .field-invalid{
  color:#991b1b!important;
}

/* Ações */
.user-est-form-v115 .actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  padding:18px 22px!important;
  border-top:1px solid var(--clean-line)!important;
  background:#fff!important;
}
.user-est-form-v115 .actions button,
.user-est-form-v115 .actions .btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  font-weight:950!important;
}

/* Mídias atuais */
.user-est-form-v115 .user-est-media-current{
  margin-top:14px!important;
  padding:14px!important;
  border:1px solid var(--clean-line)!important;
  border-radius:16px!important;
  background:#f8fbff!important;
}
.user-est-form-v115 .user-est-media-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:10px!important;
}

/* Mobile */
@media(max-width:820px){
  .user-est-page-v115 .user-est-page-head,
  .user-est-form-hero-v115{
    display:grid!important;
    padding:18px!important;
  }
  .user-est-page-v115 .user-est-add-btn{
    width:100%!important;
  }
  .user-est-form-v115 .user-est-pro-form{
    padding:14px!important;
    gap:14px!important;
  }
  .user-est-form-v115 .user-est-form-section{
    padding:15px!important;
    border-radius:16px!important;
  }
  .user-est-form-v115 .user-est-section-title{
    gap:10px!important;
  }
  .user-est-form-v115 .user-est-grid{
    grid-template-columns:1fr!important;
  }
  .user-est-form-v115 input,
  .user-est-form-v115 select,
  .user-est-form-v115 textarea{
    font-size:16px!important;
  }
  .user-est-form-v115 .actions{
    display:grid!important;
    padding:15px!important;
  }
  .user-est-form-v115 .actions button,
  .user-est-form-v115 .actions .btn{
    width:100%!important;
  }
}


/* V117 - Card do topo some no modo formulário e erro fica bem visível */
.user-est-form-v115 .field-error-message{
  scroll-margin-top:110px!important;
}

@media(max-width:820px){
  .user-est-form-v115 .field-error-message{
    scroll-margin-top:86px!important;
  }
}


/* V118 - rolagem exata até a mensagem de erro no mobile */
.user-est-form-v115 .field-error-message{
  scroll-margin-top:105px!important;
  position:relative!important;
  z-index:5!important;
}

@media(max-width:820px){
  .user-est-form-v115 .field-error-message{
    scroll-margin-top:72px!important;
  }
}


/* V119 - Força a mensagem de erro a ser o alvo da rolagem */
.user-est-scroll-target,
.user-est-form-v115 .field-error-message{
  scroll-margin-top:115px!important;
  display:inline-flex!important;
  position:relative!important;
  z-index:50!important;
}

@media(max-width:900px){
  .user-est-scroll-target,
  .user-est-form-v115 .field-error-message{
    scroll-margin-top:78px!important;
  }
}


/* V120 - validação e scroll sem depender de cache */
.user-est-form-v115 .field-error-message,
.user-est-error-v120{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#fee2e2!important;
  color:#991b1b!important;
  border:1px solid #fecaca!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1!important;
  scroll-margin-top:80px!important;
  position:relative!important;
  z-index:999!important;
}
.user-est-form-v115 input.is-invalid,
.user-est-form-v115 select.is-invalid,
.user-est-form-v115 textarea.is-invalid{
  border:2px solid #dc2626!important;
  background:#fff1f2!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.16)!important;
}
