/* ============================================================
   mrocon GmbH — Portal Branding Override
   Applied on top of FastBootstrap to match mrocon.at CI
   Primary: Teal/Petrol  |  Secondary: Dark Navy  |  Accent: Cyan
   ============================================================ */

/* ---- Global Font Override ---- */
:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
  --bs-font-sans-serif: 'Exo 2', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --bs-font-monospace: 'JetBrains Mono', 'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', Consolas, monospace;
  --bs-body-font-family: var(--bs-font-sans-serif);
}

/* ---- mrocon Brand Colors ---- */
:root,
[data-bs-theme=light] {
  --bs-primary: #00838F;
  --bs-primary-rgb: 0, 131, 143;
  --bs-link-color: #00838F;
  --bs-link-color-rgb: 0, 131, 143;
  --bs-link-hover-color: #00BCD4;
  --bs-link-hover-color-rgb: 0, 188, 212;

  --ds-text-brand: #00838F;
  --ds-text-selected: #00838F;
  --ds-link: #00838F;
  --ds-link-pressed: #005F6B;
  --ds-background-brand-bold: #00838F;
  --ds-background-brand-bold-hovered: #005F6B;
  --ds-background-brand-bold-pressed: #004D56;
  --ds-border-brand: #00838F;
  --ds-icon-brand: #00838F;

  --bs-info: #26C6DA;
  --bs-info-rgb: 38, 198, 218;
}

/* ---- Dark Mode ---- */
[data-bs-theme=dark] {
  --bs-body-bg: #0a1628;
  --bs-body-color: #e9f2ff;
  --bs-dark: #060d1a;
  --bs-dark-rgb: 6, 13, 26;

  --bs-primary: #00838F;
  --bs-primary-rgb: 0, 131, 143;
  --bs-link-color: #26C6DA;
  --bs-link-color-rgb: 38, 198, 218;
  --bs-link-hover-color: #4DD0E1;
  --bs-link-hover-color-rgb: 77, 208, 225;

  --ds-text: #e9f2ff;
  --ds-text-brand: #26C6DA;
  --ds-text-selected: #26C6DA;
  --ds-text-subtlest: #94a3b8;
  --ds-text-subtle: #a9bdd6;
  --ds-link: #26C6DA;
  --ds-link-pressed: #4DD0E1;

  --ds-background-brand-bold: #00838F;
  --ds-background-brand-bold-hovered: #005F6B;
  --ds-background-brand-bold-pressed: #004D56;
  --ds-border-brand: #00838F;
  --ds-icon-brand: #26C6DA;

  --ds-text-accent-teal: #26C6DA;
  --ds-text-accent-teal-bolder: #4DD0E1;
  --ds-background-accent-teal-subtlest: rgba(0, 131, 143, 0.08);
  --ds-background-accent-teal-subtler: rgba(0, 131, 143, 0.12);
  --ds-background-accent-teal-subtle: rgba(0, 131, 143, 0.18);
  --ds-background-accent-teal-bolder: #00838F;

  --ds-surface: #0D2137;
  --ds-surface-hovered: #122a45;
  --ds-surface-pressed: #173352;
  --ds-surface-raised: #122a45;
  --ds-surface-raised-hovered: #173352;
  --ds-surface-overlay: #122a45;

  --bs-info: #26C6DA;
  --bs-info-rgb: 38, 198, 218;

  --bs-secondary-bg: #0D2137;
  --bs-tertiary-bg: #122a45;
}

/* ---- Navbar ---- */
[data-bs-theme="dark"] .navbar {
  background-color: #060d1a !important;
  border-bottom: 1px solid rgba(0, 131, 143, 0.15);
}

[data-bs-theme="dark"] .navbar .nav-link:hover,
[data-bs-theme="dark"] .navbar .nav-link:focus {
  color: #26C6DA !important;
}

[data-bs-theme="dark"] .navbar .dropdown-menu {
  background-color: #0D2137;
  border: 1px solid rgba(0, 131, 143, 0.15);
}

[data-bs-theme="dark"] .navbar .dropdown-item:hover {
  background-color: rgba(0, 131, 143, 0.1);
  color: #26C6DA;
}

/* ---- Footer ---- */
[data-bs-theme="dark"] .footer {
  background-color: #060d1a !important;
  border-top: 1px solid rgba(0, 131, 143, 0.15);
}

/* ---- Cards ---- */
[data-bs-theme="dark"] .card {
  background-color: #0D2137;
  border: 1px solid rgba(0, 131, 143, 0.1);
}

[data-bs-theme="dark"] .card-header {
  background-color: #122a45;
  border-bottom: 1px solid rgba(0, 131, 143, 0.1);
}

/* ---- Tables ---- */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(0, 131, 143, 0.04);
  --bs-table-hover-bg: rgba(0, 131, 143, 0.08);
}

/* ---- Buttons ---- */
.btn-primary {
  --bs-btn-bg: #00838F;
  --bs-btn-border-color: #00838F;
  --bs-btn-hover-bg: #005F6B;
  --bs-btn-hover-border-color: #005F6B;
  --bs-btn-active-bg: #004D56;
  --bs-btn-active-border-color: #004D56;
  --bs-btn-disabled-bg: #00838F;
  --bs-btn-disabled-border-color: #00838F;
}

.btn-outline-primary {
  --bs-btn-color: #00838F;
  --bs-btn-border-color: #00838F;
  --bs-btn-hover-bg: #00838F;
  --bs-btn-hover-border-color: #00838F;
  --bs-btn-active-bg: #005F6B;
  --bs-btn-active-border-color: #005F6B;
}

/* ---- Badges ---- */
.badge.bg-primary,
.badge.text-bg-primary {
  background-color: #00838F !important;
}

/* ---- Form Focus ---- */
.form-control:focus,
.form-select:focus {
  border-color: #00838F;
  box-shadow: 0 0 0 0.25rem rgba(0, 131, 143, 0.25);
}

/* ---- Pagination ---- */
.page-link {
  color: #00838F;
}
.page-item.active .page-link {
  background-color: #00838F;
  border-color: #00838F;
}

/* ---- Selection Checkbox ---- */
.user-select-checkbox:checked {
  background-color: #00838F !important;
  border-color: #00838F !important;
}
tr.selected {
  background-color: rgba(0, 131, 143, 0.1) !important;
}

/* ---- Scrollbar ---- */
[data-bs-theme="dark"] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-track {
  background: #0a1628;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(0, 131, 143, 0.2);
  border-radius: 4px;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 131, 143, 0.35);
}

/* ---- Auth Layout ---- */
[data-bs-theme="dark"] .block_container {
  background: radial-gradient(ellipse at 30% 0%, #122a45, #0a1628);
}

.login-card,
[data-bs-theme="dark"] .login-card,
[data-bs-theme="light"] .login-card {
  background-color: #0D2137 !important;
  border: 1px solid rgba(0, 131, 143, 0.15) !important;
  color: #e9f2ff !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 131, 143, 0.08) !important;
}

.login-card h3,
.login-card .text-primary {
  color: #00838F !important;
}

.login-card .form-control {
  background-color: #0a1628 !important;
  border-color: rgba(0, 131, 143, 0.18) !important;
  color: #e9f2ff !important;
}

.login-card .form-control::placeholder {
  color: #64748b !important;
}

.login-card .form-control:focus {
  background-color: #060d1a !important;
  border-color: #00838F !important;
  color: #e9f2ff !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 131, 143, 0.2) !important;
}

.login-card a {
  color: #26C6DA !important;
}

.login-card a:hover {
  color: #4DD0E1 !important;
}

.login-card .register_links {
  border-top: 1px solid rgba(0, 131, 143, 0.1);
  margin-top: 1rem;
  padding-top: 1rem;
}

.login-card .dropdown-toggle {
  color: #a9bdd6 !important;
  border-color: rgba(0, 131, 143, 0.18) !important;
}

.login-card .dropdown-menu {
  background-color: #0a1628 !important;
  border: 1px solid rgba(0, 131, 143, 0.15) !important;
}

.login-card .dropdown-item {
  color: #e9f2ff !important;
}

.login-card .dropdown-item:hover {
  background-color: rgba(0, 131, 143, 0.1) !important;
  color: #26C6DA !important;
}

.login-card .alert-danger {
  background-color: rgba(239, 68, 68, 0.1) !important;
  border-color: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}

.login-card .alert-primary {
  background-color: rgba(0, 131, 143, 0.1) !important;
  border-color: rgba(0, 131, 143, 0.2) !important;
  color: #4DD0E1 !important;
}

/* ---- Interactive Glow ---- */
[data-bs-theme="dark"] .btn-primary:hover {
  box-shadow: 0 0 15px rgba(0, 131, 143, 0.25);
}

[data-bs-theme="dark"] .card:hover {
  border-color: rgba(0, 131, 143, 0.18);
}

/* ---- Toasts ---- */
[data-bs-theme="dark"] .toast {
  background-color: #0D2137;
  border: 1px solid rgba(0, 131, 143, 0.15);
}

/* ---- Progress Bar ---- */
.progress-bar {
  background-color: #00838F;
}

/* ---- Offcanvas ---- */
[data-bs-theme="dark"] .offcanvas {
  background-color: #0a1628;
  border-right: 1px solid rgba(0, 131, 143, 0.15);
}

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* ---- Logo / Brand Area ---- */
.mrocon-brand-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #e9f2ff;
  font-family: 'Exo 2', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.02em;
}
.mrocon-brand-logo:hover {
  color: #26C6DA;
}
.mrocon-brand-logo svg {
  width: 24px;
  height: 24px;
  color: #00838F;
}
