/* ==========================================================
   Aulix Design System · tema para Bootstrap 5.3.8
   Carregue DEPOIS do bootstrap.min.css
   Linhas simples, bordas finas, levemente arroxeado,
   sombras suaves e cantos arredondados.
   Modo escuro: <html data-bs-theme="dark">
   Modo night (mais escuro, mais contraste): <html data-bs-theme="night">
   Fonte: Urbanist (Google Fonts)
   <link href="https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700&display=swap" rel="stylesheet">
   ========================================================== */

:root,
[data-bs-theme="light"] {
  /* Marca */
  --ax-navy: #0E1A3A;
  --ax-violet: #6C47FF;
  --ax-violet-600: #5A36F0;
  --ax-violet-700: #4A28D6;
  --ax-violet-50: #F4F1FF;
  --ax-violet-100: #ECE7FF;
  --ax-violet-200: #D9D0FF;
  --ax-pink: #E8569C;
  --ax-pink-50: #FDEFF6;
  --ax-pink-200: #F7C6DD;
  --ax-pink-text: #B92F70;
  --ax-violet-text: #4A28D6;
  --ax-violet-icon: #6C47FF;
  --ax-surface-3: #FFFFFF;
  --ax-hover: #FAF9FF;

  /* Superfícies (levemente arroxeadas) */
  --ax-bg: #F8F7FD;
  --ax-surface: #FFFFFF;
  --ax-surface-2: #F3F1FB;
  --ax-border: #E6E2F3;
  --ax-border-strong: #D5CFEA;

  /* Texto */
  --ax-text: #0E1A3A;
  --ax-text-2: #5C6080;
  --ax-text-3: #8B8FA8;

  /* Sombras (tingidas de violeta) */
  --ax-shadow-xs: 0 1px 2px rgba(40, 24, 110, .05);
  --ax-shadow-sm: 0 1px 2px rgba(40, 24, 110, .05), 0 2px 6px rgba(40, 24, 110, .05);
  --ax-shadow:    0 2px 4px rgba(40, 24, 110, .04), 0 8px 24px -6px rgba(40, 24, 110, .12);
  --ax-shadow-lg: 0 4px 8px rgba(40, 24, 110, .04), 0 20px 44px -10px rgba(40, 24, 110, .22);
  --ax-ring: 0 0 0 4px rgba(108, 71, 255, .16);

  /* ---- Bootstrap ---- */
  --bs-primary: #6C47FF;      --bs-primary-rgb: 108, 71, 255;
  --bs-secondary: #5C6080;    --bs-secondary-rgb: 92, 96, 128;
  --bs-success: #16A37A;      --bs-success-rgb: 22, 163, 122;
  --bs-info: #3C82F6;         --bs-info-rgb: 60, 130, 246;
  --bs-warning: #E8A23A;      --bs-warning-rgb: 232, 162, 58;
  --bs-danger: #E5484D;       --bs-danger-rgb: 229, 72, 77;
  --bs-light: #F3F1FB;        --bs-light-rgb: 243, 241, 251;
  --bs-dark: #0E1A3A;         --bs-dark-rgb: 14, 26, 58;

  --bs-primary-text-emphasis: #4A28D6;
  --bs-primary-bg-subtle: #F4F1FF;
  --bs-primary-border-subtle: #D9D0FF;
  --bs-success-bg-subtle: #E8F7F1;  --bs-success-border-subtle: #BFE8D8;  --bs-success-text-emphasis: #0E7656;
  --bs-warning-bg-subtle: #FDF4E6;  --bs-warning-border-subtle: #F6DDB3;  --bs-warning-text-emphasis: #93600F;
  --bs-danger-bg-subtle: #FDEDEE;   --bs-danger-border-subtle: #F7C9CB;   --bs-danger-text-emphasis: #B42328;
  --bs-info-bg-subtle: #EBF2FE;     --bs-info-border-subtle: #C6DAFC;     --bs-info-text-emphasis: #1F5BC4;
  --bs-secondary-bg-subtle: #F3F1FB; --bs-secondary-border-subtle: #E6E2F3; --bs-secondary-text-emphasis: #3E4262;

  --bs-font-sans-serif: "Urbanist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-font-size: .9375rem;   /* 15px */
  --bs-body-font-weight: 500;
  --bs-body-line-height: 1.55;
  --bs-body-color: #0E1A3A;        --bs-body-color-rgb: 14, 26, 58;
  --bs-body-bg: #F8F7FD;           --bs-body-bg-rgb: 248, 247, 253;
  --bs-emphasis-color: #0E1A3A;
  --bs-secondary-color: #5C6080;
  --bs-tertiary-color: #8B8FA8;
  --bs-secondary-bg: #F3F1FB;
  --bs-tertiary-bg: #F8F7FD;
  --bs-heading-color: #0E1A3A;
  --bs-link-color: #6C47FF;        --bs-link-color-rgb: 108, 71, 255;
  --bs-link-hover-color: #4A28D6;  --bs-link-hover-color-rgb: 74, 40, 214;
  --bs-link-decoration: none;

  --bs-border-width: 1px;
  --bs-border-color: #E6E2F3;
  --bs-border-color-translucent: rgba(60, 40, 140, .10);
  --bs-border-radius-sm: .5rem;    /* 8  */
  --bs-border-radius: .75rem;      /* 12 */
  --bs-border-radius-lg: 1rem;     /* 16 */
  --bs-border-radius-xl: 1.25rem;  /* 20 */
  --bs-border-radius-xxl: 1.75rem; /* 28 */
  --bs-border-radius-pill: 50rem;

  --bs-box-shadow-sm: var(--ax-shadow-sm);
  --bs-box-shadow: var(--ax-shadow);
  --bs-box-shadow-lg: var(--ax-shadow-lg);
  --bs-focus-ring-color: rgba(108, 71, 255, .16);
  --bs-focus-ring-width: 4px;
  --bs-form-valid-color: #16A37A;   --bs-form-valid-border-color: #16A37A;
  --bs-form-invalid-color: #E5484D; --bs-form-invalid-border-color: #E5484D;
}

body { -webkit-font-smoothing: antialiased; letter-spacing: -.005em; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 700; letter-spacing: -.02em; }
.text-pink { color: var(--ax-pink) !important; }
.bg-pink { background-color: var(--ax-pink) !important; }

/* ---------- Botões ---------- */
.btn {
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.05rem;
  --bs-btn-padding-y: .55rem;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-focus-box-shadow: var(--ax-ring);
  transition: background-color .15s, border-color .15s, box-shadow .15s, transform .05s;
}
.btn:active { transform: translateY(1px); }
.btn-sm { --bs-btn-padding-x: .75rem; --bs-btn-padding-y: .35rem; --bs-btn-border-radius: var(--bs-border-radius-sm); }
.btn-lg { --bs-btn-padding-x: 1.4rem; --bs-btn-padding-y: .75rem; --bs-btn-border-radius: var(--bs-border-radius-lg); }
.btn-primary {
  --bs-btn-bg: #6C47FF; --bs-btn-border-color: #6C47FF;
  --bs-btn-hover-bg: #5A36F0; --bs-btn-hover-border-color: #5A36F0;
  --bs-btn-active-bg: #4A28D6; --bs-btn-active-border-color: #4A28D6;
  --bs-btn-disabled-bg: #B7A6FF; --bs-btn-disabled-border-color: #B7A6FF;
  box-shadow: 0 1px 2px rgba(74, 40, 214, .25), 0 4px 12px -4px rgba(108, 71, 255, .45);
}
.btn-dark {
  --bs-btn-bg: #0E1A3A; --bs-btn-border-color: #0E1A3A;
  --bs-btn-hover-bg: #1A2752; --bs-btn-hover-border-color: #1A2752;
  --bs-btn-active-bg: #070F26; --bs-btn-active-border-color: #070F26;
}
.btn-light {
  --bs-btn-color: var(--ax-text); --bs-btn-bg: var(--ax-surface); --bs-btn-border-color: var(--ax-border);
  --bs-btn-hover-bg: var(--ax-violet-50); --bs-btn-hover-border-color: var(--ax-violet-200); --bs-btn-hover-color: var(--ax-violet-text);
  --bs-btn-active-color: var(--ax-violet-text); --bs-btn-active-bg: var(--ax-violet-100); --bs-btn-active-border-color: var(--ax-violet-200);
  box-shadow: var(--ax-shadow-xs);
}
.btn-soft {
  --bs-btn-color: var(--ax-violet-text); --bs-btn-bg: var(--ax-violet-50); --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--ax-violet-text); --bs-btn-hover-bg: var(--ax-violet-100); --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--ax-violet-text); --bs-btn-active-bg: var(--ax-violet-200); --bs-btn-active-border-color: transparent;
}
.btn-outline-primary {
  --bs-btn-color: var(--ax-violet-text); --bs-btn-border-color: var(--ax-violet-200);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #6C47FF; --bs-btn-hover-border-color: #6C47FF;
  --bs-btn-active-bg: #5A36F0; --bs-btn-active-border-color: #5A36F0;
}
.btn-danger {
  --bs-btn-bg: #E5484D; --bs-btn-border-color: #E5484D;
  --bs-btn-hover-bg: #D33A3F; --bs-btn-hover-border-color: #D33A3F;
}
.btn-link { --bs-btn-color: #6C47FF; --bs-btn-hover-color: #4A28D6; text-decoration: none; }
.btn-icon { width: 2.5rem; height: 2.5rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Formulários ---------- */
.form-label { font-weight: 600; font-size: .875rem; margin-bottom: .4rem; }
.form-text { color: var(--ax-text-3); font-size: .8125rem; }
.form-control, .form-select {
  border-color: var(--ax-border-strong);
  background-color: var(--ax-surface);
  color: var(--ax-text);
  padding: .6rem .9rem;
  font-weight: 500;
  box-shadow: var(--ax-shadow-xs);
}
.form-control::placeholder { color: var(--ax-text-3); opacity: .8; }
.form-control:focus, .form-select:focus { border-color: #6C47FF; box-shadow: var(--ax-ring); }
.input-group-text { background: var(--ax-surface-2); border-color: var(--ax-border-strong); color: var(--ax-text-2); }
.form-check-input { border-color: var(--ax-border-strong); background-color: var(--ax-surface); }
.form-check-input:checked { background-color: #6C47FF; border-color: #6C47FF; }
.form-check-input:focus { border-color: #6C47FF; box-shadow: var(--ax-ring); }
.form-switch .form-check-input { width: 2.4em; height: 1.3em; margin-top: .1em; }

/* ---------- Cards ---------- */
.card {
  --bs-card-bg: var(--ax-surface);
  --bs-card-color: var(--ax-text);
  --bs-card-border-color: var(--ax-border);
  --bs-card-border-radius: var(--bs-border-radius-lg);
  --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - 1px);
  --bs-card-cap-bg: transparent;
  --bs-card-spacer-y: 1.25rem; --bs-card-spacer-x: 1.25rem;
  box-shadow: var(--ax-shadow-sm);
}
.card-hover { transition: box-shadow .2s, transform .2s, border-color .2s; }
.card-hover:hover { box-shadow: var(--ax-shadow); border-color: var(--ax-violet-200); transform: translateY(-2px); }
.card-header { font-weight: 700; }

/* ---------- Badges ---------- */
.badge { font-weight: 600; letter-spacing: .01em; padding: .38em .7em; border-radius: var(--bs-border-radius-pill); }
.badge-soft-primary { color: var(--ax-violet-text); background: var(--ax-violet-50); border: 1px solid var(--ax-violet-200); }
.badge-soft-success { color: var(--bs-success-text-emphasis); background: var(--bs-success-bg-subtle); border: 1px solid var(--bs-success-border-subtle); }
.badge-soft-warning { color: var(--bs-warning-text-emphasis); background: var(--bs-warning-bg-subtle); border: 1px solid var(--bs-warning-border-subtle); }
.badge-soft-danger  { color: var(--bs-danger-text-emphasis); background: var(--bs-danger-bg-subtle); border: 1px solid var(--bs-danger-border-subtle); }
.badge-soft-pink    { color: var(--ax-pink-text); background: var(--ax-pink-50); border: 1px solid var(--ax-pink-200); }
.badge-soft-neutral { color: var(--ax-text-2); background: var(--ax-surface-2); border: 1px solid var(--ax-border); }

/* ---------- Alertas ---------- */
.alert { --bs-alert-border-radius: var(--bs-border-radius); --bs-alert-padding-y: .85rem; font-weight: 500; }
.alert .bi { font-size: 1.1rem; line-height: 1.3; }
.alert > .bi:first-child { margin-right: .45rem; vertical-align: -.1em; }

/* ---------- Navegação ---------- */
.nav-pills { --bs-nav-pills-border-radius: var(--bs-border-radius-sm); --bs-nav-pills-link-active-bg: var(--ax-violet-50); --bs-nav-pills-link-active-color: var(--ax-violet-text); }
.nav-pills .nav-link { font-weight: 600; color: var(--ax-text-2); }
.nav-tabs { --bs-nav-tabs-border-color: var(--ax-border); --bs-nav-tabs-link-active-color: var(--ax-violet-text); }
.nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; font-weight: 600; color: var(--ax-text-2); margin-bottom: -1px; }
.nav-tabs .nav-link.active { border-bottom-color: var(--ax-violet); background: transparent; color: var(--ax-violet-text); }
/* abas roláveis no celular: swipe, sem barra visível (o margin-bottom:-1px dos links causava scroll vertical) */
.nav-scroll { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; }
.nav-scroll::-webkit-scrollbar { display: none; }
.nav-scroll .nav-link { white-space: nowrap; }
.nav-segment { display: inline-flex; padding: 4px; background: var(--ax-surface-2); border: 1px solid var(--ax-border); border-radius: var(--bs-border-radius); gap: 2px; }
.nav-segment .nav-link { padding: .35rem .9rem; border-radius: var(--bs-border-radius-sm); font-weight: 600; color: var(--ax-text-2); }
.nav-segment .nav-link.active { background: var(--ax-surface-3); color: var(--ax-text); box-shadow: var(--ax-shadow-sm); }

/* ---------- Tabelas ---------- */
.table { --bs-table-border-color: var(--ax-border); --bs-table-bg: var(--ax-surface); --bs-table-color: var(--ax-text); --bs-table-hover-bg: var(--ax-hover); --bs-table-striped-bg: var(--ax-hover); }
.table > thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ax-text-3); font-weight: 700; background: var(--ax-surface-2); }
.table > :not(caption) > * > * { padding: .8rem 1rem; vertical-align: middle; }
.table-card { border: 1px solid var(--ax-border); border-radius: var(--bs-border-radius-lg); overflow: hidden; background: var(--ax-surface); box-shadow: var(--ax-shadow-sm); }
.table-card .table { margin: 0; }
.table-card .table tr:last-child td { border-bottom: 0; }

/* ---------- Dropdown, modal, toast ---------- */
.dropdown-menu { --bs-dropdown-border-color: var(--ax-border); --bs-dropdown-border-radius: var(--bs-border-radius); --bs-dropdown-box-shadow: var(--ax-shadow-lg); --bs-dropdown-bg: var(--ax-surface); --bs-dropdown-link-color: var(--ax-text); --bs-dropdown-link-hover-color: var(--ax-violet-text); --bs-dropdown-link-hover-bg: var(--ax-violet-50); --bs-dropdown-link-active-bg: var(--ax-violet); --bs-dropdown-divider-bg: var(--ax-border); padding: .35rem; box-shadow: var(--ax-shadow-lg); }
.dropdown-item { border-radius: .5rem; font-weight: 500; }
.modal { --bs-modal-bg: var(--ax-surface); --bs-modal-border-color: var(--ax-border); --bs-modal-border-radius: var(--bs-border-radius-xl); --bs-modal-box-shadow: var(--ax-shadow-lg); --bs-backdrop-bg: #0E1A3A; --bs-backdrop-opacity: .35; }
.toast { --bs-toast-bg: var(--ax-surface); --bs-toast-color: var(--ax-text); --bs-toast-border-color: var(--ax-border); --bs-toast-border-radius: var(--bs-border-radius); --bs-toast-box-shadow: var(--ax-shadow-lg); }

/* ---------- Progresso, paginação, lista ---------- */
.progress { --bs-progress-bg: var(--ax-violet-100); --bs-progress-bar-bg: #6C47FF; --bs-progress-border-radius: 50rem; --bs-progress-height: .5rem; }
.pagination { --bs-pagination-border-color: var(--ax-border); --bs-pagination-color: var(--ax-text-2); --bs-pagination-bg: var(--ax-surface); --bs-pagination-hover-bg: var(--ax-violet-50); --bs-pagination-hover-color: var(--ax-violet-text); --bs-pagination-hover-border-color: var(--ax-violet-200); --bs-pagination-active-bg: #6C47FF; --bs-pagination-active-border-color: #6C47FF; --bs-pagination-focus-box-shadow: var(--ax-ring); gap: 4px; }
.pagination .page-link { border-radius: var(--bs-border-radius-sm) !important; font-weight: 600; min-width: 2.25rem; text-align: center; }
.list-group { --bs-list-group-border-color: var(--ax-border); --bs-list-group-border-radius: var(--bs-border-radius-lg); --bs-list-group-bg: var(--ax-surface); --bs-list-group-color: var(--ax-text); --bs-list-group-active-bg: var(--ax-violet-50); --bs-list-group-active-color: var(--ax-violet-text); --bs-list-group-active-border-color: var(--ax-border); --bs-list-group-action-hover-bg: var(--ax-hover); }

/* ---------- Avatar ---------- */
.avatar { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .875rem; background: var(--ax-violet-100); color: var(--ax-violet-text); flex-shrink: 0; border: 2px solid var(--ax-surface); box-shadow: var(--ax-shadow-xs); }
.avatar { overflow: hidden; }
.avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar-xs { width: 1.5rem; height: 1.5rem; font-size: .625rem; border-width: 1px; }
.avatar-sm { width: 2rem; height: 2rem; font-size: .75rem; }
.avatar-lg { width: 3.25rem; height: 3.25rem; font-size: 1.05rem; }

/* ---------- Utilitários Aulix ---------- */
.bg-surface { background: var(--ax-surface) !important; }
.bg-surface-2 { background: var(--ax-surface-2) !important; }
.border-soft { border: 1px solid var(--ax-border) !important; }
.shadow-xs { box-shadow: var(--ax-shadow-xs) !important; }
.icon-tile { width: 2.5rem; height: 2.5rem; border-radius: .75rem; display: inline-flex; align-items: center; justify-content: center; background: var(--ax-violet-50); color: var(--ax-violet-icon); font-size: 1.15rem; flex-shrink: 0; }
.icon-tile-pink { background: var(--ax-pink-50); color: var(--ax-pink); }
.icon-tile-success { background: var(--bs-success-bg-subtle); color: var(--bs-success); }
.icon-tile-warning { background: var(--bs-warning-bg-subtle); color: var(--bs-warning); }

/* ==========================================================
   MODO ESCURO · <html data-bs-theme="dark">
   Azul-marinho profundo com leve tom violeta.
   ========================================================== */
[data-bs-theme="dark"] {
  color-scheme: dark;
  --ax-violet: #7C5CFF;
  --ax-violet-text: #BDAEFF;
  --ax-violet-icon: #A891FF;
  --ax-violet-50: rgba(124, 92, 255, .14);
  --ax-violet-100: rgba(124, 92, 255, .22);
  --ax-violet-200: rgba(124, 92, 255, .38);
  --ax-pink: #F06AAA;
  --ax-pink-50: rgba(240, 106, 170, .14);
  --ax-pink-200: rgba(240, 106, 170, .34);
  --ax-pink-text: #F7A3CB;

  --ax-bg: #0A0F22;
  --ax-surface: #121832;
  --ax-surface-2: #18203D;
  --ax-surface-3: #232C52;
  --ax-hover: #161D3A;
  --ax-border: #232B4D;
  --ax-border-strong: #313A63;

  --ax-text: #ECEBFA;
  --ax-text-2: #A9ADC8;
  --ax-text-3: #7C81A3;

  --ax-shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);
  --ax-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .25);
  --ax-shadow:    0 2px 4px rgba(0, 0, 0, .3), 0 10px 28px -6px rgba(0, 0, 0, .55);
  --ax-shadow-lg: 0 4px 8px rgba(0, 0, 0, .3), 0 24px 52px -10px rgba(0, 0, 0, .7), 0 0 0 1px rgba(124, 92, 255, .06);
  --ax-ring: 0 0 0 4px rgba(124, 92, 255, .30);

  --bs-primary: #7C5CFF;      --bs-primary-rgb: 124, 92, 255;
  --bs-secondary: #A9ADC8;    --bs-secondary-rgb: 169, 173, 200;
  --bs-success: #2FC08F;      --bs-success-rgb: 47, 192, 143;
  --bs-info: #5B9BFF;         --bs-info-rgb: 91, 155, 255;
  --bs-warning: #F2B451;      --bs-warning-rgb: 242, 180, 81;
  --bs-danger: #F2646A;       --bs-danger-rgb: 242, 100, 106;
  --bs-light: #18203D;        --bs-light-rgb: 24, 32, 61;
  --bs-dark: #ECEBFA;         --bs-dark-rgb: 236, 235, 250;

  --bs-primary-text-emphasis: #BDAEFF; --bs-primary-bg-subtle: rgba(124, 92, 255, .14); --bs-primary-border-subtle: rgba(124, 92, 255, .38);
  --bs-success-text-emphasis: #7BE0BC; --bs-success-bg-subtle: rgba(47, 192, 143, .12); --bs-success-border-subtle: rgba(47, 192, 143, .32);
  --bs-warning-text-emphasis: #F7CF8C; --bs-warning-bg-subtle: rgba(242, 180, 81, .12); --bs-warning-border-subtle: rgba(242, 180, 81, .32);
  --bs-danger-text-emphasis: #F8A0A4;  --bs-danger-bg-subtle: rgba(242, 100, 106, .12); --bs-danger-border-subtle: rgba(242, 100, 106, .34);
  --bs-info-text-emphasis: #A4C6FF;    --bs-info-bg-subtle: rgba(91, 155, 255, .12);  --bs-info-border-subtle: rgba(91, 155, 255, .32);
  --bs-secondary-text-emphasis: #C9CCE0; --bs-secondary-bg-subtle: #18203D; --bs-secondary-border-subtle: #232B4D;

  --bs-body-color: #ECEBFA;        --bs-body-color-rgb: 236, 235, 250;
  --bs-body-bg: #0A0F22;           --bs-body-bg-rgb: 10, 15, 34;
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #A9ADC8;
  --bs-tertiary-color: #7C81A3;
  --bs-secondary-bg: #18203D;
  --bs-tertiary-bg: #121832;
  --bs-heading-color: #F4F3FF;
  --bs-link-color: #A891FF;        --bs-link-color-rgb: 168, 145, 255;
  --bs-link-hover-color: #C9BDFF;  --bs-link-hover-color-rgb: 201, 189, 255;
  --bs-border-color: #232B4D;
  --bs-border-color-translucent: rgba(160, 150, 255, .12);
  --bs-focus-ring-color: rgba(124, 92, 255, .30);
  --bs-form-valid-color: #2FC08F;  --bs-form-valid-border-color: #2FC08F;
  --bs-form-invalid-color: #F2646A; --bs-form-invalid-border-color: #F2646A;
}
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .btn-primary {
  --bs-btn-bg: #7C5CFF; --bs-btn-border-color: #7C5CFF;
  --bs-btn-hover-bg: #8E72FF; --bs-btn-hover-border-color: #8E72FF;
  --bs-btn-active-bg: #6C47FF; --bs-btn-active-border-color: #6C47FF;
  --bs-btn-disabled-bg: #3D3478; --bs-btn-disabled-border-color: #3D3478; --bs-btn-disabled-color: #A9ADC8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 18px -6px rgba(124, 92, 255, .65);
}
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .btn-dark {
  --bs-btn-color: #0E1A3A; --bs-btn-bg: #ECEBFA; --bs-btn-border-color: #ECEBFA;
  --bs-btn-hover-color: #0E1A3A; --bs-btn-hover-bg: #FFFFFF; --bs-btn-hover-border-color: #FFFFFF;
  --bs-btn-active-color: #0E1A3A; --bs-btn-active-bg: #D9D7EE; --bs-btn-active-border-color: #D9D7EE;
}
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .btn-danger { --bs-btn-bg: #E5484D; --bs-btn-border-color: #E5484D; }
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23A9ADC8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .form-check-input:checked { background-color: #7C5CFF; border-color: #7C5CFF; }
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .progress { --bs-progress-bar-bg: #7C5CFF; }
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .pagination { --bs-pagination-active-bg: #7C5CFF; --bs-pagination-active-border-color: #7C5CFF; }
:is([data-bs-theme="dark"], [data-bs-theme="night"]) .modal { --bs-backdrop-bg: #000; --bs-backdrop-opacity: .6; }

/* ==========================================================
   MODO NIGHT · <html data-bs-theme="night">
   Quase preto com leve tom azul-violeta, mais contraste.
   ========================================================== */
[data-bs-theme="night"] {
  color-scheme: dark;
  --ax-violet: #8B6CFF;
  --ax-violet-text: #D2C7FF;
  --ax-violet-icon: #B4A0FF;
  --ax-violet-50: rgba(139, 108, 255, .16);
  --ax-violet-100: rgba(139, 108, 255, .26);
  --ax-violet-200: rgba(139, 108, 255, .50);
  --ax-pink: #FF6FB5;
  --ax-pink-50: rgba(255, 111, 181, .15);
  --ax-pink-200: rgba(255, 111, 181, .45);
  --ax-pink-text: #FFB0D6;

  --ax-bg: #05060E;
  --ax-surface: #0C0F1E;
  --ax-surface-2: #13172B;
  --ax-surface-3: #1F2445;
  --ax-hover: #111528;
  --ax-border: #2A3054;
  --ax-border-strong: #3C4472;

  --ax-text: #F7F6FF;
  --ax-text-2: #C3C6E0;
  --ax-text-3: #9095B8;

  --ax-shadow-xs: 0 1px 2px rgba(0, 0, 0, .6);
  --ax-shadow-sm: 0 1px 2px rgba(0, 0, 0, .6), 0 2px 10px rgba(0, 0, 0, .45);
  --ax-shadow:    0 2px 4px rgba(0, 0, 0, .5), 0 12px 32px -6px rgba(0, 0, 0, .8);
  --ax-shadow-lg: 0 4px 8px rgba(0, 0, 0, .5), 0 28px 60px -10px rgba(0, 0, 0, .9), 0 0 0 1px rgba(139, 108, 255, .10);
  --ax-ring: 0 0 0 4px rgba(139, 108, 255, .38);

  --bs-primary: #8B6CFF;      --bs-primary-rgb: 139, 108, 255;
  --bs-secondary: #C3C6E0;    --bs-secondary-rgb: 195, 198, 224;
  --bs-success: #34D399;      --bs-success-rgb: 52, 211, 153;
  --bs-info: #60A5FA;         --bs-info-rgb: 96, 165, 250;
  --bs-warning: #FBBF4E;      --bs-warning-rgb: 251, 191, 78;
  --bs-danger: #FF6B70;       --bs-danger-rgb: 255, 107, 112;
  --bs-light: #13172B;        --bs-light-rgb: 19, 23, 43;
  --bs-dark: #F7F6FF;         --bs-dark-rgb: 247, 246, 255;

  --bs-primary-text-emphasis: #D2C7FF; --bs-primary-bg-subtle: rgba(139, 108, 255, .16); --bs-primary-border-subtle: rgba(139, 108, 255, .50);
  --bs-success-text-emphasis: #8EF0C8; --bs-success-bg-subtle: rgba(52, 211, 153, .13); --bs-success-border-subtle: rgba(52, 211, 153, .42);
  --bs-warning-text-emphasis: #FDDA95; --bs-warning-bg-subtle: rgba(251, 191, 78, .13); --bs-warning-border-subtle: rgba(251, 191, 78, .42);
  --bs-danger-text-emphasis: #FFAEB1;  --bs-danger-bg-subtle: rgba(255, 107, 112, .13); --bs-danger-border-subtle: rgba(255, 107, 112, .45);
  --bs-info-text-emphasis: #B5D4FF;    --bs-info-bg-subtle: rgba(96, 165, 250, .13);  --bs-info-border-subtle: rgba(96, 165, 250, .42);
  --bs-secondary-text-emphasis: #DADCEE; --bs-secondary-bg-subtle: #13172B; --bs-secondary-border-subtle: #2A3054;

  --bs-body-color: #F7F6FF;        --bs-body-color-rgb: 247, 246, 255;
  --bs-body-bg: #05060E;           --bs-body-bg-rgb: 5, 6, 14;
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #C3C6E0;
  --bs-tertiary-color: #9095B8;
  --bs-secondary-bg: #13172B;
  --bs-tertiary-bg: #0C0F1E;
  --bs-heading-color: #FFFFFF;
  --bs-link-color: #B4A0FF;        --bs-link-color-rgb: 180, 160, 255;
  --bs-link-hover-color: #D2C7FF;  --bs-link-hover-color-rgb: 210, 199, 255;
  --bs-border-color: #2A3054;
  --bs-border-color-translucent: rgba(170, 160, 255, .16);
  --bs-focus-ring-color: rgba(139, 108, 255, .38);
  --bs-form-valid-color: #34D399;  --bs-form-valid-border-color: #34D399;
  --bs-form-invalid-color: #FF6B70; --bs-form-invalid-border-color: #FF6B70;
}
[data-bs-theme="night"] .btn-primary {
  --bs-btn-bg: #8B6CFF; --bs-btn-border-color: #8B6CFF;
  --bs-btn-hover-bg: #9D82FF; --bs-btn-hover-border-color: #9D82FF;
  --bs-btn-active-bg: #7A58FF; --bs-btn-active-border-color: #7A58FF;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .6), 0 6px 22px -6px rgba(139, 108, 255, .8);
}
[data-bs-theme="night"] .form-check-input:checked { background-color: #8B6CFF; border-color: #8B6CFF; }
[data-bs-theme="night"] .progress { --bs-progress-bar-bg: #8B6CFF; }
[data-bs-theme="night"] .pagination { --bs-pagination-active-bg: #8B6CFF; --bs-pagination-active-border-color: #8B6CFF; }
