/* assets/css/custom.css */
/* Raio padrão */
:root { --radius-std: 0.6rem; }

/* Botões */
.btn,
.btn-sm,
.btn-lg,
.input-group .btn {
  border-radius: var(--radius-std) !important;
}

/* Campos de formulário (BS4 e BS5) */
.form-control,
.form-select,       /* BS5 */
.custom-select,     /* BS4 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-dropdown,
.select2-search--dropdown .select2-search__field {
  border-radius: var(--radius-std) !important;
}

/* Cartões / caixas */
.card,
.card-header:first-child,
.card-footer:last-child,
.alert,
.modal-content,
.dropdown-menu,
.toast,
.list-group-item,
.badge,         /* caso queira até badges mais “suaves” */
.pagination .page-link,
.table,
.auth-box {     /* seu contêiner das telas de auth */
  border-radius: var(--radius-std) !important;
}

/* Input group: garante raio correto nas junções */
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child),
.input-group > .form-select:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child),
.input-group > .form-select:not(:first-child) {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: var(--radius-std) !important;
  border-bottom-right-radius: var(--radius-std) !important;
}
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-top-left-radius: var(--radius-std) !important;
  border-bottom-left-radius: var(--radius-std) !important;
}

/* Select2 alturas (caso necessário) */
.select2-container--default .select2-selection--single {
  height: 38px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 36px !important;
  padding-left: 12px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 36px !important;
}

/* Utilitário opcional para usar pontualmente */
.rounded-06 { border-radius: var(--radius-std) !important; }

/* Ajuste Imagens Usuarios Redondo*/
.rounded {
  border-radius: 100% !important;
}

/* ========================================
   DASHBOARD ELEGANTE - SLEEK STYLE
   ======================================== */

/* Cards de Estatísticas */
.card-stats {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.card-stats:hover {
  transform: translateY(-5px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Ícones dos Cards */
.icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.icon-shape {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Gradientes para os cards */
.bg-gradient-primary {
  background: linear-gradient(87deg, #5e72e4 0, #667eea 100%) !important;
}

.bg-gradient-success {
  background: linear-gradient(87deg, #2dce89 0, #48bb78 100%) !important;
}

.bg-gradient-warning {
  background: linear-gradient(87deg, #fb6340 0, #f6ad55 100%) !important;
}

.bg-gradient-info {
  background: linear-gradient(87deg, #11cdef 0, #4299e1 100%) !important;
}

.bg-gradient-danger {
  background: linear-gradient(87deg, #f5365c 0, #fc8181 100%) !important;
}

/* Bordas coloridas */
.border-left-warning {
  border-left: 4px solid #fb6340 !important;
}

.border-left-info {
  border-left: 4px solid #11cdef !important;
}

.border-left-danger {
  border-left: 4px solid #f5365c !important;
}

.border-left-success {
  border-left: 4px solid #2dce89 !important;
}

.border-left-primary {
  border-left: 4px solid #5e72e4 !important;
}

/* Títulos dos Cards */
.card-title {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Tabelas Elegantes */
.table-hover tbody tr {
  transition: all 0.2s ease;
}

.table-hover tbody tr:hover {
  background-color: rgba(94, 114, 228, 0.05) !important;
  cursor: pointer;
  transform: scale(1.01);
}

/* Badges Modernos */
.badge {
  padding: 0.5em 0.75em;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
}

.badge-pill {
  border-radius: 10rem;
}

/* Page Header */
.page-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e9ecef;
}

.page-header .page-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #32325d;
}

/* Cards de Gráficos */
.card {
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 0.75rem;
  box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15) !important;
  transition: all 0.3s ease;
}

.card:hover {
  box-shadow: 0 0.25rem 2rem 0 rgba(58, 59, 69, 0.2) !important;
}

.card-header {
  background-color: #f8f9fc;
  border-bottom: 1px solid #e3e6f0;
  padding: 1rem 1.35rem;
}

.card-header h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #32325d;
}

.card-subtitle {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  margin-bottom: 0;
}

/* Animações Suaves */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card-stats,
.card {
  animation: fadeInUp 0.5s ease-out;
}

/* Responsividade para Cards */
@media (max-width: 768px) {
  .card-stats {
    margin-bottom: 1rem;
  }
  
  .icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.25rem;
  }
}

/* Melhorias nos Gráficos */
canvas {
  max-height: 400px;
}

/* Espaçamento consistente */
.mt-4 {
  margin-top: 2rem !important;
}