/*
 * theme-components.css
 * Applies --pos-* theme tokens to all UI components.
 * Works with theme-tokens.css and legacy --text-* / --bg-* variables.
 * Do not hardcode text hex colors here.
 */

/* ── Page & Layout ─────────────────────────────────────── */
body {
  background-color: var(--pos-bg-page, var(--bg-page, #f4f6f9)) !important;
  color: var(--pos-text-primary, var(--text-primary, #111827)) !important;
}

html {
  background-color: var(--pos-bg-page, var(--bg-page, #f4f6f9));
}

.wrapper,
#scrollable-container,
main,
.content-wrapper,
section.content {
  background-color: var(--pos-bg-page, var(--bg-page, #f4f6f9));
  color: var(--pos-text-primary, var(--text-primary, #111827));
}

/* Tailwind utility overrides (hardcoded on layout shell) */
.tw-text-gray-900,
.tw-text-black {
  color: var(--pos-text-heading, var(--text-heading, #0f172a)) !important;
}

.tw-text-gray-800,
.tw-text-gray-700 {
  color: var(--pos-text-primary, var(--text-primary, #111827)) !important;
}

.tw-text-gray-600,
.tw-text-gray-500 {
  color: var(--pos-text-secondary, var(--text-secondary, #374151)) !important;
}

.tw-text-gray-400,
.tw-text-gray-300 {
  color: var(--pos-text-muted, var(--text-muted, #4b5563)) !important;
}

.tw-bg-white {
  background-color: var(--pos-bg-surface, var(--bg-card, #ffffff)) !important;
}

.tw-bg-gray-100,
.tw-bg-gray-50 {
  background-color: var(--pos-bg-page, var(--bg-page, #f4f6f9)) !important;
}

/* ── Typography ─────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.content-header h1,
.box-title,
.panel-title {
  color: var(--pos-text-heading, var(--text-heading, #0f172a)) !important;
}

p, span, li, td, th, label, .text-body {
  color: inherit;
}

.text-muted,
.small,
small,
.help-block,
.form-text {
  color: var(--pos-text-muted, var(--text-muted, #4b5563)) !important;
}

a:not(.btn):not(.badge):not(.label):not(.small-box):not(.info-box) {
  color: var(--pos-text-link, var(--text-link, #007bff));
}

a:not(.btn):hover {
  color: var(--pos-text-link-hover, var(--text-link, #0056b3));
}

label,
.control-label,
.form-label {
  color: var(--pos-label-text, var(--text-label, #1f2937)) !important;
}

/* Light mode: keep muted copy and content icons dark enough on white surfaces */
body:not(.dark-mode) .text-muted,
body:not(.dark-mode) .help-block,
body:not(.dark-mode) .form-text,
body:not(.dark-mode) .small,
body:not(.dark-mode) small {
  color: var(--pos-text-muted, var(--text-muted, #4b5563)) !important;
}

body:not(.dark-mode) .content-wrapper .fa:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .content-wrapper .fas:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .content-wrapper .far:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .content-wrapper .fal:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .content-wrapper .svg-inline--fa:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary) {
  color: var(--pos-text-secondary, var(--text-secondary, #374151));
}


/* ── Modern Tailwind Sidebar (#side-bar) ─────────────────── */
.thetop {
  align-items: stretch;
  min-height: 100vh;
}

#side-bar,
aside.side-bar {
  background: var(--sidebar-bg, var(--pos-sidebar-bg, #ffffff)) !important;
  color: var(--text-on-sidebar, var(--pos-sidebar-text, #374151)) !important;
  border-color: var(--pos-sidebar-border, #e5e7eb) !important;
}

/* Light mode: sidebar column matches full page height */
body:not(.dark-mode) #side-bar.side-bar,
body:not(.dark-mode) aside.side-bar {
  align-self: stretch;
  min-height: 100%;
  height: auto !important;
  background-color: var(--sidebar-bg, var(--pos-sidebar-bg, #ffffff)) !important;
}

#app-sidebar-menu-chrome {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background-color: transparent;
}

body:not(.dark-mode) #side-bar #sidebar-search-panel,
body:not(.dark-mode) #side-bar #sidebar-menu,
body:not(.dark-mode) #side-bar .sidebar-menu-scroll {
  background-color: transparent !important;
}

#side-bar .side-bar-heading,
#side-bar .sidebar-menu-item,
#side-bar .drop_down,
#side-bar .custom-menu-item,
#side-bar a:not(.theme-sidebar-active) {
  color: var(--text-on-sidebar, var(--pos-sidebar-text, #374151)) !important;
}

#side-bar .tw-text-gray-600,
#side-bar .tw-text-gray-500 {
  color: var(--text-on-sidebar, var(--pos-sidebar-text, #374151)) !important;
}

#side-bar .tw-text-gray-400 {
  color: var(--pos-sidebar-text-muted, var(--pos-sidebar-icon, #9ca3af)) !important;
}

#side-bar .sidebar-menu-header {
  color: var(--pos-sidebar-text-muted, #6b7280) !important;
}

#side-bar .theme-sidebar-active,
#side-bar .theme-sidebar-child-active {
  color: var(--pos-sidebar-text-active) !important;
}

#side-bar .theme-sidebar-hover:hover,
#side-bar .theme-sidebar-child-hover:hover,
#side-bar #sidebar-menu a:hover,
#side-bar #sidebar-menu .drop_down:hover,
#side-bar #sidebar-menu .chiled a:hover {
  background-color: var(--sidebar-active-bg) !important;
  color: var(--pos-sidebar-text-hover) !important;
  font-weight: 600 !important;
}

#side-bar svg,
#side-bar a svg,
#side-bar a i {
  color: var(--pos-sidebar-icon, #9ca3af) !important;
}

#side-bar a.theme-sidebar-active svg,
#side-bar a.theme-sidebar-active i,
#side-bar a:hover svg,
#side-bar a:hover i,
#side-bar .drop_down:hover svg,
#side-bar .drop_down:hover i {
  color: var(--pos-sidebar-text-hover) !important;
}

#sidebar-search-panel,
#sidebar-search-panel .sidebar-search-inner {
  background-color: color-mix(in srgb, var(--sidebar-bg, var(--pos-sidebar-bg, #fff)) 92%, #fff) !important;
}

#sidebar-search,
.sidebar-search-input {
  background-color: transparent !important;
  color: var(--pos-sidebar-search-text, var(--text-on-sidebar, #374151)) !important;
}

#sidebar-search::placeholder,
.sidebar-search-input::placeholder {
  color: var(--pos-sidebar-search-ph, #9ca3af) !important;
  opacity: 1 !important;
}

#sidebar-no-results {
  color: var(--pos-text-muted, var(--text-muted, #6c757d)) !important;
}


/* ── AdminLTE Sidebar ─────────────────────────────────────── */
.main-sidebar,
aside.main-sidebar,
.sidebar {
  background-color: var(--pos-sidebar-bg, var(--sidebar-bg, #343a40)) !important;
}

.main-sidebar .sidebar-menu li a,
.main-sidebar .nav-sidebar .nav-link,
.sidebar .nav-sidebar .nav-link,
.sidebar-menu > li > a {
  color: var(--pos-sidebar-text, rgba(255, 255, 255, 0.85)) !important;
}

.main-sidebar .sidebar-menu li a:hover,
.main-sidebar .nav-sidebar .nav-link:hover,
.sidebar-menu > li > a:hover {
  color: var(--pos-sidebar-text-hover, #ffffff) !important;
  background-color: var(--pos-sidebar-item-hover, rgba(255, 255, 255, 0.1)) !important;
}

.main-sidebar .sidebar-menu li.active > a,
.main-sidebar .nav-sidebar .nav-link.active,
.sidebar-menu > li.active > a {
  color: var(--pos-sidebar-text-active, #ffffff) !important;
}

.main-sidebar .nav-icon,
.sidebar-menu .nav-icon,
.sidebar-menu li a i,
.nav-sidebar .nav-link i {
  color: var(--pos-sidebar-icon, rgba(255, 255, 255, 0.6)) !important;
}

.main-sidebar .nav-header,
.sidebar-menu .nav-header,
.sidebar .nav-header {
  color: var(--pos-sidebar-text-muted, rgba(255, 255, 255, 0.75)) !important;
}

.sidebar-form input[type="text"],
.sidebar-search-form input[type="text"],
[data-widget="sidebar-search"] input,
#sidebar-search-input {
  background-color: var(--pos-sidebar-search-bg, rgba(255, 255, 255, 0.1)) !important;
  color: var(--pos-sidebar-search-text, #ffffff) !important;
  border-color: var(--pos-sidebar-border, rgba(255, 255, 255, 0.05)) !important;
}

.sidebar-form input[type="text"]::placeholder,
[data-widget="sidebar-search"] input::placeholder,
#sidebar-search-input::placeholder {
  color: var(--pos-sidebar-search-ph, rgba(255, 255, 255, 0.5)) !important;
  opacity: 1 !important;
}

.sidebar .user-panel .info,
.sidebar .user-panel .info a,
.sidebar .user-panel .info p {
  color: var(--pos-sidebar-text, rgba(255, 255, 255, 0.85)) !important;
}

.nav-sidebar .nav-link .right,
.nav-sidebar .nav-link .fas.fa-angle-left {
  color: var(--pos-sidebar-icon, rgba(255, 255, 255, 0.6)) !important;
}


/* ── Topbar / Header ─────────────────────────────────────── */
.main-header,
.main-header .navbar,
nav.main-header,
.navbar.navbar-expand,
.app-header-toolbar,
.app-header-toolbar.theme-header-bg {
  background-color: var(--header-bg, var(--pos-header-bg, #343a40)) !important;
  border-bottom-color: var(--pos-header-border, rgba(255, 255, 255, 0.1)) !important;
  color: var(--text-on-header, var(--pos-header-text, rgba(255, 255, 255, 0.9))) !important;
}

.main-header .navbar-nav .nav-link,
.main-header .nav-link,
.navbar .navbar-nav .nav-link,
.app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn):not(.subscription-badge):not(.app-header-back-user):not(.app-header-user-menu),
.app-header-toolbar a:not(.theme-btn-bg):not(.pos-sale-btn):not(.subscription-badge):not(.app-header-back-user):not(.app-header-user-menu),
.app-header-toolbar button:not(.theme-btn-bg),
.app-header-toolbar summary:not(.theme-btn-bg) {
  color: var(--text-on-header, var(--pos-header-text, rgba(255, 255, 255, 0.9))) !important;
}

.main-header .navbar-nav .nav-link:hover,
.main-header .nav-link:hover,
.app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn):not(.subscription-badge):not(.app-header-back-user):not(.app-header-user-menu):hover {
  color: var(--pos-header-text-hover, #ffffff) !important;
}

.main-header .navbar-nav .nav-link i,
.main-header .fa,
.main-header .fas,
.main-header .far,
.app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn):not(.subscription-badge):not(.app-header-back-user):not(.app-header-user-menu) svg {
  color: var(--text-on-header, var(--pos-header-icon, rgba(255, 255, 255, 0.7))) !important;
}

.app-header-back-btn {
  min-height: 2.25rem;
  padding-inline: 0.65rem;
}

.app-header-back-btn .fa-arrow-left {
  font-size: 0.9rem;
}

[dir='rtl'] .app-header-back-btn .fa-arrow-left {
  transform: scaleX(-1);
}

.page-back-bar {
  position: relative;
  z-index: 20;
  padding: 0.75rem 1rem 0.25rem;
  pointer-events: auto;
}

.page-back-btn {
  position: relative;
  z-index: 21;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid #b91c1c;
  border-radius: 0.5rem;
  background: #dc2626;
  color: #ffffff;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.2);
}

.page-back-btn:hover,
.page-back-btn:focus,
.page-back-btn:focus-visible,
.page-back-btn:active {
  background: #b91c1c;
  border-color: #991b1b;
  color: #ffffff;
  outline: none;
}

.page-back-btn .fa-arrow-left,
.page-back-btn span {
  color: inherit;
  pointer-events: none;
}

.page-back-btn .fa-arrow-left {
  font-size: 0.9rem;
}

[dir='rtl'] .page-back-btn .fa-arrow-left {
  transform: scaleX(-1);
}

body.dark-mode .page-back-btn {
  background: #dc2626;
  border-color: #b91c1c;
  color: #ffffff;
}

body.dark-mode .page-back-btn:hover,
body.dark-mode .page-back-btn:focus,
body.dark-mode .page-back-btn:focus-visible,
body.dark-mode .page-back-btn:active {
  background: #b91c1c;
  border-color: #991b1b;
  color: #ffffff;
}

.main-header .brand-link,
.main-header .navbar-brand,
.main-header .logo {
  color: var(--pos-header-text, rgba(255, 255, 255, 0.9)) !important;
}

.main-header .form-control {
  background-color: var(--pos-sidebar-search-bg, rgba(255, 255, 255, 0.1)) !important;
  color: var(--pos-header-text, rgba(255, 255, 255, 0.9)) !important;
  border-color: var(--pos-header-border, rgba(255, 255, 255, 0.1)) !important;
}

.main-header .dropdown-menu,
.app-header-dropdown > ul,
.app-header-user-dropdown-menu {
  background-color: var(--pos-header-dropdown-bg, var(--bg-dropdown, #ffffff)) !important;
  border-color: var(--pos-dropdown-border, rgba(0, 0, 0, 0.15)) !important;
}

.main-header .dropdown-menu .dropdown-item,
.app-header-dropdown > ul a,
.app-header-user-dropdown-menu a {
  color: var(--pos-header-dropdown-text, var(--text-primary, #212529)) !important;
}

.main-header .dropdown-menu .dropdown-item:hover,
.app-header-dropdown > ul a:hover {
  background-color: var(--pos-header-dropdown-hover-bg, #f8f9fa) !important;
  color: var(--pos-dropdown-hover-text, #16181b) !important;
}

.app-header-dropdown-menu-title span {
  color: var(--pos-text-muted, var(--text-muted, #6c757d)) !important;
}


/* ── Cards ──────────────────────────────────────────────── */
.card,
.box,
.panel,
.tw-dw-card,
.v33-card,
.widget-box {
  background-color: var(--pos-card-bg, var(--bg-card, #ffffff)) !important;
  border-color: var(--pos-card-border, var(--border-color, #dee2e6)) !important;
  box-shadow: var(--pos-card-shadow, var(--shadow-card, 0 1px 3px rgba(0, 0, 0, 0.08))) !important;
  color: var(--pos-card-text, var(--text-primary, #212529)) !important;
}

.card-body,
.box-body,
.panel-body {
  color: var(--pos-card-text, var(--text-primary, #212529)) !important;
  background-color: var(--pos-card-bg, var(--bg-card, #ffffff)) !important;
}

.card-header,
.box-header,
.panel-heading {
  background-color: var(--pos-card-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-card-header-text, var(--text-heading, #343a40)) !important;
  border-bottom-color: var(--pos-card-border, var(--border-color, #dee2e6)) !important;
}

.card-header h3,
.card-header h4,
.card-header .card-title,
.box-header .box-title,
.panel-heading .panel-title {
  color: var(--pos-card-header-text, var(--text-heading, #343a40)) !important;
}

.card-footer,
.box-footer,
.panel-footer {
  background-color: var(--pos-card-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-card-text-secondary, var(--text-secondary, #6c757d)) !important;
  border-top-color: var(--pos-card-border, var(--border-color, #dee2e6)) !important;
}


/* ── Forms & Inputs ─────────────────────────────────────── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="time"],
textarea,
select {
  background-color: var(--pos-input-bg, var(--bg-input, #ffffff)) !important;
  color: var(--pos-input-text, var(--text-primary, #495057)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  background-color: var(--pos-input-bg, var(--bg-input, #ffffff)) !important;
  color: var(--pos-input-text, var(--text-primary, #495057)) !important;
  border-color: var(--pos-input-focus-border, #80bdff) !important;
  box-shadow: var(--pos-input-focus-shadow, 0 0 0 0.2rem rgba(0, 123, 255, 0.25)) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--pos-input-placeholder, var(--text-placeholder, #adb5bd)) !important;
  opacity: 1 !important;
}

.form-control:disabled,
.form-control[readonly],
input:disabled {
  background-color: var(--pos-input-disabled-bg, #e9ecef) !important;
  color: var(--pos-input-disabled-text, #6c757d) !important;
}

.input-group-text {
  background-color: var(--pos-bg-surface-alt, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-text-secondary, var(--text-secondary, #495057)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}

/* Select2 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background-color: var(--pos-select2-bg, var(--bg-input, #ffffff)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--pos-select2-text, var(--text-primary, #495057)) !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--pos-input-placeholder, var(--text-placeholder, #adb5bd)) !important;
}

.select2-dropdown {
  background-color: var(--pos-dropdown-bg, var(--bg-dropdown, #ffffff)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}

.select2-container--default .select2-results__option {
  color: var(--pos-dropdown-text, var(--text-primary, #212529)) !important;
  background-color: var(--pos-dropdown-bg, var(--bg-dropdown, #ffffff)) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--pos-dropdown-hover-bg, #f8f9fa) !important;
  color: var(--pos-dropdown-hover-text, #16181b) !important;
}

.select2-search--dropdown .select2-search__field {
  background-color: var(--pos-input-bg, var(--bg-input, #ffffff)) !important;
  color: var(--pos-input-text, var(--text-primary, #495057)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}


/* ── Tables ─────────────────────────────────────────────── */
.table,
table {
  color: var(--pos-table-text, var(--text-primary, #212529)) !important;
  background-color: var(--pos-table-bg, var(--bg-table-row, #ffffff)) !important;
}

.table thead th,
.table th,
table thead th {
  background-color: var(--pos-table-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-table-header-text, var(--text-heading, #343a40)) !important;
  border-color: var(--pos-table-border, var(--border-color, #dee2e6)) !important;
}

.table tbody td,
table tbody td {
  color: var(--pos-table-text, var(--text-primary, #212529)) !important;
  border-color: var(--pos-table-border, var(--border-color, #dee2e6)) !important;
  background-color: var(--pos-table-bg, var(--bg-table-row, #ffffff)) !important;
}

.table tbody tr:hover td {
  background-color: var(--pos-table-row-hover, color-mix(in srgb, var(--btn-primary-bg, #3b82f6) 12%, transparent)) !important;
}

.table-striped tbody tr:nth-of-type(odd) td {
  background-color: var(--pos-table-row-stripe, var(--bg-table-alt, #fbfbfb)) !important;
}

/* DataTables */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: var(--pos-dt-info-text, var(--text-secondary, #6c757d)) !important;
}

.dataTables_wrapper .dataTables_filter input {
  background-color: var(--pos-input-bg, var(--bg-input, #ffffff)) !important;
  color: var(--pos-dt-search-text, var(--text-primary, #495057)) !important;
  border-color: var(--pos-input-border, var(--border-input, #ced4da)) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--pos-dt-paginate-text, var(--text-secondary, #495057)) !important;
}

/* Active/hover/disabled pagination: see theme-pagination.css */

table.dataTable thead th,
table.dataTable thead td {
  background-color: var(--pos-dt-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-dt-header-text, var(--text-heading, #343a40)) !important;
  border-color: var(--pos-dt-border, var(--border-color, #dee2e6)) !important;
}

table.dataTable tbody tr td {
  color: var(--pos-dt-row-text, var(--text-primary, #212529)) !important;
}


/* ── Modals ─────────────────────────────────────────────── */
.modal-content {
  background-color: var(--pos-modal-bg, var(--bg-modal, #ffffff)) !important;
  color: var(--pos-modal-text, var(--text-primary, #212529)) !important;
  border-color: var(--pos-modal-border, var(--border-color, #dee2e6)) !important;
}

.modal-header {
  background-color: var(--pos-modal-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-modal-header-text, var(--text-heading, #343a40)) !important;
  border-bottom-color: var(--pos-modal-border, var(--border-color, #dee2e6)) !important;
}

.modal-header .modal-title,
.modal-header h4,
.modal-header h5 {
  color: var(--pos-modal-header-text, var(--text-heading, #343a40)) !important;
}

.modal-header .close,
.modal-header .btn-close {
  color: var(--pos-modal-header-text, var(--text-heading, #343a40)) !important;
  opacity: 0.7;
}

.modal-body {
  background-color: var(--pos-modal-bg, var(--bg-modal, #ffffff)) !important;
  color: var(--pos-modal-text, var(--text-primary, #212529)) !important;
}

.modal-footer {
  background-color: var(--pos-modal-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  border-top-color: var(--pos-modal-border, var(--border-color, #dee2e6)) !important;
}


/* ── Dropdowns ──────────────────────────────────────────── */
.dropdown-menu {
  background-color: var(--pos-dropdown-bg, var(--bg-dropdown, #ffffff)) !important;
  border-color: var(--pos-dropdown-border, rgba(0, 0, 0, 0.15)) !important;
}

.dropdown-item {
  color: var(--pos-dropdown-text, var(--text-primary, #212529)) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--pos-dropdown-hover-bg, #f8f9fa) !important;
  color: var(--pos-dropdown-hover-text, #16181b) !important;
}

.dropdown-divider {
  border-color: var(--pos-dropdown-divider, #e9ecef) !important;
}

.dropdown-header {
  color: var(--pos-dropdown-header, var(--text-muted, #6c757d)) !important;
}


/* ── Alerts ─────────────────────────────────────────────── */
.alert-info {
  background-color: var(--pos-alert-info-bg, #d1ecf1) !important;
  color: var(--pos-alert-info-text, #0c5460) !important;
  border-color: var(--pos-alert-info-border, #bee5eb) !important;
}

.alert-success {
  background-color: var(--pos-alert-success-bg, #d4edda) !important;
  color: var(--pos-alert-success-text, #155724) !important;
}

.alert-warning {
  background-color: var(--pos-alert-warning-bg, #fff3cd) !important;
  color: var(--pos-alert-warning-text, #856404) !important;
}

.alert-danger {
  background-color: var(--pos-alert-danger-bg, #f8d7da) !important;
  color: var(--pos-alert-danger-text, #721c24) !important;
}


/* ── Tabs & Nav Pills ───────────────────────────────────── */
.nav-tabs .nav-link {
  color: var(--pos-tab-text, var(--text-secondary, #495057)) !important;
}

.nav-tabs .nav-link.active {
  color: var(--pos-tab-active-text, var(--accent-primary, #007bff)) !important;
  background-color: var(--pos-tab-active-bg, var(--bg-card, #ffffff)) !important;
}

.tab-content,
.pos-tab-content {
  background-color: var(--pos-tab-content-bg, var(--bg-card, #ffffff)) !important;
  color: var(--pos-tab-content-text, var(--text-primary, #212529)) !important;
}

.pos-tab-container .pos-tab > .pos-tab-content:not(.active) {
  display: none !important;
}

.list-group-item {
  background-color: var(--pos-bg-surface, var(--bg-card, #ffffff)) !important;
  color: var(--pos-text-primary, var(--text-primary, #212529)) !important;
  border-color: var(--pos-border, var(--border-color, #dee2e6)) !important;
}


/* ── Dashboard Stat / KPI Cards ─────────────────────────── */
.info-box,
.small-box,
.stat-box,
.kpi-card {
  background-color: var(--pos-stat-card-bg, var(--bg-card, #ffffff)) !important;
  color: var(--pos-stat-card-text, var(--text-primary, #212529)) !important;
}

.info-box .info-box-text,
.small-box .inner p,
.stat-label {
  color: var(--pos-stat-card-label, var(--text-secondary, #6c757d)) !important;
}

.info-box .info-box-number,
.small-box .inner h3,
.stat-value {
  color: var(--pos-stat-card-value, var(--text-heading, #1a1d23)) !important;
}

/* Colored stat boxes — restore saturated AdminLTE backgrounds (theme
   card bg must not win), keep white text for contrast on those fills */
.small-box.bg-aqua,
.small-box.bg-info {
  background-color: #00c0ef !important;
}
.small-box.bg-green,
.small-box.bg-success {
  background-color: #00a65a !important;
}
.small-box.bg-yellow,
.small-box.bg-warning {
  background-color: #f39c12 !important;
}
.small-box.bg-red,
.small-box.bg-danger {
  background-color: #dd4b39 !important;
}
.small-box.bg-blue,
.small-box.bg-primary {
  background-color: #0073b7 !important;
}
.small-box.bg-light-blue {
  background-color: #3c8dbc !important;
}
.small-box.bg-purple {
  background-color: #605ca8 !important;
}
.small-box.bg-maroon {
  background-color: #d81b60 !important;
}
.small-box.bg-teal {
  background-color: #39cccc !important;
}
.small-box.bg-navy {
  background-color: #001f3f !important;
}
.small-box.bg-orange {
  background-color: #ff851b !important;
}
.small-box.bg-fuchsia {
  background-color: #f012be !important;
}
.small-box.bg-olive {
  background-color: #3d9970 !important;
}
.small-box.bg-lime {
  background-color: #01ff70 !important;
}
.small-box.bg-gray,
.small-box.bg-secondary {
  background-color: #d2d6de !important;
}
.small-box.bg-black,
.small-box.bg-dark {
  background-color: #111111 !important;
}

.small-box.bg-aqua,
.small-box.bg-info,
.small-box.bg-green,
.small-box.bg-success,
.small-box.bg-yellow,
.small-box.bg-warning,
.small-box.bg-red,
.small-box.bg-danger,
.small-box.bg-blue,
.small-box.bg-primary,
.small-box.bg-light-blue,
.small-box.bg-purple,
.small-box.bg-maroon,
.small-box.bg-teal,
.small-box.bg-navy,
.small-box.bg-orange,
.small-box.bg-fuchsia,
.small-box.bg-olive,
.small-box.bg-black,
.small-box.bg-dark,
.small-box.bg-aqua .inner,
.small-box.bg-aqua .inner h3,
.small-box.bg-aqua .inner p,
.small-box.bg-aqua .inner strong,
.small-box.bg-aqua .inner i,
.small-box.bg-info .inner,
.small-box.bg-info .inner h3,
.small-box.bg-info .inner p,
.small-box.bg-info .inner strong,
.small-box.bg-info .inner i,
.small-box.bg-green .inner,
.small-box.bg-green .inner h3,
.small-box.bg-green .inner p,
.small-box.bg-green .inner strong,
.small-box.bg-green .inner i,
.small-box.bg-success .inner,
.small-box.bg-success .inner h3,
.small-box.bg-success .inner p,
.small-box.bg-success .inner strong,
.small-box.bg-success .inner i,
.small-box.bg-yellow .inner,
.small-box.bg-yellow .inner h3,
.small-box.bg-yellow .inner p,
.small-box.bg-yellow .inner strong,
.small-box.bg-yellow .inner i,
.small-box.bg-warning .inner,
.small-box.bg-warning .inner h3,
.small-box.bg-warning .inner p,
.small-box.bg-warning .inner strong,
.small-box.bg-warning .inner i,
.small-box.bg-red .inner,
.small-box.bg-red .inner h3,
.small-box.bg-red .inner p,
.small-box.bg-red .inner strong,
.small-box.bg-red .inner i,
.small-box.bg-danger .inner,
.small-box.bg-danger .inner h3,
.small-box.bg-danger .inner p,
.small-box.bg-danger .inner strong,
.small-box.bg-danger .inner i,
.small-box.bg-blue .inner,
.small-box.bg-blue .inner h3,
.small-box.bg-blue .inner p,
.small-box.bg-blue .inner strong,
.small-box.bg-blue .inner i,
.small-box.bg-primary .inner,
.small-box.bg-primary .inner h3,
.small-box.bg-primary .inner p,
.small-box.bg-primary .inner strong,
.small-box.bg-primary .inner i,
.small-box.bg-purple .inner,
.small-box.bg-purple .inner h3,
.small-box.bg-purple .inner p,
.small-box.bg-purple .inner strong,
.small-box.bg-purple .inner i,
.small-box.bg-maroon .inner,
.small-box.bg-maroon .inner h3,
.small-box.bg-maroon .inner p,
.small-box.bg-maroon .inner strong,
.small-box.bg-maroon .inner i,
.small-box.bg-teal .inner,
.small-box.bg-teal .inner h3,
.small-box.bg-teal .inner p,
.small-box.bg-teal .inner strong,
.small-box.bg-teal .inner i,
.small-box.bg-navy .inner,
.small-box.bg-navy .inner h3,
.small-box.bg-navy .inner p,
.small-box.bg-navy .inner strong,
.small-box.bg-navy .inner i,
.small-box.bg-orange .inner,
.small-box.bg-orange .inner h3,
.small-box.bg-orange .inner p,
.small-box.bg-orange .inner strong,
.small-box.bg-orange .inner i,
.small-box.bg-fuchsia .inner,
.small-box.bg-fuchsia .inner h3,
.small-box.bg-fuchsia .inner p,
.small-box.bg-fuchsia .inner strong,
.small-box.bg-fuchsia .inner i,
.small-box.bg-black .inner,
.small-box.bg-black .inner h3,
.small-box.bg-black .inner p,
.small-box.bg-black .inner strong,
.small-box.bg-black .inner i,
.small-box.bg-dark .inner,
.small-box.bg-dark .inner h3,
.small-box.bg-dark .inner p,
.small-box.bg-dark .inner strong,
.small-box.bg-dark .inner i {
  color: #ffffff !important;
}

/* Gray/lime boxes need dark text on light fills */
.small-box.bg-gray,
.small-box.bg-secondary,
.small-box.bg-lime,
.small-box.bg-gray .inner,
.small-box.bg-gray .inner h3,
.small-box.bg-gray .inner p,
.small-box.bg-gray .inner strong,
.small-box.bg-gray .inner i,
.small-box.bg-secondary .inner,
.small-box.bg-secondary .inner h3,
.small-box.bg-secondary .inner p,
.small-box.bg-secondary .inner strong,
.small-box.bg-secondary .inner i,
.small-box.bg-lime .inner,
.small-box.bg-lime .inner h3,
.small-box.bg-lime .inner p,
.small-box.bg-lime .inner strong,
.small-box.bg-lime .inner i {
  color: #111827 !important;
}

.small-box .small-box-footer {
  color: #ffffff !important;
}


/* ── Breadcrumbs & Pagination ───────────────────────────── */
.breadcrumb-item a {
  color: var(--pos-text-link, var(--text-link, #007bff)) !important;
}

.breadcrumb-item.active,
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--pos-text-muted, var(--text-muted, #6c757d)) !important;
}

/* Pagination: see theme-pagination.css (unified light/dark + color scheme) */


/* ── Hospital Module ─────────────────────────────────────── */
.hms-feature-card,
.hospital-module .card,
.hospital-module .panel,
.hospital-module-nav .hospital-nav-bar {
  background-color: var(--pos-hms-card-bg, var(--bg-card, #ffffff)) !important;
  color: var(--pos-hms-card-text, var(--text-primary, #212529)) !important;
}

.hms-feature-card h4,
.hms-feature-card h3,
.hospital-module .card-title,
.hospital-module-nav .hospital-nav-brand,
.hospital-module-nav .navbar-nav > li > a {
  color: var(--pos-hms-section-title, var(--text-heading, #212529)) !important;
}

.hms-feature-card p,
.hms-feature-card .description {
  color: var(--pos-hms-card-text-muted, var(--text-secondary, #6c757d)) !important;
}

.hospital-module table thead th {
  background-color: var(--pos-hms-table-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-hms-table-header-text, var(--text-heading, #343a40)) !important;
}


/* ── Appearance / Layout Settings (Step 7) ───────────────── */
.appearance-section-title,
.theme-section h4,
.theme-section h5,
.layout-settings-picker h4,
.layout-settings-picker h5,
.color-scheme-picker + h4,
.business-settings-v2 .settings-card-header strong {
  color: var(--pos-text-heading, var(--text-heading, #1a1d23)) !important;
}

.appearance-section-desc,
.theme-section p,
.theme-section small,
.layout-settings-picker p,
.layout-settings-picker .text-muted,
.business-settings-v2 .settings-card-body,
.business-settings-v2 .settings-section-content {
  color: var(--pos-text-secondary, var(--text-secondary, #495057)) !important;
}

.color-scheme-label,
.theme-swatch-label,
.layout-preview-label {
  color: var(--pos-text-primary, var(--text-primary, #212529)) !important;
}

.appearance-panel,
.theme-settings-panel,
.layout-settings-picker,
.business-settings-v2 .settings-card,
.business-settings-v2 .settings-card-body {
  background-color: var(--pos-card-bg, var(--bg-card, #ffffff)) !important;
  color: var(--pos-card-text, var(--text-primary, #212529)) !important;
}

.business-settings-v2 .settings-card-header {
  background-color: var(--pos-card-header-bg, var(--bg-table-head, #f8f9fa)) !important;
  color: var(--pos-card-header-text, var(--text-heading, #343a40)) !important;
}

.pos-tab-container .list-group-item {
  color: var(--pos-text-primary, var(--text-primary, #212529)) !important;
  background-color: var(--pos-bg-surface, var(--bg-card, #ffffff)) !important;
}

.pos-tab-container .list-group-item.active {
  color: var(--pos-tab-active-text, var(--accent-primary, #007bff)) !important;
  background-color: var(--pos-tab-active-bg, var(--bg-card, #ffffff)) !important;
}


/* ── POS Prescriptions button (pink) ─────────────────────── */
#view_healthcare_prescriptions,
#view_healthcare_prescriptions_footer,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions {
  background-color: #ec4899 !important;
  border-color: #ec4899 !important;
  color: #ffffff !important;
}

#view_healthcare_prescriptions:hover,
#view_healthcare_prescriptions:focus,
#view_healthcare_prescriptions_footer:hover,
#view_healthcare_prescriptions_footer:focus,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions:hover,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions:focus {
  background-color: #db2777 !important;
  border-color: #db2777 !important;
  color: #ffffff !important;
}

#view_healthcare_prescriptions,
#view_healthcare_prescriptions strong,
#view_healthcare_prescriptions span,
#view_healthcare_prescriptions svg,
#view_healthcare_prescriptions .icon,
#view_healthcare_prescriptions_footer,
#view_healthcare_prescriptions_footer i,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions strong,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions span,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions svg,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions .icon {
  color: #ffffff !important;
  stroke: currentColor;
}

/* Header Prescriptions stays icon-only (mobile menu forces other labels visible) */
#view_healthcare_prescriptions span,
body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions span {
  display: none !important;
}

body.lockscreen #pos_header_more_options.is-mobile-open > button#view_healthcare_prescriptions {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  padding: 0 !important;
  justify-content: center !important;
}

/* ── Light mode contrast safeguards ──────────────────────── */
body:not(.dark-mode) .content-wrapper,
body:not(.dark-mode) .content,
body:not(.dark-mode) .box-body,
body:not(.dark-mode) .card-body,
body:not(.dark-mode) .modal-body,
body:not(.dark-mode) .view_modal {
  color: var(--pos-text-primary, var(--text-primary, #111827));
}

body:not(.dark-mode) .box:not([class*="bg-"]),
body:not(.dark-mode) .card:not([class*="bg-"]),
body:not(.dark-mode) .panel:not([class*="bg-"]) {
  color: var(--pos-text-primary, var(--text-primary, #111827));
}

body:not(.dark-mode) .fa:not(.text-white):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .fas:not(.text-white):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.text-primary),
body:not(.dark-mode) .far:not(.text-white):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.text-primary) {
  color: inherit;
}

body:not(.dark-mode) .text-muted,
body:not(.dark-mode) .help-block,
body:not(.dark-mode) .form-text {
  color: var(--pos-text-muted, var(--text-muted, #4b5563)) !important;
}


/* ═══════════════════════════════════════════════════════════
   Global button system — metrics match /roles Add (source of truth)
   ═══════════════════════════════════════════════════════════ */

.btn-ui,
.btn-add,
.btn-create,
.btn-primary-action,
.ed-btn--primary,
.tw-dw-btn.tw-from-indigo-600.tw-to-blue-500 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--btn-ui-gap, 6px);
  min-height: var(--btn-ui-height, 3rem);
  height: auto;
  padding: var(--btn-ui-padding-y, 8px) var(--btn-ui-padding-x, 22px);
  border: none !important;
  border-radius: var(--btn-ui-radius, 9999px) !important;
  font-size: var(--btn-ui-font-size, 0.875rem);
  font-weight: var(--btn-ui-font-weight, 700);
  line-height: var(--btn-ui-line-height, 1.2);
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: var(--btn-ui-shadow, 0 4px 10px rgba(0, 0, 0, 0.28));
  background-image: none !important;
  transition: background-color 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

/* Primary (Create / Add / Save / Submit) */
.btn-ui--primary,
.btn-add,
.btn-create,
.btn-primary-action,
.ed-btn--primary,
.tw-dw-btn.tw-from-indigo-600.tw-to-blue-500 {
  color: var(--text-on-primary, #fff) !important;
  background-color: var(--btn-primary-bg, var(--accent-primary, #5b6cf0)) !important;
}

.btn-ui--primary:hover,
.btn-ui--primary:focus,
.btn-add:hover,
.btn-add:focus,
.btn-create:hover,
.btn-create:focus,
.btn-primary-action:hover,
.btn-primary-action:focus,
.ed-btn--primary:hover,
.ed-btn--primary:focus,
.tw-dw-btn.tw-from-indigo-600.tw-to-blue-500:hover,
.tw-dw-btn.tw-from-indigo-600.tw-to-blue-500:focus {
  background-color: var(--btn-primary-hover, var(--secondary, var(--btn-primary-bg, var(--accent-primary, #5b6cf0)))) !important;
  background-image: none !important;
  filter: brightness(1.05);
  color: var(--text-on-primary, #fff) !important;
  text-decoration: none !important;
}

.btn-ui--secondary {
  color: var(--text-on-secondary, #111827) !important;
  background-color: var(--btn-secondary-bg, var(--secondary, #60a5fa)) !important;
}
.btn-ui--secondary:hover,
.btn-ui--secondary:focus {
  background-color: var(--btn-secondary-hover, var(--btn-secondary-bg, #93c5fd)) !important;
  filter: brightness(1.05);
  color: var(--text-on-secondary, #111827) !important;
}

.btn-ui--success {
  color: #fff !important;
  background-color: var(--btn-success-bg, var(--accent-success, #16a34a)) !important;
}
.btn-ui--success:hover,
.btn-ui--success:focus {
  background-color: var(--btn-success-hover, #15803d) !important;
  filter: brightness(1.05);
  color: #fff !important;
}

.btn-ui--danger {
  color: #fff !important;
  background-color: var(--btn-danger-bg, var(--accent-danger, #dc2626)) !important;
}
.btn-ui--danger:hover,
.btn-ui--danger:focus {
  background-color: var(--btn-danger-hover, #b91c1c) !important;
  filter: brightness(1.05);
  color: #fff !important;
}

.btn-ui--warning {
  color: #fff !important;
  background-color: var(--btn-warning-bg, var(--accent-warning, #d97706)) !important;
}
.btn-ui--warning:hover,
.btn-ui--warning:focus {
  background-color: var(--btn-warning-hover, #b45309) !important;
  filter: brightness(1.05);
  color: #fff !important;
}

.btn-ui--info {
  color: #fff !important;
  background-color: var(--btn-info-bg, var(--accent-info, #0284c7)) !important;
}
.btn-ui--info:hover,
.btn-ui--info:focus {
  background-color: var(--btn-info-hover, #0369a1) !important;
  filter: brightness(1.05);
  color: #fff !important;
}

.btn-ui--outline {
  color: var(--pos-text-primary, #111827) !important;
  background-color: transparent !important;
  border: 1px solid var(--pos-border-strong, var(--border-strong, #ced4da)) !important;
  box-shadow: none;
}
.btn-ui--outline:hover,
.btn-ui--outline:focus {
  background-color: var(--pos-bg-overlay, rgba(0, 0, 0, 0.05)) !important;
  filter: none;
  color: var(--pos-text-primary, #111827) !important;
}

.btn-ui--icon {
  width: var(--btn-ui-height, 3rem);
  min-width: var(--btn-ui-height, 3rem);
  padding: 0 !important;
}

/* Shared states */
.btn-ui:focus-visible,
.btn-add:focus-visible,
.btn-create:focus-visible,
.btn-primary-action:focus-visible,
.btn-ui--primary:focus-visible,
.btn-ui--secondary:focus-visible,
.btn-ui--success:focus-visible,
.btn-ui--danger:focus-visible,
.btn-ui--warning:focus-visible,
.btn-ui--info:focus-visible,
.btn-ui--outline:focus-visible {
  outline: 2px solid var(--btn-primary-bg, var(--accent-primary, #3b82f6));
  outline-offset: 2px;
}

.btn-ui:active:not([disabled]):not(.is-disabled):not(.is-loading),
.btn-add:active:not([disabled]):not(.is-disabled):not(.is-loading) {
  filter: brightness(0.95);
  transform: translateY(1px);
}

.btn-ui[disabled],
.btn-ui.is-disabled,
.btn-ui.is-loading,
.btn-add[disabled],
.btn-add.is-disabled,
.btn-add.is-loading,
.btn-create[disabled],
.btn-create.is-loading,
.btn-primary-action[disabled],
.btn-primary-action.is-loading {
  opacity: 0.65;
  cursor: not-allowed;
  pointer-events: none;
  filter: none;
  transform: none;
}

.btn-ui.is-loading::before,
.btn-add.is-loading::before {
  content: "";
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: btn-ui-spin 0.6s linear infinite;
  flex-shrink: 0;
}

@keyframes btn-ui-spin {
  to { transform: rotate(360deg); }
}

.btn-add.btn-primary,
.btn-add.btn,
.btn-create.btn-primary,
.btn-create.btn,
.btn-primary-action.btn-primary,
.btn-primary-action.btn,
.btn-ui.btn-primary,
.btn-ui.btn {
  background-image: none !important;
  background-color: var(--btn-primary-bg, var(--accent-primary, #5b6cf0)) !important;
  border: none !important;
  border-radius: var(--btn-ui-radius, 9999px) !important;
  color: var(--text-on-primary, #fff) !important;
}

.btn-ui svg,
.btn-ui .fa,
.btn-ui .fas,
.btn-ui .ti,
.btn-add svg,
.btn-add .fa,
.btn-add .fas,
.btn-add .ti,
.btn-create svg,
.btn-create .fa,
.btn-create .fas,
.btn-create .ti,
.btn-primary-action svg,
.btn-primary-action .fa,
.btn-primary-action .fas,
.btn-primary-action .ti {
  color: inherit;
  flex-shrink: 0;
}

/* Remap Bootstrap / Daisy filled actions (default size) to /roles metrics */
.btn.btn-primary:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle):not(.btn-outline):not(.btn-outline-primary),
.btn.btn-success:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle),
.btn.btn-danger:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle),
.btn.btn-warning:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle),
.btn.btn-info:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle),
.btn.btn-secondary:not(.btn-sm):not(.btn-xs):not(.btn-lg):not(.btn-link):not(.dropdown-toggle),
.tw-dw-btn.tw-dw-btn-primary:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn.tw-dw-btn-success:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn.tw-dw-btn-error:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn.tw-dw-btn-warning:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn.tw-dw-btn-info:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn.tw-dw-btn-secondary:not(.tw-dw-btn-xs):not(.tw-dw-btn-sm):not(.tw-dw-btn-lg):not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--btn-ui-gap, 6px);
  min-height: var(--btn-ui-height, 3rem);
  padding: var(--btn-ui-padding-y, 8px) var(--btn-ui-padding-x, 22px);
  border-radius: var(--btn-ui-radius, 9999px) !important;
  font-size: var(--btn-ui-font-size, 0.875rem);
  font-weight: var(--btn-ui-font-weight, 700);
  line-height: var(--btn-ui-line-height, 1.2);
  border: none !important;
  background-image: none !important;
}

.btn.btn-warning:not(.btn-outline):not(.btn-sm):not(.btn-xs),
.tw-dw-btn.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
  background-color: var(--btn-warning-bg, var(--accent-warning, #d97706)) !important;
  color: #fff !important;
}
.btn.btn-warning:not(.btn-outline):hover,
.btn.btn-warning:not(.btn-outline):focus,
.tw-dw-btn.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
  background-color: var(--btn-warning-hover, #b45309) !important;
  color: #fff !important;
}

.btn.btn-info:not(.btn-outline):not(.btn-sm):not(.btn-xs),
.tw-dw-btn.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
  background-color: var(--btn-info-bg, var(--accent-info, #0284c7)) !important;
  color: #fff !important;
}
.btn.btn-info:not(.btn-outline):hover,
.btn.btn-info:not(.btn-outline):focus,
.tw-dw-btn.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
  background-color: var(--btn-info-hover, #0369a1) !important;
  color: #fff !important;
}

/* Small table/row actions stay compact but keep pill + scheme colors */
.btn.btn-sm.btn-primary,
.btn.btn-xs.btn-primary,
.btn.btn-sm.btn-success,
.btn.btn-sm.btn-danger,
.btn.btn-sm.btn-warning,
.btn.btn-sm.btn-info {
  border-radius: var(--btn-ui-radius, 9999px) !important;
  border: none !important;
  background-image: none !important;
}

.btn.btn-outline-primary,
.btn.btn-outline-secondary,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-warning,
.btn.btn-outline-info,
.tw-dw-btn.tw-dw-btn-outline {
  border-radius: var(--btn-ui-radius, 9999px) !important;
}

@media (max-width: 640px) {
  .btn-ui,
  .btn-add,
  .btn-create,
  .btn-primary-action {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }
}


/* ── Print — always light ─────────────────────────────────── */
@media print {
  body,
  .content-wrapper,
  .card,
  .modal-content,
  table,
  td,
  th {
    background-color: #ffffff !important;
    color: #000000 !important;
  }

  .main-sidebar,
  .main-header,
  #side-bar,
  .sidebar-backdrop {
    display: none !important;
  }
}
