/* Theme-aware base styles */
body { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
.table-status .badge { font-size:0.85rem; }
.qr-preview { max-width: 220px; border:1px solid var(--bs-border-color); padding:8px; background: var(--bs-body-bg); }

/* Unify borders/backgrounds for common components */
.card,
.table,
.form-control,
.form-select,
.input-group-text,
.dropdown-menu,
.modal-content,
.alert,
.list-group-item {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
}

/* Table header subtle border */
table thead th { border-color: var(--bs-border-color); }

/* Dark theme specific tweaks */
[data-bs-theme='dark'] .qr-preview { background:#1e1e1e; border-color:#2a2a2a; }
[data-bs-theme='dark'] .form-control::placeholder { color: #9aa0a6; }
[data-bs-theme='dark'] .btn-outline-secondary { color:#cbd5e1; border-color:#4b5563; }

/* Footer */
.app-footer {
  background-color: var(--bs-body-bg);
  color: var(--bs-secondary-color, var(--bs-body-color));
  border-top: 1px solid var(--bs-border-color) !important;
}

/* Login page enhancements */
.login-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100vh;
  background-color: rgba(0,0,0,0.5); /* overlay default */
  z-index: 1;
}
.login-card {
  position: relative;
  z-index: 2; /* above overlay */
  border: 1px solid var(--bs-border-color);
  backdrop-filter: blur(6px);
}
/* Light vs dark glass backgrounds */
:root .login-card { background: rgba(255,255,255,0.72); }
[data-bs-theme='dark'] .login-card { background: rgba(0,0,0,0.35); }
