/**
 * CogitoMedica brand — kolory jak na żywej witrynie (skompilowany CSS Breakdance, np. post-17.css):
 * główny akcent sekcji/CTA to teal #075255 (setki wystąpień), nie „blue-500” z global-settings.css.
 * Dodatkowo: jasne tło sekcji #f5f7f8; akcenty #457147 / #6DCE56 w layoutcie marketingowym (opcjonalnie).
 */
:root {
  --cm-brand-teal: #075255;
  /* Hover: nieco jaśniejszy od #075255 (na jasnym tle; na stronie często używany jest #075255 z przezroczystością) */
  --cm-brand-teal-hover: #0a686d;
  --cm-grey-50: #f9fafb;
  --cm-grey-200: #e5e7eb;
  --cm-grey-600: #4b5563;
  --cm-grey-700: #374151;
  --cm-grey-900: #111827;

  --cm-primary: var(--cm-brand-teal);
  --cm-primary-hover: var(--cm-brand-teal-hover);
  --cm-body: var(--cm-grey-700);
  --cm-muted: #6b7280;
  --cm-surface: #f5f7f8;
  --cm-secondary: #6c757d;
  --cm-danger: #b02a37;

  --cm-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cm-font-heading: var(--cm-font-sans);

  --bs-primary: var(--cm-primary);
  --bs-primary-rgb: 7, 82, 85;
  --bs-link-color: var(--cm-primary);
  --bs-link-hover-color: var(--cm-primary-hover);
}

body {
  font-family: var(--cm-font-sans);
  color: var(--cm-body);
}

/* Lab landing (index.html): ten sam odcień „jasnego tła” co w arkuszach strony marketingowej */
nav.navbar.bg-light,
footer.footer.bg-light {
  background-color: var(--cm-surface) !important;
}

/* Bootstrap 5.2 — primary (root --bs-primary alone does not always cascade to .btn-primary) */
.btn-primary {
  background-color: var(--cm-primary);
  border-color: var(--cm-primary);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--cm-primary-hover);
  border-color: var(--cm-primary-hover);
  color: #fff;
}

.btn-outline-primary {
  color: var(--cm-primary);
  border-color: var(--cm-primary);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: var(--cm-primary);
  border-color: var(--cm-primary);
  color: #fff;
}

/* Doctor toolbar on Unfold — match marketing neutrals */
.doctor-toolbar {
  background: #fff;
  border-color: var(--cm-grey-200);
}

/* Simple portals (ergebnisse / tablet) without full Bootstrap */
body.cm-portal {
  background: var(--cm-surface);
}

.cm-portal-tablet a.btn {
  display: block;
}

.cm-portal h1,
.cm-portal h2,
.cm-portal h3 {
  font-family: var(--cm-font-heading);
  color: var(--cm-grey-900);
}

.cm-portal a.btn {
  background: var(--cm-primary);
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
}
.cm-portal a.btn:hover {
  background: var(--cm-primary-hover);
  color: #fff;
}
.cm-portal a.btn.secondary {
  background: var(--cm-secondary);
}
.cm-portal a.btn.secondary:hover {
  filter: brightness(0.95);
}

.cm-portal button[type="submit"],
.cm-portal button.btn {
  cursor: pointer;
  background: var(--cm-primary);
  color: #fff;
  border: none;
  border-radius: 6px;
}
.cm-portal button[type="submit"]:hover,
.cm-portal button.btn:hover {
  background: var(--cm-primary-hover);
}

.cm-portal .error,
.cm-portal .tablet-form-connection-error {
  color: var(--cm-danger);
}

.cm-portal .user,
.cm-portal .text-muted-portal {
  color: var(--cm-muted);
}

.cm-portal a.link-primary {
  color: var(--cm-primary);
}

/* Consent content: Markdown-rendered headings & paragraphs */
.consent-content h2,
.consent-content h3,
.consent-content h4 {
  color: var(--cm-brand-teal);
  font-size: 1rem;
  font-weight: 600;
  margin: 1em 0 0.3em;
  font-family: var(--cm-font-heading);
}
.consent-content h2 { font-size: 1.1rem; }
.consent-content p { margin: 0.3em 0; }
.consent-content .text-center { text-align: center; }

/*
 * Doctor work queue (Unfold shell): row tint must target <td>, because the admin
 * Tailwind bundle often omits arbitrary row utilities (e.g. bg-amber-50 on <tr>), and
 * table/td layering can hide <tr> backgrounds.
 */
tr.doctor-queue-row--delivered > td {
  background-color: #ecfdf5 !important; /* emerald-50 */
}
.dark tr.doctor-queue-row--delivered > td {
  background-color: rgba(6, 78, 59, 0.28) !important;
}
tr.doctor-queue-row--delivered:hover > td {
  background-color: #d1fae5 !important; /* emerald-100 */
}
.dark tr.doctor-queue-row--delivered:hover > td {
  background-color: rgba(6, 78, 59, 0.38) !important;
}

tr.doctor-queue-row--semaphore > td {
  background-color: #fffbeb !important; /* amber-50 */
}
.dark tr.doctor-queue-row--semaphore > td {
  background-color: rgba(120, 53, 15, 0.22) !important;
}
tr.doctor-queue-row--semaphore:hover > td {
  background-color: #fef3c7 !important; /* amber-100 */
}
.dark tr.doctor-queue-row--semaphore:hover > td {
  background-color: rgba(120, 53, 15, 0.32) !important;
}

/* Unpublished SLA: --sla-urgency in [0,1] on <tr>; rolling 24h from list visibility. */
tr.doctor-queue-row--unpublished-sla > td {
  background-color: rgba(254, 202, 202, calc(0.14 + var(--sla-urgency, 0) * 0.48)) !important;
}
.dark tr.doctor-queue-row--unpublished-sla > td {
  background-color: rgba(127, 29, 29, calc(0.18 + var(--sla-urgency, 0) * 0.48)) !important;
}
tr.doctor-queue-row--unpublished-sla:hover > td {
  background-color: rgba(252, 165, 165, calc(0.18 + var(--sla-urgency, 0) * 0.5)) !important;
}
.dark tr.doctor-queue-row--unpublished-sla:hover > td {
  background-color: rgba(153, 27, 27, calc(0.22 + var(--sla-urgency, 0) * 0.52)) !important;
}
