/*
 * dark-glass.css — Glassmorphism Dark Theme
 * Ativado por: body.theme-dark-glass
 * Técnica: white-glass rgba(255,255,255,0.07-0.12) + blur(16px) + inset highlights
 * @media print: revertido para fundo branco
 */

/* ============================================================
   FASE 1 — VARIÁVEIS E FUNDO BASE
   ============================================================ */

body.theme-dark-glass {
  --dg-bg:            #080b10;
  --dg-blur:          blur(16px) saturate(180%);
  --dg-blur-sm:       blur(12px) saturate(160%);
  --dg-blur-lg:       blur(24px) saturate(200%);

  /* Superfícies glass */
  --dg-glass-white:   rgba(255, 255, 255, 0.07);
  --dg-glass-white-2: rgba(255, 255, 255, 0.11);
  --dg-glass-dark:    rgba(8, 12, 22, 0.72);
  --dg-glass-dark-2:  rgba(8, 12, 22, 0.85);

  /* Bordas */
  --dg-border:        rgba(255, 255, 255, 0.13);
  --dg-border-2:      rgba(255, 255, 255, 0.22);
  --dg-border-inner:  rgba(255, 255, 255, 0.28);

  /* Inset highlights (técnica do script de referência) */
  --dg-inset-top:     inset 0 1px 0 rgba(255, 255, 255, 0.28);
  --dg-inset-bottom:  inset 0 -1px 0 rgba(255, 255, 255, 0.07);
  --dg-inset-left:    inset 1px 0 0 rgba(255, 255, 255, 0.10);

  /* Sombras */
  --dg-shadow:        0 8px 32px rgba(0, 0, 0, 0.35);
  --dg-shadow-sm:     0 4px 16px rgba(0, 0, 0, 0.25);
  --dg-shadow-lg:     0 16px 48px rgba(0, 0, 0, 0.50);

  /* Tipografia */
  --dg-text:          #e8edf4;
  --dg-text-muted:    #8b98b0;
  --dg-text-dim:      #4e5a70;

  /* Cores de acento */
  --dg-accent:        #58a6ff;
  --dg-accent-glow:   rgba(88, 166, 255, 0.18);
  --dg-accent-glass:  rgba(88, 166, 255, 0.14);
  --dg-success:       #3fb950;
  --dg-danger:        #f85149;
  --dg-warning:       #d29922;
  --dg-info:          #79c0ff;

  /* Raios */
  --dg-radius:        14px;
  --dg-radius-sm:     9px;

  background-color: var(--dg-bg) !important;
  background-image:
    radial-gradient(ellipse 1200px 800px at 0%   0%,   rgba(79,  70, 229, 0.22), transparent 60%),
    radial-gradient(ellipse 900px  700px at 100% 0%,   rgba(168, 85, 247, 0.16), transparent 55%),
    radial-gradient(ellipse 1000px 600px at 50%  100%, rgba(16, 185, 129, 0.12), transparent 60%),
    radial-gradient(ellipse 600px  600px at 80%  60%,  rgba(236,  72, 153, 0.08), transparent 55%);
  background-attachment: fixed;
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 2 — LAYOUT BASE TRANSPARENTE
   Obrigatório: o blur precisa ver o fundo com blobs
   ============================================================ */

body.theme-dark-glass .wrapper,
body.theme-dark-glass .content-wrapper,
body.theme-dark-glass section.content {
  background: transparent !important;
}

/* ============================================================
   FASE 3 — HEADER / NAVBAR
   ============================================================ */

body.theme-dark-glass .main-header {
  border-bottom: 1px solid var(--dg-border) !important;
}

body.theme-dark-glass .main-header .navbar {
  background: var(--dg-glass-dark) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border-bottom: 1px solid var(--dg-border) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .main-header .logo {
  background: var(--dg-accent-glass) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-bottom: 1px solid var(--dg-border) !important;
  border-right: 1px solid var(--dg-border) !important;
  box-shadow: var(--dg-inset-top), var(--dg-inset-left) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .main-header .logo .logo-mini,
body.theme-dark-glass .main-header .logo .logo-lg {
  color: #fff !important;
}

body.theme-dark-glass .main-header .navbar .nav > li > a {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .main-header .navbar .nav > li > a:hover,
body.theme-dark-glass .main-header .navbar .nav > li.open > a {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .main-header .navbar .sidebar-toggle {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .main-header .navbar .sidebar-toggle:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .main-header .navbar .dropdown-menu {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow), var(--dg-inset-top) !important;
}

body.theme-dark-glass .main-header .navbar .dropdown-menu > li > a {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .main-header .navbar .dropdown-menu > li > a:hover {
  background: rgba(255, 255, 255, 0.07) !important;
}

body.theme-dark-glass .main-header .navbar .dropdown-menu .divider {
  background: var(--dg-border) !important;
}

body.theme-dark-glass #sefaz-status-container {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .content-header {
  background: transparent !important;
}

body.theme-dark-glass .content-header h1,
body.theme-dark-glass .content-header h1 small {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .breadcrumb {
  background: transparent !important;
}

body.theme-dark-glass .breadcrumb > li,
body.theme-dark-glass .breadcrumb > li a,
body.theme-dark-glass .breadcrumb > .active {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .breadcrumb > li + li::before {
  color: var(--dg-text-dim) !important;
}

/* ============================================================
   FASE 4 — SIDEBAR
   ============================================================ */

body.theme-dark-glass .main-sidebar {
  background: var(--dg-glass-dark) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border-right: 1px solid var(--dg-border) !important;
  box-shadow: 4px 0 32px rgba(0, 0, 0, 0.40), var(--dg-inset-left) !important;
}

body.theme-dark-glass .sidebar-menu > li > a,
body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li > a {
  color: var(--dg-text-muted) !important;
  border-left: 3px solid transparent !important;
  transition: all 0.20s ease !important;
}

body.theme-dark-glass .sidebar-menu > li:hover > a,
body.theme-dark-glass .sidebar-menu > li.active > a,
body.theme-dark-glass .sidebar-menu > li.menu-open > a {
  color: var(--dg-text) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border-left-color: var(--dg-accent) !important;
}

body.theme-dark-glass .sidebar-menu > li > .treeview-menu {
  background: rgba(0, 0, 0, 0.15) !important;
}

body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li > a:hover,
body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li.active > a {
  color: var(--dg-accent) !important;
  background: transparent !important;
}

body.theme-dark-glass .sidebar .user-panel {
  border-bottom: 1px solid var(--dg-border) !important;
}

body.theme-dark-glass .sidebar .user-panel .info,
body.theme-dark-glass .sidebar .user-panel .info a {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .sidebar .user-panel .info p {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .sidebar-menu > li.header {
  background: transparent !important;
  color: var(--dg-text-dim) !important;
  font-size: 10px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

body.theme-dark-glass .sidebar-form {
  border-top: 1px solid var(--dg-border) !important;
  border-bottom: 1px solid var(--dg-border) !important;
  background: transparent !important;
}

body.theme-dark-glass .sidebar-form input {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .sidebar-menu > li > a > .fa,
body.theme-dark-glass .sidebar-menu > li > a > .glyphicon,
body.theme-dark-glass .sidebar-menu > li > a > .ion {
  color: var(--dg-text-dim) !important;
}

body.theme-dark-glass .sidebar-menu > li:hover > a > .fa,
body.theme-dark-glass .sidebar-menu > li.active > a > .fa {
  color: var(--dg-accent) !important;
}

/* ============================================================
   FASE 5 — BOXES / CARDS
   Técnica do script: white glass + inset highlights
   ============================================================ */

body.theme-dark-glass .box {
  background: var(--dg-glass-white) !important;
  border: 1px solid var(--dg-border-2) !important;
  border-top: none !important;
  border-radius: var(--dg-radius) !important;
  box-shadow:
    var(--dg-shadow-sm),
    var(--dg-inset-top),
    var(--dg-inset-bottom),
    var(--dg-inset-left) !important;
  position: relative;
}

body.theme-dark-glass .box.box-primary  { border-top: 3px solid var(--dg-accent)   !important; }
body.theme-dark-glass .box.box-success  { border-top: 3px solid var(--dg-success)  !important; }
body.theme-dark-glass .box.box-danger   { border-top: 3px solid var(--dg-danger)   !important; }
body.theme-dark-glass .box.box-warning  { border-top: 3px solid var(--dg-warning)  !important; }
body.theme-dark-glass .box.box-info     { border-top: 3px solid var(--dg-info)     !important; }

/* Estria de luz no topo do card (técnica ::before do script de referência) */
body.theme-dark-glass .box-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.55),
    transparent
  );
  pointer-events: none;
}

body.theme-dark-glass .box-header {
  color: var(--dg-text) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-bottom: 1px solid var(--dg-border) !important;
  border-radius: var(--dg-radius) var(--dg-radius) 0 0 !important;
  position: relative;
}

body.theme-dark-glass .box-title {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .box-body {
  color: var(--dg-text) !important;
  background: transparent !important;
}

body.theme-dark-glass .box-footer {
  background: rgba(255, 255, 255, 0.03) !important;
  border-top: 1px solid var(--dg-border) !important;
  color: var(--dg-text-muted) !important;
  border-radius: 0 0 var(--dg-radius) var(--dg-radius) !important;
}

body.theme-dark-glass .box-tools .btn {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .box.collapsed-box .box-header {
  border-bottom: none !important;
  border-radius: var(--dg-radius) !important;
}

/* ============================================================
   FASE 6 — FORMULÁRIOS
   ============================================================ */

body.theme-dark-glass .form-control,
body.theme-dark-glass input[type="text"],
body.theme-dark-glass input[type="tel"],
body.theme-dark-glass input[type="number"],
body.theme-dark-glass input[type="email"],
body.theme-dark-glass input[type="password"],
body.theme-dark-glass input[type="date"],
body.theme-dark-glass input[type="search"],
body.theme-dark-glass textarea {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .form-control:focus,
body.theme-dark-glass input[type="text"]:focus,
body.theme-dark-glass input[type="number"]:focus,
body.theme-dark-glass input[type="email"]:focus,
body.theme-dark-glass input[type="password"]:focus,
body.theme-dark-glass textarea:focus {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: var(--dg-accent) !important;
  box-shadow: 0 0 0 3px var(--dg-accent-glow), var(--dg-inset-top) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .form-control:disabled,
body.theme-dark-glass .form-control[readonly] {
  background: rgba(255, 255, 255, 0.02) !important;
  color: var(--dg-text-dim) !important;
}

body.theme-dark-glass .form-control::placeholder {
  color: var(--dg-text-dim) !important;
}

body.theme-dark-glass label,
body.theme-dark-glass .control-label {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .help-block {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .input-group-addon {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .checkbox label,
body.theme-dark-glass .radio label {
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 7 — BOTÕES
   ============================================================ */

body.theme-dark-glass .btn-default {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .btn-default:hover,
body.theme-dark-glass .btn-default:focus {
  background: rgba(255, 255, 255, 0.14) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .btn-primary {
  background: var(--dg-accent-glass) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
  box-shadow: 0 0 12px var(--dg-accent-glow), var(--dg-inset-top) !important;
}

body.theme-dark-glass .btn-primary:hover,
body.theme-dark-glass .btn-primary:focus {
  background: rgba(88, 166, 255, 0.22) !important;
  box-shadow: 0 0 18px var(--dg-accent-glow), var(--dg-inset-top) !important;
}

body.theme-dark-glass .btn-link {
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .btn-link:hover {
  color: var(--dg-info) !important;
}

/* ============================================================
   FASE 8 — TABELAS / DATATABLES
   ============================================================ */

body.theme-dark-glass .table,
body.theme-dark-glass table.dataTable {
  color: var(--dg-text) !important;
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass .table > thead > tr > th,
body.theme-dark-glass table.dataTable thead th,
body.theme-dark-glass table.dataTable tfoot th {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--dg-text-muted) !important;
  border-bottom-color: var(--dg-border-2) !important;
  border-color: var(--dg-border) !important;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.theme-dark-glass .table > tbody > tr > td,
body.theme-dark-glass .table > tbody > tr > th,
body.theme-dark-glass table.dataTable tbody td {
  color: var(--dg-text) !important;
  border-color: var(--dg-border) !important;
  background: transparent !important;
}

body.theme-dark-glass .table-striped > tbody > tr:nth-of-type(odd),
body.theme-dark-glass table.dataTable.stripe tbody tr.odd,
body.theme-dark-glass table.dataTable.display tbody tr.odd {
  background: rgba(255, 255, 255, 0.03) !important;
}

body.theme-dark-glass .table-hover > tbody > tr:hover,
body.theme-dark-glass table.dataTable.hover tbody tr:hover,
body.theme-dark-glass table.dataTable.display tbody tr:hover {
  background: var(--dg-accent-glow) !important;
}

body.theme-dark-glass table.dataTable.no-footer {
  border-bottom-color: var(--dg-border) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_length,
body.theme-dark-glass .dataTables_wrapper .dataTables_filter,
body.theme-dark-glass .dataTables_wrapper .dataTables_info,
body.theme-dark-glass .dataTables_wrapper .dataTables_processing,
body.theme-dark-glass .dataTables_wrapper .dataTables_paginate {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_filter input,
body.theme-dark-glass .dataTables_wrapper .dataTables_length select {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--dg-text-muted) !important;
  border-radius: var(--dg-radius-sm) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--dg-accent) !important;
  border-color: var(--dg-accent) !important;
  color: #fff !important;
  box-shadow: 0 0 12px var(--dg-accent-glow) !important;
}

body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.theme-dark-glass .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  color: var(--dg-text-dim) !important;
}

/* ============================================================
   FASE 9 — MODAIS BOOTSTRAP
   ============================================================ */

body.theme-dark-glass .modal-content {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-lg), var(--dg-inset-top), var(--dg-inset-left) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-header {
  border-bottom: 1px solid var(--dg-border) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-header .close {
  color: var(--dg-text-muted) !important;
  text-shadow: none !important;
  opacity: 0.7 !important;
}

body.theme-dark-glass .modal-header .close:hover {
  color: var(--dg-text) !important;
  opacity: 1 !important;
}

body.theme-dark-glass .modal-title {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-footer {
  border-top: 1px solid var(--dg-border) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

body.theme-dark-glass .modal-backdrop.in {
  opacity: 0.70 !important;
  background-color: #000 !important;
}

/* ============================================================
   FASE 10 — SELECT2
   ============================================================ */

body.theme-dark-glass .select2-container--default .select2-selection--single,
body.theme-dark-glass .select2-container--default .select2-selection--multiple {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--dg-text-dim) transparent transparent transparent !important;
}

body.theme-dark-glass .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--dg-text-dim) transparent !important;
}

body.theme-dark-glass .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-dropdown {
  background: #0e1420 !important;
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-results {
  background: #0e1420 !important;
}

body.theme-dark-glass .select2-results__options {
  background: #0e1420 !important;
}

body.theme-dark-glass .select2-search--dropdown .select2-search__field {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
  border-radius: var(--dg-radius-sm) !important;
}

body.theme-dark-glass .select2-results__option {
  color: var(--dg-text) !important;
  background: transparent !important;
}

body.theme-dark-glass .select2-results__option--highlighted[aria-selected],
body.theme-dark-glass .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--dg-accent-glass) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-results__option[aria-selected="true"] {
  background: rgba(88, 166, 255, 0.10) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: var(--dg-accent-glass) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
  border-radius: 4px !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--dg-accent) !important;
}

/* ============================================================
   FASE 11 — SWEETALERT
   ============================================================ */

body.theme-dark-glass .swal-modal {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-lg), var(--dg-inset-top) !important;
}

body.theme-dark-glass .swal-title  { color: var(--dg-text) !important; }
body.theme-dark-glass .swal-text   { color: var(--dg-text-muted) !important; }

body.theme-dark-glass .swal-overlay {
  background: rgba(0, 0, 0, 0.70) !important;
}

body.theme-dark-glass .swal-content input {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .swal2-popup {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-lg), var(--dg-inset-top) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .swal2-title   { color: var(--dg-text) !important; }
body.theme-dark-glass .swal2-content { color: var(--dg-text-muted) !important; }

/* ============================================================
   FASE 12 — TOASTR
   ============================================================ */

body.theme-dark-glass #toast-container > .toast {
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow), var(--dg-inset-top) !important;
  opacity: 0.97 !important;
}

body.theme-dark-glass #toast-container > .toast-success { background-color: rgba(63,  185, 80,  0.82) !important; }
body.theme-dark-glass #toast-container > .toast-error   { background-color: rgba(248, 81,  73,  0.82) !important; }
body.theme-dark-glass #toast-container > .toast-warning { background-color: rgba(210, 153, 34,  0.82) !important; }
body.theme-dark-glass #toast-container > .toast-info    { background-color: rgba(88,  166, 255, 0.82) !important; }

/* ============================================================
   FASE 13 — DROPDOWN MENUS GERAIS
   ============================================================ */

body.theme-dark-glass .dropdown-menu {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow), var(--dg-inset-top) !important;
}

body.theme-dark-glass .dropdown-menu > li > a {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .dropdown-menu > li > a:hover,
body.theme-dark-glass .dropdown-menu > li > a:focus {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .dropdown-menu > .active > a,
body.theme-dark-glass .dropdown-menu > .active > a:hover {
  background: var(--dg-accent-glass) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .dropdown-menu .divider {
  background-color: var(--dg-border) !important;
}

body.theme-dark-glass .dropdown-header {
  color: var(--dg-text-dim) !important;
}

/* ============================================================
   FASE 14 — NAV TABS E PILLS
   ============================================================ */

body.theme-dark-glass .nav-tabs {
  border-bottom: 1px solid var(--dg-border) !important;
}

body.theme-dark-glass .nav-tabs > li > a {
  color: var(--dg-text-muted) !important;
  border-color: transparent !important;
  border-radius: var(--dg-radius-sm) var(--dg-radius-sm) 0 0 !important;
  background: transparent !important;
}

body.theme-dark-glass .nav-tabs > li > a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border) var(--dg-border) transparent !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .nav-tabs > li.active > a,
body.theme-dark-glass .nav-tabs > li.active > a:hover,
body.theme-dark-glass .nav-tabs > li.active > a:focus {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-color: var(--dg-border) var(--dg-border) transparent !important;
  color: var(--dg-text) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .tab-content {
  background: transparent !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .nav-pills > li > a {
  color: var(--dg-text-muted) !important;
  border-radius: var(--dg-radius-sm) !important;
}

body.theme-dark-glass .nav-pills > li > a:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .nav-pills > li.active > a,
body.theme-dark-glass .nav-pills > li.active > a:hover {
  background: var(--dg-accent) !important;
  color: #fff !important;
  box-shadow: 0 0 14px var(--dg-accent-glow) !important;
}

/* ============================================================
   FASE 15 — ALERTAS, SMALL BOXES E INFO BOXES
   ============================================================ */

body.theme-dark-glass .alert {
  border-radius: var(--dg-radius-sm) !important;
  border: 1px solid !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .alert-success {
  background: rgba(63, 185, 80,  0.12) !important;
  border-color: rgba(63, 185, 80,  0.30) !important;
  color: #3fb950 !important;
}

body.theme-dark-glass .alert-danger,
body.theme-dark-glass .alert-error {
  background: rgba(248, 81, 73,  0.12) !important;
  border-color: rgba(248, 81, 73,  0.30) !important;
  color: #f85149 !important;
}

body.theme-dark-glass .alert-warning {
  background: rgba(210, 153, 34, 0.12) !important;
  border-color: rgba(210, 153, 34, 0.30) !important;
  color: #d29922 !important;
}

body.theme-dark-glass .alert-info {
  background: rgba(88, 166, 255, 0.10) !important;
  border-color: rgba(88, 166, 255, 0.25) !important;
  color: var(--dg-info) !important;
}

body.theme-dark-glass .small-box {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .small-box h3,
body.theme-dark-glass .small-box p {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .small-box .icon {
  color: rgba(255, 255, 255, 0.14) !important;
}

body.theme-dark-glass .small-box .small-box-footer {
  background: rgba(0, 0, 0, 0.18) !important;
  color: rgba(255, 255, 255, 0.58) !important;
  border-radius: 0 0 var(--dg-radius) var(--dg-radius) !important;
}

body.theme-dark-glass .small-box .small-box-footer:hover {
  background: rgba(0, 0, 0, 0.28) !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

body.theme-dark-glass .info-box {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .info-box-text,
body.theme-dark-glass .info-box-number {
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 16 — FOOTER
   ============================================================ */

body.theme-dark-glass .main-footer {
  background: var(--dg-glass-dark) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border-top: 1px solid var(--dg-border) !important;
  color: var(--dg-text-muted) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .main-footer a {
  color: var(--dg-accent) !important;
}

/* ============================================================
   FASE 17 — CALLOUTS E WELL
   ============================================================ */

body.theme-dark-glass .callout {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border: 1px solid var(--dg-border) !important;
  border-radius: var(--dg-radius-sm) !important;
  color: var(--dg-text) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .callout.callout-info    { border-left-color: var(--dg-info)    !important; }
body.theme-dark-glass .callout.callout-success  { border-left-color: var(--dg-success) !important; }
body.theme-dark-glass .callout.callout-warning  { border-left-color: var(--dg-warning) !important; }
body.theme-dark-glass .callout.callout-danger   { border-left-color: var(--dg-danger)  !important; }

body.theme-dark-glass .well {
  background: rgba(255, 255, 255, 0.04) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-color: var(--dg-border) !important;
  border-radius: var(--dg-radius-sm) !important;
  color: var(--dg-text) !important;
  box-shadow: var(--dg-inset-top) !important;
}

/* ============================================================
   FASE 18 — DATEPICKER
   ============================================================ */

body.theme-dark-glass .datepicker,
body.theme-dark-glass .datepicker-dropdown,
body.theme-dark-glass .bootstrap-datetimepicker-widget {
  background: var(--dg-glass-dark-2) !important;
  -webkit-backdrop-filter: var(--dg-blur-lg);
  backdrop-filter: var(--dg-blur-lg);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow), var(--dg-inset-top) !important;
}

body.theme-dark-glass .datepicker table tr th,
body.theme-dark-glass .datepicker table tr td,
body.theme-dark-glass .bootstrap-datetimepicker-widget table tr th,
body.theme-dark-glass .bootstrap-datetimepicker-widget table tr td {
  color: var(--dg-text) !important;
  border-radius: 4px !important;
}

body.theme-dark-glass .datepicker table tr td:hover,
body.theme-dark-glass .bootstrap-datetimepicker-widget table tr td:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

body.theme-dark-glass .datepicker table tr td.active,
body.theme-dark-glass .datepicker table tr td.active:hover,
body.theme-dark-glass .bootstrap-datetimepicker-widget table td.active,
body.theme-dark-glass .bootstrap-datetimepicker-widget table td.active:hover {
  background: var(--dg-accent) !important;
  color: #fff !important;
  box-shadow: 0 0 10px var(--dg-accent-glow) !important;
}

body.theme-dark-glass .datepicker table tr td.today,
body.theme-dark-glass .datepicker table tr td.today:hover {
  background: var(--dg-accent-glass) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .datepicker table tr td.disabled,
body.theme-dark-glass .datepicker table tr td.disabled:hover {
  color: var(--dg-text-dim) !important;
}

/* ============================================================
   FASE 19 — LINKS GERAIS
   ============================================================ */

body.theme-dark-glass a {
  color: var(--dg-accent) !important;
}

body.theme-dark-glass a:hover {
  color: var(--dg-info) !important;
}

body.theme-dark-glass a.btn-success,
body.theme-dark-glass a.btn-danger,
body.theme-dark-glass a.btn-warning,
body.theme-dark-glass a.btn-info {
  color: #fff !important;
}

/* ============================================================
   FASE 20 — SCROLLTOP
   ============================================================ */

body.theme-dark-glass .scrolltop {
  background: var(--dg-accent-glass) !important;
  border: 1px solid var(--dg-accent) !important;
  color: var(--dg-accent) !important;
  border-radius: 50% !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  box-shadow: 0 0 16px var(--dg-accent-glow) !important;
}

body.theme-dark-glass .scrolltop:hover {
  background: rgba(88, 166, 255, 0.28) !important;
}

/* ============================================================
   FASE 21 — PROTEÇÃO: IMPRESSÃO E PDF
   ============================================================ */

@media print {
  body.theme-dark-glass,
  body.theme-dark-glass * {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: #000 !important;
    border-color: #ccc !important;
    box-shadow: none !important;
  }
}

/* ============================================================
   FASE 22 — PROTEÇÃO: ACESSIBILIDADE E MOBILE
   ============================================================ */

@media (prefers-reduced-transparency: reduce) {
  body.theme-dark-glass .main-sidebar,
  body.theme-dark-glass .main-header .navbar,
  body.theme-dark-glass .main-header .logo,
  body.theme-dark-glass .box,
  body.theme-dark-glass .modal-content,
  body.theme-dark-glass .swal-modal,
  body.theme-dark-glass .swal2-popup {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(14, 20, 35, 0.97) !important;
  }
}

@media (max-width: 768px) {
  body.theme-dark-glass .main-sidebar,
  body.theme-dark-glass .main-header .navbar,
  body.theme-dark-glass .main-header .logo,
  body.theme-dark-glass .box,
  body.theme-dark-glass .modal-content {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(10, 14, 24, 0.96) !important;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.theme-dark-glass .main-sidebar,
  body.theme-dark-glass .main-header .navbar,
  body.theme-dark-glass .main-header .logo,
  body.theme-dark-glass .box,
  body.theme-dark-glass .modal-content,
  body.theme-dark-glass .swal-modal,
  body.theme-dark-glass .swal2-popup,
  body.theme-dark-glass .dropdown-menu,
  body.theme-dark-glass .select2-dropdown {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(14, 20, 35, 0.97) !important;
  }
}

/* ============================================================
   FASE 23 — PANELS (Bootstrap 3)
   Usados em: settings_cardapio, collapse sections
   ============================================================ */

body.theme-dark-glass .panel {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .panel-default {
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .panel-primary { border-color: var(--dg-accent)   !important; }
body.theme-dark-glass .panel-success { border-color: var(--dg-success)  !important; }
body.theme-dark-glass .panel-danger  { border-color: var(--dg-danger)   !important; }
body.theme-dark-glass .panel-warning { border-color: var(--dg-warning)  !important; }
body.theme-dark-glass .panel-info    { border-color: var(--dg-info)     !important; }

body.theme-dark-glass .panel-heading {
  background: rgba(255, 255, 255, 0.05) !important;
  border-bottom: 1px solid var(--dg-border) !important;
  border-radius: var(--dg-radius) var(--dg-radius) 0 0 !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .panel-primary > .panel-heading { background: var(--dg-accent-glass) !important; color: var(--dg-accent) !important; }
body.theme-dark-glass .panel-success > .panel-heading { background: rgba(63, 185, 80, 0.12) !important; color: var(--dg-success) !important; }
body.theme-dark-glass .panel-danger  > .panel-heading { background: rgba(248, 81, 73, 0.12) !important; color: var(--dg-danger) !important; }
body.theme-dark-glass .panel-warning > .panel-heading { background: rgba(210, 153, 34, 0.12) !important; color: var(--dg-warning) !important; }

body.theme-dark-glass .panel-heading a,
body.theme-dark-glass .panel-title a,
body.theme-dark-glass .panel-title {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .panel-heading a:hover {
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .panel-body {
  background: transparent !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .panel-footer {
  background: rgba(255, 255, 255, 0.03) !important;
  border-top: 1px solid var(--dg-border) !important;
  color: var(--dg-text-muted) !important;
  border-radius: 0 0 var(--dg-radius) var(--dg-radius) !important;
}

body.theme-dark-glass .panel-group .panel {
  border-radius: var(--dg-radius) !important;
}

body.theme-dark-glass .panel-collapse {
  background: transparent !important;
}

/* ============================================================
   FASE 24 — LIST GROUPS
   Usados em: settings (menu lateral de abas), listas gerais
   ============================================================ */

body.theme-dark-glass .list-group {
  border-radius: var(--dg-radius) !important;
}

body.theme-dark-glass .list-group-item {
  background: rgba(255, 255, 255, 0.05) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-color: var(--dg-border) !important;
  color: var(--dg-text-muted) !important;
  transition: all 0.18s ease !important;
}

body.theme-dark-glass .list-group-item:first-child {
  border-radius: var(--dg-radius) var(--dg-radius) 0 0 !important;
}

body.theme-dark-glass .list-group-item:last-child {
  border-radius: 0 0 var(--dg-radius) var(--dg-radius) !important;
}

body.theme-dark-glass a.list-group-item,
body.theme-dark-glass button.list-group-item {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass a.list-group-item:hover,
body.theme-dark-glass button.list-group-item:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .list-group-item.active,
body.theme-dark-glass .list-group-item.active:hover,
body.theme-dark-glass .list-group-item.active:focus {
  background: var(--dg-accent-glass) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
  box-shadow: 0 0 14px var(--dg-accent-glow),
              var(--dg-inset-top) !important;
}

body.theme-dark-glass .list-group-item.disabled,
body.theme-dark-glass .list-group-item.disabled:hover {
  background: rgba(255, 255, 255, 0.02) !important;
  color: var(--dg-text-dim) !important;
}

/* ============================================================
   FASE 25 — BADGES E LABELS
   Usados em: status de produtos, faturas, tabelas
   ============================================================ */

body.theme-dark-glass .badge {
  background: var(--dg-accent-glass) !important;
  color: var(--dg-accent) !important;
  border: 1px solid rgba(88, 166, 255, 0.28) !important;
  border-radius: 10px !important;
}

body.theme-dark-glass .badge.bg-red,
body.theme-dark-glass .badge.bg-danger    { background: rgba(248, 81, 73,  0.20) !important; color: #f87171 !important; border-color: rgba(248, 81, 73,  0.35) !important; }
body.theme-dark-glass .badge.bg-green,
body.theme-dark-glass .badge.bg-success   { background: rgba(63, 185, 80,  0.20) !important; color: #4ade80 !important; border-color: rgba(63, 185, 80,  0.35) !important; }
body.theme-dark-glass .badge.bg-yellow,
body.theme-dark-glass .badge.bg-warning   { background: rgba(210, 153, 34, 0.20) !important; color: #fbbf24 !important; border-color: rgba(210, 153, 34, 0.35) !important; }
body.theme-dark-glass .badge.bg-blue,
body.theme-dark-glass .badge.bg-info      { background: rgba(88, 166, 255, 0.20) !important; color: #93c5fd !important; border-color: rgba(88, 166, 255, 0.35) !important; }
body.theme-dark-glass .badge.bg-purple    { background: rgba(168, 85, 247, 0.20) !important; color: #c084fc !important; border-color: rgba(168, 85, 247, 0.35) !important; }
body.theme-dark-glass .badge.bg-gray,
body.theme-dark-glass .badge.bg-default   { background: rgba(255,255,255, 0.08) !important; color: var(--dg-text-muted) !important; border-color: var(--dg-border) !important; }

body.theme-dark-glass .label {
  border-radius: 5px !important;
}

body.theme-dark-glass .label-default { background: rgba(255,255,255,0.10) !important; color: var(--dg-text-muted) !important; }
body.theme-dark-glass .label-primary { background: var(--dg-accent-glass) !important; color: var(--dg-accent) !important; }
body.theme-dark-glass .label-success { background: rgba(63, 185, 80, 0.18) !important; color: #4ade80 !important; }
body.theme-dark-glass .label-danger  { background: rgba(248, 81, 73, 0.18) !important; color: #f87171 !important; }
body.theme-dark-glass .label-warning { background: rgba(210,153, 34, 0.18) !important; color: #fbbf24 !important; }
body.theme-dark-glass .label-info    { background: rgba(121,192,255, 0.18) !important; color: #93c5fd !important; }

body.theme-dark-glass .label.bg-gray    { background: rgba(255,255,255,0.10) !important; color: var(--dg-text-muted) !important; }
body.theme-dark-glass .label.bg-red     { background: rgba(248, 81, 73, 0.18) !important; color: #f87171 !important; }
body.theme-dark-glass .label.bg-green   { background: rgba(63, 185, 80, 0.18) !important; color: #4ade80 !important; }
body.theme-dark-glass .label.bg-yellow  { background: rgba(210,153, 34, 0.18) !important; color: #fbbf24 !important; }
body.theme-dark-glass .label.bg-blue    { background: rgba(88, 166,255, 0.18) !important; color: #93c5fd !important; }

/* ============================================================
   FASE 26 — PROGRESS BARS
   ============================================================ */

body.theme-dark-glass .progress {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  box-shadow: var(--dg-inset-top) !important;
  height: 10px;
}

body.theme-dark-glass .progress-bar {
  background: linear-gradient(90deg, var(--dg-accent), rgba(88, 166, 255, 0.65)) !important;
  box-shadow: 0 0 10px var(--dg-accent-glow) !important;
  border-radius: 20px !important;
}

body.theme-dark-glass .progress-bar-success { background: linear-gradient(90deg, var(--dg-success), rgba(63, 185, 80,  0.60)) !important; box-shadow: 0 0 10px rgba(63,185,80,0.30) !important; }
body.theme-dark-glass .progress-bar-danger  { background: linear-gradient(90deg, var(--dg-danger),  rgba(248, 81, 73,  0.60)) !important; box-shadow: 0 0 10px rgba(248,81,73,0.30) !important; }
body.theme-dark-glass .progress-bar-warning { background: linear-gradient(90deg, var(--dg-warning), rgba(210, 153, 34, 0.60)) !important; box-shadow: 0 0 10px rgba(210,153,34,0.30) !important; }
body.theme-dark-glass .progress-bar-info    { background: linear-gradient(90deg, var(--dg-info),    rgba(121, 192, 255, 0.60)) !important; box-shadow: 0 0 10px rgba(121,192,255,0.30) !important; }

/* ============================================================
   FASE 27 — ADMINLTE COLOR CLASSES
   Usados em: info-box, small-box, tr, badges coloridos
   ============================================================ */

body.theme-dark-glass .bg-white  { background: rgba(255,255,255,0.07) !important; color: var(--dg-text) !important; }
body.theme-dark-glass .bg-light  { background: rgba(255,255,255,0.05) !important; color: var(--dg-text) !important; }
body.theme-dark-glass .bg-gray   { background: rgba(255,255,255,0.04) !important; color: var(--dg-text-muted) !important; }
body.theme-dark-glass .bg-black  { background: rgba(0,0,0,0.40) !important; color: var(--dg-text) !important; }

body.theme-dark-glass .bg-red,
body.theme-dark-glass .bg-maroon  { background: rgba(248, 81, 73,  0.22) !important; }
body.theme-dark-glass .bg-green   { background: rgba(63, 185, 80,  0.22) !important; }
body.theme-dark-glass .bg-yellow  { background: rgba(210, 153, 34, 0.22) !important; }
body.theme-dark-glass .bg-blue    { background: rgba(88, 166, 255, 0.22) !important; }
body.theme-dark-glass .bg-purple  { background: rgba(168, 85, 247, 0.22) !important; }
body.theme-dark-glass .bg-teal    { background: rgba(20, 184, 166, 0.22) !important; }
body.theme-dark-glass .bg-navy    { background: rgba(0,  31,  63,  0.55) !important; }
body.theme-dark-glass .bg-olive   { background: rgba(60, 89,  0,   0.40) !important; }

/* tr/td com bg colorido */
body.theme-dark-glass tr.bg-red td,
body.theme-dark-glass tr.bg-green td,
body.theme-dark-glass tr.bg-yellow td,
body.theme-dark-glass tr.bg-blue td,
body.theme-dark-glass tr.bg-gray td,
body.theme-dark-glass tr.bg-white td {
  color: var(--dg-text) !important;
}

/* Texto colorido utilitário */
body.theme-dark-glass .text-red    { color: var(--dg-danger)  !important; }
body.theme-dark-glass .text-green  { color: var(--dg-success) !important; }
body.theme-dark-glass .text-yellow { color: var(--dg-warning) !important; }
body.theme-dark-glass .text-blue   { color: var(--dg-accent)  !important; }
body.theme-dark-glass .text-purple { color: #c084fc           !important; }
body.theme-dark-glass .text-teal   { color: #2dd4bf           !important; }
body.theme-dark-glass .text-white  { color: var(--dg-text)    !important; }
body.theme-dark-glass .text-muted  { color: var(--dg-text-muted) !important; }
body.theme-dark-glass .text-black  { color: var(--dg-text)    !important; }

/* ============================================================
   FASE 28 — THUMBNAILS E IMAGENS
   Usados em: galeria de produtos, perfil de usuário
   ============================================================ */

body.theme-dark-glass .thumbnail,
body.theme-dark-glass .img-thumbnail {
  background: rgba(255, 255, 255, 0.05) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-color: var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .thumbnail .caption {
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 29 — NAV-TABS-CUSTOM, POS-TABS, PAGE-HEADER
   ============================================================ */

/* AdminLTE nav-tabs-custom (box com tabs no topo) */
body.theme-dark-glass .nav-tabs-custom {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .nav-tabs-custom > .nav-tabs {
  border-bottom: 1px solid var(--dg-border) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: var(--dg-radius) var(--dg-radius) 0 0 !important;
}

body.theme-dark-glass .nav-tabs-custom > .nav-tabs > li > a {
  color: var(--dg-text-muted) !important;
  border-radius: var(--dg-radius-sm) var(--dg-radius-sm) 0 0 !important;
  background: transparent !important;
}

body.theme-dark-glass .nav-tabs-custom > .nav-tabs > li > a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .nav-tabs-custom > .nav-tabs > li.active > a,
body.theme-dark-glass .nav-tabs-custom > .nav-tabs > li.active > a:hover {
  background: var(--dg-glass-white) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border) var(--dg-border) transparent !important;
  border-top: 2px solid var(--dg-accent) !important;
  box-shadow: var(--dg-inset-top) !important;
}

body.theme-dark-glass .nav-tabs-custom > .nav-tabs > li.header {
  color: var(--dg-text-muted) !important;
  font-size: 14px;
  padding: 8px 15px;
}

body.theme-dark-glass .nav-tabs-custom > .tab-content {
  background: transparent !important;
  color: var(--dg-text) !important;
  padding: 10px;
}

/* Page header */
body.theme-dark-glass .page-header {
  border-bottom: 1px solid var(--dg-border) !important;
  color: var(--dg-text) !important;
}

/* Settings custom tab system (.pos-tab-container) */
body.theme-dark-glass .pos-tab-content {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .pos-tab-menu {
  padding-right: 8px !important;
}

/* ============================================================
   FASE 30 — SIDEBAR APRIMORADA
   Gradiente, arrows, user-panel e sub-itens com glow
   ============================================================ */

/* Gradiente sutil de profundidade no sidebar */
body.theme-dark-glass .main-sidebar {
  background: linear-gradient(
    180deg,
    rgba(8, 12, 22, 0.82) 0%,
    rgba(10, 15, 28, 0.75) 40%,
    rgba(8, 12, 22, 0.82) 100%
  ) !important;
}

/* Arrow do treeview */
body.theme-dark-glass .sidebar-menu li .pull-right-container {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

body.theme-dark-glass .sidebar-menu li .pull-right-container > .fa-angle-left,
body.theme-dark-glass .sidebar-menu li .pull-right-container > .fa-angle-down {
  color: var(--dg-text-dim) !important;
  transition: transform 0.25s ease, color 0.18s ease !important;
}

body.theme-dark-glass .sidebar-menu li.menu-open > a .pull-right-container > .fa-angle-left {
  transform: rotate(-90deg) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .sidebar-menu li.active > a .pull-right-container > .fa-angle-left {
  color: var(--dg-accent) !important;
}

/* Submenu com indentação glass */
body.theme-dark-glass .sidebar-menu > li > .treeview-menu {
  background: rgba(0, 0, 0, 0.20) !important;
  border-left: 2px solid var(--dg-border) !important;
  margin-left: 16px !important;
  border-radius: 0 0 var(--dg-radius-sm) var(--dg-radius-sm) !important;
}

body.theme-dark-glass .sidebar-menu > li.active > .treeview-menu {
  border-left-color: var(--dg-accent-glow) !important;
}

body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li > a {
  padding-left: 14px !important;
  font-size: 13px;
}

body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li > a:hover,
body.theme-dark-glass .sidebar-menu > li > .treeview-menu > li.active > a {
  color: var(--dg-accent) !important;
  background: var(--dg-accent-glass) !important;
  border-radius: var(--dg-radius-sm) !important;
  padding-left: 18px !important;
}

/* Badge de contagem no menu */
body.theme-dark-glass .sidebar-menu li > a > .badge {
  float: right;
  margin-top: 2px;
}

/* User panel aprimorado */
body.theme-dark-glass .sidebar .user-panel {
  background: rgba(255, 255, 255, 0.04) !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--dg-border) !important;
}

body.theme-dark-glass .sidebar .user-panel .image img {
  border: 2px solid var(--dg-border-2) !important;
  box-shadow: 0 0 0 3px var(--dg-accent-glow) !important;
}

/* Linha divisória de seções do menu */
body.theme-dark-glass .sidebar-menu li.header {
  background: transparent !important;
  color: var(--dg-text-dim) !important;
  border-top: 1px solid var(--dg-border) !important;
  margin-top: 4px !important;
  padding-top: 12px !important;
}

body.theme-dark-glass .sidebar-menu li.header:first-child {
  border-top: none !important;
}

/* Glow no item ativo do menu */
body.theme-dark-glass .sidebar-menu > li.active > a {
  background: rgba(88, 166, 255, 0.09) !important;
  border-left-color: var(--dg-accent) !important;
  box-shadow: inset 0 0 20px rgba(88, 166, 255, 0.06) !important;
}

/* ============================================================
   FASE 31 — BOTÕES COLORIDOS GLASS
   Todos os btn-* com estilo glass consistente
   ============================================================ */

body.theme-dark-glass .btn-success {
  background: rgba(63, 185, 80, 0.18) !important;
  border-color: var(--dg-success) !important;
  color: var(--dg-success) !important;
  box-shadow: 0 0 10px rgba(63,185,80,0.15), var(--dg-inset-top) !important;
}
body.theme-dark-glass .btn-success:hover,
body.theme-dark-glass .btn-success:focus {
  background: rgba(63, 185, 80, 0.28) !important;
  box-shadow: 0 0 16px rgba(63,185,80,0.25), var(--dg-inset-top) !important;
  color: var(--dg-success) !important;
}

body.theme-dark-glass .btn-danger {
  background: rgba(248, 81, 73, 0.18) !important;
  border-color: var(--dg-danger) !important;
  color: var(--dg-danger) !important;
  box-shadow: 0 0 10px rgba(248,81,73,0.15), var(--dg-inset-top) !important;
}
body.theme-dark-glass .btn-danger:hover,
body.theme-dark-glass .btn-danger:focus {
  background: rgba(248, 81, 73, 0.28) !important;
  box-shadow: 0 0 16px rgba(248,81,73,0.25), var(--dg-inset-top) !important;
  color: var(--dg-danger) !important;
}

body.theme-dark-glass .btn-warning {
  background: rgba(210, 153, 34, 0.18) !important;
  border-color: var(--dg-warning) !important;
  color: var(--dg-warning) !important;
  box-shadow: 0 0 10px rgba(210,153,34,0.15), var(--dg-inset-top) !important;
}
body.theme-dark-glass .btn-warning:hover,
body.theme-dark-glass .btn-warning:focus {
  background: rgba(210, 153, 34, 0.28) !important;
  box-shadow: 0 0 16px rgba(210,153,34,0.25), var(--dg-inset-top) !important;
  color: var(--dg-warning) !important;
}

body.theme-dark-glass .btn-info {
  background: rgba(121, 192, 255, 0.15) !important;
  border-color: var(--dg-info) !important;
  color: var(--dg-info) !important;
  box-shadow: 0 0 10px rgba(121,192,255,0.12), var(--dg-inset-top) !important;
}
body.theme-dark-glass .btn-info:hover,
body.theme-dark-glass .btn-info:focus {
  background: rgba(121, 192, 255, 0.24) !important;
  box-shadow: 0 0 16px rgba(121,192,255,0.22), var(--dg-inset-top) !important;
  color: var(--dg-info) !important;
}

/* Links dentro de botões coloridos */
body.theme-dark-glass a.btn-success { color: var(--dg-success) !important; }
body.theme-dark-glass a.btn-danger  { color: var(--dg-danger)  !important; }
body.theme-dark-glass a.btn-warning { color: var(--dg-warning) !important; }
body.theme-dark-glass a.btn-info    { color: var(--dg-info)    !important; }

/* Botão flat/ghost genérico */
body.theme-dark-glass .btn {
  transition: all 0.18s ease !important;
}

/* Grupos de botões */
body.theme-dark-glass .btn-group > .btn + .btn,
body.theme-dark-glass .btn-group > .btn + .btn-group,
body.theme-dark-glass .btn-group > .btn-group + .btn {
  border-left-color: rgba(255,255,255,0.12) !important;
}

/* ============================================================
   FASE 32 — TIPOGRAFIA E ELEMENTOS GERAIS
   ============================================================ */

body.theme-dark-glass h1,
body.theme-dark-glass h2,
body.theme-dark-glass h3,
body.theme-dark-glass h4,
body.theme-dark-glass h5,
body.theme-dark-glass h6 {
  color: var(--dg-text) !important;
}

body.theme-dark-glass p,
body.theme-dark-glass li {
  color: var(--dg-text-muted);
}

body.theme-dark-glass .text-muted {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass hr {
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass pre,
body.theme-dark-glass code {
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  color: var(--dg-accent) !important;
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
}

body.theme-dark-glass blockquote {
  border-left-color: var(--dg-accent) !important;
  color: var(--dg-text-muted) !important;
}

/* Tabela dentro de modal ou panel — força cor */
body.theme-dark-glass .modal-body .table td,
body.theme-dark-glass .modal-body .table th,
body.theme-dark-glass .panel-body .table td,
body.theme-dark-glass .panel-body .table th {
  color: var(--dg-text) !important;
  border-color: var(--dg-border) !important;
}

/* Spinner de carregamento */
body.theme-dark-glass .fa-spin,
body.theme-dark-glass .spinner {
  color: var(--dg-accent) !important;
}

/* Separador de seção */
body.theme-dark-glass .section-header,
body.theme-dark-glass .form-section-title {
  color: var(--dg-text-muted) !important;
  border-bottom: 1px solid var(--dg-border) !important;
  padding-bottom: 6px !important;
  margin-bottom: 16px !important;
}

/* Overlay de carregamento de tabelas */
body.theme-dark-glass .dataTables_processing {
  background: rgba(8, 12, 22, 0.88) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  color: var(--dg-text) !important;
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius-sm) !important;
}

/* Input de arquivo */
body.theme-dark-glass input[type="file"] {
  color: var(--dg-text-muted) !important;
}

/* Switches / toggle (Bootstrap) */
body.theme-dark-glass .bootstrap-switch .bootstrap-switch-handle-off,
body.theme-dark-glass .bootstrap-switch .bootstrap-switch-handle-on {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .bootstrap-switch .bootstrap-switch-container {
  background: rgba(255,255,255,0.06) !important;
  border-color: var(--dg-border-2) !important;
}

/* iCheck customizados */
body.theme-dark-glass .icheckbox_square-blue,
body.theme-dark-glass .iradio_square-blue {
  border-color: var(--dg-border-2) !important;
  background-color: rgba(255,255,255,0.06) !important;
}

/* ============================================================
   FASE 33 — FIX SIDEBAR (extend_menu.css usa !important em @media desktop)
   Todos os seletores precisam de body.theme-dark-glass para vencer
   ============================================================ */

@media (min-width: 992px) {

  /* Fundo branco do sidebar: extend_menu.css linha 6-10 */
  body.theme-dark-glass .sidebar,
  body.theme-dark-glass .main-sidebar,
  body.theme-dark-glass section.sidebar {
    background: linear-gradient(
      180deg,
      rgba(8, 12, 22, 0.82) 0%,
      rgba(10, 15, 28, 0.75) 40%,
      rgba(8, 12, 22, 0.82) 100%
    ) !important;
    color: var(--dg-text) !important;
  }

  /* Itens do menu transparentes */
  body.theme-dark-glass .sidebar-menu,
  body.theme-dark-glass .sidebar-menu > li,
  body.theme-dark-glass .sidebar-menu li a {
    background: transparent !important;
  }

  /* Logo no topo do sidebar: extend_menu.css linha 26-39 */
  body.theme-dark-glass .sidebar .logo {
    background: var(--dg-accent-glass) !important;
    color: var(--dg-text) !important;
    border-bottom: 1px solid var(--dg-border) !important;
  }

  /* Itens de menu: cor de texto e hover */
  body.theme-dark-glass .sidebar-menu > li > a {
    color: var(--dg-text-muted) !important;
    border-left: 3px solid transparent !important;
  }

  body.theme-dark-glass .sidebar-menu > li > a i {
    color: var(--dg-text-dim) !important;
    opacity: 1 !important;
  }

  /* Hover e item ativo: extend_menu.css linha 63-71 */
  body.theme-dark-glass .sidebar-menu > li > a:hover,
  body.theme-dark-glass .sidebar-menu > li.active > a {
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--dg-text) !important;
    border-left-color: var(--dg-accent) !important;
    box-shadow: inset 0 0 20px rgba(88, 166, 255, 0.05) !important;
  }

  body.theme-dark-glass .sidebar-menu > li > a:hover i,
  body.theme-dark-glass .sidebar-menu > li.active > a i {
    color: var(--dg-accent) !important;
  }

  /* Submenu container: extend_menu.css linha 145-151 — background #fff !important */
  body.theme-dark-glass .sidebar-menu .treeview-menu,
  body.theme-dark-glass .sidebar-menu .treeview-menu li {
    background: rgba(0, 0, 0, 0.18) !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* Links do submenu: extend_menu.css linha 153-158 — color #111 !important */
  body.theme-dark-glass .sidebar-menu .treeview-menu li a {
    background: transparent !important;
    color: var(--dg-text-muted) !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
  }

  /* Hover do submenu: extend_menu.css linha 161-164 */
  body.theme-dark-glass .sidebar-menu .treeview-menu li a:hover {
    background: var(--dg-accent-glass) !important;
    color: var(--dg-accent) !important;
  }

  /* Seta do treeview: extend_menu.css linha 98-105 */
  body.theme-dark-glass .sidebar-menu .fa-angle-left {
    color: var(--dg-text-dim) !important;
    transition: transform 0.3s, color 0.2s !important;
  }

  body.theme-dark-glass .treeview.menu-open > a .fa-angle-left {
    transform: rotate(-90deg) !important;
    color: var(--dg-accent) !important;
  }

  /* Primeiro item (Superadmin): extend_menu.css linha 127-141 — background #2563eb !important */
  body.theme-dark-glass .sidebar-menu > li.treeview:first-child {
    background: transparent !important;
    box-shadow: none !important;
  }

  body.theme-dark-glass .sidebar-menu > li.treeview:first-child > a {
    background: var(--dg-accent-glass) !important;
    color: var(--dg-accent) !important;
    border-left: 3px solid var(--dg-accent) !important;
    box-shadow: 0 0 14px var(--dg-accent-glow) !important;
  }

  body.theme-dark-glass .sidebar-menu > li.treeview:first-child > a i,
  body.theme-dark-glass .sidebar-menu > li.treeview:first-child > a .fa-angle-left {
    color: var(--dg-accent) !important;
  }

  body.theme-dark-glass .sidebar-menu > li.treeview:first-child > a:hover {
    background: rgba(88, 166, 255, 0.20) !important;
    color: var(--dg-text) !important;
  }

  /* Scrollbar do sidebar no dark mode */
  body.theme-dark-glass .sidebar {
    scrollbar-color: var(--dg-border-2) transparent !important;
  }

  body.theme-dark-glass .sidebar::-webkit-scrollbar-thumb {
    background-color: var(--dg-border-2) !important;
  }

  body.theme-dark-glass .sidebar::-webkit-scrollbar-track {
    background: transparent !important;
  }

  /* Modo colapsado: logo fica com glass */
  body.theme-dark-glass.sidebar-collapse .main-header .logo,
  body.sidebar-collapse body.theme-dark-glass .main-header .logo {
    background: var(--dg-accent-glass) !important;
  }

}

/* ============================================================
   FASE 34 — FIX POS-TAB-CONTAINER (alta especificidade)
   app.css usa div.class + !important — precisamos bater os dois
   ============================================================ */

/* Container principal: app.css linha 413 — background #fff sem !important */
body.theme-dark-glass div.pos-tab-container {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

/* Conteúdo de cada aba: app.css linha 468 — background #fff */
body.theme-dark-glass div.pos-tab-content {
  background: transparent !important;
  color: var(--dg-text) !important;
}

/* Itens do menu lateral de abas */
body.theme-dark-glass div.pos-tab-menu div.list-group > a {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: var(--dg-border) !important;
  color: var(--dg-text-muted) !important;
  transition: all 0.18s ease !important;
}

body.theme-dark-glass div.pos-tab-menu div.list-group > a .glyphicon,
body.theme-dark-glass div.pos-tab-menu div.list-group > a .fa {
  color: var(--dg-text-dim) !important;
}

body.theme-dark-glass div.pos-tab-menu div.list-group > a:hover {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--dg-text) !important;
}

/* Item ativo: app.css linha 1025 usa background-color: #1b82ec !important
   Precisamos de !important + especificidade maior para vencer */
body.theme-dark-glass div.pos-tab-menu div.list-group > a.active,
body.theme-dark-glass div.pos-tab-menu div.list-group > a.active .glyphicon,
body.theme-dark-glass div.pos-tab-menu div.list-group > a.active .fa {
  background-color: var(--dg-accent-glass) !important;
  background: var(--dg-accent-glass) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
  box-shadow: 0 0 14px var(--dg-accent-glow) !important;
}

/* Seta indicadora do item ativo (::after):
   app.css linha 1029 — border-left: 10px solid #1b82ec (sem !important) */
body.theme-dark-glass div.pos-tab-menu div.list-group > a.active:after {
  border-left-color: var(--dg-accent) !important;
}

/* ============================================================
   FASE 35 — FIX INPUTS / LABELS / SELECT2
   extend_app.css usa !important com background #fff e color #111
   ============================================================ */

body.theme-dark-glass input[type="text"],
body.theme-dark-glass input[type="email"],
body.theme-dark-glass input[type="password"],
body.theme-dark-glass input[type="number"],
body.theme-dark-glass input[type="search"],
body.theme-dark-glass input[type="tel"],
body.theme-dark-glass input[type="url"],
body.theme-dark-glass input[type="date"],
body.theme-dark-glass input[type="time"],
body.theme-dark-glass input[type="datetime-local"],
body.theme-dark-glass select,
body.theme-dark-glass textarea,
body.theme-dark-glass .form-control {
  background: rgba(255, 255, 255, 0.06) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border-2) !important;
}

/* Opções de select nativo — fundo sólido obrigatório (browser renderiza nativamente) */
body.theme-dark-glass select option {
  background-color: #0e1420 !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass select optgroup {
  background-color: #0e1420 !important;
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass select option:checked,
body.theme-dark-glass select option:hover {
  background-color: #1a2540 !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass input[type="text"]:focus,
body.theme-dark-glass input[type="email"]:focus,
body.theme-dark-glass input[type="password"]:focus,
body.theme-dark-glass input[type="number"]:focus,
body.theme-dark-glass input[type="search"]:focus,
body.theme-dark-glass input[type="tel"]:focus,
body.theme-dark-glass input[type="url"]:focus,
body.theme-dark-glass input[type="date"]:focus,
body.theme-dark-glass input[type="time"]:focus,
body.theme-dark-glass input[type="datetime-local"]:focus,
body.theme-dark-glass select:focus,
body.theme-dark-glass textarea:focus,
body.theme-dark-glass .form-control:focus {
  background: rgba(255, 255, 255, 0.10) !important;
  background-color: rgba(255, 255, 255, 0.10) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-text) !important;
  box-shadow: 0 0 0 3px var(--dg-accent-glow) !important;
  outline: none !important;
}

body.theme-dark-glass input::placeholder,
body.theme-dark-glass textarea::placeholder {
  color: var(--dg-text-dim) !important;
  opacity: 1 !important;
}

body.theme-dark-glass label {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .input-group-addon {
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--dg-text-muted) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .form-control[disabled],
body.theme-dark-glass .form-control[readonly],
body.theme-dark-glass input[disabled],
body.theme-dark-glass select[disabled],
body.theme-dark-glass textarea[disabled] {
  background: rgba(255, 255, 255, 0.02) !important;
  background-color: rgba(255, 255, 255, 0.02) !important;
  color: var(--dg-text-dim) !important;
  cursor: not-allowed !important;
}

/* Select2 — single */
body.theme-dark-glass .select2-container .select2-selection--single,
body.theme-dark-glass .select2-container--default .select2-selection--single {
  background: rgba(255, 255, 255, 0.06) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: var(--dg-text-muted) !important;
}

/* Select2 — multiple */
body.theme-dark-glass .select2-container--default .select2-selection--multiple,
body.theme-dark-glass .select2-selection--multiple {
  background: rgba(255, 255, 255, 0.06) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .select2-selection--multiple .select2-selection__choice {
  background: var(--dg-accent-glass) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-selection--multiple .select2-search__field {
  color: var(--dg-text) !important;
  background: transparent !important;
}

/* Select2 — dropdown */
body.theme-dark-glass .select2-dropdown {
  background: rgba(8, 12, 22, 0.92) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-results__option {
  color: var(--dg-text-muted) !important;
  background: transparent !important;
}

body.theme-dark-glass .select2-results__option--highlighted,
body.theme-dark-glass .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--dg-accent-glass) !important;
  color: var(--dg-accent) !important;
}

body.theme-dark-glass .select2-results__option[aria-selected="true"] {
  background: rgba(88, 166, 255, 0.10) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .select2-search--dropdown .select2-search__field {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 36 — GRÁFICOS (Chart.js / ConsoleTV Charts)
   ============================================================ */

body.theme-dark-glass canvas {
  background: #363636 !important;
  border-radius: var(--dg-radius-sm) !important;
}

body.theme-dark-glass .chart-legend li span,
body.theme-dark-glass .chart-legend li {
  color: var(--dg-text-muted) !important;
}

/* ============================================================
   FASE 37 — HIGHCHARTS DARK THEME
   Highcharts renderiza SVG — CSS sobrescreve atributos fill/color
   ============================================================ */

/* Fundo do plot area (rect branco dentro do gráfico) */
body.theme-dark-glass .highcharts-plot-background {
  fill: rgba(255, 255, 255, 0.04) !important;
}

/* Fundo externo do chart */
body.theme-dark-glass .highcharts-background {
  fill: #363636 !important;
}

/* Labels dos eixos */
body.theme-dark-glass .highcharts-axis-labels text,
body.theme-dark-glass .highcharts-xaxis-labels text,
body.theme-dark-glass .highcharts-yaxis-labels text {
  fill: var(--dg-text-muted) !important;
  color: var(--dg-text-muted) !important;
}

/* Título dos eixos */
body.theme-dark-glass .highcharts-axis-title {
  fill: var(--dg-text-muted) !important;
  color: var(--dg-text-muted) !important;
}

/* Título e subtítulo do chart */
body.theme-dark-glass .highcharts-title,
body.theme-dark-glass .highcharts-subtitle {
  fill: var(--dg-text) !important;
  color: var(--dg-text) !important;
}

/* Linhas de grade */
body.theme-dark-glass .highcharts-grid-line {
  stroke: rgba(255, 255, 255, 0.08) !important;
}

/* Linhas dos eixos */
body.theme-dark-glass .highcharts-axis-line {
  stroke: var(--dg-border) !important;
}

/* Legenda */
body.theme-dark-glass .highcharts-legend-item text {
  fill: var(--dg-text-muted) !important;
  color: var(--dg-text-muted) !important;
}

/* Tooltip */
body.theme-dark-glass .highcharts-tooltip-box {
  fill: rgba(8, 12, 22, 0.92) !important;
  stroke: var(--dg-border-2) !important;
}

body.theme-dark-glass .highcharts-tooltip text,
body.theme-dark-glass .highcharts-tooltip tspan {
  fill: var(--dg-text) !important;
  color: var(--dg-text) !important;
}

/* Botão de contexto (menu export) */
body.theme-dark-glass .highcharts-button-box {
  fill: rgba(255, 255, 255, 0.08) !important;
  stroke: var(--dg-border) !important;
}

body.theme-dark-glass .highcharts-button-symbol {
  stroke: var(--dg-text-muted) !important;
}

/* Plot border */
body.theme-dark-glass .highcharts-plot-border {
  fill: none !important;
  stroke: var(--dg-border) !important;
}

/* ============================================================
   FASE 38 — PDV (POS) DARK THEME
   Body = .lockscreen.theme-dark-glass em modo PDV
   extend_pdv.css usa seletores sem body class — body.theme-dark-glass vence
   ============================================================ */

/* Body do PDV: override extend_pdv.css body { background-color: #f8fafc !important } */
body.theme-dark-glass.lockscreen {
  background-color: var(--dg-bg) !important;
}

/* Sem sidebar nem wrapper — o conteúdo fica direto no body */
body.theme-dark-glass.lockscreen .content-wrapper {
  margin-left: 0 !important;
  background: transparent !important;
}

/* Header do PDV */
body.theme-dark-glass .pos-header {
  background: rgba(8, 12, 22, 0.82) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border-bottom: 1px solid var(--dg-border) !important;
}

body.theme-dark-glass .pos-header p,
body.theme-dark-glass .pos-header strong,
body.theme-dark-glass .pos-header a {
  color: var(--dg-text) !important;
}

/* Cards de produto: override .product-box { background: #fff !important } */
body.theme-dark-glass .product-box,
body.theme-dark-glass .product_box {
  background: var(--dg-glass-white) !important;
  background-color: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur-sm);
  backdrop-filter: var(--dg-blur-sm);
  border-color: var(--dg-border-2) !important;
  box-shadow: var(--dg-shadow-sm), var(--dg-inset-top) !important;
}

body.theme-dark-glass .product-box:hover,
body.theme-dark-glass .product_box:hover {
  border-color: var(--dg-accent) !important;
  box-shadow: 0 6px 20px var(--dg-accent-glow), var(--dg-inset-top) !important;
  transform: translateY(-3px);
}

body.theme-dark-glass .product-box .product-name,
body.theme-dark-glass .product_box .product-name {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .product-box small,
body.theme-dark-glass .product_box small {
  color: var(--dg-text-muted) !important;
}

/* Área de texto dos cards: override .text_div { background: #f9fafb } */
body.theme-dark-glass .text_div {
  background: rgba(255, 255, 255, 0.04) !important;
  border-top-color: var(--dg-border) !important;
}

body.theme-dark-glass .text_div small,
body.theme-dark-glass .text_div small.text-muted {
  color: var(--dg-text-muted) !important;
}

/* Tabelas do PDV: override extend_pdv.css .table th/td com !important */
body.theme-dark-glass .table > thead > tr > th {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass .table > tbody > tr > td {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--dg-text-muted) !important;
  border-top-color: var(--dg-border) !important;
}

/* Rodapé do PDV: override #pos-bottom-buttons { background: #fff !important } */
body.theme-dark-glass #pos-bottom-buttons {
  background: rgba(8, 12, 22, 0.90) !important;
  background-color: rgba(8, 12, 22, 0.90) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border-top-color: var(--dg-border) !important;
}

/* Total a pagar */
body.theme-dark-glass #pos-final-total {
  color: var(--dg-success) !important;
}

/* Botões coloridos do PDV: extend_pdv.css tem cores sólidas sem body class */
body.theme-dark-glass .btn-success {
  background: rgba(63, 185, 80, 0.18) !important;
  border-color: var(--dg-success) !important;
  color: var(--dg-success) !important;
}

body.theme-dark-glass .btn-danger {
  background: rgba(248, 81, 73, 0.18) !important;
  border-color: var(--dg-danger) !important;
  color: var(--dg-danger) !important;
}

body.theme-dark-glass .btn-warning {
  background: rgba(210, 153, 34, 0.18) !important;
  border-color: var(--dg-warning) !important;
  color: var(--dg-warning) !important;
}

body.theme-dark-glass .btn-primary,
body.theme-dark-glass .btn-info {
  background: rgba(88, 166, 255, 0.18) !important;
  border-color: var(--dg-accent) !important;
  color: var(--dg-accent) !important;
}

/* bg-yellow (vendas suspensas) */
body.theme-dark-glass .btn.bg-yellow {
  background: rgba(210, 153, 34, 0.18) !important;
  border: 1px solid var(--dg-warning) !important;
  color: var(--dg-warning) !important;
}

/* ====== GRUPO DE AÇÕES DO PDV (pos-form-actions) ======
   Container recebe o mesmo glassmorphism do .box
   ====================================================== */

body.theme-dark-glass .pos-form-actions {
  background: var(--dg-glass-white) !important;
  -webkit-backdrop-filter: var(--dg-blur);
  backdrop-filter: var(--dg-blur);
  border: 1px solid var(--dg-border-2) !important;
  border-radius: var(--dg-radius) !important;
  box-shadow:
    var(--dg-shadow-sm),
    var(--dg-inset-top),
    var(--dg-inset-bottom),
    var(--dg-inset-left) !important;
  padding: 12px 15px !important;
  margin-top: 15px !important;
}

/* btn-default genérico vira glass neutro */
body.theme-dark-glass .pos-form-actions .btn-default,
body.theme-dark-glass .pos-form-actions button.btn-default {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--dg-text) !important;
  border: 1px solid var(--dg-border-2) !important;
  box-shadow: var(--dg-inset-top) !important;
}

/* bg-info (rascunho, salvar pedido) */
body.theme-dark-glass .pos-form-actions .bg-info {
  background: rgba(52, 152, 219, 0.18) !important;
  color: #79c0ff !important;
  border: 1px solid rgba(52, 152, 219, 0.45) !important;
}

/* bg-yellow (cotação) */
body.theme-dark-glass .pos-form-actions .bg-yellow {
  background: rgba(241, 196, 15, 0.15) !important;
  color: #f1c40f !important;
  border: 1px solid rgba(241, 196, 15, 0.40) !important;
}

/* bg-red (suspender) */
body.theme-dark-glass .pos-form-actions .bg-red {
  background: rgba(231, 76, 60, 0.18) !important;
  color: #f85149 !important;
  border: 1px solid rgba(231, 76, 60, 0.40) !important;
}

/* bg-navy (multi-pagamento) */
body.theme-dark-glass .pos-form-actions .bg-navy {
  background: rgba(88, 166, 255, 0.12) !important;
  color: var(--dg-accent) !important;
  border: 1px solid rgba(88, 166, 255, 0.35) !important;
}

/* bg-purple (venda a crédito) */
body.theme-dark-glass .pos-form-actions .bg-purple {
  background: rgba(168, 85, 247, 0.15) !important;
  color: #c084fc !important;
  border: 1px solid rgba(168, 85, 247, 0.40) !important;
}

/* btn-success (pagamento) */
body.theme-dark-glass .pos-form-actions .btn-success {
  background: rgba(63, 185, 80, 0.18) !important;
  color: var(--dg-success) !important;
  border: 1px solid rgba(63, 185, 80, 0.45) !important;
}

/* btn-danger (cancelar / deletar) */
body.theme-dark-glass .pos-form-actions .btn-danger {
  background: rgba(248, 81, 73, 0.15) !important;
  color: var(--dg-danger) !important;
  border: 1px solid rgba(248, 81, 73, 0.40) !important;
}

/* btn-primary (transações recentes) */
body.theme-dark-glass .pos-form-actions .btn-primary {
  background: rgba(88, 166, 255, 0.15) !important;
  color: var(--dg-accent) !important;
  border: 1px solid rgba(88, 166, 255, 0.40) !important;
}

/* Hover em todos os botões */
body.theme-dark-glass .pos-form-actions button:hover {
  filter: brightness(1.25) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

/* Total a pagar (#total_payable): background #ecf9f1 → glass verde */
body.theme-dark-glass #total_payable {
  background: rgba(63, 185, 80, 0.12) !important;
  color: var(--dg-success) !important;
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.20) !important;
}

/* Image container dos produtos */
body.theme-dark-glass .image-container {
  border-color: var(--dg-border) !important;
}

/* Header-bar gradiente (override azul sólido) */
body.theme-dark-glass .header-bar {
  background: linear-gradient(90deg, var(--dg-accent-glass), rgba(88, 166, 255, 0.08)) !important;
  border-bottom: 1px solid var(--dg-border) !important;
  color: var(--dg-text) !important;
}

/* ============================================================
   FASE 39 — CAMPOS DE FORMULÁRIO DENTRO DE MODAIS
   Garante fundo escuro em inputs, selects e plugins jQuery
   dentro de qualquer modal Bootstrap no tema dark-glass
   ============================================================ */

/* Todos os inputs e selects nativos dentro de modal */
body.theme-dark-glass .modal-body .form-control,
body.theme-dark-glass .modal-body input[type="text"],
body.theme-dark-glass .modal-body input[type="number"],
body.theme-dark-glass .modal-body input[type="email"],
body.theme-dark-glass .modal-body input[type="password"],
body.theme-dark-glass .modal-body input[type="tel"],
body.theme-dark-glass .modal-body input[type="search"],
body.theme-dark-glass .modal-body input[type="date"],
body.theme-dark-glass .modal-body input[type="datetime-local"],
body.theme-dark-glass .modal-body input[type="time"],
body.theme-dark-glass .modal-body input[type="url"],
body.theme-dark-glass .modal-body textarea,
body.theme-dark-glass .modal-body select {
  background: rgba(255, 255, 255, 0.06) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .modal-body .form-control:focus,
body.theme-dark-glass .modal-body input:focus,
body.theme-dark-glass .modal-body textarea:focus,
body.theme-dark-glass .modal-body select:focus {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: var(--dg-accent) !important;
  box-shadow: 0 0 0 3px var(--dg-accent-glow) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .form-control:disabled,
body.theme-dark-glass .modal-body .form-control[readonly],
body.theme-dark-glass .modal-body input:disabled,
body.theme-dark-glass .modal-body input[readonly] {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--dg-text-muted) !important;
  cursor: not-allowed;
}

body.theme-dark-glass .modal-body .form-control::placeholder,
body.theme-dark-glass .modal-body input::placeholder,
body.theme-dark-glass .modal-body textarea::placeholder {
  color: var(--dg-text-dim) !important;
  opacity: 1;
}

/* Inputs com classes específicas de plugins (masks, money, etc.) */
body.theme-dark-glass .modal-body .payment-amount,
body.theme-dark-glass .modal-body .input_number,
body.theme-dark-glass .modal-body .payment-vencimento,
body.theme-dark-glass .modal-body .cpf_cnpj,
body.theme-dark-glass .modal-body [data-mask],
body.theme-dark-glass .modal-body [data-inputmask] {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--dg-text) !important;
  border-color: var(--dg-border-2) !important;
}

/* Input-group addon dentro de modal */
body.theme-dark-glass .modal-body .input-group-addon {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text-muted) !important;
}

/* Labels dentro de modal */
body.theme-dark-glass .modal-body label,
body.theme-dark-glass .modal-body .control-label {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .help-block {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .modal-body hr {
  border-color: var(--dg-border) !important;
}

/* Select2 dentro de modal */
body.theme-dark-glass .modal-body .select2-container--default .select2-selection--single,
body.theme-dark-glass .modal-body .select2-container--default .select2-selection--multiple {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .modal-body .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--dg-text-dim) !important;
}

/* Datepicker e datetime picker dentro de modal */
body.theme-dark-glass .modal-body .datepicker,
body.theme-dark-glass .modal-body .datepicker-dropdown,
body.theme-dark-glass .modal-body .bootstrap-datetimepicker-widget {
  background: var(--dg-glass-dark-2) !important;
  border: 1px solid var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .datepicker table tr td,
body.theme-dark-glass .modal-body .datepicker table tr th {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .datepicker table tr td.active,
body.theme-dark-glass .modal-body .datepicker table tr td.active:hover {
  background: var(--dg-accent) !important;
  color: #fff !important;
}

body.theme-dark-glass .modal-body .datepicker table tr td:hover,
body.theme-dark-glass .modal-body .datepicker table tr th:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Dropdown menu dentro de modal */
body.theme-dark-glass .modal-body .dropdown-menu {
  background: var(--dg-glass-dark-2) !important;
  border-color: var(--dg-border-2) !important;
}

body.theme-dark-glass .modal-body .dropdown-menu > li > a {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .dropdown-menu > li > a:hover {
  background: rgba(255, 255, 255, 0.07) !important;
}

/* Tabelas dentro de modal */
body.theme-dark-glass .modal-body .table {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .table > thead > tr > th {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--dg-text-muted) !important;
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass .modal-body .table > tbody > tr > td {
  color: var(--dg-text) !important;
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass .modal-body .table > tbody > tr:hover > td {
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Well dentro de modal */
body.theme-dark-glass .modal-body .well,
body.theme-dark-glass .modal-body .well-sm,
body.theme-dark-glass .modal-body .well-lg {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: var(--dg-border) !important;
  color: var(--dg-text) !important;
}

/* Alerts dentro de modal */
body.theme-dark-glass .modal-body .alert {
  border-left-width: 3px !important;
}

body.theme-dark-glass .modal-body .alert-danger,
body.theme-dark-glass .modal-body .alert-error {
  background: rgba(248, 81, 73, 0.12) !important;
  border-color: rgba(248, 81, 73, 0.40) !important;
  color: #f8a09c !important;
}

body.theme-dark-glass .modal-body .alert-success {
  background: rgba(63, 185, 80, 0.12) !important;
  border-color: rgba(63, 185, 80, 0.40) !important;
  color: #7ee787 !important;
}

body.theme-dark-glass .modal-body .alert-warning {
  background: rgba(210, 153, 34, 0.12) !important;
  border-color: rgba(210, 153, 34, 0.40) !important;
  color: #d2a73a !important;
}

body.theme-dark-glass .modal-body .alert-info {
  background: rgba(88, 166, 255, 0.10) !important;
  border-color: rgba(88, 166, 255, 0.30) !important;
  color: #79b8ff !important;
}

/* iCheck dentro de modal */
body.theme-dark-glass .modal-body .icheckbox_square-blue,
body.theme-dark-glass .modal-body .iradio_square-blue {
  border-color: var(--dg-border-2) !important;
}

/* Botões no footer do modal */
body.theme-dark-glass .modal-footer .btn-default {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--dg-border-2) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-footer .btn-default:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

/* Nav-tabs dentro de modal */
body.theme-dark-glass .modal-body .nav-tabs > li > a {
  color: var(--dg-text-muted) !important;
  background: transparent !important;
  border-color: var(--dg-border) !important;
}

body.theme-dark-glass .modal-body .nav-tabs > li.active > a,
body.theme-dark-glass .modal-body .nav-tabs > li.active > a:focus,
body.theme-dark-glass .modal-body .nav-tabs > li.active > a:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: var(--dg-border) !important;
  border-bottom-color: transparent !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .modal-body .tab-content {
  background: transparent !important;
  color: var(--dg-text) !important;
}

/* ======================================================
   PÁGINA DE LOGIN — GLASSMORPHISM
   ====================================================== */

body.theme-dark-glass .right-col {
  background: linear-gradient(145deg, #0d1117 0%, #0e1a2e 60%, #091525 100%) !important;
  position: relative;
  overflow: hidden;
}

body.theme-dark-glass .right-col::before {
  content: '';
  position: absolute;
  top: -25%;
  right: -15%;
  width: 55%;
  height: 70%;
  background: radial-gradient(ellipse, rgba(88, 166, 255, 0.10) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

body.theme-dark-glass .right-col::after {
  content: '';
  position: absolute;
  bottom: -15%;
  left: -10%;
  width: 45%;
  height: 55%;
  background: radial-gradient(ellipse, rgba(56, 139, 253, 0.07) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

body.theme-dark-glass .left-col {
  background:
    linear-gradient(160deg, rgba(13,17,23,0.75) 0%, rgba(9,21,37,0.85) 100%),
    url(../img/home-bg.jpg) center/cover no-repeat !important;
}

body.theme-dark-glass .left-col-content,
body.theme-dark-glass .login-header a {
  color: var(--dg-text) !important;
}

body.theme-dark-glass .login-form {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 16px !important;
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  padding: 36px 40px !important;
}

body.theme-dark-glass .form-header {
  color: var(--dg-text) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 24px !important;
}

body.theme-dark-glass .right-col .form-control {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: var(--dg-text) !important;
  border-radius: 8px !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}

body.theme-dark-glass .right-col .form-control:focus {
  background: rgba(88, 166, 255, 0.07) !important;
  border-color: var(--dg-accent) !important;
  box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.18) !important;
  color: var(--dg-text) !important;
  outline: none !important;
}

body.theme-dark-glass .right-col .form-control::placeholder {
  color: var(--dg-text-dim) !important;
  opacity: 1 !important;
}

body.theme-dark-glass .right-col .form-control-feedback {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .right-col label {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .right-col .checkbox span {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .right-col .help-block {
  color: var(--dg-danger) !important;
}

body.theme-dark-glass .right-col .has-error .form-control {
  border-color: var(--dg-danger) !important;
}

body.theme-dark-glass .right-col .has-error .form-control:focus {
  box-shadow: 0 0 0 3px rgba(248, 81, 73, 0.18) !important;
}

body.theme-dark-glass .btn-login {
  background: linear-gradient(135deg, #388bfd 0%, #1a6fd4 100%) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(56, 139, 253, 0.35) !important;
  transition: all 0.25s ease !important;
  letter-spacing: 0.3px !important;
}

body.theme-dark-glass .btn-login:hover,
body.theme-dark-glass .btn-login:focus {
  background: linear-gradient(135deg, #58a6ff 0%, #388bfd 100%) !important;
  box-shadow: 0 6px 24px rgba(88, 166, 255, 0.50) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

body.theme-dark-glass .right-col a.pull-right {
  color: var(--dg-accent) !important;
  font-weight: 500 !important;
}

body.theme-dark-glass .right-col a.pull-right:hover {
  color: #79b8ff !important;
}

body.theme-dark-glass .right-col .text-white {
  color: var(--dg-text-muted) !important;
}

body.theme-dark-glass .right-col .bg-maroon {
  background: rgba(88, 166, 255, 0.12) !important;
  border: 1px solid rgba(88, 166, 255, 0.25) !important;
  color: var(--dg-text) !important;
}

body.theme-dark-glass .right-col .bg-maroon:hover {
  background: rgba(88, 166, 255, 0.22) !important;
}
