/*
 * ============================================================
 * Bootstrap 3 ? Bootstrap 5 — Camada de Compatibilidade
 * Projeto Control-in
 * ============================================================
 *
 * O bootstrap5.min.css foi modificado para usar os breakpoints
 * do BS3: sm=768, md=992, lg=1200 (ao invés de sm=576, md=768,
 * lg=992 do BS5 padrão).
 *
 * Este arquivo complementa com:
 *   - Padding de colunas reduzido (6px) como era no BS3 customizado
 *   - col-xs-* (flex, sem media query — equivalente a col-* do BS5)
 *   - col-xx-* (breakpoint custom 668px do projeto)
 *   - col-*-offset-* (sintaxe BS3 de offsets)
 *   - Classes removidas/renomeadas no BS5 (panel, label, well, etc.)
 *   - Classes utilitárias legadas (pull-*, hidden-*, visible-*, etc.)
 *
 * Data: 2026-04-17
 * ============================================================
 */

/* ????????????????????????????????????????????????????????????
   1. OVERRIDE: Padding de colunas (6px em vez do padrão 12px do BS5)
      Mantém o visual compacto que o projeto já usava no BS3.
   ???????????????????????????????????????????????????????????? */

.row {
  --bs-gutter-x: 12px;
}

.row > * {
  padding-right: 6px;
  padding-left: 6px;
}

/* ????????????????????????????????????????????????????????????
   1b. CONTAINER: Max-widths alinhadas com BS3
       O shift de breakpoints no bootstrap5.min.css deslocou os
       max-widths do .container. Restauramos os valores BS3:
       sm=750, md=970, lg=1170.
   ???????????????????????????????????????????????????????????? */

@media (min-width: 768px) {
  .container {
    max-width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1170px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1170px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1170px;
  }
}

/* ????????????????????????????????????????????????????????????
   1c. FLOAT + CLEARFIX: Compatibilidade com layout BS3
       BS3 usava float:left nas colunas. BS5 usa flex.
       float:left e IGNORADO pelo navegador dentro de flex
       containers (.row), entao e seguro adicionar.
       Fora de .row, restaura o layout side-by-side do BS3.
   ???????????????????????????????????????????????????????????? */

[class*="col-xs-"],
[class*="col-xx-"],
[class*="col-sm-"],
[class*="col-md-"],
[class*="col-lg-"],
[class*="col-xl-"] {
  float: left;
  position: relative;
  min-height: 1px;
  padding-right: 6px;
  padding-left: 6px;
}

/* Clearfix para containers (BS3 tinha, BS5 removeu) */
.container::before,
.container::after,
.container-fluid::before,
.container-fluid::after {
  display: table;
  content: "";
}
.container::after,
.container-fluid::after {
  clear: both;
}

/* ????????????????????????????????????????????????????????????
   2. col-xs-* ? Colunas sem breakpoint (aplicam em toda resolução)
      No BS3 col-xs-* era o menor breakpoint (sem media query).
      No BS5, col-* (sem prefixo) faz o mesmo papel.
      Usa flex para funcionar com o .row flex-based do BS5.
   ???????????????????????????????????????????????????????????? */

.col-xs-12 {
  flex: 0 0 auto;
  width: 100%;
}
.col-xs-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-xs-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-xs-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-xs-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-xs-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-xs-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-xs-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-xs-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-xs-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-xs-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-xs-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-xs-offset-0 {
  margin-left: 0;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-12 {
  margin-left: 100%;
}

.col-xs-pull-0 {
  right: auto;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-12 {
  left: 100%;
}

/* ????????????????????????????????????????????????????????????
   3. col-xx-* ? Breakpoint customizado em 668px
      Este breakpoint extra existia no BS3 customizado do projeto
      e fica entre xs (0) e sm (768px).
   ???????????????????????????????????????????????????????????? */

@media (min-width: 668px) {
  .col-xx-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .col-xx-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xx-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xx-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xx-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xx-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xx-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xx-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xx-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xx-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xx-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xx-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xx-offset-0 {
    margin-left: 0;
  }
  .col-xx-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-xx-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-xx-offset-3 {
    margin-left: 25%;
  }
  .col-xx-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-xx-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-xx-offset-6 {
    margin-left: 50%;
  }
  .col-xx-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-xx-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-xx-offset-9 {
    margin-left: 75%;
  }
  .col-xx-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-xx-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-xx-offset-12 {
    margin-left: 100%;
  }

  .col-xx-pull-0 {
    right: auto;
  }
  .col-xx-pull-1 {
    right: 8.33333333%;
  }
  .col-xx-pull-2 {
    right: 16.66666667%;
  }
  .col-xx-pull-3 {
    right: 25%;
  }
  .col-xx-pull-4 {
    right: 33.33333333%;
  }
  .col-xx-pull-5 {
    right: 41.66666667%;
  }
  .col-xx-pull-6 {
    right: 50%;
  }
  .col-xx-pull-7 {
    right: 58.33333333%;
  }
  .col-xx-pull-8 {
    right: 66.66666667%;
  }
  .col-xx-pull-9 {
    right: 75%;
  }
  .col-xx-pull-10 {
    right: 83.33333333%;
  }
  .col-xx-pull-11 {
    right: 91.66666667%;
  }
  .col-xx-pull-12 {
    right: 100%;
  }

  .col-xx-push-0 {
    left: auto;
  }
  .col-xx-push-1 {
    left: 8.33333333%;
  }
  .col-xx-push-2 {
    left: 16.66666667%;
  }
  .col-xx-push-3 {
    left: 25%;
  }
  .col-xx-push-4 {
    left: 33.33333333%;
  }
  .col-xx-push-5 {
    left: 41.66666667%;
  }
  .col-xx-push-6 {
    left: 50%;
  }
  .col-xx-push-7 {
    left: 58.33333333%;
  }
  .col-xx-push-8 {
    left: 66.66666667%;
  }
  .col-xx-push-9 {
    left: 75%;
  }
  .col-xx-push-10 {
    left: 83.33333333%;
  }
  .col-xx-push-11 {
    left: 91.66666667%;
  }
  .col-xx-push-12 {
    left: 100%;
  }
}

/* ????????????????????????????????????????????????????????????
   3b. RE-ASSERTION: col-sm/md/lg widths (cascade fix)
       Como col-xs-* esta no compat (carregado DEPOIS do BS5),
       ele sobrescreveria col-sm/md/lg do BS5 por ordem de fonte.
       Re-declarar aqui restaura a precedencia correta:
       xs < xx < sm < md < lg (cada breakpoint vence o anterior).
   ???????????????????????????????????????????????????????????? */

@media (min-width: 768px) {
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-12 {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-12 {
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
}

/* ????????????????????????????????????????????????????????????
   4. Offsets BS3 (col-*-offset-*) ? BS5 usa offset-*-*
      Mantém compatibilidade da sintaxe legada.
      Breakpoints alinhados com BS3 (sm=768, md=992, lg=1200).
   ???????????????????????????????????????????????????????????? */

/* SM offsets (768px = BS3 sm) */
@media (min-width: 768px) {
  .col-sm-offset-0 {
    margin-left: 0;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

/* MD offsets (992px = BS3 md) */
@media (min-width: 992px) {
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
}

/* LG offsets (1200px = BS3 lg) */
@media (min-width: 1200px) {
  .col-lg-offset-0 {
    margin-left: 0;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

/* ????????????????????????????????????????????????????????????
   5. Classes de componentes renomeadas/removidas no BS5
   ???????????????????????????????????????????????????????????? */

/* btn-default ? btn-secondary (BS3 usava btn-default, BS5 não tem) */
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}

/* btn-block ? removido no BS5 (era display:block + width:100%) */
.btn-block {
  display: block;
  width: 100%;
}

/* panel ? card (mapeamento básico para compatibilidade) */
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid #ddd;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-default > .panel-heading {
  color: #333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

/* label (badge) — BS3 usava .label, BS5 usa .badge */
.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}
.label-default {
  background-color: #777;
}
.label-primary {
  background-color: #337ab7;
}
.label-success {
  background-color: #5cb85c;
}
.label-info {
  background-color: #5bc0de;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-danger {
  background-color: #d9534f;
}

/* well ? removido no BS5 */
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well-lg {
  padding: 24px;
  border-radius: 6px;
}
.well-sm {
  padding: 9px;
  border-radius: 3px;
}

/* caret (seta dropdown BS3) */
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/* ????????????????????????????????????????????????????????????
   6. Classes utilitárias do BS3 que não existem no BS5
   ???????????????????????????????????????????????????????????? */

/* pull-left / pull-right ? float-start / float-end no BS5 */
.pull-left {
  float: left !important;
}
.pull-right {
  float: right !important;
}

/* center-block ? mx-auto d-block no BS5 */
.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* hide / show / hidden */
.hide {
  display: none !important;
}
.hidden {
  display: none !important;
}

/* img-responsive ? img-fluid no BS5 */
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

/* img-rounded / img-circle */
.img-rounded {
  border-radius: 6px;
}
.img-circle {
  border-radius: 50%;
}

/* text-hide (removido no BS5) */
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

/* ????????????????????????????????????????????????????????????
   7. Responsive visibility classes do BS3
      Breakpoints BS3: xs=0-767, sm=768-991, md=992-1199, lg=1200+
      (alinhados com os breakpoints modificados do BS5)
   ???????????????????????????????????????????????????????????? */

/* hidden-xs: oculto em < 768px */
@media (max-width: 767.98px) {
  .hidden-xs {
    display: none !important;
  }
}

/* hidden-sm: oculto em 768–991px */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hidden-sm {
    display: none !important;
  }
}

/* hidden-md: oculto em 992–1199px */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .hidden-md {
    display: none !important;
  }
}

/* hidden-lg: oculto em ?1200px */
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

/* visible-xs: visível apenas em < 768px */
.visible-xs {
  display: none !important;
}
@media (max-width: 767.98px) {
  .visible-xs {
    display: block !important;
  }
}

/* visible-sm: visível apenas em 768–991px */
.visible-sm {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .visible-sm {
    display: block !important;
  }
}

/* visible-md: visível apenas em 992–1199px */
.visible-md {
  display: none !important;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .visible-md {
    display: block !important;
  }
}

/* visible-lg: visível apenas em ?1200px */
.visible-lg {
  display: none !important;
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
}
