/* Quirso brand palette */
:root {
  --quirso-magenta: #FA1450;
  --quirso-magenta-soft: rgba(250, 20, 80, 0.12);
  --quirso-blue: #2C97F8;
  --quirso-dark: #0B1726;
  --quirso-dark-accent: #3E0514;
  --quirso-surface: #F4F1EC;
  --quirso-text: #1A1F2A;
}

@font-face {
  font-family: 'TT Firs Neue';
  src: url('../webfonts/TT_Firs_Neue_Light.woff2') format('woff2'),
       url('../webfonts/TT_Firs_Neue_Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TT Firs Neue';
  src: url('../webfonts/TT_Firs_Neue_Bold.woff2') format('woff2'),
       url('../webfonts/TT_Firs_Neue_Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
  background: linear-gradient(135deg, rgba(44, 151, 248, 0.08), rgba(250, 20, 80, 0.08)), var(--quirso-surface);
  color: var(--quirso-text);
  font-family: 'TT Firs Neue', 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

[data-bs-theme="dark"] body {
  background: linear-gradient(160deg, rgba(62, 5, 20, 0.85), rgba(11, 23, 38, 0.95));
  color: #e7eef5;
}

.login-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}
.login-logo { max-height: 120px; width: 100%; max-width: 420px; }
.login-logo-dark { display: none; }
[data-bs-theme="dark"] .login-logo-light { display: none; }
[data-bs-theme="dark"] .login-logo-dark { display: inline-block; }

.btn-primary {
  background-color: var(--quirso-blue) !important;
  border-color: var(--quirso-blue) !important;
  color: #fff !important;
}

.btn-primary:hover {
  background-color: rgba(44, 151, 248, 0.9) !important;
  border-color: rgba(44, 151, 248, 0.9) !important;
}

[data-bs-theme="dark"] .btn-primary {
  background-color: var(--quirso-magenta) !important;
  border-color: var(--quirso-magenta) !important;
}

[data-bs-theme="dark"] .btn-primary:hover {
  background-color: var(--quirso-magenta) !important;
  border-color: var(--quirso-magenta) !important;
  opacity: 0.9;
}

.btn-wide {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.h-custom { height: calc(100% - 73px); }
@media (max-width: 450px) { .h-custom { height: 100%; } }
a { text-decoration: none; }
.mfa-setup { display: none; }
.qr-wrapper { background: #fafafa; border: 1px solid #eee; border-radius: 12px; padding: 16px; }
.mfa-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: none; align-items: center; justify-content: center; z-index: 1050; }
.mfa-modal { background: #fff; border-radius: 16px; padding: 24px; max-width: 360px; width: 90%; box-shadow: 0 12px 40px rgba(0,0,0,0.18); }
.mfa-modal-dark,
[data-bs-theme="dark"] .mfa-modal { background: #0F1624; color: #E7EEF5; }
.mfa-modal-dark .text-muted,
.mfa-modal-dark .form-label,
[data-bs-theme="dark"] .mfa-modal .text-muted,
[data-bs-theme="dark"] .mfa-modal .form-label { color: #E7EEF5; }
.mfa-modal-dark .qr-wrapper,
[data-bs-theme="dark"] .mfa-modal .qr-wrapper { background: #0B1726; border-color: rgba(231,238,245,0.12); }
.mfa-modal h5 { margin-bottom: 12px; }
.mfa-modal .qr-box { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mfa-modal code { word-break: break-all; }
[data-bs-theme="dark"] .btn-bd-primary {
  background-color: var(--quirso-magenta) !important;
  border-color: var(--quirso-magenta) !important;
  color: #fff;
}
.btn-bd-primary {
  background-color: var(--quirso-blue) !important;
  border-color: var(--quirso-blue) !important;
  color: #fff;
}
.app-toggles { z-index: 3000; }
.app-toggles .dropdown-menu { z-index: 3001; }
.bd-mode-toggle,
.bd-lang-toggle { z-index: 3000; }
.bd-mode-toggle .bi { width: 1em; height: 1em; }
.bd-mode-toggle .dropdown-menu .active .bi { display: block !important; }

.footer-strip {
  background: rgba(156, 155, 155, 0.25);
  color: var(--quirso-text);
}
[data-bs-theme="dark"] .footer-strip {
  background: rgba(62, 5, 20, 0.35);
  color: #e7eef5;
}
