html,
body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
}

.layout-wrapper {
  display: flex;
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
}

.sidebar {
  width: 4.5rem;
  background-color: #f8f9fa;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1rem;
  border-right: 1px solid #dfd8d8;
}

.sidebar .nav-link {
  color: #495057;
  transition: background 0.2s, color 0.2s;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  background-color: #0d6efd;
  color: #fff;
}

.sidebar .nav-link i {
  pointer-events: none;
}

.content-area {
  flex: 1;
  min-width: 0; /* ESSENCIAL para liberar scroll horizontal de filhos */
}

.navbar-area {
  border-bottom: 1px solid #dee2e6;
}

main {
  flex-grow: 1;
  padding: 2rem;
  overflow-y: auto;
  overflow-x: auto;
  padding-bottom: 100px !important;
}

footer {
  border-top: 1px solid #dee2e6;
  padding: 1rem;
  text-align: center;
  font-size: 0.875rem;
  color: #6c757d;
  background-color: #fff;
}

/* Reduz a largura da sidebar offcanvas no mobile */
.offcanvas-sidebar {
  width: 70px !important; /* ou 60px se quiser mais fino */
}

/* Remove padding e alinha os ícones */
.offcanvas-sidebar .offcanvas-body {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Ajusta cada link de ícone */
.offcanvas-sidebar .nav-link {
  padding: 12px 0;
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
}

/* dark mode */
.darkmode {
  background-color: #1b1c28;
}
.darkmode * {
  color: white;
  background-color: #1b1c28;
}
.darkmode .kanbanCard {
  background-color: #1b1c28;
}
.darkmode .controls {
  background-color: #1b1c28;
}
.darkmode .form-control {
  box-shadow: none;
  border: none;
  background-color: #252632;
  color: white;
}
.darkmode .form-control:focus {
  box-shadow: none;
  border: none;
  background-color: #252632;
  color: white;
}
.darkmode .form-inline {
  background-color: #1b1c28;
}
.darkmode .btn-dark {
  background-color: #252632;
  border: none;
}
.darkmode .btn-dark:hover {
  background-color: #292a36 !important;
}

.darkmode .dropzone {
  background-color: #292a36 !important;
}
.darkmode .boards {
  border-top: 1px solid #252632;
  scrollbar-color: dark;
}
.darkmode h3 {
  background-color: #1b1c28;
}
.darkmode .over {
  background-color: #15151d !important;
}
.darkmode .delete {
  color: #dc3545;
}
.darkmode #theme-btn {
  color: white !important;
}
.darkmode h3 {
  color: white !important;
}

/* loading */
.loader {
  border: 16px solid white; /* Light grey */
  border-top: 16px solid #1d1f20; /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
  background-color: transparent;
  /* Light grey */
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
  0% {
    transform: rotate(0deg);
  }
}
#loadingScreen {
  position: absolute;
  z-index: 30;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Login  */
.login-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-color: #f8f9fa;
}

.login-card {
  width: 100%;
  max-width: 400px;
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.1);
}

/* Profile  */
.profile-hero {
  background: linear-gradient(
    135deg,
    rgba(13, 110, 253, 0.08),
    rgba(25, 135, 84, 0.06)
  );
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.avatar-wrapper {
  position: relative;
  display: inline-block;
}
.avatar-ring {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.06);
  border: 4px solid #fff;
}
.avatar-badge {
  position: absolute;
  right: -4px;
  bottom: 6px;
  background: #0d6efd;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(13, 110, 253, 0.35);
  user-select: none;
  pointer-events: none;
}
.card-clean {
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.form-label {
  font-weight: 600;
  color: #344054;
}
.help-text {
  font-size: 0.85rem;
  color: #6c757d;
}
.section-title {
  font-weight: 700;
  color: #1f2937;
  letter-spacing: 0.2px;
}
.btn-primary {
  box-shadow: 0 8px 18px rgba(13, 110, 253, 0.22);
}
.btn-primary:focus,
.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
  border-color: #0d6efd;
}
@media (max-width: 575.98px) {
  .avatar-wrapper {
    margin-bottom: 0.5rem;
  }
}

/* ====== LOADER CDW ====== */
#cdw-page-loader {
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
#cdw-page-loader.fade-out {
  opacity: 0;
}

/* ====== TABLES CDW ====== */
.cdw-table-p,
.cdw-table-s,
.cdw-table-i,
.cdw-table-d,
.cdw-table-w,
.cdw-table-b,
.cdw-table-success,
.cdw-table-purple,
.cdw-table-orange,
.cdw-table-teal,
.cdw-table-pink,
.cdw-table-cyan {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.9rem;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: all 0.2s ease-in-out;
}

/* ====== PRIMARY ====== */
.cdw-table-p thead th {
  background: linear-gradient(90deg, #0d6efd, #0b5ed7);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-p tbody td {
  padding: 0.7rem;
  border-top: 1px solid #dee2e6;
}
.cdw-table-p tbody tr:nth-child(even) {
  background-color: #f8faff;
}
.cdw-table-p tbody tr:hover {
  background-color: #e0ecff;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== SECONDARY ====== */
.cdw-table-s thead th {
  background: linear-gradient(90deg, #6c757d, #495057);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-s tbody td {
  padding: 0.7rem;
  border-top: 1px solid #dee2e6;
}
.cdw-table-s tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.cdw-table-s tbody tr:hover {
  background-color: #e6e6e6;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== INFO ====== */
.cdw-table-i thead th {
  background: linear-gradient(90deg, #0dcaf0, #0bb5d6);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-i tbody td {
  padding: 0.7rem;
  border-top: 1px solid #dee2e6;
}
.cdw-table-i tbody tr:nth-child(even) {
  background-color: #f6fdff;
}
.cdw-table-i tbody tr:hover {
  background-color: #cfeff7;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== DANGER ====== */
.cdw-table-d thead th {
  background: linear-gradient(90deg, #dc3545, #b02a37);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-d tbody td {
  padding: 0.7rem;
  border-top: 1px solid #f0d5d8;
}
.cdw-table-d tbody tr:nth-child(even) {
  background-color: #fff5f5;
}
.cdw-table-d tbody tr:hover {
  background-color: #ffd9d9;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== WARNING ====== */
.cdw-table-w thead th {
  background: linear-gradient(90deg, #ffc107, #e0a800);
  color: #212529;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-w tbody td {
  padding: 0.7rem;
  border-top: 1px solid #f7e6be;
}
.cdw-table-w tbody tr:nth-child(even) {
  background-color: #fffbf0;
}
.cdw-table-w tbody tr:hover {
  background-color: #fff3cd;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== BLACK ====== */
.cdw-table-b thead th {
  background: linear-gradient(90deg, #212529, #000);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-b tbody td {
  padding: 0.7rem;
  border-top: 1px solid #2c2c2c;
  color: #212529;
}
.cdw-table-b tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}
.cdw-table-b tbody tr:hover {
  background-color: #d9d9d9;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== SUCCESS ====== */
.cdw-table-success thead th {
  background: linear-gradient(90deg, #198754, #146c43);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-success tbody td {
  padding: 0.7rem;
  border-top: 1px solid #d1e7dd;
}
.cdw-table-success tbody tr:nth-child(even) {
  background-color: #f0f9f5;
}
.cdw-table-success tbody tr:hover {
  background-color: #d1f2e3;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== PURPLE ====== */
.cdw-table-purple thead th {
  background: linear-gradient(90deg, #6f42c1, #59359d);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-purple tbody td {
  padding: 0.7rem;
  border-top: 1px solid #e2d9f3;
}
.cdw-table-purple tbody tr:nth-child(even) {
  background-color: #f8f5ff;
}
.cdw-table-purple tbody tr:hover {
  background-color: #eae3ff;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== ORANGE ====== */
.cdw-table-orange thead th {
  background: linear-gradient(90deg, #fd7e14, #e56a0c);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-orange tbody td {
  padding: 0.7rem;
  border-top: 1px solid #ffe0c8;
}
.cdw-table-orange tbody tr:nth-child(even) {
  background-color: #fff5eb;
}
.cdw-table-orange tbody tr:hover {
  background-color: #ffe8d1;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== TEAL ====== */
.cdw-table-teal thead th {
  background: linear-gradient(90deg, #20c997, #1aa179);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-teal tbody td {
  padding: 0.7rem;
  border-top: 1px solid #b8f2e2;
}
.cdw-table-teal tbody tr:nth-child(even) {
  background-color: #e8f9f3;
}
.cdw-table-teal tbody tr:hover {
  background-color: #c8f4e4;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== PINK ====== */
.cdw-table-pink thead th {
  background: linear-gradient(90deg, #d63384, #b02a6b);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-pink tbody td {
  padding: 0.7rem;
  border-top: 1px solid #f8d7e6;
}
.cdw-table-pink tbody tr:nth-child(even) {
  background-color: #fdf2f8;
}
.cdw-table-pink tbody tr:hover {
  background-color: #fce4f1;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== CYAN ====== */
.cdw-table-cyan thead th {
  background: linear-gradient(90deg, #0dcaf0, #0bb5d6);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  border: none;
}
.cdw-table-cyan tbody td {
  padding: 0.7rem;
  border-top: 1px solid #b6effb;
}
.cdw-table-cyan tbody tr:nth-child(even) {
  background-color: #e8f9fe;
}
.cdw-table-cyan tbody tr:hover {
  background-color: #cff4fc;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

/* ====== UTILITÁRIOS DE LARGURA CDW ====== */
.cdw-w25 {
  width: 25% !important;
}
.cdw-w50 {
  width: 50% !important;
}
.cdw-w75 {
  width: 75% !important;
}
.cdw-w80 {
  width: 80% !important;
}
.cdw-w100 {
  width: 100% !important;
}

/* CENTRALIZAÇÃO PARA DATATABLES */
.cdw-table-center {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    display: table !important;
}

/* CENTRALIZAR ELEMENTOS INTERNOS QUANDO CENTRALIZADO */
.cdw-table-center .cdw-dt-search,
.cdw-table-center .cdw-dt-length,
.cdw-table-center .cdw-dt-pagination {
    text-align: center !important;
    justify-content: center !important;
}

.cdw-table-center .cdw-dt-length select {
    margin: 0 auto !important;
}

/* GARANTIR QUE AS LARGURAS FUNCIONEM COM CENTRALIZAÇÃO */
.cdw-table-center.cdw-w25 { width: 25% !important; }
.cdw-table-center.cdw-w50 { width: 50% !important; }
.cdw-table-center.cdw-w75 { width: 75% !important; }
.cdw-table-center.cdw-w80 { width: 80% !important; }
.cdw-table-center.cdw-w100 { width: 100% !important; }

/* ====== WRAPPER RESPONSIVO CDW ====== */
.cdw-table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cdw-table-responsive table {
  margin-bottom: 0;
  white-space: nowrap;
}

/* ====== AJUSTES PARA MOBILE ====== */
@media (max-width: 768px) {
  .cdw-table-p,
  .cdw-table-s,
  .cdw-table-i,
  .cdw-table-d,
  .cdw-table-w,
  .cdw-table-b,
  .cdw-table-success,
  .cdw-table-purple,
  .cdw-table-orange,
  .cdw-table-teal,
  .cdw-table-pink,
  .cdw-table-cyan {
    font-size: 0.8rem;
  }

  .cdw-table-p thead th,
  .cdw-table-s thead th,
  .cdw-table-i thead th,
  .cdw-table-d thead th,
  .cdw-table-w thead th,
  .cdw-table-b thead th,
  .cdw-table-success thead th,
  .cdw-table-purple thead th,
  .cdw-table-orange thead th,
  .cdw-table-teal thead th,
  .cdw-table-pink thead th,
  .cdw-table-cyan thead th {
    padding: 0.5rem;
  }

  .cdw-table-p tbody td,
  .cdw-table-s tbody td,
  .cdw-table-i tbody td,
  .cdw-table-d tbody td,
  .cdw-table-w tbody td,
  .cdw-table-b tbody td,
  .cdw-table-success tbody td,
  .cdw-table-purple tbody td,
  .cdw-table-orange tbody td,
  .cdw-table-teal tbody td,
  .cdw-table-pink tbody td,
  .cdw-table-cyan tbody td {
    padding: 0.45rem;
  }

  .cdw-table-p,
  .cdw-table-s,
  .cdw-table-i,
  .cdw-table-d,
  .cdw-table-w,
  .cdw-table-b,
  .cdw-table-success,
  .cdw-table-purple,
  .cdw-table-orange,
  .cdw-table-teal,
  .cdw-table-pink,
  .cdw-table-cyan {
    border-radius: 0.3rem;
    box-shadow: none;
  }
}

/* ====== DATA TABLES CDW ====== */
.cdw-table-dt {
  width: 100% !important;
}

/* Configuração básica do DataTables para temas CDW */
.cdw-table-dt.dataTable {
  border-collapse: collapse !important;
  margin: 0 !important;
}

/* Header do DataTables - mantém estilo CDW */
.cdw-table-dt thead th {
  position: relative;
  cursor: pointer;
  user-select: none;
}

.cdw-table-dt thead th.sorting:after,
.cdw-table-dt thead th.sorting_asc:after,
.cdw-table-dt thead th.sorting_desc:after {
  content: "↕";
  position: absolute;
  right: 8px;
  font-size: 12px;
  opacity: 0.6;
  color: inherit;
}

.cdw-table-dt thead th.sorting_asc:after {
  content: "↑";
  opacity: 1;
}

.cdw-table-dt thead th.sorting_desc:after {
  content: "↓";
  opacity: 1;
}

/* Container principal do DataTable */
.cdw-dt-container {
  background: white;
  border-radius: 0.5rem;
  padding: 1.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  min-height: 450px; /* ALTURA MÍNIMA DO CARD */
  margin-bottom: 60px; /* ESPAÇO EXTRA */
}

/* Paginação customizada */
.cdw-dt-pagination .dataTables_paginate {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.cdw-dt-pagination .paginate_button {
  padding: 0.5rem 0.75rem;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  background: white;
  color: #0d6efd;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.cdw-dt-pagination .paginate_button:hover {
  background: #e9ecef;
  border-color: #adb5bd;
  color: #0d6efd;
}

.cdw-dt-pagination .paginate_button.current {
  background: #0d6efd;
  border-color: #0d6efd;
  color: white;
}

.cdw-dt-pagination .paginate_button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #f8f9fa;
}

/* Info customizado */
.cdw-dt-info {
  font-size: 0.875rem;
  color: #6c757d;
  margin-top: 0.5rem;
  text-align: center;
}

/* Search box customizada */
.cdw-dt-search {
  margin-bottom: 1rem;
}

.cdw-dt-search .dataTables_filter {
  text-align: right;
}

.cdw-dt-search .dataTables_filter input {
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  width: 200px;
}

/* Length menu customizado */
.cdw-dt-length .dataTables_length {
  margin-bottom: 1rem;
}

.cdw-dt-length .dataTables_length select {
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  padding: 0.375rem 2rem 0.375rem 0.75rem;
  font-size: 0.875rem;
}

/* Loading state */
.cdw-table-dt.dataTable tbody tr td.dataTables_empty {
  text-align: center;
  padding: 2rem !important;
  color: #6c757d;
}

/* Hover effect mantido do CDW */
.cdw-table-dt tbody tr:hover {
  cursor: pointer;
}
.dataTables_wrapper .dataTables_paginate {
  margin-top: 30px !important;
  padding: 15px 0 !important;
}

/* LARGURAS PARA O CONTAINER DO DATATABLES */
.cdw-dt-container.cdw-w25 {
  width: 25% !important;
  min-width: 25% !important;
}

.cdw-dt-container.cdw-w50 {
  width: 50% !important;
  min-width: 50% !important;
}

.cdw-dt-container.cdw-w75 {
  width: 75% !important;
  min-width: 75% !important;
}

.cdw-dt-container.cdw-w80 {
  width: 80% !important;
  min-width: 80% !important;
}

.cdw-dt-container.cdw-w100 {
  width: 100% !important;
  min-width: 100% !important;
}

/* GARANTIR QUE A TABLE INTERNA OCUPE 100% DO CONTAINER */
.cdw-dt-container table.cdw-table-dt {
  width: 100% !important;
}

/* SOBRESCREVER LARGURAS DE COLUNAS DO DATATABLES */
.cdw-dt-container.cdw-w50 table.cdw-table-dt th,
.cdw-dt-container.cdw-w50 table.cdw-table-dt td {
  width: auto !important;
  min-width: auto !important;
}

/* Responsividade */
@media (max-width: 768px) {
  .cdw-dt-container {
    padding: 1rem;
    min-height: 400px; /* UM POUCO MENOR NO MOBILE */
    margin-bottom: 50px;
  }

  main {
    padding-bottom: 80px !important; /* MENOS ESPAÇO NO MOBILE */
  }

  .cdw-dt-pagination .paginate_button {
    padding: 0.375rem 0.5rem;
    font-size: 0.875rem;
  }

  .cdw-table-dt thead th.sorting:after,
  .cdw-table-dt thead th.sorting_asc:after,
  .cdw-table-dt thead th.sorting_desc:after {
    right: 4px;
  }

  .cdw-dt-search .dataTables_filter input {
    width: 150px;
  }
}

/* Dark mode support */
.darkmode .cdw-dt-container {
  background: #1b1c28;
  color: white;
}

.darkmode .cdw-dt-pagination .paginate_button {
  background: #252632;
  border-color: #444;
  color: white;
}

.darkmode .cdw-dt-pagination .paginate_button:hover {
  background: #2d2e3a;
  color: white;
}

.darkmode .cdw-dt-pagination .paginate_button.current {
  background: #0d6efd;
  color: white;
}

.darkmode .cdw-dt-search .dataTables_filter input,
.darkmode .cdw-dt-length .dataTables_length select {
  background: #252632;
  border-color: #444;
  color: white;
}

.darkmode .cdw-dt-info {
  color: #adb5bd;
}

/* ====== LOADING CDW ====== */
.cdweb-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.45);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.5s ease-out;
}

.cdweb-loading-overlay.fade-out {
  opacity: 0;
}

/* ST1 - Spinner circular */
.cdweb-loading-st1 .cdweb-loading-spinner {
  width: 90px;
  height: 90px;
  border: 10px solid #f3f3f3;
  border-top: 10px solid #0d6efd;
  border-radius: 50%;
  animation: cdw-spin 1s linear infinite;
}

@keyframes cdw-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* ST2 - Barra de progresso infinita */
.cdweb-loading-st2 .cdweb-loading-bar-container {
  width: 300px;
  height: 14px;
  background: #e9ecef;
  border-radius: 7px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.cdweb-loading-st2 .cdweb-loading-bar {
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, #0dcaf0, #0d6efd);
  border-radius: 7px;
  animation: cdw-loadingBarMove 1.2s infinite ease-in-out;
}

@keyframes cdw-loadingBarMove {
  0% {
    margin-left: -40%;
  }
  50% {
    margin-left: 60%;
  }
  100% {
    margin-left: -40%;
  }
}

/* ====== ST3 - Bolinhas pulando ====== */
.cdweb-loading-st3 .cdweb-loading-dots {
  display: flex;
  gap: 0.6rem;
}

.cdweb-loading-st3 .cdweb-loading-dots div {
  width: 18px;
  height: 18px;
  background: #0d6efd;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
  animation: cdw-bounce 0.6s infinite alternate;
}

.cdweb-loading-st3 .cdweb-loading-dots div:nth-child(2) {
  animation-delay: 0.2s;
}
.cdweb-loading-st3 .cdweb-loading-dots div:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes cdw-bounce {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-15px);
  }
}

/* ====== ST4 - Pulse/Onda ====== */
.cdweb-loading-st4 .cdweb-loading-pulse {
  width: 80px;
  height: 80px;
  background: rgba(13, 110, 253, 0.7);
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
  animation: cdw-pulse 1.5s infinite ease-in-out;
}

@keyframes cdw-pulse {
  0% {
    transform: scale(0.95);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(0.95);
    opacity: 0.7;
  }
}

/* ===== TOOLTIP CDW ===== */
.cdw-tooltip-p .tooltip-inner,
.cdw-tooltip-s .tooltip-inner,
.cdw-tooltip-i .tooltip-inner,
.cdw-tooltip-d .tooltip-inner,
.cdw-tooltip-w .tooltip-inner,
.cdw-tooltip-b .tooltip-inner,
.cdw-tooltip-success .tooltip-inner,
.cdw-tooltip-purple .tooltip-inner,
.cdw-tooltip-orange .tooltip-inner,
.cdw-tooltip-teal .tooltip-inner,
.cdw-tooltip-pink .tooltip-inner,
.cdw-tooltip-cyan .tooltip-inner {
  background: var(--cdw-tooltip-bg);
  color: var(--cdw-tooltip-color);
}

.cdw-tooltip-p { --cdw-tooltip-bg: #0d6efd; --cdw-tooltip-color: #fff; }
.cdw-tooltip-s { --cdw-tooltip-bg: #6c757d; --cdw-tooltip-color: #fff; }
.cdw-tooltip-i { --cdw-tooltip-bg: #0dcaf0; --cdw-tooltip-color: #fff; }
.cdw-tooltip-d { --cdw-tooltip-bg: #dc3545; --cdw-tooltip-color: #fff; }
.cdw-tooltip-w { --cdw-tooltip-bg: #ffc107; --cdw-tooltip-color: #212529; }
.cdw-tooltip-b { --cdw-tooltip-bg: #000; --cdw-tooltip-color: #fff; }
.cdw-tooltip-success { --cdw-tooltip-bg: #198754; --cdw-tooltip-color: #fff; }
.cdw-tooltip-purple { --cdw-tooltip-bg: #6f42c1; --cdw-tooltip-color: #fff; }
.cdw-tooltip-orange { --cdw-tooltip-bg: #fd7e14; --cdw-tooltip-color: #fff; }
.cdw-tooltip-teal { --cdw-tooltip-bg: #20c997; --cdw-tooltip-color: #fff; }
.cdw-tooltip-pink { --cdw-tooltip-bg: #d63384; --cdw-tooltip-color: #fff; }
.cdw-tooltip-cyan { --cdw-tooltip-bg: #0dcaf0; --cdw-tooltip-color: #fff; }

/* ===== Ajusta a SETINHA ===== */
.cdw-tooltip-p .tooltip-arrow::before,
.cdw-tooltip-s .tooltip-arrow::before,
.cdw-tooltip-i .tooltip-arrow::before,
.cdw-tooltip-d .tooltip-arrow::before,
.cdw-tooltip-w .tooltip-arrow::before,
.cdw-tooltip-b .tooltip-arrow::before,
.cdw-tooltip-success .tooltip-arrow::before,
.cdw-tooltip-purple .tooltip-arrow::before,
.cdw-tooltip-orange .tooltip-arrow::before,
.cdw-tooltip-teal .tooltip-arrow::before,
.cdw-tooltip-pink .tooltip-arrow::before,
.cdw-tooltip-cyan .tooltip-arrow::before {
  border-color: transparent !important;
}

/* Top */
.cdw-tooltip-p.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-p.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #0d6efd !important;
}
.cdw-tooltip-s.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-s.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #6c757d !important;
}
.cdw-tooltip-i.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-i.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #0dcaf0 !important;
}
.cdw-tooltip-d.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-d.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #dc3545 !important;
}
.cdw-tooltip-w.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-w.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #ffc107 !important;
}
.cdw-tooltip-b.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-b.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #000 !important;
}
.cdw-tooltip-success.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-success.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #198754 !important;
}
.cdw-tooltip-purple.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-purple.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #6f42c1 !important;
}
.cdw-tooltip-orange.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-orange.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #fd7e14 !important;
}
.cdw-tooltip-teal.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-teal.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #20c997 !important;
}
.cdw-tooltip-pink.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-pink.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #d63384 !important;
}
.cdw-tooltip-cyan.bs-tooltip-top .tooltip-arrow::before,
.cdw-tooltip-cyan.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #0dcaf0 !important;
}

/* Bottom */
.cdw-tooltip-p.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #0d6efd !important;
}
.cdw-tooltip-s.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #6c757d !important;
}
.cdw-tooltip-i.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #0dcaf0 !important;
}
.cdw-tooltip-d.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #dc3545 !important;
}
.cdw-tooltip-w.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #ffc107 !important;
}
.cdw-tooltip-b.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #000 !important;
}
.cdw-tooltip-success.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #198754 !important;
}
.cdw-tooltip-purple.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #6f42c1 !important;
}
.cdw-tooltip-orange.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #fd7e14 !important;
}
.cdw-tooltip-teal.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #20c997 !important;
}
.cdw-tooltip-pink.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #d63384 !important;
}
.cdw-tooltip-cyan.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #0dcaf0 !important;
}

/* Left */
.cdw-tooltip-p.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #0d6efd !important;
}
.cdw-tooltip-s.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #6c757d !important;
}
.cdw-tooltip-i.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #0dcaf0 !important;
}
.cdw-tooltip-d.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #dc3545 !important;
}
.cdw-tooltip-w.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #ffc107 !important;
}
.cdw-tooltip-b.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #000 !important;
}
.cdw-tooltip-success.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #198754 !important;
}
.cdw-tooltip-purple.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #6f42c1 !important;
}
.cdw-tooltip-orange.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #fd7e14 !important;
}
.cdw-tooltip-teal.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #20c997 !important;
}
.cdw-tooltip-pink.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #d63384 !important;
}
.cdw-tooltip-cyan.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #0dcaf0 !important;
}

/* Right */
.cdw-tooltip-p.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #0d6efd !important;
}
.cdw-tooltip-s.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #6c757d !important;
}
.cdw-tooltip-i.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #0dcaf0 !important;
}
.cdw-tooltip-d.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #dc3545 !important;
}
.cdw-tooltip-w.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #ffc107 !important;
}
.cdw-tooltip-b.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #000 !important;
}
.cdw-tooltip-success.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #198754 !important;
}
.cdw-tooltip-purple.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #6f42c1 !important;
}
.cdw-tooltip-orange.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #fd7e14 !important;
}
.cdw-tooltip-teal.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #20c997 !important;
}
.cdw-tooltip-pink.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #d63384 !important;
}
.cdw-tooltip-cyan.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #0dcaf0 !important;
}

/* ===== POPOVER CDW BASE ===== */
.cdw-popover {
  border: none;
  border-radius: 0.6rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}
.cdw-popover .popover-body {
  font-size: 0.9rem;
  padding: 0.75rem;
}

/* PRIMARY */
.cdw-popover-p .popover-header {
  background: #0d6efd;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-p .popover-body {
  color: #333;
}

/* SECONDARY */
.cdw-popover-s .popover-header {
  background: #6c757d;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-s .popover-body {
  color: #333;
}

/* INFO */
.cdw-popover-i .popover-header {
  background: #0dcaf0;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-i .popover-body {
  color: #333;
}

/* DANGER */
.cdw-popover-d .popover-header {
  background: #dc3545;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-d .popover-body {
  color: #333;
}

/* WARNING */
.cdw-popover-w .popover-header {
  background: #ffc107;
  color: #212529;
  font-weight: 600;
}
.cdw-popover-w .popover-body {
  color: #333;
}

/* BLACK */
.cdw-popover-b .popover-header {
  background: #212529;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-b .popover-body {
  color: #333;
}

/* SUCCESS */
.cdw-popover-success .popover-header {
  background: #198754;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-success .popover-body {
  color: #333;
}

/* PURPLE */
.cdw-popover-purple .popover-header {
  background: #6f42c1;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-purple .popover-body {
  color: #333;
}

/* ORANGE */
.cdw-popover-orange .popover-header {
  background: #fd7e14;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-orange .popover-body {
  color: #333;
}

/* TEAL */
.cdw-popover-teal .popover-header {
  background: #20c997;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-teal .popover-body {
  color: #333;
}

/* PINK */
.cdw-popover-pink .popover-header {
  background: #d63384;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-pink .popover-body {
  color: #333;
}

/* CYAN */
.cdw-popover-cyan .popover-header {
  background: #0dcaf0;
  color: #fff;
  font-weight: 600;
}
.cdw-popover-cyan .popover-body {
  color: #333;
}

/* ====== MODAL CDW ====== */
.cdw-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1060;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
}

.cdw-modal.show {
  display: block;
}

/* Overlay */
.cdw-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  z-index: -1;
}

/* Dialog - Centralizado */
.cdw-modal-dialog {
  position: relative;
  width: auto;
  margin: 2rem auto;
  display: flex;
  align-items: center;
  min-height: calc(100% - 4rem);
  max-width: 500px;
}

.cdw-modal-content {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  transform: scale(0.9);
  transition: all 0.3s ease-out;
  width: 100%;
  background: white;
}

.cdw-modal.show .cdw-modal-content {
  transform: scale(1);
}

/* Header */
.cdw-modal-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1.5rem 2rem;
  position: relative;
}

.cdw-modal-title {
  font-weight: 700;
  font-size: 1.4rem;
  margin: 0;
}

.cdw-modal-close {
  background: none;
  border: none;
  font-size: 1.8rem;
  opacity: 0.7;
  transition: all 0.2s ease;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1;
}

.cdw-modal-close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.05);
  transform: translateY(-50%) scale(1.1);
}

/* Body */
.cdw-modal-body {
  padding: 2rem;
  font-size: 1rem;
  line-height: 1.6;
  background: white;
  color: #333;
}

/* Footer */
.cdw-modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1.5rem 2rem;
  gap: 0.75rem;
  display: flex;
  justify-content: flex-end;
  background: white;
}

/* ====== TAMANHOS CORRIGIDOS E COMPLETOS ====== */
.cdw-modal-sm .cdw-modal-dialog {
  max-width: 400px !important;
}

.cdw-modal-md .cdw-modal-dialog {
  max-width: 600px !important;
}

.cdw-modal-lg .cdw-modal-dialog {
  max-width: 900px !important;
}

.cdw-modal-xl .cdw-modal-dialog {
  max-width: 1140px !important;
}

/* 🔹 NOVO: MODAL FULL WIDTH */
.cdw-modal-full .cdw-modal-dialog {
  max-width: 95vw !important;
  width: 95vw !important;
  margin: 2.5vh auto !important;
}

.cdw-modal-full .cdw-modal-content {
  min-height: 95vh !important;
  display: flex !important;
  flex-direction: column !important;
}

.cdw-modal-full .cdw-modal-body {
  flex: 1 !important;
  overflow-y: auto !important;
  max-height: calc(95vh - 140px) !important;
}

/* Garantir que essas regras sejam aplicadas */
.cdw-modal .cdw-modal-dialog {
  max-width: 500px; /* padrão */
}

.cdw-modal.cdw-modal-sm .cdw-modal-dialog,
.cdw-modal .cdw-modal-dialog.cdw-modal-sm {
  max-width: 400px !important;
}

.cdw-modal.cdw-modal-md .cdw-modal-dialog,
.cdw-modal .cdw-modal-dialog.cdw-modal-md {
  max-width: 600px !important;
}

.cdw-modal.cdw-modal-lg .cdw-modal-dialog,
.cdw-modal .cdw-modal-dialog.cdw-modal-lg {
  max-width: 900px !important;
}

.cdw-modal.cdw-modal-xl .cdw-modal-dialog,
.cdw-modal .cdw-modal-dialog.cdw-modal-xl {
  max-width: 1140px !important;
}

.cdw-modal.cdw-modal-full .cdw-modal-dialog,
.cdw-modal .cdw-modal-dialog.cdw-modal-full {
  max-width: 95vw !important;
  width: 95vw !important;
}

/* ====== CORES - APENAS NO HEADER ====== */
/* PRIMARY */
.cdw-modal-p .cdw-modal-header {
  background: linear-gradient(135deg, #0d6efd, #0b5ed7);
  color: white;
}

.cdw-modal-p .cdw-modal-close {
  color: white;
}

.cdw-modal-p .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* SECONDARY */
.cdw-modal-s .cdw-modal-header {
  background: linear-gradient(135deg, #6c757d, #495057);
  color: white;
}

.cdw-modal-s .cdw-modal-close {
  color: white;
}

.cdw-modal-s .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* INFO */
.cdw-modal-i .cdw-modal-header {
  background: linear-gradient(135deg, #0dcaf0, #0bb5d6);
  color: white;
}

.cdw-modal-i .cdw-modal-close {
  color: white;
}

.cdw-modal-i .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* DANGER */
.cdw-modal-d .cdw-modal-header {
  background: linear-gradient(135deg, #dc3545, #b02a37);
  color: white;
}

.cdw-modal-d .cdw-modal-close {
  color: white;
}

.cdw-modal-d .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* WARNING */
.cdw-modal-w .cdw-modal-header {
  background: linear-gradient(135deg, #ffc107, #e0a800);
  color: #212529;
}

.cdw-modal-w .cdw-modal-close {
  color: #212529;
}

.cdw-modal-w .cdw-modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

/* BLACK */
.cdw-modal-b .cdw-modal-header {
  background: linear-gradient(135deg, #212529, #000);
  color: white;
}

.cdw-modal-b .cdw-modal-close {
  color: white;
}

.cdw-modal-b .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* SUCCESS */
.cdw-modal-success .cdw-modal-header {
  background: linear-gradient(135deg, #198754, #146c43);
  color: white;
}

.cdw-modal-success .cdw-modal-close {
  color: white;
}

.cdw-modal-success .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* PURPLE */
.cdw-modal-purple .cdw-modal-header {
  background: linear-gradient(135deg, #6f42c1, #59359d);
  color: white;
}

.cdw-modal-purple .cdw-modal-close {
  color: white;
}

.cdw-modal-purple .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ORANGE */
.cdw-modal-orange .cdw-modal-header {
  background: linear-gradient(135deg, #fd7e14, #e56a0c);
  color: white;
}

.cdw-modal-orange .cdw-modal-close {
  color: white;
}

.cdw-modal-orange .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* TEAL */
.cdw-modal-teal .cdw-modal-header {
  background: linear-gradient(135deg, #20c997, #1aa179);
  color: white;
}

.cdw-modal-teal .cdw-modal-close {
  color: white;
}

.cdw-modal-teal .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* PINK */
.cdw-modal-pink .cdw-modal-header {
  background: linear-gradient(135deg, #d63384, #b02a6b);
  color: white;
}

.cdw-modal-pink .cdw-modal-close {
  color: white;
}

.cdw-modal-pink .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* CYAN */
.cdw-modal-cyan .cdw-modal-header {
  background: linear-gradient(135deg, #0dcaf0, #0bb5d6);
  color: white;
}

.cdw-modal-cyan .cdw-modal-close {
  color: white;
}

.cdw-modal-cyan .cdw-modal-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ====== BOTÕES TEMÁTICOS DO MODAL ====== */
.cdw-modal-footer .cdw-btn {
  border-radius: 0.5rem;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  padding: 0.5rem 1.5rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
}

.cdw-modal-footer .cdw-btn-primary {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  color: white;
}

.cdw-modal-footer .cdw-btn-primary:hover {
  transform: translateY(-1px);
}

.cdw-modal-footer .cdw-btn-secondary:hover {
  transform: translateY(-1px);
}

/* PRIMARY */
.cdw-modal-p .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #0d6efd, #0b5ed7);
}

.cdw-modal-p .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #0b5ed7, #0a58ca);
  box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
}

.cdw-modal-p .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(13, 110, 253, 0.1);
  border: 1px solid rgba(13, 110, 253, 0.2);
  color: #0d6efd;
}

.cdw-modal-p .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(13, 110, 253, 0.2);
  border-color: rgba(13, 110, 253, 0.3);
  color: #0b5ed7;
}

/* SECONDARY */
.cdw-modal-s .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #6c757d, #495057);
}

.cdw-modal-s .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #5a6268, #495057);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
}

.cdw-modal-s .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(108, 117, 125, 0.1);
  border: 1px solid rgba(108, 117, 125, 0.2);
  color: #6c757d;
}

.cdw-modal-s .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(108, 117, 125, 0.2);
  border-color: rgba(108, 117, 125, 0.3);
  color: #495057;
}

/* INFO */
.cdw-modal-i .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #0dcaf0, #0bb5d6);
}

.cdw-modal-i .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #0bb5d6, #0aa2c0);
  box-shadow: 0 4px 12px rgba(13, 202, 240, 0.3);
}

.cdw-modal-i .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(13, 202, 240, 0.1);
  border: 1px solid rgba(13, 202, 240, 0.2);
  color: #0dcaf0;
}

.cdw-modal-i .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(13, 202, 240, 0.2);
  border-color: rgba(13, 202, 240, 0.3);
  color: #0bb5d6;
}

/* DANGER */
.cdw-modal-d .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #dc3545, #b02a37);
}

.cdw-modal-d .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #c82333, #b02a37);
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.cdw-modal-d .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

.cdw-modal-d .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(220, 53, 69, 0.2);
  border-color: rgba(220, 53, 69, 0.3);
  color: #c82333;
}

/* WARNING */
.cdw-modal-w .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #ffc107, #e0a800);
  color: #212529;
  font-weight: 600;
}

.cdw-modal-w .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #e0a800, #d39e00);
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

.cdw-modal-w .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.2);
  color: #e0a800;
}

.cdw-modal-w .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(255, 193, 7, 0.2);
  border-color: rgba(255, 193, 7, 0.3);
  color: #d39e00;
}

/* BLACK */
.cdw-modal-b .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #212529, #000);
}

.cdw-modal-b .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #000, #000);
  box-shadow: 0 4px 12px rgba(33, 37, 41, 0.3);
}

.cdw-modal-b .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(33, 37, 41, 0.1);
  border: 1px solid rgba(33, 37, 41, 0.2);
  color: #212529;
}

.cdw-modal-b .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(33, 37, 41, 0.2);
  border-color: rgba(33, 37, 41, 0.3);
  color: #000;
}

/* SUCCESS */
.cdw-modal-success .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #198754, #146c43);
}

.cdw-modal-success .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #157347, #146c43);
  box-shadow: 0 4px 12px rgba(25, 135, 84, 0.3);
}

.cdw-modal-success .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(25, 135, 84, 0.1);
  border: 1px solid rgba(25, 135, 84, 0.2);
  color: #198754;
}

.cdw-modal-success .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(25, 135, 84, 0.2);
  border-color: rgba(25, 135, 84, 0.3);
  color: #157347;
}

/* PURPLE */
.cdw-modal-purple .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #6f42c1, #59359d);
}

.cdw-modal-purple .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #5a359d, #59359d);
  box-shadow: 0 4px 12px rgba(111, 66, 193, 0.3);
}

.cdw-modal-purple .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(111, 66, 193, 0.1);
  border: 1px solid rgba(111, 66, 193, 0.2);
  color: #6f42c1;
}

.cdw-modal-purple .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(111, 66, 193, 0.2);
  border-color: rgba(111, 66, 193, 0.3);
  color: #5a359d;
}

/* ORANGE */
.cdw-modal-orange .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #fd7e14, #e56a0c);
}

.cdw-modal-orange .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #e56a0c, #e56a0c);
  box-shadow: 0 4px 12px rgba(253, 126, 20, 0.3);
}

.cdw-modal-orange .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(253, 126, 20, 0.1);
  border: 1px solid rgba(253, 126, 20, 0.2);
  color: #fd7e14;
}

.cdw-modal-orange .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(253, 126, 20, 0.2);
  border-color: rgba(253, 126, 20, 0.3);
  color: #e56a0c;
}

/* TEAL */
.cdw-modal-teal .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #20c997, #1aa179);
}

.cdw-modal-teal .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #1aa179, #1aa179);
  box-shadow: 0 4px 12px rgba(32, 201, 151, 0.3);
}

.cdw-modal-teal .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(32, 201, 151, 0.1);
  border: 1px solid rgba(32, 201, 151, 0.2);
  color: #20c997;
}

.cdw-modal-teal .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(32, 201, 151, 0.2);
  border-color: rgba(32, 201, 151, 0.3);
  color: #1aa179;
}

/* PINK */
.cdw-modal-pink .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #d63384, #b02a6b);
}

.cdw-modal-pink .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #b02a6b, #b02a6b);
  box-shadow: 0 4px 12px rgba(214, 51, 132, 0.3);
}

.cdw-modal-pink .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(214, 51, 132, 0.1);
  border: 1px solid rgba(214, 51, 132, 0.2);
  color: #d63384;
}

.cdw-modal-pink .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(214, 51, 132, 0.2);
  border-color: rgba(214, 51, 132, 0.3);
  color: #b02a6b;
}

/* CYAN */
.cdw-modal-cyan .cdw-modal-footer .cdw-btn-primary {
  background: linear-gradient(135deg, #0dcaf0, #0bb5d6);
}

.cdw-modal-cyan .cdw-modal-footer .cdw-btn-primary:hover {
  background: linear-gradient(135deg, #0bb5d6, #0bb5d6);
  box-shadow: 0 4px 12px rgba(13, 202, 240, 0.3);
}

.cdw-modal-cyan .cdw-modal-footer .cdw-btn-secondary {
  background: rgba(13, 202, 240, 0.1);
  border: 1px solid rgba(13, 202, 240, 0.2);
  color: #0dcaf0;
}

.cdw-modal-cyan .cdw-modal-footer .cdw-btn-secondary:hover {
  background: rgba(13, 202, 240, 0.2);
  border-color: rgba(13, 202, 240, 0.3);
  color: #0bb5d6;
}

/* ====== ANIMAÇÕES ====== */
@keyframes cdwModalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-50px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes cdwModalFadeOut {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(-50px) scale(0.9);
  }
}

@keyframes cdwOverlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes cdwOverlayFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.cdw-modal.show .cdw-modal-overlay {
  animation: cdwOverlayFadeIn 0.3s ease-out;
}

.cdw-modal:not(.show) .cdw-modal-overlay {
  animation: cdwOverlayFadeOut 0.2s ease-in;
}

.cdw-modal.show .cdw-modal-content {
  animation: cdwModalFadeIn 0.3s ease-out;
}

.cdw-modal:not(.show) .cdw-modal-content {
  animation: cdwModalFadeOut 0.2s ease-in;
}

/* ====== SCROLL BODY ====== */
.cdw-modal-open {
  overflow: hidden;
}

/* ====== RESPONSIVO ====== */
@media (max-width: 768px) {
  .cdw-modal-dialog {
    margin: 1rem;
    max-width: calc(100vw - 2rem) !important;
  }

  .cdw-modal-header,
  .cdw-modal-body,
  .cdw-modal-footer {
    padding: 1.25rem;
  }

  .cdw-modal-title {
    font-size: 1.2rem;
  }

  .cdw-modal-footer {
    flex-direction: column;
  }

  .cdw-modal-footer .cdw-btn {
    width: 100%;
    margin: 0.25rem 0;
  }
}

@media (max-width: 576px) {
  .cdw-modal-header,
  .cdw-modal-body,
  .cdw-modal-footer {
    padding: 1rem;
  }

  .cdw-modal-title {
    font-size: 1.1rem;
  }

  .cdw-modal-close {
    right: 1rem;
    width: 35px;
    height: 35px;
    font-size: 1.5rem;
  }
}


/* ====== BOTÕES CDWEB ====== */
.cdweb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  letter-spacing: 0.4px;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  gap: 0.5rem;
  border-radius: 0.55rem;
  position: relative;
  overflow: hidden;

  /* Padrão = md */
  font-size: 0.9rem;
  padding: 0.55rem 1.25rem;
}

/* Sombra e efeito */
.cdweb-btn:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 14px rgba(0,0,0,0.18);
}
.cdweb-btn:active {
  transform: scale(0.96);
  box-shadow: none;
}

/* ===== VARIANTES DE CORES ===== */
.cdweb-btn-p {
  background: linear-gradient(135deg,#3b82f6,#1d4ed8);
  color:#fff;
  box-shadow: 0 4px 10px rgba(59,130,246,0.35);
}
.cdweb-btn-p:hover { background: linear-gradient(135deg,#2563eb,#1e40af); }

.cdweb-btn-s {
  background: linear-gradient(135deg,#64748b,#334155);
  color:#fff;
}
.cdweb-btn-s:hover { background: linear-gradient(135deg,#475569,#1e293b); }

.cdweb-btn-i {
  background: linear-gradient(135deg,#06b6d4,#0891b2);
  color:#fff;
}
.cdweb-btn-i:hover { background: linear-gradient(135deg,#0ea5e9,#0369a1); }

.cdweb-btn-d {
  background: linear-gradient(135deg,#ef4444,#b91c1c);
  color:#fff;
}
.cdweb-btn-d:hover { background: linear-gradient(135deg,#dc2626,#991b1b); }

.cdweb-btn-w {
  background: linear-gradient(135deg,#facc15,#eab308);
  color:#212529;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(250,204,21,0.4);
}
.cdweb-btn-w:hover { background: linear-gradient(135deg,#eab308,#ca8a04); }

.cdweb-btn-b {
  background: linear-gradient(135deg,#111827,#000);
  color:#f9fafb;
}
.cdweb-btn-b:hover { background: linear-gradient(135deg,#1f2937,#000); }

.cdweb-btn-success {
  background: linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  box-shadow: 0 4px 10px rgba(34,197,94,0.35);
}
.cdweb-btn-success:hover { background: linear-gradient(135deg,#16a34a,#15803d); }

.cdweb-btn-purple {
  background: linear-gradient(135deg,#a855f7,#9333ea);
  color:#fff;
  box-shadow: 0 4px 10px rgba(168,85,247,0.35);
}
.cdweb-btn-purple:hover { background: linear-gradient(135deg,#9333ea,#7e22ce); }

.cdweb-btn-orange {
  background: linear-gradient(135deg,#fb923c,#ea580c);
  color:#fff;
  box-shadow: 0 4px 10px rgba(251,146,60,0.35);
}
.cdweb-btn-orange:hover { background: linear-gradient(135deg,#ea580c,#c2410c); }

.cdweb-btn-teal {
  background: linear-gradient(135deg,#14b8a6,#0d9488);
  color:#fff;
  box-shadow: 0 4px 10px rgba(20,184,166,0.35);
}
.cdweb-btn-teal:hover { background: linear-gradient(135deg,#0d9488,#0f766e); }

.cdweb-btn-pink {
  background: linear-gradient(135deg,#ec4899,#db2777);
  color:#fff;
  box-shadow: 0 4px 10px rgba(236,72,153,0.35);
}
.cdweb-btn-pink:hover { background: linear-gradient(135deg,#db2777,#be185d); }

.cdweb-btn-cyan {
  background: linear-gradient(135deg,#06b6d4,#0891b2);
  color:#fff;
  box-shadow: 0 4px 10px rgba(6,182,212,0.35);
}
.cdweb-btn-cyan:hover { background: linear-gradient(135deg,#0891b2,#0e7490); }

/* ===== ESTILOS ===== */
.cdweb-btn-simple { border-radius: 0.5rem; }
.cdweb-btn-composed i { font-size: 1rem; }

/* Redondo */
.cdweb-btn-round {
  border-radius: 50%;
  width: 42px;
  height: 42px;
  padding: 0;
}
.cdweb-btn-round i { font-size: 1.2rem; }

/* Quadrado */
.cdweb-btn-square {
  border-radius: 0.35rem;
  width: 42px;
  height: 42px;
  padding: 0;
}
.cdweb-btn-square i { font-size: 1.2rem; }

/* ===== TAMANHOS ===== */
.cdweb-btn-sm {
  font-size: 0.75rem !important;
  padding: 0.35rem 0.8rem !important;
}
.cdweb-btn-round.cdweb-btn-sm,
.cdweb-btn-square.cdweb-btn-sm {
  width: 32px !important;
  height: 32px !important;
}
.cdweb-btn-round.cdweb-btn-sm i,
.cdweb-btn-square.cdweb-btn-sm i {
  font-size: 0.95rem !important;
}

.cdweb-btn-md { /* padrão já aplicado */ }

.cdweb-btn-lg {
  font-size: 1rem !important;
  padding: 0.75rem 1.5rem !important;
}
.cdweb-btn-round.cdweb-btn-lg,
.cdweb-btn-square.cdweb-btn-lg {
  width: 52px !important;
  height: 52px !important;
}
.cdweb-btn-round.cdweb-btn-lg i,
.cdweb-btn-square.cdweb-btn-lg i {
  font-size: 1.3rem !important;
}

.cdweb-btn-xl {
  font-size: 1.15rem !important;
  padding: 0.95rem 1.9rem !important;
}
.cdweb-btn-round.cdweb-btn-xl,
.cdweb-btn-square.cdweb-btn-xl {
  width: 62px !important;
  height: 62px !important;
}
.cdweb-btn-round.cdweb-btn-xl i,
.cdweb-btn-square.cdweb-btn-xl i {
  font-size: 1.5rem !important;
}


/* ===== VARIANTE CINZA (Minimalista) ===== */
.cdweb-btn-g {
  background: transparent;
  color: #6c757d; /* cinza base */
  border: 2px solid #dee2e6;
  transition: all 0.25s ease-in-out;
}

.cdweb-btn-g:hover {
  background: #f1f3f5;
  color: #495057;
  border-color: #adb5bd;
  transform: translateY(-2px);
}

.cdweb-btn-g:active {
  background: #e9ecef;
  transform: scale(0.95);
}

/* Round */
.cdweb-btn-round.cdweb-btn-g {
  border-radius: 50%;
  width: 42px;
  height: 42px;
  padding: 0;
}
.cdweb-btn-round.cdweb-btn-g i {
  font-size: 1.2rem;
}

/* Square */
.cdweb-btn-square.cdweb-btn-g {
  border-radius: 0.4rem;
  width: 42px;
  height: 42px;
  padding: 0;
}
.cdweb-btn-square.cdweb-btn-g i {
  font-size: 1.2rem;
}

.cdweb-btn-round.cdweb-btn-g.cdweb-btn-sm,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-sm {
  width: 32px; height: 32px;
}
.cdweb-btn-round.cdweb-btn-g.cdweb-btn-sm i,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-sm i {
  font-size: 1rem;
}

.cdweb-btn-round.cdweb-btn-g.cdweb-btn-lg,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-lg {
  width: 52px; height: 52px;
}
.cdweb-btn-round.cdweb-btn-g.cdweb-btn-lg i,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-lg i {
  font-size: 1.3rem;
}

.cdweb-btn-round.cdweb-btn-g.cdweb-btn-xl,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-xl {
  width: 62px; height: 62px;
}
.cdweb-btn-round.cdweb-btn-g.cdweb-btn-xl i,
.cdweb-btn-square.cdweb-btn-g.cdweb-btn-xl i {
  font-size: 1.5rem;
}


/* ===== MOBILE ===== */
@media (max-width: 576px) {
  .cdweb-btn:not(.cdweb-btn-sm):not(.cdweb-btn-lg):not(.cdweb-btn-xl) {
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
  }
  .cdweb-btn-round:not(.cdweb-btn-sm):not(.cdweb-btn-lg):not(.cdweb-btn-xl),
  .cdweb-btn-square:not(.cdweb-btn-sm):not(.cdweb-btn-lg):not(.cdweb-btn-xl) {
    width: 52px;
    height: 52px;
  }
}

/* ===========================
   FORMULÁRIOS CDWEB ULTRA
   =========================== */
.cdweb-form {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  width: 100%;
  max-width: 900px;
  font-family: "Inter", system-ui, sans-serif;
}

/* CORES PRINCIPAIS */
.cdweb-form-p { --cdw-main: #0d6efd; }
.cdweb-form-s { --cdw-main: #6c757d; }
.cdweb-form-i { --cdw-main: #0dcaf0; }
.cdweb-form-d { --cdw-main: #dc3545; }
.cdweb-form-w { --cdw-main: #ffc107; }
.cdweb-form-b { --cdw-main: #000000; }
.cdweb-form-success { --cdw-main: #198754; }
.cdweb-form-purple { --cdw-main: #6f42c1; }
.cdweb-form-orange { --cdw-main: #fd7e14; }
.cdweb-form-teal { --cdw-main: #20c997; }
.cdweb-form-pink { --cdw-main: #d63384; }
.cdweb-form-cyan { --cdw-main: #0dcaf0; }

/* LABEL */
.cdweb-form label {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: #2c2f33;
  font-size: 0.9rem;
}

/* INPUTS BASE */
.cdweb-input, .cdweb-select, .cdweb-textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 0.95rem;
  color: #212529;
  border-radius: 0.6rem;
  border: 1px solid #d0d4da;
  background: linear-gradient(145deg, #fdfdfd, #f7f8fa);
  transition: all 0.25s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.cdweb-input:hover, .cdweb-select:hover, .cdweb-textarea:hover {
  border-color: #babec4;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.cdweb-input:focus, .cdweb-select:focus, .cdweb-textarea:focus {
  background: #fff;
  outline: none;
  border-color: var(--cdw-main);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cdw-main) 25%, transparent);
}
.cdweb-textarea { resize: vertical; min-height: 120px; }
.cdweb-input::placeholder, .cdweb-textarea::placeholder {
  color: #adb5bd;
  font-style: italic;
}

/* GRUPOS */
.cdweb-group { display: flex; flex-direction: column; gap: .4rem; }
.cdweb-group-inline { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; }

/* TAMANHOS */
.cdweb-sm input, .cdweb-sm select, .cdweb-sm textarea { font-size: .8rem; padding: .5rem .75rem; }
.cdweb-lg input, .cdweb-lg select, .cdweb-lg textarea { font-size: 1.1rem; padding: 1rem 1.25rem; }
.cdweb-xl input, .cdweb-xl select, .cdweb-xl textarea { font-size: 1.2rem; padding: 1.15rem 1.4rem; }

/* ===== CHECKBOX / RADIO alinhados ===== */
.cdweb-check, .cdweb-radio {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  cursor: pointer;
  user-select: none;
  position: relative;
  line-height: 1.2;
}

.cdweb-check input[type="checkbox"],
.cdweb-radio input[type="radio"] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  vertical-align: middle;
  border: 2px solid #adb5bd;
  background: linear-gradient(145deg, #f8f9fa, #fff);
  transition: all 0.25s ease;
  flex-shrink: 0;
}

/* checkbox */
.cdweb-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border-radius: 6px;
}
.cdweb-check input[type="checkbox"]:checked {
  background: var(--cdw-main);
  border-color: var(--cdw-main);
  box-shadow: 0 0 6px color-mix(in srgb, var(--cdw-main) 50%, transparent);
}
.cdweb-check input[type="checkbox"]:checked::after {
  content: "";
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* radio */
.cdweb-radio input[type="radio"] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.cdweb-radio input[type="radio"]:checked {
  border-color: var(--cdw-main);
  box-shadow: 0 0 6px color-mix(in srgb, var(--cdw-main) 50%, transparent);
}
.cdweb-radio input[type="radio"]:checked::after {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cdw-main);
}

/* ===== SWITCH alinhado ===== */
.cdweb-switch {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  cursor: pointer;
  user-select: none;
  vertical-align: middle;
}
.cdweb-switch input {
  appearance: none;
  width: 46px;
  height: 26px;
  background: #dee2e6;
  border-radius: 50px;
  position: relative;
  transition: background .25s ease;
  vertical-align: middle;
}
.cdweb-switch input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  transition: all .25s ease;
}
.cdweb-switch input:checked {
  background: var(--cdw-main);
}
.cdweb-switch input:checked::after {
  left: 23px;
}

/* SWITCH (correto e alinhado) */
.cdweb-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  cursor: pointer;
  user-select: none;
  font-weight: 500;
}
.cdweb-switch input {
  appearance: none;
  width: 46px;
  height: 26px;
  background: #dee2e6;
  border-radius: 50px;
  position: relative;
  outline: none;
  transition: background .25s ease;
}
.cdweb-switch input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  transition: all .25s ease;
}
.cdweb-switch input:checked {
  background: var(--cdw-main);
}
.cdweb-switch input:checked::after {
  left: 23px;
}

/* TAMANHOS SWITCH */
.cdweb-switch-sm input { width:36px; height:20px; }
.cdweb-switch-sm input::after { width:14px; height:14px; top:3px; left:3px; }
.cdweb-switch-sm input:checked::after { left:18px; }

.cdweb-switch-lg input { width:60px; height:32px; }
.cdweb-switch-lg input::after { width:26px; height:26px; top:3px; left:3px; }
.cdweb-switch-lg input:checked::after { left:31px; }

.cdweb-switch-xl input { width:75px; height:40px; }
.cdweb-switch-xl input::after { width:32px; height:32px; top:4px; left:4px; }
.cdweb-switch-xl input:checked::after { left:39px; }

/* RANGE */
.cdweb-range {
  width:100%; height:6px; background:#e9ecef; border-radius:3px; appearance:none; outline:none;
}
.cdweb-range::-webkit-slider-thumb {
  appearance:none; width:20px; height:20px; border-radius:50%;
  background:var(--cdw-main); box-shadow:0 2px 4px rgba(0,0,0,.4);
  transition:.25s; cursor:pointer;
}
.cdweb-range::-webkit-slider-thumb:hover { transform:scale(1.1); }

.cdweb-range-value {
  margin-top: 0.4rem;
  font-weight: 600;
  color: var(--cdw-main);
  display: inline-block;
  font-size: 0.95rem;
}
.cdweb-range-wrap {
  position: relative;
  width: 100%;
}

.cdweb-range-tooltip {
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--cdw-main);
  color: #fff;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  transition: 0.1s;
}
.cdweb-range-tooltip::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px;
  border-style: solid;
  border-color: var(--cdw-main) transparent transparent transparent;
}

/* SELECT CUSTOM */
.cdweb-cselect { position:relative; width:100%; }
.cdweb-cselect-native { display:none !important; }
.cdweb-cselect-toggle {
  width:100%; padding:.8rem 1rem; border:2px solid #dee2e6;
  background:linear-gradient(145deg,#fff,#f9f9f9);
  border-radius:.6rem; display:flex; justify-content:space-between; align-items:center;
  cursor:pointer; transition:.25s; font-weight:500; color:#343a40;
}
.cdweb-cselect-caret {
  width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:.3s; opacity:.7;
}
.cdweb-cselect.open .cdweb-cselect-caret { transform:rotate(225deg); }
.cdweb-cselect-menu {
  position:absolute; left:0; right:0; top:calc(100% + 6px);
  background:#fff; border:1px solid #dee2e6; border-radius:.6rem;
  box-shadow:0 12px 24px rgba(0,0,0,.12); max-height:260px; overflow:auto; z-index:1061; padding:.3rem;
}
.cdweb-cselect-option {
  padding:.65rem .85rem; margin:.15rem .25rem; border-radius:.4rem;
  cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  transition:.2s; color:#343a40; font-weight:500;
}
.cdweb-cselect-option:hover { background:color-mix(in srgb,var(--cdw-main) 10%,#f8f9fa); }
.cdweb-cselect-option.is-selected {
  background:color-mix(in srgb,var(--cdw-main) 18%,#fff);
  border:1px solid color-mix(in srgb,var(--cdw-main) 35%,#fff);
}
.cdweb-cselect-option.is-selected::after {
  content:"✓"; color:var(--cdw-main); font-size:.9rem;
}

/* ===== TAMANHOS ===== */
.cdweb-input-sm, .cdweb-select-sm, .cdweb-textarea-sm {
  font-size: 0.8rem;
  padding: 0.5rem 0.8rem;
  border-radius: 0.4rem;
}
.cdweb-input-md, .cdweb-select-md, .cdweb-textarea-md {
  font-size: 0.95rem;
  padding: 0.8rem 1rem;
  border-radius: 0.6rem;
}
.cdweb-input-lg, .cdweb-select-lg, .cdweb-textarea-lg {
  font-size: 1.05rem;
  padding: 1rem 1.2rem;
  border-radius: 0.7rem;
}
.cdweb-input-xl, .cdweb-select-xl, .cdweb-textarea-xl {
  font-size: 1.15rem;
  padding: 1.2rem 1.4rem;
  border-radius: 0.8rem;
}

/* ==========================
   CDWEB ALERTS FINAL
   ========================== */
.cdweb-alert {
  position: relative;
  display: flex;
  align-items: flex-start; /* garante topo alinhado */
  justify-content: flex-start; /* texto sempre à esquerda */
  gap: 1rem;
  border-radius: 0.65rem;
  padding: 0.95rem 1.25rem;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1rem;
  transition: all 0.35s ease;
  animation: cdwFadeIn 0.4s ease;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.07);
  text-align: left;
}

@keyframes cdwFadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.cdweb-alert strong {
  font-weight: 700;
  margin-right: 0.25rem;
}

/* Botão de fechar fixado à direita */
.cdweb-alert-close {
  position: absolute;
  top: 0.6rem;
  right: 0.9rem;
  background: transparent;
  border: none;
  font-size: 1.2rem;
  line-height: 1;
  color: inherit;
  opacity: 0.6;
  cursor: pointer;
  transition: 0.2s;
}
.cdweb-alert-close:hover {
  opacity: 1;
}

/* ===== VARIAÇÕES DE COR ===== */
.cdweb-alert-p      { --cdw-main:#0d6efd; }
.cdweb-alert-s      { --cdw-main:#6c757d; }
.cdweb-alert-i      { --cdw-main:#0dcaf0; }
.cdweb-alert-d      { --cdw-main:#dc3545; }
.cdweb-alert-w      { --cdw-main:#ffc107; }
.cdweb-alert-b      { --cdw-main:#000; }
.cdweb-alert-success { --cdw-main:#198754; }
.cdweb-alert-purple { --cdw-main:#6f42c1; }
.cdweb-alert-orange { --cdw-main:#fd7e14; }
.cdweb-alert-teal { --cdw-main:#20c997; }
.cdweb-alert-pink { --cdw-main:#d63384; }
.cdweb-alert-cyan { --cdw-main:#0dcaf0; }

/* Versão sólida */
.cdweb-alert:not(.cdweb-alert-pastel) {
  background: var(--cdw-main);
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--cdw-main) 90%, #000);
}

/* Versão pastel */
.cdweb-alert-pastel {
  background: color-mix(in srgb, var(--cdw-main) 12%, #fff);
  color: color-mix(in srgb, var(--cdw-main) 75%, #000);
  border: 1px solid color-mix(in srgb, var(--cdw-main) 35%, #fff);
}

/* Animação de fechamento */
.cdweb-alert.hide {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

/* ==========================
   BLOCO DEMO / DOCS
   ========================== */
.cdweb-demo-box {
  background: #f8f9fa;
  padding: 1.25rem;
  border: 1px solid #e3e6ea;
  border-radius: .65rem;
  margin-bottom: 1rem;
}
.cdweb-code-block {
  background: #0e1117;
  color: #d1d5db;
  padding: 1rem 1.25rem;
  border-radius: .5rem;
  overflow-x: auto;
  font-family: "Fira Code", monospace;
  font-size: .9rem;
  line-height: 1.6;
}
.cdweb-list {
  padding-left: 1.25rem;
  margin: .5rem 0 1.25rem;
}
.cdweb-list li { margin-bottom: .25rem; }







/* ==========================
   CDWEB ALERTS FINAL
   ========================== */
.cdweb-alert {
  position: relative;
  display: flex;
  align-items: flex-start; /* garante topo alinhado */
  justify-content: flex-start; /* texto sempre à esquerda */
  gap: 1rem;
  border-radius: 0.65rem;
  padding: 0.95rem 1.25rem;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1rem;
  transition: all 0.35s ease;
  animation: cdwFadeIn 0.4s ease;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.07);
  text-align: left;
}

@keyframes cdwFadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.cdweb-alert strong {
  font-weight: 700;
  margin-right: 0.25rem;
}

/* Botão de fechar fixado à direita */
.cdweb-alert-close {
  position: absolute;
  top: 0.6rem;
  right: 0.9rem;
  background: transparent;
  border: none;
  font-size: 1.2rem;
  line-height: 1;
  color: inherit;
  opacity: 0.6;
  cursor: pointer;
  transition: 0.2s;
}
.cdweb-alert-close:hover {
  opacity: 1;
}

/* ===== VARIAÇÕES DE COR ===== */
.cdweb-alert-p      { --cdw-main:#0d6efd; }
.cdweb-alert-s      { --cdw-main:#6c757d; }
.cdweb-alert-i      { --cdw-main:#0dcaf0; }
.cdweb-alert-d      { --cdw-main:#dc3545; }
.cdweb-alert-w      { --cdw-main:#ffc107; }
.cdweb-alert-b      { --cdw-main:#000; }
.cdweb-alert-success { --cdw-main:#198754; }
.cdweb-alert-purple { --cdw-main:#6f42c1; }
.cdweb-alert-orange { --cdw-main:#fd7e14; }
.cdweb-alert-teal { --cdw-main:#20c997; }
.cdweb-alert-pink { --cdw-main:#d63384; }
.cdweb-alert-cyan { --cdw-main:#0dcaf0; }

/* Versão sólida */
.cdweb-alert:not(.cdweb-alert-pastel) {
  background: var(--cdw-main);
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--cdw-main) 90%, #000);
}

/* Versão pastel */
.cdweb-alert-pastel {
  background: color-mix(in srgb, var(--cdw-main) 12%, #fff);
  color: color-mix(in srgb, var(--cdw-main) 75%, #000);
  border: 1px solid color-mix(in srgb, var(--cdw-main) 35%, #fff);
}

/* Animação de fechamento */
.cdweb-alert.hide {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

/* ==========================
   BLOCO DEMO / DOCS
   ========================== */
.cdweb-demo-box {
  background: #f8f9fa;
  padding: 1.25rem;
  border: 1px solid #e3e6ea;
  border-radius: .65rem;
  margin-bottom: 1rem;
}
.cdweb-code-block {
  background: #0e1117;
  color: #d1d5db;
  padding: 1rem 1.25rem;
  border-radius: .5rem;
  overflow-x: auto;
  font-family: "Fira Code", monospace;
  font-size: .9rem;
  line-height: 1.6;
}
.cdweb-list {
  padding-left: 1.25rem;
  margin: .5rem 0 1.25rem;
}
.cdweb-list li { margin-bottom: .25rem; }


/* ==========================
   CDWEB SEGMENTS
   ========================== */
.cdweb-segment {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: .75rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  font-family: "Inter", system-ui, sans-serif;
  transition: all .25s ease;
  color: #212529;
}

.cdweb-segment h5 {
  margin-bottom: .5rem;
  font-weight: 600;
}

.cdweb-segment p {
  margin: 0;
  color: #495057;
}

/* ===== VARIAÇÕES DE COR ===== */
.cdweb-segment-p { --cdw-main:#0d6efd; }
.cdweb-segment-s { --cdw-main:#6c757d; }
.cdweb-segment-i { --cdw-main:#0dcaf0; }
.cdweb-segment-d { --cdw-main:#dc3545; }
.cdweb-segment-w { --cdw-main:#ffc107; }
.cdweb-segment-b { --cdw-main:#000; }
.cdweb-segment-success { --cdw-main:#198754; }
.cdweb-segment-purple { --cdw-main:#6f42c1; }
.cdweb-segment-orange { --cdw-main:#fd7e14; }
.cdweb-segment-teal { --cdw-main:#20c997; }
.cdweb-segment-pink { --cdw-main:#d63384; }
.cdweb-segment-cyan { --cdw-main:#0dcaf0; }

/* ===== PADRÃO ===== */
.cdweb-segment {
  border-left: 4px solid var(--cdw-main);
}
.cdweb-segment:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* ===== ELEVADO ===== */
.cdweb-segment-elevated {
  border-left: none;
  box-shadow: 0 3px 12px rgba(0,0,0,.1);
  background: color-mix(in srgb, var(--cdw-main) 5%, #fff);
}
.cdweb-segment-elevated:hover {
  box-shadow: 0 5px 16px rgba(0,0,0,.15);
}

/* ===== BORDA LATERAL DESTACADA ===== */
.cdweb-segment-border {
  border: 2px solid color-mix(in srgb, var(--cdw-main) 35%, #fff);
  border-left: 8px solid var(--cdw-main);
  background: color-mix(in srgb, var(--cdw-main) 8%, #fff);
}

/* ===== ANIMAÇÃO ===== */
.cdweb-segment { animation: cdwFadeIn .4s ease; }
@keyframes cdwFadeIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== LINEAR (com cor temática aplicada) ===== */
.cdweb-segment-linear {
  background: color-mix(in srgb, var(--cdw-main, #dee2e6) 5%, #fff);
  border: 1px solid color-mix(in srgb, var(--cdw-main, #dee2e6) 45%, #dee2e6);
  border-radius: .5rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  font-family: "Inter", system-ui, sans-serif;
  color: #212529;
}


/* Incluso no desenvolvimento do WMS  */

/* ===== SISTEMA DE GRID ESPECÍFICO PARA FORMULÁRIOS ===== */
.cdweb-form-grid-compact {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Classes de grid específicas - nomes diferentes */
.cdweb-grid-2 { grid-column: span 2 !important; }
.cdweb-grid-3 { grid-column: span 3 !important; }
.cdweb-grid-4 { grid-column: span 4 !important; }
.cdweb-grid-6 { grid-column: span 6 !important; }
.cdweb-grid-8 { grid-column: span 8 !important; }
.cdweb-grid-9 { grid-column: span 9 !important; }
.cdweb-grid-12 { grid-column: span 12 !important; }

/* Grupos compactos específicos */
.cdweb-group-compact {
  display: flex !important;
  flex-direction: column !important;
  height: 80px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.cdweb-group-compact label {
  margin-bottom: 0.35rem !important;
  font-weight: 600 !important;
  color: #2c3e50 !important;
  font-size: 0.85rem !important;
  white-space: nowrap !important;
}

.cdweb-group-compact .cdweb-input,
.cdweb-group-compact .cdweb-select {
  flex: 1 !important;
  min-height: 42px !important;
  width: 100% !important;
  font-size: 0.9rem !important;
}

/* Switch groups compactos */
.cdweb-switch-group-compact {
  display: flex !important;
  flex-direction: column !important;
  height: 80px !important;
  justify-content: space-between !important;
}

.cdweb-switch-container-compact {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: auto !important;
}

/* Textarea compacto */
.cdweb-group-compact:has(textarea) {
  height: 120px !important;
}

.cdweb-textarea-compact {
  resize: vertical !important;
  flex: 1 !important;
  min-height: 80px !important;
  font-size: 0.9rem !important;
}

/* Container principal ultra compacto */
.cdw-container-ultra-compact {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.cdw-card-ultra-compact {
  margin: 0 !important;
  min-height: auto !important;
}

.cdw-card-body-compact {
  padding: 1rem !important;
}

.cdw-card-footer-compact {
  padding: 0.75rem 1rem !important;
  margin-top: 0 !important;
}

/* Título ultra compacto */
.cdw-title-compact {
  font-size: 1.3rem !important;
  margin-bottom: 0.75rem !important;
  padding: 0 !important;
}

/* ===== RESPONSIVIDADE ULTRA COMPACTA ===== */
@media (max-width: 1400px) {
  .cdweb-grid-3 {
    grid-column: span 4 !important;
  }
}

@media (max-width: 1200px) {
  .cdweb-form-grid-compact {
    gap: 0.75rem !important;
  }
  
  .cdweb-group-compact {
    height: 75px !important;
  }
}

@media (max-width: 992px) {
  .cdweb-form-grid-compact {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 0.6rem !important;
  }
  
  .cdweb-grid-3,
  .cdweb-grid-4,
  .cdweb-grid-6,
  .cdweb-grid-8,
  .cdweb-grid-9 {
    grid-column: span 6 !important;
  }
  
  .cdw-card-body-compact {
    padding: 0.75rem !important;
  }
}

@media (max-width: 768px) {
  .cdweb-form-grid-compact {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
  
  .cdweb-grid-2,
  .cdweb-grid-3,
  .cdweb-grid-4,
  .cdweb-grid-6,
  .cdweb-grid-8,
  .cdweb-grid-9,
  .cdweb-grid-12 {
    grid-column: 1 !important;
  }
  
  .cdweb-group-compact {
    height: auto !important;
    min-height: 65px !important;
  }
  
  .cdw-title-compact {
    font-size: 1.1rem !important;
    margin-bottom: 0.5rem !important;
  }
}

/* Remove TODOS os espaços extras */
.cdweb-form-compact {
  margin: 0 !important;
  padding: 0 !important;
  gap: 1rem !important;
  max-width: none !important;
}



/* ===== GRID SYSTEM GERAL (SEM CONFLITOS) ===== */
.cdweb-grid-system {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Classes de grid para uso geral - nomes diferentes */
.cdweb-gs-2 { grid-column: span 2 !important; }
.cdweb-gs-3 { grid-column: span 3 !important; }
.cdweb-gs-4 { grid-column: span 4 !important; }
.cdweb-gs-6 { grid-column: span 6 !important; }
.cdweb-gs-8 { grid-column: span 8 !important; }
.cdweb-gs-9 { grid-column: span 9 !important; }
.cdweb-gs-12 { grid-column: span 12 !important; }

/* Cards para conteúdo geral */
.cdweb-gs-card {
  background: #fff !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
  height: 100% !important;
  min-height: 120px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.3s ease !important;
}

.cdweb-gs-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  transform: translateY(-2px) !important;
}

.cdweb-gs-card h5 {
  margin-bottom: 0.5rem !important;
  color: #2c3e50 !important;
  font-size: 1rem !important;
}

.cdweb-gs-card p {
  color: #6c757d !important;
  font-size: 0.9rem !important;
  margin: 0 !important;
  flex: 1 !important;
}

/* Stats cards - nomes diferentes */
.cdweb-gs-stat {
  color: white !important;
  border-radius: 0.5rem !important;
  padding: 1.5rem !important;
  text-align: center !important;
  height: 100% !important;
  min-height: 120px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.cdweb-gs-stat .number {
  font-size: 2rem !important;
  font-weight: bold !important;
  margin-bottom: 0.5rem !important;
}

.cdweb-gs-stat .label {
  font-size: 0.9rem !important;
  opacity: 0.9 !important;
}

/* Cores para stats */
.cdweb-gs-stat-d { background: linear-gradient(135deg, #f5576c 0%, #f5564c 100%) !important; }
.cdweb-gs-stat-p { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; }
.cdweb-gs-stat-s { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important; }
.cdweb-gs-stat-w { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%) !important; }
.cdweb-gs-stat-i { background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%) !important; }
.cdweb-gs-stat-success { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important; }
.cdweb-gs-stat-purple { background: linear-gradient(135deg, #a855f7 0%, #9333ea 100%) !important; }
.cdweb-gs-stat-orange { background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important; }
.cdweb-gs-stat-teal { background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%) !important; }
.cdweb-gs-stat-pink { background: linear-gradient(135deg, #ec4899 0%, #db2777 100%) !important; }
.cdweb-gs-stat-cyan { background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%) !important; }

/* Responsividade */
@media (max-width: 1200px) {
  .cdweb-gs-3 { grid-column: span 4 !important; }
  .cdweb-gs-4 { grid-column: span 6 !important; }
}

@media (max-width: 992px) {
  .cdweb-grid-system { grid-template-columns: repeat(6, 1fr) !important; }
  .cdweb-gs-3,
  .cdweb-gs-4,
  .cdweb-gs-6,
  .cdweb-gs-8,
  .cdweb-gs-9 { grid-column: span 6 !important; }
}

@media (max-width: 768px) {
  .cdweb-grid-system { grid-template-columns: 1fr !important; }
  .cdweb-gs-2,
  .cdweb-gs-3,
  .cdweb-gs-4,
  .cdweb-gs-6,
  .cdweb-gs-8,
  .cdweb-gs-9,
  .cdweb-gs-12 { grid-column: 1 !important; }
}





/* CDWeb Docs Layout */
.cdweb-docs-container {
    min-height: 100vh;
    background: #f8f9fa;
}

.cdweb-docs-layout {
    display: flex;
    min-height: 100vh;
}

/* Sidebar - AGORA É SCROLLABLE */
.cdweb-docs-sidebar {
    width: 280px;
    background: #fff;
    border-right: 1px solid #e9ecef;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 1000;
    flex-shrink: 0; /* Impede que a sidebar encolha */
}

.cdweb-docs-sidebar-inner {
    padding: 2rem 1.5rem;
    min-height: 100%;
}

.cdweb-docs-brand {
    position: sticky;
    top: 0;
    background: #fff;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e9ecef;
    z-index: 10;
}

.cdweb-docs-brand h1 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    color: #2c3e50;
}

.cdweb-docs-brand p {
    font-size: 0.875rem;
    margin-bottom: 0;
    color: #6c757d;
}

.cdweb-docs-nav {
    margin-top: 1rem;
}

.cdweb-docs-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cdweb-docs-nav-header {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6c757d;
    margin: 1.5rem 0 0.5rem;
    letter-spacing: 0.5px;
    padding: 0 1rem;
}

.cdweb-docs-nav-item {
    margin-bottom: 0.25rem;
}

.cdweb-docs-nav-link {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: #495057;
    text-decoration: none;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

.cdweb-docs-nav-link:hover {
    background: #f8f9fa;
    color: #2c3e50;
    text-decoration: none;
}

.cdweb-docs-nav-link.active {
    background: #007bff;
    color: #fff;
}

.cdweb-docs-nav-link i {
    margin-right: 0.75rem;
    width: 16px;
    text-align: center;
    font-size: 0.875rem;
}

/* Main Content - AGORA COM SCROLL INDEPENDENTE */
.cdweb-docs-main {
    flex: 1;
    padding: 2rem 3rem;
    overflow-y: auto;
    height: 100vh;
}

.cdweb-docs-section {
    max-width: 100%;
}

.cdweb-docs-header {
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e9ecef;
}

.cdweb-docs-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.cdweb-docs-lead {
    font-size: 1.25rem;
    color: #6c757d;
    margin-bottom: 0;
}

.cdweb-docs-content {
    line-height: 1.6;
}

/* Back to top button */
.cdweb-docs-back-top {
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    z-index: 1100;
    border: none;
    display: none;
}

/* Responsive */
@media (max-width: 768px) {
    .cdweb-docs-layout {
        flex-direction: column;
    }
    
    .cdweb-docs-sidebar {
        position: fixed;
        width: 100%;
        height: auto;
        max-height: 60vh;
        transform: translateY(-100%);
        transition: transform 0.3s ease;
    }
    
    .cdweb-docs-sidebar.mobile-open {
        transform: translateY(0);
    }
    
    .cdweb-docs-main {
        margin-left: 0;
        padding: 1rem;
        height: auto;
        overflow-y: visible;
    }
}



.swal-popup-prof {
    border-radius: 18px !important;
    padding: 30px 35px !important;
}

.swal-btn-confirm {
    background: #6366F1 !important; /* roxo profissional CDWeb */
    color: #fff !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 18px !important;
    box-shadow: 0 3px 10px rgba(99,102,241,0.25) !important;
}

.swal-btn-confirm:hover {
    background: #4f51d4 !important;
}

.swal-btn-cancel {
    background: #4b5563 !important; /* cinza profissional */
    color: #fff !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
}

.swal-btn-cancel:hover {
    background: #374151 !important;
}

.swal2-html-container {
    margin-top: 10px !important;
}
