/* Diamond Patrimônio — correção de scroll e encaixe em 100% zoom */

html,
body {
  min-height: 100%;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Sidebar sempre usável sem precisar diminuir zoom */
.side {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 22px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(201,168,76,.75) rgba(255,255,255,.06);
}

.side::-webkit-scrollbar {
  width: 7px;
}

.side::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
}

.side::-webkit-scrollbar-thumb {
  background: rgba(201,168,76,.75);
  border-radius: 999px;
}

/* Menu mais compacto, mantendo legível */
.side .brand {
  margin-bottom: 16px !important;
}

.nav-title {
  margin: 14px 10px 6px !important;
  font-size: 9px !important;
}

.nav {
  gap: 2px !important;
}

.nav button {
  padding: 8px 12px !important;
  min-height: 34px !important;
  line-height: 1.15 !important;
  font-size: 13px !important;
}

.nav button span {
  white-space: nowrap !important;
}

/* Topbar fixa sem esmagar conteúdo */
.top {
  min-height: 64px !important;
  height: 64px !important;
  z-index: 50 !important;
}

/* Área principal com respiro e rolagem normal */
.main {
  min-height: 100vh !important;
  overflow-x: hidden !important;
}

.content {
  min-height: calc(100vh - 64px) !important;
  padding-bottom: 110px !important;
  overflow-x: hidden !important;
}

/* Cards/tabelas com rolagem quando crescerem */
.panel {
  overflow: visible !important;
}

.table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-height: calc(100vh - 310px);
  min-height: 90px;
  scrollbar-width: thin;
}

.table-wrap table {
  min-width: 760px;
}

/* Telas de anexos, documentos, QR e grades grandes */
.ad-grid,
.ce-grid {
  max-height: calc(100vh - 330px);
  overflow-y: auto;
  padding-right: 6px;
}

/* Forms longos */
.form-grid {
  align-items: start !important;
}

.card.panel:has(.form-grid) {
  max-height: calc(100vh - 190px);
  overflow-y: auto !important;
}

/* Modais não estouram a tela */
.rm-box,
.ce-modal,
.rs-modal,
.mh-modal,
.ad-modal {
  max-height: 88vh !important;
  overflow-y: auto !important;
}

/* Botão/selo inferior não cobre conteúdo */
.live,
.dlive-mark {
  bottom: 16px !important;
  right: 16px !important;
}

/* Em telas menores, sidebar vira compacta com scroll */
@media (max-width: 1100px) {
  .side {
    width: 210px !important;
  }

  .main {
    margin-left: 210px !important;
  }

  .top {
    padding: 0 14px !important;
  }

  .search {
    max-width: 360px !important;
  }
}

@media (max-width: 900px) {
  .side {
    width: 76px !important;
  }

  .main {
    margin-left: 76px !important;
  }

  .side .brand div:not(.logo),
  .nav-title,
  .nav button span {
    display: none !important;
  }

  .nav button {
    justify-content: center !important;
    padding: 10px !important;
  }

  .table-wrap {
    max-height: calc(100vh - 260px);
  }
}

@media (max-width: 620px) {
  .side {
    display: none !important;
  }

  .main {
    margin-left: 0 !important;
  }

  .content {
    padding: 14px !important;
    padding-bottom: 90px !important;
  }

  .top {
    min-height: auto !important;
    height: auto !important;
    padding: 10px 12px !important;
    gap: 8px;
    flex-wrap: wrap;
  }

  .search {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    order: 3;
  }

  .grid,
  .req-cards,
  .mh-cards {
    grid-template-columns: 1fr !important;
  }
}
