/*
  Jardim Premium Base
  Camada leve de acabamento para telas internas, sem dependencias externas.
*/
:root {
  --jd-creme: #f7f1e7;
  --jd-bege: #eadcc8;
  --jd-oliva: #66724a;
  --jd-cafe: #2b2118;
  --jd-caramelo: #b88245;
  --jd-dourado: #c7a96b;
  --jd-card: #fffaf3;
  --jd-line: rgba(43, 33, 24, .12);
  --jd-shadow-soft: 0 18px 48px rgba(43, 33, 24, .08);
}

body {
  background:
    radial-gradient(circle at 18% 8%, rgba(199, 169, 107, .10), transparent 28rem),
    linear-gradient(180deg, #fbf7ef 0%, var(--jd-creme) 100%);
}

main.container,
main.container-fluid {
  padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
}

.jd-premium-hero,
.premium-hero,
.hero-premium {
  background:
    linear-gradient(135deg, rgba(43, 33, 24, .96), rgba(80, 88, 56, .92)),
    linear-gradient(135deg, var(--jd-cafe), var(--jd-oliva));
  color: #fffaf3;
  border: 1px solid rgba(255, 250, 243, .14);
  border-radius: 18px;
  box-shadow: var(--jd-shadow-soft);
}

.jd-premium-card,
.metric-card,
.atalho-card,
.card {
  border-color: var(--jd-line) !important;
}

.jd-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.jd-action-grid .btn,
.jd-touch-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: normal;
}

.btn-primary,
.btn-success {
  box-shadow: 0 10px 24px rgba(102, 114, 74, .18);
}

.btn-outline-primary {
  --bs-btn-color: var(--jd-oliva);
  --bs-btn-border-color: rgba(102, 114, 74, .45);
  --bs-btn-hover-bg: var(--jd-oliva);
  --bs-btn-hover-border-color: var(--jd-oliva);
}

.table {
  --bs-table-bg: transparent;
}

.table thead th {
  color: rgba(43, 33, 24, .70);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom-color: var(--jd-line);
}

.table tbody td {
  vertical-align: middle;
}

.form-control,
.form-select {
  min-height: 44px;
}

img[loading="lazy"] {
  content-visibility: auto;
}

@media (max-width: 680px) {
  main.container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .jd-premium-hero,
  .premium-hero,
  .hero-premium {
    border-radius: 14px;
  }

  .table-responsive {
    border: 1px solid var(--jd-line);
    border-radius: 14px;
  }

  .btn,
  .form-control,
  .form-select {
    font-size: .95rem;
  }
}
