:root {
  --bg-color: #F2F2F2;
  --text-color: #111111;
  --primary-color: #000000;
  --secondary-color: #4e4e4e;
  --primary-color-hover: #4e4e4e;
  --required-color: #d00000;
  --link-color: #0a7a3b;
  --btn-bg: var(--primary-color);
  --btn-border: var(--primary-color);
  --btn-text: #ffffff;
  --btn-bg-hover: var(--primary-color-hover);
  --btn-border-hover: var(--primary-color-hover);
  --btn-text-hover: #ffffff;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--bg-color);
  color: var(--text-color);
  padding: 20px;
}

label { display: block; font-weight: 600; }
p { font-size: 16px; }
a { color: var(--link-color); }
.center { text-align: center; }

.logo {
  margin-bottom: 10px;
  height: 100px;
  width: auto;
  max-width: 100%;
}

.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
  display: block;
  width: 100%;
}

.bootstrap-select > .dropdown-toggle,
.bootstrap-select > .dropdown-toggle.btn-light {
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  color: #212529;
}

.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select > .dropdown-toggle.btn-light:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
  outline: 0;
}

.bootstrap-select .filter-option-inner-inner {
  line-height: 1.5;
}

.bootstrap-select .bs-placeholder .filter-option-inner-inner {
  color: #6c757d;
}

.bootstrap-select .bs-searchbox .form-control {
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
}

.btn-dark {
  background: var(--btn-bg);
  border-color: var(--btn-border);
  color: var(--btn-text);
  padding: 15px;
  width: 100%;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
  background: var(--btn-bg-hover);
  border-color: var(--btn-border-hover);
  color: var(--btn-text-hover);
}

.status {
  margin: 10px 0 15px;
  font-size: 14px;
}

.status--info { color: #444; }
.status--success { color: #0a7a3b; }
.status--error { color: #b00020; }

.requerido { color: var(--required-color); }

.val {
  color: var(--required-color);
  font-size: 14px;
  font-weight: 400;
}

.modal.in .modal-dialog { z-index: 999999; }

@media (max-width: 767.98px) {
  body {
    padding: 12px;
  }

  .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  h2 {
    font-size: 1.7rem;
    margin-top: 6px;
  }

  h3 {
    font-size: 2rem;
    line-height: 1.15;
    margin-bottom: 12px;
  }

  .alert {
    margin-bottom: 12px;
    font-size: 1rem;
  }

  .form-group {
    margin-bottom: 12px;
  }

  .form-control,
  .form-select,
  .bootstrap-select .dropdown-toggle {
    min-height: 46px;
    font-size: 16px;
    border-radius: 10px;
  }

  label {
    font-size: 1.05rem;
  }

  .btn-dark {
    min-height: 48px;
    font-size: 1.05rem;
  }

  .status {
    font-size: 0.95rem;
  }
}

/* Alert compacto */
.alert {
  padding: 8px 12px;
  margin-bottom: 10px;
}

.required-note {
  margin: 0 0 14px;
  font-size: 14px;
  background: transparent;
  border: 0;
  padding: 0;
}

.form-title {
  margin-bottom: 12px;
}
