/* Admin 3D v83 — padrão visual reutilizável para telas de cadastro.
   Não muda o posicionamento nem o nome dos campos enviados ao servidor. */
:root {
  --cad-ink: #1e2b1e;
  --cad-yellow: #ffd326;
  --cad-green: #54795a;
  --cad-muted: #bac9b2;
  --cad-stroke: #e1e8dd;
  --cad-soft: #f3f6ef;
}

main .admin-cadastro-card {
  background: #fff;
  border: 1px solid var(--cad-stroke) !important;
  border-left: 7px solid var(--cad-yellow) !important;
  border-radius: 15px;
  box-shadow: 0 4px 16px rgba(25,35,20,.045);
}
main .admin-cadastro-card.admin-accent-green { border-left-color: var(--cad-green) !important; }
main .admin-cadastro-card.admin-accent-soft { border-left-color: var(--cad-muted) !important; }
main .admin-cadastro-card h2.h5,
main .admin-cadastro-card h3.h6 { color: var(--cad-ink); font-weight: 750; }

main .admin-cadastro-card > .admin-cadastro-kicker {
  display: flex; align-items: center; gap: .7rem;
  color: #596b58; font-size: .75rem; font-weight: 700;
  letter-spacing: .07em; margin: -.25rem 0 1rem;
}
main .admin-cadastro-card .admin-cadastro-num {
  background: var(--cad-ink); color: var(--cad-yellow);
  width: 34px; height: 34px; display: inline-flex;
  justify-content: center; align-items: center; border-radius: 9px;
  font-size: .84rem; letter-spacing: 0; font-weight: 800;
}
main .admin-accent-green .admin-cadastro-num { background: var(--cad-green); color: #fff; }
main .admin-accent-soft .admin-cadastro-num { background: #e6eee2; color: #29402c; }

/* Subgrupos existentes de formulários extensos tornam-se cartões internos. */
main .admin-cadastro-card form .admin-cadastro-group {
  border: 1px solid #e5ebe1;
  border-left: 4px solid var(--cad-green);
  border-radius: 12px; background: #fbfcfa;
  padding: 1rem 1.1rem;
  margin-bottom: .85rem;
}
main .admin-cadastro-card form .admin-cadastro-group:nth-of-type(3n+2) { border-left-color: var(--cad-yellow); }
main .admin-cadastro-card form .admin-cadastro-group:nth-of-type(3n) { border-left-color: var(--cad-muted); }
main .admin-cadastro-card .form-label { color: #334333; }
main .admin-cadastro-card .form-control:focus,
main .admin-cadastro-card .form-select:focus { border-color: #a2b99a; box-shadow: 0 0 0 .2rem #dbe7d044; }

/* Produtos e orçamentos já possuem cartões estruturados: harmonização sem duplicar molduras. */
main #formProduto > .product-section { border-radius: 15px; box-shadow: 0 4px 16px rgba(25,35,20,.045); }
main #formProduto > .product-section:nth-of-type(3n+2) { border-left-color: var(--cad-green) !important; }
main #formProduto > .product-section:nth-of-type(3n) { border-left-color: var(--cad-muted) !important; }
main #formProduto > .product-section .eyebrow { color: #567151; }
main .orc-form-card { box-shadow: 0 4px 16px rgba(25,35,20,.045); }

/* Formulários de edição em janelas modais seguem as mesmas cores. */
.admin-cadastro-modal .modal-header { background: var(--cad-soft); border-bottom: 1px solid var(--cad-stroke); }
.admin-cadastro-modal .modal-body { border-left: 5px solid var(--cad-yellow); }
.admin-cadastro-modal .modal-title { color: var(--cad-ink); font-weight: 750; }
.admin-cadastro-modal .modal-footer { background: #fbfcfa; border-top: 1px solid var(--cad-stroke); }

/* Campos em grades continuam adaptáveis para celular e uso amplo em 1920×1080. */
@media (min-width: 1400px) {
  main .admin-cadastro-card { padding: 1.2rem 1.35rem !important; }
  main .admin-cadastro-card form .admin-cadastro-group { padding: .95rem 1.1rem; }
}
@media (max-width: 767.98px) {
  main .admin-cadastro-card { border-left-width: 5px !important; }
  main .admin-cadastro-card form .admin-cadastro-group { padding: .85rem; }
}

/* Divisão progressiva dos formulários antigos com muitos campos. */
main .admin-cadastro-split-card, .admin-cadastro-modal .admin-cadastro-split-card {
  border: 1px solid var(--cad-stroke); border-left: 6px solid var(--cad-yellow);
  border-radius: 13px; padding: 0 1rem 1.2rem;
  background: white; margin-bottom: .5rem;
  box-shadow: 0 3px 12px rgba(25,35,20,.035);
}
main .row > .col-12:nth-of-type(3n+2) > .admin-cadastro-split-card,
.admin-cadastro-modal .row > .col-12:nth-of-type(3n+2) > .admin-cadastro-split-card { border-left-color: var(--cad-green); }
main .row > .col-12:nth-of-type(3n) > .admin-cadastro-split-card,
.admin-cadastro-modal .row > .col-12:nth-of-type(3n) > .admin-cadastro-split-card { border-left-color: var(--cad-muted); }
.admin-cadastro-split-heading {
  margin: 0 -1rem 1rem; border-bottom: 1px solid var(--cad-stroke);
  padding: .75rem 1rem; display: flex; gap: .75rem;
  align-items: center; background: var(--cad-soft);
  color: var(--cad-ink); border-radius: 8px 8px 0 0;
}
.admin-cadastro-split-heading .admin-cadastro-num {
  background: var(--cad-ink); color: var(--cad-yellow); font-weight: 800;
  border-radius: 8px; width: 30px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center; font-size: .8rem;
}
.admin-cadastro-modal .modal-body > .row > .col-12 { margin-bottom: .75rem; }

/* Admin 3D v86 — padrão unificado das abas (referência: Cadastro / Consulta). */
main .admin-section-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-bottom: .9rem;
}
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .32rem;
  min-height: 34px;
  padding: .36rem .68rem;
  border: 1px solid #25292b !important;
  border-radius: 9px !important;
  background: #f6f7f5 !important;
  color: #222629 !important;
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.3;
  box-shadow: none !important;
  text-decoration: none;
  transition: background-color .15s, color .15s;
}
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link):hover:not(.active):not(.btn-dark) {
  background: #e7ebe7 !important;
}
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link).active,
main .admin-section-tabs > :is(a.btn-dark, button.btn-dark),
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link)[aria-selected="true"] {
  background: #222629 !important;
  border-color: #222629 !important;
  color: #fff !important;
}
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link) .badge {
  border: 0 !important;
  border-radius: 7px !important;
  background: #e5e8e8 !important;
  color: #24282b !important;
  font-weight: 750;
  font-size: .68rem;
  padding: .27em .53em;
}
main .admin-section-tabs > :is(.active, .btn-dark, [aria-selected="true"]) .badge {
  background: #fff !important;
  color: #14181a !important;
}
main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link):focus-visible {
  outline: 3px solid #ffd326 !important;
  outline-offset: 2px;
}
@media(max-width:575.98px) {
  main .admin-section-tabs > :is(a.btn, button.btn, a.nav-link, button.nav-link) {
    min-height: 32px;
    padding: .32rem .56rem;
    font-size: .8rem;
  }
}
