.standardInput {
    height: 40px;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
    border: var(--sds-size-stroke-border) solid var(--sds-color-border-default-default);
    background:var(--color-scroll-inputs);
    box-shadow:0 4px 4px var(--color-shadow);
    margin:0 10px 20px 0;
    font-family:"Poppins",sans-serif;
  }

  .modalInput {
    height: 40px;
    width: 100%;
    padding-left: 10px;
    border-radius: 10px;
    border: var(--sds-size-stroke-border) solid var(--sds-color-border-default-default);
    background:var(--color-scroll-inputs);
    box-shadow:0 4px 4px var(--color-shadow);
    font-family:"Poppins",sans-serif;
  }

  .standardInputPassword {
    height: 40px;
    min-width: 150px;
    width: 100%;
    padding-left: 10px;
    border-radius: 10px;
    border: var(--sds-size-stroke-border) solid var(--sds-color-border-default-default);
    background:var(--color-scroll-inputs);
    box-shadow:0 4px 4px var(--color-shadow);
    margin:0 10px 10px 0;
    font-family:"Poppins",sans-serif;
  }

  .standardInputReset {
    height: 40px;
    min-width: 150px;
    width: 100%;
    padding-left: 10px;
    border-radius: 10px;
    border: var(--sds-size-stroke-border) solid var(--sds-color-border-default-default);
    background: var(--color-scroll-inputs);
    box-shadow: 0 4px 4px var(--color-shadow);
    margin: 0 0 20px 0;
    font-family: "Poppins", sans-serif;
  }
  
  .standardInput:focus { outline:none; }
  
  
  .standardTextarea{
    height:100px;
    width:300px;               /* se sobrescribe con width:100% en layout */
    padding-left:10px;
    border-radius:10px;
    border:var(--sds-size-stroke-border) solid var(--sds-color-border-default-default);
    background:var(--color-scroll-inputs);
    box-shadow:0 4px 4px var(--color-shadow);
    margin:0 10px 20px 0;
    font-family:"Poppins",sans-serif;
  }
  
  /* quita outline nativo en TODOS los estados de foco */
  .standardTextarea:focus,
  .standardTextarea:focus-visible,
  .standardTextarea.is-invalid:focus,
  .standardTextarea.is-invalid:focus-visible{
    outline:none !important;
  }
  
  .standardTextarea.is-invalid + .invalid-feedback{
    display:block;
    padding-left:5px;
    margin-top:0;
    font-family:"Poppins",sans-serif;
    font-size:.9rem;
    line-height:1.2;
    white-space:pre-line;
  }

  .invalid-feedback.modal-invalid {
    white-space: normal !important; /* cancels pre-line */
    padding: 0 5px !important;
    line-height: 1.2;
    font-size: 0.9rem;
    font-family: "Poppins", sans-serif;
  }

  .standardInput.is-invalid,
  .standardTextarea.is-invalid,
  .modalInput.is-invalid {
    border:none;
    box-shadow:0 0 0 .25rem var(--color-primary-hover);
    background:var(--color-scroll-inputs);
    border-radius:10px;
    margin-bottom:8px;
  }
  
  .standardInput.is-invalid + .invalid-feedback{
    display:block;
    padding-left:5px;
    margin-top:0;
    font-family:"Poppins",sans-serif;
    font-size:.9rem;
    line-height:1.2;
    white-space:pre-line;
  }

  .modal-box .input-wrapper {
    position: relative;
    min-height: 60px;
  }

  .modal-box .standardInput.is-invalid+.invalid-feedback {
      display: block;
      position: absolute;
      font-family: "Poppins", sans-serif;
      top: calc(100% - 10px);
      left: 0;
    }

  .modalInput.is-invalid + .invalid-feedback{
    display:block;
    padding-left:5px;
    margin-top:0;
    font-family:"Poppins",sans-serif;
    font-size:.9rem;
    line-height:1.2;
    white-space:pre-line;
  }
  
  /* =======================================================================
     UTILITARIOS
     ======================================================================= */
  
  .white { background:var(--color-bg-contrast); }
  
  
  /* ----- contador de caracteres (arriba-derecha) ----- */
  .form-field .char-counter{
    position:absolute;
    right:0;
    bottom:-.3rem;
    padding:0 .25rem;
    background:var(--color-bg-contrast);
    font-size:.75rem;
    font-family:"Poppins",sans-serif;
    color:var(--color-dark-gray);
    pointer-events:none;
    white-space:nowrap;
  }

  .form-field.counter-fixed-height {
    min-height: 60px; /* Reserva el espacio */
  }
  
  .form-field.counter-fixed-height .char-counter {
    bottom: -5px; /* Fija posición para evitar movimientos */
  }
  
  /* símbolo de moneda en inputs de costo */
  .inputMoneyWrapper{ position:relative; width: 100%; display:block; margin:0 10px 20px 0; }
  .moneySymbol{
    position:absolute;
    right:1rem;
    top:50%;
    transform:translateY(-60%);
    font-weight:bold;
    color:var(--color-scroll-inputs);
  }

  
  @media (max-width:1000px){
    .standardInput{
      width:90% !important;
      margin:0 auto 20px;
      display:block;
    }
    .modalInput{
      width:90% !important;
      margin:0 auto 20px;
      display:block;
    }
    .standardTextarea{ width:90% !important; margin:0 auto 20px; }
    .inputMoneyWrapper{ display:block; width:100%; margin-right:0; text-align:center; }
    .moneySymbol{ right:1rem; }
  }

  textarea {
    padding-top: 5px;
  }
  
  /* Pestañas de nav */
  .nav-tabs .nav-link.active {
  color: var(--color-primary) !important;
  border-bottom: 2px solid var(--color-primary) !important;
  background-color: transparent !important;
  font-weight: bold;
}

.nav-tabs .nav-link {
  color: var(--color-dark-gray);
}