/*
 * layout-professional-polish.css
 * Camada de refinamento visual global.
 * Foco: legibilidade, densidade equilibrada e responsividade.
 */

:root {
  --cv-pro-border: rgba(255, 255, 255, 0.12);
  --cv-pro-border-soft: rgba(255, 255, 255, 0.08);
  --cv-pro-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
  --cv-pro-content-max: 1660px;
}

html,
body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.content-wrapper > .container-fluid,
.content-wrapper > .container-xxl {
  width: 100%;
  max-width: var(--cv-pro-content-max);
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 1vw, 1.5rem);
}

.card {
  border: 1px solid var(--cv-pro-border) !important;
  box-shadow: var(--cv-pro-shadow);
}

.card-header {
  border-bottom: 1px solid var(--cv-pro-border-soft) !important;
}

.form-label {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.form-control,
.form-select {
  min-height: 2.55rem;
}

.btn {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.dropdown-menu {
  border: 1px solid var(--cv-pro-border) !important;
  padding: 0.35rem !important;
  box-shadow: var(--cv-pro-shadow) !important;
}

.dropdown-menu .dropdown-item {
  border-radius: 0.45rem;
  padding: 0.45rem 0.65rem;
  white-space: normal;
}

.table > :not(caption) > * > * {
  border-color: var(--cv-pro-border-soft) !important;
}

.table thead th {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.table tbody td {
  font-size: 0.88rem;
  line-height: 1.32;
}

.table .badge {
  font-weight: 600;
}

.bootstrap-table .fixed-table-toolbar {
  padding: 0.6rem 0.65rem 0.3rem;
  border-bottom: 1px solid var(--cv-pro-border-soft);
}

.bootstrap-table .fixed-table-toolbar .btn,
.bootstrap-table .fixed-table-toolbar .search input {
  min-height: 2.05rem;
  font-size: 0.82rem;
}

.modal-dialog {
  max-width: min(960px, calc(100vw - 1.25rem));
}

.modal-content {
  border: 1px solid var(--cv-pro-border) !important;
  box-shadow: var(--cv-pro-shadow);
}

.modal-title {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.swal2-popup {
  border: 1px solid var(--cv-pro-border) !important;
  box-shadow: var(--cv-pro-shadow) !important;
}

/*
 * Normalizacao do tema: remove superficies claras e sombras "brancas".
 * Mantem apenas textos/icones em branco, com fundos bordo/vermelho.
 */

.alert,
.alert-primary,
.alert-secondary,
.alert-success,
.alert-info,
.alert-warning,
.alert-danger {
  background: linear-gradient(135deg, rgba(72, 8, 14, 0.96) 0%, rgba(108, 14, 24, 0.96) 100%) !important;
  border: 1px solid rgba(255, 94, 94, 0.45) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(12, 0, 0, 0.45) !important;
}

.alert-link {
  color: #fff !important;
  text-decoration: underline;
}

.alert .btn-close,
.modal .btn-close,
.offcanvas .btn-close,
.toast .btn-close {
  background: rgba(120, 16, 28, 0.95) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-width='2'%3e%3cpath d='M3 3l10 10M13 3L3 13'/%3e%3c/svg%3e") center / 0.8rem no-repeat !important;
  border: 1px solid rgba(255, 94, 94, 0.5) !important;
  border-radius: 999px !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
}

.alert .btn-close:hover,
.modal .btn-close:hover,
.offcanvas .btn-close:hover,
.toast .btn-close:hover,
.alert .btn-close:focus,
.modal .btn-close:focus,
.offcanvas .btn-close:focus,
.toast .btn-close:focus {
  background-color: rgba(157, 21, 35, 0.98) !important;
}

.modal-content,
.offcanvas,
.popover,
.toast,
.toast-header,
.toast-body,
.dropdown-menu,
.swal2-popup {
  background: linear-gradient(135deg, rgba(38, 0, 0, 0.98) 0%, rgba(86, 10, 18, 0.98) 100%) !important;
  border-color: rgba(255, 94, 94, 0.35) !important;
  color: #fff !important;
}

.dropdown-menu .dropdown-item,
.popover-body,
.toast-body {
  color: #fff !important;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background: rgba(220, 38, 38, 0.22) !important;
}

.bg-white,
.bg-light,
.table-light,
.text-bg-light {
  background: linear-gradient(135deg, rgba(52, 5, 10, 0.94) 0%, rgba(82, 10, 18, 0.94) 100%) !important;
  color: #fff !important;
}

.list-group-item {
  background: rgba(58, 8, 14, 0.94) !important;
  border-color: rgba(255, 94, 94, 0.3) !important;
  color: #fff !important;
}

.shadow,
.shadow-sm,
.shadow-lg {
  box-shadow: 0 12px 28px rgba(10, 0, 0, 0.55), 0 0 0 1px rgba(170, 26, 38, 0.22) !important;
}

.btn-label-secondary,
.btn-outline-secondary {
  background: linear-gradient(135deg, rgba(82, 13, 22, 0.98) 0%, rgba(132, 21, 33, 0.98) 100%) !important;
  border-color: rgba(255, 94, 94, 0.45) !important;
  color: #fff !important;
}

.btn-label-secondary:hover,
.btn-outline-secondary:hover {
  background: linear-gradient(135deg, rgba(103, 15, 27, 0.98) 0%, rgba(154, 25, 39, 0.98) 100%) !important;
  border-color: rgba(255, 94, 94, 0.58) !important;
  color: #fff !important;
}

.btn-success,
.bg-success,
.text-bg-success,
.badge.bg-success {
  background: linear-gradient(135deg, #b31321 0%, #de3342 100%) !important;
  border-color: rgba(255, 94, 94, 0.55) !important;
  color: #fff !important;
}

.btn-success:hover,
.btn-success:focus {
  background: linear-gradient(135deg, #c71e2d 0%, #e3404f 100%) !important;
  border-color: rgba(255, 94, 94, 0.65) !important;
  color: #fff !important;
}

.text-success {
  color: #ff8a96 !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.22) !important;
}

@media (max-width: 991.98px) {
  .content-wrapper > .container-fluid,
  .content-wrapper > .container-xxl {
    padding-inline: 0.75rem;
  }

  .table thead th {
    font-size: 0.72rem;
  }

  .table tbody td {
    font-size: 0.84rem;
  }
}

@media (max-width: 767.98px) {
  .card-body,
  .card-header,
  .card-footer {
    padding: 0.85rem;
  }

  .btn {
    min-height: 2.5rem;
  }

  .modal-dialog {
    max-width: calc(100vw - 0.75rem);
    margin: 0.375rem auto;
  }
}
